From 9104222d52107d6244d034e4bbfa1c6408376900 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 16 五月 2025 18:53:01 +0800
Subject: [PATCH] 3202

---
 pages.json                |   39 
 pages/modal/3202.vue      | 1495 +++++++++++++++++++++++++++++++++
 pages/index/index.vue     |   29 
 manifest.json             |    4 
 pages/modal/3202_view.vue | 1052 +++++++++++++++++++++++
 5 files changed, 2,596 insertions(+), 23 deletions(-)

diff --git a/manifest.json b/manifest.json
index a74b4bb..eb5fc7f 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
     "name" : "MoboxPDA",
     "appid" : "__UNI__56D451E",
     "description" : "",
-    "versionName" : "1.1.57",
-    "versionCode" : 1157,
+    "versionName" : "1.1.58",
+    "versionCode" : 1158,
     "transformPx" : false,
     /* 5+App鐗规湁鐩稿叧 */
     "app-plus" : {
diff --git a/pages.json b/pages.json
index 3823a6c..bdbf04a 100644
--- a/pages.json
+++ b/pages.json
@@ -85,20 +85,18 @@
 			}
 		},
 		{
-		    "path" : "pages/modal/3018",
-		    "style" :                                                                                    
-		    {
-		        "navigationBarTitleText":"%sys.add2%",
-		        "enablePullDownRefresh": false
-		    }
+			"path": "pages/modal/3018",
+			"style": {
+				"navigationBarTitleText": "%sys.add2%",
+				"enablePullDownRefresh": false
+			}
 		},
 		{
-		    "path" : "pages/modal/form/index",
-		    "style" :                                                                                    
-		    {
-		        "navigationBarTitleText":"%sys.add2%",
-		        "enablePullDownRefresh": false
-		    }
+			"path": "pages/modal/form/index",
+			"style": {
+				"navigationBarTitleText": "%sys.add2%",
+				"enablePullDownRefresh": false
+			}
 		},
 		// {
 		// 	"path": "pages/modal/small-wnd/index",
@@ -122,7 +120,7 @@
 								"float": "right", //瀵艰埅鏍忕殑宸﹀彸浣嶇疆
 								"fontSrc": "/static/uni.ttf",
 								"text": "\ue612"
-							}, 
+							},
 							{
 								"color": "#000000",
 								"colorPressed": "#2D8CF0",
@@ -169,7 +167,22 @@
 				"navigationBarTitleText": "%sys.view%",
 				"enablePullDownRefresh": false
 			}
+		},
+		{
+			"path": "pages/modal/3202",
+			"style": {
+				"navigationBarTitleText": "%sys.add2%",
+				"enablePullDownRefresh": false
+			}
 		}, {
+			"path": "pages/modal/3202_view",
+			"style": {
+				"navigationBarTitleText": "%sys.view%",
+				"enablePullDownRefresh": false
+			}
+		},
+
+		{
 			"path": "pages/modal/5600",
 			"style": {
 				"navigationBarTitleText": "%sys.sys.coding_disk%",
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 486f506..01c53d5 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -33,7 +33,9 @@
 </template>
 
 <script>
-	import {Base64} from '@/js/Base64.js';
+	import {
+		Base64
+	} from '@/js/Base64.js';
 	import utils from "@/js/utils.js"
 	import {
 		areaFunc
@@ -58,7 +60,7 @@
 		onLoad(options) {
 			console.log(options);
 			// 鑾峰彇鎵�湁AppType="MES",ClientType="2"(PDA)鐨勫紩鐢ㄩ鍩熷姛鑳界偣淇℃伅
-			
+
 			this.loadData()
 
 		},
@@ -223,6 +225,12 @@
 							url: '../modal/3201?param=' + param + "&titlename=" + appName
 						});
 					}
+				} else if (defCode == '3202') {
+					if (this.isMobox3) { //Mobox3
+						uni.navigateTo({
+							url: '../modal/3202?param=' + param + "&titlename=" + appName
+						});
+					}
 				} else if (defCode == '5600') { //鐮佺洏
 					if (this.isMobox3) { //Mobox3
 						uni.navigateTo({
@@ -272,32 +280,36 @@
 		height: 100vh;
 		background: #EAEAEA;
 		display: flex;
+
 		.area-list {
 			width: 100%;
 			height: 100%;
 			display: flex;
 			flex-direction: column;
 			overflow-y: auto;
-		
+
 			.v-area {
 				border-radius: 12rpx;
-				margin: 10rpx ;
+				margin: 10rpx;
 				padding: 10rpx;
 				background: #FFFFFF;
 				display: flex;
 				flex-direction: column;
-				width:calc(100% - 40rpx);
+				width: calc(100% - 40rpx);
+
 				.area-name {
 					font-size: 40rpx;
 					width: 100%;
-					padding:  10rpx ;
+					padding: 10rpx;
 				}
+
 				.app-list {
 					width: 100%;
 					padding: 0;
 					display: flex;
 					flex-direction: row;
 					flex-wrap: wrap;
+
 					.app {
 						padding: 20rpx 25rpx 15rpx 25rpx;
 						text-align: center;
@@ -305,6 +317,7 @@
 						width: 125rpx;
 						display: flex;
 						flex-direction: column;
+
 						.logo {
 							height: 105rpx;
 							width: 105rpx;
@@ -316,12 +329,12 @@
 							.ico {
 								color: #000000;
 								font-size: 40px;
-								line-height:105rpx;
+								line-height: 105rpx;
 							}
 						}
 
 						.app-name {
-							padding-top:  10rpx ;
+							padding-top: 10rpx;
 						}
 					}
 				}
diff --git a/pages/modal/3202.vue b/pages/modal/3202.vue
new file mode 100644
index 0000000..86dd61b
--- /dev/null
+++ b/pages/modal/3202.vue
@@ -0,0 +1,1495 @@
+<template>
+	<view class="uni-page-modal-3202">
+		<view class="v-content">
+			<!-- 琛ㄥご鏍峰紡 -->
+			<OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @on-focus="ontap"
+				@on-change="onEnterChange" @on-click-prefix="onEnterChange" @on-click-suffix="onEnterChange"></OIForm>
+			<view class="v-scroll-view">
+				<scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-y" @scrolltolower="scrolltolower"
+					@scroll="scroll">
+					<view class="view-content" id="tabpanel">
+						<view class="dv-panel dv-panel-bkcolor" v-for="(style,ii) in detail1StyleDefList" :key="ii"
+							@click="onPanelClick(ii)" :id="'panel'+style.form.htmlobjId"
+							:class="activeItem == style?'bk-active':''">
+							<div class="dv-panel-input">
+								<OIForm class="v-area dv-panel" :form="style.form" viewMode></OIForm>
+							</div>
+							<div class="dv-panel-button" v-if="click_item_view">
+								<a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a>
+							</div>
+						</view>
+					</view>
+				</scroll-view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		Base64
+	} from '@/js/Base64.js';
+	import classUtils from "@/js/utils.js"
+	import {
+		appGetInfo,
+		dictGetInfo
+	} from "@/api/mobox.js"
+	import {
+		getUIStyleInfo,
+		runCustomEvent,
+		dataObjQuery,
+		dataObjDel
+	} from "@/api/data.js"
+	import dayjs from "dayjs";
+	import OIForm from '@/components/oi-form/index.vue'
+	import buttonClickMixin from '@/mixins/button-click.js';
+
+	export default {
+		mixins: [buttonClickMixin],
+		components: {
+			OIForm
+		},
+		data() {
+			return {
+				title: this.translateSys('add2'),
+				isFilter: true,
+				param: {},
+				focusMateria: false,
+				styledef: {},
+				head_styledef: {
+					form: {
+						items: []
+					}
+				},
+				detail1_styledef: {},
+				detail1StyleDefList: [],
+				items: [],
+				active_id: '',
+				activeItem: {},
+				where: '',
+				wheres: '',
+				orderby: '',
+				query_id: '',
+				pageindex: 1,
+				page_size: 10,
+				page_count: 0,
+				scrollTop: 0,
+				old: {
+					scrollTop: 0
+				},
+				isScroll: true,
+				//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+				click_item_view: false,
+				refreshing: false
+			};
+		},
+		computed: {
+			clickItemEvent() {
+				return {
+					name: this.param?.ClickItem_Event?.name,
+					id: this.param?.ClickItem_Event?.id,
+				};
+			},
+
+		},
+		async onLoad(options) {
+			// console.log(options);
+			uni.setNavigationBarTitle({
+				title: options.titlename
+			}); //璁剧疆椤堕儴鏍囬 
+			this.title = options.titlename;
+			this.param = JSON.parse(options.param);
+			this.styledef = {};
+			this.head_styledef = {
+				form: {
+					items: []
+				}
+			};
+			this.detail1_styledef = {};
+			this.detail1StyleDefList = [];
+			this.items = [];
+			this.active_id = '';
+			this.activeItem = {};
+			this.click_item_view = false
+			if (this.param?.ClickItem_Event?.id)
+				this.click_item_view = true
+			await this.Detail1_UIstyleGetInfo(this.param.ClsID, this.param.ListItem_Panel.id);
+			this.initial()
+
+		},
+		methods: {
+			//
+			setData: function(obj) {
+				let that = this;
+				let keys = [];
+				let val, data;
+
+				Object.keys(obj).forEach(function(key) {
+					keys = key.split(".");
+					val = obj[key];
+					data = that.$data;
+					keys.forEach(function(key2, index) {
+						if (index + 1 == keys.length) {
+							that.$set(data, key2, val);
+						} else {
+							if (!data[key2]) {
+								that.$set(data, key2, {});
+							}
+						}
+						data = data[key2];
+					});
+				});
+			},
+			//鍒濆鍖�+			async initial() {
+				this.refreshing = true
+				await this.Head_UIStyleGetInfo(this.param.ClsID, this.param.Input_Panel.id);
+				this.wheres = '';
+				this.pageindex = 1;
+				this.page_size = 3;
+				this.query_id = "";
+				this.detail1StyleDefList = [];
+				this.refreshing = false
+
+			},
+
+			//婊氬姩鍒板簳閮ㄥ悗鎳掑姞杞芥暟鎹�+			async scrolltolower(e) {
+				// console.log(e)
+				if (this.isScroll) { //鍒ゆ柇鍒锋柊涓�鍚庝笉浼氭寔缁埛鏂�+					if (this.page_count == this.pageindex) {
+						return;
+					}
+					this.pageindex += 1;
+					if (this.where || this.page_count == 1) {
+						this.query_id = "";
+						this.detail1StyleDefList = [];
+					}
+					await this.loadDataGetList();
+				}
+			},
+			scroll: function(e) {
+				// console.log(e.detail.scrollTop)
+				this.old.scrollTop = e.detail.scrollTop
+			},
+			async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: class_id,
+						ui_style_id: style_id,
+					};
+					// console.log(dataInfo);
+					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.head_styledef = result.style_def ? JSON.parse(styledef) : {};
+					// this.form = this.head_styledef.form.model;
+					// console.log($this.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');
+							} else {
+								if (ele?.name === "Select") {
+									const selections = ele?.selections || []
+									//鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+									let itemName = ele.value || "";
+									if (itemName) {
+										$this.head_styledef.form
+											.model[ele.fieldId] = itemName;
+									}
+									$this.head_styledef.form.items[index].selections = selections.map((
+										a) => {
+										return {
+											value: a.value,
+											text: a.label
+										}
+									})
+								}
+
+							}
+
+						});
+
+					}
+				} catch (ex) {
+					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
+					uni.showModal({
+						title: this.translateSys("error") + "1.1",
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+
+			},
+			async Detail1_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: class_id,
+						ui_style_id: style_id,
+					};
+					// console.log(dataInfo);
+					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.detail1_styledef = result.style_def ? JSON.parse(styledef) : {};
+					$this.detail1_styledef.SelBut_Checked = false;
+				} catch (ex) {
+					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
+					uni.showModal({
+						title: this.translateSys("error") + "1.1",
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+
+
+			},
+			async DictGetInfo(dict, index, type) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+				this.data = [];
+				var $this = this;
+				var dataInfo = {
+					dict_id: dict.id,
+					dict_name: dict.name
+				};
+				try {
+					const result = await dictGetInfo(dataInfo)
+					if (type == 'mast') {
+						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 (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;
+					}
+				} catch (ex) {
+					// console.log(ex);
+					uni.showModal({
+						title: this.translateSys("error") + "3",
+						content: ex.errMsg,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+			},
+
+			//鏌ヨ鏁版嵁绫绘暟鎹俊鎭�+			async loadDataGetList() {
+				try {
+					uni.showLoading({
+						title: this.translateSys("loading"),
+						mask: true
+					});
+					//鏉′欢鏌ヨ
+					var condition = this.wheres;
+					if (this.where) {
+						if (condition) condition += ' and ';
+						condition += this.where;
+					}
+					// console.log(condition);
+					// console.log(this.orderby);
+					var $this = this;
+					var dataInfo = {
+						class_id: this.param.ClsID,
+						attrs: [],
+						condition: this.toWhereBase64String("" + condition + ""),
+						prj_rel_type: "",
+						order_by: this.orderby,
+						page_size: this.page_size,
+						page: this.pageindex,
+						query_id: this.query_id,
+					};
+					dataObjQuery(dataInfo).then(result => {
+						console.log(result);
+						uni.hideLoading();
+
+						// var list=[];
+						$this.query_id = '';
+						if (result) {
+							$this.page_count = result.page_count;
+							if (result.page_count > 1) $this.query_id = result.query_id;
+
+							// $this.detail1StyleDefList=[];
+							const detail1StyleDefList = []
+							result.obj_list.forEach((obj) => {
+								var styleStr = JSON.stringify($this.detail1_styledef);
+								var detailStyle = JSON.parse(styleStr);
+								// var info ={
+								//     S_ID:obj.id,
+								// };
+								obj.attr_list.forEach((attr) => {
+									// info[attr.name]=attr.value;
+									detailStyle.form.items.forEach(ele => {
+										if (ele.name != 'Layout') {
+											if (ele.fieldId == attr
+												.name) ele
+												.value = attr.value;
+										} else if (ele.name ==
+											'Layout') {
+											ele.setting.colList
+												.forEach(
+													col => {
+														if (col) {
+															if (col
+																.fieldId ==
+																attr
+																.name)
+																col
+																.value =
+																attr
+																.value;
+														}
+													});
+										}
+									});
+								});
+
+								detailStyle.form.htmlobjId = obj.id ? obj.id.replace(/-/g, '')
+									.replace('{', '').replace('}', '') : 'null';
+								detailStyle.form.objId = obj.id;
+								detailStyle.form.attrs = obj.attr_list;
+								detail1StyleDefList.push(detailStyle);
+
+							});
+							console.log(detail1StyleDefList)
+							$this.setData({
+								detail1StyleDefList: detail1StyleDefList
+							})
+
+
+							// 瑙e喅view灞備笉鍚屾鐨勯棶棰�+							// $this.scrollTop = $this.old.scrollTop;
+							$this.isScroll = false;
+							setTimeout(function() {
+								$this.isScroll = true;
+							}, 1000);
+							// console.log($this.detail1StyleDefList);
+						}
+
+
+
+
+					}).catch(ex => {
+						// console.log(ex);
+						uni.showModal({
+							title: this.translateSys("error") + "5.1",
+							content: ex.errMsg,
+							showCancel: false,
+							confirmText: this.translateSys('close')
+						});
+					});
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: this.translateSys("error") + "5.2",
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+			},
+			//鍒锋柊
+			Refresh(value) {
+				this.initial()
+			},
+			//鐐瑰嚮鏄剧ず娴忚瀵硅薄鏄剧ず椤甸潰
+			async onViewPageClick(style) {
+				if (!this.clickItemEvent.id) {
+					return;
+				}
+				const $this = this
+
+				var obj_attr = this.head_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] || "",
+						}))
+					)
+				);
+				let detail_attr = {};
+				style.form.items.forEach((item) => {
+					if (item.name == "Layout") {
+						item.setting.colList.forEach((cols) => {
+							if (cols != null) detail_attr[cols.fieldId] = cols.value;
+						});
+					} else detail_attr[item.fieldId] = item.value;
+				});
+				detail_attr["id"] = style.form.objId;
+
+				const attrs = Object.keys(detail_attr)
+					.map((a) => ({
+						attr: a,
+						value: detail_attr[a] || "",
+					}))
+					.filter((a) => {
+						return a.attr != "id";
+					});
+				let data_json = Base64.encode(JSON.stringify(attrs));
+				runCustomEvent({
+					ed_type: 0,
+					start_transaction: true,
+					class_id: this.param.ClsID,
+					event_id: this.clickItemEvent.id,
+					input_param,
+					data_json,
+				}).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);
+							}
+							uni.showModal({
+								title: this.translateSys(
+									"tip"),
+								content: tip,
+								showCancel: false,
+								confirmText: this
+									.translateSys('close')
+							});
+						} else uni.showModal({
+							title: this.translateSys(
+								"tip"),
+							content: tip + ',' + this
+								.translateSys('tip') +
+								':' +
+								result
+								.ret,
+							showCancel: false,
+							confirmText: this.translateSys(
+								'close')
+						});
+						return false;
+					} else {
+						var tip = result.info ? typeof result
+							.info == 'string' ? result
+							.info :
+							result.info.join('<br/>') : '';
+						if (tip) uni.showModal({
+							title: this.translateSys(
+								"tip"),
+							content: tip,
+							showCancel: false,
+							confirmText: this.translateSys(
+								'close')
+						});
+
+						if (result.result_type == 0 && result.action) {
+							result.action.forEach(item => {
+								if (item.action_type == "jump_pda_page") {
+									// value = {"attr":"xxx", "value":"xxx"}
+									var data = item.value;
+									uni.navigateTo({
+										url: `../modal/3202_view?param=${JSON.stringify($this.param)}&titlename=${data.page?.page_name || ""}&dataObj=${JSON.stringify(data)}`,
+										events: {
+											// 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁
+											ExitViewEvent: function(data) {
+												console.log(data);
+												this.runCustomEvent(data);
+											}
+										}
+									});
+								}
+							})
+						} else {
+							if (result.info) {
+								uni.showModal({
+									title: this
+										.translateSys(
+											"tip"),
+									content: result.info,
+									showCancel: false,
+									confirmText: this
+										.translateSys(
+											'close')
+								});
+							}
+						}
+					}
+
+
+				}).catch(ex => {
+					// console.log(ex);
+					uni.showModal({
+						title: this.translateSys("error") +
+							"8.1",
+						content: ex.errMsg,
+						showCancel: false,
+						confirmText: this.translateSys(
+							'close')
+					});
+				});
+
+
+
+			},
+			ontap(item) { //鎵爜鍔熻兘
+				// var $ele = e;
+				//console.log(e.target)
+				getApp().onScan((result) => {
+					console.log(result.decodedata);
+					item.value = result.decodedata;
+					uni.hideKeyboard();
+					var $this = this;
+					console.log(item);
+					let newVal = item.value.trim()
+					if (newVal) {
+						item.oldvalue = newVal;
+
+						var attr = item.fieldId;
+						this.head_styledef.form.model[attr] = newVal;
+						var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+						var onSuffixClickCallbackEvent = item.bind
+							.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+						var onSuffixClickEvent = item.bind
+							.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+						var isflag = false;
+
+						if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+							$this.onChange(onChangeEvent);
+						} else {
+							$this.where = item.fieldId + " like '%" + newVal + "%'";
+							$this.query_id = '';
+							$this.pageindex = 1;
+							$this.detail1StyleDefList = [];
+							$this.loadDataGetList();
+						}
+						$this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
+						setTimeout(function() {
+							uni.hideKeyboard();
+						}, 1000);
+
+					}
+				})
+			},
+
+			onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
+				// console.log(item);
+				let newVal = item.value
+				if (typeof item.value == "string") {
+					newVal = item.value.trim()
+					if (!newVal)
+						return
+				}
+				if (item.oldvalue != newVal) {
+					item.oldvalue = newVal;
+					var attr = item.fieldId;
+					this.head_styledef.form.model[attr] = newVal;
+					var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+					var onSuffixClickCallbackEvent = item.bind
+						.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+					var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+					var isflag = false;
+
+					if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+						this.onChange(onChangeEvent);
+					} else {
+						this.where = item.fieldId + " like '%" + item.value + "%'";
+						this.query_id = '';
+						this.pageindex = 1;
+						this.detail1StyleDefList = [];
+						this.loadDataGetList();
+					}
+
+				}
+			},
+			// 鍐呭鍙樺寲鍚庝簨浠�+			async onChange(event) {
+				try {
+					if (event.id) {
+						var obj_attr = this.head_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.head_styledef.form.clsId,
+							class_name: '',
+							event_id: event.id,
+							event_name: '',
+							data_obj_id: '',
+							obj_attr: obj_attr,
+							prj_id: '',
+							ref_cls_id: '',
+							rel_obj_id: '',
+							user_login: '',
+							data_json: '',
+							compose_info: '',
+							ext_info: '',
+							global_attr: '',
+							input_param: input_param,
+						};
+						runCustomEvent(dataInfo).then(result => {
+							// console.log(result);
+							if (result.ret != 0) {
+								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);
+									}
+									uni.showModal({
+										title: this.translateSys(
+											"tip"),
+										content: tip,
+										showCancel: false,
+										confirmText: this
+											.translateSys('close')
+									});
+								} else uni.showModal({
+									title: this.translateSys(
+										"tip"),
+									content: tip + ',' + this
+										.translateSys('tip') +
+										':' +
+										result
+										.ret,
+									showCancel: false,
+									confirmText: this.translateSys(
+										'close')
+								});
+								return false;
+							} else {
+								var tip = result.info ? typeof result
+									.info == 'string' ? result
+									.info :
+									result.info.join('<br/>') : '';
+								if (tip) uni.showModal({
+									title: this.translateSys(
+										"tip"),
+									content: tip,
+									showCancel: false,
+									confirmText: this.translateSys(
+										'close')
+								});
+
+								if (result.result_type == 0 && result.action) {
+									result.action.forEach(item => {
+										if (item.action_type ==
+											"set_query_condition") {
+											var value = item.value;
+											$this.wheres = value.condition;
+											$this.orderby = value.order ? value.order :
+												""
+											$this.pageindex = 1;
+											$this.query_id = "";
+											$this.detail1StyleDefList = [];
+											$this.loadDataGetList();
+										}
+									})
+								} else {
+									if (result.info) {
+										uni.showModal({
+											title: this
+												.translateSys(
+													"tip"),
+											content: result.info,
+											showCancel: false,
+											confirmText: this
+												.translateSys(
+													'close')
+										});
+									}
+								}
+							}
+
+
+						}).catch(ex => {
+							// console.log(ex);
+							uni.showModal({
+								title: this.translateSys("error") +
+									"8.1",
+								content: ex.errMsg,
+								showCancel: false,
+								confirmText: this.translateSys(
+									'close')
+							});
+						});
+					}
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: this.translateSys("error") + "8.2",
+						content: this.translate(
+								'execute_after_change_event_failed') + this
+							.translateSys(
+								"comma") +
+							this.translate('reason') + this.translateSys(
+								"colon") + tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+
+				}
+			},
+			setFormValues(attrs) {
+				const head_styledef = this.head_styledef
+				if (JSON.stringify(attrs) == '{}') {
+					return;
+				}
+				console.log(attrs)
+				attrs.forEach(async (attr, key) => {
+					if (attr.choice_list) {
+						var dictItemList = [];
+						attr.choice_list.forEach(async (val, index) => {
+							dictItemList.push({
+								text: val,
+								value: val
+							});
+						});
+
+						head_styledef.form.items.forEach(async (attr_item, index) => {
+							if (attr_item.name != "Layout") {
+								if (attr_item.fieldId == attr.attr) {
+									if (attr_item.useDict) {
+										attr_item.dict = dictItemList;
+									} else {
+										attr_item.selections = dictItemList;
+									}
+								}
+							} else if (attr_item.name == "Layout") {
+								attr_item.setting.colList.forEach((col) => {
+									if (col) {
+										if (col.fieldId == attr.attr) {
+											if (col.useDict) {
+												col.dict =
+													dictItemList;
+											} else {
+												col.selections =
+													dictItemList;
+											}
+										}
+									}
+								});
+							}
+						});
+					}
+					if (!head_styledef.form.model[attr.attr]) {
+						head_styledef.form.model[attr.attr] = attr.value;
+					}
+					head_styledef.form.items.forEach(async (ele) => {
+						if (ele.name != "Layout") {
+							if (ele.fieldId == attr.attr) {
+								ele.value = attr.value;
+								ele.oldvalue = attr.value;
+								if (ele.name == "Input") {
+									if (attr.prompt) ele.placeholder = attr
+										.prompt;
+								}
+								if (attr.enable !== undefined) {
+									if (attr.enable) ele.disabled = false;
+									else ele.disabled = true;
+								}
+							}
+						} else if (ele.name == "Layout") {
+							ele.setting.colList.forEach((col) => {
+								if (col) {
+									if (col.fieldId == attr.attr) {
+										col.value = attr.value;
+										col.oldvalue = attr.value;
+										if (col.name == "Input") {
+											if (attr.prompt) col
+												.placeholder =
+												attr.prompt;
+										}
+										if (attr.enable !==
+											undefined) {
+											if (attr.enable) col
+												.disabled =
+												false;
+											else col.disabled = true;
+										}
+									}
+								}
+							});
+						}
+
+					})
+					//鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+				})
+				console.log(head_styledef)
+				this.setData({
+					head_styledef: head_styledef
+				})
+			},
+			//鐐逛腑琛ㄥ崟
+			onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず
+				// console.log(value);
+				this.setData({
+					activeItem: this.detail1StyleDefList[value]
+				})
+
+			},
+
+			//浜嬩欢澶勭悊
+			async runCustomEvent(dataInfo) {
+				try {
+					var $this = this;
+					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);
+								}
+								uni.showModal({
+									title: this.translateSys(
+										"tip"),
+									content: tip,
+									showCancel: false,
+									confirmText: this
+										.translateSys('close')
+								});
+							} else uni.showModal({
+								title: this.translateSys(
+									"tip"),
+								content: tip + ',' + this
+									.translateSys('tip') +
+									':' +
+									result.ret,
+								showCancel: false,
+								confirmText: this.translateSys(
+									'close')
+							});
+							return false;
+						} else {
+							var tip = result.info ? typeof result
+								.info == 'string' ? result
+								.info : result
+								.info.join('<br/>') : '';
+							if (tip) uni.showModal({
+								title: this.translateSys(
+									"tip"),
+								content: tip,
+								showCancel: false,
+								confirmText: this.translateSys(
+									'close')
+							});
+
+							if (result.result_type == 0 && result.action) {
+								result.action.forEach(item => {
+									if (item.action_type ==
+										"goback_to_pre_page") { //杩斿洖涓婁竴椤�+										var value = item.value;
+										uni.navigateBack({
+											delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+										});
+									} else {
+										uni.showModal({
+											title: this
+												.translateSys(
+													"tip"
+												),
+											content: this
+												.translateSys(
+													"quotation_mark_left"
+												) +
+												item
+												.action_type +
+												this
+												.translateSys(
+													"quotation_mark_right"
+												) +
+												this
+												.translate(
+													"tip_action_unprocessed"
+												),
+											showCancel: false,
+											confirmText: this
+												.translateSys(
+													'close'
+												)
+										});
+									}
+								});
+							} else {
+								if (result.info) {
+									uni.showModal({
+										title: this
+											.translateSys(
+												"tip"),
+										content: result.info,
+										showCancel: false,
+										confirmText: this
+											.translateSys(
+												'close')
+									});
+								}
+							}
+						}
+					}).catch(ex => {
+						// console.log(ex);
+						uni.showModal({
+							title: this.translateSys("error") +
+								"9.1",
+							content: ex.errMsg,
+							showCancel: false,
+							confirmText: this.translateSys(
+								'close')
+						});
+					});
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: this.translateSys("error") + "9.2",
+						content: this.translate('execute_event_failed') +
+							this.translateSys(
+								"comma") +
+							this.translate('reason') + this.translateSys(
+								"colon") + tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+
+				}
+			},
+
+			cancel(e) { //鍙栨秷
+				uni.navigateBack({
+					delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+				});
+			},
+			/**
+			 * 鍙敮鎸乕"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 ''
+			},
+			translate(t) {
+				if (typeof this.$t == "function") return this.$t(`page.${t}`)
+				else return t;
+			},
+			translateSys(t) {
+				if (typeof this.$t == "function") return this.$t(`sys.${t}`)
+				else return t;
+			},
+
+		},
+	};
+</script>
+<style lang="scss">
+	.uni-page-modal-3202 {
+		display: flex;
+		flex-direction: column;
+		height: calc(100vh - 30rpx);
+		padding: 15rpx 0;
+
+		.v-headStyle {
+			width: 95%;
+		}
+
+		.v-content {
+			flex: 1;
+			display: flex;
+			width: 100%;
+			flex-direction: column;
+			min-height: 100px;
+			overflow: hidden;
+			/* border:0.1px solid red; */
+		}
+
+		.view-content {
+			width: calc(100% - 30rpx);
+			padding: 10rpx 10rpx 10rpx 20rpx;
+			display: flex;
+			margin-top: 10rpx;
+			flex-direction: column;
+
+		}
+
+		.dv-panel-bkcolor {
+			border: 1px solid #ccc;
+			border-radius: 5px;
+			background-color: #F5F5F5;
+		}
+
+		.dv-panel {
+			padding: 10rpx 10rpx 0rpx 0px;
+			border-radius: 12rpx;
+			margin-bottom: 10rpx;
+		}
+
+		.dv-panel-input {
+			vertical-align: middle;
+			width: 92%;
+			display: inline-block;
+			text-align: left;
+
+			.uni-forms-item {
+				padding-bottom: 5rpx;
+				margin-bottom: 0;
+
+				.uni-forms-item__label {
+					height: 20px !important;
+					padding: 0 10rpx 0 0 !important;
+				}
+			}
+		}
+
+
+
+		.dv-panel-button {
+			display: inline-block;
+		}
+
+		.dv-panel-button a i {
+			font-size: 36rpx;
+		}
+
+		.dv-panel-button button {
+			height: 50rpx;
+			font-size: 26rpx;
+			padding: 0 24rpx;
+		}
+
+		.bk-active {
+			background-color: #D6FCB2;
+		}
+
+		.uni-padding-wrap {
+			margin-top: 20rpx;
+			background-color: #98DAEA;
+			width: 104rpx;
+			height: 80rpx;
+			text-align: center;
+			border-radius: 54rpx;
+			padding: 24rpx 0 0 0;
+			float: right;
+			display: inline-block;
+		}
+
+		.uni-padding-wrap a {
+			font-size: 40rpx;
+		}
+
+
+		.input-disabled {
+			background-color: #f3f3f3 !important;
+		}
+
+		.dv_panel_condent {
+			background-color: #D6FCB2;
+			padding: 20rpx;
+			border-radius: 12rpx;
+		}
+
+		.dv_panel_attr {
+			margin-bottom: 10rpx;
+		}
+
+		.dv_panel_attr .dv_inline {
+			display: inline-block;
+			text-align: center;
+		}
+
+		.dv_panel_attr i {
+			vertical-align: 25px;
+			margin: 0 10px;
+		}
+
+		.dv_panel_attr .dv_inline p {
+			background: #4D6AF4;
+			color: #fff;
+			padding: 10rpx 15rpx;
+			line-height: 1.5;
+			border-radius: 10rpx;
+		}
+
+		.v-scroll-view {
+			flex: 1;
+			overflow: hidden;
+			width: 98%;
+		}
+
+		.scroll-y {
+			width: 100%;
+			height: 100%;
+		}
+
+		.scroll-view_H {
+			white-space: nowrap;
+			width: 100%;
+		}
+
+		.dv_panel_content {
+			margin: 0 10px;
+		}
+
+		.dv_panel_content .dv_panel_attr {
+			margin-bottom: 5px;
+		}
+
+		.dv_panel_content .dv_panel_attr i {
+			vertical-align: super;
+			margin: 0 10px;
+		}
+
+		.dv_panel_content .dv_panel_attr .circel_node {}
+
+		/* 鏄彵褰㈢殑 */
+		.dv_panel_content .dv_panel_attr .dv_diamond_node p {
+			width: 50px;
+			height: 50px;
+			background-color: #4D6AF4;
+			transform: rotate(45deg);
+			-ms-transform: rotate(45deg);
+			-moz-transform: rotate(45deg);
+			-webkit-transform: rotate(45deg);
+			-o-transform: rotate(45deg);
+			margin: 15px auto;
+			padding: 9px;
+			// line-height: 28px;
+			text-align: center;
+		}
+
+		.dv_panel_content .dv_panel_attr .dv_diamond_node p span {
+			color: #fff;
+			transform: rotate(-45deg);
+			display: inline-block;
+			text-align: center;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			// white-space: nowrap;
+		}
+
+		/* 榛樿褰�*/
+		.dv_panel_content .dv_panel_attr .dv_box_node,
+		.dv_panel_content .dv_panel_attr .dv_diamond_node {
+			vertical-align: middle;
+			display: inline-block;
+			text-align: center;
+			width: 100px;
+		}
+
+		.dv_panel_content .dv_panel_attr .dv_box_node p {
+			background: #4D6AF4;
+			color: #fff;
+			padding: 3px 7px;
+			line-height: 1.5;
+			border-radius: 5px;
+		}
+
+		.demo-uni-row {
+			margin-bottom: 0px;
+			display: block;
+		}
+
+		::v-deep .uni-row {
+			margin-bottom: 0px;
+		}
+
+		.view-tabpage ::v-deep .uni-row {
+			margin-bottom: 5px;
+		}
+
+		.demo-uni-col {
+			height: 36px;
+			border-radius: 5px;
+		}
+
+		.demo-uni-row .uni-input {
+			width: calc(100% - 120px);
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/pages/modal/3202_view.vue b/pages/modal/3202_view.vue
new file mode 100644
index 0000000..2fd3cfb
--- /dev/null
+++ b/pages/modal/3202_view.vue
@@ -0,0 +1,1052 @@
+<template>
+	<view class="uni-page-modal-3202-view">
+		<view class="v-content">
+			<!-- 琛ㄥご鏍峰紡 -->
+			<OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" viewMode></OIForm>
+			<view class="v-scroll-view">
+				<view class="view-content" id="tabpanel">
+					<view class="dv-panel dv-panel-bkcolor" v-for="(style,ii) in detail1StyleDefList" :key="ii"
+						@click="onPanelClick(ii)" :id="'panel'+style.form.htmlobjId">
+						<div class="dv-panel-input">
+							<OIForm class="v-area dv-panel" :form="style.form" viewMode></OIForm>
+						</div>
+					</view>
+				</view>
+			</view>
+			<view class="view-bottom">
+				<view class="uni-padding-wrap" v-if="dropdownBtns.length>0">
+					<view class="uni-btn-v">
+						<a @tap="clickDropdownBtns">
+							<text class="mobox-normal-more" />
+						</a>
+					</view>
+				</view>
+				<button type="default" @click="onButtonClicked(btn)" class="btn_add"
+					:style="{width:90/buttons.length + '%'}" v-for="(btn,key) in buttons">{{btn.ShowName}}</button>
+			</view>
+
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		Base64
+	} from '@/js/Base64.js';
+	import classUtils from "@/js/utils.js"
+	import {
+		appGetInfo,
+		dictGetInfo
+	} from "@/api/mobox.js"
+	import {
+		getUIStyleInfo,
+		runCustomEvent,
+		dataObjQuery,
+		dataObjDel
+	} from "@/api/data.js"
+	import dayjs from "dayjs";
+	import OIForm from '@/components/oi-form/index.vue'
+	import buttonClickMixin from '@/mixins/button-click.js';
+
+	export default {
+		mixins: [buttonClickMixin],
+		components: {
+			OIForm
+		},
+		data() {
+			return {
+				title: this.translateSys('add2'),
+				param: {},
+				styledef: {},
+				head_styledef: {
+					form: {
+						items: []
+					}
+				},
+				detail1_styledef: {},
+				detail1StyleDefList: [],
+				active_id: '',
+				activeItem: {},
+			};
+		},
+		computed: {
+			enter_view_event() {
+				return {
+					id: this.param.Enter_View_Event?.id || "",
+					name: this.param.Enter_View_Event?.name || "",
+				};
+			},
+			exit_view_event() {
+				return {
+					id: this.param.Exit_View_Event?.id || "",
+					name: this.param.Exit_View_Event?.name || "",
+				};
+			},
+			buttons() {
+				const btns = this.param.ViewPage_Button || [];
+				const list = [];
+				if (btns.length > 3) {
+					for (let i = 2; i > -1; i--) {
+						list.push(btns[i]);
+					}
+					return list;
+				} else {
+					return btns;
+				}
+			},
+			dropdownBtns() {
+				const btns = this.param.ViewPage_Button || [];
+				const list = [];
+				if (btns.length > 3) {
+					for (let i = 3; i < btns.length; i++) {
+						list.push(btns[i]);
+					}
+					return list;
+				} else {
+					return [];
+				}
+			},
+		},
+		onBackPress(e) {
+			this.navigateBackEvent()
+		},
+		async onLoad(options) {
+			console.log(options);
+			uni.setNavigationBarTitle({
+				title: options.titlename
+			}); //璁剧疆椤堕儴鏍囬 
+			this.title = options.titlename;
+			this.param = JSON.parse(options.param);
+			this.head_styledef = {
+				form: {
+					items: []
+				}
+			};
+			this.detail1_styledef = {};
+			this.detail1StyleDefList = [];
+			this.active_id = '';
+			this.activeItem = {};
+			await this.Head_UIStyleGetInfo(this.param.ClsID, this.param.MasterView_Panel.id);
+			await this.Detail1_UIstyleGetInfo(this.param.ClsID, this.param.ViewItem_Panel.id);
+			const dataObj = options.dataObj ? JSON.parse(options.dataObj) : {};
+			if (dataObj) {
+				let attrs = [];
+				let master_view = dataObj?.master_view;
+				Object.keys(master_view).forEach((a) => {
+					attrs.push({
+						attr: a,
+						value: master_view[a]
+					});
+				});
+				attrs.forEach((attr) => {
+					this.head_styledef.form.items.forEach((ele2) => {
+						if (ele2.name != "Layout") {
+							if (ele2.fieldId == attr.attr) {
+								ele2.value = attr.value;
+							}
+						} else if (ele2.name == "Layout") {
+							ele2.setting.colList.forEach((col) => {
+								if (col) {
+									if (col.fieldId == attr.attr) {
+										col.value = attr.value;
+									}
+								}
+							});
+						}
+					});
+				});
+				this.viewAceionContent(dataObj.page.list);
+			}
+			if (this.enter_view_event.id)
+				this.enterAfterEvent(this.enter_view_event);
+
+		},
+		methods: {
+			//
+			setData: function(obj) {
+				let that = this;
+				let keys = [];
+				let val, data;
+
+				Object.keys(obj).forEach(function(key) {
+					keys = key.split(".");
+					val = obj[key];
+					data = that.$data;
+					keys.forEach(function(key2, index) {
+						if (index + 1 == keys.length) {
+							that.$set(data, key2, val);
+						} else {
+							if (!data[key2]) {
+								that.$set(data, key2, {});
+							}
+						}
+						data = data[key2];
+					});
+				});
+			},
+			async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: class_id,
+						ui_style_id: style_id,
+					};
+					// console.log(dataInfo);
+					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.head_styledef = result.style_def ? JSON.parse(styledef) : {};
+					// this.form = this.head_styledef.form.model;
+					// console.log($this.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');
+							} else {
+								if (ele?.name === "Select") {
+									const selections = ele?.selections || []
+									//鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+									let itemName = ele.value || "";
+									if (itemName) {
+										$this.head_styledef.form
+											.model[ele.fieldId] = itemName;
+									}
+									$this.head_styledef.form.items[index].selections = selections.map((
+										a) => {
+										return {
+											value: a.value,
+											text: a.label
+										}
+									})
+								}
+
+							}
+
+						});
+
+					}
+				} catch (ex) {
+					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
+					uni.showModal({
+						title: this.translateSys("error") + "1.1",
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+
+			},
+			async Detail1_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: class_id,
+						ui_style_id: style_id,
+					};
+					// console.log(dataInfo);
+					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.detail1_styledef = result.style_def ? JSON.parse(styledef) : {};
+					$this.detail1_styledef.SelBut_Checked = false;
+				} catch (ex) {
+					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
+					uni.showModal({
+						title: this.translateSys("error") + "1.1",
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+
+
+			},
+			async DictGetInfo(dict, index, type) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+				this.data = [];
+				var $this = this;
+				var dataInfo = {
+					dict_id: dict.id,
+					dict_name: dict.name
+				};
+				try {
+					const result = await dictGetInfo(dataInfo)
+					if (type == 'mast') {
+						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 (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;
+					}
+				} catch (ex) {
+					// console.log(ex);
+					uni.showModal({
+						title: this.translateSys("error") + "3",
+						content: ex.errMsg,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+			},
+			viewAceionContent(list) {
+				if (!Array.isArray(list)) {
+					return;
+				}
+				let styleStr = JSON.stringify(this.detail1_styledef); //宸茬爜鐩�+				let detailStyle = JSON.parse(styleStr);
+				list.forEach((cont) => {
+					let attrs = [];
+					Object.keys(cont).forEach((a) => {
+						attrs.push({
+							attr: a,
+							value: cont[a]
+						});
+					});
+					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;
+									}
+								});
+							}
+						});
+					});
+					this.detail1StyleDefList.push(detailStyle); //鐮佺洏涓�+				});
+			},
+			//鐐逛腑琛ㄥ崟
+			onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず
+				// console.log(value);
+				this.setData({
+					activeItem: this.detail1StyleDefList[value]
+				})
+
+			},
+			//椤甸潰杩涘叆鍚庝簨浠�+			async enterAfterEvent(event) {
+				try {
+					let data_json = [];
+					let jsonlist = [];
+					let detailStyleList = this.detail1StyleDefList;
+					detailStyleList.forEach((style) => {
+						let detail_attr = {};
+						style.form.items.forEach((item) => {
+							if (item.name == "Layout") {
+								item.setting.colList.forEach((cols) => {
+									if (cols != null) detail_attr[cols.fieldId] = cols.value;
+								});
+							} else detail_attr[item.fieldId] = item.value;
+						});
+						jsonlist.push(detail_attr);
+					});
+					data_json = Base64.encode(JSON.stringify(jsonlist));
+
+					let input_param = {};
+					this.head_styledef.form.items.forEach((item) => {
+						if (item.name == "Layout") {
+							item.setting.colList.forEach((cols) => {
+								if (cols != null) input_param[cols.fieldId] = cols.value;
+							});
+						} else input_param[item.fieldId] = item.value;
+					});
+					input_param = Base64.encode(JSON.stringify(input_param));
+					this.runCustomEvent({
+						ed_type: 0,
+						start_transaction: true,
+						class_id: this.param.ClsID,
+						event_id: event.id,
+						input_param,
+						data_json,
+					})
+
+				} catch (ex) {
+					this.showError(ex);
+				}
+			},
+
+
+			//浜嬩欢澶勭悊
+			async runCustomEvent(dataInfo) {
+				try {
+					var $this = this;
+				
+					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);
+								}
+								uni.showModal({
+									title: this.translateSys(
+										"tip"),
+									content: tip,
+									showCancel: false,
+									confirmText: this
+										.translateSys('close')
+								});
+							} else uni.showModal({
+								title: this.translateSys(
+									"tip"),
+								content: tip + ',' + this
+									.translateSys('tip') +
+									':' +
+									result.ret,
+								showCancel: false,
+								confirmText: this.translateSys(
+									'close')
+							});
+							return false;
+						} else {
+							var tip = result.info ? typeof result
+								.info == 'string' ? result
+								.info : result
+								.info.join('<br/>') : '';
+							if (tip) uni.showModal({
+								title: this.translateSys(
+									"tip"),
+								content: tip,
+								showCancel: false,
+								confirmText: this.translateSys(
+									'close')
+							});
+
+							if (result.result_type == 0 && result.action) {
+								result.action.forEach(item => {
+									if (item.action_type == "goback_to_pre_page") { //杩斿洖涓婁竴椤�+										var value = item.value;
+										uni.navigateBack({
+											delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+										});
+									} else {
+										uni.showModal({
+											title: this
+												.translateSys(
+													"tip"
+												),
+											content: this
+												.translateSys(
+													"quotation_mark_left"
+												) +
+												item
+												.action_type +
+												this
+												.translateSys(
+													"quotation_mark_right"
+												) +
+												this
+												.translate(
+													"tip_action_unprocessed"
+												),
+											showCancel: false,
+											confirmText: this
+												.translateSys(
+													'close'
+												)
+										});
+									}
+								});
+							} else {
+								if (result.info) {
+									uni.showModal({
+										title: this
+											.translateSys(
+												"tip"),
+										content: result.info,
+										showCancel: false,
+										confirmText: this
+											.translateSys(
+												'close')
+									});
+								}
+							}
+						}
+					}).catch(ex => {
+						console.log(ex);
+						uni.showModal({
+							title: this.translateSys("error") +
+								"9.1",
+							content: ex.errMsg,
+							showCancel: false,
+							confirmText: this.translateSys(
+								'close')
+						});
+					});
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: this.translateSys("error") + "9.2",
+						content: this.translate('execute_event_failed') +
+							this.translateSys(
+								"comma") +
+							this.translate('reason') + this.translateSys(
+								"colon") + tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+
+				}
+			},
+			//鐐瑰嚮鎸夐挳鍒楄〃
+			clickDropdownBtns() {
+				var that = this
+				var itemlist = [];
+				this.dropdownBtns.forEach((btn) => {
+					itemlist.push(btn.ShowName);
+				});
+				uni.showActionSheet({
+					// title: '鎸夐挳鍒楄〃',
+					itemList: itemlist,
+					success: (e) => {
+						console.log(e.tapIndex);
+						var btn = that.dropdownBtns[e.tapIndex];
+						that.onButtonClicked(btn);
+					}
+				})
+			},
+			onButtonClicked(btn) {
+				
+				let enviroment = {
+					button: "top",
+					button_name: btn.ShowName,
+					cls_id: btn.Cls_ID,
+					function: "3202",
+					master: {},
+				};
+				if (btn.FunCode == "TriggerEvent") {
+					this.onTriggerEvent(btn, enviroment);
+				} else {
+					this.$Message.warning(this.$t("sys.unrealized"));
+				}
+				
+			},
+			async onTriggerEvent(btn, enviroment) {
+				let data_json = [];
+				let jsonlist = [];
+				
+				let detailStyleList = this.detail1StyleDefList;
+				detailStyleList.forEach((style) => {
+					let detail_attr = {};
+					style.form.items.forEach((item) => {
+						if (item.name == "Layout") {
+							item.setting.colList.forEach((cols) => {
+								if (cols != null) detail_attr[cols.fieldId] = cols.value;
+							});
+						} else detail_attr[item.fieldId] = item.value;
+					});
+					jsonlist.push(detail_attr);
+				});
+				data_json = Base64.encode(JSON.stringify(jsonlist));
+
+				let input_param = {};
+				this.head_styledef.form.items.forEach((item) => {
+					if (item.name == "Layout") {
+						item.setting.colList.forEach((cols) => {
+							if (cols != null) input_param[cols.fieldId] = cols.value;
+						});
+					} else input_param[item.fieldId] = item.value;
+				});
+				input_param = Base64.encode(JSON.stringify(input_param));
+				await this.runCustomEvent({
+					ed_type: 0,
+					start_transaction: true,
+					class_id: btn.Cls_ID,
+					event_id: btn.Event.ID,
+					input_param,
+					data_json,
+				});
+			},
+			navigateBackEvent() {
+				if (!this.exit_view_event.id)
+					return
+				let data_json = [];
+				let jsonlist = [];
+				let detailStyleList = this.detail1StyleDefList;
+				detailStyleList.forEach((style) => {
+					let detail_attr = {};
+					style.form.items.forEach((item) => {
+						if (item.name == "Layout") {
+							item.setting.colList.forEach((cols) => {
+								if (cols != null) detail_attr[cols.fieldId] = cols.value;
+							});
+						} else detail_attr[item.fieldId] = item.value;
+					});
+					jsonlist.push(detail_attr);
+				});
+				data_json = Base64.encode(JSON.stringify(jsonlist));
+
+				let input_param = {};
+				this.head_styledef.form.items.forEach((item) => {
+					if (item.name == "Layout") {
+						item.setting.colList.forEach((cols) => {
+							if (cols != null) input_param[cols.fieldId] = cols.value;
+						});
+					} else input_param[item.fieldId] = item.value;
+				});
+				input_param = Base64.encode(JSON.stringify(input_param));
+				const eventChannel = this.getOpenerEventChannel();
+
+				eventChannel.emit('ExitViewEvent', {
+					ed_type: 0,
+					start_transaction: true,
+					class_id: this.param.ClsID,
+					event_id: this.exit_view_event.id,
+					input_param,
+					data_json,
+				});
+			},
+			cancel(e) { //鍙栨秷
+				this.navigateBackEvent()
+				uni.navigateBack({
+					delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+				});
+			},
+			/**
+			 * 鍙敮鎸乕"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 ''
+			},
+			translate(t) {
+				if (typeof this.$t == "function") return this.$t(`page.${t}`)
+				else return t;
+			},
+			translateSys(t) {
+				if (typeof this.$t == "function") return this.$t(`sys.${t}`)
+				else return t;
+			},
+
+		},
+	};
+</script>
+<style lang="scss">
+	.uni-page-modal-3202-view {
+		display: flex;
+		flex-direction: column;
+		height: calc(100vh - 30rpx);
+		padding: 15rpx 0;
+
+		.v-headStyle {
+			width: 95%;
+		}
+
+		.v-content {
+			flex: 1;
+			display: flex;
+			width: 100%;
+			flex-direction: column;
+			min-height: 100px;
+			overflow: hidden;
+			/* border:0.1px solid red; */
+		}
+
+		.view-content {
+			width: calc(100% - 30rpx);
+			padding: 10rpx 10rpx 10rpx 20rpx;
+			display: flex;
+			margin-top: 10rpx;
+			flex-direction: column;
+
+
+		}
+
+		.dv-panel-bkcolor {
+			border: 1px solid #ccc;
+			border-radius: 5px;
+		}
+
+		.dv-panel {
+			padding: 10rpx 10rpx 0rpx 0px;
+			border-radius: 12rpx;
+			margin-bottom: 10rpx;
+		}
+
+		.dv-panel-input {
+			vertical-align: middle;
+			width: 100%;
+			display: inline-block;
+			text-align: left;
+		}
+
+		.uni-forms-item {
+			padding-bottom: 5rpx;
+			margin-bottom: 0;
+
+			.uni-forms-item__label {
+				height: 20px !important;
+				padding: 0 10rpx 0 0 !important;
+			}
+		}
+
+		.bk-active {
+			background-color: #D6FCB2;
+		}
+
+		.uni-padding-wrap {
+			margin-top: 20rpx;
+			background-color: #98DAEA;
+			width: 104rpx;
+			height: 80rpx;
+			text-align: center;
+			border-radius: 54rpx;
+			padding: 24rpx 0 0 0;
+			float: right;
+			display: inline-block;
+		}
+
+		.uni-padding-wrap a {
+			font-size: 40rpx;
+		}
+
+		.input-disabled {
+			background-color: #f3f3f3 !important;
+		}
+
+		.v-scroll-view {
+			flex: 1;
+			overflow: hidden;
+			width: 98%;
+		}
+
+		.view-bottom {
+			display: block;
+			width: calc(100% - 30rpx);
+			padding: 10rpx 15rpx 20rpx 15rpx;
+			align-items: center;
+
+			.btn_add {
+				width: 45%;
+				background: #27A6E1;
+				border: none;
+				color: #fff;
+				font-size: 38rpx;
+				float: left;
+				display: inline-block;
+			}
+
+			.btn_disabled {
+				background-color: #ddd;
+				color: #888;
+			}
+
+			.btn_cancel {
+				width: 45%;
+				margin: 0 10rpx;
+				background: #fff;
+				border: none;
+				//color: #000;
+				font-size: 38rpx;
+				float: right;
+				display: inline-block;
+			}
+
+			.btn_cancel2 {
+				width: 90%;
+				margin: 0 10rpx;
+				background: #fff;
+				//	border: none;
+				color: #000;
+				font-size: 38rpx;
+				float: right;
+				display: inline-block;
+			}
+
+			.uni-padding-wrap {
+				margin: 2rpx 0 0 10rpx;
+				background-color: #98DAEA;
+				width: 104rpx;
+				height: 80rpx;
+				text-align: center;
+				border-radius: 54rpx;
+				padding: 24rpx 0 0 0;
+				float: right;
+				display: inline-block;
+			}
+
+			.uni-padding-wrap a {
+				font-size: 40rpx;
+			}
+		}
+
+
+
+
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.1