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/5600.vue |  245 +++++++++++++++++++++++++-----------------------
 1 files changed, 129 insertions(+), 116 deletions(-)

diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue
index 6200ef4..f397786 100644
--- a/pages/modal/5600.vue
+++ b/pages/modal/5600.vue
@@ -487,7 +487,9 @@
 				detail1_styledef: {},
 				detail1StyleDefList: [],
 				detail2_styledef: {},
-				detail2StyleDefList: [],
+				detail2StyleDefList: [], //鍒嗛〉鏁版嵁
+				detail1ExtData: {},
+				detail2ExtData: {}, //鍒嗛〉鎵╁睍鏁版嵁
 				// 鍒嗘鍣ㄦ暟鎹� 				current: 0,
 				Before_OK_Event: {},
@@ -864,11 +866,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;
@@ -890,18 +892,11 @@
 						);
 						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)
 						);
@@ -1026,98 +1021,26 @@
 															.exec();
 													}
 												});
-											} 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
-												} else if (value.page_name == $this.$data.param
-													.Sub_Page[0].Name) {
-													detailStyleDefList = $this.$data
-														.detail1StyleDefList
+												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})
 												}
-												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") {
+											}
+											else if (item.action_type == "set_dlg_attr") {
 												// value = {"attr":"xxx", "value":"xxx"}
 												var data = item.value;
 												$this.$data.head_styledef.form.items.forEach(async (
@@ -1174,19 +1097,81 @@
 
 				}
 			},
-			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
+			operationNumber(value1, value2,operation){
+				var number1 = 0
+				var number2 =0
+				if(value1)
+					number1 =  parseInt(value1)
+				if(value2)	
+					number2 =  parseInt(value2)
+				if(operation == "+")
+				{
+					return number1 + number2
+				}
+				else if(operation == "-")
+				{
+					return number1 - number2
+				}
+				else if(operation == "*")
+				{
+					return number1 * number2
+				}
+				else if(operation == "/")
+				{
+					if(number2)
+						return number1 / number2
 					else
-						return value1
-				} else return value2
+						return number1 
+				}
+				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) {
@@ -1243,6 +1228,12 @@
 			//鍔犺浇宸茬爜鐩樺唴瀹� 			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;
 				}
@@ -1336,6 +1327,9 @@
 						// console.log($this.$data.detail2StyleDefList);
 					}
 				});
+			
+			
+
 			},
 			onClickItem(e) { //閫夋嫨椤电
 				// console.log(e);
@@ -1693,6 +1687,25 @@
 											// });
 											// uni.showModal({title:"绯荤粺鎻愮ず",content:value,showCancel:false,confirmText:"鍏抽棴"});
 										}
+										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 ($this.$data.After_OK_Event.ID != event.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢

--
Gitblit v1.9.1