From dc4e312fde92237060bc23c35016f4d6b7a9187e Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期一, 24 六月 2024 11:11:37 +0800
Subject: [PATCH] 属性类型多语言

---
 pages/modal/3200_view.vue | 1850 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 918 insertions(+), 932 deletions(-)

diff --git a/pages/modal/3200_view.vue b/pages/modal/3200_view.vue
index fed0f15..2c03b6c 100644
--- a/pages/modal/3200_view.vue
+++ b/pages/modal/3200_view.vue
@@ -1,3 +1,921 @@
+
+<template>
+	<view class="content">
+		<view class="v-content">
+			<view class="dv-panel dv-panel-bkcolor">
+				<div class="dv-panel-input">
+					<!-- HTML椤甸潰绫诲瀷鏄剧ず -->
+					<div class="dv-viewHtml-Panel" v-if="ViewHtml_Panel" v-html="ViewHtml_Panel">
+						<!-- <div>
+						  <label class="item-label">浠诲姟缂栫爜:</label>
+						  <span class="item-span">TA240318-00005</span>
+						</div> -->
+					</div>
+					<!-- 鑷畾涔夎〃鍗曠被鍨嬫樉绀�-->
+					<div v-if="!ViewHtml_Panel">
+						<div v-for="(item,index) in detail2_styledef.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.value2?'#'+item.value+'#'+item.value2:item.value}}</span>
+								<!-- 鏂囨湰妗�鏁板瓧妗�-->
+								<view class="dv_input"
+									v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled">
+									<text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
+										@change="onChange(item)">&#xe568;</text>
+									<input class="uni-input" :class="item.disabled?'input-disabled':''"
+										:type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'"
+										v-model="item.value" :disabled="item.disabled" :placeholder="item.placeholder"
+										:style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
+										:focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)" />
+									<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
+										@click="onChange(item)">&#xe568;</text>
+								</view>
+								<!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections-->
+								<uni-data-select id="dv_select" v-if="item.name=='Select' && !item.disabled"
+									:class="item.disabled?'input-disabled':''" v-model="item.value"
+									:localdata="item.dict" @change="onChange(item)" :disabled="item.disabled"
+									:clear="false"></uni-data-select>
+								<!-- 澶氳鏂囨湰 -->
+								<view class="input-wrapper" v-if="item.name=='Textarea' && !item.disabled">
+									<textarea class="uni-input" :value="item.value"
+										:class="item.disabled?'input-disabled':''" :placeholder="item.placeholder"
+										@blur="onModelValue(item)" style="height:60px;" :style="{'width':'96%'}"
+										:disabled="item.disabled"></textarea>
+								</view>
+								<!-- 澶嶉�妗�-->
+								<checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
+									:class="item.disabled?'input-disabled':''" @change="onModelValue(item)"
+									:data-ischeck="item.value" :disabled="item.disabled"
+									:style="{'margin-left':'10rpx'}">
+									<label>
+										<checkbox :value="item.value" :checked="item.value" />
+										<text>{{item.label}}</text>
+									</label>
+								</checkbox-group>
+								<!-- Switch寮�叧 -->
+								<switch v-if="item.name=='Switch'" :class="item.disabled?'input-disabled':''"
+									:disabled="item.disabled" v-model="item.value" @change="onModelValue(item)"
+									:style="{'margin-left':'10rpx'}" />
+								<!-- 鏃ユ湡鏃堕棿 -->
+								<view class="input-wrapper"
+									v-if="(item.name=='TimePicker' || item.name=='DatePicker') && !item.disabled">
+									<picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''"
+										:disabled="item.disabled" :value="item.value" @change="onModelValue(item)">
+										<view class="picker">{{item.value}}</view>
+									</picker>
+								</view>
+							</view>
+							<!-- 鏍呮牸甯冨眬 -->
+							<uni-row class="demo-uni-row" v-if="item.name=='Layout'">
+								<uni-col v-for="(cols,key) in item.setting.colList"
+									:span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
+									<view v-if="cols!=null">
+										<text class="txt_title"
+											:style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
+										<span class="form-item-span"
+											v-if="cols.disabled">{{cols.value2?'#'+cols.value+'#'+cols.value2:cols.value}}</span>
+										<view class="dv_input"
+											v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled">
+											<text v-if="cols.setting.prefix" class="uni-icon"
+												:class="[cols.setting.prefix]" @change="onChange(cols)">&#xe568;</text>
+											<input class="uni-input" :class="cols.disabled?'input-disabled':''"
+												:type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'"
+												v-model="cols.value" :disabled="cols.disabled"
+												:placeholder="cols.placeholder"
+												:style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}"
+												:focus="focusMateria" @focus="ontap(cols)" @blur="onevent(cols)" />
+											<text v-if="cols.setting.suffix" class="uni-icon"
+												:class="[cols.setting.suffix]" @click="onChange(cols)">&#xe568;</text>
+										</view>
+										<!-- 涓嬫媺妗�鍗曢� cols.useDict?cols.dict:cols.selections-->
+										<uni-data-select id="dv_select" v-if="cols.name=='Select' && !cols.disabled"
+											:class="cols.disabled?'input-disabled':''" v-model="cols.value"
+											:localdata="cols.dict" @change="onChange(cols)" :disabled="cols.disabled"
+											:clear="false"></uni-data-select>
+										<!-- 澶氳鏂囨湰 -->
+										<view class="input-wrapper" v-if="cols.name=='Textarea' && !cols.disabled">
+											<textarea class="uni-input" :value="cols.value"
+												:class="cols.disabled?'input-disabled':''"
+												:placeholder="cols.placeholder" @blur="onModelValue(cols)"
+												style="height:60px;" :style="{'width':'96%'}"
+												:disabled="cols.disabled"></textarea>
+										</view>
+										<!-- 澶嶉�妗�-->
+										<checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
+											:class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
+											@change="onModelValue(cols)" :data-ischeck="cols.value"
+											:style="{'margin-left':'10rpx'}">
+											<label>
+												<checkbox :value="cols.value" :checked="cols.value" />
+												<text>{{cols.label}}</text>
+											</label>
+										</checkbox-group>
+										<!-- Switch寮�叧 -->
+										<switch v-if="cols.name=='Switch'" :class="cols.disabled?'input-disabled':''"
+											:disabled="item.disabled" v-model="cols.value" @change="onModelValue(cols)"
+											:style="{'margin-left':'10rpx'}" />
+										<!-- 鏃ユ湡鏃堕棿 -->
+										<view class="input-wrapper"
+											v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled">
+											<picker mode="date" class="date_iput"
+												:class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
+												:value="cols.value" @change="onModelValue(cols)">
+												<view class="picker">{{cols.value}}</view>
+											</picker>
+										</view>
+
+									</view>
+								</uni-col>
+							</uni-row>
+						</div>
+					</div>
+				</div>
+			</view>
+		</view>
+
+		<view class="view-floor" v-if="param.ViewPage.Page_Button">
+			<!-- <button type="default" @click="cancel" class="btn_cancel" 
+		  :style="{'width':param.ViewPage.Page_Button.length>1?'39.5%':'48.5%'}">杩斿洖</button> -->
+			<button type="default" class="btn_refresh" v-for="(btn,index) in param.ViewPage.Page_Button" v-if="index<2"
+				@click="onBtnClick(btn)"
+				:style="{'width':param.ViewPage.Page_Button.length==1?'96%':param.ViewPage.Page_Button.length>2?'39.5%':'48%'}">{{btn.ShowName}}</button>
+
+			<view class="uni-padding-wrap" v-if="param.ViewPage.Page_Button.length>2">
+				<view class="uni-btn-v">
+					<a @tap="actionSheetTap">
+						<Icon class="mobox-normal-more" />
+					</a>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import Base64 from '../../components/js-base64/base64.js'
+	import classUtils from "@/js/utils.js"
+	export default {
+		modules: {
+			Base64,
+		},
+		onBackPress(e) {
+			// console.log("鐩戝惉杩斿洖鎸夐挳浜嬩欢",e);
+			var eventChannel = this.$scope.eventChannel;
+			// const eventChannel = this.getOpenerEventChannel();
+			eventChannel.emit('ExitViewEvent', "");
+			// uni.navigateBack({
+			// 	delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+			// });
+			// return true;
+		},
+		data() {
+			return {
+				title: '鏂板',
+				param: {},
+				styleDef: {
+					form: {
+						items: []
+					}
+				},
+				detail2_styledef: {
+					form: {
+						items: []
+					},
+				},
+				// detail2StyleDefList:[],
+				//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+				ViewHtml_Panel: "",
+				ViewPageHtml_Show: {
+					name: "",
+					event: {
+						id: "",
+						name: ""
+					}
+				},
+			};
+		},
+		async onLoad(options) {
+			// console.log(options);
+			uni.setNavigationBarTitle({
+				title: options.titlename
+			}); //璁剧疆椤堕儴鏍囬 
+			this.$data.title = options.titlename;
+			this.$data.param = JSON.parse(options.param);
+			console.log(this.$data.param);
+			this.$data.styleDef = JSON.parse(options.style);
+			// console.log(this.$data.styleDef);
+			if (this.param.ViewPage.View_UIDef.ui_type == "HTML椤甸潰") {
+				// HTML椤甸潰
+				//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+				this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ViewPage.View_UIDef.id, 'viewPage');
+			} else {
+				this.Detail2_UIstyleGetInfo(this.param.DataCls.id, this.param.ViewPage.View_UIDef.id);
+			}
+
+
+			//杩涘叆椤甸潰鍚庝簨浠�+			var eventid = this.param.ViewPage.Enter_View_Event?.id;
+			if (eventid) {
+				try {
+					var obj_attr = {
+						'S_ID': this.styleDef.form.objId
+					};
+					this.styleDef.form.attrs.forEach((attr) => {
+						obj_attr[attr.name] = attr.value;
+					});
+					// console.log(obj_attr);
+					var input_param = Base64.encode(JSON.stringify(obj_attr));
+					this.runCustomEvent({
+						ed_type: 0,
+						start_transaction: true,
+						class_id: this.param.DataCls.id,
+						event_id: eventid,
+						data_obj_id:this.styleDef.form.objId,
+						obj_attr,
+						input_param,
+					});
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: "閿欒",
+						content: tip,
+						showCancel: false,
+						confirmText: "鍙栨秷"
+					});
+				}
+			}
+		},
+		methods: {
+			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 = false;
+						// console.log($this.$data.detail2_styledef);
+						$this.styleDef.form.attrs.forEach((attr) => {
+							// info[attr.name]=attr.value;
+							$this.detail2_styledef.form.items.forEach(async (ele, index) => {
+								if (ele.name != 'Layout') {
+									if (ele.fieldId == attr.name) {
+										ele.value = attr.value;
+									}
+								} else if (ele.name == 'Layout') {
+									ele.setting.colList.forEach(async (col, key) => {
+										if (col) {
+											if (col.fieldId == attr.name) {
+												col.value = attr.value;
+											}
+										}
+									});
+								}
+							});
+						});
+						setTimeout(function() {
+							var detail2_styledef = JSON.parse(JSON.stringify($this.detail2_styledef));
+							$this.detail2_styledef = [];
+							$this.detail2_styledef = detail2_styledef;
+						}, 100);
+					} else {
+						uni.showModal({
+							title: "閿欒1",
+							content: ret.err_msg,
+							showCancel: false,
+							confirmText: "鍙栨秷"
+						});
+					}
+				}).catch(ex => {
+					// console.log(ex);
+					uni.showModal({
+						title: "閿欒1.1",
+						content: ex.errMsg,
+						showCancel: false,
+						confirmText: "鍙栨秷"
+					});
+				});
+
+			},
+			async Html_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.ViewPageHtml_Show = ret.result.style_def ? JSON.parse(styledef) : {};
+						// console.log($this.ViewPageHtml_Show);
+						var obj_attr = {};
+						$this.styleDef.form.attrs.forEach((attr) => {
+							obj_attr[attr.name] = attr.value;
+						});
+						obj_attr['id'] = $this.styleDef.form.objId;
+
+						var eventid = $this.ViewPageHtml_Show.event.id;
+						if (!$this.ViewPageHtml_Show.event.id.includes('{'))
+							eventid = '{' + $this.ViewPageHtml_Show.event.id + '}';
+						//HTML椤甸潰浜嬩欢
+						$this.runCustomEvent({
+							ed_type: 0,
+							start_transaction: true,
+							class_id: $this.param.DataCls.id,
+							event_id: eventid,
+							data_obj_id:$this.styleDef.form.objId,
+							obj_attr,
+						});
+					} else {
+						uni.showModal({
+							title: "閿欒6",
+							content: ret.err_msg,
+							showCancel: false,
+							confirmText: "鍙栨秷"
+						});
+					}
+				}).catch(ex => {
+					// console.log(ex);
+					uni.showModal({
+						title: "閿欒6.1",
+						content: ex.errMsg,
+						showCancel: false,
+						confirmText: "鍙栨秷"
+					});
+				});
+
+			},
+			//鏌ヨ鏁版嵁绫绘暟鎹俊鎭�+			async dataObjQuery(clsid, where, index, key) {
+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: clsid,
+						attrs: [],
+						condition: this.toWhereBase64String("" + where + ""),
+						prj_rel_type: "",
+						order_by: this.orderby,
+						page_size: 99999,
+						page: 1,
+						query_id: '',
+					};
+					this.$store.dispatch('dataObjQuery', dataInfo).then(ret => {
+						// console.log(ret);
+						if (ret.err_code == 0) {
+							if (ret.result) {
+								$this.detail1StyleDefList = [];
+								ret.result.obj_list.forEach((obj) => {
+									var info = {
+										S_ID: obj.id,
+									};
+									obj.attr_list.forEach((attr) => {
+										info[attr.name] = attr.value;
+									});
+									if (key != -1)
+										$this.detail2_styledef.form.items[index].setting.colList[key]
+										.value2 = info.S_NAME;
+									else
+										$this.detail2_styledef.form.items[index].value2 = info.S_NAME;
+								});
+								// console.log($this.detail2_styledef);
+							}
+						} else {
+							uni.showModal({
+								title: "閿欒5",
+								content: ret.err_msg,
+								showCancel: false,
+								confirmText: "鍙栨秷"
+							});
+						}
+					}).catch(ex => {
+						// console.log(ex);
+						uni.showModal({
+							title: "閿欒5.1",
+							content: ex.errMsg,
+							showCancel: false,
+							confirmText: "鍙栨秷"
+						});
+					});
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: "閿欒5.2",
+						content: tip,
+						showCancel: false,
+						confirmText: "鍙栨秷"
+					});
+				}
+			},
+
+			// 鍐呭鍙樺寲鍚庝簨浠�+			async onChange(event) {
+				try {
+					if (event.id) {
+						var obj_attr = this.detail2_styledef.form.model;
+						// console.log(obj_attr);
+						var input_param = Base64.encode(
+							JSON.stringify(
+								Object.keys(obj_attr).map((a) => ({
+									attr: a,
+									value: obj_attr[a] || "",
+								}))
+							)
+						);
+						var $this = this;
+						var dataInfo = {
+							ed_type: 0,
+							start_transaction: true,
+							class_id: this.$data.detail2_styledef.form.clsId,
+							class_name: '',
+							event_id: event.id,
+							event_name: '',
+							data_obj_id:"",
+							obj_attr: obj_attr,
+							prj_id: '',
+							ref_cls_id: '',
+							rel_obj_id: '',
+							user_login: '',
+							data_json: '',
+							compose_info: '',
+							ext_info: '',
+							global_attr: '',
+							input_param: input_param,
+						};
+						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: '鎻愮ず',
+										content: tip,
+										showCancel: false,
+										confirmText: "鍙栨秷"
+									});
+									else uni.showModal({
+										title: '鎻愮ず',
+										content: tip + ',鎻愮ず:' + result.ret,
+										showCancel: false,
+										confirmText: "鍙栨秷"
+									});
+									return false;
+								} else {
+									var tip = result.info ? typeof result.info == 'string' ? result.info :
+										result.info.join('<br/>') : '';
+									if (tip) uni.showModal({
+										title: '鎻愮ず',
+										content: tip,
+										showCancel: false,
+										confirmText: "鍙栨秷"
+									});
+
+									if (result.result_type == 0 && result.action) {
+										result.action.forEach(item => {
+											if (item.action_type == "set_dlg_attr") {
+												// value = {"attr":"xxx", "value":"xxx"}
+												var data = item.value;
+												$this.$data.detail2_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: "鎻愮ず",
+												content: result.info,
+												showCancel: false,
+												confirmText: "鍙栨秷"
+											});
+										}
+									}
+								}
+
+							} else {
+								uni.showModal({
+									title: "閿欒8",
+									content: ret.err_msg,
+									showCancel: false,
+									confirmText: "鍙栨秷"
+								});
+							}
+						}).catch(ex => {
+							// console.log(ex);
+							uni.showModal({
+								title: "閿欒8.1",
+								content: ex.errMsg,
+								showCancel: false,
+								confirmText: "鍙栨秷"
+							});
+						});
+					}
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: "閿欒8.2",
+						content: "鎵ц鈥滃唴瀹瑰彉鍖栧悗鈥濅簨浠跺け璐ワ細" + tip,
+						showCancel: false,
+						confirmText: "鍙栨秷"
+					});
+
+				}
+			},
+			//鐐瑰嚮鎸夐挳
+			onBtnClick(btn) {
+				var that = this
+				if (btn.Prompt) {
+					uni.showModal({
+						title: '鎻愮ず',
+						content: btn.PromptContent || "鏄惁纭畾锛�,
+						success: function(res) {
+							if (res.confirm) {
+								that.onButtonClicked(btn);
+								// } else if (res.cancel) {
+								// 	console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+							}
+						}
+					});
+				} else that.onButtonClicked(btn);
+			},
+			//鐐瑰嚮鎸夐挳鍒楄〃
+			actionSheetTap() {
+				var that = this
+				var itemlist = [];
+				this.param.ViewPage.Page_Button.forEach((btn, index) => {
+					if (index >= 2)
+						itemlist.push(btn.ShowName);
+				});
+				uni.showActionSheet({
+					// title: '鎸夐挳鍒楄〃',
+					itemList: itemlist,
+					success: (e) => {
+						console.log(e.tapIndex);
+						var btn = that.param.ListPage.Page_Button[e.tapIndex];
+						if (btn.Prompt) {
+							uni.showModal({
+								title: '鎻愮ず',
+								content: btn.PromptContent || "鏄惁纭畾锛�,
+								success: function(res) {
+									if (res.confirm) {
+										that.onButtonClicked(btn);
+										// } else if (res.cancel) {
+										// 	console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+									}
+								}
+							});
+						} else that.onButtonClicked(btn);
+					}
+				})
+			},
+			//澶勭悊鐩稿叧鎸夐挳
+			async onButtonClicked(btn) {
+				var style = this.styleDef || '';
+				try {
+					var enviroment = {
+						button: "top",
+						button_name: btn.ShowName,
+						cls_id: btn.Cls_ID,
+						function: "3200",
+						master: {},
+					};
+					if (btn.FunCode == "TriggerEvent") {
+						this.triggerEvent(btn, style, enviroment);
+					} else {
+						uni.showModal({
+							title: "鎻愮ず",
+							content: "鏈疄鐜�,
+							showCancel: false,
+							confirmText: "鍙栨秷"
+						});
+					}
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: "閿欒2",
+						content: tip,
+						showCancel: false,
+						confirmText: "鍙栨秷"
+					});
+				}
+			},
+			//鎵ц瑙﹀彂浜嬩欢
+			async triggerEvent(btn, style, enviroment) {
+				try {
+					var obj_attr = {
+						'S_ID': this.styleDef.form.objId
+					};
+					style.form.attrs.forEach((attr) => {
+						obj_attr[attr.name] = attr.value;
+					});
+					// console.log(obj_attr);
+					// let input_param = Base64.encode(JSON.stringify(obj_attr));
+					// return;
+					this.runCustomEvent({
+						ed_type: 0,
+						start_transaction: true,
+						class_id: btn.Cls_ID,
+						event_id: btn.Event.ID,
+						data_obj_id:this.styleDef.form.objId,
+						obj_attr: obj_attr,
+					});
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: "閿欒3",
+						content: tip,
+						showCancel: false,
+						confirmText: "鍙栨秷"
+					});
+				}
+			},
+			//浜嬩欢
+			async runCustomEvent(dataInfo) {
+				try {
+					var $this = this;
+					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: '鎻愮ず',
+									content: tip,
+									showCancel: false,
+									confirmText: "鍙栨秷"
+								});
+								else uni.showModal({
+									title: '鎻愮ず',
+									content: tip + ',鎻愮ず:' + result.ret,
+									showCancel: false,
+									confirmText: "鍙栨秷"
+								});
+								return false;
+							} else {
+								var tip = result.info ? typeof result.info == 'string' ? result.info : result
+									.info.join('<br/>') : '';
+								if (tip) uni.showModal({
+									title: '鎻愮ず',
+									content: tip,
+									showCancel: false,
+									confirmText: "鍙栨秷"
+								});
+
+								if (result.result_type == 0 && result.action) {
+									result.action.forEach(item => {
+										if (item.action_type == "goback_to_pre_page") { //杩斿洖涓婁竴椤�+											var value = item.value;
+											// const eventChannel = this.$scope.eventChannel;
+											// // const eventChannel = this.getOpenerEventChannel();
+											// eventChannel.emit('ExitViewEvent',"");
+											uni.navigateBack({
+												delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+											});
+										} else if (item.action_type == "hidden_button") { //闅愯棌鎸夐挳
+											var value = item.value;
+											value.forEach(btn => {
+												var index = $this.param.ViewPage.Page_Button
+													.findIndex(button => button.ShowName ==
+														btn)
+												if (index > -1)
+													$this.param.ViewPage.Page_Button.splice(
+														index, 1)
+											})
+										} else if (item.action_type == "set_panel_html") { //鏄剧ずHtml椤甸潰
+											// var value = item.value;
+											$this.ViewHtml_Panel = item.value;
+
+										}
+
+									});
+								} else {
+									var tip = result.info ? typeof result.info == 'string' ? result.info :
+										result.info.join('<br/>') : '';
+									if (tip) uni.showModal({
+										title: '鎻愮ず',
+										content: tip,
+										showCancel: false,
+										confirmText: "鍙栨秷"
+									});
+								}
+							}
+
+						} else {
+							uni.showModal({
+								title: "閿欒4",
+								content: ret.err_msg,
+								showCancel: false,
+								confirmText: "鍙栨秷"
+							});
+						}
+					}).catch(ex => {
+						// console.log(ex);
+						uni.showModal({
+							title: "閿欒4.1",
+							content: ex.errMsg,
+							showCancel: false,
+							confirmText: "鍙栨秷"
+						});
+					});
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: "閿欒4.2",
+						content: "鎵ц鈥滃唴瀹瑰彉鍖栧悗鈥濅簨浠跺け璐ワ細" + tip,
+						showCancel: false,
+						confirmText: "鍙栨秷"
+					});
+
+				}
+			},
+
+			/**
+			 * 鍙敮鎸乕"column1='A' or column2='B'", "column3='C' and column4='D'", "column5='E'"]杩欑鏍煎紡
+			 * {
+			 *     "model": 0 / 1,
+			 *     "condition":
+			 *     [
+			 *         [
+			 *             { },
+			 *             { },
+			 *             { }
+			 *         ],
+			 *         [
+			 *             { }
+			 *         ],
+			 *         [
+			 *             { }
+			 *         ]
+			 *     ]
+			 * }
+			 */
+			toWhereBase64String(list) {
+				if (typeof list == 'string') list = [list]
+				var sql = []
+				var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=', '>', ' like']
+				list.forEach(ls => {
+					var where = ls.trim()
+					if (where.startsWith('(') && where.endsWith(')')) where = where.replace(/^\(/, '').replace(/\)$/, '')
+					if (where.toLowerCase().includes(' and ')) {
+						// 浜岀骇and鏀惧湪绗竴绾ф暟缁勪腑
+						where.split(/ and /i).forEach(li => {
+							var l = li.trim()
+							if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '')
+							var sep = ''
+							for (var i = 0; i < seps.length; i++) {
+								if (l.toLowerCase().includes(seps[i])) {
+									sep = seps[i]
+									break
+								}
+							}
+							if (sep) {
+								var values = l.split(new RegExp(sep, 'i'))
+								var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
+								var value = ''
+								var op = sep.trim()
+			
+								if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && values[1]?.toLowerCase().includes(' from ')) {
+									value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim()
+									if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '').replace(/\)$/, '').trim()
+								}
+								else {
+									value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
+			
+									if (['in', 'not in'].includes(op)) {
+										value = value.replace(/^\(/, '').replace(/\)$/, '')
+										value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, ''))
+									}
+								}
+								sql.push([{ field, value, op }])
+							}
+						})
+					}
+					else if (where.toLowerCase().includes(' or ')) {
+						// 浜岀骇or鏀惧湪绗簩绾у悓涓�粍鏁扮粍涓�+						var s = []
+						where.split(/ or /i).forEach(li => {
+							var l = li.trim()
+							if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '')
+							var sep = ''
+							for (var i = 0; i < seps.length; i++) {
+								if (l.toLowerCase().includes(seps[i])) {
+									sep = seps[i]
+									break
+								}
+							}
+							if (sep) {
+								var values = l.split(new RegExp(sep, 'i'))
+								var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
+								var value = ''
+								var op = sep.trim()
+			
+								if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && values[1]?.toLowerCase().includes(' from ')) {
+									value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim()
+									if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '').replace(/\)$/, '').trim()
+								}
+								else {
+									value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
+			
+									if (['in', 'not in'].includes(op)) {
+										value = value.replace(/^\(/, '').replace(/\)$/, '')
+										value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, ''))
+									}
+								}
+								sql.push([{ field, value, op }])
+							}
+						})
+						sql.push(s)
+					}
+					else {
+						var li = where
+						// 鍗曚竴鏌ヨ鏉′欢鐩存帴鏀惧湪绗竴绾ф暟缁勪腑
+						var l = li.trim()
+						if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '')
+						var sep = ''
+						for (var i = 0; i < seps.length; i++) {
+							if (l.toLowerCase().includes(seps[i])) {
+								sep = seps[i]
+								break
+							}
+						}
+						if (sep) {
+							var values = l.split(new RegExp(sep,'i'))
+							var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
+							var value = ''
+							var op = sep.trim()
+			
+							if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && values[1]?.toLowerCase().includes(' from ')) {
+								value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim()
+								if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '').replace(/\)$/, '').trim()
+							}
+							else {
+								value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
+			
+								if (['in', 'not in'].includes(op)) {
+									value = value.replace(/^\(/, '').replace(/\)$/, '')
+									value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, ''))
+								}
+							}
+							sql.push([{ field, value, op }])
+						}
+					}
+				})
+			
+				if (sql.length > 0)
+					return Base64.encode(JSON.stringify({
+						model: 1,
+						condition: sql
+					}))
+				else
+				return ''
+			},
+			
+			cancel(e) { //鍙栨秷
+				var eventChannel = this.$scope.eventChannel;
+				// const eventChannel = this.getOpenerEventChannel();
+				eventChannel.emit('ExitViewEvent', "");
+				uni.navigateBack({
+					delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+				});
+			},
+
+
+		},
+	};
+</script>
+
 <style>
 	.v-headStyle .txt_title {
 		font-size: 34rpx;
@@ -261,935 +1179,3 @@
 		width: calc(100% - 120px);
 	}
 </style>
-
-<template>
-	<view class="content">
-		<view class="v-content">
-			<view class="dv-panel dv-panel-bkcolor">
-				<div class="dv-panel-input">
-					<!-- HTML椤甸潰绫诲瀷鏄剧ず -->
-					<div class="dv-viewHtml-Panel" v-if="ViewHtml_Panel" v-html="ViewHtml_Panel">
-						<!-- <div>
-						  <label class="item-label">浠诲姟缂栫爜:</label>
-						  <span class="item-span">TA240318-00005</span>
-						</div> -->
-					</div>
-					<!-- 鑷畾涔夎〃鍗曠被鍨嬫樉绀�-->
-					<div v-if="!ViewHtml_Panel">
-						<div v-for="(item,index) in detail2_styledef.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.value2?'#'+item.value+'#'+item.value2:item.value}}</span>
-								<!-- 鏂囨湰妗�鏁板瓧妗�-->
-								<view class="dv_input"
-									v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled">
-									<text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
-										@change="onChange(item)">&#xe568;</text>
-									<input class="uni-input" :class="item.disabled?'input-disabled':''"
-										:type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'"
-										v-model="item.value" :disabled="item.disabled" :placeholder="item.placeholder"
-										:style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
-										:focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)" />
-									<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
-										@click="onChange(item)">&#xe568;</text>
-								</view>
-								<!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections-->
-								<uni-data-select id="dv_select" v-if="item.name=='Select' && !item.disabled"
-									:class="item.disabled?'input-disabled':''" v-model="item.value"
-									:localdata="item.dict" @change="onChange(item)" :disabled="item.disabled"
-									:clear="false"></uni-data-select>
-								<!-- 澶氳鏂囨湰 -->
-								<view class="input-wrapper" v-if="item.name=='Textarea' && !item.disabled">
-									<textarea class="uni-input" :value="item.value"
-										:class="item.disabled?'input-disabled':''" :placeholder="item.placeholder"
-										@blur="onModelValue(item)" style="height:60px;" :style="{'width':'96%'}"
-										:disabled="item.disabled"></textarea>
-								</view>
-								<!-- 澶嶉�妗�-->
-								<checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
-									:class="item.disabled?'input-disabled':''" @change="onModelValue(item)"
-									:data-ischeck="item.value" :disabled="item.disabled"
-									:style="{'margin-left':'10rpx'}">
-									<label>
-										<checkbox :value="item.value" :checked="item.value" />
-										<text>{{item.label}}</text>
-									</label>
-								</checkbox-group>
-								<!-- Switch寮�叧 -->
-								<switch v-if="item.name=='Switch'" :class="item.disabled?'input-disabled':''"
-									:disabled="item.disabled" v-model="item.value" @change="onModelValue(item)"
-									:style="{'margin-left':'10rpx'}" />
-								<!-- 鏃ユ湡鏃堕棿 -->
-								<view class="input-wrapper"
-									v-if="(item.name=='TimePicker' || item.name=='DatePicker') && !item.disabled">
-									<picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''"
-										:disabled="item.disabled" :value="item.value" @change="onModelValue(item)">
-										<view class="picker">{{item.value}}</view>
-									</picker>
-								</view>
-							</view>
-							<!-- 鏍呮牸甯冨眬 -->
-							<uni-row class="demo-uni-row" v-if="item.name=='Layout'">
-								<uni-col v-for="(cols,key) in item.setting.colList"
-									:span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
-									<view v-if="cols!=null">
-										<text class="txt_title"
-											:style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
-										<span class="form-item-span"
-											v-if="cols.disabled">{{cols.value2?'#'+cols.value+'#'+cols.value2:cols.value}}</span>
-										<view class="dv_input"
-											v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled">
-											<text v-if="cols.setting.prefix" class="uni-icon"
-												:class="[cols.setting.prefix]" @change="onChange(cols)">&#xe568;</text>
-											<input class="uni-input" :class="cols.disabled?'input-disabled':''"
-												:type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'"
-												v-model="cols.value" :disabled="cols.disabled"
-												:placeholder="cols.placeholder"
-												:style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}"
-												:focus="focusMateria" @focus="ontap(cols)" @blur="onevent(cols)" />
-											<text v-if="cols.setting.suffix" class="uni-icon"
-												:class="[cols.setting.suffix]" @click="onChange(cols)">&#xe568;</text>
-										</view>
-										<!-- 涓嬫媺妗�鍗曢� cols.useDict?cols.dict:cols.selections-->
-										<uni-data-select id="dv_select" v-if="cols.name=='Select' && !cols.disabled"
-											:class="cols.disabled?'input-disabled':''" v-model="cols.value"
-											:localdata="cols.dict" @change="onChange(cols)" :disabled="cols.disabled"
-											:clear="false"></uni-data-select>
-										<!-- 澶氳鏂囨湰 -->
-										<view class="input-wrapper" v-if="cols.name=='Textarea' && !cols.disabled">
-											<textarea class="uni-input" :value="cols.value"
-												:class="cols.disabled?'input-disabled':''"
-												:placeholder="cols.placeholder" @blur="onModelValue(cols)"
-												style="height:60px;" :style="{'width':'96%'}"
-												:disabled="cols.disabled"></textarea>
-										</view>
-										<!-- 澶嶉�妗�-->
-										<checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
-											:class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
-											@change="onModelValue(cols)" :data-ischeck="cols.value"
-											:style="{'margin-left':'10rpx'}">
-											<label>
-												<checkbox :value="cols.value" :checked="cols.value" />
-												<text>{{cols.label}}</text>
-											</label>
-										</checkbox-group>
-										<!-- Switch寮�叧 -->
-										<switch v-if="cols.name=='Switch'" :class="cols.disabled?'input-disabled':''"
-											:disabled="item.disabled" v-model="cols.value" @change="onModelValue(cols)"
-											:style="{'margin-left':'10rpx'}" />
-										<!-- 鏃ユ湡鏃堕棿 -->
-										<view class="input-wrapper"
-											v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled">
-											<picker mode="date" class="date_iput"
-												:class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
-												:value="cols.value" @change="onModelValue(cols)">
-												<view class="picker">{{cols.value}}</view>
-											</picker>
-										</view>
-
-									</view>
-								</uni-col>
-							</uni-row>
-						</div>
-					</div>
-				</div>
-			</view>
-		</view>
-
-		<view class="view-floor" v-if="param.ViewPage.Page_Button">
-			<!-- <button type="default" @click="cancel" class="btn_cancel" 
-		  :style="{'width':param.ViewPage.Page_Button.length>1?'39.5%':'48.5%'}">杩斿洖</button> -->
-			<button type="default" class="btn_refresh" v-for="(btn,index) in param.ViewPage.Page_Button" v-if="index<2"
-				@click="onBtnClick(btn)"
-				:style="{'width':param.ViewPage.Page_Button.length==1?'96%':param.ViewPage.Page_Button.length>2?'39.5%':'48%'}">{{btn.ShowName}}</button>
-
-			<view class="uni-padding-wrap" v-if="param.ViewPage.Page_Button.length>2">
-				<view class="uni-btn-v">
-					<a @tap="actionSheetTap">
-						<Icon class="mobox-normal-more" />
-					</a>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import Base64 from '../../components/js-base64/base64.js'
-	export default {
-		modules: {
-			Base64,
-		},
-		onBackPress(e) {
-			// console.log("鐩戝惉杩斿洖鎸夐挳浜嬩欢",e);
-			var eventChannel = this.$scope.eventChannel;
-			// const eventChannel = this.getOpenerEventChannel();
-			eventChannel.emit('ExitViewEvent', "");
-			// uni.navigateBack({
-			// 	delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
-			// });
-			// return true;
-		},
-		data() {
-			return {
-				title: '鏂板',
-				param: {},
-				styleDef: {
-					form: {
-						items: []
-					}
-				},
-				detail2_styledef: {
-					form: {
-						items: []
-					},
-				},
-				// detail2StyleDefList:[],
-				//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
-				ViewHtml_Panel: "",
-				ViewPageHtml_Show: {
-					name: "",
-					event: {
-						id: "",
-						name: ""
-					}
-				},
-			};
-		},
-		async onLoad(options) {
-			// console.log(options);
-			uni.setNavigationBarTitle({
-				title: options.titlename
-			}); //璁剧疆椤堕儴鏍囬 
-			this.$data.title = options.titlename;
-			this.$data.param = JSON.parse(options.param);
-			console.log(this.$data.param);
-			this.$data.styleDef = JSON.parse(options.style);
-			// console.log(this.$data.styleDef);
-			if (this.param.ViewPage.View_UIDef.ui_type == "HTML椤甸潰") {
-				// HTML椤甸潰
-				//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
-				this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ViewPage.View_UIDef.id, 'viewPage');
-			} else {
-				this.Detail2_UIstyleGetInfo(this.param.DataCls.id, this.param.ViewPage.View_UIDef.id);
-			}
-
-
-			//杩涘叆椤甸潰鍚庝簨浠�-			var eventid = this.param.ViewPage.Enter_View_Event?.id;
-			if (eventid) {
-				try {
-					var obj_attr = {
-						'S_ID': this.styleDef.form.objId
-					};
-					this.styleDef.form.attrs.forEach((attr) => {
-						obj_attr[attr.name] = attr.value;
-					});
-					// console.log(obj_attr);
-					var input_param = Base64.encode(JSON.stringify(obj_attr));
-					this.runCustomEvent({
-						ed_type: 0,
-						start_transaction: true,
-						class_id: this.param.DataCls.id,
-						event_id: eventid,
-						obj_attr,
-						input_param,
-					});
-				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: "閿欒",
-						content: tip,
-						showCancel: false,
-						confirmText: "鍙栨秷"
-					});
-				}
-			}
-		},
-		methods: {
-			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 = false;
-						// console.log($this.$data.detail2_styledef);
-						$this.styleDef.form.attrs.forEach((attr) => {
-							// info[attr.name]=attr.value;
-							$this.detail2_styledef.form.items.forEach(async (ele, index) => {
-								if (ele.name != 'Layout') {
-									if (ele.fieldId == attr.name) {
-										ele.value = attr.value;
-									}
-								} else if (ele.name == 'Layout') {
-									ele.setting.colList.forEach(async (col, key) => {
-										if (col) {
-											if (col.fieldId == attr.name) {
-												col.value = attr.value;
-											}
-										}
-									});
-								}
-							});
-						});
-						setTimeout(function() {
-							var detail2_styledef = JSON.parse(JSON.stringify($this.detail2_styledef));
-							$this.detail2_styledef = [];
-							$this.detail2_styledef = detail2_styledef;
-						}, 100);
-					} else {
-						uni.showModal({
-							title: "閿欒1",
-							content: ret.err_msg,
-							showCancel: false,
-							confirmText: "鍙栨秷"
-						});
-					}
-				}).catch(ex => {
-					// console.log(ex);
-					uni.showModal({
-						title: "閿欒1.1",
-						content: ex.errMsg,
-						showCancel: false,
-						confirmText: "鍙栨秷"
-					});
-				});
-
-			},
-			async Html_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.ViewPageHtml_Show = ret.result.style_def ? JSON.parse(styledef) : {};
-						// console.log($this.ViewPageHtml_Show);
-						var obj_attr = {};
-						$this.styleDef.form.attrs.forEach((attr) => {
-							obj_attr[attr.name] = attr.value;
-						});
-						obj_attr['id'] = $this.styleDef.form.objId;
-
-						var eventid = $this.ViewPageHtml_Show.event.id;
-						if (!$this.ViewPageHtml_Show.event.id.includes('{'))
-							eventid = '{' + $this.ViewPageHtml_Show.event.id + '}';
-						//HTML椤甸潰浜嬩欢
-						$this.runCustomEvent({
-							ed_type: 0,
-							start_transaction: true,
-							class_id: $this.param.DataCls.id,
-							event_id: eventid,
-							obj_attr,
-						});
-					} else {
-						uni.showModal({
-							title: "閿欒6",
-							content: ret.err_msg,
-							showCancel: false,
-							confirmText: "鍙栨秷"
-						});
-					}
-				}).catch(ex => {
-					// console.log(ex);
-					uni.showModal({
-						title: "閿欒6.1",
-						content: ex.errMsg,
-						showCancel: false,
-						confirmText: "鍙栨秷"
-					});
-				});
-
-			},
-			//鏌ヨ鏁版嵁绫绘暟鎹俊鎭�-			async dataObjQuery(clsid, where, index, key) {
-				try {
-					var $this = this;
-					var dataInfo = {
-						class_id: clsid,
-						attrs: [],
-						condition: this.toWhereBase64String("" + where + ""),
-						prj_rel_type: "",
-						order_by: this.orderby,
-						page_size: 99999,
-						page: 1,
-						query_id: '',
-					};
-					this.$store.dispatch('dataObjQuery', dataInfo).then(ret => {
-						// console.log(ret);
-						if (ret.err_code == 0) {
-							if (ret.result) {
-								$this.detail1StyleDefList = [];
-								ret.result.obj_list.forEach((obj) => {
-									var info = {
-										S_ID: obj.id,
-									};
-									obj.attr_list.forEach((attr) => {
-										info[attr.name] = attr.value;
-									});
-									if (key != -1)
-										$this.detail2_styledef.form.items[index].setting.colList[key]
-										.value2 = info.S_NAME;
-									else
-										$this.detail2_styledef.form.items[index].value2 = info.S_NAME;
-								});
-								// console.log($this.detail2_styledef);
-							}
-						} else {
-							uni.showModal({
-								title: "閿欒5",
-								content: ret.err_msg,
-								showCancel: false,
-								confirmText: "鍙栨秷"
-							});
-						}
-					}).catch(ex => {
-						// console.log(ex);
-						uni.showModal({
-							title: "閿欒5.1",
-							content: ex.errMsg,
-							showCancel: false,
-							confirmText: "鍙栨秷"
-						});
-					});
-				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: "閿欒5.2",
-						content: tip,
-						showCancel: false,
-						confirmText: "鍙栨秷"
-					});
-				}
-			},
-
-			// 鍐呭鍙樺寲鍚庝簨浠�-			async onChange(event) {
-				try {
-					if (event.id) {
-						var obj_attr = this.detail2_styledef.form.model;
-						// console.log(obj_attr);
-						var input_param = Base64.encode(
-							JSON.stringify(
-								Object.keys(obj_attr).map((a) => ({
-									attr: a,
-									value: obj_attr[a] || "",
-								}))
-							)
-						);
-						var $this = this;
-						var dataInfo = {
-							ed_type: 0,
-							start_transaction: true,
-							class_id: this.$data.detail2_styledef.form.clsId,
-							class_name: '',
-							event_id: event.id,
-							event_name: '',
-							data_obj_id: '',
-							obj_attr: obj_attr,
-							prj_id: '',
-							ref_cls_id: '',
-							rel_obj_id: '',
-							user_login: '',
-							data_json: '',
-							compose_info: '',
-							ext_info: '',
-							global_attr: '',
-							input_param: input_param,
-						};
-						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: '鎻愮ず',
-										content: tip,
-										showCancel: false,
-										confirmText: "鍙栨秷"
-									});
-									else uni.showModal({
-										title: '鎻愮ず',
-										content: tip + ',鎻愮ず:' + result.ret,
-										showCancel: false,
-										confirmText: "鍙栨秷"
-									});
-									return false;
-								} else {
-									var tip = result.info ? typeof result.info == 'string' ? result.info :
-										result.info.join('<br/>') : '';
-									if (tip) uni.showModal({
-										title: '鎻愮ず',
-										content: tip,
-										showCancel: false,
-										confirmText: "鍙栨秷"
-									});
-
-									if (result.result_type == 0 && result.action) {
-										result.action.forEach(item => {
-											if (item.action_type == "set_dlg_attr") {
-												// value = {"attr":"xxx", "value":"xxx"}
-												var data = item.value;
-												$this.$data.detail2_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: "鎻愮ず",
-												content: result.info,
-												showCancel: false,
-												confirmText: "鍙栨秷"
-											});
-										}
-									}
-								}
-
-							} else {
-								uni.showModal({
-									title: "閿欒8",
-									content: ret.err_msg,
-									showCancel: false,
-									confirmText: "鍙栨秷"
-								});
-							}
-						}).catch(ex => {
-							// console.log(ex);
-							uni.showModal({
-								title: "閿欒8.1",
-								content: ex.errMsg,
-								showCancel: false,
-								confirmText: "鍙栨秷"
-							});
-						});
-					}
-				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: "閿欒8.2",
-						content: "鎵ц鈥滃唴瀹瑰彉鍖栧悗鈥濅簨浠跺け璐ワ細" + tip,
-						showCancel: false,
-						confirmText: "鍙栨秷"
-					});
-
-				}
-			},
-			//鐐瑰嚮鎸夐挳
-			onBtnClick(btn) {
-				var that = this
-				if (btn.Prompt) {
-					uni.showModal({
-						title: '鎻愮ず',
-						content: btn.PromptContent || "鏄惁纭畾锛�,
-						success: function(res) {
-							if (res.confirm) {
-								that.onButtonClicked(btn);
-								// } else if (res.cancel) {
-								// 	console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
-							}
-						}
-					});
-				} else that.onButtonClicked(btn);
-			},
-			//鐐瑰嚮鎸夐挳鍒楄〃
-			actionSheetTap() {
-				var that = this
-				var itemlist = [];
-				this.param.ViewPage.Page_Button.forEach((btn, index) => {
-					if (index >= 2)
-						itemlist.push(btn.ShowName);
-				});
-				uni.showActionSheet({
-					// title: '鎸夐挳鍒楄〃',
-					itemList: itemlist,
-					success: (e) => {
-						console.log(e.tapIndex);
-						var btn = that.param.ListPage.Page_Button[e.tapIndex];
-						if (btn.Prompt) {
-							uni.showModal({
-								title: '鎻愮ず',
-								content: btn.PromptContent || "鏄惁纭畾锛�,
-								success: function(res) {
-									if (res.confirm) {
-										that.onButtonClicked(btn);
-										// } else if (res.cancel) {
-										// 	console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
-									}
-								}
-							});
-						} else that.onButtonClicked(btn);
-					}
-				})
-			},
-			//澶勭悊鐩稿叧鎸夐挳
-			async onButtonClicked(btn) {
-				var style = this.styleDef || '';
-				try {
-					var enviroment = {
-						button: "top",
-						button_name: btn.ShowName,
-						cls_id: btn.Cls_ID,
-						function: "3200",
-						master: {},
-					};
-					if (btn.FunCode == "TriggerEvent") {
-						this.triggerEvent(btn, style, enviroment);
-					} else {
-						uni.showModal({
-							title: "鎻愮ず",
-							content: "鏈疄鐜�,
-							showCancel: false,
-							confirmText: "鍙栨秷"
-						});
-					}
-				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: "閿欒2",
-						content: tip,
-						showCancel: false,
-						confirmText: "鍙栨秷"
-					});
-				}
-			},
-			//鎵ц瑙﹀彂浜嬩欢
-			async triggerEvent(btn, style, enviroment) {
-				try {
-					var obj_attr = {
-						'S_ID': this.styleDef.form.objId
-					};
-					style.form.attrs.forEach((attr) => {
-						obj_attr[attr.name] = attr.value;
-					});
-					// console.log(obj_attr);
-					// let input_param = Base64.encode(JSON.stringify(obj_attr));
-					// return;
-					this.runCustomEvent({
-						ed_type: 0,
-						start_transaction: true,
-						class_id: btn.Cls_ID,
-						event_id: btn.Event.ID,
-						obj_attr: obj_attr,
-					});
-				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: "閿欒3",
-						content: tip,
-						showCancel: false,
-						confirmText: "鍙栨秷"
-					});
-				}
-			},
-			//浜嬩欢
-			async runCustomEvent(dataInfo) {
-				try {
-					var $this = this;
-					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: '鎻愮ず',
-									content: tip,
-									showCancel: false,
-									confirmText: "鍙栨秷"
-								});
-								else uni.showModal({
-									title: '鎻愮ず',
-									content: tip + ',鎻愮ず:' + result.ret,
-									showCancel: false,
-									confirmText: "鍙栨秷"
-								});
-								return false;
-							} else {
-								var tip = result.info ? typeof result.info == 'string' ? result.info : result
-									.info.join('<br/>') : '';
-								if (tip) uni.showModal({
-									title: '鎻愮ず',
-									content: tip,
-									showCancel: false,
-									confirmText: "鍙栨秷"
-								});
-
-								if (result.result_type == 0 && result.action) {
-									result.action.forEach(item => {
-										if (item.action_type == "goback_to_pre_page") { //杩斿洖涓婁竴椤�-											var value = item.value;
-											// const eventChannel = this.$scope.eventChannel;
-											// // const eventChannel = this.getOpenerEventChannel();
-											// eventChannel.emit('ExitViewEvent',"");
-											uni.navigateBack({
-												delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
-											});
-										} else if (item.action_type == "hidden_button") { //闅愯棌鎸夐挳
-											var value = item.value;
-											value.forEach(btn => {
-												var index = $this.param.ViewPage.Page_Button
-													.findIndex(button => button.ShowName ==
-														btn)
-												if (index > -1)
-													$this.param.ViewPage.Page_Button.splice(
-														index, 1)
-											})
-										} else if (item.action_type == "set_panel_html") { //鏄剧ずHtml椤甸潰
-											// var value = item.value;
-											$this.ViewHtml_Panel = item.value;
-
-										}
-
-									});
-								} else {
-									var tip = result.info ? typeof result.info == 'string' ? result.info :
-										result.info.join('<br/>') : '';
-									if (tip) uni.showModal({
-										title: '鎻愮ず',
-										content: tip,
-										showCancel: false,
-										confirmText: "鍙栨秷"
-									});
-								}
-							}
-
-						} else {
-							uni.showModal({
-								title: "閿欒4",
-								content: ret.err_msg,
-								showCancel: false,
-								confirmText: "鍙栨秷"
-							});
-						}
-					}).catch(ex => {
-						// console.log(ex);
-						uni.showModal({
-							title: "閿欒4.1",
-							content: ex.errMsg,
-							showCancel: false,
-							confirmText: "鍙栨秷"
-						});
-					});
-				} catch (ex) {
-					var tip = typeof ex == "string" ? ex : ex.message;
-					uni.showModal({
-						title: "閿欒4.2",
-						content: "鎵ц鈥滃唴瀹瑰彉鍖栧悗鈥濅簨浠跺け璐ワ細" + tip,
-						showCancel: false,
-						confirmText: "鍙栨秷"
-					});
-
-				}
-			},
-
-			/**
-			 * 鍙敮鎸乕"column1='A' or column2='B'", "column3='C' and column4='D'", "column5='E'"]杩欑鏍煎紡
-			 * {
-			 *     "model": 0 / 1,
-			 *     "condition":
-			 *     [
-			 *         [
-			 *             { },
-			 *             { },
-			 *             { }
-			 *         ],
-			 *         [
-			 *             { }
-			 *         ],
-			 *         [
-			 *             { }
-			 *         ]
-			 *     ]
-			 * }
-			 */
-			toWhereBase64String(list) {
-				if (typeof list == 'string') list = [list]
-				var sql = []
-				var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=', '>', ' like']
-				list.forEach(ls => {
-					var where = ls.trim().toLowerCase()
-					if (where.startsWith('(') && where.endsWith(')')) where = where.replace(/^\(/, '').replace(
-						/\)$/, '')
-					if (where.includes(' and ')) {
-						// 浜岀骇and鏀惧湪绗竴绾ф暟缁勪腑
-						where.split(' and ').forEach(li => {
-							var l = li.trim()
-							if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(
-								/\)$/, '')
-							var sep = ''
-							for (var i = 0; i < seps.length; i++) {
-								if (l.includes(seps[i])) {
-									sep = seps[i]
-									break
-								}
-							}
-							if (sep) {
-								var values = l.split(sep)
-								var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
-								var value = ''
-								var op = sep.trim()
-
-								if ([' in', ' not in'].includes(sep) && values[1].includes('select ') &&
-									values[1].includes(' from ')) {
-									value = l.replace(field, '').replace(/^\s*(in|not in)\s*/, '').trim()
-									if (value.startsWith('(') && value.endsWith(')')) value = value
-										.replace(/^\(/, '').replace(/\)$/, '').trim()
-								} else {
-									value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
-
-									if (['in', 'not in'].includes(op)) {
-										value = value.replace(/^\(/, '').replace(/\)$/, '')
-										value = value.split(',').map(v => v.trim().replace(/^\'/, '')
-											.replace(/\'$/, ''))
-									}
-								}
-								sql.push([{
-									field,
-									value,
-									op
-								}])
-							}
-						})
-					} else if (where.includes(' or ')) {
-						// 浜岀骇or鏀惧湪绗簩绾у悓涓�粍鏁扮粍涓�-						var s = []
-						where.split(' or ').forEach(li => {
-							var l = li.trim()
-							if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(
-								/\)$/, '')
-							var sep = ''
-							for (var i = 0; i < seps.length; i++) {
-								if (l.includes(seps[i])) {
-									sep = seps[i]
-									break
-								}
-							}
-							if (sep) {
-								var values = l.split(sep)
-								var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
-								var value = ''
-								var op = sep.trim()
-
-								if ([' in', ' not in'].includes(sep) && values[1].includes('select ') &&
-									values[1].includes(' from ')) {
-									value = l.replace(field, '').replace(/^\s*(in|not in)\s*/, '').trim()
-									if (value.startsWith('(') && value.endsWith(')')) value = value
-										.replace(/^\(/, '').replace(/\)$/, '').trim()
-								} else {
-									value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
-
-									if (['in', 'not in'].includes(op)) {
-										value = value.replace(/^\(/, '').replace(/\)$/, '')
-										value = value.split(',').map(v => v.trim().replace(/^\'/, '')
-											.replace(/\'$/, ''))
-									}
-								}
-								sql.push([{
-									field,
-									value,
-									op
-								}])
-							}
-						})
-						sql.push(s)
-					} else {
-						var li = where
-						// 鍗曚竴鏌ヨ鏉′欢鐩存帴鏀惧湪绗竴绾ф暟缁勪腑
-						var l = li.trim()
-						if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '')
-						var sep = ''
-						for (var i = 0; i < seps.length; i++) {
-							if (l.includes(seps[i])) {
-								sep = seps[i]
-								break
-							}
-						}
-						if (sep) {
-							var values = l.split(sep)
-							var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
-							var value = ''
-							var op = sep.trim()
-
-							if ([' in', ' not in'].includes(sep) && values[1].includes('select ') && values[1]
-								.includes(' from ')) {
-								value = l.replace(field, '').replace(/^\s*(in|not in)\s*/, '').trim()
-								if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '')
-									.replace(/\)$/, '').trim()
-							} else {
-								value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
-
-								if (['in', 'not in'].includes(op)) {
-									value = value.replace(/^\(/, '').replace(/\)$/, '')
-									value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/,
-										''))
-								}
-							}
-							sql.push([{
-								field,
-								value,
-								op
-							}])
-						}
-					}
-				})
-
-				if (sql.length > 0)
-					return Base64.encode(JSON.stringify({
-						model: 1,
-						condition: sql
-					}))
-				else
-					return ''
-			},
-
-			cancel(e) { //鍙栨秷
-				var eventChannel = this.$scope.eventChannel;
-				// const eventChannel = this.getOpenerEventChannel();
-				eventChannel.emit('ExitViewEvent', "");
-				uni.navigateBack({
-					delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
-				});
-			},
-
-
-		},
-	};
-</script>
\ No newline at end of file

--
Gitblit v1.9.1