From a93f9ab65690f6f0a681d65375be1c1aeafa8c1e Mon Sep 17 00:00:00 2001 From: jt <jt@activesoft.com.cn> Date: 星期六, 20 七月 2024 17:43:55 +0800 Subject: [PATCH] test --- pages/modal/3018_2.vue | 938 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 606 insertions(+), 332 deletions(-) diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue index e0be8dd..6c5084d 100644 --- a/pages/modal/3018_2.vue +++ b/pages/modal/3018_2.vue @@ -1,124 +1,122 @@ <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="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> - </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> - <!-- 澶嶉�妗�--> - <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> + <uni-forms ref="baseForm" label-align="right"> + <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items"> + <!-- 鏅�甯冨眬 --> + <uni-forms-item class="head-form" 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="(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> + <!-- 澶氳鏂囨湰 --> + <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> - </uni-col> - </uni-row> + <!-- 澶嶉�妗�--> + <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> + </uni-forms-item> + <!-- 鏍呮牸甯冨眬 --> + <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"> + <uni-forms-item class="head-form" v-if="cols!=null" :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-forms-item> + </uni-col> + </uni-row> + </view> + </uni-forms> <view class="view-floor"> <button type="default" @tap="sava" class="btn_add">{{title}}</button> <button type="default" @tap="cancel" class="btn_cancel">{{translateSys('cancel')}}</button> @@ -175,7 +173,8 @@ popupType: "center", check_list: {}, - focusMateria: false, + focusFieldId: "", + focusOldFieldId: "", head_styledef: { form: { items: [] @@ -188,22 +187,114 @@ content: '' }; }, + 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.$data.param) + + "&titlename=" + this.$data.title + }); + } + }, onLoad(options) { // console.log(options); uni.setNavigationBarTitle({ 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) }, 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; + } + }); + } + }); + } + }) + } + + console.log(this.$data.param); + + }, async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮� var $this = this; var dataInfo = { @@ -218,7 +309,8 @@ //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 + if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret + .result .style_def); } $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {}; @@ -228,6 +320,15 @@ if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 await this.DictGetInfo(ele.bind.dict, index, 'mast'); } + if ($this.focusFieldId == "") { + if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == + 'Textarea') { + $this.setData({ + focusFieldId: ele.fieldId + }) + } + } + }); if ($this.head_styledef.event?.length > 0) { $this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢 @@ -331,15 +432,21 @@ 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({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else 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, @@ -347,8 +454,9 @@ }); 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,7 +493,8 @@ } 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) { @@ -413,7 +522,8 @@ //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹� 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 +533,23 @@ 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; + $this.head_styledef.form.model[ + col + .fieldId] = result[i] + .value; } } }); @@ -449,9 +563,12 @@ $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 +576,34 @@ } 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; + $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; + } + } + }); } - } 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 +613,13 @@ } 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'), @@ -566,50 +694,110 @@ // } // } // }) + 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] || "", - })); + // 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 = value + $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] - var info = { - eventid: eventid, - edtype: "0", - projectid: '', - rclsid: '', - robjid: '', - userlogin: '', - clsid: this.$data.param.DataCls.id, - objid: "", - attr: req, - dataJson: [], + 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 + } + } + } + } - this.DataObjRunCustomEvent(info, ''); } } - }) + + 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) { + this.focusFieldId = item.fieldId }, onevent(item) { // console.log(e.target); @@ -853,15 +1041,21 @@ 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({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else 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, @@ -869,8 +1063,9 @@ }); 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 +1082,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 +1102,13 @@ } 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, @@ -925,12 +1124,15 @@ } } - 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,7 +1142,8 @@ 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') { @@ -967,8 +1170,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; } } } @@ -976,27 +1181,33 @@ } 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 - .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)); + 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,7 +1216,8 @@ } 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( "tip_action_unprocessed"), @@ -1027,7 +1239,8 @@ 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; + $this.head_styledef.form.model[result[i].attr] = result[i] + .value; } //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗� if (attr.name != 'Layout') { @@ -1036,7 +1249,8 @@ 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 +1260,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; } } @@ -1162,15 +1377,21 @@ 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({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else 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, @@ -1178,8 +1399,9 @@ }); 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,7 +1422,8 @@ 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( "tip_action_unprocessed") @@ -1217,13 +1440,15 @@ 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 +1457,15 @@ 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,7 +1473,8 @@ 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( "tip_action_unprocessed") @@ -1295,17 +1523,20 @@ 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,7 +1546,8 @@ rclsid: "", robjid: "", userlogin: "", - clsid: $this.$data.param.DataCls.id, + clsid: $this.$data.param + .DataCls.id, objid: "", attr: param.req, dataJson: [], @@ -1438,7 +1670,8 @@ uni.showModal({ title: this.translateSys("tip"), content: this.translate('execute_script_failed') + this - .translateSys('comma') + this.translate('result') + this + .translateSys('comma') + this.translate('result') + + this .translateSys('colon') + action.result, showCancel: false, confirmText: this.translateSys("cancel") @@ -1449,8 +1682,8 @@ uni.showModal({ title: this.translateSys("tip"), content: this.translate('execute_script_failed') + this - .translateSys('comma') + this.translate('result') + this - .translateSys('colon') + action.info, + .translateSys('comma') + + this.translateSys('colon') + action.info, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -1468,15 +1701,18 @@ } } 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({ @@ -1532,15 +1768,21 @@ 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({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else 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, @@ -1548,8 +1790,9 @@ }); 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, @@ -1608,64 +1851,95 @@ </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; + // .v-headStyle:first-child { + // margin-top: 15rpx; + // } + + // .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 .head-form { + // 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; */ + // border: 0.5px solid red; + padding:7rpx 0; color: #2d8cf0; white-space: normal; word-break: break-all; display: inline-block; - - /* border: 0.1rpx solid red; */ + // width: calc(100% - 100px); } - + + // .input-wrapper { + // border: 1px solid #d5d5d5; + // display: inline-block; + // width: 100%; + // line-height: 22rpx; + // vertical-align: middle; + // } .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, @@ -1810,7 +2084,7 @@ #dv_select { display: inline-block; - width: 66%; + // width: 66%; background: #FFF; border-radius: 0 !important; color: #2d8cf0; -- Gitblit v1.9.1