From a2f5317f01290597eb44aaf80aa535ff468a61c5 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期四, 05 六月 2025 17:10:46 +0800
Subject: [PATCH] 3202 set_subtable_page_content

---
 pages/modal/3200.vue |  743 +++++++++++++++++++++++++++-----------------------------
 1 files changed, 355 insertions(+), 388 deletions(-)

diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index 3ca938b..f5ffc6b 100644
--- a/pages/modal/3200.vue
+++ b/pages/modal/3200.vue
@@ -1,27 +1,9 @@
 <template>
-	<view class="uni-page-modal-3200">
+	<view class="uni-page-modal-3200" :class="largeMode?'large-mode':''">
 		<view class="v-content">
 			<!-- 琛ㄥご鏍峰紡 -->
-			<view class="v-headStyle" v-for="(item,index) in head_styledef.form.items" v-if="isFilter==true">
-				<text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
-				<!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections-->
-				<uni-data-select id="dv_select" v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''"
-					v-model="item.value" :localdata="item.dict" @change="onChange(item)" :disabled="item.disabled"
-					:clear="false"></uni-data-select>
-				<view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'">
-					<text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
-						@click="onEnterChange(item)">&#xe568;</text>
-					<input class="uni-input" :class="item.disabled?'input-disabled':''"
-						:type="item.name=='Input'?'text':'number'" v-model="item.value" :disabled="item.disabled"
-						:placeholder="item.placeholder"
-						:style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
-						:focus="focusMateria" @focus="ontap(item)" @keyup.enter="onEnterChange(item)"
-						@blur="onEnterChange(item)" />
-					<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
-						@click="onEnterChange(item)">&#xe568;</text>
-				</view>
-			</view>
-
+			<OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @on-focus="ontap"
+				@on-change="onEnterChange" @on-click-prefix="onEnterChange" @on-click-suffix="onEnterChange"></OIForm>
 			<view class="v-scroll-view">
 				<scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-y" @scrolltolower="scrolltolower"
 					@scroll="scroll">
@@ -37,157 +19,14 @@
 								</checkbox-group>
 							</div>
 							<!-- HTML椤甸潰绫诲瀷鏄剧ず -->
-							<div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':
-				  param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':
-				  param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
+							<div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]"
+								:style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
 
 							</div>
-							<div class="dv-panel-input" v-if="!ListHtml_Panel" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':
-				  param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':
-				  param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
-								<div v-for="(item,index) in style.form.items">
-									<!-- 鏅�甯冨眬 -->
-									<view v-if="item.name!='Layout'">
-										<text class="txt_title"
-											:style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
-									<!-- 鏂囨湰妗�鏁板瓧妗�-->
-										<view class="dv_input"
-											v-if="(item.name=='Input' || item.name=='InputNumber')">
-											<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'"
-											: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'">
-											<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>
-										<!-- 鍗曢�妗�-->
-										<radio-group class="check_rememberPwd" v-if="item.name=='Radio'"
-											:class="item.disabled?'input-disabled':''" :disabled="item.disabled"
-											:style="{'margin-left':'10rpx'}" @change="onModelValue(item)">
-											<label v-for="(item2) in item.selections" :key="item2.value">
-												<radio :value="item2.value" :checked="item2.value === item.value" />
-												<text>{{item2.label}}</text>
-											</label>
-										</radio-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>
-												<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'"
-													: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'">
-													<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>
-												<!-- 鍗曢�妗�-->
-												<radio-group class="check_rememberPwd" v-if="cols.name=='Radio'"
-													:class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
-													:style="{'margin-left':'10rpx'}" @change="onModelValue(cols)">
-													<label v-for="(cols2) in cols.selections" :key="cols2.value">
-														<radio :value="cols2.value"
-															:checked="cols2.value === cols.value" />
-														<text>{{cols2.label}}</text>
-													</label>
-												</radio-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>
+							<div class="dv-panel-input" v-if="!ListHtml_Panel"
+								:style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
+								<OIForm class="v-area dv-panel" :form="style.form.items" viewMode></OIForm>
 
-											</view>
-										</uni-col>
-									</uni-row>
-								</div>
 							</div>
 							<div class="dv-panel-button" v-if="param.ListPage.Click_View==true">
 								<a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a>
@@ -216,7 +55,7 @@
 			<view class="uni-padding-wrap" v-if="param.ListPage.Page_Button.length>0">
 				<view class="uni-btn-v">
 					<a @tap="actionSheetTap">
-						<Icon class="mobox-normal-more" />
+						<text class="mobox-normal-more" />
 					</a>
 				</view>
 			</view>
@@ -225,7 +64,9 @@
 </template>
 
 <script>
-	import Base64 from '../../components/js-base64/base64.js'
+	import {
+		Base64
+	} from '@/js/Base64.js';
 	import classUtils from "@/js/utils.js"
 	import {
 		appGetInfo,
@@ -237,10 +78,14 @@
 		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 {
-		modules: {
-			Base64,
+		mixins: [buttonClickMixin],
+		components: {
+			OIForm
 		},
 		onNavigationBarButtonTap(e) {
 			//  	console.log(e);
@@ -263,6 +108,7 @@
 		},
 		data() {
 			return {
+				largeMode: getApp().globalData.largeMode || false,
 				title: this.translateSys('add2'),
 				isFilter: true,
 				param: {},
@@ -308,8 +154,8 @@
 			uni.setNavigationBarTitle({
 				title: options.titlename
 			}); //璁剧疆椤堕儴鏍囬 
-			this.$data.title = options.titlename;
-			this.$data.param = JSON.parse(options.param);
+			this.title = options.titlename;
+			this.param = JSON.parse(options.param);
 
 
 			this.styledef = {};
@@ -367,7 +213,7 @@
 			//   this.query_id = "";
 			//   await this.loadDataGetList();
 			// }
-			// console.log(this.$data.param);
+			// console.log(this.param);
 			//椤甸潰鍒濆鍖栬幏鍙栫劍鐐� 			// this.focusMateria=true; 
 		},
@@ -407,7 +253,7 @@
 					//浼犲叆鍙傛暟鍊� 					if (paramValue) {
 						const attrs = paramValue.attrs || [];
-						(this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => {
+						(this.head_styledef?.form?.items || []).forEach(async (ele, index) => {
 							if (ele.name != "Layout") {
 								attrs.forEach(async (ele2, index2) => {
 									if (ele.fieldId == ele2.name) {
@@ -479,16 +325,54 @@
 						if (!result.style_def.includes('"')) styledef = Base64.decode(result
 							.style_def);
 					}
-					$this.$data.head_styledef = result.style_def ? JSON.parse(styledef) : {};
+					$this.head_styledef = result.style_def ? JSON.parse(styledef) : {};
 					// this.form = this.head_styledef.form.model;
-					// console.log($this.$data.head_styledef);
+					// console.log($this.head_styledef);
 					if ($this.head_styledef.form?.items) {
 						$this.head_styledef.form.items.forEach(async (ele, index) => {
 							console.log(ele.useDict);
 							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
+										}
+									})
+								}
+
 							}
+
 						});
+						const app = getApp()
+						if (app.globalData.bindClasses) {
+							$this.head_styledef.form.items.push({
+								name: "Input",
+								label: this.translate("classes"),
+								labelWidth: 100,
+								disabled: true,
+								value: app.globalData.classes,
+								setting: {
+									width: 100,
+									height: 50,
+								},
+								bind: {
+									attr: "",
+								},
+								fieldId: "S_CLASSES",
+							})
+							$this.head_styledef.form.model["S_CLASSES"] = app.globalData.classes
+						}
 
 					}
 				} catch (ex) {
@@ -498,7 +382,7 @@
 						title: this.translateSys("error") + "1.1",
 						content: tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 				}
 
@@ -520,8 +404,8 @@
 						if (!result.style_def.includes('"')) styledef = Base64.decode(result
 							.style_def);
 					}
-					$this.$data.detail1_styledef = result.style_def ? JSON.parse(styledef) : {};
-					$this.$data.detail1_styledef.SelBut_Checked = false;
+					$this.detail1_styledef = result.style_def ? JSON.parse(styledef) : {};
+					$this.detail1_styledef.SelBut_Checked = false;
 				} catch (ex) {
 					// console.log(ex);
 					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
@@ -529,7 +413,7 @@
 						title: this.translateSys("error") + "1.1",
 						content: tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 				}
 
@@ -564,7 +448,7 @@
 						title: this.translateSys("error") + "1.1",
 						content: tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 				}
 			},
@@ -582,10 +466,10 @@
 						var itemName = '';
 						(result.dict_item_list || []).forEach((item) => {
 							if (item.is_default == '1')
-								itemName = item.name;
+								itemName = item.name
 							list.push({
-								text: item.name,
-								value: item.id,
+								text: item.value ? item.value : item.name,
+								value: item.name,
 							});
 						});
 						//鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
@@ -605,7 +489,7 @@
 						title: this.translateSys("error") + "3",
 						content: ex.errMsg,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 				}
 			},
@@ -636,14 +520,14 @@
 									title: this.translateSys("tip"),
 									content: tip,
 									showCancel: false,
-									confirmText: this.translateSys("cancel")
+									confirmText: this.translateSys('close')
 								});
 							} else uni.showModal({
 								title: this.translateSys("tip"),
 								content: tip + ',' + this.translateSys('tip') + ':' + result
 									.ret,
 								showCancel: false,
-								confirmText: this.translateSys("cancel")
+								confirmText: this.translateSys('close')
 							});
 							return false;
 						} else {
@@ -653,7 +537,7 @@
 								title: this.translateSys("tip"),
 								content: tip,
 								showCancel: false,
-								confirmText: this.translateSys("cancel")
+								confirmText: this.translateSys('close')
 							});
 
 							if (result.result_type == 0 && result.action) {
@@ -676,7 +560,7 @@
 										title: this.translateSys("tip"),
 										content: result.info,
 										showCancel: false,
-										confirmText: this.translateSys("cancel")
+										confirmText: this.translateSys('close')
 									});
 								}
 							}
@@ -690,7 +574,7 @@
 								"comma") +
 							tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 
 				}
@@ -854,7 +738,7 @@
 							title: this.translateSys("error") + "5.1",
 							content: ex.errMsg,
 							showCancel: false,
-							confirmText: this.translateSys("cancel")
+							confirmText: this.translateSys('close')
 						});
 					});
 				} catch (ex) {
@@ -863,7 +747,7 @@
 						title: this.translateSys("error") + "5.2",
 						content: tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 				}
 			},
@@ -873,7 +757,7 @@
 				//鍒锋柊褰撳墠椤甸潰
 				this.initial();
 				// uni.redirectTo({
-				// 	url:'../modal/3200?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title,
+				// 	url:'../modal/3200?param='+JSON.stringify(this.param)+"&titlename="+this.title,
 				// });
 			},
 			//鐐瑰嚮鏄剧ず娴忚瀵硅薄鏄剧ず椤甸潰
@@ -919,7 +803,7 @@
 												content: tip,
 												showCancel: false,
 												confirmText: this.translateSys(
-													"cancel")
+													'close')
 											});
 										}
 									}
@@ -936,15 +820,24 @@
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: btn.PromptContent || this.translate("are_you_sure"),
+						cancelText: this.translateSys('ok'),
+						confirmText: this.translateSys('cancel'),
 						success: function(res) {
-							if (res.confirm) {
+							if (res.cancel) {
 								that.onButtonClicked(btn, style);
 								// } else if (res.cancel) {
 								// 	console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
 							}
 						}
 					});
-				} else that.onButtonClicked(btn, style);
+				} else {
+					this.handleButtonClick((done) => {
+						that.onButtonClicked(btn, style);
+						setTimeout(() => {
+							done(); // 閲嶇疆鐘舵�
+						}, 1000);
+					});
+				}
 			},
 			//鐐瑰嚮鎸夐挳鍒楄〃
 			actionSheetTap() {
@@ -962,10 +855,11 @@
 						if (btn.Prompt) {
 							uni.showModal({
 								title: this.translateSys("tip"),
-								content: btn.PromptContent || this.translate(
-									"are_you_sure"),
+								content: btn.PromptContent || this.translate("are_you_sure"),
+								cancelText: this.translateSys('ok'),
+								confirmText: this.translateSys('cancel'),
 								success: function(res) {
-									if (res.confirm) {
+									if (res.cancel) {
 										that.onButtonClicked(btn);
 										// } else if (res.cancel) {
 										// 	console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
@@ -995,7 +889,7 @@
 								title: this.translateSys("tip"),
 								content: this.translateSys("unrealized"),
 								showCancel: false,
-								confirmText: this.translateSys("cancel")
+								confirmText: this.translateSys('close')
 							});
 						}
 					} else if (btn.FunCode == "Delete") {
@@ -1015,7 +909,7 @@
 							title: this.translateSys("tip"),
 							content: this.translateSys("unrealized"),
 							showCancel: false,
-							confirmText: this.translateSys("cancel")
+							confirmText: this.translateSys('close')
 						});
 					}
 				} catch (ex) {
@@ -1024,7 +918,7 @@
 						title: this.translateSys("error"),
 						content: tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 				}
 			},
@@ -1058,8 +952,10 @@
 				uni.showModal({
 					title: this.translateSys("tip"),
 					content: this.translate("confirm_delete_data"),
+					cancelText: this.translateSys('ok'),
+					confirmText: this.translateSys('cancel'),
 					success: function(res) {
-						if (res.confirm) {
+						if (res.cancel) {
 							var objID = style.form.objId;
 							if (!style.form.objId.includes('{')) objID = '{' + style.form
 								.objId + '}';
@@ -1090,7 +986,7 @@
 										"delete_success"),
 									showCancel: false,
 									confirmText: this.translateSys(
-										"cancel")
+										'close')
 								});
 							}).catch(ex => {
 								// console.log(ex);
@@ -1100,7 +996,7 @@
 									content: ex.errMsg,
 									showCancel: false,
 									confirmText: this.translateSys(
-										"cancel")
+										'close')
 								});
 							});
 						} else if (res.cancel) {
@@ -1163,7 +1059,7 @@
 								title: this.translateSys("tip"),
 								content: tip,
 								showCancel: false,
-								confirmText: this.translateSys("cancel")
+								confirmText: this.translateSys('close')
 							});
 						} else uni.showModal({
 							title: this.translateSys("tip"),
@@ -1172,7 +1068,7 @@
 								result
 								.ret,
 							showCancel: false,
-							confirmText: this.translateSys("cancel")
+							confirmText: this.translateSys('close')
 						});
 						return false;
 					} else {
@@ -1184,7 +1080,7 @@
 							title: this.translateSys("tip"),
 							content: tip,
 							showCancel: false,
-							confirmText: this.translateSys("cancel")
+							confirmText: this.translateSys('close')
 						});
 
 					}
@@ -1194,7 +1090,7 @@
 						title: this.translateSys("error"),
 						content: tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 					this.showError(ex);
 				}
@@ -1243,7 +1139,7 @@
 										'tip_no_app_param'),
 									showCancel: false,
 									confirmText: this.translateSys(
-										"cancel")
+										'close')
 								});
 								return;
 							}
@@ -1268,7 +1164,7 @@
 								content: this.translate(
 									"function_not_exist"),
 								showCancel: false,
-								confirmText: this.translateSys("cancel")
+								confirmText: this.translateSys('close')
 							});
 						}
 
@@ -1277,7 +1173,7 @@
 							title: this.translateSys("error"),
 							content: this.translate("cannot_related_function"),
 							showCancel: false,
-							confirmText: this.translateSys("cancel")
+							confirmText: this.translateSys('close')
 						});
 
 					}
@@ -1291,7 +1187,7 @@
 						title: this.translateSys("error"),
 						content: tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 					return undefined
 				}
@@ -1314,7 +1210,7 @@
 						title: this.translateSys("error") + "7",
 						content: tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 				}
 			},
@@ -1327,12 +1223,13 @@
 					item.value = result.decodedata;
 					uni.hideKeyboard();
 					var $this = this;
-
 					console.log(item);
-					if (item.oldvalue != item.value) {
-						item.oldvalue = item.value;
+					let newVal = item.value.trim()
+					if (newVal) {
+						item.oldvalue = newVal;
+
 						var attr = item.fieldId;
-						this.head_styledef.form.model[attr] = item.value;
+						this.head_styledef.form.model[attr] = newVal;
 						var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠� 						var onSuffixClickCallbackEvent = item.bind
 							.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�@@ -1343,24 +1240,19 @@
 						if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� 							$this.onChange(onChangeEvent);
 						} else {
-							$this.where = '';
-							if (item.value)
-								$this.where = item.fieldId + " like '%" + item
-								.value + "%'";
+							$this.where = item.fieldId + " like '%" + newVal + "%'";
 							$this.query_id = '';
 							$this.pageindex = 1;
 							$this.detail1StyleDefList = [];
 							$this.loadDataGetList();
 						}
-						if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�-							$this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
-							// setTimeout(function(){
-							// 	$this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣
-							setTimeout(function() {
-								uni.hideKeyboard();
-							}, 1000);
-							// },500);
-						}
+						$this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
+						// setTimeout(function(){
+						// 	$this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣
+						setTimeout(function() {
+							uni.hideKeyboard();
+						}, 1000);
+						// },500);
 						// if(onSuffixClickCallbackEvent.id){   //鍚庡浘鏍囩偣鍑讳簨浠� 						//   this.onSuffixClick(onSuffixClickCallbackEvent);
 						// }
@@ -1370,12 +1262,19 @@
 					}
 				})
 			},
+
 			onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
 				// console.log(item);
-				if (item.oldvalue != item.value) {
-					item.oldvalue = item.value;
+				let newVal = item.value
+				if (typeof item.value == "string") {
+					newVal = item.value.trim()
+					if (!newVal)
+						return
+				}
+				if (item.oldvalue != newVal) {
+					item.oldvalue = newVal;
 					var attr = item.fieldId;
-					this.head_styledef.form.model[attr] = item.value;
+					this.head_styledef.form.model[attr] = newVal;
 					var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠� 					var onSuffixClickCallbackEvent = item.bind
 						.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�@@ -1385,9 +1284,7 @@
 					if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� 						this.onChange(onChangeEvent);
 					} else {
-						this.where = '';
-						if (item.value)
-							this.where = item.fieldId + " like '%" + item.value + "%'";
+						this.where = item.fieldId + " like '%" + item.value + "%'";
 						this.query_id = '';
 						this.pageindex = 1;
 						this.detail1StyleDefList = [];
@@ -1419,7 +1316,7 @@
 						var dataInfo = {
 							ed_type: 0,
 							start_transaction: true,
-							class_id: this.$data.head_styledef.form.clsId,
+							class_id: this.head_styledef.form.clsId,
 							class_name: '',
 							event_id: event.id,
 							event_name: '',
@@ -1456,7 +1353,7 @@
 										content: tip,
 										showCancel: false,
 										confirmText: this
-											.translateSys("cancel")
+											.translateSys('close')
 									});
 								} else uni.showModal({
 									title: this.translateSys(
@@ -1468,7 +1365,7 @@
 										.ret,
 									showCancel: false,
 									confirmText: this.translateSys(
-										"cancel")
+										'close')
 								});
 								return false;
 							} else {
@@ -1482,41 +1379,46 @@
 									content: tip,
 									showCancel: false,
 									confirmText: this.translateSys(
-										"cancel")
+										'close')
 								});
 
-								if (result.result_type == 0 && result
-									.action) {
-									result.action.forEach(item => {
-										if (item.action_type ==
-											"set_dlg_attr") {
-											// value = {"attr":"xxx", "value":"xxx"}
-											var data = item.value;
-											$this.$data
-												.head_styledef.form
-												.items
-												.forEach(
-													async (
-														ele,
-														index
-													) => {
-														data.forEach(
-															async (ele2,
-																index
-															) => {
-																if (ele
-																	.fieldId ==
-																	ele2
-																	.attr
-																) {
-																	ele.value =
-																		ele2
-																		.value;
-																}
-															});
-													});
+								if (result.result_type == 0 && result.action) {
+									var actionlist = result.action;
+									for (var j = 0; j < actionlist.length; j++) {
+										var action = actionlist[j];
+										var action_type = action.action_type;
+										var value = action.value;
+										if (action_type == "set_dlg_attr") {
+											if (value) {
+												this.setFormValues(value)
+											}
+										} else if (action_type == "set_subtable_page_content") {
+											if (value.clear_confirm != false && value.clear == true &&
+												$this.detail1StyleDefList.length > 0
+											) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+												uni.showModal({
+													title: this.translateSys('tip'),
+													content: this.translate("are_you_sure_clear_data"),
+													cancelText: $this.translateSys('ok'),
+													confirmText: $this.translateSys('cancel'),
+													success: function(res) {
+														if (res.cancel) {
+															$this.detail1StyleDefList = [];
+															$this.viewAceionContent(value);
+														} else if (res.confirm) {
+															$this.detail1StyleDefList = [];
+															$this.viewAceionContent(value);
+														}
+													}
+												});
+											} else {
+												$this.detail1StyleDefList = [];
+												$this.viewAceionContent(value);
+											}
 										}
-									});
+									}
+
+									// value = {"attr":"xxx", "value":"xxx"}
 								} else {
 									if (result.info) {
 										uni.showModal({
@@ -1527,7 +1429,7 @@
 											showCancel: false,
 											confirmText: this
 												.translateSys(
-													"cancel")
+													'close')
 										});
 									}
 								}
@@ -1542,7 +1444,7 @@
 								content: ex.errMsg,
 								showCancel: false,
 								confirmText: this.translateSys(
-									"cancel")
+									'close')
 							});
 						});
 					}
@@ -1557,11 +1459,164 @@
 							this.translate('reason') + this.translateSys(
 								"colon") + tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 
 				}
 			},
+			setFormValues(attrs) {
+				const head_styledef = this.head_styledef
+				if (JSON.stringify(attrs) == '{}') {
+					return;
+				}
+				attrs.forEach(async (attr, key) => {
+					if (attr.choice_list) {
+						var dictItemList = [];
+						attr.choice_list.forEach(async (val, index) => {
+							dictItemList.push({
+								text: val,
+								value: val
+							});
+						});
+						head_styledef.form.items.forEach(async (attr_item, index) => {
+							if (attr_item.name != "Layout") {
+								if (attr_item.fieldId == attr.attr) {
+									if (attr_item.useDict) {
+										attr_item.dict = dictItemList;
+									} else {
+										attr_item.selections = dictItemList;
+									}
+								}
+							} else if (attr_item.name == "Layout") {
+								attr_item.setting.colList.forEach((col) => {
+									if (col) {
+										if (col.fieldId == attr.attr) {
+											if (col.useDict) {
+												col.dict = dictItemList;
+											} else {
+												col.selections = dictItemList;
+											}
+										}
+									}
+								});
+							}
+						});
+					}
+					if (!head_styledef.form.model[attr.attr]) {
+						head_styledef.form.model[attr.attr] = attr.value;
+					}
+					head_styledef.form.items.forEach(async (ele) => {
+						if (ele.name != "Layout") {
+							if (ele.fieldId == attr.attr) {
+								ele.value = attr.value;
+								ele.oldvalue = attr.value;
+								if (ele.name == "Input") {
+									if (attr.prompt) ele.placeholder = attr.prompt;
+								}
+								if (attr.enable !== undefined) {
+									if (attr.enable) ele.disabled = false;
+									else ele.disabled = true;
+								}
+							}
+						} else if (ele.name == "Layout") {
+							ele.setting.colList.forEach((col) => {
+								if (col) {
+									if (col.fieldId == attr.attr) {
+										col.value = attr.value;
+										col.oldvalue = attr.value;
+										if (col.name == "Input") {
+											if (attr.prompt) col.placeholder = attr.prompt;
+										}
+										if (attr.enable !== undefined) {
+											if (attr.enable) col.disabled = false;
+											else col.disabled = true;
+										}
+									}
+								}
+							});
+						}
+
+					})
+					//鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+				})
+				console.log(head_styledef)
+				this.setData({
+					head_styledef: head_styledef
+				})
+			},
+			//鍔犺浇宸茬爜鐩樺唴瀹�+			viewAceionContent(data) {
+				var $this = this;
+				if (JSON.stringify(data.content) == '{}') {
+					return;
+				}
+				var styleStr = JSON.stringify($this.detail1_styledef);
+				var detailStyle = JSON.parse(styleStr);
+				if (detailStyle.form) {
+					data.content.forEach(cont => {
+						detailStyle = JSON.parse(styleStr);
+						detailStyle.SelBut_Checked = data.checkbox ?? true;
+
+						detailStyle.form.objId = cont.id;
+						detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g,
+								'')
+							.replace('{', '').replace('}',
+								'') : 'null';
+						detailStyle.form.attrs = cont.attrs;
+						cont.attrs.forEach(attr => {
+							detailStyle.form.items.forEach(ele => {
+								if (ele.name != 'Layout') {
+									if (ele.fieldId == attr.attr)
+										ele.value = attr.value;
+								} else if (ele.name == 'Layout') {
+									ele.setting.colList.forEach(
+										col => {
+											if (col) {
+												if (col.fieldId ==
+													attr.attr)
+													col.value = attr.value;
+											}
+										});
+								}
+							});
+						});
+						//濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+						if (data.clear == false) {
+							var isflag = true;
+							$this.detail1StyleDefList.forEach((style, index) => {
+								if (style.form.objId == detailStyle.form.objId) {
+									cont.attrs.forEach(attr => {
+										style.form.items.forEach(ele => {
+											if (ele.name != 'Layout') {
+												if (ele.fieldId == attr.attr)
+													ele.value = attr.value;
+											} else if (ele.name == 'Layout') {
+												ele.setting.colList.forEach(
+													col => {
+														if (col) {
+															if (col.fieldId ==
+																attr
+																.attr)
+																col.value =
+																attr.value;
+														}
+													});
+											}
+										});
+									});
+									isflag = false;
+								}
+							});
+							if (isflag) $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+						} else {
+							$this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+						}
+					});
+				}
+
+			},
+
+			onDetail1EnterChange() {},
 			//鐐逛腑琛ㄥ崟
 			onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず
 				// console.log(value);
@@ -1600,7 +1655,7 @@
 									content: tip,
 									showCancel: false,
 									confirmText: this
-										.translateSys("cancel")
+										.translateSys('close')
 								});
 							} else uni.showModal({
 								title: this.translateSys(
@@ -1611,7 +1666,7 @@
 									result.ret,
 								showCancel: false,
 								confirmText: this.translateSys(
-									"cancel")
+									'close')
 							});
 							return false;
 						} else {
@@ -1625,7 +1680,7 @@
 								content: tip,
 								showCancel: false,
 								confirmText: this.translateSys(
-									"cancel")
+									'close')
 							});
 
 							if (result.result_type == 0 && result
@@ -1701,7 +1756,7 @@
 											showCancel: false,
 											confirmText: this
 												.translateSys(
-													"cancel"
+													'close'
 												)
 										});
 									}
@@ -1716,7 +1771,7 @@
 										showCancel: false,
 										confirmText: this
 											.translateSys(
-												"cancel")
+												'close')
 									});
 								}
 							}
@@ -1731,7 +1786,7 @@
 							content: ex.errMsg,
 							showCancel: false,
 							confirmText: this.translateSys(
-								"cancel")
+								'close')
 						});
 					});
 				} catch (ex) {
@@ -1744,7 +1799,7 @@
 							this.translate('reason') + this.translateSys(
 								"colon") + tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: this.translateSys('close')
 					});
 
 				}
@@ -2011,77 +2066,15 @@
 		},
 	};
 </script>
-<style lang="less">
+<style lang="scss">
 	.uni-page-modal-3200 {
 		display: flex;
 		flex-direction: column;
 		height: calc(100vh - 30rpx);
 		padding: 15rpx 0;
 
-		.v-headStyle:first-child {
-			margin-top: 15rpx;
-		}
-
-		.v-headStyle .txt_title {
-			font-size: 34rpx;
-			text-align: right;
-			display: inline-block;
-			vertical-align: 24rpx;
-		}
-
-		.v-headStyle input {
-			display: inline-block;
-			/* border: 1px solid #d5d5d5; */
-			/* width: 65%; */
-			width: 85%;
-			height: 52rpx;
-			line-height: 34rpx;
-			background: #FFF;
-			border-radius: 0 !important;
-			color: #2d8cf0;
-			padding: 10rpx 8rpx 12rpx;
-			font-size: 34rpx;
-			font-family: inherit;
-			box-shadow: none !important;
-			transition-duration: 0.1s;
-			margin-top: 4rpx;
-		}
-
-		.v-headStyle input::-webkit-input-placeholder {
-			font-size: 12rpx;
-		}
-
-		.input-wrapper {
-			border: 1px solid #d5d5d5;
-			display: inline-block;
-			width: 65%;
-			line-height: 22rpx;
-		}
-
-		[nvue] uni-view {
-			position: relative;
-			border: 0 solid #000;
-			box-sizing: border-box;
-		}
-
-		.uni-input {
-			/* border: none; */
-		}
-
-		.uni-icon {
-			/* border: 1px solid red; */
-			width: 8%;
-			font-family: uniicons;
-			font-size: 40rpx;
-			font-weight: 400;
-			font-style: normal;
-			/* width: 48rpx; */
-			height: 48rpx;
-			line-height: 48rpx;
-			color: #2d8cf0;
-			cursor: pointer;
-			display: inline-block;
-			vertical-align: 18rpx;
+		.v-headStyle {
+			width: 98%;
 		}
 
 		.v-content {
@@ -2120,6 +2113,16 @@
 			width: 91%;
 			display: inline-block;
 			text-align: left;
+
+			.uni-forms-item {
+				padding-bottom: 5rpx;
+				margin-bottom: 0;
+
+				.uni-forms-item__label {
+					height: 20px !important;
+					padding: 0 10rpx 0 0 !important;
+				}
+			}
 		}
 
 		.dv-panel-buticon {
@@ -2152,42 +2155,6 @@
 			border-radius: 8rpx;
 		}
 
-		.dv-panel .txt_title {
-			font-size: 34rpx;
-			text-align: right;
-			display: inline-block;
-		}
-
-		.dv-panel input {
-			vertical-align: middle;
-			display: inline-block;
-			border: 2rpx solid #d5d5d5;
-			width: 68%;
-			height: 52rpx;
-			line-height: 34rpx;
-			background: #FFF;
-			border-radius: 14rpx !important;
-			color: #2d8cf0;
-			padding: 6rpx 8rpx 8rpx;
-			font-size: 32rpx;
-			font-family: inherit;
-			box-shadow: none !important;
-			transition-duration: 0.1s;
-			margin-top: 0rpx;
-		}
-
-		.dv-panel input::-webkit-input-placeholder {
-			font-size: 10rpx;
-		}
-
-		.dv-panel .form-item-span {
-			vertical-align: text-top;
-			color: #2d8cf0;
-			white-space: normal;
-			word-break: break-all;
-			display: inline-block;
-			width: calc(100% - 100px);
-		}
 
 		.dv-panel-button {
 			display: inline-block;
@@ -2223,7 +2190,7 @@
 			margin-top: 25rpx;
 			padding: 20rpx;
 			line-height: 1.5;
-			background: #4D6AF4;
+			background: #27A6E1;
 			border: none;
 			color: #fff;
 			font-size: 38rpx;
@@ -2238,7 +2205,7 @@
 			padding: 20rpx;
 			line-height: 1.5;
 			background: #fff;
-			border: none;
+			// border: none;
 			color: #000;
 			font-size: 38rpx;
 			font-weight: bold;

--
Gitblit v1.9.1