From c380a8d6e114ff623832d2b34fca52b10537a1d0 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 14 六月 2024 17:03:22 +0800 Subject: [PATCH] 5600 onchange run +json --- pages/modal/5602.vue | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 153 insertions(+), 2 deletions(-) diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue index 639ab96..a79daba 100644 --- a/pages/modal/5602.vue +++ b/pages/modal/5602.vue @@ -244,7 +244,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> @@ -454,6 +454,28 @@ // 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={ @@ -670,10 +692,63 @@ // } } }, + getDetailAttrList(list,selectButton) + { + const detailAttrList = []; + list.forEach(style=>{ + var detail_attr={}; + style.form.items.forEach(item => { + if(item.name == "Layout"){ //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(cols => { + if(cols!=null) detail_attr[cols.fieldId] = cols.value; + }); + }else + detail_attr[item.fieldId] = item.value; + }); + + detail_attr['id'] = style.form.objId; + if(selectButton==true){ //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue + if(style.SelBut_Checked==true) + detailAttrList.push(detail_attr); + } else + detailAttrList.push(detail_attr); + }); + // console.log(detailAttrList); + list.forEach(style=>{ + style.form.attrs.forEach(attr => { + for(var key in detailAttrList){ + if(style.form.objId == detailAttrList[key]['id']){ + var keys = Object.keys(detailAttrList[key]); + var isflag = true; + keys.forEach((ele) => { + if(ele == attr.attr) isflag = false; + }); + if(isflag) { + detailAttrList[attr.attr] = attr.value; + } + } + } + }); + }); + + const jsonlist=[]; + detailAttrList.forEach(attr=>{ + jsonlist.push({ + id:'', + attrs: Object.keys(attr).map((a) => ({ + attr: a, + value: attr[a] || "", + })) + }); + }); + return jsonlist; + }, + // 鍐呭鍙樺寲鍚庝簨浠� async onChange(event) { try { if (event.id) { + var obj_attr = this.head_styledef.form.model; // console.log(obj_attr); var input_param = Base64.encode( @@ -685,6 +760,14 @@ ) ); 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 data_json = Base64.encode( + JSON.stringify(jsonList) + ); var dataInfo={ ed_type: 0, start_transaction: '', @@ -698,7 +781,7 @@ ref_cls_id: '', rel_obj_id: '', user_login: '', - data_json: '', + data_json: data_json, compose_info: '', ext_info: '', global_attr: '', @@ -775,6 +858,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; @@ -809,6 +938,28 @@ } }, + 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); -- Gitblit v1.9.1