From d84283821bb08d81d887f20a7118caf25b8b2714 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期二, 27 八月 2024 18:29:10 +0800 Subject: [PATCH] 判断接口返回值是否是字符串,然后解析 --- pages/modal/3018_2.vue | 1748 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 1,273 insertions(+), 475 deletions(-) diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue index e0be8dd..380f3db 100644 --- a/pages/modal/3018_2.vue +++ b/pages/modal/3018_2.vue @@ -1,127 +1,139 @@ <template> <view class="uni-page-modal-3018-2"> - <!-- 琛ㄥご鏍峰紡 --> - <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items"> - <!-- 鏅�甯冨眬 --> - <view v-if="item.name!='Layout' && item.show==true"> - <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> - <span class="form-item-span" v-if="item.disabled" - :style="'width: calc(100% - '+item.labelWidth+'px);'">{{item.value}}</span> - <!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections--> - <uni-data-select id="dv_select" v-if="item.name=='Select' && !item.disabled" - :style="'width: calc(100% - '+item.labelWidth-10+'px);'" :class="item.disabled?'input-disabled':''" - v-model="item.value" :localdata="item.dict" @change="onchange(item)" :disabled="item.disabled" - :clear="false"></uni-data-select> - <!-- 涓嬫媺妗�澶氶� --> - <!-- <select-cy v-else-if="attr.select==true" :value="item.value" - :name="item.fieldId" - :options="item.dict" - showClearIcon="true" - @change="onchange2" - :data-index="index" - :disabled="item.disabled" - ></select-cy> --> - <!-- 鏂囨湰妗�鏁板瓧妗�--> - <view class="input-wrapper" v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled"> - <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" - @change="classAttr_extButton(item)"></text> - <input class="uni-input" :class="item.disabled?'input-disabled':''" - :type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'" v-model="item.value" - :disabled="item.disabled" :placeholder="item.placeholder" - :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}" - :focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)" /> - <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]" - @click="classAttr_extButton(item)"></text> - </view> - <!-- 澶氳鏂囨湰 --> - <view class="input-wrapper" v-if="item.name=='Textarea' && !item.disabled"> - <textarea class="uni-input" :class="item.disabled?'input-disabled':''" :value="item.value" - :placeholder="item.placeholder" @blur="onModelValue(item)" :data-index="index" - style="height:60px;" :style="{'width':'96%'}" :disabled="item.disabled"></textarea> - - </view> - <!-- 澶嶉�妗�--> - <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'" - :class="item.disabled?'input-disabled':''" @change="onModelValue(item)" :disabled="item.disabled" - :data-ischeck="item.value"> - <label> - <checkbox :value="item.value" :checked="item.value" /> - <text>{{item.label}}</text> - </label> - </checkbox-group> - <!-- Switch寮�叧 --> - <switch class="input-switch" v-if="item.name=='Switch'" :class="item.disabled?'input-disabled':''" - :disabled="item.disabled" v-model="item.value" @change="onModelValue(item)" /> - <!-- 鏃ユ湡鏃堕棿 --> - <view class="input-wrapper" - v-if="(item.name=='TimePicker' || item.name=='DatePicker') && !item.disabled"> - <picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''" - :disabled="item.disabled" :value="item.value" @change="onModelValue(item)"> - <view class="picker">{{item.value}}</view> - </picker> - </view> - </view> - <!-- 鏍呮牸甯冨眬 --> - <uni-row class="demo-uni-row" v-if="item.name=='Layout' && item.show==true"> - <uni-col v-for="(cols,key) in item.setting.colList" - :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col"> - <view v-if="cols!=null"> - <text class="txt_title" :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text> - <span class="form-item-span" v-if="cols.disabled">{{cols.value}}</span> + <view class="view-content"> + <!-- 琛ㄥご鏍峰紡 --> + <uni-forms ref="baseForm" label-align="right"> + <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items"> + <!-- 鏅�甯冨眬 --> + <uni-forms-item v-if="item.name != 'Layout'&& item.show==true" :label="item.label +'锛� " + :label-width="item.labelWidth+'px'"> + <!-- <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> --> + <span class="form-item-span" v-if="item.disabled" + :style="'width: calc(100% - '+item.labelWidth+'px);'">{{item.value}}</span> + <!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections--> + <uni-data-select id="dv_select" v-if="item.name=='Select' && !item.disabled" + :style="'width: calc(100% - '+item.labelWidth-10+'px);'" + :class="item.disabled?'input-disabled':''" v-model="item.value" :localdata="item.dict" + @change="onchange(item)" :disabled="item.disabled" :clear="false"></uni-data-select> + <!-- 鏂囨湰妗�鏁板瓧妗�--> <view class="input-wrapper" - v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled"> - <text v-if="cols.setting.prefix" class="uni-icon" :class="[cols.setting.prefix]" - @change="onchange(cols)"></text> - <input class="uni-input" :class="cols.disabled?'input-disabled':''" - :type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'" - v-model="cols.value" :disabled="cols.disabled" :placeholder="cols.placeholder" - :style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}" - :focus="focusMateria" @focus="ontap(cols)" @blur="onevent(cols)" /> - <text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]" - @click="onchange(cols)"></text> + v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled"> + <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" + @change="classAttr_extButton(item)"></text> + <input class="uni-input" :class="item.disabled?'input-disabled':''" + :type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'" + v-model="item.value" :disabled="item.disabled" :placeholder="item.placeholder" + :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}" + :focus="focusFieldId == item.fieldId" @focus="ontap(item)" @click="onClick(item)" + @blur="onevent(item)" /> + <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]" + @click="classAttr_extButton(item)"></text> </view> - <!-- 涓嬫媺妗�鍗曢� cols.useDict?cols.dict:cols.selections--> - <uni-data-select id="dv_select" v-if="cols.name=='Select' && !cols.disabled" - :class="cols.disabled?'input-disabled':''" v-model="cols.value" :localdata="cols.dict" - @change="onchange(cols)" :disabled="cols.disabled" :clear="false"></uni-data-select> <!-- 澶氳鏂囨湰 --> - <view class="input-wrapper" v-if="cols.name=='Textarea' && !cols.disabled"> - <textarea class="uni-input" :value="cols.value" :class="cols.disabled?'input-disabled':''" - :placeholder="cols.placeholder" @blur="onModelValue(cols)" style="height:60px;" - :style="{'width':'96%'}" :disabled="cols.disabled"></textarea> + <view class="input-wrapper" v-if="item.name=='Textarea' && !item.disabled"> + <textarea class="uni-input" :class="item.disabled?'input-disabled':''" :value="item.value" + :focus="focusFieldId == item.fieldId" :placeholder="item.placeholder" + @blur="onModelValue(item)" @click="onClick(item)" :data-index="index" + style="height:60px;" :style="{'width':'96%'}" :disabled="item.disabled"></textarea> + </view> <!-- 澶嶉�妗�--> - <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'" - :class="cols.disabled?'input-disabled':''" :disabled="item.disabled" - @change="onModelValue(cols)" :data-ischeck="cols.value" :style="{'margin-left':'10rpx'}"> + <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'" + :class="item.disabled?'input-disabled':''" @change="onModelValue(item)" + :disabled="item.disabled" :data-ischeck="item.value"> <label> - <checkbox :value="cols.value" :checked="cols.value" /> - <text>{{cols.label}}</text> + <checkbox :value="item.value" :checked="item.value" /> + <text>{{item.label}}</text> </label> </checkbox-group> <!-- Switch寮�叧 --> - <switch v-if="cols.name=='Switch'" :class="cols.disabled?'input-disabled':''" - :disabled="item.disabled" v-model="cols.value" @change="onModelValue(cols)" - :style="{'margin-left':'10rpx'}" /> + <switch class="input-switch" v-if="item.name=='Switch'" + :class="item.disabled?'input-disabled':''" :disabled="item.disabled" v-model="item.value" + @change="onModelValue(item)" /> <!-- 鏃ユ湡鏃堕棿 --> <view class="input-wrapper" - v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled"> - <picker mode="date" class="date_iput" :class="cols.disabled?'input-disabled':''" - :disabled="item.disabled" :value="cols.value" @change="onModelValue(cols)"> - <view class="picker">{{cols.value}}</view> + v-if="(item.name=='TimePicker' || item.name=='DatePicker') && !item.disabled"> + <picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''" + :disabled="item.disabled" :value="item.value" @change="onModelValue(item)"> + <view class="picker">{{item.value}}</view> </picker> </view> + </uni-forms-item> + <!-- 鏍呮牸甯冨眬 --> + <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> + <uni-col v-for="(cols,key) in item.setting.colList" + :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col"> + <uni-forms-item v-if="cols!=null && cols.show==true" :label="cols.label +'锛�" + :label-width="cols.labelWidth+'px'"> + <!-- <text class="txt_title" :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text> --> + <span class="form-item-span" v-if="cols.disabled">{{cols.value}}</span> + <view class="input-wrapper" + v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled"> + <text v-if="cols.setting.prefix" class="uni-icon" :class="[cols.setting.prefix]" + @change="onchange(cols)"></text> + <input class="uni-input" :class="cols.disabled?'input-disabled':''" + :type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'" + v-model="cols.value" :disabled="cols.disabled" :placeholder="cols.placeholder" + :style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}" + :focus="focusFieldId == cols.fieldId" @focus="ontap(cols)" + @click="onClick(cols)" @blur="onevent(cols)" /> + <text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]" + @click="onchange(cols)"></text> + </view> + <!-- 涓嬫媺妗�鍗曢� cols.useDict?cols.dict:cols.selections--> + <uni-data-select id="dv_select" v-if="cols.name=='Select' && !cols.disabled" + :class="cols.disabled?'input-disabled':''" v-model="cols.value" + :localdata="cols.dict" @change="onchange(cols)" :disabled="cols.disabled" + :clear="false"></uni-data-select> + <!-- 澶氳鏂囨湰 --> + <view class="input-wrapper" v-if="cols.name=='Textarea' && !cols.disabled"> + <textarea class="uni-input" :value="cols.value" + :class="cols.disabled?'input-disabled':''" :placeholder="cols.placeholder" + :focus="focusFieldId == cols.fieldId" @blur="onModelValue(cols)" + @click="onClick(cols)" style="height:60px;" :style="{'width':'96%'}" + :disabled="cols.disabled"></textarea> + </view> + <!-- 澶嶉�妗�--> + <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'" + :class="cols.disabled?'input-disabled':''" :disabled="item.disabled" + @change="onModelValue(cols)" :data-ischeck="cols.value" + :style="{'margin-left':'10rpx'}"> + <label> + <checkbox :value="cols.value" :checked="cols.value" /> + <text>{{cols.label}}</text> + </label> + </checkbox-group> + <!-- Switch寮�叧 --> + <switch v-if="cols.name=='Switch'" :class="cols.disabled?'input-disabled':''" + :disabled="item.disabled" v-model="cols.value" @change="onModelValue(cols)" + :style="{'margin-left':'10rpx'}" /> + <!-- 鏃ユ湡鏃堕棿 --> + <view class="input-wrapper" + v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled"> + <picker mode="date" class="date_iput" :class="cols.disabled?'input-disabled':''" + :disabled="item.disabled" :value="cols.value" @change="onModelValue(cols)"> + <view class="picker">{{cols.value}}</view> + </picker> + </view> - </view> - </uni-col> - </uni-row> - - + </uni-forms-item> + </uni-col> + </uni-row> + </view> + </uni-forms> </view> - - <view class="view-floor"> - <button type="default" @tap="sava" class="btn_add">{{title}}</button> + <view class="view-bottom"> + <view class="uni-padding-wrap" v-if="dropdownBtns.length>0"> + <view class="uni-btn-v"> + <a @tap="clickDropdownBtns"> + <Icon class="mobox-normal-more" /> + </a> + </view> + </view> + <button type="default" @tap="sava" class="btn_add" v-if="dropdownBtns.length==0" + :class="saving?'btn_disabled':''" :disabled="saving">{{title}}</button> <button type="default" @tap="cancel" class="btn_cancel">{{translateSys('cancel')}}</button> + </view> <!-- 鏅�寮圭獥 top bottom center left right --> <view> @@ -175,7 +187,8 @@ popupType: "center", check_list: {}, - focusMateria: false, + focusFieldId: "", + focusOldFieldId: "", head_styledef: { form: { items: [] @@ -185,8 +198,81 @@ activity: null, receiver: null, intentFilter: null, - content: '' + content: '', + saving: false }; + }, + onNavigationBarButtonTap(e) { + if (e.index == 0) { + const $this = this + uni.scanCode({ + scanType: ["qrCode"], + success: function(res) { + + if ($this.focusFieldId) { + const items = $this.head_styledef.form.items || [] + for (let i in items) { + const ele = items[i] + if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == + 'Textarea') { + if ($this.focusFieldId == ele.fieldId) { + $this.onScanValue(ele, res.result) + break; + } + } else if (ele.name == "Layot") { + let curIndex = (ele.setting.colList || []).findIndex((col, index2, + arr) => { + return (col.name == 'Input' || col.name == 'InputNumber' || col + .name == 'Textarea') && $this + .focusFieldId == col.fieldId; + }) + if (curIndex > -1) { + let col = ele.setting.colList[curIndex] + $this.onScanValue(col, res.result) + break + } + } + } + } + + } + }) + } else if (e.index == 1) { + //鍒锋柊 + // uni.redirectTo({ + // url: '../modal/3018_2?param=' + JSON.stringify(this.param) + + // "&titlename=" + this.title + // }); + this.setData({ + edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D + edit_ok_event: "", //寮圭獥鐐瑰嚮OK 瑙﹀彂浜嬩欢ID + edit_select_compose_event: "", //閫夋嫨缁勬垚瀵硅薄鏃惰皟鐢�+ edit_compose_cls_id: "", + global_attr: [], + refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id} + scanCodeVal: "", + subClassAttrList: [], + subPanelList: [], + subClassGridStyle: [], + popupType: "center", + check_list: {}, + + focusFieldId: "", + focusOldFieldId: "", + head_styledef: { + form: { + items: [] + } + }, + after_ok: {}, + activity: null, + receiver: null, + intentFilter: null, + content: '', + saving: false + }) + this.loadData() + } }, onLoad(options) { // console.log(options); @@ -194,118 +280,322 @@ title: options.titlename }); //璁剧疆椤堕儴鏍囬 this.$data.param = JSON.parse(options.param); - this.$data.title = this.$data.param.Add_BtnName ? this.$data.param.Add_BtnName : options.titlename; //璁剧疆鎸夐挳鏂囧瓧 - - console.log(this.$data.param); - //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�- this.Head_UIStyleGetInfo(this.param.DataCls?.id, this.param.UI_Style?.ID); - //椤甸潰鍒濆鍖栬幏鍙栫劍鐐�- // this.focusMateria=true; + this.$data.title = this.$data.param.Add_BtnName ? this.$data.param.Add_BtnName : options + .titlename; //璁剧疆鎸夐挳鏂囧瓧 + this.loadData(options.paramValue) + }, + computed: { + dropdownBtns() { + const btns = this.head_styledef.button || []; + return btns + }, }, methods: { + setData: function(obj) { + let that = this; + let keys = []; + let val, data; + + Object.keys(obj).forEach(function(key) { + keys = key.split("."); + val = obj[key]; + data = that.$data; + keys.forEach(function(key2, index) { + if (index + 1 == keys.length) { + that.$set(data, key2, val); + } else { + if (!data[key2]) { + that.$set(data, key2, {}); + } + } + data = data[key2]; + }); + }); + }, + async loadData(paramValue) { + + //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+ await this.Head_UIStyleGetInfo(this.param.DataCls?.id, this.param.UI_Style?.ID); + //浼犲叆鍙傛暟鍊�+ if (paramValue) { + const attrs = paramValue.attrs || []; + (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => { + if (ele.name != "Layout") { + attrs.forEach(async (ele2, index2) => { + if (ele.fieldId == ele2.name) { + ele.value = ele2.value; + } + }); + } else { + ele.setting.colList.forEach(async (col) => { + if (col) { + attrs.forEach(async (ele2, + index2) => { + if (col.fieldId == ele2.name) { + col.value = ele2.value; + } + }); + } + }); + } + }) + } + + + }, async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮� var $this = this; var dataInfo = { class_id: class_id, ui_style_id: style_id, }; - this.$store.dispatch('UIStyleGetInfo', dataInfo).then(ret => { - // console.log(ret); - if (ret.err_code == 0) { - var styledef = ""; - if (ret.result.style_def) { - //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = ret.result.style_def.replace(/\\/g, ""); - //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result - .style_def); - } - $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {}; - // console.log($this.$data.head_styledef); - $this.head_styledef.form.items.forEach(async (ele, index) => { - ele.show = true; - if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - await this.DictGetInfo(ele.bind.dict, index, 'mast'); - } - }); - if ($this.head_styledef.event?.length > 0) { - $this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢 - if (a.event_id == "initial") { - await $this.loadInitEvent(a.scrip_id); - } else if (a.event_id == 'after_ok') { - $this.after_ok = { - id: a.scrip_id, - name: a.scrip_name - }; + try { + var textProgress = `Head_UIStyleGetInfo start ${class_id}_${style_id}\n` + const ret = await this.getUIStyleInfo(dataInfo) + textProgress += `err_code:${ret.err_code}\n` + var styledef = ""; + if (ret.result.style_def) { + //mobox2鐨剆tyle_def鏄痡son瀛楃涓�+ styledef = ret.result.style_def.replace(/\\/g, ""); + //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+ if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret + .result + .style_def); + } + textProgress += `styledef2:${styledef}\n` + + const styledefHead = styledef ? JSON.parse(styledef) : {}; + if (styledefHead?.form?.items) { + for (let i in styledefHead.form.items) { + const ele = styledefHead.form.items[i] + textProgress += `form.items${i}:${ele.name}\n` + if (ele.name != "Layout") { + + ele.show = true + if (ele?.useDict) { + //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + textProgress += `Dict:${ele.bind.dict.name}\n` + await $this.DictGetInfo(ele.bind.dict, + styledefHead.form.model, + ele); } - }); + if ($this.focusFieldId == "") { + if (ele.name == 'Input' || ele.name == + 'InputNumber') { + textProgress += `focusFieldId=${ele.fieldId}\n` + $this.setData({ + focusFieldId: ele.fieldId + }) + } + } + } else { + for (let j in ele.setting.colList) { + const col = ele.setting.colList[j] + textProgress += `col${j}:${col?.name || ''}\n` + if (col) { + col.show = true + if (col?.useDict) { + //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + textProgress += `Dict:${col.bind.dict.name}\n` + await $this.DictGetInfo(col.bind + .dict, + styledefHead.form + .model, col); + } + if ($this.focusFieldId == "") { + if (col.name == 'Input' || col + .name == + 'InputNumber') { + textProgress += `focusFieldId=${col.fieldId}\n` + $this.setData({ + focusFieldId: col + .fieldId + }) + } + } + } + } + } } - } else { - uni.showModal({ - title: this.translateSys("error") + "1", - content: ret.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") + } + textProgress += `head_styledef value\n` + $this.setData({ + head_styledef: styledefHead + }) + textProgress += `event:${this.head_styledef.event?.length || 0}\n` + if ($this.head_styledef.event) { + $this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢 + if (a.event_id == "initial") { + await $this.loadInitEvent(a.scrip_id); + } else if (a.event_id == 'after_ok') { + $this.after_ok = { + id: a.scrip_id, + name: a.scrip_name + }; + } }); } - }).catch(ex => { + textProgress += `end` + } catch (ex) { // console.log(ex); + console.log(textProgress); + console.log(JSON.stringify(ex), ex); + let exStr = JSON.stringify(ex) + if (exStr == "{}") + exStr = ex + let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr uni.showModal({ title: this.translateSys("error") + "1.1", - content: ex.errMsg, + content: tip + '\n' + textProgress, showCancel: false, confirmText: this.translateSys("cancel") }); - }); + } + + // this.$store.dispatch('UIStyleGetInfo', dataInfo).then(async (ret) => { + // // console.log("ret",ret); + // textProgress += `err_code:${ret.err_code}\n` + // if (ret.err_code == 0) { + // var styledef = ""; + // if (ret.result.style_def) { + // //mobox2鐨剆tyle_def鏄痡son瀛楃涓�+ // styledef = ret.result.style_def.replace(/\\/g, ""); + // //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+ // if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret + // .result + // .style_def); + // } + // textProgress += `styledef2:${styledef}\n` + + // const styledefHead = styledef ? JSON.parse(styledef) : {}; + // for (let i in styledefHead.form.items) { + // const ele = styledefHead.form.items[i] + // textProgress += `form.items${i}:${ele.name}\n` + // if (ele.name != "Layout") { + + // ele.show = true + // if (ele?.useDict) { + // //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + // textProgress += `Dict:${ele.bind.dict.name}\n` + // await $this.DictGetInfo(ele.bind.dict, + // styledefHead.form.model, + // ele); + // } + // if ($this.focusFieldId == "") { + // if (ele.name == 'Input' || ele.name == + // 'InputNumber') { + // textProgress += `focusFieldId=${ele.fieldId}\n` + // $this.setData({ + // focusFieldId: ele.fieldId + // }) + // } + // } + // } else { + // for (let j in ele.setting.colList) { + // const col = ele.setting.colList[j] + // textProgress += `col${j}:${col?.name || ''}\n` + // if (col) { + // col.show = true + // if (col?.useDict) { + // //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + // textProgress += `Dict:${col.bind.dict.name}\n` + // await $this.DictGetInfo(col.bind + // .dict, + // styledefHead.form + // .model, col); + // } + // if ($this.focusFieldId == "") { + // if (col.name == 'Input' || col + // .name == + // 'InputNumber') { + // textProgress += `focusFieldId=${col.fieldId}\n` + // $this.setData({ + // focusFieldId: col + // .fieldId + // }) + // } + // } + // } + // } + // } + // } + // textProgress += `head_styledef value\n` + // $this.setData({ + // head_styledef: styledefHead + // }) + // textProgress += `event:${this.head_styledef.event?.length || 0}\n` + // if ($this.head_styledef.event) { + // $this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢 + // if (a.event_id == "initial") { + // await $this.loadInitEvent(a.scrip_id); + // } else if (a.event_id == 'after_ok') { + // $this.after_ok = { + // id: a.scrip_id, + // name: a.scrip_name + // }; + // } + // }); + // } + // textProgress += `end` + // } else { + // textProgress += `err_msg:${ret.err_msg}\n` + // uni.showModal({ + // title: this.translateSys("error") + "1", + // content: tip + '\n' + textProgress, + // showCancel: false, + // confirmText: this.translateSys("cancel") + // }); + // } + // }).catch(ex => { + // console.log(textProgress); + // console.log(JSON.stringify(ex), ex); + // let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex + // uni.showModal({ + // title: this.translateSys("error") + "1.1", + // content: tip + '\n' + textProgress, + // showCancel: false, + // confirmText: this.translateSys("cancel") + // }); + // // console.log(ex); + // // uni.showModal({ + // // title: this.translateSys("error") + "1.1", + // // content: ex.errMsg, + // // showCancel: false, + // // confirmText: this.translateSys("cancel") + // // }); + // }); }, - async DictGetInfo(dict, index, type) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�- this.data = []; + async DictGetInfo(dict, formModel, formItem) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛� var $this = this; var dataInfo = { dict_id: dict.id, dict_name: dict.name }; - // console.log(dataInfo); - this.$store.dispatch('DictGetInfo', dataInfo).then(async (success) => { - console.log(success); - if (success.err_code == 0) { - if (type == 'mast') { - var list = []; - var itemName = ''; - success.result.dict_item_list.forEach((item) => { - if (item.is_default == '1') - itemName = item.name; - list.push({ - text: item.value, - value: item.name, - }); - }); - //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� - if (itemName) { - $this.head_styledef.form.items[index].value = itemName; - var attr = $this.head_styledef.form.items[index].fieldId; - $this.head_styledef.form.model[attr] = itemName; - } - $this.head_styledef.form.items[index].dict = list; - // $this.head_styledef.form.items[index].dictitem=success.result; - // this.$store.commit("classAttrList", $this.$data.classAttrList); - } else { - // $this.$data.subClassAttrList[index].attr_list[key].dictitem=success.result; - // this.$store.commit("subClassAttrList", $this.$data.subClassAttrList); - } - - } else { - uni.showModal({ - title: this.translateSys("error") + "1.2", - content: success.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") + try { + const res = await this.getDictInfo(dataInfo) + var list = []; + var itemName = ''; + res.result.dict_item_list.forEach((item) => { + if (item.is_default == '1') + itemName = item.name; + list.push({ + text: item.value, + value: item.name, }); + }); + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + if (itemName) { + formItem.value = itemName; + formModel[formItem.fieldId] = itemName; } - }).catch(ex => { + formItem.dict = list; + + // $this.head_styledef.form.items[index].dictitem=success.result; + // this.$store.commit("classAttrList", $this.$data.classAttrList); + } catch (ex) { // console.log(ex); uni.showModal({ title: this.translateSys("error") + "1.3", @@ -313,8 +603,102 @@ showCancel: false, confirmText: this.translateSys("cancel") }); - }); + } }, + getDictInfo(info) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+ const loginInfo = this.$store.getters.loginid + const mobxoSApi = this.$store.getters.getMobxoSApi + return new Promise((resolve, reject) => { + uni.request({ + url: mobxoSApi + 'api/dict/GetInfo2?sessionid=' + loginInfo.result.session_id, + data: info, + method: 'POST', + dataType: "json", + success: (_res) => { + // console.log(_res); + var ret = _res.data + if (typeof ret == 'string') { + try { + try { + try { + ret = JSON.parse(ret.replace(/\\"/g, '"')); + } catch (ex) { + ret = JSON.parse(ret.replace(/\\/g, '\\\\')) + } + } catch (ex) { + ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g, + '<br>').replace(/[\t]/g, ' ')); + } + } catch (ex) { + console.log(ret) + return reject('灏唃etDictInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg + }); + } + }, + fail: (err) => { + // console.log(err); + reject(err); + } + }) + + }) + + }, + getUIStyleInfo(info) { //Mobox3鏁版嵁绫荤晫闈㈡牱寮�+ const loginInfo = this.$store.getters.loginid + const dataSApi = this.$store.getters.getDataSApi + return new Promise((resolve, reject) => { + uni.request({ + url: dataSApi + 'api/class/uistyle/GetInfo?sessionid=' + loginInfo.result + .session_id, + data: info, + method: 'POST', + dataType: "json", + success: (_res) => { + // console.log(_res); + var ret = _res.data + if (typeof ret == 'string') { + try { + try { + try { + ret = JSON.parse(ret.replace(/\\"/g, '"')); + } catch (ex) { + ret = JSON.parse(ret.replace(/\\/g, '\\\\')) + } + } catch (ex) { + ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g, + '<br>').replace(/[\t]/g, ' ')); + } + } catch (ex) { + console.log(ret) + return reject('灏唃etUIStyleInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg || ret.errMsg + }); + } + }, + fail: (err) => { + // console.log(err); + reject(err); + } + }) + + }) + + }, + async loadInitEvent(eventid) { var $this = this; if (!eventid.includes('{')) eventid = '{' + eventid + '}'; @@ -331,24 +715,33 @@ if (success.err_code == 0) { var data = success.result; if (data.ret != 0) { - var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data + var tip = data.err_info ? typeof data.err_info == 'string' ? data + .err_info : data .err_info.join('<br/>') : ''; - if (data.ret == 801) uni.showModal({ + if (data.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data.ret, + content: tip + ',' + this.translateSys('tip') + ':' + data + .ret, showCancel: false, confirmText: this.translateSys("cancel") }); return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join( - '<br/>') : ''; + var tip = data.info ? typeof data.info == 'string' ? data.info : data + .info + .join( + '<br/>') : ''; if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, @@ -385,12 +778,15 @@ } else if (attr.name == 'Layout') { attr.setting.colList.forEach(col => { if (col) { - if (col.fieldId == result[i].attr) { + if (col.fieldId == result[ + i] + .attr) { var dictItemList = []; for (var d in result[i] .choice_list) { var val = result[i] - .choice_list[d]; + .choice_list[ + d]; dictItemList.push({ "CN_S_NAME": val, "CN_S_VALUE": val, @@ -398,7 +794,8 @@ "value": val }); } - col.dict = dictItemList; + col.dict = + dictItemList; } } }); @@ -406,14 +803,18 @@ } } - for (var c = 0; c < $this.$data.head_styledef.form.items + for (var c = 0; c < $this.$data.head_styledef.form + .items .length; c++) { var attr = $this.$data.head_styledef.form.items[c]; // console.log(attr[j].Name+'=='+result[i].attr); //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- if ($this.head_styledef.form.model[result[i].attr] == + if ($this.head_styledef.form.model[result[i] + .attr] == undefined) { - $this.head_styledef.form.model[result[i].attr] = result[i] + $this.head_styledef.form.model[result[i] + .attr] = + result[i] .value; } //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�@@ -423,19 +824,28 @@ attr.oldvalue = ''; attr.value = result[i].value; attr.oldvalue = result[i].value; - $this.head_styledef.form.model[attr.fieldId] = result[ - i].value; + $this.head_styledef.form.model[attr + .fieldId] = + result[ + i].value; } } else if (attr.name == 'Layout') { attr.setting.colList.forEach(col => { if (col) { - if (col.fieldId == result[i].attr) { + if (col.fieldId == result[i] + .attr) { col.value = ''; col.oldvalue = ''; - col.value = result[i].value; - col.oldvalue = result[i].value; - $this.head_styledef.form.model[col - .fieldId] = result[i].value; + col.value = result[i] + .value; + col.oldvalue = result[i] + .value; + $this.head_styledef.form + .model[ + col + .fieldId] = result[ + i] + .value; } } }); @@ -449,9 +859,14 @@ $this.$data.refdatastore.push(result[i]); } if (length == 0) { - for (var j = 0; j < $this.$data.refdatastore.length; j++) { - if ($this.$data.refdatastore[j].attr == result[i].attr) { - $this.$data.refdatastore[j].value = result[i].value; + for (var j = 0; j < $this.$data.refdatastore + .length; j++) { + if ($this.$data.refdatastore[j].attr == result[ + i] + .attr) { + $this.$data.refdatastore[j].value = result[ + i] + .value; } } } @@ -459,26 +874,36 @@ } else if (data.action[i].action_type == 'set_dlg_attr_show') { var result = action.value; result.forEach(async (attr, key) => { - $this.$data.head_styledef.form.items.forEach(async ( - ele, index) => { - //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') { - if (ele.fieldId == attr.attr) { - ele.show = attr.show; - } - } else if (ele.name == 'Layout') { - ele.setting.colList.forEach( - col => { - if (col) { - if (col.fieldId == - attr.attr) { - col.show = attr - .show; - } + $this.$data.head_styledef.form.items + .forEach( + async ( + ele, index) => { + //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (ele.name != 'Layout') { + if (ele.fieldId == attr + .attr) { + ele.show = attr + .show; } - }); - } - }); + } else if (ele.name == + 'Layout') { + ele.setting.colList + .forEach( + col => { + if (col) { + if (col + .fieldId == + attr + .attr + ) { + col.show = + attr + .show; + } + } + }); + } + }); }); var head_styledef = JSON.parse(JSON.stringify($this.$data .head_styledef)); @@ -488,10 +913,14 @@ } else { uni.showModal({ title: this.translateSys("tip"), - content: this.translate('execute_init_event_failed') + + content: this.translate( + 'execute_init_event_failed') + this.translateSys("full_stop") + - this.translate('reason') + this.translateSys("colon") + - this.translateSys("quotation_mark_left") + action + this.translate('reason') + this + .translateSys( + "colon") + + this.translateSys("quotation_mark_left") + + action .action_type + this.translateSys( "quotation_mark_right") + this .translate('tip_action_unprocessed'), @@ -507,7 +936,8 @@ title: this.translateSys("error") + "3", content: this.translate('execute_init_event_failed') + this.translateSys("full_stop") + - this.translate('reason') + this.translateSys("colon") + success + this.translate('reason') + this.translateSys("colon") + + success .err_msg, showCancel: false, confirmText: this.translateSys("cancel") @@ -519,7 +949,8 @@ title: this.translateSys("error") + "3.1", content: this.translate('execute_init_event_failed') + this.translateSys("full_stop") + - this.translate('reason') + this.translateSys("colon") + ex.errMsg, + this.translate('reason') + this.translateSys("colon") + ex + .errMsg, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -528,6 +959,7 @@ ontap(item) { //鎵爜鍔熻兘 + // console.log("ontap",item); // 鎵撳紑钃濈墮閫傞厤鍣� // uni.openBluetoothAdapter({ // success: function() { @@ -566,55 +998,118 @@ // } // } // }) + this.focusOldFieldId = item.fieldId getApp().onScan((result) => { console.log(result); - uni.hideKeyboard(); - var $this = this; - console.log(item); - if (item.oldvalue != result.decodedata) { - item.oldvalue = result.decodedata; - item.value = result.decodedata; - var attr = item.fieldId; - $this.head_styledef.form.model[attr] = result.decodedata; - if (result.decodedata) { //绗竴涓緭鍏ユ涓嶄负绌�- $this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴� - // setTimeout(function(){ - // $this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣 - setTimeout(function() { - uni.hideKeyboard(); - }, 1000); - // },500); - } - var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠�- if (eventid) { - var obj_attr = this.head_styledef.form.model; - // console.log(obj_attr); - var req = Object.keys(obj_attr).map((a) => ({ - attr: a, - val: obj_attr[a] || "", - })); - - var info = { - eventid: eventid, - edtype: "0", - projectid: '', - rclsid: '', - robjid: '', - userlogin: '', - clsid: this.$data.param.DataCls.id, - objid: "", - attr: req, - dataJson: [], - } - this.DataObjRunCustomEvent(info, ''); - } - } + // uni.hideKeyboard(); + this.onScanValue(item, result.decodedata) }) }, + onScanValue(item, value) { + const $this = this; + //console.log("onScanValue", item); + if (item.oldvalue != value) { + item.oldvalue = value; + item.value = value; + var attr = item.fieldId; + $this.head_styledef.form.model[attr] = value; + /*if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�+ //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴� + var findd = false + const items = $this.head_styledef.form.items || [] + for (let i in items) { + const ele = items[i] + + if (ele.name != "Layout") { + if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == + 'Textarea') { + if (attr == ele.fieldId) { + findd = true + } else { + if (findd) { + $this.setData({ + focusFieldId: ele.fieldId + }) + break + } + + } + + } + } else { + if (findd) { + let curIndex = ele.setting.colList.findIndex((col, index2, arr) => { + return (col.name == 'Input' || col.name == 'InputNumber' || + col.name == + 'Textarea'); + }) + if (curIndex > -1) { + $this.setData({ + focusFieldId: ele.setting.colList[curIndex] + .fieldId + }) + break + } + + } else { + let curIndex = ele.setting.colList.findIndex((col, index2, arr) => { + return attr == col.fieldId; + }) + if (curIndex > -1) { + findd = true + let curIndex2 = ele.setting.colList.findIndex((col, index2, + arr) => { + return (col.name == 'Input' || col.name == + 'InputNumber' || col.name == 'Textarea') && + index2 > + curIndex; + }) + if (curIndex2 > -1) { + $this.setData({ + focusFieldId: ele.setting.colList[curIndex] + .fieldId + }) + break + } + } + } + + } + } + } + */ + var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠�+ if (eventid) { + var obj_attr = this.head_styledef.form.model; + // console.log(obj_attr); + var req = Object.keys(obj_attr).map((a) => ({ + attr: a, + val: obj_attr[a] || "", + })); + + var info = { + eventid: eventid, + edtype: "0", + projectid: '', + rclsid: '', + robjid: '', + userlogin: '', + clsid: this.$data.param.DataCls.id, + objid: "", + attr: req, + dataJson: [], + } + this.DataObjRunCustomEvent(info, ''); + } + } + }, + onClick(item) { + // console.log("onClick",item); + this.focusFieldId = item.fieldId + }, onevent(item) { - // console.log(e.target); - console.log(item); - if (item.oldvalue != item.value) { + // console.log("onevent",item); + if (item.oldvalue != item.value && item.value.trim() != "") { item.oldvalue = item.value; var attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; @@ -645,8 +1140,8 @@ }, onchange(item) { - console.log(item); - if (item.oldvalue != item.value) { + // console.log("onchange",item); + if (item.oldvalue != item.value && item.value.trim() != "") { item.oldvalue = item.value; var attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; @@ -706,7 +1201,8 @@ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� this.$refs.popup.open($this.popupType); - this.DataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id, item); + this.DataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id, + item); }, popupChange(e) { console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show); @@ -853,24 +1349,34 @@ if (success.err_code == 0) { var data = success.result; if (data.ret != 0) { - var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data + var tip = data.err_info ? typeof data.err_info == 'string' ? data + .err_info : + data .err_info.join('<br/>') : ''; - if (data.ret == 801) uni.showModal({ + if (data.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data.ret, + content: tip + ',' + this.translateSys('tip') + ':' + data + .ret, showCancel: false, confirmText: this.translateSys("cancel") }); return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join( - '<br/>') : ''; + var tip = data.info ? typeof data.info == 'string' ? data.info : data + .info + .join( + '<br/>') : ''; if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, @@ -887,7 +1393,8 @@ var result = action.value; for (var i = 0; i < result.length; i++) { if (result[i].choice_list) { - for (var c = 0; c < $this.head_styledef.form.items.length; c++) { + for (var c = 0; c < $this.head_styledef.form.items + .length; c++) { var attr = $this.head_styledef.form.items[c]; if (attr.name != 'Layout') { if (attr.fieldId == result[i].attr) { @@ -906,10 +1413,15 @@ } else if (attr.name == 'Layout') { attr.setting.colList.forEach(col => { if (col) { - if (col.fieldId == result[i].attr) { + if (col.fieldId == result[ + i] + .attr) { var dictItemList = []; - for (var d in result[i].choice_list) { - var val = result[i].choice_list[d]; + for (var d in result[i] + .choice_list) { + var val = result[i] + .choice_list[ + d]; dictItemList.push({ "CN_S_NAME": val, "CN_S_VALUE": val, @@ -917,7 +1429,8 @@ "value": val }); } - col.dict = dictItemList; + col.dict = + dictItemList; } } }); @@ -925,12 +1438,18 @@ } } - for (var c = 0; c < $this.$data.head_styledef.form.items.length; c++) { + for (var c = 0; c < $this.$data.head_styledef.form + .items + .length; c++) { var attr = $this.$data.head_styledef.form.items[c]; // console.log(attr[j].Name+'=='+result[i].attr); //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- if ($this.head_styledef.form.model[result[i].attr] == undefined) { - $this.head_styledef.form.model[result[i].attr] = result[i] + if ($this.head_styledef.form.model[result[i] + .attr] == + undefined) { + $this.head_styledef.form.model[result[i] + .attr] = + result[i] .value; } //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�@@ -940,19 +1459,26 @@ attr.oldvalue = ''; attr.value = result[i].value; attr.oldvalue = result[i].value; - $this.head_styledef.form.model[attr.fieldId] = result[i] + $this.head_styledef.form.model[attr + .fieldId] = + result[i] .value; } } else if (attr.name == 'Layout') { attr.setting.colList.forEach(col => { if (col) { - if (col.fieldId == result[i].attr) { + if (col.fieldId == result[i] + .attr) { col.value = ''; col.oldvalue = ''; - col.value = result[i].value; - col.oldvalue = result[i].value; - $this.head_styledef.form.model[col - .fieldId] = result[i].value; + col.value = result[i] + .value; + col.oldvalue = result[i] + .value; + $this.head_styledef.form + .model[col + .fieldId] = result[ + i].value; } } }); @@ -966,9 +1492,14 @@ $this.$data.refdatastore.push(result[i]); } if (length == 0) { - for (var j = 0; j < $this.$data.refdatastore.length; j++) { - if ($this.$data.refdatastore[j].attr == result[i].attr) { - $this.$data.refdatastore[j].value = result[i].value; + for (var j = 0; j < $this.$data.refdatastore + .length; j++) { + if ($this.$data.refdatastore[j].attr == result[ + i] + .attr) { + $this.$data.refdatastore[j].value = result[ + i] + .value; } } } @@ -976,27 +1507,39 @@ } else if (action.action_type == 'set_dlg_attr_show') { var result = action.value; result.forEach(async (attr, key) => { - $this.$data.head_styledef.form.items.forEach(async (ele, - index) => { - //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') { - if (ele.fieldId == attr.attr) { - ele.show = attr.show; - } - } else if (ele.name == 'Layout') { - ele.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == attr + $this.$data.head_styledef.form.items + .forEach( + async (ele, + index) => { + //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (ele.name != 'Layout') { + if (ele.fieldId == attr .attr) { - col.show = attr + ele.show = attr .show; } + } else if (ele.name == + 'Layout') { + ele.setting.colList + .forEach( + col => { + if (col) { + if (col + .fieldId == + attr + .attr + ) { + col.show = + attr + .show; + } + } + }); } }); - } - }); }); - var head_styledef = JSON.parse(JSON.stringify($this.$data.head_styledef)); + var head_styledef = JSON.parse(JSON.stringify($this.$data + .head_styledef)); $this.$data.head_styledef = []; $this.$data.head_styledef = head_styledef; // console.log($this.$data.head_styledef); @@ -1005,9 +1548,12 @@ } else { uni.showModal({ title: this.translateSys("tip"), - content: this.translateSys("quotation_mark_left") + action + content: this.translateSys( + "quotation_mark_left") + + action .action_type + this.translateSys( - "quotation_mark_right") + this.translate( + "quotation_mark_right") + this + .translate( "tip_action_unprocessed"), showCancel: false, confirmText: this.translateSys("cancel") @@ -1023,11 +1569,15 @@ if (data.result) { var result = data.result; for (var i = 0; i < result.length; i++) { - for (var c = 0; c < $this.$data.head_styledef.form.items.length; c++) { + for (var c = 0; c < $this.$data.head_styledef.form.items + .length; c++) { var attr = $this.$data.head_styledef.form.items[c]; //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- if ($this.head_styledef.form.model[result[i].attr] == undefined) { - $this.head_styledef.form.model[result[i].attr] = result[i].value; + if ($this.head_styledef.form.model[result[i].attr] == + undefined) { + $this.head_styledef.form.model[result[i].attr] = + result[i] + .value; } //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗� if (attr.name != 'Layout') { @@ -1036,7 +1586,9 @@ attr.oldvalue = ''; attr.value = result[i].value; attr.oldvalue = result[i].value; - $this.head_styledef.form.model[attr.fieldId] = result[i].value; + $this.head_styledef.form.model[attr.fieldId] = + result[i] + .value; } } else if (attr.name == 'Layout') { attr.setting.colList.forEach(col => { @@ -1046,7 +1598,8 @@ col.oldvalue = ''; col.value = result[i].value; col.oldvalue = result[i].value; - $this.head_styledef.form.model[col.fieldId] = + $this.head_styledef.form.model[col + .fieldId] = result[i].value; } } @@ -1063,8 +1616,10 @@ } if (length == 0) { for (var j = 0; j < $this.$data.refdatastore.length; j++) { - if ($this.$data.refdatastore[j].attr == result[i].attr) { - $this.$data.refdatastore[j].value = result[i].value; + if ($this.$data.refdatastore[j].attr == result[i] + .attr) { + $this.$data.refdatastore[j].value = result[i] + .value; } } } @@ -1162,24 +1717,34 @@ if (success.err_code == 0) { var data = success.result; if (data.ret != 0) { - var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data + var tip = data.err_info ? typeof data.err_info == 'string' ? data + .err_info : + data .err_info.join('<br/>') : ''; - if (data.ret == 801) uni.showModal({ + if (data.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data.ret, + content: tip + ',' + this.translateSys('tip') + ':' + data + .ret, showCancel: false, confirmText: this.translateSys("cancel") }); return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join( - '<br/>') : ''; + var tip = data.info ? typeof data.info == 'string' ? data.info : data + .info + .join( + '<br/>') : ''; if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, @@ -1200,9 +1765,12 @@ var d = dialog({ title: '<i class="ace-icon fa fa-info-circle"></i> ' + this.translateSys("tip"), - content: this.translateSys("quotation_mark_left") + action + content: this.translateSys( + "quotation_mark_left") + + action .action_type + this.translateSys( - "quotation_mark_right") + this.translate( + "quotation_mark_right") + this + .translate( "tip_action_unprocessed") }); d.show(); @@ -1217,13 +1785,16 @@ data_attr: data_attr } uni.navigateTo({ - url: '../selpsn/index?mulit=false¶m=' + JSON.stringify( - param), + url: '../selpsn/index?mulit=false¶m=' + + JSON + .stringify( + param), events: { AddPer(data, param) { // console.log(param); console.log(data); - var callback_eventid = param.button_callback + var callback_eventid = param + .button_callback .trim(); var info = { eventid: callback_eventid, @@ -1232,13 +1803,17 @@ rclsid: '', robjid: '', userlogin: '', - clsid: $this.$data.param.DataCls.id, + clsid: $this.$data.param + .DataCls + .id, objid: "", attr: param.req, inputparameter: data, dataJson: [], } - $this.DataObjRunCustomEvent(info, param.data_attr); + $this.DataObjRunCustomEvent(info, + param + .data_attr); } } }); @@ -1246,9 +1821,12 @@ var d = dialog({ title: '<i class="ace-icon fa fa-info-circle"></i> ' + this.translateSys("tip"), - content: this.translateSys("quotation_mark_left") + action + content: this.translateSys( + "quotation_mark_left") + + action .action_type + this.translateSys( - "quotation_mark_right") + this.translate( + "quotation_mark_right") + this + .translate( "tip_action_unprocessed") }); d.show(); @@ -1256,7 +1834,8 @@ var $this = this; if (val.common_dlg_id == 'check_list') { $this.$data.check_list = val.config; - if (val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�+ if (val.config.appear_style == + 'sideslip') //鍒ゆ柇鏄惁鏄晶婊� $this.$data.popupType = 'right'; else $this.$data.popupType = 'center' @@ -1270,7 +1849,8 @@ } $this.$data.popupParam = popupParam; } - } else if (action.action_type == 'open_project_query_dlg') { + } else if (action.action_type == + 'open_project_query_dlg') { //console.log(action.value.select_range); //console.log(action.value.mulit_select); var priRel = '-1'; @@ -1280,7 +1860,8 @@ priRel = '1'; else if (action.value.select_range == '鎴戝垱寤虹殑') priRel = '2'; - else if (action.value.select_range == '鎴戝弬涓庣殑' || action.value + else if (action.value.select_range == '鎴戝弬涓庣殑' || action + .value .select_range == '鎴戝弬鍔犵殑') priRel = '3'; else if (action.value.select_range == '鎴戝叧娉ㄧ殑') @@ -1295,17 +1876,21 @@ req: req } uni.navigateTo({ - url: '../selPrj/index?relation=' + priRel + '¶m=' + + url: '../selPrj/index?relation=' + priRel + + '¶m=' + JSON.stringify(param_), events: { AddPer(data, param) { var attr = param.item.fieldId; - $this.head_styledef.form.model[attr] = data[0].ID + + $this.head_styledef.form.model[ + attr] = + data[0].ID + ';' + data[0].Name; // $this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name; // $this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name; - var callback_eventid = param.button_callback + var callback_eventid = param + .button_callback .trim(); if (callback_eventid) { var info = { @@ -1315,13 +1900,16 @@ rclsid: "", robjid: "", userlogin: "", - clsid: $this.$data.param.DataCls.id, + clsid: $this.$data + .param + .DataCls.id, objid: "", attr: param.req, dataJson: [], } - $this.DataObjRunCustomEvent(info); + $this.DataObjRunCustomEvent( + info); } } } @@ -1329,9 +1917,11 @@ } else { uni.showModal({ title: this.translateSys("tip"), - content: this.translateSys("quotation_mark_left") + + content: this.translateSys( + "quotation_mark_left") + action.action_type + this.translateSys( - "quotation_mark_right") + this.translate( + "quotation_mark_right") + this + .translate( "tip_action_unprocessed"), showCancel: false, confirmText: this.translateSys("cancel") @@ -1384,7 +1974,8 @@ title: this.translateSys("loading"), mask: true }); - var obj_attr = this.head_styledef.form.model; + this.saving = true + var obj_attr = this.head_styledef.form.model || []; console.log(obj_attr); // var req = Object.keys(obj_attr).map((a) => ({ // name: a, @@ -1437,20 +2028,25 @@ if (action.ret != 0) { uni.showModal({ title: this.translateSys("tip"), - content: this.translate('execute_script_failed') + this - .translateSys('comma') + this.translate('result') + this + content: this.translate('execute_script_failed') + + this + .translateSys('comma') + this.translate( + 'result') + + this .translateSys('colon') + action.result, showCancel: false, confirmText: this.translateSys("cancel") }); + this.saving = false return; } if (action.info) { uni.showModal({ title: this.translateSys("tip"), - content: this.translate('execute_script_failed') + this - .translateSys('comma') + this.translate('result') + this - .translateSys('colon') + action.info, + content: this.translate('execute_script_failed') + + this + .translateSys('comma') + + this.translateSys('colon') + action.info, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -1468,15 +2064,19 @@ } } else uni.showToast({ - title: this.translate('create_success') , + title: this.translate('create_success'), icon: "success", duration: 3000 }); - //鍒锋柊 - uni.redirectTo({ - url: '../modal/3018_2?param=' + JSON.stringify(this.$data.param) + - "&titlename=" + this.$data.title - }); + if (!this.$data.param.After_Btn_Not_Refresh) { + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this.$data + .param) + + "&titlename=" + this.$data.title + }); + } + // this.class_attr_init(); } else { uni.showModal({ @@ -1486,8 +2086,10 @@ confirmText: this.translateSys("cancel") }); } + this.saving = false }).catch(ex => { console.log(ex); + this.saving = false uni.hideLoading(); uni.showModal({ title: this.translateSys("tip"), @@ -1498,6 +2100,7 @@ }); }, afterOK() { + this.saving = true var obj_attr = this.head_styledef.form.model; // console.log(obj_attr); var input_param = { @@ -1532,24 +2135,171 @@ if (success.err_code == 0) { var data = success.result; if (data.ret != 0) { - var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data + var tip = data.err_info ? typeof data.err_info == 'string' ? data + .err_info : + data .err_info.join('<br/>') : ''; - if (data.ret == 801) uni.showModal({ + if (data.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ + title: this.translateSys("tip"), + content: tip + ',' + this.translateSys('tip') + ':' + data + .ret, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + this.saving = false + return false + } else { + var tip = data.info ? typeof data.info == 'string' ? data.info : data + .info + .join( + '<br/>') : ''; + if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); - else uni.showModal({ + + var result = data.result; + + } + } else { + uni.showModal({ + title: this.translateSys("error") + "7", + content: success.err_msg, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } + this.saving = false + }).catch(ex => { + // console.log(ex); + this.saving = false + uni.showModal({ + title: this.translateSys('tip') + "7.1", + content: ex.errMsg, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + }); + }, + //鐐瑰嚮鎸夐挳鍒楄〃 + clickDropdownBtns() { + var that = this + var itemlist = []; + this.dropdownBtns.forEach((btn) => { + itemlist.push(btn.ShowName); + }); + uni.showActionSheet({ + // title: '鎸夐挳鍒楄〃', + itemList: itemlist, + success: (e) => { + console.log(e.tapIndex); + var btn = that.dropdownBtns[e.tapIndex]; + that.onButtonClicked(btn); + } + }) + }, + onButtonClicked(btn) { + let enviroment = { + button: "top", + button_name: btn.ShowName, + cls_id: btn.Cls_ID, + function: "3018", + master: {}, + }; + console.log("onBtnClick", btn); + if (btn.FunCode == "Add") { + if (btn.Edit_dlg.Model == "small") { + this.showAddSmallDialog(btn, enviroment); + } else { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translateSys("unrealized"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } + } else if (btn.FunCode == "TriggerEvent") { + this.onTriggerEvent(btn, enviroment); + } else { + this.$Message.warning(this.$t("sys.unrealized")); + } + }, + onTriggerEvent(btn, enviroment) { + var obj_attr = this.head_styledef.form.model; + // console.log(obj_attr); + var input_param = { + id: "", + attrs: Object.keys(obj_attr).map((a) => ({ + attr: a, + value: obj_attr[a], + })), + }; + + var dataInfo = { + ed_type: "0", + start_transaction: true, + class_id: btn.Cls_ID, + class_name: '', + event_id: btn.Event.ID, + event_name: '', + data_obj_id: '', + obj_attr: obj_attr, + prj_id: '', + ref_cls_id: '', + rel_obj_id: '', + user_login: '', + data_json: '', + compose_info: '', + input_param: '', + }; + console.log(dataInfo); + // return; + this.$store.dispatch('runCustomEvent', dataInfo).then(success => { + console.log(success); + if (success.err_code == 0) { + var data = success.result; + if (data.ret != 0) { + var tip = data.err_info ? typeof data.err_info == 'string' ? data + .err_info : + data + .err_info.join('<br/>') : ''; + if (data.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data.ret, + content: tip + ',' + this.translateSys('tip') + ':' + data + .ret, showCancel: false, confirmText: this.translateSys("cancel") }); return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join( - '<br/>') : ''; + var tip = data.info ? typeof data.info == 'string' ? data.info : data + .info + .join( + '<br/>') : ''; if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, @@ -1576,6 +2326,39 @@ showCancel: false, confirmText: this.translateSys("cancel") }); + }); + + }, + //鏂板淇敼灏忕獥鍙f暟鎹�+ showAddSmallDialog(btn, enviroment) { + var data = { + Add_BtnName: btn.ShowName, + EditDlgMode: btn.Edit_dlg.Model, + clsid: btn.Cls_ID, + cls_name: btn.Cls_Name, + Edit_dlg: btn.Edit_dlg + }; + const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn.Edit_dlg + .Name + + "&type=addDataObj" + console.log("showAddSmallDialog", url); + var $this = this; + uni.navigateTo({ + url: url, + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁 + addDataObj: function(resData) { + console.log(resData); + //鍒锋柊 + if (!this.$data.param.After_Btn_Not_Refresh) { + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this + .$data.param) + + "&titlename=" + this.$data.title + }); + } + }, + } }); }, @@ -1608,64 +2391,53 @@ </style> <style lang="scss"> .uni-page-modal-3018-2 { + display: flex; + height: calc(100vh - 30rpx); + width: 720rpx; + flex-direction: column !important; + padding: 15rpx; + .v-headStyle { /* border: 0.1rpx solid red; */ /* line-height: 30rpx; */ - padding: 5rpx 0; + // padding: 5rpx 0; + width: 98%; } - .v-headStyle:first-child { - margin-top: 15rpx; + .uni-forms-item { + // border: 0.5px solid red; + margin-bottom: 11rpx; } - .v-headStyle .txt_title { - font-size: 34rpx; - text-align: right; - display: inline-block; - /* vertical-align: 24rpx; */ - - /* border: 0.1rpx solid red; */ - } - - .v-headStyle input { - vertical-align: middle; - display: inline-block; - /* border: 1px solid #d5d5d5; */ - /* width: 65%; */ - width: 85%; - height: 52rpx; - line-height: 34rpx; - background: #FFF; - border-radius: 0 !important; - color: #2d8cf0; - padding: 10rpx 8rpx 12rpx; - font-size: 34rpx; - font-family: inherit; - box-shadow: none !important; - transition-duration: 0.1s; - margin-top: 4rpx; - } - - .v-headStyle input::-webkit-input-placeholder { - font-size: 12rpx; - } - - .v-headStyle .form-item-span { - /* vertical-align:top; */ - color: #2d8cf0; - white-space: normal; - word-break: break-all; - display: inline-block; - - /* border: 0.1rpx solid red; */ - } + // .v-headStyle .form-item-span { + // // border: 0.5px solid red; + // padding: 7rpx 0; + // color: #2d8cf0; + // white-space: normal; + // word-break: break-all; + // display: inline-block; + // // width: calc(100% - 100px); + // } .input-wrapper { border: 1px solid #d5d5d5; - display: inline-block; - width: 65%; - line-height: 22rpx; - vertical-align: middle; + width: 100%; + display: flex; + flex-direction: row; + + .uni-input { + color: #2d8cf0; + flex: 1; + padding: 10rpx 8rpx; + // height: 40rpx; + // line-height: 40rpx; + } + + .uni-icon { + padding: 8rpx; + font-size: 32rpx; + color: rgb(192, 196, 204); + } } .check_rememberPwd, @@ -1680,9 +2452,6 @@ box-sizing: border-box; } - .uni-input { - /* border: none; */ - } .uni-icon { /* border: 1px solid red; */ @@ -1700,43 +2469,73 @@ vertical-align: middle; } - - .view-content { - min-height: 700rpx; - /* border:1px solid red; */ - } - .input-disabled { background-color: #f3f3f3 !important; } - button.btn_add { - width: 49.5%; - margin-top: 50rpx; - padding: 20rpx; - line-height: 1.5; - background: #4D6AF4; - border: none; - color: #fff; - font-size: 38rpx; - font-weight: bold; - float: right; - display: inline-block; + .view-content { + display: flex; + flex: 1; + width: calc(100% - 30rpx); + padding: 10rpx 15rpx; + flex-direction: column; + overflow-y: auto; + } - button.btn_cancel { - width: 49.5%; - margin-top: 50rpx; - padding: 20rpx; - line-height: 1.5; - background: #fff; - border: none; - color: #000; - font-size: 38rpx; - font-weight: bold; - float: left; - display: inline-block; + .view-bottom { + // display: flex; + // flex-direction: row; + display: block; + width: calc(100% - 30rpx); + padding: 10rpx 15rpx 20rpx 15rpx; + + .btn_add { + width: 45%; + margin: 0 10rpx; + // padding: 5rpx 10rpx; + background: #4D6AF4; + border: none; + color: #fff; + float: left; + display: inline-block; + } + + .btn_disabled { + background-color: #ddd; + color: #888; + } + + .btn_cancel { + width: 45%; + margin: 0 10rpx; + background: #fff; + border: none; + color: #000; + font-size: 38rpx; + float: right; + display: inline-block; + } + + .uni-padding-wrap { + margin: 2rpx 0 0 10rpx; + background-color: #98DAEA; + width: 104rpx; + height: 80rpx; + text-align: center; + border-radius: 54rpx; + padding: 24rpx 0 0 0; + float: right; + display: inline-block; + } + + .uni-padding-wrap a { + font-size: 40rpx; + } } + + + .view-popup { position: relative; @@ -1810,7 +2609,7 @@ #dv_select { display: inline-block; - width: 66%; + // width: 66%; background: #FFF; border-radius: 0 !important; color: #2d8cf0; @@ -1948,9 +2747,8 @@ /* line-height: 22rpx; */ } - .view-floor { - padding: 0 20rpx; - } + + .demo-uni-row { margin-bottom: 0px; -- Gitblit v1.9.1