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/3200.vue | 1502 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 743 insertions(+), 759 deletions(-)

diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index 45fb2f3..f083e36 100644
--- a/pages/modal/3200.vue
+++ b/pages/modal/3200.vue
@@ -1,41 +1,9 @@
 <template>
-	<view class="uni-page-modal-3200">
+	<view class="uni-page-modal-3200" :class="largeMode?'large-mode':''">
 		<view class="v-content">
 			<!-- 琛ㄥご鏍峰紡 -->
-			<view class="v-headStyle" v-for="(item,index) in head_styledef.form.items" v-if="isFilter==true">
-				<text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
-				<!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections-->
-				<uni-data-select id="dv_select" v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''"
-					v-model="item.value" :localdata="item.dict" @change="onEnterChange(item)" :disabled="item.disabled"
-					:clear="false"></uni-data-select>
-				<view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'">
-					<text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
-						@click="onEnterChange(item)">&#xe568;</text>
-					<input class="uni-input" :class="item.disabled?'input-disabled':''"
-						:type="item.name=='Input'?'text':'number'" v-model="item.value" :disabled="item.disabled"
-						:placeholder="item.placeholder"
-						:style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
-						:focus="focusMateria" @focus="ontap(item)" @keyup.enter="onEnterChange(item)"
-						@blur="onEnterChange(item)" :maxlength="-1" />
-					<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
-						@click="onEnterChange(item)">&#xe568;</text>
-				</view>
-				<view class="input-wrapper"
-					v-if="item.name=='TimePicker' || item.name=='DatePicker'|| item.name=='DatePickerRange'">
-					<OIDatePicker v-if="item.name=='DatePicker'" :class="item.disabled?'input-disabled':''"
-						:disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder"
-						:defaultToday="item.setting.defaultToday" :format="item.setting.format"
-						@change="onModelValue(item)" />
-					<OIDatePickerRange v-if="item.name=='DatePickerRange'" :rangeSeparator="item.setting.separator"
-						:format="item.setting.format" :class="item.disabled?'input-disabled':''"
-						:disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder"
-						@change="onModelValue(item)" />
-					<OITimePicker v-if="item.name=='TimePicker'" :class="item.disabled?'input-disabled':''"
-						:disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder"
-						@change="onModelValue(item)" />
-				</view>
-			</view>
-
+			<OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @on-focus="ontap"
+				@on-change="onEnterChange" @on-click-prefix="onEnterChange" @on-click-suffix="onEnterChange"></OIForm>
 			<view class="v-scroll-view">
 				<scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-y" @scrolltolower="scrolltolower"
 					@scroll="scroll">
@@ -51,45 +19,14 @@
 								</checkbox-group>
 							</div>
 							<!-- HTML椤甸潰绫诲瀷鏄剧ず -->
-							<div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':
-				  param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':
-				  param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
+							<div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]"
+								:style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
 
 							</div>
-							<div class="dv-panel-input" v-if="!ListHtml_Panel" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':
-				  param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':
-				  param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
-								<div v-for="(item,index) in style.form.items">
-									<!-- 鏅�甯冨眬 -->
-									<view v-if="item.name!='Layout'">
-										<text class="txt_title"
-											:style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
-										<span class="form-item-span" v-if="item.disabled">{{item.value}}</span>
-										<!-- 鏂囨湰妗�鏁板瓧妗�-->
-										<view v-else class="form-item-input">
-											<input :type="item.name=='InputNumber'?'number':'text'" v-model="item.value"
-												:placeholder="item.placeholder" :maxlength="-1"
-												@on-enter="onDetail1EnterChange(item)" />
-										</view>
-									</view>
-									<!-- 鏍呮牸甯冨眬 -->
-									<uni-row class="demo-uni-row" v-if="item.name=='Layout'">
-										<uni-col v-for="(cols,key) in item.setting.colList"
-											:span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
-											<view v-if="cols!=null">
-												<text class="txt_title"
-													:style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
-												<span class="form-item-span" v-if="cols.disabled">{{cols.value}}</span>
-												<!-- 鏂囨湰妗�鏁板瓧妗�-->
-												<view v-else class="form-item-input">
-													<input :type="cols.name=='InputNumber'?'number':'text'"
-														v-model="cols.value" :placeholder="cols.placeholder"
-														:maxlength="-1" @on-enter="onDetail1EnterChange(cols)" />
-												</view>
-											</view>
-										</uni-col>
-									</uni-row>
-								</div>
+							<div class="dv-panel-input" v-if="!ListHtml_Panel"
+								:style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
+								<OIForm class="v-area dv-panel" :form="style.form.items" viewMode></OIForm>
+
 							</div>
 							<div class="dv-panel-button" v-if="param.ListPage.Click_View==true">
 								<a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a>
@@ -118,7 +55,7 @@
 			<view class="uni-padding-wrap" v-if="param.ListPage.Page_Button.length>0">
 				<view class="uni-btn-v">
 					<a @tap="actionSheetTap">
-						<Icon class="mobox-normal-more" />
+						<text class="mobox-normal-more" />
 					</a>
 				</view>
 			</view>
@@ -127,8 +64,14 @@
 </template>
 
 <script>
-	import Base64 from '../../components/js-base64/base64.js'
+	import {
+		Base64
+	} from '@/js/Base64.js';
 	import classUtils from "@/js/utils.js"
+	import {
+		showInfo,
+		showError
+	} from "@/js/Page.js"
 	import {
 		appGetInfo,
 		dictGetInfo
@@ -140,17 +83,13 @@
 		dataObjDel
 	} from "@/api/data.js"
 	import dayjs from "dayjs";
-	import OIDatePicker from '@/components/oi-date-time-picker/oi-date-picker.vue'
-	import OIDatePickerRange from '@/components/oi-date-time-picker/oi-date-picker-range.vue'
-	import OITimePicker from '@/components/oi-date-time-picker/oi-time-picker.vue'
+	import OIForm from '@/components/oi-form/index.vue'
+	import buttonClickMixin from '@/mixins/button-click.js';
+
 	export default {
-		modules: {
-			Base64,
-		},
+		mixins: [buttonClickMixin],
 		components: {
-			OIDatePicker,
-			OIDatePickerRange,
-			OITimePicker
+			OIForm
 		},
 		onNavigationBarButtonTap(e) {
 			//  	console.log(e);
@@ -173,6 +112,7 @@
 		},
 		data() {
 			return {
+				largeMode: getApp().globalData.largeMode || false,
 				title: this.translateSys('add2'),
 				isFilter: true,
 				param: {},
@@ -218,8 +158,8 @@
 			uni.setNavigationBarTitle({
 				title: options.titlename
 			}); //璁剧疆椤堕儴鏍囬 
-			this.$data.title = options.titlename;
-			this.$data.param = JSON.parse(options.param);
+			this.title = options.titlename;
+			this.param = JSON.parse(options.param);
 
 
 			this.styledef = {};
@@ -242,17 +182,21 @@
 			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, options
-					.paramValue);
+				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(options.paramValue);
+				await this.initial(paramValue);
+				await this.loadInitialEvent();
+
 			}
+
 			// this.isFilter=true;
 			// if(this.param.ShowFilter)
 			//   this.isFilter=false;
@@ -277,9 +221,19 @@
 			//   this.query_id = "";
 			//   await this.loadDataGetList();
 			// }
-			// console.log(this.$data.param);
+			// 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: {
 			//
@@ -316,27 +270,7 @@
 					await this.Head_UIStyleGetInfo(this.param.DataCls.id, this.param.Query_Panel.id);
 					//浼犲叆鍙傛暟鍊� 					if (paramValue) {
-						const attrs = paramValue.attrs || [];
-						(this.$data.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';
@@ -352,6 +286,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) {
@@ -389,9 +473,9 @@
 						if (!result.style_def.includes('"')) styledef = Base64.decode(result
 							.style_def);
 					}
-					$this.$data.head_styledef = result.style_def ? JSON.parse(styledef) : {};
+					$this.head_styledef = result.style_def ? JSON.parse(styledef) : {};
 					// this.form = this.head_styledef.form.model;
-					// console.log($this.$data.head_styledef);
+					// console.log($this.head_styledef);
 					if ($this.head_styledef.form?.items) {
 						$this.head_styledef.form.items.forEach(async (ele, index) => {
 							console.log(ele.useDict);
@@ -406,7 +490,8 @@
 										$this.head_styledef.form
 											.model[ele.fieldId] = itemName;
 									}
-									$this.head_styledef.form.items[index].dict = selections.map((a) => {
+									$this.head_styledef.form.items[index].selections = selections.map((
+										a) => {
 										return {
 											value: a.value,
 											text: a.label
@@ -417,17 +502,30 @@
 							}
 
 						});
+						const app = getApp()
+						if (app.globalData.bindClasses) {
+							$this.head_styledef.form.items.push({
+								name: "Input",
+								label: this.translate("classes"),
+								labelWidth: 100,
+								disabled: true,
+								value: app.globalData.classes,
+								setting: {
+									width: 100,
+									height: 50,
+								},
+								bind: {
+									attr: "",
+								},
+								fieldId: "S_CLASSES",
+							})
+							$this.head_styledef.form.model["S_CLASSES"] = app.globalData.classes
+						}
 
 					}
 				} 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")
 				}
 
 			},
@@ -448,17 +546,11 @@
 						if (!result.style_def.includes('"')) styledef = Base64.decode(result
 							.style_def);
 					}
-					$this.$data.detail1_styledef = result.style_def ? JSON.parse(styledef) : {};
-					$this.$data.detail1_styledef.SelBut_Checked = false;
+					$this.detail1_styledef = result.style_def ? JSON.parse(styledef) : {};
+					$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")
 				}
 
 
@@ -487,13 +579,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寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�@@ -529,12 +615,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")
 				}
 			},
 
@@ -552,74 +633,67 @@
 						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/>') : '';
+						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')
-					});
+					showError(ex, this.translateSys('error') + " 4.1")
 
 				}
 			},
@@ -778,21 +852,10 @@
 
 					}).catch(ex => {
 						// console.log(ex);
-						uni.showModal({
-							title: this.translateSys("error") + "5.1",
-							content: ex.errMsg,
-							showCancel: false,
-							confirmText: this.translateSys('close')
-						});
+						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')
-					});
+					showError(ex, this.translateSys("error") + "5.2")
 				}
 			},
 
@@ -801,7 +864,7 @@
 				//鍒锋柊褰撳墠椤甸潰
 				this.initial();
 				// uni.redirectTo({
-				// 	url:'../modal/3200?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title,
+				// 	url:'../modal/3200?param='+JSON.stringify(this.param)+"&titlename="+this.title,
 				// });
 			},
 			//鐐瑰嚮鏄剧ず娴忚瀵硅薄鏄剧ず椤甸潰
@@ -841,14 +904,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'))
+
 										}
 									}
 								}
@@ -874,7 +931,14 @@
 							}
 						}
 					});
-				} else that.onButtonClicked(btn, style);
+				} else {
+					this.handleButtonClick((done) => {
+						that.onButtonClicked(btn, style);
+						setTimeout(() => {
+							done(); // 閲嶇疆鐘舵�
+						}, 1000);
+					});
+				}
 			},
 			//鐐瑰嚮鎸夐挳鍒楄〃
 			actionSheetTap() {
@@ -922,12 +986,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);
@@ -942,21 +1001,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暟鎹�@@ -1017,24 +1066,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) {
 
@@ -1082,54 +1119,53 @@
 						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/>') : '';
+					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);
+					showError(ex, this.translateSys('error'))
 				}
 			},
 			//璺宠浆
@@ -1143,6 +1179,7 @@
 						defCode == "3037" ||
 						defCode == "3200" ||
 						defCode == "3201" ||
+						defCode == "3202" ||
 						defCode == "5600" ||
 						defCode == "5601" ||
 						defCode == "5602"
@@ -1154,7 +1191,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];
@@ -1170,24 +1207,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);
@@ -1196,36 +1244,17 @@
 								}
 							});
 						} 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
 				}
 			},
@@ -1242,13 +1271,7 @@
 						});
 					}
 				} 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')
-					});
+					showError(ex, this.translateSys('error') + "7")
 				}
 			},
 
@@ -1256,16 +1279,17 @@
 				// var $ele = e;
 				//console.log(e.target)
 				getApp().onScan((result) => {
-					console.log(result.decodedata);
-					item.value = result.decodedata;
+					console.log(result);
+					item.value = result;
 					uni.hideKeyboard();
 					var $this = this;
-
 					console.log(item);
-					if (item.oldvalue != item.value) {
-						item.oldvalue = item.value;
+					let newVal = item.value.trim()
+					if (newVal) {
+						item.oldvalue = newVal;
+
 						var attr = item.fieldId;
-						this.head_styledef.form.model[attr] = item.value;
+						this.head_styledef.form.model[attr] = newVal;
 						var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠� 						var onSuffixClickCallbackEvent = item.bind
 							.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�@@ -1276,24 +1300,19 @@
 						if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� 							$this.onChange(onChangeEvent);
 						} else {
-							$this.where = '';
-							if (item.value)
-								$this.where = item.fieldId + " like '%" + item
-								.value + "%'";
+							$this.where = item.fieldId + " like '%" + newVal + "%'";
 							$this.query_id = '';
 							$this.pageindex = 1;
 							$this.detail1StyleDefList = [];
 							$this.loadDataGetList();
 						}
-						if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�-							$this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
-							// setTimeout(function(){
-							// 	$this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣
-							setTimeout(function() {
-								uni.hideKeyboard();
-							}, 1000);
-							// },500);
-						}
+						$this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
+						// setTimeout(function(){
+						// 	$this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣
+						setTimeout(function() {
+							uni.hideKeyboard();
+						}, 1000);
+						// },500);
 						// if(onSuffixClickCallbackEvent.id){   //鍚庡浘鏍囩偣鍑讳簨浠� 						//   this.onSuffixClick(onSuffixClickCallbackEvent);
 						// }
@@ -1306,10 +1325,16 @@
 
 			onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
 				// console.log(item);
-				if (item.oldvalue != item.value) {
-					item.oldvalue = item.value;
+				let newVal = item.value
+				if (typeof item.value == "string") {
+					newVal = item.value.trim()
+					if (!newVal)
+						return
+				}
+				if (item.oldvalue != newVal) {
+					item.oldvalue = newVal;
 					var attr = item.fieldId;
-					this.head_styledef.form.model[attr] = item.value;
+					this.head_styledef.form.model[attr] = newVal;
 					var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠� 					var onSuffixClickCallbackEvent = item.bind
 						.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�@@ -1319,9 +1344,7 @@
 					if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� 						this.onChange(onChangeEvent);
 					} else {
-						this.where = '';
-						if (item.value)
-							this.where = item.fieldId + " like '%" + item.value + "%'";
+						this.where = item.fieldId + " like '%" + item.value + "%'";
 						this.query_id = '';
 						this.pageindex = 1;
 						this.detail1StyleDefList = [];
@@ -1353,7 +1376,7 @@
 						var dataInfo = {
 							ed_type: 0,
 							start_transaction: true,
-							class_id: this.$data.head_styledef.form.clsId,
+							class_id: this.head_styledef.form.clsId,
 							class_name: '',
 							event_id: event.id,
 							event_name: '',
@@ -1371,98 +1394,104 @@
 						};
 						runCustomEvent(dataInfo).then(result => {
 							// console.log(result);
-							if (result.ret != 0) {
-								var tip = result.err_info ? typeof result
-									.err_info ==
-									'string' ?
+							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) {
-									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 ([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 {
-									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
 									}
 								}
 							}
@@ -1470,94 +1499,182 @@
 
 						}).catch(ex => {
 							// console.log(ex);
-							uni.showModal({
-								title: this.translateSys("error") +
-									"8.1",
-								content: ex.errMsg,
-								showCancel: false,
-								confirmText: this.translateSys(
-									'close')
-							});
+							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')
-					});
+					showError(ex, this.translateSys('error') + "8.2")
 
 				}
 			},
-			onCheckBoxValue(e) { //缁戝畾Model鍊�-				let values = e.detail.value || []
-				const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
-				if (item?.setting?.colList) {
-					const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
-					if (col) {
-						col.value = values
-						let attr = col.fieldId;
-						this.head_styledef.form.model[attr] = col.value;
-						var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�-							this.onChange(onChangeEvent);
-						}
-						return
-					}
-				} else {
-					if (item) {
-						item.value = values
-						let attr = item.fieldId;
-						this.head_styledef.form.model[attr] = item.value;
-						var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�-							this.onChange(onChangeEvent);
-						}
-					}
+			setFormValues(attrs) {
+				const head_styledef = this.head_styledef
+				if (!Array.isArray(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
+				})
 			},
-			onRadioBoxValue(e) { //缁戝畾Model鍊�-				let values = e.detail.value || ""
-				const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
-				if (item?.setting?.colList) {
-					const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
-					if (col) {
-						col.value = values
-						let attr = col.fieldId;
-						this.head_styledef.form.model[attr] = col.value;
-						var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�-							this.onChange(onChangeEvent);
-						}
-						return
-					}
-				} else {
-					if (item) {
-						item.value = values
-						let attr = item.fieldId;
-						this.head_styledef.form.model[attr] = item.value;
-						var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�-							this.onChange(onChangeEvent);
-						}
-					}
-
+			//鍔犺浇宸茬爜鐩樺唴瀹�+			viewAceionContent(data) {
+				var $this = this;
+				if (JSON.stringify(data.content) == '{}') {
+					return;
 				}
+				var styleStr = JSON.stringify($this.detail1_styledef);
+				data.content.forEach(cont => {
+					let detailStyle = JSON.parse(styleStr);
+					if (detailStyle.form) {
+
+
+						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); //寰呭垎鎷�+						}
+					}
+				});
 
 			},
 
-			onModelValue(item) {
-				var attr = item.fieldId;
-				this.head_styledef.form.model[attr] = item.value;
-			},
 			onDetail1EnterChange() {},
 			//鐐逛腑琛ㄥ崟
 			onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず
@@ -1577,111 +1694,96 @@
 					var $this = this;
 					runCustomEvent(dataInfo).then(result => {
 						console.log(result);
-
-						if (result.ret != 0) {
-							var tip = result.err_info ? typeof result
-								.err_info ==
-								'string' ?
+						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"
 												) +
@@ -1694,55 +1796,31 @@
 												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')
-						});
+						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')
-					});
+					showError(ex, this.translateSys('error') + "9.2")
 
 				}
 			},
@@ -2015,71 +2093,8 @@
 		height: calc(100vh - 30rpx);
 		padding: 15rpx 0;
 
-		.v-headStyle:first-child {
-			margin-top: 15rpx;
-		}
-
-		.v-headStyle .txt_title {
-			font-size: 34rpx;
-			text-align: right;
-			display: inline-block;
-			vertical-align: 24rpx;
-		}
-
-		.v-headStyle input {
-			display: inline-block;
-			/* border: 1px solid #d5d5d5; */
-			/* width: 65%; */
-			width: 85%;
-			height: 52rpx;
-			line-height: 34rpx;
-			background: #FFF;
-			border-radius: 0 !important;
-			color: #2d8cf0;
-			padding: 10rpx 8rpx 12rpx;
-			font-size: 34rpx;
-			font-family: inherit;
-			box-shadow: none !important;
-			transition-duration: 0.1s;
-			margin-top: 4rpx;
-		}
-
-		.v-headStyle input::-webkit-input-placeholder {
-			font-size: 12rpx;
-		}
-
-		.input-wrapper {
-			border: 1px solid #d5d5d5;
-			display: inline-block;
-			width: 65%;
-			line-height: 22rpx;
-		}
-
-		[nvue] uni-view {
-			position: relative;
-			border: 0 solid #000;
-			box-sizing: border-box;
-		}
-
-		.uni-input {
-			/* border: none; */
-		}
-
-		.uni-icon {
-			/* border: 1px solid red; */
-			width: 30rpx;
-			padding: 10rpx 5rpx;
-			font-family: uniicons;
-			font-size: 40rpx;
-			font-weight: 400;
-			font-style: normal;
-			/* width: 48rpx; */
-			height: 48rpx;
-			line-height: 48rpx;
-			color: #2d8cf0;
-			cursor: pointer;
-			display: inline-block;
-			vertical-align: 18rpx;
+		.v-headStyle {
+			width: 98%;
 		}
 
 		.v-content {
@@ -2118,6 +2133,16 @@
 			width: 91%;
 			display: inline-block;
 			text-align: left;
+
+			.uni-forms-item {
+				padding-bottom: 5rpx;
+				margin-bottom: 0;
+
+				.uni-forms-item__label {
+					height: 20px !important;
+					padding: 0 10rpx 0 0 !important;
+				}
+			}
 		}
 
 		.dv-panel-buticon {
@@ -2150,47 +2175,6 @@
 			border-radius: 8rpx;
 		}
 
-		.dv-panel .txt_title {
-			font-size: 34rpx;
-			text-align: right;
-			display: inline-block;
-		}
-
-		.dv-panel input {
-			vertical-align: middle;
-			display: inline-block;
-			border: 2rpx solid #d5d5d5;
-			width: 68%;
-			height: 52rpx;
-			line-height: 34rpx;
-			background: #FFF;
-			border-radius: 14rpx !important;
-			color: #2d8cf0;
-			padding: 6rpx 8rpx 8rpx;
-			font-size: 32rpx;
-			font-family: inherit;
-			box-shadow: none !important;
-			transition-duration: 0.1s;
-			margin-top: 0rpx;
-		}
-
-		.dv-panel input::-webkit-input-placeholder {
-			font-size: 10rpx;
-		}
-
-		.dv-panel .form-item-span {
-			vertical-align: text-top;
-			color: #2d8cf0;
-			white-space: normal;
-			word-break: break-all;
-			display: inline-block;
-			width: calc(100% - 100px);
-		}
-
-		.dv-panel .form-item-input {
-
-			width: calc(100% - 100px);
-		}
 
 		.dv-panel-button {
 			display: inline-block;

--
Gitblit v1.9.1