From 07925905f1a596e20e980de6d42db217abb753b0 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 12 十二月 2025 18:06:11 +0800
Subject: [PATCH] plugin

---
 pages/modal/3200.vue | 1176 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 606 insertions(+), 570 deletions(-)

diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index 7f2c728..90dcd07 100644
--- a/pages/modal/3200.vue
+++ b/pages/modal/3200.vue
@@ -69,6 +69,12 @@
 	} from '@/js/Base64.js';
 	import classUtils from "@/js/utils.js"
 	import {
+		showInfo,
+		showError,
+		showLoading,
+		hideLoading
+	} from "@/js/Page.js"
+	import {
 		appGetInfo,
 		dictGetInfo
 	} from "@/api/mobox.js"
@@ -149,73 +155,70 @@
 				refreshing: false
 			};
 		},
+		onReady() {
+			uni.setNavigationBarTitle({
+				title: this.title 
+			}); //璁剧疆椤堕儴鏍囬 
+		},
 		async onLoad(options) {
 			// console.log(options);
-			uni.setNavigationBarTitle({
-				title: options.titlename
-			}); //璁剧疆椤堕儴鏍囬 
-			this.title = options.titlename;
-			this.param = JSON.parse(options.param);
+			try {
+				showLoading("loading...")
+
+				this.title = options.titlename;
+				this.param = JSON.parse(options.param);
 
 
-			this.styledef = {};
-			this.head_styledef = {
-				form: {
-					items: []
+				this.styledef = {};
+				this.head_styledef = {
+					form: {
+						items: []
+					}
+				};
+				this.detail1_styledef = {};
+				this.detail1StyleDefList = [];
+				this.ListHtml_Panel = "";
+				this.ListPageHtml_Show = {
+					name: "",
+					event: {
+						id: "",
+						name: ""
+					}
+				};
+				this.items = [];
+				this.active_id = '';
+				this.activeItem = {};
+				//this.activelist = [];
+				const paramValue = options.paramValue ? JSON.parse(options.paramValue) : undefined
+
+				if (this.param.ListPage.ListItem_UIDef?.ui_type == "HTML椤甸潰") {
+					// HTML椤甸潰
+					//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+					await this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id,
+						paramValue);
+				} else {
+					await this.Detail1_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id);
+
+					await this.initial(paramValue);
+					await this.loadInitialEvent();
+
 				}
-			};
-			this.detail1_styledef = {};
-			this.detail1StyleDefList = [];
-			this.ListHtml_Panel = "";
-			this.ListPageHtml_Show = {
-				name: "",
-				event: {
-					id: "",
-					name: ""
-				}
-			};
-			this.items = [];
-			this.active_id = '';
-			this.activeItem = {};
-			//this.activelist = [];
 
-			if (this.param.ListPage.ListItem_UIDef?.ui_type == "HTML椤甸潰") {
-				// HTML椤甸潰
-				//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
-				await this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id, options
-					.paramValue);
-			} else {
-				await this.Detail1_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id);
-
-				await this.initial(options.paramValue);
+				hideLoading()
+			} catch (ex) {
+				hideLoading()
+				showError(ex, this.translateSys("error"));
 			}
-			// this.isFilter=true;
-			// if(this.param.ShowFilter)
-			//   this.isFilter=false;
-			// //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�-			// if(this.param.Query_Panel){
-			// 	this.Head_UIStyleGetInfo(this.param.DataCls.id,this.param.Query_Panel.id);
-			// }
-			// if(this.param.ListPage.ListItem_UIDef?.ui_type=="HTML椤甸潰"){
-			// 	// HTML椤甸潰
-			// 	//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
-			// 	await this.Html_UIstyleGetInfo(this.param.DataCls.id,this.param.ListPage.ListItem_UIDef.id);
-			// }else{
-			// 	await this.Detail1_UIstyleGetInfo(this.param.DataCls.id,this.param.ListPage.ListItem_UIDef.id);
-			// }
-			// this.orderby = this.param.Order?this.param.Order:'T_CREATE Desc';
-			// if(this.param.Query_Event){
-			//     await this.onSearChange(this.param.DataCls.id,this.param.Query_Event.id);
-			// } else{
-			//   this.wheres = this.param.Condition;
-			//   this.pageindex = 1;
-			//   this.page_size = 3;
-			//   this.query_id = "";
-			//   await this.loadDataGetList();
-			// }
-			// console.log(this.param);
-			//椤甸潰鍒濆鍖栬幏鍙栫劍鐐�-			// this.focusMateria=true; 
+		},
+		computed: {
+
+			initialEvent() {
+				let event = (this.head_styledef.event || []).find((e) => e.event_id == "initial");
+				return {
+					id: event?.scrip_id || "",
+					name: event?.scrip_name || "",
+				};
+			},
 		},
 		methods: {
 			//
@@ -252,27 +255,7 @@
 					await this.Head_UIStyleGetInfo(this.param.DataCls.id, this.param.Query_Panel.id);
 					//浼犲叆鍙傛暟鍊� 					if (paramValue) {
-						const attrs = paramValue.attrs || [];
-						(this.head_styledef?.form?.items || []).forEach(async (ele, index) => {
-							if (ele.name != "Layout") {
-								attrs.forEach(async (ele2, index2) => {
-									if (ele.fieldId == ele2.name) {
-										ele.value = ele2.value;
-									}
-								});
-							} else {
-								ele.setting.colList.forEach(async (col) => {
-									if (col) {
-										attrs.forEach(async (ele2,
-											index2) => {
-											if (col.fieldId == ele2.name) {
-												col.value = ele2.value;
-											}
-										});
-									}
-								});
-							}
-						})
+						this.setFormValues(paramValue)
 					}
 				}
 				this.orderby = this.param.Order ? this.param.Order : 'T_CREATE Desc';
@@ -288,6 +271,156 @@
 				}
 				this.refreshing = false
 
+			},
+			async loadInitialEvent() {
+				try {
+					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_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);
+												}
+											}
+										}
+
+									} 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') + "8.2")
+
+				}
 			},
 			//婊氬姩鍒板簳閮ㄥ悗鎳掑姞杞芥暟鎹� 			async scrolltolower(e) {
@@ -377,13 +510,7 @@
 					}
 				} catch (ex) {
 					// console.log(ex);
-					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
-					uni.showModal({
-						title: this.translateSys("error") + "1.1",
-						content: tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					showError(ex, this.translateSys('error') + " 1.1")
 				}
 
 			},
@@ -408,13 +535,7 @@
 					$this.detail1_styledef.SelBut_Checked = false;
 				} catch (ex) {
 					// console.log(ex);
-					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
-					uni.showModal({
-						title: this.translateSys("error") + "1.1",
-						content: tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					showError(ex, this.translateSys('error') + " 2.1")
 				}
 
 
@@ -443,13 +564,7 @@
 					$this.initial(paramValue);
 				} catch (ex) {
 					// console.log(ex);
-					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
-					uni.showModal({
-						title: this.translateSys("error") + "1.1",
-						content: tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					showError(ex, this.translateSys('error') + " 2.1")
 				}
 			},
 			async DictGetInfo(dict, index, type) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�@@ -485,12 +600,7 @@
 					}
 				} catch (ex) {
 					// console.log(ex);
-					uni.showModal({
-						title: this.translateSys("error") + "3",
-						content: ex.errMsg,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					showError(ex, this.translateSys('error') + " 3")
 				}
 			},
 
@@ -498,6 +608,7 @@
 			async onSearChange(clsid, eventid) {
 				try {
 					if (eventid) {
+						showLoading("loading...")
 						var $this = this;
 						var dataInfo = {
 							ed_type: 0,
@@ -505,87 +616,79 @@
 							class_id: clsid,
 							event_id: eventid,
 						};
+						
 						var result = await runCustomEvent(dataInfo)
 						// console.log(result);
-
-						if (result.ret != 0) {
-							var tip = result.err_info ? typeof result.err_info == 'string' ? result
-								.err_info : result.err_info.join('<br/>') : '';
+						hideLoading()
+						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);
 								}
-								uni.showModal({
-									title: this.translateSys("tip"),
-									content: tip,
-									showCancel: false,
-									confirmText: this.translateSys('close')
-								});
-							} else uni.showModal({
-								title: this.translateSys("tip"),
-								content: tip + ',' + this.translateSys('tip') + ':' + result
-									.ret,
-								showCancel: false,
-								confirmText: this.translateSys('close')
-							});
-							return false;
+							}
+							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('<br/>') : '';
-							if (tip) uni.showModal({
-								title: this.translateSys("tip"),
-								content: tip,
-								showCancel: false,
-								confirmText: this.translateSys('close')
-							});
+								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 (result.result_type == 0 && result.action) {
-								result.action.forEach(item => {
-									if (item.action_type == "set_query_condition") {
-										var value = item.value;
-										$this.wheres = value.condition;
-										$this.orderby = value.order ? value.order : $this
-											.orderby;
-										$this.pageindex = 1;
-										$this.query_id = "";
-										$this.detail1StyleDefList = [];
-										$this.loadDataGetList();
-									}
+							if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+								if (result.result_type == 2) {
 
-								});
-							} else {
-								if (result.info) {
-									uni.showModal({
-										title: this.translateSys("tip"),
-										content: result.info,
-										showCancel: false,
-										confirmText: this.translateSys('close')
+								} else if (typeof result.result == 'string') {
+									showInfo(result.result)
+
+								}
+								try {
+									var actionList = result.action || []
+									actionList.forEach(item => {
+										if (item.action_type == "set_query_condition") {
+											var value = item.value;
+											$this.wheres = value.condition;
+											$this.orderby = value.order ? value.order : $this
+												.orderby;
+											$this.pageindex = 1;
+											$this.query_id = "";
+											$this.detail1StyleDefList = [];
+											$this.loadDataGetList();
+										}
+
 									});
+								} 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) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: this.translateSys("error") + "4.2",
-						content: this.translate("execute_query_event_failed") + this.translateSys(
-								"comma") +
-							tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					hideLoading()
+					showError(ex, this.translateSys('error') + " 4.1")
 
 				}
 			},
 			//鏌ヨ鏁版嵁绫绘暟鎹俊鎭� 			async loadDataGetList() {
 				try {
-					uni.showLoading({
-						title: this.translateSys("loading"),
-						mask: true
-					});
+					showLoading("loading...")
 					//鏉′欢鏌ヨ
 					var condition = this.wheres;
 					if (this.where) {
@@ -607,7 +710,7 @@
 					};
 					dataObjQuery(dataInfo).then(result => {
 						console.log(result);
-						uni.hideLoading();
+						hideLoading()
 
 						// var list=[];
 						$this.query_id = '';
@@ -734,34 +837,39 @@
 
 					}).catch(ex => {
 						// console.log(ex);
-						uni.showModal({
-							title: this.translateSys("error") + "5.1",
-							content: ex.errMsg,
-							showCancel: false,
-							confirmText: this.translateSys('close')
-						});
+						hideLoading()
+						showError(ex, this.translateSys("error") + "5.1")
 					});
 				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: this.translateSys("error") + "5.2",
-						content: tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					hideLoading()
+					showError(ex, this.translateSys("error") + "5.2")
 				}
 			},
 
 			//鍒锋柊
 			Refresh(value) {
 				//鍒锋柊褰撳墠椤甸潰
-				this.initial();
+				this.handleButtonClick((done) => {
+						this.initial();
+					setTimeout(() => {
+						done(); // 閲嶇疆鐘舵�
+					}, 1000);
+				});
+			
 				// uni.redirectTo({
 				// 	url:'../modal/3200?param='+JSON.stringify(this.param)+"&titlename="+this.title,
 				// });
 			},
 			//鐐瑰嚮鏄剧ず娴忚瀵硅薄鏄剧ず椤甸潰
-			async onViewPageClick(style) {
+			onViewPageClick(style) {
+				this.handleButtonClick((done) => {
+					this.viewPageClick(style);
+					setTimeout(() => {
+						done(); // 閲嶇疆鐘舵�
+					}, 1000);
+				});
+			},
+			async viewPageClick(style) {
 				if (this.param.ViewPage) {
 					if (this.param.ViewPage.View_UIDef) {
 						this.styledef = style;
@@ -797,14 +905,8 @@
 												input_param,
 											});
 										} catch (ex) {
-											var tip = typeof ex == "string" ? ex : ex.message;
-											uni.showModal({
-												title: this.translateSys("error"),
-												content: tip,
-												showCancel: false,
-												confirmText: this.translateSys(
-													'close')
-											});
+											showError(ex, this.translateSys('error'))
+
 										}
 									}
 								}
@@ -885,12 +987,7 @@
 						if (btn.Edit_dlg.Model == "small") {
 							this.showAddSmallDialog(btn, style, enviroment);
 						} else {
-							uni.showModal({
-								title: this.translateSys("tip"),
-								content: this.translateSys("unrealized"),
-								showCancel: false,
-								confirmText: this.translateSys('close')
-							});
+							showInfo(this.translateSys("unrealized"))
 						}
 					} else if (btn.FunCode == "Delete") {
 						this.DeleteObj(btn, style, enviroment);
@@ -905,21 +1002,11 @@
 						// } else if (btn.FunCode == "TriggerEvent") {
 						//   this.triggerEvent(btn, style, enviroment);
 					} else {
-						uni.showModal({
-							title: this.translateSys("tip"),
-							content: this.translateSys("unrealized"),
-							showCancel: false,
-							confirmText: this.translateSys('close')
-						});
+						showInfo(this.translateSys("unrealized"))
+
 					}
 				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: this.translateSys("error"),
-						content: tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					showError(ex, this.translateSys('error'))
 				}
 			},
 			//鏂板淇敼灏忕獥鍙f暟鎹�@@ -980,24 +1067,12 @@
 											.splice(index, 1);
 									}
 								});
-								uni.showModal({
-									title: this.translateSys("tip"),
-									content: this.translate(
-										"delete_success"),
-									showCancel: false,
-									confirmText: this.translateSys(
-										'close')
-								});
+								showInfo(this.translate(
+									"delete_success"))
+
 							}).catch(ex => {
 								// console.log(ex);
-								uni.showModal({
-									title: this.translateSys("error") +
-										"6",
-									content: ex.errMsg,
-									showCancel: false,
-									confirmText: this.translateSys(
-										'close')
-								});
+								showError(ex, this.translateSys("error") + "6.1")
 							});
 						} else if (res.cancel) {
 
@@ -1009,6 +1084,7 @@
 			//鎵ц浜嬩欢
 			async TriggerEvent(btn, style, enviroment) { //鎵ц瑙﹀彂浜嬩欢
 				try {
+					showLoading("loading...")
 					let obj_attr = {
 						S_ID: this.styledef.form.objId
 					};
@@ -1045,54 +1121,55 @@
 						obj_attr: obj_attr,
 					}
 					var result = await runCustomEvent(dataInfo)
-					if (result.ret != 0) {
-						var tip = result.err_info ? typeof result.err_info ==
-							'string' ?
-							result
-							.err_info : result.err_info.join('<br/>') : '';
+					hideLoading()
+					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);
 							}
-							uni.showModal({
-								title: this.translateSys("tip"),
-								content: tip,
-								showCancel: false,
-								confirmText: this.translateSys('close')
-							});
-						} else uni.showModal({
-							title: this.translateSys("tip"),
-							content: tip + ',' + this.translateSys('tip') +
-								':' +
-								result
-								.ret,
-							showCancel: false,
-							confirmText: this.translateSys('close')
-						});
-						return false;
+						}
+						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('<br/>') : '';
-						if (tip) uni.showModal({
-							title: this.translateSys("tip"),
-							content: tip,
-							showCancel: false,
-							confirmText: this.translateSys('close')
-						});
+						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") {
+									//杩斿洖涓婁竴椤�+									uni.navigateBack({
+										delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+									});
+								}
+							})
+
+						}
 					}
 				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: this.translateSys("error"),
-						content: tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
-					this.showError(ex);
+					hideLoading()
+					showError(ex, this.translateSys('error'))
 				}
 			},
 			//璺宠浆
@@ -1106,6 +1183,7 @@
 						defCode == "3037" ||
 						defCode == "3200" ||
 						defCode == "3201" ||
+						defCode == "3202" ||
 						defCode == "5600" ||
 						defCode == "5601" ||
 						defCode == "5602"
@@ -1117,7 +1195,7 @@
 						var json = {
 							app_id: [btn.Related_Function.ID],
 						};
-						console.log("RelatedFunction2", json);
+
 						const result = await appGetInfo(json)
 						if ((result || []).length > 0) {
 							var app = result[0];
@@ -1133,24 +1211,35 @@
 									paramStr);
 							}
 							if (!param) {
-								uni.showModal({
-									title: this.translateSys("tip"),
-									content: this.translate(
-										'tip_no_app_param'),
-									showCancel: false,
-									confirmText: this.translateSys(
-										'close')
-								});
+								showInfo(this.translate("tip_no_app_param"))
+
 								return;
 							}
+							const attrValues = []
 
+							style.form.items.forEach(item => {
+								if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+									item.setting.colList.forEach(col => {
+										if (col != null) {
+											attrValues.push({
+												attr: col.fieldId,
+												value: col.value || ""
+											})
+										}
+
+									});
+								} else
+									attrValues.push({
+										attr: item.fieldId,
+										value: item.value || ""
+									})
+							});
 							uni.navigateTo({
 								url: '../modal/' + name + '?param=' +
 									param + "&titlename=" +
 									appName +
 									"&type=relatedFunction&paramValue=" +
-									JSON.stringify(style
-										.form),
+									JSON.stringify(attrValues),
 								events: {
 									relatedFunction: function(data) {
 										console.log(data);
@@ -1159,59 +1248,38 @@
 								}
 							});
 						} else {
-							uni.showModal({
-								title: this.translateSys("error"),
-								content: this.translate(
-									"function_not_exist"),
-								showCancel: false,
-								confirmText: this.translateSys('close')
-							});
+							showInfo(this.translate("function_not_exist"))
+
 						}
 
 					} else {
-						uni.showModal({
-							title: this.translateSys("error"),
-							content: this.translate("cannot_related_function"),
-							showCancel: false,
-							confirmText: this.translateSys('close')
-						});
+						showInfo(this.translate("cannot_related_function"))
+
 
 					}
 				} catch (ex) {
-					console.log(ex);
-					let exStr = JSON.stringify(ex)
-					if (exStr == "{}")
-						exStr = ex
-					let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
-					uni.showModal({
-						title: this.translateSys("error"),
-						content: tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					showError(ex, this.translateSys('error'))
 					return undefined
 				}
 			},
 			//鎵ц鍚庡鐞嗕簨浠� 			async AfterProcess_Event(clsId, afterProcess_Event, enviroment) {
 				try {
+					
 					if (afterProcess_Event.ID) {
 						//鎵ц鍚庡鐞嗕簨浠�+						showLoading("loading...")
 						await this.runCustomEvent({
 							ed_type: 0,
 							start_transaction: true,
 							class_id: clsId,
 							event_id: afterProcess_Event.ID,
 						});
+						hideLoading()
 					}
 				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: this.translateSys("error") + "7",
-						content: tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					hideLoading()
+					showError(ex, this.translateSys('error') + "7")
 				}
 			},
 
@@ -1302,6 +1370,7 @@
 			async onChange(event) {
 				try {
 					if (event.id) {
+						showLoading("loading...")
 						var obj_attr = this.head_styledef.form.model;
 						// console.log(obj_attr);
 						var input_param = Base64.encode(
@@ -1334,103 +1403,105 @@
 						};
 						runCustomEvent(dataInfo).then(result => {
 							// console.log(result);
-							if (result.ret != 0) {
-								var tip = result.err_info ? typeof result
-									.err_info ==
-									'string' ?
+								hideLoading()
+							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 : result.err_info.join(
-										'<br/>') : '';
+									.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 (pos > -1) tip = tip.substring(pos + 1);
 									}
-									uni.showModal({
-										title: this.translateSys(
-											"tip"),
-										content: tip,
-										showCancel: false,
-										confirmText: this
-											.translateSys('close')
-									});
-								} else uni.showModal({
-									title: this.translateSys(
-										"tip"),
-									content: tip + ',' + this
-										.translateSys('tip') +
-										':' +
-										result
-										.ret,
-									showCancel: false,
-									confirmText: this.translateSys(
-										'close')
-								});
-								return false;
+								}
+								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
+								var tip = result.info ? typeof result.info == 'string' ? result
 									.info :
-									result.info.join('<br/>') : '';
-								if (tip) uni.showModal({
-									title: this.translateSys(
-										"tip"),
-									content: tip,
-									showCancel: false,
-									confirmText: this.translateSys(
-										'close')
-								});
+									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 (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);
+								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_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);
+													});
+												} else {
+													$this.detail1StyleDefList = [];
+													$this.viewAceionContent(value);
+												}
 											}
 										}
-									}
 
-									// value = {"attr":"xxx", "value":"xxx"}
-								} else {
-									if (result.info) {
-										uni.showModal({
-											title: this
-												.translateSys(
-													"tip"),
-											content: result.info,
-											showCancel: false,
-											confirmText: this
-												.translateSys(
-													'close')
-										});
+									} 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
 									}
 								}
 							}
@@ -1438,36 +1509,20 @@
 
 						}).catch(ex => {
 							// console.log(ex);
-							uni.showModal({
-								title: this.translateSys("error") +
-									"8.1",
-								content: ex.errMsg,
-								showCancel: false,
-								confirmText: this.translateSys(
-									'close')
-							});
+							hideLoading()
+							showError(ex, this.translateSys("error") + "8.1")
 						});
 					}
 				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: this.translateSys("error") + "8.2",
-						content: this.translate(
-								'execute_after_change_event_failed') + this
-							.translateSys(
-								"comma") +
-							this.translate('reason') + this.translateSys(
-								"colon") + tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					hideLoading()
+					showError(ex, this.translateSys('error') + "8.2")
 
 				}
 			},
 			setFormValues(attrs) {
 				const head_styledef = this.head_styledef
-				if (JSON.stringify(attrs) == '{}') {
-					return;
+				if (!Array.isArray(attrs)) {
+					return
 				}
 				attrs.forEach(async (attr, key) => {
 					if (attr.choice_list) {
@@ -1492,9 +1547,11 @@
 									if (col) {
 										if (col.fieldId == attr.attr) {
 											if (col.useDict) {
-												col.dict = dictItemList;
+												col.dict =
+													dictItemList;
 											} else {
-												col.selections = dictItemList;
+												col.selections =
+													dictItemList;
 											}
 										}
 									}
@@ -1511,7 +1568,8 @@
 								ele.value = attr.value;
 								ele.oldvalue = attr.value;
 								if (ele.name == "Input") {
-									if (attr.prompt) ele.placeholder = attr.prompt;
+									if (attr.prompt) ele.placeholder = attr
+										.prompt;
 								}
 								if (attr.enable !== undefined) {
 									if (attr.enable) ele.disabled = false;
@@ -1525,10 +1583,14 @@
 										col.value = attr.value;
 										col.oldvalue = attr.value;
 										if (col.name == "Input") {
-											if (attr.prompt) col.placeholder = attr.prompt;
+											if (attr.prompt) col
+												.placeholder = attr
+												.prompt;
 										}
-										if (attr.enable !== undefined) {
-											if (attr.enable) col.disabled = false;
+										if (attr.enable !==
+											undefined) {
+											if (attr.enable) col
+												.disabled = false;
 											else col.disabled = true;
 										}
 									}
@@ -1589,19 +1651,27 @@
 									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;
-														}
-													});
+												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;
+															}
+														});
 											}
 										});
 									});
@@ -1621,6 +1691,7 @@
 			//鐐逛腑琛ㄥ崟
 			onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず
 				// console.log(value);
+				
 				this.setData({
 					activeItem: this.detail1StyleDefList[value]
 				})
@@ -1634,174 +1705,139 @@
 			async runCustomEvent(dataInfo) {
 				try {
 					var $this = this;
+				showLoading("loading...")
 					runCustomEvent(dataInfo).then(result => {
 						console.log(result);
-
-						if (result.ret != 0) {
-							var tip = result.err_info ? typeof result
-								.err_info ==
-								'string' ?
+						hideLoading()
+						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 : result.err_info.join(
-									'<br/>') : '';
+								.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 (pos > -1) tip = tip.substring(pos + 1);
 								}
-								uni.showModal({
-									title: this.translateSys(
-										"tip"),
-									content: tip,
-									showCancel: false,
-									confirmText: this
-										.translateSys('close')
-								});
-							} else uni.showModal({
-								title: this.translateSys(
-									"tip"),
-								content: tip + ',' + this
-									.translateSys('tip') +
-									':' +
-									result.ret,
-								showCancel: false,
-								confirmText: this.translateSys(
-									'close')
-							});
-							return false;
+							}
+							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('<br/>') : '';
-							if (tip) uni.showModal({
-								title: this.translateSys(
-									"tip"),
-								content: tip,
-								showCancel: false,
-								confirmText: this.translateSys(
-									'close')
-							});
+							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 (result.result_type == 0 && result
-								.action) {
-								result.action.forEach(item => {
-									if (item.action_type ==
-										"goback_to_pre_page"
-									) { //杩斿洖涓婁竴椤�-										var value = item.value;
-										uni.navigateBack({
-											delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
-										});
-									} else if (item
-										.action_type ==
-										"hidden_button"
-									) { //闅愯棌鎸夐挳
-										var value = item.value;
-										value.forEach(btn => {
-											var index =
-												$this
-												.param
-												.ListPage
-												.Page_Button
-												.findIndex(
-													button =>
-													button
-													.ShowName ==
-													btn
-												)
-											if (index >
-												-1)
-												$this
-												.param
-												.ListPage
-												.Page_Button
-												.splice(
-													index,
-													1)
-										})
-										// } else if(item.action_type == "refresh_cur_row"){ //
-										// 	var value = item.value;
-									} else if (item
-										.action_type ==
-										"set_panel_html"
-									) { //鏄剧ずHtml椤甸潰
-										// var value = item.value;
-										$this.ListHtml_Panel =
-											item.value;
-										// $this.detail1StyleDefList.forEach((ele,index)=>{
-										// 	ele.ListHtml_Panel = item.value[index];
-										// });
+								} else if (typeof result.result == 'string') {
+									showInfo(result.result)
 
-									} else {
-										uni.showModal({
-											title: this
-												.translateSys(
-													"tip"
-												),
-											content: this
+								}
+								try {
+									var actionList = result.action || []
+									actionList.forEach(item => {
+										if (item.action_type ==
+											"goback_to_pre_page"
+										) { //杩斿洖涓婁竴椤�+
+											uni.navigateBack({
+												delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+											});
+										} else if (item
+											.action_type ==
+											"hidden_button"
+										) { //闅愯棌鎸夐挳
+											var value = item.value;
+											value.forEach(btn => {
+												var index =
+													$this
+													.param
+													.ListPage
+													.Page_Button
+													.findIndex(
+														button =>
+														button
+														.ShowName ==
+														btn
+													)
+												if (index >
+													-1)
+													$this
+													.param
+													.ListPage
+													.Page_Button
+													.splice(
+														index,
+														1)
+											})
+											// } else if(item.action_type == "refresh_cur_row"){ //
+											// 	var value = item.value;
+										} else if (item
+											.action_type ==
+											"set_panel_html"
+										) { //鏄剧ずHtml椤甸潰
+											// var value = item.value;
+											$this.ListHtml_Panel =
+												item.value;
+											// $this.detail1StyleDefList.forEach((ele,index)=>{
+											// 	ele.ListHtml_Panel = item.value[index];
+											// });
+
+										} else {
+											showInfo($this
 												.translateSys(
 													"quotation_mark_left"
 												) +
 												item
 												.action_type +
-												this
+												$this
 												.translateSys(
 													"quotation_mark_right"
 												) +
-												this
+												$this
 												.translate(
 													"tip_action_unprocessed"
-												),
-											showCancel: false,
-											confirmText: this
-												.translateSys(
-													'close'
-												)
-										});
-									}
-								});
-							} else {
-								if (result.info) {
-									uni.showModal({
-										title: this
-											.translateSys(
-												"tip"),
-										content: result.info,
-										showCancel: false,
-										confirmText: this
-											.translateSys(
-												'close')
+												))
+
+										}
 									});
+
+								} 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);
-						uni.showModal({
-							title: this.translateSys("error") +
-								"9.1",
-							content: ex.errMsg,
-							showCancel: false,
-							confirmText: this.translateSys(
-								'close')
-						});
+						hideLoading()
+						showError(ex, this.translateSys("error") + "9.1")
 					});
 				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: this.translateSys("error") + "9.2",
-						content: this.translate('execute_event_failed') +
-							this.translateSys(
-								"comma") +
-							this.translate('reason') + this.translateSys(
-								"colon") + tip,
-						showCancel: false,
-						confirmText: this.translateSys('close')
-					});
+					hideLoading()
+					showError(ex, this.translateSys('error') + "9.2")
 
 				}
 			},

--
Gitblit v1.9.1