From 016fe8296e58f28f30bf66fa71bdcd420e9e9d84 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期二, 20 八月 2024 15:55:16 +0800 Subject: [PATCH] test --- pages/modal/5602.vue | 537 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 368 insertions(+), 169 deletions(-) diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue index e5cdb95..25973ec 100644 --- a/pages/modal/5602.vue +++ b/pages/modal/5602.vue @@ -24,7 +24,7 @@ :type="item.name=='Input'?'text':'number'" 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(index,item)" + :focus="focusFieldId == item.fieldId" @focus="ontap(index,item)" @click="onClick(item)" @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" /> <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]" @click="onEnterChange(item)"></text> @@ -47,51 +47,53 @@ <view class="view-tab-content" id="tabpanel"> <image class="logo" v-if="detail1StyleDefList.length==0" src="../../images/mobox_log_200x40.png"></image> - <div class="dv-panel" v-for="(style,ii) in detail1StyleDefList" @tap="onPanelClick(ii)" - :id="'tabpanel'+style.form.htmlobjId" - :class="style.form.htmlobjId==active_id?'bk-active':activelist[ii].active==true?'bk-active':''"> - <div class="dv-panel-input"> - <div class="dv-input" v-for="(item,index) in style.form.items"> - <!-- 鏅�甯冨眬 --> - <view v-if="item.name!='Layout'"> - <text class="txt_title" - :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> - <span class="form-item-span" v-if="item.disabled">{{item.value}}</span> - <input class="uni-input" v-if="!item.disabled" - :type="item.name=='InputNumber'?'number':'text'" :value="item.value" - :disabled="item.disabled" :placeholder="item.placeholder" /> - </view> - <!-- 鏍呮牸甯冨眬 --> - <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"> - <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> - <input class="uni-input" v-if="!cols.disabled" - :type="cols.name=='InputNumber'?'number':'text'" - :value="cols.value" :disabled="cols.disabled" - :placeholder="cols.placeholder" /> - </view> - </uni-col> - </uni-row> + <checkbox-group @change="checkboxChange"> + <div class="dv-panel" v-for="(style,ii) in detail1StyleDefList" + @tap="onPanelClick(ii)" :id="'tabpanel'+style.form.htmlobjId" + :class="style.form.htmlobjId==active_id?'bk-active':activelist[ii].active==true?'bk-active':''"> + <div class="dv-panel-input"> + <div class="dv-input" v-for="(item,index) in style.form.items"> + <!-- 鏅�甯冨眬 --> + <view v-if="item.name!='Layout'"> + <text class="txt_title" + :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> + <span class="form-item-span" + v-if="item.disabled">{{item.value}}</span> + <input class="uni-input" v-if="!item.disabled" + :type="item.name=='InputNumber'?'number':'text'" + v-model="item.value" :disabled="item.disabled" + :placeholder="item.placeholder" /> + </view> + <!-- 鏍呮牸甯冨眬 --> + <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"> + <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> + <input class="uni-input" v-if="!cols.disabled" + :type="cols.name=='InputNumber'?'number':'text'" + v-model="cols.value" :disabled="cols.disabled" + :placeholder="cols.placeholder" /> + </view> + </uni-col> + </uni-row> + </div> + </div> + <div class="dv-panel-button"> + + <checkbox v-if="param.Sub_Page[0].Select_Button==true" :value="ii" + :checked="style.SelBut_Checked" /> + <!-- <text></text> --> + + <!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> --> + <button type="warn" @tap="delItem(ii)" + v-if="param.Sub_Page[0].Del_Button==true">{{translateSys('delete')}}</button> </div> </div> - <div class="dv-panel-button"> - <checkbox-group v-if="param.Sub_Page[0].Select_Button==true"> - <label> - <checkbox :value="style.SelBut_Checked" - :checked="style.SelBut_Checked" /> - <!-- <text></text> --> - </label> - </checkbox-group> - <!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> --> - <button type="warn" @tap="delItem(ii)" - v-if="param.Sub_Page[0].Del_Button==true">鍒犻櫎</button> - </div> - </div> + </checkbox-group> </view> <view v-if="param.Sub_Page[0].OK_Button==true"> <button type="default" @tap="cancel" @@ -106,41 +108,41 @@ <view class="view-tab-content"> <image class="logo" v-if="detail2StyleDefList.length==0" src="../../images/mobox_log_200x40.png"></image> - <div class="dv-panel" v-for="(style,ii) in detail2StyleDefList"> - <div class="dv-panel-input"> - <div v-for="(item,index) in style.form.items"> - <!-- 鏅�甯冨眬 --> - <view v-if="item.name!='Layout'"> - <text class="txt_title" - :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> - <span class="form-item-span">{{item.value}}</span> - </view> - <!-- 鏍呮牸甯冨眬 --> - <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> - <uni-col :span="24 / item.setting.col" - v-for="(cols,key) in item.setting.colList"> - <view v-if="cols!=null"> - <text class="txt_title" - :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text> - <span class="form-item-span">{{cols.value}}</span> - </view> - </uni-col> - </uni-row> + <checkbox-group @change="checkboxChange2"> + <div class="dv-panel" v-for="(style,ii) in detail2StyleDefList"> + <div class="dv-panel-input"> + <div v-for="(item,index) in style.form.items"> + <!-- 鏅�甯冨眬 --> + <view v-if="item.name!='Layout'"> + <text class="txt_title" + :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> + <span class="form-item-span">{{item.value}}</span> + </view> + <!-- 鏍呮牸甯冨眬 --> + <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> + <uni-col :span="24 / item.setting.col" + v-for="(cols,key) in item.setting.colList"> + <view v-if="cols!=null"> + <text class="txt_title" + :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text> + <span class="form-item-span">{{cols.value}}</span> + </view> + </uni-col> + </uni-row> + </div> + </div> + <div class="dv-panel-button"> + + <checkbox v-if="param.Sub_Page[1].Select_Button==true" :value="ii" + :checked="style.SelBut_Checked" /> + <!-- <text></text> --> + + <!-- <button type="primary" @click="savaDataObj(style,ii)" v-if="param.Sub_Page[1].OK_Button==true">淇濆瓨</Button> --> + <button type="warn" @tap="delDataObj(style,ii)" + v-if="param.Sub_Page[1].Del_Button==true">{{translateSys('delete')}}</button> </div> </div> - <div class="dv-panel-button"> - <checkbox-group v-if="param.Sub_Page[1].Select_Button==true"> - <label> - <checkbox :value="style.SelBut_Checked" - :checked="style.SelBut_Checked" /> - <!-- <text></text> --> - </label> - </checkbox-group> - <!-- <button type="primary" @click="savaDataObj(style,ii)" v-if="param.Sub_Page[1].OK_Button==true">淇濆瓨</Button> --> - <button type="warn" @tap="delDataObj(style,ii)" - v-if="param.Sub_Page[1].Del_Button==true">{{translateSys('delete')}}</button> - </div> - </div> + </checkbox-group> </view> <view v-if=" param.Sub_Page[1].OK_Button==true"> <button type="default" @tap="cancel" @@ -183,8 +185,8 @@ data() { return { title: this.translateSys("sorting"), - ClsID: "Sorting_Detail", - ClsID2: "Sorting_Result", + ClsID: "Distribution_CNTR_Detail", + ClsID2: "Picking_Result", param: {}, focusFieldId: "", focusOldFieldId: "", @@ -218,22 +220,7 @@ this.$data.title = options.titlename; this.$data.param = JSON.parse(options.param); // console.log(this.$data.param); - //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�- this.Head_UIStyleGetInfo(this.$data.ClsID, this.$data.param.Input_UI_Style.ID); - - //鍔犺浇鍒濆鐣岄潰 - if (this.$data.param.Show_Welcom_Page) { - this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+'); - this.$data.param.Welcome_Page.Width = parseInt(this.$data.param.Welcome_Page.Width); - this.$data.param.Welcome_Page.Height = parseInt(this.$data.param.Welcome_Page.Height); - } - //鍔犺浇Tab椤电 - this.$data.items.push(this.$data.param.Sub_Page[0].Name); - this.$data.items.push(this.$data.param.Sub_Page[1].Name); - this.Detail1_UIstyleGetInfo(this.ClsID, this.$data.param.Sub_Page[0].UI_Style.ID); - this.Detail2_UIstyleGetInfo(this.ClsID2, this.$data.param.Sub_Page[1].UI_Style.ID); - - console.log(this.$data.param); + this.loadData(options.paramValue) }, methods: { setData: function(obj) { @@ -257,12 +244,81 @@ }); }); }, + + async loadData(paramValue) { + //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+ await this.Head_UIStyleGetInfo(this.$data.ClsID, this.$data.param.Input_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; + } + }); + } + }); + } + }) + } + + //鍔犺浇鍒濆鐣岄潰 + if (this.$data.param.Show_Welcom_Page) { + this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+'); + this.$data.param.Welcome_Page.Width = parseInt(this.$data.param.Welcome_Page.Width); + this.$data.param.Welcome_Page.Height = parseInt(this.$data.param.Welcome_Page.Height); + } + //鍔犺浇Tab椤电 + this.$data.items.push(this.$data.param.Sub_Page[0].Name); + this.$data.items.push(this.$data.param.Sub_Page[1].Name); + await this.Detail1_UIstyleGetInfo(this.ClsID, this.$data.param.Sub_Page[0].UI_Style.ID); + await this.Detail2_UIstyleGetInfo(this.ClsID2, this.$data.param.Sub_Page[1].UI_Style.ID); + + + console.log(this.$data.param); + }, changeSwiper(evt) { let index = evt.target.current || evt.detail.current; this.setData({ current: index }) }, + checkboxChange(e) { + var items = this.detail1StyleDefList + var values = e.detail.value; + for (var i = 0, lenI = items.length; i < lenI; ++i) { + const item = items[i] + if (values.includes(i)) { + item.SelBut_Checked = true + } else { + item.SelBut_Checked = false + } + } + }, + checkboxChange2(e) { + var items = this.detail2StyleDefList + var values = e.detail.value; + for (var i = 0, lenI = items.length; i < lenI; ++i) { + const item = items[i] + if (values.includes(i)) { + item.SelBut_Checked = true + } else { + item.SelBut_Checked = false + } + } + }, + async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮� var $this = this; var dataInfo = { @@ -410,53 +466,47 @@ dict_name: dict.name }; // console.log(dataInfo); - this.$store.dispatch('DictGetInfo', dataInfo).then(async (success) => { - // console.log(success); - if (success.err_code == 0) { - 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, - }); + 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 (type == 'mast') { //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� - 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; - var head_styledef = JSON.parse(JSON.stringify($this.head_styledef)); - $this.head_styledef = []; - $this.head_styledef = head_styledef; - // console.log($this.$data.detail1StyleDefList); - } else { - if (itemName) { - $this.detail1_styledef.form.items[index].value = itemName; - var attr = $this.detail1_styledef.form.items[index].fieldId; - $this.detail1_styledef.form.model[attr] = itemName; - } - $this.detail1_styledef.form.items[index].dict = list; - var detail1_styledef = JSON.parse(JSON.stringify($this.detail1_styledef)); - $this.detail1_styledef = []; - $this.detail1_styledef = detail1_styledef; - // console.log($this.$data.detail1_styledef); + }); + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + if (type == 'mast') { //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + 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; + var head_styledef = JSON.parse(JSON.stringify($this.head_styledef)); + $this.head_styledef = []; + $this.head_styledef = head_styledef; + // console.log($this.head_styledef); } else { - uni.showModal({ - title: this.translateSys("error") + "9.1", - content: success.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") - }); + if (itemName) { + $this.detail1_styledef.form.items[index].value = itemName; + var attr = $this.detail1_styledef.form.items[index].fieldId; + $this.detail1_styledef.form.model[attr] = itemName; + } + $this.detail1_styledef.form.items[index].dict = list; + var detail1_styledef = JSON.parse(JSON.stringify($this.detail1_styledef)); + $this.detail1_styledef = []; + $this.detail1_styledef = detail1_styledef; + // console.log($this.$data.detail1_styledef); } - }).catch(ex => { + + + // $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") + "9", @@ -464,9 +514,41 @@ 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); + const ret = _res.data + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg + }); + } + }, + fail: (err) => { + // console.log(err); + reject(err); + } + }) + + }) + }, + onClick(item) { + this.focusFieldId = item.fieldId + }, ontap(index, item) { //鎵爜鍔熻兘 // var $ele = e; this.focusOldFieldId = item.fieldId @@ -477,7 +559,7 @@ var $this = this; console.log(item); - if (item.oldvalue != item.value) { + if (item.oldvalue != item.value&& item.value.trim() != "") { item.oldvalue = item.value; var attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; @@ -489,21 +571,66 @@ if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� $this.onChange(onChangeEvent); } - if (item.value) { //杈撳叆妗嗕笉涓虹┖ + if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌� //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴� - const curIndex = $this.head_styledef.form.items.findIndex((ele, index2, arr) => { - return (ele.name == 'Input' || ele.name == 'InputNumber') && index2 > - index; - }) - if (curIndex > -1) { - $this.setData({ - focusFieldId: $this.head_styledef.form.items[curIndex].fieldId - }) + var findd = false + for (let i in $this.head_styledef.form.items) { + const ele = $this.head_styledef.form.items[i] + + if (ele.name != "Layout") { + if (ele.name == 'Input' || ele.name == 'InputNumber') { + 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'); + }) + 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') && + index2 > + curIndex; + }) + if (curIndex2 > -1) { + $this.setData({ + focusFieldId: ele.setting.colList[curIndex] + .fieldId + }) + break + } + } + } + + } } - // setTimeout(function(){ - // uni.hideKeyboard(); - // },1000); } + // if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠� // this.onSuffixClick(onSuffixClickCallbackEvent); // } @@ -515,7 +642,7 @@ }, onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢 // console.log(item); - if (item.oldvalue != item.value) { + if (item.oldvalue != item.value&& item.value.trim() != "") { item.oldvalue = item.value; var attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; @@ -655,13 +782,18 @@ if (result.ret != 0) { var tip = result.err_info ? typeof result.err_info == 'string' ? result .err_info : result.err_info.join('<br/>') : ''; - if (result.ret == 801) uni.showModal({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else uni.showModal({ + if (result.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') + ':' + result .ret, @@ -834,8 +966,34 @@ data.forEach(async (ele2, index) => { if (ele.fieldId == ele2 .attr) { + if (ele.name == + 'Select' && + ele2 + .choice_list) { + const + dictItemList = []; + const + choiceList = + ele2 + .choice_list || + []; + for (let d in + choiceList) { + const val = + choiceList[ + d]; + dictItemList + .push({ + text: val, + value: val + }); + } + ele.dict = + dictItemList; + } ele.value = ele2 .value; + } }); }); @@ -1253,6 +1411,15 @@ }) }); }); + if (jsonlist.length == 0) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate("tip_no_select_data"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + return; + } // console.log(jsonlist); const list = [] list.push({ @@ -1325,6 +1492,15 @@ }) }); }); + if (jsonlist.length == 0) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate("tip_no_select_data"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + return; + } const list = [] list.push({ page_name: $this.param.Sub_Page[1].Name, @@ -1440,6 +1616,15 @@ }) }); }); + if (jsonlist.length == 0) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate("tip_no_select_data"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + return; + } // console.log(jsonlist); const list = [] list.push({ @@ -1546,6 +1731,15 @@ }) }); }); + if (jsonlist.length == 0) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate("tip_no_select_data"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + return; + } const list = [] list.push({ page_name: $this.param.Sub_Page[1].Name, @@ -1592,13 +1786,18 @@ if (result.ret != 0) { var tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result.err_info.join('<br/>') : ''; - if (result.ret == 801) uni.showModal({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else uni.showModal({ + if (result.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') + ':' + result.ret, showCancel: false, @@ -1767,7 +1966,7 @@ value += ele; }); uni.showModal({ - title:this.translateSys("tip"), + title: this.translateSys("tip"), content: value, showCancel: false, confirmText: this.translateSys("close") @@ -2036,7 +2235,7 @@ padding-bottom: 20rpx; } - .dv-panel-button checkbox-group { + .dv-panel-button checkbox { /* float: left; */ padding-left: 20px; display: inline-block; -- Gitblit v1.9.1