From f9aa1010e164e21a3c8147e0f2e13b828676800a Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 29 八月 2025 18:38:55 +0800
Subject: [PATCH] initialEvent 输入参数格式和web端保持一致

---
 pages/modal/5601.vue |  317 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 307 insertions(+), 10 deletions(-)

diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index 2fe2da4..b429726 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -108,7 +108,7 @@
 				</view>
 			</uni-popup>
 		</view>
-		
+
 	</view>
 </template>
 
@@ -295,11 +295,309 @@
 			},
 			async loadInitialEvent() {
 				try {
-					if (this.initialEvent.id) {
-						this.onChange(this.initialEvent)
+					const event = this.initialEvent
+					if (event.id) {
+						//鑾峰彇琛ㄥご灞炴�
+						var head_attr = {};
+						this.head_styledef.form.items.forEach(item => {
+							if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+								item.setting.colList.forEach(col => {
+									if (col != null) head_attr[col
+										.fieldId] = col.value;
+								});
+							} else
+								head_attr[item.fieldId] = item.value;
+						});
+						var obj_attr = this.head_styledef.form.model;
+						// console.log(obj_attr);
+
+						var input_param = Base64.encode(
+							JSON.stringify({
+								id: "",
+								attrs: Object.keys(head_attr).map((a) => ({
+									attr: a,
+									value: head_attr[a] || "",
+								}))
+							})
+						);
+						var $this = this;
+						const jsonList = []
+						this.pageDetail.forEach((page) => {
+
+							jsonList.push({
+								page_name: page.Name,
+								item_list: $this.getDetailAttrList(
+									page),
+								ext_data: page.ExtData || {}
+							})
+
+						})
+						const data_json = Base64.encode(
+							JSON.stringify(jsonList)
+						);
+						console.log(jsonList)
+						var dataInfo = {
+							ed_type: 0,
+							start_transaction: true,
+							class_id: this.head_styledef.form.clsId,
+							class_name: '',
+							event_id: event.id,
+							event_name: '',
+							data_obj_id: '',
+							obj_attr: obj_attr,
+							prj_id: '',
+							ref_cls_id: '',
+							rel_obj_id: '',
+							user_login: '',
+							data_json: data_json,
+							compose_info: '',
+							ext_info: '',
+							global_attr: '',
+							input_param: input_param,
+						};
+						const result = await runCustomEvent(dataInfo)
+						console.log(result);
+						if (result.ret != 0 && result.ret != 1) {
+							let cls_name = result.event_info?.cls_name
+							let event_name = result.event_info?.event_name
+							tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result
+								.err_info
+								.join('\n') : ''
+							if (result.ret == 801) {
+								if (this.param.Only_Script_Error) {
+									let pos = tip.indexOf("锛�);
+									if (pos > -1) tip = tip.substring(pos + 1);
+								}
+							}
+							if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+							if (result.ret == 801) showInfo(tip)
+							else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys('tip'))
+							this.saving = false
+							return false
+						} else {
+							var tip = result.info ? typeof result.info == 'string' ? result.info :
+								result.info.join('\n') : '';
+							tip = tip || result.err_info
+							let time = result.info_time || 0
+							if (time)
+								showError(tip, this.translateSys('tip'))
+							else
+								showInfo(tip)
+							if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+								if (result.result_type == 2) {
+
+								} else if (typeof result.result == 'string') {
+									showInfo(result.result)
+
+								}
+								try {
+									let actionList = result.action || []
+									actionList.forEach(item => {
+										if (item.action_type ==
+											"insert_subtable_page_row"
+										) { //鐮佺洏涓�+											$this.param.Show_Welcom_Page =
+												false;
+											var value = item.value;
+											$this.viewAceionRow(value);
+										} else if (item.action_type ==
+											"set_subtable_page_content"
+										) { //宸茬爜鐩�+											$this.param.Show_Welcom_Page =
+												false;
+											var value = item.value;
+											const pageData = $this
+												.pageDetail.find((
+													page) => {
+													return value
+														.page_name ==
+														page.Name;
+												});
+											if (value.clear_confirm !=
+												false && value.clear ==
+												true &&
+												pageData && pageData
+												.DefList.length > 0
+											) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+												uni.showModal({
+													title: this
+														.translateSys(
+															'tip'),
+													content: this
+														.translate(
+															"are_you_sure_clear_first"
+														) +
+														this
+														.translateSys(
+															"quotation_mark_left"
+														) +
+														value
+														.page_name +
+														this
+														.translateSys(
+															"quotation_mark_right"
+														) +
+														this
+														.translate(
+															"are_you_sure_clear_last"
+														),
+													cancelText: $this
+														.translateSys(
+															'ok'),
+													confirmText: $this
+														.translateSys(
+															'cancel'
+														),
+													success: function(
+														res) {
+														if (res
+															.cancel
+														) {
+															if (
+																pageData)
+																pageData
+																.DefList = [];
+															$this
+																.viewAceionContent(
+																	value
+																);
+														} else if (
+															res
+															.confirm
+														) {
+															if (
+																pageData)
+																pageData
+																.DefList = [];
+															$this
+																.viewAceionContent(
+																	value
+																);
+														}
+													}
+												});
+											} else {
+												if (pageData)
+													pageData.DefList = [];
+												$this.viewAceionContent(
+													value);
+											}
+										} else if (item.action_type ==
+											"select_subtable_page") {
+											var value = item.value;
+											const pageIndex = $this
+												.pageDetail.findIndex((
+													page) => {
+													return value
+														.page_name ==
+														page.Name;
+												});
+											if (pageIndex > -1) {
+												$this.setData({
+													current: pageIndex
+												})
+											}
+										} else if (item.action_type ==
+											"select_subtable_page_row") {
+											// value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}}
+											var value = item.value;
+											$this.viewActionSelectRow(
+												value)
+										} else if (item.action_type ==
+											"remove_subtable_page_row"
+										) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+											var value = item.value;
+											$this.viewActionRemoveRow(
+												value)
+										} 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;
+											const pageData = $this
+												.pageDetail.find((
+													page) => {
+													return value
+														.page_name ==
+														page.Name;
+												});
+											if (pageData)
+												pageData.ExtData = value
+												.ext_data
+
+										} else if (item.action_type ==
+											"clear_subpage_rows") {
+											var value = item.value;
+											const pageIndex = $this
+												.pageDetail.findIndex((
+													page) => {
+													return value
+														.page_name ==
+														page.Name;
+												});
+											if (pageIndex > -1) {
+												const pageData = $this
+													.pageDetail[pageIndex]
+												pageData.DefList = []
+												pageData.ExtData = {}
+
+												$this.$set(this.pageDetail,
+													pageIndex, pageData
+												)
+											}
+
+										} else if (item.action_type ==
+											"set_dlg_current_edit_attr") {
+
+											if ($this.focusOldFieldId ==
+												item.value) {
+												$this.setData({
+													focusFieldId: ""
+												})
+											} else {
+												$this.setData({
+													focusFieldId: $this
+														.focusOldFieldId
+												})
+											}
+											$this.$nextTick(() => {
+												$this.setData({
+													focusFieldId: item
+														.value
+												})
+											});
+										} else if (item.action_type ==
+											"set_dlg_attr") {
+											// value = {"attr":"xxx", "value":"xxx"}
+											var data = item.value;
+											$this.setFormValues(data)
+										} else if (item.action_type ==
+											'set_dlg_attr_show') {
+											var data = item.value;
+											$this.setFormItemVisible(data)
+										}
+									});
+
+								} catch (ex) {
+									let actionList = (result.action || []).map(a =>
+										a.action_type).join(';')
+									let tip = typeof ex == 'string' ? ex : ex
+										.message
+									tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+									showError(tip, this.translateSys('tip'))
+									return
+								}
+							}
+
+						}
+
 					}
 				} catch (ex) {
-					showError(ex, this.translateSys('error'))
+					console.log(ex);
+					showError(ex, this.translateSys('error') + "4.2")
 				}
 			},
 
@@ -860,7 +1158,7 @@
 						if (time)
 							showError(tip, this.translateSys('tip'))
 						else
-						showInfo(tip)
+							showInfo(tip)
 						if ([0, 2, 3, 4, -1].includes(result.result_type)) {
 							if (result.result_type == 2) {
 
@@ -1055,7 +1353,7 @@
 							if (time)
 								showError(tip, this.translateSys('tip'))
 							else
-							showInfo(tip)
+								showInfo(tip)
 							if ([0, 2, 3, 4, -1].includes(result.result_type)) {
 								if (result.result_type == 2) {
 
@@ -2400,7 +2698,7 @@
 						if (time)
 							showError(tip, this.translateSys('tip'))
 						else
-						showInfo(tip)
+							showInfo(tip)
 						if ([0, 2, 3, 4, -1].includes(data
 								.result_type)) {
 							if (data.result_type == 2) {
@@ -3525,7 +3823,7 @@
 						if (time)
 							showError(tip, this.translateSys('tip'))
 						else
-						showInfo(tip)
+							showInfo(tip)
 						if ([0, 2, 3, 4, -1].includes(
 								result.result_type)) {
 							if (result.result_type == 2) {
@@ -3861,8 +4159,7 @@
 											var data = item.value;
 											const eventChannel = this.getOpenerEventChannel();
 											eventChannel.emit('remove_pre_page_subtable_row', data);
-										}
-										else if (item.action_type == "goback_to_pre_page") {
+										} else if (item.action_type == "goback_to_pre_page") {
 											//杩斿洖涓婁竴椤� 											uni.navigateBack({
 												delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉

--
Gitblit v1.9.1