From 36e6d0a63a9760d75f6cdc47e867f12b77f63934 Mon Sep 17 00:00:00 2001
From: cyy <cuiqian2004@163.com>
Date: 星期五, 14 六月 2024 22:53:46 +0800
Subject: [PATCH] 5600 action ext_data

---
 pages/modal/5602.vue |  186 ++++++++++++++++++++++++++++++----------------
 1 files changed, 122 insertions(+), 64 deletions(-)

diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue
index a79daba..02975f3 100644
--- a/pages/modal/5602.vue
+++ b/pages/modal/5602.vue
@@ -418,7 +418,9 @@
       detail1_styledef:{},
       detail1StyleDefList:[],
       detail2_styledef:{},
-      detail2StyleDefList:[],
+      detail2StyleDefList:[],//鍒嗛〉鏁版嵁
+	  detail1ExtData: {},
+	  detail2ExtData: {}, //鍒嗛〉鎵╁睍鏁版嵁
 	  // 鍒嗘鍣ㄦ暟鎹� 	  current: 0,
 	  Before_OK_Event:{},
@@ -734,11 +736,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;
@@ -761,10 +763,12 @@
 	          );
 			  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 +787,7 @@
 				user_login: '',
 				data_json: data_json,
 				compose_info: '',
-				ext_info: '',
+				ext_info: "",
 				global_attr: '',
 	            input_param: input_param,
 	          };
@@ -858,50 +862,23 @@
 									  }
 									});
 								}
-								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
-									}
-									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 == "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_attr"){
@@ -939,27 +916,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 +1042,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;
 		}
@@ -1383,12 +1421,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 +1461,27 @@
 								  });
 								});
 							}
-						  } 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 == "refresh"){  //鍒锋柊
 						    var value = item.value;
 							//娓呴櫎寰呭垎鎷f垚鍔熺殑鏁版嵁
 							// value.forEach((val_id,key)=>{

--
Gitblit v1.9.1