From 368dbde6b3ee39a3ac0cdac5089a9ce56ef525f8 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期一, 04 十一月 2024 12:42:51 +0800
Subject: [PATCH] 5601 open comm_dlg

---
 pages/modal/5602.vue | 2629 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 1,782 insertions(+), 847 deletions(-)

diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue
index e5cdb95..d87a1e8 100644
--- a/pages/modal/5602.vue
+++ b/pages/modal/5602.vue
@@ -17,17 +17,18 @@
 					v-model="item.value" :localdata="item.dict" @change="onEnterChange(item)" :readonly="item.disabled"
 					:clear-icon="false" :popup-title="item.label"></uni-data-picker>
 
-				<view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'">
+				<view class="input-wrapper" :style="{'width':`calc(96% - ${item.labelWidth}px)`}"
+					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>
+						@click="classAttr_extButton(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="focusFieldId == item.fieldId" @focus="ontap(index,item)"
-						@keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" />
+						:focus="focusFieldId == item.fieldId" @focus="ontap(index,item)" @click="onClick(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>
+						@click="classAttr_extButton(item)">&#xe568;</text>
 				</view>
 			</view>
 		</view>
@@ -47,56 +48,59 @@
 							<view class="view-tab-content" id="tabpanel">
 								<image class="logo" v-if="detail1StyleDefList.length==0"
 									src="../../images/mobox_log_200x40.png"></image>
-								<div class="dv-panel" v-for="(style,ii) in detail1StyleDefList" @tap="onPanelClick(ii)"
-									:id="'tabpanel'+style.form.htmlobjId"
-									:class="style.form.htmlobjId==active_id?'bk-active':activelist[ii].active==true?'bk-active':''">
-									<div class="dv-panel-input">
-										<div class="dv-input" 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>
-												<input class="uni-input" v-if="!item.disabled"
-													:type="item.name=='InputNumber'?'number':'text'" :value="item.value"
-													:disabled="item.disabled" :placeholder="item.placeholder" />
-											</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>
-														<input class="uni-input" v-if="!cols.disabled"
-															:type="cols.name=='InputNumber'?'number':'text'"
-															:value="cols.value" :disabled="cols.disabled"
-															:placeholder="cols.placeholder" />
-													</view>
-												</uni-col>
-											</uni-row>
+								<checkbox-group @change="checkboxChange">
+									<div class="dv-panel" v-for="(style,ii) in detail1StyleDefList"
+										@tap="onPanelClick(ii)" :id="'tabpanel'+style.form.htmlobjId"
+										:class="style.form.htmlobjId==active_id?'bk-active':activelist[ii].active==true?'bk-active':''">
+										<div class="dv-panel-input">
+											<div class="dv-input" 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>
+													<input class="uni-input" v-if="!item.disabled"
+														:type="item.name=='InputNumber'?'number':'text'"
+														v-model="item.value" :disabled="item.disabled"
+														:placeholder="item.placeholder" :maxlength="-1" />
+												</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>
+															<input class="uni-input" v-if="!cols.disabled"
+																:type="cols.name=='InputNumber'?'number':'text'"
+																v-model="cols.value" :disabled="cols.disabled"
+																:placeholder="cols.placeholder" :maxlength="-1" />
+														</view>
+													</uni-col>
+												</uni-row>
+											</div>
+										</div>
+										<div class="dv-panel-button">
+
+											<checkbox v-if="param.Sub_Page[0].Select_Button==true" :value="ii"
+												:checked="style.SelBut_Checked" />
+											<!-- <text></text> -->
+
+											<!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> -->
+											<button type="warn" @tap="delItem(ii)"
+												v-if="param.Sub_Page[0].Del_Button==true">{{translateSys('delete')}}</button>
 										</div>
 									</div>
-									<div class="dv-panel-button">
-										<checkbox-group v-if="param.Sub_Page[0].Select_Button==true">
-											<label>
-												<checkbox :value="style.SelBut_Checked"
-													:checked="style.SelBut_Checked" />
-												<!-- <text></text> -->
-											</label>
-										</checkbox-group>
-										<!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> -->
-										<button type="warn" @tap="delItem(ii)"
-											v-if="param.Sub_Page[0].Del_Button==true">鍒犻櫎</button>
-									</div>
-								</div>
+								</checkbox-group>
 							</view>
 							<view v-if="param.Sub_Page[0].OK_Button==true">
 								<button type="default" @tap="cancel"
 									class="btn_cancel">{{translateSys('cancel')}}</button>
-								<button type="primary" @tap="ok" class="btn_add">{{translateSys('ok')}}</button>
+								<button type="primary" @tap="ok" class="btn_add" :class="okLoading?'btn_disabled':''"
+									:disabled="okLoading">{{translateSys('ok')}}</button>
 							</view>
 						</view>
 					</swiper-item>
@@ -106,46 +110,47 @@
 							<view class="view-tab-content">
 								<image class="logo" v-if="detail2StyleDefList.length==0"
 									src="../../images/mobox_log_200x40.png"></image>
-								<div class="dv-panel" v-for="(style,ii) in detail2StyleDefList">
-									<div class="dv-panel-input">
-										<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">{{item.value}}</span>
-											</view>
-											<!-- 鏍呮牸甯冨眬 -->
-											<uni-row class="demo-uni-row" v-if="item.name=='Layout'">
-												<uni-col :span="24 / item.setting.col"
-													v-for="(cols,key) in item.setting.colList">
-													<view v-if="cols!=null">
-														<text class="txt_title"
-															:style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
-														<span class="form-item-span">{{cols.value}}</span>
-													</view>
-												</uni-col>
-											</uni-row>
+								<checkbox-group @change="checkboxChange2">
+									<div class="dv-panel" v-for="(style,ii) in detail2StyleDefList">
+										<div class="dv-panel-input">
+											<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">{{item.value}}</span>
+												</view>
+												<!-- 鏍呮牸甯冨眬 -->
+												<uni-row class="demo-uni-row" v-if="item.name=='Layout'">
+													<uni-col :span="24 / item.setting.col"
+														v-for="(cols,key) in item.setting.colList">
+														<view v-if="cols!=null">
+															<text class="txt_title"
+																:style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
+															<span class="form-item-span">{{cols.value}}</span>
+														</view>
+													</uni-col>
+												</uni-row>
+											</div>
+										</div>
+										<div class="dv-panel-button">
+
+											<checkbox v-if="param.Sub_Page[1].Select_Button==true" :value="ii"
+												:checked="style.SelBut_Checked" />
+											<!-- <text></text> -->
+
+											<!-- <button type="primary" @click="savaDataObj(style,ii)" v-if="param.Sub_Page[1].OK_Button==true">淇濆瓨</Button> -->
+											<button type="warn" @tap="delDataObj(style,ii)"
+												v-if="param.Sub_Page[1].Del_Button==true">{{translateSys('delete')}}</button>
 										</div>
 									</div>
-									<div class="dv-panel-button">
-										<checkbox-group v-if="param.Sub_Page[1].Select_Button==true">
-											<label>
-												<checkbox :value="style.SelBut_Checked"
-													:checked="style.SelBut_Checked" />
-												<!-- <text></text> -->
-											</label>
-										</checkbox-group>
-										<!-- <button type="primary" @click="savaDataObj(style,ii)" v-if="param.Sub_Page[1].OK_Button==true">淇濆瓨</Button> -->
-										<button type="warn" @tap="delDataObj(style,ii)"
-											v-if="param.Sub_Page[1].Del_Button==true">{{translateSys('delete')}}</button>
-									</div>
-								</div>
+								</checkbox-group>
 							</view>
 							<view v-if=" param.Sub_Page[1].OK_Button==true">
 								<button type="default" @tap="cancel"
 									class="btn_cancel">{{translateSys('cancel')}}</button>
-								<button type="primary" @tap="ok2" class="btn_add">{{translateSys('ok')}}</button>
+								<button type="primary" @tap="ok2" class="btn_add" :class="ok2Loading?'btn_disabled':''"
+									:disabled="ok2Loading">{{translateSys('ok')}}</button>
 							</view>
 						</view>
 					</swiper-item>
@@ -163,19 +168,47 @@
 			</view>
 
 		</view>
-		<!-- <view v-if="current==0 && param.Sub_Page[0].OK_Button==true">
-			<button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button>
-		    <button type="primary" @tap="ok" class="btn_add">纭畾</button>
+		<view>
+			<uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange">
+				<view class="popup-header">{{check_list.title}}</view>
+				<view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }"
+					:style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}">
+					<view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
+						<view class="view_popup_CheckList" v-for="(item,index) in check_list.items">
+							<checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check"
+								:data-index="index" :style="{'margin-left': '10rpx'}">
+								<label>
+									<checkbox :value="item.check" :checked="item.check" />
+									<text>{{item.name}}</text>
+								</label>
+							</checkbox-group>
+						</view>
+					</view>
+					<view class="popup-footer">
+						<button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button>
+						<button type="default" @tap="popup_cancel"
+							class="btn_popup_cancel">{{translateSys('cancel')}}</button>
+					</view>
+				</view>
+			</uni-popup>
 		</view>
-		<view v-if="current==1 && param.Sub_Page[1].OK_Button==true">
-			<button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button>
-		    <button type="primary" @tap="ok2" class="btn_add">纭畾</button>
-		</view> -->
+
 	</view>
 </template>
 
 <script>
 	import Base64 from '../../components/js-base64/base64.js'
+	import {
+		appGetInfo,
+		dictGetInfo
+	} from "@/api/mobox.js"
+	import {
+		getUIStyleInfo,
+		runCustomEvent,
+		dataObjCreate,
+		dataObjDel
+	} from "@/api/data.js"
+
 	export default {
 		modules: {
 			Base64,
@@ -183,8 +216,8 @@
 		data() {
 			return {
 				title: this.translateSys("sorting"),
-				ClsID: "Sorting_Detail",
-				ClsID2: "Sorting_Result",
+				ClsID: "Distribution_CNTR_Detail",
+				ClsID2: "Picking_Result",
 				param: {},
 				focusFieldId: "",
 				focusOldFieldId: "",
@@ -208,6 +241,15 @@
 				items: [],
 				active_id: '',
 				activelist: [],
+				okLoading: false,
+				ok2Loading: false,
+
+
+				global_attr: [],
+				refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
+				popupType: "center",
+				check_list: {},
+				popupParam: {},
 			};
 		},
 		onLoad(options) {
@@ -218,22 +260,7 @@
 			this.$data.title = options.titlename;
 			this.$data.param = JSON.parse(options.param);
 			// console.log(this.$data.param);
-			//鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�-			this.Head_UIStyleGetInfo(this.$data.ClsID, this.$data.param.Input_UI_Style.ID);
-
-			//鍔犺浇鍒濆鐣岄潰
-			if (this.$data.param.Show_Welcom_Page) {
-				this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+');
-				this.$data.param.Welcome_Page.Width = parseInt(this.$data.param.Welcome_Page.Width);
-				this.$data.param.Welcome_Page.Height = parseInt(this.$data.param.Welcome_Page.Height);
-			}
-			//鍔犺浇Tab椤电
-			this.$data.items.push(this.$data.param.Sub_Page[0].Name);
-			this.$data.items.push(this.$data.param.Sub_Page[1].Name);
-			this.Detail1_UIstyleGetInfo(this.ClsID, this.$data.param.Sub_Page[0].UI_Style.ID);
-			this.Detail2_UIstyleGetInfo(this.ClsID2, this.$data.param.Sub_Page[1].UI_Style.ID);
-
-			console.log(this.$data.param);
+			this.loadData(options.paramValue)
 		},
 		methods: {
 			setData: function(obj) {
@@ -257,32 +284,101 @@
 					});
 				});
 			},
+
+			async loadData(paramValue) {
+				//鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+				await this.Head_UIStyleGetInfo(this.$data.ClsID, this.$data.param.Input_UI_Style.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;
+										}
+									});
+								}
+							});
+						}
+					})
+				}
+
+				//鍔犺浇鍒濆鐣岄潰
+				if (this.$data.param.Show_Welcom_Page) {
+					this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+');
+					this.$data.param.Welcome_Page.Width = parseInt(this.$data.param.Welcome_Page.Width);
+					this.$data.param.Welcome_Page.Height = parseInt(this.$data.param.Welcome_Page.Height);
+				}
+				//鍔犺浇Tab椤电
+				this.$data.items.push(this.$data.param.Sub_Page[0].Name);
+				this.$data.items.push(this.$data.param.Sub_Page[1].Name);
+				await this.Detail1_UIstyleGetInfo(this.ClsID, this.$data.param.Sub_Page[0].UI_Style.ID);
+				await this.Detail2_UIstyleGetInfo(this.ClsID2, this.$data.param.Sub_Page[1].UI_Style.ID);
+
+
+				console.log(this.$data.param);
+			},
 			changeSwiper(evt) {
 				let index = evt.target.current || evt.detail.current;
 				this.setData({
 					current: index
 				})
 			},
+			checkboxChange(e) {
+				var items = this.detail1StyleDefList
+				var values = e.detail.value;
+				for (var i = 0, lenI = items.length; i < lenI; ++i) {
+					const item = items[i]
+					if (values.includes(i)) {
+						item.SelBut_Checked = true
+					} else {
+						item.SelBut_Checked = false
+					}
+				}
+			},
+			checkboxChange2(e) {
+				var items = this.detail2StyleDefList
+				var values = e.detail.value;
+				for (var i = 0, lenI = items.length; i < lenI; ++i) {
+					const item = items[i]
+					if (values.includes(i)) {
+						item.SelBut_Checked = true
+					} else {
+						item.SelBut_Checked = false
+					}
+				}
+			},
+
 			async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�-				var $this = this;
-				var dataInfo = {
-					class_id: class_id,
-					ui_style_id: style_id,
-				};
-				this.$store.dispatch('UIStyleGetInfo', dataInfo).then(ret => {
-					// console.log(ret);
-					if (ret.err_code == 0) {
-						var styledef = "";
-						if (ret.result.style_def) {
-							//mobox2鐨剆tyle_def鏄痡son瀛楃涓�-							styledef = ret.result.style_def.replace(/\\/g, "");
-							//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�-							if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result
-								.style_def);
-						}
-						$this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {};
-						// this.form = this.head_styledef.form.model;
-						// console.log($this.$data.head_styledef);
+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: class_id,
+						ui_style_id: style_id,
+					};
+					const result = await getUIStyleInfo(dataInfo)
+					var styledef = "";
+					if (result.style_def) {
+						//mobox2鐨剆tyle_def鏄痡son瀛楃涓�+						styledef = result.style_def.replace(/\\/g, "");
+						//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+						if (!result.style_def.includes('"')) styledef = Base64.decode(result
+							.style_def);
+					}
+					$this.$data.head_styledef = result.style_def ? JSON.parse(styledef) : {};
+					// this.form = this.head_styledef.form.model;
+					// console.log($this.$data.head_styledef);
+					if ($this.head_styledef.form?.items) {
 						$this.head_styledef.form.items.forEach(async (ele, index) => {
 							if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
 								await this.DictGetInfo(ele.bind.dict, index, 'mast');
@@ -295,111 +391,94 @@
 								}
 							}
 						});
-					} else {
-						uni.showModal({
-							title: this.translateSys("error") + "1",
-							content: ret.err_msg,
-							showCancel: false,
-							confirmText: this.translateSys("cancel")
-						});
+
 					}
-				}).catch(ex => {
+				} catch (ex) {
 					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 					uni.showModal({
 						title: this.translateSys("error") + "1.1",
-						content: ex.errMsg,
+						content: tip,
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
-				});
+				}
+
 
 			},
 			async Detail1_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�-				var $this = this;
-				var dataInfo = {
-					class_id: class_id,
-					ui_style_id: style_id,
-				};
-				this.$store.dispatch('UIStyleGetInfo', dataInfo).then(ret => {
-					// console.log(ret);
-					if (ret.err_code == 0) {
-						var styledef = "";
-						if (ret.result.style_def) {
-							//mobox2鐨剆tyle_def鏄痡son瀛楃涓�-							styledef = ret.result.style_def.replace(/\\/g, "");
-							//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�-							if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result
-								.style_def);
-						}
-						$this.$data.detail1_styledef = ret.result.style_def ? JSON.parse(styledef) : {};
-						$this.$data.detail1_styledef.SelBut_Checked = true;
-						// console.log($this.$data.detail1_styledef);
-						// $this.$data.detail1StyleDefList.push($this.$data.detail1_styledef);
-						// var aa = JSON.stringify(this.detail1_styledef);
-						// $this.$data.detail1StyleDefList.push(JSON.parse(aa));
-						// console.log($this.$data.detail1StyleDefList);
+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: class_id,
+						ui_style_id: style_id,
+					};
+					const result = await getUIStyleInfo(dataInfo)
+					var styledef = "";
+					if (result.style_def) {
+						//mobox2鐨剆tyle_def鏄痡son瀛楃涓�+						styledef = result.style_def.replace(/\\/g, "");
+						//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+						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 = true;
+					// console.log($this.$data.detail1_styledef);
+					// $this.$data.detail1StyleDefList.push($this.$data.detail1_styledef);
+					// var aa = JSON.stringify(this.detail1_styledef);
+					// $this.$data.detail1StyleDefList.push(JSON.parse(aa));
+					// console.log($this.$data.detail1StyleDefList);
+					if ($this.detail1_styledef.form?.items) {
 						$this.detail1_styledef.form.items.forEach(async (ele, index) => {
 							if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
 								await this.DictGetInfo(ele.bind.dict, index, 'sub');
 							}
 						});
-					} else {
-						uni.showModal({
-							title: this.translateSys("error") + "2",
-							content: ret.err_msg,
-							showCancel: false,
-							confirmText: this.translateSys("cancel")
-						});
 					}
-				}).catch(ex => {
+				} catch (ex) {
 					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 					uni.showModal({
 						title: this.translateSys("error") + "2.1",
-						content: ex.errMsg,
+						content: tip,
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
-				});
+				}
 
 			},
 			async Detail2_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�-				var $this = this;
-				var dataInfo = {
-					class_id: class_id,
-					ui_style_id: style_id,
-				};
-				this.$store.dispatch('UIStyleGetInfo', dataInfo).then(ret => {
-					// console.log(ret);
-					if (ret.err_code == 0) {
-						var styledef = "";
-						if (ret.result.style_def) {
-							//mobox2鐨剆tyle_def鏄痡son瀛楃涓�-							styledef = ret.result.style_def.replace(/\\/g, "");
-							//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�-							if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result
-								.style_def);
-						}
-						$this.$data.detail2_styledef = ret.result.style_def ? JSON.parse(styledef) : {};
-						$this.$data.detail2_styledef.SelBut_Checked = true;
-						// console.log($this.$data.detail2_styledef);
 
-					} else {
-						uni.showModal({
-							title: this.translateSys("error") + "3",
-							content: ret.err_msg,
-							showCancel: false,
-							confirmText: this.translateSys("cancel")
-						});
+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: class_id,
+						ui_style_id: style_id,
+					};
+					const result = await getUIStyleInfo(dataInfo)
+					var styledef = "";
+					if (result.style_def) {
+						//mobox2鐨剆tyle_def鏄痡son瀛楃涓�+						styledef = result.style_def.replace(/\\/g, "");
+						//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+						if (!result.style_def.includes('"')) styledef = Base64.decode(result
+							.style_def);
 					}
-				}).catch(ex => {
+					$this.$data.detail2_styledef = result.style_def ? JSON.parse(styledef) : {};
+					$this.$data.detail2_styledef.SelBut_Checked = true;
+				} catch (ex) {
 					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 					uni.showModal({
 						title: this.translateSys("error") + "3.1",
-						content: ex.errMsg,
+						content: tip,
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
-				});
+				}
+
+
 
 			},
 			async DictGetInfo(dict, index, type) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�@@ -410,53 +489,44 @@
 					dict_name: dict.name
 				};
 				// console.log(dataInfo);
-				this.$store.dispatch('DictGetInfo', dataInfo).then(async (success) => {
-					// console.log(success);
-					if (success.err_code == 0) {
-						var list = [];
-						var itemName = '';
-						success.result.dict_item_list.forEach((item) => {
-							if (item.is_default == '1')
-								itemName = item.name;
-							list.push({
-								text: item.value,
-								value: item.name,
-							});
+				try {
+					const result = await dictGetInfo(dataInfo)
+					var list = [];
+					var itemName = '';
+					(result.dict_item_list || []).forEach((item) => {
+						if (item.is_default == '1')
+							itemName = item.name
+						list.push({
+							text: item.value ? item.value : item.name,
+							value: item.name,
 						});
-
-						if (type == 'mast') { //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
-							if (itemName) {
-								$this.head_styledef.form.items[index].value = itemName;
-								var attr = $this.head_styledef.form.items[index].fieldId;
-								$this.head_styledef.form.model[attr] = itemName;
-							}
-							$this.head_styledef.form.items[index].dict = list;
-							var head_styledef = JSON.parse(JSON.stringify($this.head_styledef));
-							$this.head_styledef = [];
-							$this.head_styledef = head_styledef;
-							// console.log($this.$data.detail1StyleDefList);
-						} else {
-							if (itemName) {
-								$this.detail1_styledef.form.items[index].value = itemName;
-								var attr = $this.detail1_styledef.form.items[index].fieldId;
-								$this.detail1_styledef.form.model[attr] = itemName;
-							}
-							$this.detail1_styledef.form.items[index].dict = list;
-							var detail1_styledef = JSON.parse(JSON.stringify($this.detail1_styledef));
-							$this.detail1_styledef = [];
-							$this.detail1_styledef = detail1_styledef;
-							// console.log($this.$data.detail1_styledef);
+					});
+					//鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+					if (type == 'mast') { //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+						if (itemName) {
+							$this.head_styledef.form.items[index].value = itemName;
+							var attr = $this.head_styledef.form.items[index].fieldId;
+							$this.head_styledef.form.model[attr] = itemName;
 						}
-
+						$this.head_styledef.form.items[index].dict = list;
+						var head_styledef = JSON.parse(JSON.stringify($this.head_styledef));
+						$this.head_styledef = [];
+						$this.head_styledef = head_styledef;
+						// console.log($this.head_styledef);
 					} else {
-						uni.showModal({
-							title: this.translateSys("error") + "9.1",
-							content: success.err_msg,
-							showCancel: false,
-							confirmText: this.translateSys("cancel")
-						});
+						if (itemName) {
+							$this.detail1_styledef.form.items[index].value = itemName;
+							var attr = $this.detail1_styledef.form.items[index].fieldId;
+							$this.detail1_styledef.form.model[attr] = itemName;
+						}
+						$this.detail1_styledef.form.items[index].dict = list;
+						var detail1_styledef = JSON.parse(JSON.stringify($this.detail1_styledef));
+						$this.detail1_styledef = [];
+						$this.detail1_styledef = detail1_styledef;
+						// console.log($this.$data.detail1_styledef);
 					}
-				}).catch(ex => {
+
+				} catch (ex) {
 					// console.log(ex);
 					uni.showModal({
 						title: this.translateSys("error") + "9",
@@ -464,9 +534,11 @@
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
-				});
+				}
 			},
-
+			onClick(item) {
+				this.focusFieldId = item.fieldId
+			},
 			ontap(index, item) { //鎵爜鍔熻兘
 				// var $ele = e;
 				this.focusOldFieldId = item.fieldId
@@ -477,7 +549,7 @@
 					var $this = this;
 
 					console.log(item);
-					if (item.oldvalue != item.value) {
+					if (item.oldvalue != item.value && item.value.trim() != "") {
 						item.oldvalue = item.value;
 						var attr = item.fieldId;
 						this.head_styledef.form.model[attr] = item.value;
@@ -489,21 +561,66 @@
 						if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� 							$this.onChange(onChangeEvent);
 						}
-						if (item.value) { //杈撳叆妗嗕笉涓虹┖
+						if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌� 							//鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
-							const curIndex = $this.head_styledef.form.items.findIndex((ele, index2, arr) => {
-								return (ele.name == 'Input' || ele.name == 'InputNumber') && index2 >
-									index;
-							})
-							if (curIndex > -1) {
-								$this.setData({
-									focusFieldId: $this.head_styledef.form.items[curIndex].fieldId
-								})
+							var findd = false
+							for (let i in $this.head_styledef.form.items) {
+								const ele = $this.head_styledef.form.items[i]
+
+								if (ele.name != "Layout") {
+									if (ele.name == 'Input' || ele.name == 'InputNumber') {
+										if (attr == ele.fieldId) {
+											findd = true
+										} else {
+											if (findd) {
+												$this.setData({
+													focusFieldId: ele.fieldId
+												})
+												break
+											}
+
+										}
+
+									}
+								} else {
+									if (findd) {
+										let curIndex = ele.setting.colList.findIndex((col, index2, arr) => {
+											return (col.name == 'Input' || col.name == 'InputNumber');
+										})
+										if (curIndex > -1) {
+											$this.setData({
+												focusFieldId: ele.setting.colList[curIndex]
+													.fieldId
+											})
+											break
+										}
+
+									} else {
+										let curIndex = ele.setting.colList.findIndex((col, index2, arr) => {
+											return attr == col.fieldId;
+										})
+										if (curIndex > -1) {
+											findd = true
+											let curIndex2 = ele.setting.colList.findIndex((col, index2, arr) => {
+												return (col.name == 'Input' || col.name ==
+														'InputNumber') &&
+													index2 >
+													curIndex;
+											})
+											if (curIndex2 > -1) {
+												$this.setData({
+													focusFieldId: ele.setting.colList[curIndex]
+														.fieldId
+												})
+												break
+											}
+										}
+									}
+
+								}
 							}
-							// setTimeout(function(){
-							// 	uni.hideKeyboard();
-							// },1000);
 						}
+
 						// if(onSuffixClickCallbackEvent.id){   //鍚庡浘鏍囩偣鍑讳簨浠� 						//   this.onSuffixClick(onSuffixClickCallbackEvent);
 						// }
@@ -515,26 +632,48 @@
 			},
 			onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
 				// console.log(item);
-				if (item.oldvalue != item.value) {
+				if (item.oldvalue != item.value && item.value.trim() != "") {
 					item.oldvalue = item.value;
 					var attr = item.fieldId;
 					this.head_styledef.form.model[attr] = item.value;
 					var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-					var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�-					var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� 					var isflag = false;
 
 					if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� 						this.onChange(onChangeEvent);
 					}
-					// if(onSuffixClickCallbackEvent.id){   //鍚庡浘鏍囩偣鍑讳簨浠�-					//   this.onSuffixClick(onSuffixClickCallbackEvent);
-					// }
-					// if(onSuffixClickEvent.id){   //鍚庡浘鏍囩偣鍑诲洖璋�-					//   this.onSuffixClickCallback(onSuffixClickEvent);
-					// }
 				}
 			},
+			classAttr_extButton(item) {
+				var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+				var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+
+				if (!onSuffixClickCallbackEvent.id) {
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: this.translate('icon_click_callback_empty'),
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+					return;
+				}
+				if (!onSuffixClickEvent.id) {
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: this.translate('icon_click_event_empty'),
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+					return;
+				}
+				this.$data.popupType = 'right'
+				// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
+				this.$refs.popup.open(this.popupType);
+
+				this.dataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id,
+					item);
+			},
+
 			getDetailAttrList(list, selectButton) {
 				const detailAttrList = [];
 				list.forEach(style => {
@@ -648,225 +787,248 @@
 							global_attr: '',
 							input_param: input_param,
 						};
-						this.$store.dispatch('runCustomEvent', dataInfo).then(ret => {
-							// console.log(ret);
-							if (ret.err_code == 0) {
-								var result = ret.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 == 801) uni.showModal({
-										title: this.translateSys("tip"),
-										content: tip,
-										showCancel: false,
-										confirmText: this.translateSys("cancel")
-									});
-									else uni.showModal({
-										title: this.translateSys("tip"),
-										content: tip + ',' + this.translateSys('tip') + ':' + result
-											.ret,
-										showCancel: false,
-										confirmText: this.translateSys("cancel")
-									});
-									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("cancel")
-									});
-
-									if (result.result_type == 0 && result.action) {
-										result.action.forEach(item => {
-											if (item.action_type == "insert_subtable_page_row") { //鍒嗘嫞涓�-												$this.$data.param.Show_Welcom_Page = false;
-												var value = item.value;
-												$this.viewAceionRow(value);
-											} else if (item.action_type ==
-												"set_subtable_page_content") { //宸插垎鎷�-												$this.$data.param.Show_Welcom_Page = false;
-												var value = item.value;
-												if (value.clear_confirm != false && value.clear ==
-													true && $this.$data.detail1StyleDefList.length >
-													0 && value.page_name == $this.$data.param.Sub_Page[
-														0].Name) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鍒嗘嫞鏄惁鏈夋暟鎹�-													uni.showModal({
-														title: this.translateSys("tip"),
-														content: this.translate(
-																"are_you_sure_clear_first") +
-															this.translateSys(
-																"quotation_mark_left") + value
-															.page_name + this.translateSys(
-																"sys.quotation_mark_right") +
-															this.translate(
-																"are_you_sure_clear_last"),
-
-
-														success: function(res) {
-															if (res.confirm) {
-																$this.$data
-																	.detail1StyleDefList = [];
-																$this.viewAceionContent(
-																	value);
-															} else if (res.cancel) {
-																$this.$data
-																	.detail1StyleDefList = [];
-																$this.viewAceionContent(
-																	value);
-															}
-														}
-													});
-												} else {
-													if (value.page_name == $this.$data.param.Sub_Page[
-															0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-														$this.$data.detail1StyleDefList = [];
-													} else {
-														$this.$data.detail2StyleDefList = [];
-													}
-													$this.viewAceionContent(value);
-												}
-											} else if (item.action_type ==
-												"select_subtable_page_row") {
-												// value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}}
-												var value = item.value;
-												$this.detail1StyleDefList.forEach((ele, index) => {
-													$this.activelist[index].active = false;
-													if (ele.form.objId == value.row.id) {
-														ele.SelBut_Checked = true;
-														$this.active_id = ele.form.htmlobjId;
-														//鑷姩婊氬姩鍒版寚瀹氬厓绱�-														uni.createSelectorQuery()
-															.select("#tabpanel") //瀵瑰簲澶栧眰鑺傜偣
-															.boundingClientRect((
-																container) => {
-																uni.createSelectorQuery()
-																	.select("#tabpanel" +
-																		ele.form.htmlobjId
-																	) //鐩爣鑺傜偣
-																	.boundingClientRect((
-																		target) => {
-																		uni.pageScrollTo({
-																			scrollTop: target
-																				.top -
-																				container
-																				.top, //婊氬姩鍒板疄闄呰窛绂绘槸鍏冪礌璺濈椤堕儴鐨勮窛绂诲噺鍘绘渶澶栧眰鐩掑瓙鐨勬粴鍔ㄨ窛绂�-																		});
-																	})
-																	.exec();
-															})
-															.exec();
-													}
-												});
-											} else if (item.action_type ==
-												"remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�-												var value = item.value;
-												if (value.page_name == $this.param.Sub_Page[0]
-													.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-													//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�-													value.row.forEach(row => {
-														$this.$data.detail1StyleDefList
-															.forEach((ele, index) => {
-																if (ele.form.objId == row
-																	.id) {
-																	$this.$data
-																		.detail1StyleDefList
-																		.splice(index, 1);
-																}
-															});
-													});
-												}
-											} else if (item.action_type == "set_subtable_page_row") {
-												$this.viewActionSetRow(item.value)
-
-											} else if (item.action_type ==
-												"set_subtable_page_ext_data") {
-												var value = item.value;
-												if (value.page_name == $this.$data.param.Sub_Page[0]
-													.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-													$this.setData({
-														detail1ExtData: value.ext_data
-													})
-												} else if (value.page_name == $this.$data.param
-													.Sub_Page[1].Name) {
-													$this.setData({
-														detail2ExtData: value.ext_data
-													})
-												}
-											} else if (item.action_type == "clear_subpage_rows") {
-												var value = item.value;
-												if (value.page_name == $this.$data.param.Sub_Page[0]
-													.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-													$this.setData({
-														detail1StyleDefList: [],
-														detail1ExtData: {}
-													})
-												} else if (value.page_name == $this.$data.param
-													.Sub_Page[1].Name) {
-													$this.setData({
-														detail2StyleDefList: [],
-														detail2ExtData: {}
-													})
-												}
-											} else if (item.action_type ==
-												"set_dlg_current_edit_attr") {
-												if ($this.focusOldFieldId == item.value)
-													$this.setData({
-														focusFieldId: ""
-													})
-												else {
-													$this.setData({
-														focusFieldId: $this.focusOldFieldId
-													})
-												}
-												$this.$nextTick(() => {
-													$this.setData({
-														focusFieldId: item.value
-													})
-												});
-											} else if (item.action_type == "set_dlg_attr") {
-												// value = {"attr":"xxx", "value":"xxx"}
-												var data = item.value;
-												$this.$data.head_styledef.form.items.forEach(async (
-													ele, index) => {
-													data.forEach(async (ele2, index) => {
-														if (ele.fieldId == ele2
-															.attr) {
-															ele.value = ele2
-																.value;
-														}
-													});
-												});
-											}
-										});
-									} else {
-										// this.detail2StyleDefList=[];
-										if (result.info) {
-											uni.showModal({
-												title: this.translateSys("error") + "4.3",
-												content: result.info,
-												showCancel: false,
-												confirmText: this.translateSys("cancel")
-											});
-										}
+						runCustomEvent(dataInfo).then(result => {
+							// 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 == 801) {
+									if (this.param.Only_Script_Error) {
+										let pos = tip.indexOf("锛�);
+										if (pos > -1) tip = tip.substring(pos + 1);
 									}
-								}
-
-							} else {
-								uni.showModal({
-									title: this.translateSys("error") + "4",
-									content: ret.err_msg,
+									uni.showModal({
+										title: this.translateSys("tip"),
+										content: tip,
+										showCancel: false,
+										confirmText: this.translateSys("cancel")
+									});
+								} else uni.showModal({
+									title: this.translateSys("tip"),
+									content: tip + ',' + this.translateSys('tip') + ':' + result
+										.ret,
 									showCancel: false,
 									confirmText: this.translateSys("cancel")
 								});
+								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("cancel")
+								});
+
+								if (result.result_type == 0 && result.action) {
+									result.action.forEach(item => {
+										if (item.action_type == "insert_subtable_page_row") { //鍒嗘嫞涓�+											$this.$data.param.Show_Welcom_Page = false;
+											var value = item.value;
+											$this.viewAceionRow(value);
+										} else if (item.action_type ==
+											"set_subtable_page_content") { //宸插垎鎷�+											$this.$data.param.Show_Welcom_Page = false;
+											var value = item.value;
+											if (value.clear_confirm != false && value.clear ==
+												true && $this.$data.detail1StyleDefList.length >
+												0 && value.page_name == $this.$data.param.Sub_Page[
+													0].Name) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鍒嗘嫞鏄惁鏈夋暟鎹�+												uni.showModal({
+													title: this.translateSys("tip"),
+													content: this.translate(
+															"are_you_sure_clear_first") +
+														this.translateSys(
+															"quotation_mark_left") + value
+														.page_name + this.translateSys(
+															"quotation_mark_right") +
+														this.translate(
+															"are_you_sure_clear_last"),
+
+
+													success: function(res) {
+														if (res.confirm) {
+															$this.$data
+																.detail1StyleDefList = [];
+															$this.viewAceionContent(
+																value);
+														} else if (res.cancel) {
+															$this.$data
+																.detail1StyleDefList = [];
+															$this.viewAceionContent(
+																value);
+														}
+													}
+												});
+											} else {
+												if (value.page_name == $this.$data.param.Sub_Page[
+														0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+													$this.$data.detail1StyleDefList = [];
+												} else {
+													$this.$data.detail2StyleDefList = [];
+												}
+												$this.viewAceionContent(value);
+											}
+										} else if (item.action_type ==
+											"select_subtable_page_row") {
+											// value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}}
+											var value = item.value;
+											$this.detail1StyleDefList.forEach((ele, index) => {
+												$this.activelist[index].active = false;
+												if (ele.form.objId == value.row.id) {
+													ele.SelBut_Checked = true;
+													$this.active_id = ele.form.htmlobjId;
+													//鑷姩婊氬姩鍒版寚瀹氬厓绱�+													uni.createSelectorQuery()
+														.select("#tabpanel") //瀵瑰簲澶栧眰鑺傜偣
+														.boundingClientRect((
+															container) => {
+															uni.createSelectorQuery()
+																.select("#tabpanel" +
+																	ele.form.htmlobjId
+																) //鐩爣鑺傜偣
+																.boundingClientRect((
+																	target) => {
+																	uni.pageScrollTo({
+																		scrollTop: target
+																			.top -
+																			container
+																			.top, //婊氬姩鍒板疄闄呰窛绂绘槸鍏冪礌璺濈椤堕儴鐨勮窛绂诲噺鍘绘渶澶栧眰鐩掑瓙鐨勬粴鍔ㄨ窛绂�+																	});
+																})
+																.exec();
+														})
+														.exec();
+												}
+											});
+										} else if (item.action_type ==
+											"remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+											var value = item.value;
+											if (value.page_name == $this.param.Sub_Page[0]
+												.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+												//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+												value.row.forEach(row => {
+													$this.$data.detail1StyleDefList
+														.forEach((ele, index) => {
+															if (ele.form.objId == row
+																.id) {
+																$this.$data
+																	.detail1StyleDefList
+																	.splice(index, 1);
+															}
+														});
+												});
+											}
+										} else if (item.action_type == "set_subtable_page_row") {
+											$this.viewActionSetRow(item.value)
+
+										} else if (item.action_type ==
+											"set_subtable_page_ext_data") {
+											var value = item.value;
+											if (value.page_name == $this.$data.param.Sub_Page[0]
+												.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+												$this.setData({
+													detail1ExtData: value.ext_data
+												})
+											} else if (value.page_name == $this.$data.param
+												.Sub_Page[1].Name) {
+												$this.setData({
+													detail2ExtData: value.ext_data
+												})
+											}
+										} else if (item.action_type == "clear_subpage_rows") {
+											var value = item.value;
+											if (value.page_name == $this.$data.param.Sub_Page[0]
+												.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+												$this.setData({
+													detail1StyleDefList: [],
+													detail1ExtData: {}
+												})
+											} else if (value.page_name == $this.$data.param
+												.Sub_Page[1].Name) {
+												$this.setData({
+													detail2StyleDefList: [],
+													detail2ExtData: {}
+												})
+											}
+										} else if (item.action_type ==
+											"set_dlg_current_edit_attr") {
+											if ($this.focusOldFieldId == item.value)
+												$this.setData({
+													focusFieldId: ""
+												})
+											else {
+												$this.setData({
+													focusFieldId: $this.focusOldFieldId
+												})
+											}
+											$this.$nextTick(() => {
+												$this.setData({
+													focusFieldId: item.value
+												})
+											});
+										} else if (item.action_type == "set_dlg_attr") {
+											// value = {"attr":"xxx", "value":"xxx"}
+											var data = item.value;
+											$this.$data.head_styledef.form.items.forEach(async (
+												ele, index) => {
+												data.forEach(async (ele2, index) => {
+													if (ele.fieldId == ele2
+														.attr) {
+														if (ele.name ==
+															'Select' &&
+															ele2
+															.choice_list) {
+															const
+																dictItemList = [];
+															const
+																choiceList =
+																ele2
+																.choice_list ||
+																[];
+															for (let d in
+																	choiceList) {
+																const val =
+																	choiceList[
+																		d];
+																dictItemList
+																	.push({
+																		text: val,
+																		value: val
+																	});
+															}
+															ele.dict =
+																dictItemList;
+														}
+														ele.value = ele2
+															.value;
+
+													}
+												});
+											});
+										}
+									});
+								} else {
+									// this.detail2StyleDefList=[];
+									if (result.info) {
+										uni.showModal({
+											title: this.translateSys("error") + "4.3",
+											content: result.info,
+											showCancel: false,
+											confirmText: this.translateSys("cancel")
+										});
+									}
+								}
 							}
+
+
 						}).catch(ex => {
 							// console.log(ex);
+							let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 							uni.showModal({
 								title: this.translateSys("error") + "4.1",
-								content: ex.errMsg,
+								content: tip,
 								showCancel: false,
 								confirmText: this.translateSys("cancel")
 							});
@@ -959,48 +1121,53 @@
 				if (JSON.stringify(data.row) == '{}') {
 					return;
 				}
-				data.row.forEach(row => {
-					var styleStr = JSON.stringify(this.$data.detail1_styledef);
-					if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁
-						styleStr = JSON.stringify(this.$data.detail2_styledef);
-					} else {
-						if (data.page_name == this.$data.param.Sub_Page[1].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞
-							styleStr = JSON.stringify(this.$data.detail2_styledef); //寰呭垎鎷�-						}
+				var styleStr = JSON.stringify(this.$data.detail1_styledef);
+				if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁
+					styleStr = JSON.stringify(this.$data.detail2_styledef);
+				} else {
+					if (data.page_name == this.$data.param.Sub_Page[1].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞
+						styleStr = JSON.stringify(this.$data.detail2_styledef); //寰呭垎鎷� 					}
-					var detailStyle = JSON.parse(styleStr);
-					detailStyle.form.objId = row.id;
-					detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace('}',
-						'') : 'null';
-					detailStyle.form.attrs = row.attrs;
-					row.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;
-									}
-								});
-							}
-						});
-					});
+				}
+				data.row.forEach(row => {
 
-					if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁
-						this.$data.detail2StyleDefList.push(detailStyle);
-						// console.log(this.$data.detail2StyleDefList);
-					} else {
-						if (data.page_name == this.$data.param.Sub_Page[1].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞
+					var detailStyle = JSON.parse(styleStr);
+					if (detailStyle.form) {
+						detailStyle.form.objId = row.id;
+						detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace(
+							'}',
+							'') : 'null';
+						detailStyle.form.attrs = row.attrs;
+						row.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;
+										}
+									});
+								}
+							});
+						});
+
+						if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁
 							this.$data.detail2StyleDefList.push(detailStyle);
 							// console.log(this.$data.detail2StyleDefList);
 						} else {
-							this.$data.detail1StyleDefList.push(detailStyle);
-							this.activelist.push({
-								active: false
-							});
-							// console.log(this.$data.detail1StyleDefList);
+							if (data.page_name == this.$data.param.Sub_Page[1]
+								.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞
+								this.$data.detail2StyleDefList.push(detailStyle);
+								// console.log(this.$data.detail2StyleDefList);
+							} else {
+								this.$data.detail1StyleDefList.push(detailStyle);
+								this.activelist.push({
+									active: false
+								});
+								// console.log(this.$data.detail1StyleDefList);
+							}
 						}
 					}
 				});
@@ -1017,95 +1184,103 @@
 				if (JSON.stringify(data.content) == '{}') {
 					return;
 				}
+				var styleStr = JSON.stringify($this.$data.detail2_styledef); //宸插垎鎷�+				if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+					styleStr = JSON.stringify($this.$data.detail1_styledef); //寰呭垎鎷�+				}
 				data.content.forEach(cont => {
-					var styleStr = JSON.stringify($this.$data.detail2_styledef); //宸插垎鎷�-					if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-						styleStr = JSON.stringify($this.$data.detail1_styledef); //寰呭垎鎷�-					}
+
 					var detailStyle = JSON.parse(styleStr);
-					detailStyle.SelBut_Checked = data.checkbox ?? true;
-					detailStyle.form.objId = cont.id;
-					detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, '').replace('{', '').replace('}',
-						'') : 'null';
-					detailStyle.form.attrs = cont.attrs;
-					cont.attrs.forEach(attr => {
-						detailStyle.form.items.forEach(ele => {
-							if (ele.name != 'Layout') {
-								if (ele.fieldId == attr.attr) ele.value = attr.value;
-							} else if (ele.name == 'Layout') {
-								ele.setting.colList.forEach(col => {
-									if (col) {
-										if (col.fieldId == attr.attr) col.value = attr
-											.value;
+					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;
+										}
+									});
+								}
+							});
+						});
+
+						if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+							//濡傛灉 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); //寰呭垎鎷� 							}
-						});
-					});
-
-					if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-						//濡傛灉 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;
-								}
+							$this.activelist.push({
+								active: false
 							});
-							if (isflag) $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+							// console.log($this.$data.detail1StyleDefList);
 						} else {
-							$this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�-						}
-						$this.activelist.push({
-							active: false
-						});
-						// console.log($this.$data.detail1StyleDefList);
-					} else {
-						if (data.clear == false) {
-							//濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�-							var isflag = true;
-							$this.detail2StyleDefList.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;
-													}
-												});
-											}
+							if (data.clear == false) {
+								//濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+								var isflag = true;
+								$this.detail2StyleDefList.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.detail2StyleDefList.push(detailStyle); //宸插垎鎷�-						} else {
-							$this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+										isflag = false;
+									}
+								});
+								if (isflag) $this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+							} else {
+								$this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+							}
+							// console.log($this.$data.detail2StyleDefList);
 						}
-						// console.log($this.$data.detail2StyleDefList);
 					}
 				});
 			},
@@ -1149,37 +1324,29 @@
 								obj_id: objID
 							};
 							// console.log(dataInfo);
-							$this.$store.dispatch('dataObjDel', dataInfo).then(ret => {
+							dataObjDel(dataInfo).then(ret => {
 								// console.log(ret);
-								if (ret.err_code == 0) {
+								const style = $this.detail2StyleDefList[index];
+								$this.detail2StyleDefList.splice(index, 1);
+								if ($this.Before_Del_Event?.ID)
+									//鏄惁鏈夊垹闄ゅ墠浜嬩欢
+									$this.del2(style, $this.Before_Del_Event);
+								else if ($this.After_Del_Event?.ID)
+									//鏄惁鏈夊垹闄ゅ悗浜嬩欢
+									$this.del2(style, $this.After_Del_Event);
+								uni.showModal({
+									title: this.translateSys("tip"),
+									content: "鍒犻櫎鎴愬姛锛�,
+									showCancel: false,
+									confirmText: this.translateSys("cancel")
+								});
 
-									const style = $this.detail2StyleDefList[index];
-									$this.detail2StyleDefList.splice(index, 1);
-									if ($this.Before_Del_Event?.ID)
-										//鏄惁鏈夊垹闄ゅ墠浜嬩欢
-										$this.del2(style, $this.Before_Del_Event);
-									else if ($this.After_Del_Event?.ID)
-										//鏄惁鏈夊垹闄ゅ悗浜嬩欢
-										$this.del2(style, $this.After_Del_Event);
-									uni.showModal({
-										title: this.translateSys("tip"),
-										content: "鍒犻櫎鎴愬姛锛�,
-										showCancel: false,
-										confirmText: this.translateSys("cancel")
-									});
-								} else {
-									uni.showModal({
-										title: this.translateSys("error") + "5",
-										content: ret.err_msg,
-										showCancel: false,
-										confirmText: this.translateSys("cancel")
-									});
-								}
 							}).catch(ex => {
 								// console.log(ex);
+								let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 								uni.showModal({
 									title: this.translateSys("error") + "5.1",
-									content: ex.errMsg,
+									content: tip,
 									showCancel: false,
 									confirmText: this.translateSys("cancel")
 								});
@@ -1253,6 +1420,15 @@
 						})
 					});
 				});
+				if (jsonlist.length == 0) {
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: this.translate("tip_no_select_data"),
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+					return;
+				}
 				// console.log(jsonlist);
 				const list = []
 				list.push({
@@ -1325,6 +1501,15 @@
 						})
 					});
 				});
+				if (jsonlist.length == 0) {
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: this.translate("tip_no_select_data"),
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+					return;
+				}
 				const list = []
 				list.push({
 					page_name: $this.param.Sub_Page[1].Name,
@@ -1345,6 +1530,634 @@
 				this.activelist[value].active = true;
 				// console.log(this.$data.activelist);
 			},
+			popupChange(e) {
+				console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show);
+			},
+			checkChange(e) { //寮规check閫夋嫨
+				// console.log(e.target.dataset);
+				var index = e.target.dataset.index;
+				var ischeck = e.target.dataset.ischeck;
+				var data = this.$data.check_list.items;
+				// this.$data.check_list.items=[];
+				if (this.$data.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+					for (var i in data) {
+						data[i].check = false;
+					}
+				}
+				data[index].check = ischeck ? false : true;
+				this.$data.check_list.items = data;
+
+			},
+			popup_cancel(e) { //寮规鍙栨秷
+				this.$refs.popup.close();
+			},
+			popup_sava(e) { //寮规纭畾
+				var $this = this;
+				var items = $this.$data.check_list.items;
+				var data = [];
+				var name = "";
+				for (var i = 0; i < items.length; i++) {
+					if (items[i].check == true) {
+						if (name)
+							name += ';';
+						name += items[i].name;
+						data.push({
+							id: items[i].id,
+							name: items[i].name
+						});
+					}
+				}
+				if (!$this.$data.popupParam) {
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: "popupParam涓虹┖锛�,
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+					return;
+				}
+				if (data.length == 0) {
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: this.translate("tip_no_select_data"),
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+					return;
+				}
+				var callback_eventid = $this.$data.popupParam.button_callback.trim();
+				var info = {
+					eventid: callback_eventid,
+					edtype: "0",
+					projectid: '',
+					rclsid: '',
+					robjid: '',
+					userlogin: '',
+					clsid: $this.$data.ClsID,
+					objid: "",
+					attr: $this.$data.popupParam.req,
+					dataJson: data
+				}
+				$this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
+				this.$refs.popup.close();
+			},
+
+			async DataObjRunCustomEvent(info, data_attr) {
+				var $this = this;
+				var enviroment = {
+					'function': '3000', // 鍔熻兘鐐圭紪鍙�+					cls_id: this.$data.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+					'button': 'top', // top/bottom
+					button_name: this.translateSys('add2'),
+					master: {
+						cls_id: this.$data.ClsID, // button=bottom鏃�master鐨刢ls_id
+						//obj_id: ''  // button=bottom鏃�master鐨刼bj_id
+					}
+				};
+				if (data_attr) {
+					enviroment.edit_dlg = {
+						type: 'small', //灏忕獥鍙�+						class_id: this.$data.ClsID, //褰撳墠鏁版嵁绫籭d
+					}
+					if (data_attr) {
+						enviroment.edit_dlg.form_control = { //鎵�睘鐨勮〃鍗曟帶浠�+							name: data_attr.Name, //瀛楁灞炴�
+							text: data_attr.DispName, //鏄剧ず鏂囨湰
+							group_name: data_attr.GroupName, //灞炴�缁�+							type: data_attr.Type, //瀛楁绫诲瀷
+							readonly: data_attr.ReadOnly, //鏄惁鍙
+							button_img: data_attr.button_img, //寮曠敤鎸夐挳鐨勫浘鏍�+							button_tooltip: data_attr.button_tooltip //寮曠敤鎸夐挳鐨則ooltip
+						}
+					}
+				}
+				enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+				var input_param = Base64.encode(JSON.stringify(info.attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+				var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+				if (info.dataJson)
+					info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+				var obj_attr = {};
+				info.attr.forEach(item => {
+					obj_attr[item.attr] = item.value;
+				});
+				if (!info.eventid.includes('{')) info.eventid = '{' + info.eventid + '}';
+				var dataInfo = {
+					ed_type: info.edtype,
+					start_transaction: true,
+					class_id: info.clsid,
+					class_name: '',
+					event_id: info.eventid,
+					event_name: '',
+					data_obj_id: info.objid,
+					obj_attr: obj_attr,
+					prj_id: info.projectid,
+					ref_cls_id: info.rclsid,
+					rel_obj_id: info.robjid,
+					user_login: info.userlogin,
+					data_json: info.dataJson,
+					compose_info: '',
+					ext_info: enviroment,
+					global_attr: global_attr,
+					input_param: input_param,
+				};
+				console.log(dataInfo);
+				// return;
+				runCustomEvent(dataInfo).then(data => {
+					if (data.ret != 0) {
+						var tip = data.err_info ? typeof data.err_info == 'string' ? data
+							.err_info :
+							data
+							.err_info.join('<br/>') : '';
+						if (data.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("cancel")
+							});
+						} else uni.showModal({
+							title: this.translateSys("tip"),
+							content: tip + ',' + this.translateSys('tip') + ':' + data
+								.ret,
+							showCancel: false,
+							confirmText: this.translateSys("cancel")
+						});
+						return false
+					} else {
+						var tip = data.info ? typeof data.info == 'string' ? data.info : data
+							.info
+							.join(
+								'<br/>') : '';
+						if (tip) uni.showModal({
+							title: this.translateSys("tip"),
+							content: tip,
+							showCancel: false,
+							confirmText: this.translateSys("cancel")
+						});
+
+						var actionlist = data.action;
+						if (actionlist) {
+							console.log(actionlist);
+							for (var i = 0; i < actionlist.length; i++) {
+								var action = actionlist[i];
+								if (action.action_type == 'set_dlg_attr') {
+									var result = action.value;
+									$this.setFormValues(result)
+								} else if (action.action_type == 'set_dlg_attr_show') {
+									var result = action.value;
+									result.forEach(async (attr, key) => {
+										$this.$data.head_styledef.form.items
+											.forEach(
+												async (ele,
+													index) => {
+													//鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+													if (ele.name != 'Layout') {
+														if (ele.fieldId == attr
+															.attr) {
+															ele.show = attr
+																.show;
+														}
+													} else if (ele.name ==
+														'Layout') {
+														ele.setting.colList
+															.forEach(
+																col => {
+																	if (col) {
+																		if (col
+																			.fieldId ==
+																			attr
+																			.attr
+																		) {
+																			col.show =
+																				attr
+																				.show;
+																		}
+																	}
+																});
+													}
+												});
+									});
+									var head_styledef = JSON.parse(JSON.stringify($this.$data
+										.head_styledef));
+									$this.$data.head_styledef = [];
+									$this.$data.head_styledef = head_styledef;
+									// console.log($this.$data.head_styledef);
+								} else if (action.action_type == 'set_global_attr') {
+									$this.$data.global_attr = action.value || [];
+								} else {
+									uni.showModal({
+										title: this.translateSys("tip"),
+										content: this.translateSys(
+												"quotation_mark_left") +
+											action
+											.action_type + this.translateSys(
+												"quotation_mark_right") + this
+											.translate(
+												"tip_action_unprocessed"),
+										showCancel: false,
+										confirmText: this.translateSys("cancel")
+									});
+								}
+							}
+						}
+						console.log($this.head_styledef);
+						if (data.result) {
+							var result = data.result;
+							for (var i = 0; i < result.length; i++) {
+								for (var c = 0; c < $this.$data.head_styledef.form.items
+									.length; c++) {
+									var attr = $this.$data.head_styledef.form.items[c];
+									//鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+									if ($this.head_styledef.form.model[result[i].attr] ==
+										undefined) {
+										$this.head_styledef.form.model[result[i].attr] =
+											result[i]
+											.value;
+									}
+									//鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+									if (attr.name != 'Layout') {
+										if (attr.fieldId == result[i].attr) {
+											attr.value = '';
+											attr.oldvalue = '';
+											attr.value = result[i].value;
+											attr.oldvalue = result[i].value;
+											$this.head_styledef.form.model[attr.fieldId] =
+												result[i]
+												.value;
+										}
+									} else if (attr.name == 'Layout') {
+										attr.setting.colList.forEach(col => {
+											if (col) {
+												if (col.fieldId == result[i].attr) {
+													col.value = '';
+													col.oldvalue = '';
+													col.value = result[i].value;
+													col.oldvalue = result[i].value;
+													$this.head_styledef.form.model[col
+															.fieldId] =
+														result[i].value;
+												}
+											}
+										});
+									}
+								}
+
+								var length = 0;
+								if (!$this.$data.refdatastore.filter(function(s) {
+										return result[i].attr == s.attr
+									}).length) {
+									length = 1;
+									$this.$data.refdatastore.push(result[i]);
+								}
+								if (length == 0) {
+									for (var j = 0; j < $this.$data.refdatastore.length; j++) {
+										if ($this.$data.refdatastore[j].attr == result[i]
+											.attr) {
+											$this.$data.refdatastore[j].value = result[i]
+												.value;
+										}
+									}
+								}
+							}
+						}
+					}
+
+				}).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") + "3.1",
+						content: exStr,
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+				});
+			},
+			dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) {
+				const $this = this
+				var enviroment = {
+					'function': '3000', // 鍔熻兘鐐圭紪鍙�+					cls_id: $this.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+					'button': 'top', // top/bottom
+					button_name: $this.translateSys('add2'),
+					master: {
+						cls_id: $this.ClsID, // button=bottom鏃�master鐨刢ls_id
+						//obj_id: ''  // button=bottom鏃�master鐨刼bj_id
+					}
+				};
+				var obj_attr = $this.head_styledef.form.model;
+				console.log(obj_attr);
+				var req = Object.keys(obj_attr).map((a) => ({
+					attr: a,
+					value: obj_attr[a] || "",
+				}));
+				if ($this.refdatastore.length > 0) {
+					for (var i = 0; i < $this.refdatastore.length; i++) {
+						if (!req.filter(function(s) {
+								return $this.refdatastore[i].attr == s.name
+							}).length) {
+							req.push({
+								'attr': $this.refdatastore[i].attr,
+								'value': $this.refdatastore[i].value
+							});
+						}
+					}
+				}
+
+				var extinfo = enviroment;
+				extinfo.edit_dlg = {
+					type: 'small', //灏忕獥鍙�+					class_id: $this.ClsID, //褰撳墠鏁版嵁绫籭d
+				}
+				extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+				var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+				var obj_attr = {};
+				req.forEach(item2 => {
+					obj_attr[item2.attr] = item2.value;
+				});
+				let input_param = Base64.encode(
+					JSON.stringify(
+						Object.keys(obj_attr).map((a) => ({
+							attr: a,
+							value: obj_attr[a] || "",
+						}))
+					)
+				);
+
+				if (!eventid.includes('{')) eventid = '{' + eventid + '}';
+				var dataInfo = {
+					ed_type: "0",
+					start_transaction: true,
+					class_id: $this.ClsID,
+					class_name: '',
+					event_id: eventid,
+					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: extinfo,
+					global_attr: global_attr,
+					input_param: input_param,
+				};
+				console.log(dataInfo);
+				// return;
+				runCustomEvent(dataInfo).then(data => {
+					if (data.ret != 0) {
+						var tip = data.err_info ? typeof data.err_info == 'string' ? data
+							.err_info :
+							data
+							.err_info.join('<br/>') : '';
+						if (data.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("cancel")
+							});
+						} else uni.showModal({
+							title: $this.translateSys("tip"),
+							content: tip + ',' + $this.translateSys('tip') + ':' + data
+								.ret,
+							showCancel: false,
+							confirmText: $this.translateSys("cancel")
+						});
+						return false
+					} else {
+						var tip = data.info ? typeof data.info == 'string' ? data.info : data
+							.info
+							.join(
+								'<br/>') : '';
+						if (tip) uni.showModal({
+							title: $this.translateSys("tip"),
+							content: tip,
+							showCancel: false,
+							confirmText: $this.translateSys("cancel")
+						});
+
+						if (data != "") {
+							var actions = data.action;
+							if (actions) {
+								for (var i = 0; i < actions.length; i++) {
+									var action = actions[i];
+									console.log(action)
+									var val = action.value;
+									var enviroment = JSON.stringify(enviroment);
+
+									if (action.action_type == 'open_panel') {
+										var d = dialog({
+											title: '<i class="ace-icon fa fa-info-circle"></i> ' +
+												$this.translateSys("tip"),
+											content: $this.translateSys(
+													"quotation_mark_left") +
+												action
+												.action_type + $this.translateSys(
+													"quotation_mark_right") + $this
+												.translate(
+													"tip_action_unprocessed")
+										});
+										d.show();
+									} else if (action.action_type == 'open_select_userdlg') {
+										var style = val.style;
+										// style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : ''
+										var param = {
+											item: item,
+											button_callback: button_callback,
+											req: req,
+											data_attr: data_attr
+										}
+										uni.navigateTo({
+											url: '../selpsn/index?mulit=false&param=' +
+												JSON
+												.stringify(
+													param),
+											events: {
+												AddPer(data, param) {
+													// console.log(param);
+													console.log(data);
+													var callback_eventid = param
+														.button_callback
+														.trim();
+													var info = {
+														eventid: callback_eventid,
+														edtype: "0",
+														projectid: '',
+														rclsid: '',
+														robjid: '',
+														userlogin: '',
+														clsid: $this.$data.param
+															.DataCls
+															.id,
+														objid: "",
+														attr: param.req,
+														inputparameter: data,
+														dataJson: [],
+													}
+													$this.DataObjRunCustomEvent(info,
+														param
+														.data_attr);
+												}
+											}
+										});
+									} else if (action.action_type == 'open_data_query_dlg') {
+										var d = dialog({
+											title: '<i class="ace-icon fa fa-info-circle"></i> ' +
+												$this.translateSys("tip"),
+											content: $this.translateSys(
+													"quotation_mark_left") +
+												action
+												.action_type + $this.translateSys(
+													"quotation_mark_right") + $this
+												.translate(
+													"tip_action_unprocessed")
+										});
+										d.show();
+									} else if (action.action_type == 'open_common_dlg') {
+
+										if (val.common_dlg_id == 'check_list') {
+											$this.setData({
+												check_list: val.config
+											})
+											if (val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�+												$this.setData({
+													popupType: "right"
+												})
+											else
+												$this.setData({
+													popupType: "center"
+												})
+											// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
+											$this.$refs.popup.open($this.popupType);
+											var popupParam = {
+												item: item,
+												button_callback: button_callback,
+												req: req,
+												data_attr: data_attr
+											}
+											$this.setData({
+												popupParam: popupParam
+											})
+										}
+									} else if (action.action_type == 'open_project_query_dlg') {
+										//console.log(action.value.select_range);
+										//console.log(action.value.mulit_select);
+										var priRel = '-1';
+										if (action.value.select_range == '鍏ㄩ儴鐩稿叧')
+											priRel = '0';
+										else if (action.value.select_range == '鎴戣礋璐g殑椤圭洰')
+											priRel = '1';
+										else if (action.value.select_range == '鎴戝垱寤虹殑')
+											priRel = '2';
+										else if (action.value.select_range == '鎴戝弬涓庣殑' || action
+											.value
+											.select_range == '鎴戝弬鍔犵殑')
+											priRel = '3';
+										else if (action.value.select_range == '鎴戝叧娉ㄧ殑')
+											priRel = '4';
+										else if (action.value.select_range == '鎴戜笅灞炵殑椤圭洰')
+											priRel = '5';
+										var param_ = {
+											item: item,
+											button_callback: button_callback,
+											req: req
+										}
+										uni.navigateTo({
+											url: '../selPrj/index?relation=' + priRel +
+												'&param=' +
+												JSON.stringify(param_),
+											events: {
+												AddPer(data, param) {
+													var attr = param.item.fieldId;
+													$this.head_styledef.form.model[
+															attr] =
+														data[0].ID +
+														';' + data[0].Name;
+
+													// $this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
+													// $this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
+													var callback_eventid = param
+														.button_callback
+														.trim();
+													if (callback_eventid) {
+														var info = {
+															eventid: callback_eventid,
+															edtype: "2",
+															projectid: data[0].ID,
+															rclsid: "",
+															robjid: "",
+															userlogin: "",
+															clsid: $this.$data
+																.param
+																.DataCls.id,
+															objid: "",
+															attr: param.req,
+															dataJson: [],
+														}
+
+														$this.DataObjRunCustomEvent(
+															info);
+													}
+												}
+											}
+										});
+									} else {
+										uni.showModal({
+											title: $this.translateSys("tip"),
+											content: $this.translateSys(
+													"quotation_mark_left") +
+												action.action_type + $this.translateSys(
+													"quotation_mark_right") + $this
+												.translate(
+													"tip_action_unprocessed"),
+											showCancel: false,
+											confirmText: $this.translateSys("cancel")
+										});
+									}
+								}
+							}
+						} else {
+							uni.showModal({
+								title: $this.translateSys('tip') + "5.2",
+								content: $this.translateSys("quotation_mark_left") +
+									"before_click_button" + $this.translateSys(
+										"quotation_mark_right") + $this.translateSys(
+										"comma") + 'event_id' + eventid,
+								showCancel: false,
+								confirmText: $this.translateSys("cancel")
+							});
+						}
+					}
+
+				}).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('tip') + "5.1",
+						content: exStr,
+						showCancel: false,
+						confirmText: $this.translateSys("cancel")
+					});
+				});
+			},
+
 
 			//纭畾
 			ok() {
@@ -1359,21 +2172,23 @@
 			},
 			sava(event) {
 				var $this = this;
+
 				if (this.$data.detail1StyleDefList.length == 0) {
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: this.translate(
-								"page.tip_no_data_first") +
+								"tip_no_data_first") +
 							this.translateSys(
 								"quotation_mark_left") + this.param.Sub_Page[0].Name + this.translateSys(
-								"sys.quotation_mark_right") +
+								"quotation_mark_right") +
 							this.translate(
-								"page.tip_no_data_last"),
+								"tip_no_data_last"),
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
 					return false;
 				}
+				this.okLoading = true
 				//鑾峰彇琛ㄥご灞炴�
 				var head_attr = {};
 				this.$data.head_styledef.form.items.forEach(item => {
@@ -1440,6 +2255,16 @@
 						})
 					});
 				});
+				if (jsonlist.length == 0) {
+					this.okLoading = false
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: this.translate("tip_no_select_data"),
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+					return;
+				}
 				// console.log(jsonlist);
 				const list = []
 				list.push({
@@ -1465,21 +2290,23 @@
 			},
 			sava2(event) {
 				var $this = this;
+
 				if (this.$data.detail1StyleDefList.length == 0) {
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: this.translate(
-								"page.tip_no_data_first") +
+								"tip_no_data_first") +
 							this.translateSys(
 								"quotation_mark_left") + this.param.Sub_Page[1].Name + this.translateSys(
-								"sys.quotation_mark_right") +
+								"quotation_mark_right") +
 							this.translate(
-								"page.tip_no_data_last"),
+								"tip_no_data_last"),
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
 					return false;
 				}
+				this.ok2Loading = true
 				//鑾峰彇琛ㄥご灞炴�
 				var head_attr = {};
 				this.$data.head_styledef.form.items.forEach(item => {
@@ -1546,6 +2373,17 @@
 						})
 					});
 				});
+				if (jsonlist.length == 0) {
+					this.ok2Loading = false
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: this.translate("tip_no_select_data"),
+						showCancel: false,
+						confirmText: this.translateSys("cancel")
+					});
+
+					return;
+				}
 				const list = []
 				list.push({
 					page_name: $this.param.Sub_Page[1].Name,
@@ -1585,226 +2423,269 @@
 					input_param: input_param,
 				};
 				// console.log(dataInfo);
-				this.$store.dispatch('runCustomEvent', dataInfo).then(res => {
-					console.log(res);
-					if (res.err_code == 0) {
-						var result = res.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 == 801) uni.showModal({
-								title: this.translateSys("tip"),
-								content: tip,
-								showCancel: false,
-								confirmText: this.translateSys("cancel")
-							});
-							else uni.showModal({
-								title: this.translateSys("tip"),
-								content: tip + ',' + this.translateSys('tip') + ':' + result.ret,
-								showCancel: false,
-								confirmText: this.translateSys("cancel")
-							});
-							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("cancel")
-							});
-
-							if (result.result_type == 0) {
-								if (result.action) {
-									result.action.forEach(item => {
-										if (item.action_type == "insert_subtable_page_row") { //鍒嗘嫞涓�-											var value = item.value;
-											//鍔犺浇寰呭垎鎷f暟鎹�-											$this.viewAceionRow(value, '');
-											// $this.viewAceionRow(value,'add');
-											//娓呯┖鏉$爜鍐呭
-											$this.$data.head_styledef.form.items.forEach((item,
-												index) => {
-												if (item.fieldId != "S_CNTR_CODE") {
-													item.value = '';
-													item.oldvalue = '';
-													$this.$data.head_styledef.form.model[item
-														.fieldId] = '';
-												}
-											});
-											//娓呴櫎寰呭垎鎷d腑鎴愬姛鐨勬暟鎹�-											// $this.$data.detail1StyleDefList.forEach((style,index)=>{
-											//   if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){ 
-											// 	$this.$data.detail1StyleDefList.splice(index,1);
-											// 	return;
-											//   }
-											// });
-											// this.detail2StyleDefList=[];
-											uni.showModal({
-												title: this.translateSys("tip"),
-												content: this.translate(
-													'execute_event_success'),
-												showCancel: false,
-												confirmText: this.translateSys("cancel")
-											});
-										} else if (item.action_type ==
-											"set_subtable_page_content") { //鍔犺浇澶氭潯鏁版嵁
-											$this.param.Show_Welcom_Page = false;
-											var value = item.value;
-											if (value.clear_confirm != false && value.clear == true &&
-												$this.detail1StyleDefList.length > 0
-											) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,寰呭垎鎷f槸鍚︽湁鏁版嵁
-												uni.showModal({
-													title: this.translateSys("tip"),
-													content: this.translate(
-															"are_you_sure_clear_first") +
-														this.translateSys(
-															"quotation_mark_left") + value
-														.page_name + this.translateSys(
-															"sys.quotation_mark_right") +
-														this.translate(
-															"are_you_sure_clear_last"),
-													success: function(res) {
-														if (res.confirm) {
-															$this.setData({
-																detail1StyleDefList: [],
-																detail2StyleDefList: []
-															})
-															$this.viewAceionContent(value);
-														} else if (res.cancel) {
-															$this.viewAceionContent(value);
-														}
-													}
-												});
-											} else {
-												$this.viewAceionContent(value);
-											}
-										} else if (item.action_type ==
-											"remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�-											var value = item.value;
-											if (value.page_name == $this.param.Sub_Page[0]
-												.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-												//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�-												value.row.forEach(row => {
-													$this.$data.detail1StyleDefList.forEach((
-														ele, index) => {
-														if (ele.form.objId == row.id) {
-															$this.$data
-																.detail1StyleDefList
-																.splice(index, 1);
-														}
-													});
-												});
-											}
-										} else if (item.action_type == "set_subtable_page_row") {
-											$this.viewActionSetRow(item.value)
-
-										} else if (item.action_type == "set_subtable_page_ext_data") {
-											var value = item.value;
-											if (value.page_name == $this.$data.param.Sub_Page[0]
-												.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-												$this.setData({
-													detail1ExtData: value.ext_data
-												})
-											} else if (value.page_name == $this.$data.param.Sub_Page[1]
-												.Name) {
-												$this.setData({
-													detail2ExtData: value.ext_data
-												})
-											}
-										} else if (item.action_type == "clear_subpage_rows") {
-											var value = item.value;
-											if (value.page_name == $this.$data.param.Sub_Page[0]
-												.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-												$this.setData({
-													detail1StyleDefList: [],
-													detail1ExtData: {}
-												})
-											} else if (value.page_name == $this.$data.param.Sub_Page[1]
-												.Name) {
-												$this.setData({
-													detail2StyleDefList: [],
-													detail2ExtData: {}
-												})
-											}
-										} else if (item.action_type == "set_dlg_current_edit_attr") {
-											if ($this.focusOldFieldId == item.value)
-												$this.setData({
-													focusFieldId: ""
-												})
-											else {
-												$this.setData({
-													focusFieldId: $this.focusOldFieldId
-												})
-											}
-											$this.$nextTick(() => {
-												$this.setData({
-													focusFieldId: item.value
-												})
-											});
-										} else if (item.action_type == "refresh") { //鍒锋柊
-											var value = item.value;
-											//娓呴櫎寰呭垎鎷f垚鍔熺殑鏁版嵁
-											// value.forEach((val_id,key)=>{
-											//   this.detail1StyleDefList.forEach((style,index)=>{
-											//     if(style.form.objId == val_id){ 
-											//       this.detail1StyleDefList.splice(index,1);
-											//       return;
-											//     }
-											//   });
-											// });
-											//鍒锋柊褰撳墠椤甸潰
-											uni.redirectTo({
-												url: '../modal/5602?param=' + JSON.stringify(
-														this.$data.param) + "&titlename=" +
-													this.$data.title
-											});
-										} else if (item.action_type == "prompt") { //鎵撳紑绯荤粺鎻愮ず寮规
-											var value = '';
-											item.value.forEach(ele => {
-												if (value) value += '\n';
-												value += ele;
-											});
-											uni.showModal({
-												title:this.translateSys("tip"),
-												content: value,
-												showCancel: false,
-												confirmText: this.translateSys("close")
-											});
-										}
-									});
-								} else {
-									if ($this.$data.After_OK_Event.ID != event.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢
-										if (type == '1') {
-											$this.sava($this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠�-										} else {
-											$this.sava2($this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠�-										}
-									}
-								}
-							} else {
-								// $this.$data.detail2StyleDefList=[];
-								if (result.info) {
-									uni.showModal({
-										title: this.translateSys("tip"),
-										content: result.info,
-										showCancel: false,
-										confirmText: this.translateSys("cancel")
-									});
-								}
+				runCustomEvent(dataInfo).then(result => {
+					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 == 801) {
+							if (this.param.Only_Script_Error) {
+								let pos = tip.indexOf("锛�);
+								if (pos > -1) tip = tip.substring(pos + 1);
 							}
-						}
-					} else {
-						uni.showModal({
-							title: this.translateSys("error") + "8",
-							content: res.err_msg,
+							uni.showModal({
+								title: this.translateSys("tip"),
+								content: tip,
+								showCancel: false,
+								confirmText: this.translateSys("cancel")
+							});
+						} else uni.showModal({
+							title: this.translateSys("tip"),
+							content: tip + ',' + this.translateSys('tip') + ':' + result.ret,
 							showCancel: false,
 							confirmText: this.translateSys("cancel")
 						});
+						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("cancel")
+						});
+
+						if (result.result_type == 0) {
+							if (result.action) {
+								result.action.forEach(item => {
+									if (item.action_type == "insert_subtable_page_row") { //鍒嗘嫞涓�+										var value = item.value;
+										//鍔犺浇寰呭垎鎷f暟鎹�+										$this.viewAceionRow(value, '');
+										// $this.viewAceionRow(value,'add');
+										//娓呯┖鏉$爜鍐呭
+										$this.$data.head_styledef.form.items.forEach((item,
+											index) => {
+											if (item.fieldId != "S_CNTR_CODE") {
+												item.value = '';
+												item.oldvalue = '';
+												$this.$data.head_styledef.form.model[item
+													.fieldId] = '';
+											}
+										});
+										//娓呴櫎寰呭垎鎷d腑鎴愬姛鐨勬暟鎹�+										// $this.$data.detail1StyleDefList.forEach((style,index)=>{
+										//   if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){ 
+										// 	$this.$data.detail1StyleDefList.splice(index,1);
+										// 	return;
+										//   }
+										// });
+										// this.detail2StyleDefList=[];
+										uni.showModal({
+											title: this.translateSys("tip"),
+											content: this.translate(
+												'execute_event_success'),
+											showCancel: false,
+											confirmText: this.translateSys("cancel")
+										});
+									} else if (item.action_type ==
+										"set_subtable_page_content") { //鍔犺浇澶氭潯鏁版嵁
+										$this.param.Show_Welcom_Page = false;
+										var value = item.value;
+										if (value.clear_confirm != false && value.clear == true &&
+											$this.detail1StyleDefList.length > 0
+										) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,寰呭垎鎷f槸鍚︽湁鏁版嵁
+											uni.showModal({
+												title: this.translateSys("tip"),
+												content: this.translate(
+														"are_you_sure_clear_first") +
+													this.translateSys(
+														"quotation_mark_left") + value
+													.page_name + this.translateSys(
+														"quotation_mark_right") +
+													this.translate(
+														"are_you_sure_clear_last"),
+												success: function(res) {
+													if (res.confirm) {
+														$this.setData({
+															detail1StyleDefList: [],
+															detail2StyleDefList: []
+														})
+														$this.viewAceionContent(value);
+													} else if (res.cancel) {
+														$this.viewAceionContent(value);
+													}
+												}
+											});
+										} else {
+											$this.viewAceionContent(value);
+										}
+									} else if (item.action_type ==
+										"remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+										var value = item.value;
+										if (value.page_name == $this.param.Sub_Page[0]
+											.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+											//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+											value.row.forEach(row => {
+												$this.$data.detail1StyleDefList.forEach((
+													ele, index) => {
+													if (ele.form.objId == row.id) {
+														$this.$data
+															.detail1StyleDefList
+															.splice(index, 1);
+													}
+												});
+											});
+										}
+									} else if (item.action_type == "set_subtable_page_row") {
+										$this.viewActionSetRow(item.value)
+
+									} else if (item.action_type == "set_subtable_page_ext_data") {
+										var value = item.value;
+										if (value.page_name == $this.$data.param.Sub_Page[0]
+											.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+											$this.setData({
+												detail1ExtData: value.ext_data
+											})
+										} else if (value.page_name == $this.$data.param.Sub_Page[1]
+											.Name) {
+											$this.setData({
+												detail2ExtData: value.ext_data
+											})
+										}
+									} else if (item.action_type == "clear_subpage_rows") {
+										var value = item.value;
+										if (value.page_name == $this.$data.param.Sub_Page[0]
+											.Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+											$this.setData({
+												detail1StyleDefList: [],
+												detail1ExtData: {}
+											})
+										} else if (value.page_name == $this.$data.param.Sub_Page[1]
+											.Name) {
+											$this.setData({
+												detail2StyleDefList: [],
+												detail2ExtData: {}
+											})
+										}
+									} else if (item.action_type == "set_dlg_current_edit_attr") {
+										if ($this.focusOldFieldId == item.value)
+											$this.setData({
+												focusFieldId: ""
+											})
+										else {
+											$this.setData({
+												focusFieldId: $this.focusOldFieldId
+											})
+										}
+										$this.$nextTick(() => {
+											$this.setData({
+												focusFieldId: item.value
+											})
+										});
+									} else if (item.action_type == "set_dlg_attr") {
+										// value = {"attr":"xxx", "value":"xxx"}
+										var data = item.value;
+										$this.$data.head_styledef.form.items.forEach(async (
+											ele, index) => {
+											data.forEach(async (ele2, index) => {
+												if (ele.fieldId == ele2
+													.attr) {
+													if (ele.name ==
+														'Select' &&
+														ele2
+														.choice_list) {
+														const
+															dictItemList = [];
+														const
+															choiceList =
+															ele2
+															.choice_list || [];
+														for (let d in
+																choiceList) {
+															const val =
+																choiceList[
+																	d];
+															dictItemList
+																.push({
+																	text: val,
+																	value: val
+																});
+														}
+														ele.dict =
+															dictItemList;
+													}
+													ele.value = ele2
+														.value;
+
+												}
+											});
+										});
+									} else if (item.action_type == "refresh") { //鍒锋柊
+										var value = item.value;
+										//娓呴櫎寰呭垎鎷f垚鍔熺殑鏁版嵁
+										// value.forEach((val_id,key)=>{
+										//   this.detail1StyleDefList.forEach((style,index)=>{
+										//     if(style.form.objId == val_id){ 
+										//       this.detail1StyleDefList.splice(index,1);
+										//       return;
+										//     }
+										//   });
+										// });
+										//鍒锋柊褰撳墠椤甸潰
+										uni.redirectTo({
+											url: '../modal/5602?param=' + JSON.stringify(
+													this.$data.param) + "&titlename=" +
+												this.$data.title
+										});
+									} else if (item.action_type == "prompt") { //鎵撳紑绯荤粺鎻愮ず寮规
+										var value = '';
+										item.value.forEach(ele => {
+											if (value) value += '\n';
+											value += ele;
+										});
+										uni.showModal({
+											title: this.translateSys("tip"),
+											content: value,
+											showCancel: false,
+											confirmText: this.translateSys("close")
+										});
+									}
+								});
+							} else {
+								if ($this.$data.After_OK_Event.ID != event.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢
+									if (type == '1') {
+										$this.sava($this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+									} else {
+										$this.sava2($this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+									}
+								}
+							}
+						} else {
+							// $this.$data.detail2StyleDefList=[];
+							if (result.info) {
+								uni.showModal({
+									title: this.translateSys("tip"),
+									content: result.info,
+									showCancel: false,
+									confirmText: this.translateSys("cancel")
+								});
+							}
+						}
 					}
+
+					if (type == "1")
+						this.okLoading = false
+					else if (type == "2")
+						this.ok2Loading = false
 				}).catch(ex => {
-					var tip = typeof ex == "string" ? ex : ex.errMsg;
+					if (type == "1")
+						this.okLoading = false
+					else if (type == "2")
+						this.ok2Loading = false
+
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 					uni.showModal({
 						title: this.translateSys("error") + "8.1",
 						content: this.translate("execute_after_ok_event_failed") + this.translateSys(
@@ -1849,6 +2730,7 @@
 
 		.v-headStyle {
 			width: 100%;
+			margin-bottom: 11rpx;
 		}
 
 		.view-content {
@@ -1897,24 +2779,24 @@
 		}
 
 		.v-headStyle .txt_title {
-			font-size: 34rpx;
+			font-size: 14px;
 			text-align: right;
 			display: inline-block;
-			vertical-align: 12px;
+			// align-items: center;
+			color: #606266;
+			padding: 0 5px 0 0;
+			vertical-align: 10px;
 		}
 
 		.v-headStyle input {
 			display: inline-block;
-			/* border: 1px solid #d5d5d5; */
-			/* width: 65%; */
 			width: 85%;
-			height: 52rpx;
-			line-height: 34rpx;
+			line-height: 14px;
 			background: #FFF;
 			border-radius: 0 !important;
 			color: #2d8cf0;
-			padding: 10rpx 8rpx 12rpx;
-			font-size: 34rpx;
+			padding: 12rpx 8rpx;
+			font-size: 14px;
 			font-family: inherit;
 			box-shadow: none !important;
 			transition-duration: 0.1s;
@@ -2036,7 +2918,7 @@
 			padding-bottom: 20rpx;
 		}
 
-		.dv-panel-button checkbox-group {
+		.dv-panel-button checkbox {
 			/* float: left; */
 			padding-left: 20px;
 			display: inline-block;
@@ -2074,7 +2956,13 @@
 			font-size: 38rpx;
 			font-weight: bold;
 			float: right;
+			color: #fff;
 			display: inline-block;
+		}
+
+		button.btn_disabled {
+			background-color: #ddd;
+			color: #888;
 		}
 
 		.logo {
@@ -2163,5 +3051,52 @@
 		.demo-uni-row .uni-input {
 			width: calc(100% - 120px);
 		}
+
+		.popup-header {
+			font-size: 42rpx;
+			font-weight: bold;
+			margin: 20rpx 20rpx 0px 20rpx;
+		}
+
+		.view_popup_CheckList {
+			margin-bottom: 20rpx;
+		}
+
+		.popup-footer {
+			float: right;
+			position: absolute;
+			bottom: 0;
+			right: 20rpx;
+		}
+
+		button.btn_popup_add {
+			width: 180rpx;
+			margin-top: 50rpx;
+			margin-right: 20rpx;
+			padding: 15rpx;
+			line-height: 1.5;
+			background: #27A6E1;
+			border: none;
+			color: #fff;
+			font-size: 38rpx;
+			font-weight: bold;
+			/* float: left; */
+			display: inline-block;
+		}
+
+		button.btn_popup_cancel {
+			width: 180rpx;
+			margin-top: 50rpx;
+			padding: 15rpx;
+			line-height: 1.5;
+			background: #27A6E1;
+			border: none;
+			color: #fff;
+			font-size: 38rpx;
+			font-weight: bold;
+			/* float: right; */
+			display: inline-block;
+		}
+
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1