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/3202.vue |  282 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 204 insertions(+), 78 deletions(-)

diff --git a/pages/modal/3202.vue b/pages/modal/3202.vue
index e7f020e..7860655 100644
--- a/pages/modal/3202.vue
+++ b/pages/modal/3202.vue
@@ -181,12 +181,143 @@
 				await this.loadInitialEvent();
 			},
 			async loadInitialEvent() {
+
 				try {
-					if (this.initialEvent.id) {
-						this.onChange(this.initialEvent)
+					const event = this.initialEvent
+					if (event.id) {
+						var obj_attr = this.head_styledef.form.model;
+						console.log(obj_attr);
+						var input_param = Base64.encode(
+							JSON.stringify({
+								id: "",
+								attrs: Object.keys(obj_attr).map((a) => ({
+									attr: a,
+									value: obj_attr[a] || "",
+								}))
+							})
+						);
+						var $this = this;
+						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: '',
+							compose_info: '',
+							ext_info: '',
+							global_attr: '',
+							input_param: input_param,
+						};
+						runCustomEvent(dataInfo).then(result => {
+							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 {
+										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_query_condition") {
+												$this.wheres = value.condition;
+												$this.orderby = value.order ? value.order : ""
+												$this.pageindex = 1;
+												$this.query_id = "";
+												$this.detail1StyleDefList = [];
+												$this.loadDataGetList();
+											} else if (action_type ==
+												"set_dlg_attr") {
+												$this.setFormValues(action.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);
+												}
+											}
+										}
+
+									} 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 => {
+							// console.log(ex);
+							showError(ex, this.translateSys("error") + "8.1")
+						});
 					}
 				} catch (ex) {
-					showError(ex, this.translateSys('error'))
+					showError(ex, this.translateSys('error') + "8.2")
+
 				}
 			},
 
@@ -540,10 +671,9 @@
 										uni.navigateTo({
 											url: `../modal/3202_view?param=${JSON.stringify($this.param)}&titlename=${data.page?.page_name || ""}&dataObj=${JSON.stringify(data)}`,
 											events: {
-												// 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁
-												ExitViewEvent: function(data) {
-													console.log(data);
-													this.runCustomEvent(data);
+												ExitViewPage: function() {
+
+													$this.loadInitialEvent()
 												}
 											}
 										});
@@ -698,14 +828,13 @@
 											url: `../modal/3202_view?param=${JSON.stringify($this.param)}&titlename=${data.page?.page_name || ""}&dataObj=${JSON.stringify(data)}`,
 											events: {
 												// 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁
-												ExitViewEvent: function(data) {
-													console.log(data);
-													this.runCustomEvent(data);
+												ExitViewPage: function() {
+
+													$this.loadInitialEvent()
 												}
 											}
 										});
-									}
-									else if (item.action_type == "goback_to_pre_page") {
+									} else if (item.action_type == "goback_to_pre_page") {
 										//杩斿洖涓婁竴椤� 										uni.navigateBack({
 											delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
@@ -1198,79 +1327,76 @@
 			async runCustomEvent(dataInfo) {
 				try {
 					var $this = this;
-					runCustomEvent(dataInfo).then(result => {
-						console.log(result);
+					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 (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) {
+						}
+						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)
-
-								}
-
-								var actionList = result.action || []
-								actionList.forEach(item => {
-									if (item.action_type ==
-										"goback_to_pre_page") { //杩斿洖涓婁竴椤�-										var value = item.value;
-										uni.navigateBack({
-											delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
-										});
-									} else {
-										showInfo(this
-											.translateSys(
-												"quotation_mark_left"
-											) +
-											item
-											.action_type +
-											this
-											.translateSys(
-												"quotation_mark_right"
-											) +
-											this
-											.translate(
-												"tip_action_unprocessed"
-											))
-
-									}
-								});
+							} else if (typeof result.result == 'string') {
+								showInfo(result.result)
 
 							}
+
+							var actionList = result.action || []
+							actionList.forEach(item => {
+								if (item.action_type ==
+									"goback_to_pre_page") { //杩斿洖涓婁竴椤�+									var value = item.value;
+									uni.navigateBack({
+										delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+									});
+								} else {
+									showInfo(this
+										.translateSys(
+											"quotation_mark_left"
+										) +
+										item
+										.action_type +
+										this
+										.translateSys(
+											"quotation_mark_right"
+										) +
+										this
+										.translate(
+											"tip_action_unprocessed"
+										))
+
+								}
+							});
 
 						}
-					}).catch(ex => {
-						// console.log(ex);
-						showError(ex, this.translateSys("error") + "9.1")
-					});
+
+					}
+
 				} catch (ex) {
 					showError(ex, this.translateSys('error') + "9.2")
 

--
Gitblit v1.9.1