From feeff00e9c28cbf82639295759d5f507187d356f Mon Sep 17 00:00:00 2001 From: cyy <cuiqian2004@163.com> Date: 星期日, 16 六月 2024 22:19:53 +0800 Subject: [PATCH] 5600 input——param --- pages/modal/5602.vue | 262 ++++++++++++++++++++++++++++++++++----------------- 1 files changed, 174 insertions(+), 88 deletions(-) diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue index a79daba..4e0267d 100644 --- a/pages/modal/5602.vue +++ b/pages/modal/5602.vue @@ -261,8 +261,8 @@ :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)" + :focus="focusFieldId == item.fieldId" + @focus="ontap(index,item)" @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" /> @@ -409,7 +409,7 @@ ClsID: "Sorting_Detail", ClsID2: "Sorting_Result", param: {}, - focusMateria:false, + focusFieldId:"", head_styledef:{ form:{ items:[] @@ -418,7 +418,9 @@ detail1_styledef:{}, detail1StyleDefList:[], detail2_styledef:{}, - detail2StyleDefList:[], + detail2StyleDefList:[],//鍒嗛〉鏁版嵁 + detail1ExtData: {}, + detail2ExtData: {}, //鍒嗛〉鎵╁睍鏁版嵁 // 鍒嗘鍣ㄦ暟鎹� current: 0, Before_OK_Event:{}, @@ -450,8 +452,6 @@ this.Detail2_UIstyleGetInfo(this.ClsID2,this.$data.param.Sub_Page[1].UI_Style.ID); console.log(this.$data.param); - //椤甸潰鍒濆鍖栬幏鍙栫劍鐐�- // this.focusMateria=true; }, methods: { setData: function(obj) { @@ -499,6 +499,13 @@ if(ele.useDict==true){ //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 await this.DictGetInfo(ele.bind.dict,index,'mast'); } + if($this.focusFieldId == "") + { + if(ele.name=='Input' || ele.name=='InputNumber') + { + $this.setData({focusFieldId:ele.fieldId}) + } + } }); }else{ uni.showModal({title:"閿欒1",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"}); @@ -631,12 +638,12 @@ }); }, - ontap(item){ //鎵爜鍔熻兘 + ontap(index,item){ //鎵爜鍔熻兘 // var $ele = e; getApp().onScan((result)=>{ console.log(result.decodedata); item.value = result.decodedata; - uni.hideKeyboard(); + //uni.hideKeyboard(); var $this = this; console.log(item); @@ -648,18 +655,21 @@ var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠� var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false; - + if(onChangeEvent.id){ //鍐呭鍙樺寲鍚庝簨浠� $this.onChange(onChangeEvent); } - if(item.value){ //绗竴涓緭鍏ユ涓嶄负绌�- $this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴� - // setTimeout(function(){ - // $this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣 - setTimeout(function(){ - uni.hideKeyboard(); - },1000); - // },500); + 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}) + } + // setTimeout(function(){ + // uni.hideKeyboard(); + // },1000); } // if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠� // this.onSuffixClick(onSuffixClickCallbackEvent); @@ -734,11 +744,11 @@ const jsonlist=[]; detailAttrList.forEach(attr=>{ jsonlist.push({ - id:'', + id:attr["id"]|| "", attrs: Object.keys(attr).map((a) => ({ attr: a, value: attr[a] || "", - })) + })).filter((a)=>{return a.attr != "id"}) }); }); return jsonlist; @@ -749,22 +759,29 @@ try { if (event.id) { + //鑾峰彇琛ㄥご灞炴� + var head_attr = {}; + this.head_styledef.form.items.forEach(item => { + head_attr[item.fieldId] = item.value; + }); var obj_attr = this.head_styledef.form.model; // console.log(obj_attr); var input_param = Base64.encode( JSON.stringify( - Object.keys(obj_attr).map((a) => ({ + Object.keys(head_attr).map((a) => ({ attr: a, - value: obj_attr[a] || "", + value: head_attr[a] || "", })) ) ); var $this = this; const jsonList = [] - jsonList.push({page_name:$this.param.Sub_Page[0].Name,item_list:[]}) - jsonList.push({page_name:$this.param.Sub_Page[1].Name,item_list:[]}) - jsonList[0].item_list= $this.getDetailAttrList($this.detail1StyleDefList,$this.param.Sub_Page[0].Select_Button) - jsonList[1].item_list= $this.getDetailAttrList($this.detail2StyleDefList,$this.param.Sub_Page[1].Select_Button) + const itemlist1= $this.getDetailAttrList($this.detail1StyleDefList,$this.param.Sub_Page[0].Select_Button) + const itemlist2= $this.getDetailAttrList($this.detail2StyleDefList,$this.param.Sub_Page[1].Select_Button) + + jsonList.push({page_name:$this.param.Sub_Page[0].Name,item_list:itemlist1,ext_data:$this.detail1ExtData}) + jsonList.push({page_name:$this.param.Sub_Page[1].Name,item_list:itemlist2,ext_data:$this.detail2ExtData}) + const data_json = Base64.encode( JSON.stringify(jsonList) ); @@ -783,7 +800,7 @@ user_login: '', data_json: data_json, compose_info: '', - ext_info: '', + ext_info: "", global_attr: '', input_param: input_param, }; @@ -858,51 +875,29 @@ } }); } - else if(item.action_type == "set_subtable_page_row"){ - // value = {"page_name":"鐮佺洏涓�, "row":[{"id":"xx"}]} + else if (item.action_type == "set_subtable_page_row") { + $this.viewActionSetRow( item.value) + + } else if (item.action_type == "set_subtable_page_ext_data") { var value = item.value; - var detailStyleDefList = [] - if(value.page_name == $this.$data.param.Sub_Page[1].Name) - { - detailStyleDefList = $this.$data.detail2StyleDefList + if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + $this.setData({detail1ExtData:value.ext_data}) + } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) { + $this.setData({detail2ExtData:value.ext_data}) } - else if(value.page_name == $this.$data.param.Sub_Page[0].Name) - { - detailStyleDefList =$this.$data.detail1StyleDefList + } + else if (item.action_type == "clear_subpage_rows") { + var value = item.value; + if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + $this.setData({detail1StyleDefList:[],detail1ExtData:{}}) + } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) { + $this.setData({detail2StyleDefList:[],detail2ExtData:{}}) } - detailStyleDefList.forEach(ele=>{ - value.row.forEach((rowData) => { - if(ele.form.objId == rowData.id){ - rowData.attrs.forEach(attr=>{ - ele.form.items.forEach(ele2=>{ - if(ele2.name!='Layout'){ - if(ele2.fieldId == attr.attr){ - ele2.value =$this.operationNumber(ele2.value,attr.value,attr.operation) - } - } else if(ele2.name=='Layout'){ - ele2.setting.colList.forEach(col=>{ - if(col) - { - if(col.fieldId == attr.attr) - { - col.value =$this.operationNumber(col.value,attr.value,attr.operation) - } - } - }) - } - }); - }); - } - }) - }); - if(value.page_name == $this.$data.param.Sub_Page[1].Name) - { - $this.setData({detail2StyleDefList:detailStyleDefList}) - } - else if(value.page_name == $this.$data.param.Sub_Page[0].Name) - { - $this.setData({detail1StyleDefList:detailStyleDefList}) - } + } + else if (item.action_type == "set_dlg_current_edit_attr") { + if($this.focusFieldId == item.value) + $this.setData({focusFieldId: ""}) + $this.setData({focusFieldId:item.value}) } else if(item.action_type == "set_dlg_attr"){ // value = {"attr":"xxx", "value":"xxx"} @@ -939,27 +934,81 @@ } }, operationNumber(value1, value2,operation){ + var number1 = 0 + var number2 =0 + if(value1) + number1 = parseInt(value1) + if(value2) + number2 = parseInt(value2) if(operation == "+") { - return value1 + value2 + return number1 + number2 } else if(operation == "-") { - return value1 - value2 + return number1 - number2 } else if(operation == "*") { - return value1 * value2 + return number1 * number2 } else if(operation == "/") { - if(value2) - return value1 / value2 + if(number2) + return number1 / number2 else - return value1 + return number1 } - else return value2 + else return number2 }, + //鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭 + viewActionSetRow(value) { + const $this = this + var detailStyleDefList = [] + if(value.page_name == $this.$data.param.Sub_Page[1].Name) + { + detailStyleDefList = $this.$data.detail2StyleDefList + } + else if(value.page_name == $this.$data.param.Sub_Page[0].Name) + { + detailStyleDefList =$this.$data.detail1StyleDefList + } + detailStyleDefList.forEach(ele=>{ + value.row.forEach((rowData) => { + if(ele.form.objId == rowData.id){ + rowData.attrs.forEach(attr=>{ + ele.form.items.forEach(ele2=>{ + if(ele2.name!='Layout'){ + if(ele2.fieldId == attr.attr){ + ele2.value =$this.operationNumber(ele2.value,attr.value,attr.operation) + } + } else if(ele2.name=='Layout'){ + ele2.setting.colList.forEach(col=>{ + if(col) + { + if(col.fieldId == attr.attr) + { + col.value =$this.operationNumber(col.value,attr.value,attr.operation) + } + } + }) + } + }); + }); + } + }) + }); + if(value.page_name == $this.$data.param.Sub_Page[1].Name) + { + $this.setData({detail2StyleDefList:detailStyleDefList}) + } + else if(value.page_name == $this.$data.param.Sub_Page[0].Name) + { + $this.setData({detail1StyleDefList:detailStyleDefList}) + } + + }, + //鍔犺浇姝e湪鍒嗘嫞鍐呭 viewAceionRow(data,type){ // console.log(data); @@ -1011,6 +1060,13 @@ //鍔犺浇宸插垎鎷e唴瀹� viewAceionContent(data){ var $this = this; + + if (data.page_name == $this.$data.param.Sub_Page[0].Name) { + $this.detail1ExtData = data.ext_data || {} + } + else if (data.page_name == $this.$data.param.Sub_Page[1].Name) { + $this.detail2ExtData = data.ext_data || {} + } if(JSON.stringify(data.content) =='{}'){ return; } @@ -1227,15 +1283,17 @@ var jsonlist=[]; detailAttrList.forEach(attr=>{ jsonlist.push({ - id:'', + id:attr["id"]|| "", attrs: Object.keys(attr).map((a) => ({ attr: a, value: attr[a] || "", - })) + })).filter((a)=>{return a.attr != "id"}) }); }); // console.log(jsonlist); - $this.runCustomEvent(event,input_param,jsonlist,'1'); + const list = [] + list.push({page_name:$this.param.Sub_Page[0].Name,item_list:jsonlist,ext_data:$this.detail1ExtData}) + $this.runCustomEvent(event,input_param,list,'1'); // jsonlist.forEach(async (json,key)=>{ // await $this.runCustomEvent(event,input_param,json,'1'); // }); @@ -1314,15 +1372,18 @@ var jsonlist=[]; detailAttrList.forEach(attr=>{ jsonlist.push({ - id:'', + id:attr["id"]|| "", attrs: Object.keys(attr).map((a) => ({ attr: a, value: attr[a] || "", - })) + })).filter((a)=>{return a.attr != "id"}) }); }); + const list = [] + list.push({page_name:$this.param.Sub_Page[1].Name,item_list:jsonlist,ext_data:$this.detail2ExtData}) + // console.log(jsonlist); - $this.runCustomEvent(event,input_param,jsonlist,'2'); + $this.runCustomEvent(event,input_param,list,'2'); // jsonlist.forEach(async (json,key)=>{ // await $this.runCustomEvent(event,input_param,json,'2'); // }); @@ -1383,12 +1444,12 @@ } }); //娓呴櫎寰呭垎鎷d腑鎴愬姛鐨勬暟鎹�- $this.$data.detail1StyleDefList.forEach((style,index)=>{ - if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){ - $this.$data.detail1StyleDefList.splice(index,1); - return; - } - }); + // $this.$data.detail1StyleDefList.forEach((style,index)=>{ + // if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){ + // $this.$data.detail1StyleDefList.splice(index,1); + // return; + // } + // }); // this.detail2StyleDefList=[]; uni.showModal({title:"鎻愮ず",content:"鍒嗘嫞鎴愬姛",showCancel:false,confirmText:"鍙栨秷"}); } else if(item.action_type == "set_subtable_page_content"){ //鍔犺浇澶氭潯鏁版嵁 @@ -1423,7 +1484,32 @@ }); }); } - } else if(item.action_type == "refresh"){ //鍒锋柊 + } + else if (item.action_type == "set_subtable_page_row") { + $this.viewActionSetRow( item.value) + + } else if (item.action_type == "set_subtable_page_ext_data") { + var value = item.value; + if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + $this.setData({detail1ExtData:value.ext_data}) + } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) { + $this.setData({detail2ExtData:value.ext_data}) + } + } + else if (item.action_type == "clear_subpage_rows") { + var value = item.value; + if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + $this.setData({detail1StyleDefList:[],detail1ExtData:{}}) + } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) { + $this.setData({detail2StyleDefList:[],detail2ExtData:{}}) + } + } + else if (item.action_type == "set_dlg_current_edit_attr") { + if($this.focusFieldId == item.value) + $this.setData({focusFieldId: ""}) + $this.setData({focusFieldId:item.value}) + } + else if(item.action_type == "refresh"){ //鍒锋柊 var value = item.value; //娓呴櫎寰呭垎鎷f垚鍔熺殑鏁版嵁 // value.forEach((val_id,key)=>{ -- Gitblit v1.9.1