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 |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 104 insertions(+), 13 deletions(-)

diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue
index f41f636..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,6 +955,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);
@@ -1161,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;
@@ -1246,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){
@@ -1305,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