From 88606524ac78768c49d1a277808e580dc7fdbd05 Mon Sep 17 00:00:00 2001 From: cyy <cuiqian2004@163.com> Date: 星期四, 13 六月 2024 21:38:01 +0800 Subject: [PATCH] set_subtable_page_row --- pages/modal/5600.vue | 258 ++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 202 insertions(+), 56 deletions(-) diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue index 6953607..ed657c2 100644 --- a/pages/modal/5600.vue +++ b/pages/modal/5600.vue @@ -267,7 +267,7 @@ :class="item.disabled?'input-disabled':''" v-model="item.value" :localdata="item.dict" - @change="onChange(item)" + @change="onEnterChange(item)" :disabled="item.disabled" :clear="false" ></uni-data-select> @@ -515,6 +515,27 @@ // this.focusMateria=true; }, 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 Head_UIStyleGetInfo(class_id,style_id){ //鑾峰彇鑷畾涔夎〃鍗曟牱寮� var $this = this; var dataInfo={ @@ -854,6 +875,52 @@ } }); } + else if(item.action_type == "set_subtable_page_row"){ // value = {"page_name":"鐮佺洏涓�, "row":[{"id":"xx"}]} + var value = item.value; + 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}) + } + } else if(item.action_type == "set_dlg_attr"){ // value = {"attr":"xxx", "value":"xxx"} var data = item.value; @@ -888,53 +955,82 @@ } }, + operationNumber(value1, value2,operation){ + if(operation == "+") + { + return value1 + value2 + } + else if(operation == "-") + { + return value1 - value2 + } + else if(operation == "*") + { + return value1 * value2 + } + else if(operation == "/") + { + if(value2) + return value1 / value2 + else + return value1 + } + else return value2 + }, //鍔犺浇姝e湪鐮佺洏鍐呭 viewAceionRow(data,type){ // console.log(data); - var styleStr = JSON.stringify(this.$data.detail1_styledef); - if(type){ //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鐮佺洏鏁版嵁 - styleStr = JSON.stringify(this.$data.detail2_styledef); - }else{ - if(data.page_name == this.$data.param.Sub_Page[1].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞 - styleStr = JSON.stringify(this.$data.detail2_styledef); //寰呭垎鎷�- } - } - var detailStyle = JSON.parse(styleStr); - data.row.attrs.forEach(attr=>{ - detailStyle.form.items.forEach(ele=>{ - if(ele.name!='Layout'){ - if(ele.fieldId == attr.attr) ele.value = attr.value; - } else if(ele.name=='Layout'){ - ele.setting.colList.forEach(col=>{ - if(col){ - if(col.fieldId == attr.attr) col.value = attr.value; - } - }); - } - }); + if(JSON.stringify(data.row) =='{}'){ + return; + } + data.row.forEach(row=>{ + var styleStr = JSON.stringify(this.$data.detail1_styledef); + if(type){ //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁 + styleStr = JSON.stringify(this.$data.detail2_styledef); + }else{ + if(data.page_name == this.$data.param.Sub_Page[1].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞 + styleStr = JSON.stringify(this.$data.detail2_styledef); //寰呭垎鎷�+ } + } + var detailStyle = JSON.parse(styleStr); + detailStyle.form.objId = row.id; + detailStyle.form.htmlobjId = row.id?row.id.replace(/-/g,'').replace('{','').replace('}',''):'null'; + detailStyle.form.attrs = row.attrs; + row.attrs.forEach(attr=>{ + detailStyle.form.items.forEach(ele=>{ + if(ele.name!='Layout'){ + if(ele.fieldId == attr.attr) ele.value = attr.value; + } else if(ele.name=='Layout'){ + ele.setting.colList.forEach(col=>{ + if(col){ + if(col.fieldId == attr.attr) col.value = attr.value; + } + }); + } + }); + }); + + if(type){ //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁 + this.$data.detail2StyleDefList.push(detailStyle); + // console.log(this.$data.detail2StyleDefList); + }else{ + if(data.page_name == this.$data.param.Sub_Page[1].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞 + this.$data.detail2StyleDefList.push(detailStyle); + // console.log(this.$data.detail2StyleDefList); + }else{ + this.$data.detail1StyleDefList.push(detailStyle); + this.activelist.push({active:false}); + // console.log(this.$data.detail1StyleDefList); + } + } }); - if(type){ //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鐮佺洏鏁版嵁 - detailStyle.form.objId = data.row.id; - this.$data.detail2StyleDefList.push(detailStyle); - // console.log(this.$data.detail2StyleDefList); - }else{ - if(data.page_name == this.$data.param.Sub_Page[1].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞 - detailStyle.form.objId = data.row.id; - this.$data.detail2StyleDefList.push(detailStyle); - // console.log(this.$data.detail2StyleDefList); - }else{ - detailStyle.form.htmlobjId = data.row.id?data.row.id.replace(/-/g,'').replace('{','').replace('}',''):'null'; - detailStyle.form.objId = data.row.id; - detailStyle.form.attrs = data.row.attrs; - this.$data.detail1StyleDefList.push(detailStyle); - this.activelist.push({active:false}); - // console.log(this.$data.detail1StyleDefList); - } - } }, //鍔犺浇宸茬爜鐩樺唴瀹� viewAceionContent(data){ var $this = this; + if(JSON.stringify(data.content) =='{}'){ + return; + } data.content.forEach(cont=>{ var styleStr = JSON.stringify($this.$data.detail2_styledef); if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄爜鐩樹腑 @@ -944,6 +1040,7 @@ detailStyle.SelBut_Checked = data.checkbox??true; detailStyle.form.objId = cont.id; detailStyle.form.htmlobjId = cont.id?cont.id.replace(/-/g,'').replace('{','').replace('}',''):'null'; + detailStyle.form.attrs = cont.attrs; cont.attrs.forEach(attr=>{ detailStyle.form.items.forEach(ele=>{ if(ele.name!='Layout'){ @@ -957,13 +1054,60 @@ } }); }); - detailStyle.form.attrs = cont.attrs; - if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄爜鐩樹腑 - $this.$data.detail1StyleDefList.push(detailStyle); //鐮佺洏涓�+ if(data.page_name == $this.$data.param.Sub_Page[0].Name){ //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+ if(data.clear == false){ + var isflag = true; + $this.detail1StyleDefList.forEach((style,index)=>{ + if(style.form.objId == detailStyle.form.objId){ + cont.attrs.forEach(attr=>{ + style.form.items.forEach(ele=>{ + if(ele.name!='Layout'){ + if(ele.fieldId == attr.attr) ele.value = attr.value; + } else if(ele.name=='Layout'){ + ele.setting.colList.forEach(col=>{ + if(col){ + if(col.fieldId == attr.attr) col.value = attr.value; + } + }); + } + }); + }); + isflag = false; + } + }); + if(isflag) $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+ }else{ + $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+ } $this.activelist.push({active:false}); // console.log($this.$data.detail1StyleDefList); }else{ - $this.$data.detail2StyleDefList.push(detailStyle); //宸茬爜鐩�+ if(data.clear == false){ + //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+ var isflag = true; + $this.detail2StyleDefList.forEach((style,index)=>{ + if(style.form.objId == detailStyle.form.objId){ + cont.attrs.forEach(attr=>{ + style.form.items.forEach(ele=>{ + if(ele.name!='Layout'){ + if(ele.fieldId == attr.attr) ele.value = attr.value; + } else if(ele.name=='Layout'){ + ele.setting.colList.forEach(col=>{ + if(col){ + if(col.fieldId == attr.attr) col.value = attr.value; + } + }); + } + }); + }); + isflag = false; + } + }); + if(isflag) $this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+ }else{ + $this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+ } // console.log($this.$data.detail2StyleDefList); } }); @@ -1106,9 +1250,10 @@ }); }); // console.log(jsonlist); - jsonlist.forEach(async (json,key)=>{ - await $this.runCustomEvent(event,input_param,json,'1'); - }); + $this.runCustomEvent(event,input_param,jsonlist,'1'); + // jsonlist.forEach(async (json,key)=>{ + // await $this.runCustomEvent(event,input_param,json,'1'); + // }); }, ok2(){ this.Before_OK_Event = this.param.Sub_Page[1].Before_ok; @@ -1191,9 +1336,10 @@ }); }); // console.log(jsonlist); - jsonlist.forEach(async (json,key)=>{ - await $this.runCustomEvent(event,input_param,json,'2'); - }); + $this.runCustomEvent(event,input_param,jsonlist,'2'); + // jsonlist.forEach(async (json,key)=>{ + // await $this.runCustomEvent(event,input_param,json,'2'); + // }); }, //鎵ц纭畾鑴氭湰 async runCustomEvent(event,input_param,json,type){ @@ -1250,12 +1396,12 @@ } }); //娓呴櫎姝e湪鐮佺洏涓垚鍔熺殑鏁版嵁 - $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 == "refresh"){ //鍒锋柊 -- Gitblit v1.9.1