From a2f5317f01290597eb44aaf80aa535ff468a61c5 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期四, 05 六月 2025 17:10:46 +0800
Subject: [PATCH] 3202 set_subtable_page_content

---
 locale/es.json           |    1 
 pages/modal/3202.vue     |  111 +++++++++++++++++-
 pages/modal/3200.vue     |  221 +++++++++++++++++++++++++++++++-----
 locale/zh-Hans.json      |    3 
 locale/en.json           |    1 
 pages/login/language.vue |    2 
 locale/zh-Hant.json      |    3 
 7 files changed, 301 insertions(+), 41 deletions(-)

diff --git a/locale/en.json b/locale/en.json
index 8770792..c2b8b72 100644
--- a/locale/en.json
+++ b/locale/en.json
@@ -117,6 +117,7 @@
 	"page.are_you_sure_clear_last": "Continuing the operation will clear them. Do you want to continue?",
 	"page.tip_no_data_first": "There is no data in",
 	"page.tip_no_data_last": "!",
+	"page.are_you_sure_clear_data": "There is already data in the list. Continuing the operation will clear it. Do you want to continue?",
 	"page.execute_event_success": "Successfully executed event",
 	"page.are_you_sure_delete_sorted_data": "Are you sure to delete the sorted data?",
 	"page.are_you_sure_delete_coded_disk_data": "Are you sure to delete the encoded disk data?锛�,
diff --git a/locale/es.json b/locale/es.json
index 84858fb..dbc4467 100644
--- a/locale/es.json
+++ b/locale/es.json
@@ -116,6 +116,7 @@
 	"page.are_you_sure_clear_last": ". continuar la operaci贸n se vaciar谩, 驴 continuar?",
 	"page.tip_no_data_first": "隆隆 no hay datos en",
 	"page.tip_no_data_last": "!",
+	"page.are_you_sure_clear_data": "驴Ya hay datos en la lista, continuar la operaci贸n se vaciar谩, 驴 continuar?",
 	"page.execute_event_success": "El evento de ejecuci贸n fue exitoso",
 	"page.are_you_sure_delete_sorted_data": "驴驴 est谩s seguro de eliminar los datos clasificados?",
 	"page.are_you_sure_delete_coded_disk_data": "驴驴 est谩s seguro de eliminar los datos del disco codificado?",
diff --git a/locale/zh-Hans.json b/locale/zh-Hans.json
index 0737703..e9b9258 100644
--- a/locale/zh-Hans.json
+++ b/locale/zh-Hans.json
@@ -119,6 +119,9 @@
 	"page.are_you_sure_clear_last": "涓殑璐у搧锛岀户缁搷浣滀細娓呯┖锛屾槸鍚︾户缁�,
 	"page.tip_no_data_first": "",
 	"page.tip_no_data_last": "娌℃湁鏁版嵁锛�,
+	
+	"page.are_you_sure_clear_data": "鍒楄〃涓凡鏈夋暟鎹紝缁х画鎿嶄綔浼氭竻绌猴紝鏄惁缁х画锛�,
+	
 
 	"page.execute_event_success": "鎵ц浜嬩欢鎴愬姛",
 	"page.are_you_sure_delete_sorted_data": "纭畾鍒犻櫎璇ュ凡鍒嗘嫞鏁版嵁锛�,
diff --git a/locale/zh-Hant.json b/locale/zh-Hant.json
index 815dd1d..67b33c3 100644
--- a/locale/zh-Hant.json
+++ b/locale/zh-Hant.json
@@ -114,8 +114,11 @@
 	"page.tip_no_master_class": "鏈ō瀹氫富鏁告摎椤�,
 	"page.are_you_sure_clear_first": "绯荤当妾㈡脯鍒版湁",
 	"page.are_you_sure_clear_last": "涓殑璨ㄥ搧锛岀辜绾屾搷浣滄渻娓呯┖锛屾槸鍚︾辜绾岋紵",
+
+
 	"page.tip_no_data_first": "",
 	"page.tip_no_data_last": "涓矑鏈夋暩鎿氾紒",
+	"page.are_you_sure_clear_data": "娓呭柈涓凡鏈夋暩鎿氾紝绻肩簩鎿嶄綔鏈冩竻绌猴紝鏄惁绻肩簩锛�,
 	"page.execute_event_success": "鍩疯浜嬩欢鎴愬姛锛�,
 	"page.are_you_sure_delete_sorted_data": "纰哄畾鍒犻櫎瑭插凡鍒嗘弨鏁告摎锛�,
 	"page.are_you_sure_delete_coded_disk_data": "纰哄畾鍒犻櫎瑭插凡纰肩洡鏁告摎锛�,
diff --git a/pages/login/language.vue b/pages/login/language.vue
index 6052aec..ff3da5f 100644
--- a/pages/login/language.vue
+++ b/pages/login/language.vue
@@ -11,7 +11,7 @@
 	export default {
 		data() {
 			return {
-				largeMode: getApp().globalData.largeMode|| false,
+				largeMode: getApp().globalData.largeMode || false,
 				langList: [{
 						value: "zh-Hans",
 						name: "涓枃绠�綋"
diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index cea6edd..f5ffc6b 100644
--- a/pages/modal/3200.vue
+++ b/pages/modal/3200.vue
@@ -108,7 +108,7 @@
 		},
 		data() {
 			return {
-					largeMode: getApp().globalData.largeMode || false,
+				largeMode: getApp().globalData.largeMode || false,
 				title: this.translateSys('add2'),
 				isFilter: true,
 				param: {},
@@ -1382,38 +1382,43 @@
 										'close')
 								});
 
-								if (result.result_type == 0 && result
-									.action) {
-									result.action.forEach(item => {
-										if (item.action_type ==
-											"set_dlg_attr") {
-											// value = {"attr":"xxx", "value":"xxx"}
-											var data = item.value;
-											$this.$data
-												.head_styledef.form
-												.items
-												.forEach(
-													async (
-														ele,
-														index
-													) => {
-														data.forEach(
-															async (ele2,
-																index
-															) => {
-																if (ele
-																	.fieldId ==
-																	ele2
-																	.attr
-																) {
-																	ele.value =
-																		ele2
-																		.value;
-																}
-															});
-													});
+								if (result.result_type == 0 && result.action) {
+									var actionlist = result.action;
+									for (var j = 0; j < actionlist.length; j++) {
+										var action = actionlist[j];
+										var action_type = action.action_type;
+										var value = action.value;
+										if (action_type == "set_dlg_attr") {
+											if (value) {
+												this.setFormValues(value)
+											}
+										} else if (action_type == "set_subtable_page_content") {
+											if (value.clear_confirm != false && value.clear == true &&
+												$this.detail1StyleDefList.length > 0
+											) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+												uni.showModal({
+													title: this.translateSys('tip'),
+													content: this.translate("are_you_sure_clear_data"),
+													cancelText: $this.translateSys('ok'),
+													confirmText: $this.translateSys('cancel'),
+													success: function(res) {
+														if (res.cancel) {
+															$this.detail1StyleDefList = [];
+															$this.viewAceionContent(value);
+														} else if (res.confirm) {
+															$this.detail1StyleDefList = [];
+															$this.viewAceionContent(value);
+														}
+													}
+												});
+											} else {
+												$this.detail1StyleDefList = [];
+												$this.viewAceionContent(value);
+											}
 										}
-									});
+									}
+
+									// value = {"attr":"xxx", "value":"xxx"}
 								} else {
 									if (result.info) {
 										uni.showModal({
@@ -1459,6 +1464,158 @@
 
 				}
 			},
+			setFormValues(attrs) {
+				const head_styledef = this.head_styledef
+				if (JSON.stringify(attrs) == '{}') {
+					return;
+				}
+				attrs.forEach(async (attr, key) => {
+					if (attr.choice_list) {
+						var dictItemList = [];
+						attr.choice_list.forEach(async (val, index) => {
+							dictItemList.push({
+								text: val,
+								value: val
+							});
+						});
+						head_styledef.form.items.forEach(async (attr_item, index) => {
+							if (attr_item.name != "Layout") {
+								if (attr_item.fieldId == attr.attr) {
+									if (attr_item.useDict) {
+										attr_item.dict = dictItemList;
+									} else {
+										attr_item.selections = dictItemList;
+									}
+								}
+							} else if (attr_item.name == "Layout") {
+								attr_item.setting.colList.forEach((col) => {
+									if (col) {
+										if (col.fieldId == attr.attr) {
+											if (col.useDict) {
+												col.dict = dictItemList;
+											} else {
+												col.selections = dictItemList;
+											}
+										}
+									}
+								});
+							}
+						});
+					}
+					if (!head_styledef.form.model[attr.attr]) {
+						head_styledef.form.model[attr.attr] = attr.value;
+					}
+					head_styledef.form.items.forEach(async (ele) => {
+						if (ele.name != "Layout") {
+							if (ele.fieldId == attr.attr) {
+								ele.value = attr.value;
+								ele.oldvalue = attr.value;
+								if (ele.name == "Input") {
+									if (attr.prompt) ele.placeholder = attr.prompt;
+								}
+								if (attr.enable !== undefined) {
+									if (attr.enable) ele.disabled = false;
+									else ele.disabled = true;
+								}
+							}
+						} else if (ele.name == "Layout") {
+							ele.setting.colList.forEach((col) => {
+								if (col) {
+									if (col.fieldId == attr.attr) {
+										col.value = attr.value;
+										col.oldvalue = attr.value;
+										if (col.name == "Input") {
+											if (attr.prompt) col.placeholder = attr.prompt;
+										}
+										if (attr.enable !== undefined) {
+											if (attr.enable) col.disabled = false;
+											else col.disabled = true;
+										}
+									}
+								}
+							});
+						}
+
+					})
+					//鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+				})
+				console.log(head_styledef)
+				this.setData({
+					head_styledef: head_styledef
+				})
+			},
+			//鍔犺浇宸茬爜鐩樺唴瀹�+			viewAceionContent(data) {
+				var $this = this;
+				if (JSON.stringify(data.content) == '{}') {
+					return;
+				}
+				var styleStr = JSON.stringify($this.detail1_styledef);
+				var detailStyle = JSON.parse(styleStr);
+				if (detailStyle.form) {
+					data.content.forEach(cont => {
+						detailStyle = JSON.parse(styleStr);
+						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') {
+									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;
+											}
+										});
+								}
+							});
+						});
+						//濡傛灉 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); //寰呭垎鎷�+						}
+					});
+				}
+
+			},
+
 			onDetail1EnterChange() {},
 			//鐐逛腑琛ㄥ崟
 			onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず
diff --git a/pages/modal/3202.vue b/pages/modal/3202.vue
index c88597c..0e52c24 100644
--- a/pages/modal/3202.vue
+++ b/pages/modal/3202.vue
@@ -51,7 +51,7 @@
 		},
 		data() {
 			return {
-					largeMode: getApp().globalData.largeMode || false,
+				largeMode: getApp().globalData.largeMode || false,
 				title: this.translateSys('add2'),
 				isFilter: true,
 				param: {},
@@ -741,19 +741,43 @@
 								});
 
 								if (result.result_type == 0 && result.action) {
-									result.action.forEach(item => {
-										if (item.action_type ==
-											"set_query_condition") {
-											var value = item.value;
+									for (var j = 0; j < actionlist.length; j++) {
+										var action = actionlist[j];
+										var action_type = action.action_type;
+										var value = action.value;
+										if (action_type == "set_query_condition") {
 											$this.wheres = value.condition;
-											$this.orderby = value.order ? value.order :
-												""
+											$this.orderby = value.order ? value.order : ""
 											$this.pageindex = 1;
 											$this.query_id = "";
 											$this.detail1StyleDefList = [];
 											$this.loadDataGetList();
+										} else if (action_type == "set_subtable_page_content") {
+											if (value.clear_confirm != false && value.clear == true &&
+												$this.detail1StyleDefList.length > 0
+											) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+												uni.showModal({
+													title: this.translateSys('tip'),
+													content: this.translate("are_you_sure_clear_data"),
+													cancelText: $this.translateSys('ok'),
+													confirmText: $this.translateSys('cancel'),
+													success: function(res) {
+														if (res.cancel) {
+															$this.detail1StyleDefList = [];
+															$this.viewAceionContent(value);
+														} else if (res.confirm) {
+															$this.detail1StyleDefList = [];
+															$this.viewAceionContent(value);
+														}
+													}
+												});
+											} else {
+												$this.detail1StyleDefList = [];
+												$this.viewAceionContent(value);
+											}
 										}
-									})
+									}
+
 								} else {
 									if (result.info) {
 										uni.showModal({
@@ -889,6 +913,77 @@
 					head_styledef: head_styledef
 				})
 			},
+			//鍔犺浇宸茬爜鐩樺唴瀹�+			viewAceionContent(data) {
+				var $this = this;
+				if (JSON.stringify(data.content) == '{}') {
+					return;
+				}
+				var styleStr = JSON.stringify($this.detail1_styledef);
+				var detailStyle = JSON.parse(styleStr);
+				if (detailStyle.form) {
+					data.content.forEach(cont => {
+						detailStyle = JSON.parse(styleStr);
+						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') {
+									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;
+											}
+										});
+								}
+							});
+						});
+						//濡傛灉 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); //寰呭垎鎷�+						}
+					});
+				}
+
+			},
 			//鐐逛腑琛ㄥ崟
 			onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず
 				// console.log(value);

--
Gitblit v1.9.1