From d8872903e30f0a53abefcd279ae03258341e931f Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期四, 20 三月 2025 09:10:31 +0800
Subject: [PATCH] test

---
 pages/modal/5601.vue | 1089 +++++++++++++++++---------------------------------------
 1 files changed, 331 insertions(+), 758 deletions(-)

diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index a09008a..3055125 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -1,98 +1,10 @@
 <template>
 	<view class="uni-page-modal-5601">
 		<!-- 琛ㄥご鏍峰紡 -->
-		<uni-forms ref="baseForm" label-align="right">
-			<view v-for="(item,index) in head_styledef.form.items" :key="index" class="v-head-style">
-				<!-- 鏅�甯冨眬 -->
-				<uni-forms-item v-if="item.name != 'Layout'" :label="item.label ?item.label +'锛�:'' "
-					:label-width="item.labelWidth+'px'">
-					<uni-data-picker v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''"
-						v-model="item.value" :localdata="item.useDict ? item.dict : item.selections"
-						@change="onEnterChange(item)" :readonly="item.disabled" :clear-icon="false"
-						:popup-title="item.label"></uni-data-picker>
-					<view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'">
-						<text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
-							@click="classAttr_extButton(item)">&#xe568;</text>
-						<input class="uni-input" :class="item.disabled?'input-disabled':''"
-							:style="{'padding-left':item.setting.prefix?0 : '8rpx','right':item.setting.suffix?0 : '8rpx'}"
-							:type="item.name=='Input'?'text':'number'" v-model="item.value" :disabled="item.disabled"
-							:placeholder="item.placeholder" :focus="focusFieldId == item.fieldId" @focus="ontap(item)"
-							@click="onClick(item)" @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)"
-							:maxlength="-1" />
-						<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
-							@click="classAttr_extButton(item)"></text>
-					</view>
-					<!-- 澶嶉�妗�-->
-					<checkbox-group v-if="item.name=='Checkbox'" :class="item.disabled?'input-disabled':''"
-						:disabled="item.disabled" @change="onCheckBoxValue" :data-attr="item.fieldId"
-						:data-index="index">
-						<label v-for="(item2) in item.selections" :key="item2.value">
-							<checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
-							<text>{{item2.label}}</text>
-						</label>
-					</checkbox-group>
-					<!-- 鍗曢�妗�-->
-					<radio-group v-if="item.name=='Radio'" :class="item.disabled?'input-disabled':''"
-						:disabled="item.disabled" @change="onRadioBoxValue" :data-attr="item.fieldId"
-						:data-index="index">
-						<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 class="input-switch" v-if="item.name=='Switch'" :class="item.disabled?'input-disabled':''"
-						:disabled="item.disabled" v-model="item.value" @change="onEnterChange(item)" />
-				</uni-forms-item>
-				<!-- 鏍呮牸甯冨眬 -->
-				<uni-row v-else :gutter="item.setting.gutter">
-					<uni-col
-						:span=" item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col"
-						v-for="(col,key) in item.setting.colList">
-						<uni-forms-item v-if="col!=null" :label="col.label ? col.label +'锛�:''"
-							:label-width="col.labelWidth+'px'">
-							<uni-data-picker v-if="col.name=='Select'" :class="col.disabled?'input-disabled':''"
-								v-model="col.value" :localdata="col.useDict ? col.dict : col.selections"
-								@change="onEnterChange(col)" :readonly="col.disabled" :clear-icon="false"
-								:popup-title="col.label"></uni-data-picker>
-							<view class="input-wrapper" v-if="col.name=='Input' || col.name=='InputNumber'">
-								<text v-if="col.setting.prefix" class="uni-icon" :class="[col.setting.prefix]"
-									@click="classAttr_extButton(col)">&#xe568;</text>
-								<input class="uni-input" :class="col.disabled?'input-disabled':''"
-									:style="{'padding-left':col.setting.prefix?0 : '8px','right':col.setting.suffix?0 : '8px'}"
-									:type="col.name=='Input'?'text':'number'" v-model="col.value"
-									:disabled="col.disabled" :placeholder="col.placeholder"
-									:focus="focusFieldId == col.fieldId" @focus="ontap(col)" @click="onClick(col)"
-									@keyup.enter="onEnterChange(col)" @blur="onEnterChange(col)" :maxlength="-1" />
-								<text v-if="col.setting.suffix" class="uni-icon" :class="[col.setting.suffix]"
-									@click="classAttr_extButton(col)"></text>
-							</view>
-							<!-- 澶嶉�妗�-->
-							<checkbox-group v-if="col.name=='Checkbox'" :class="col.disabled?'input-disabled':''"
-								:disabled="col.disabled" @change="onCheckBoxValue" :data-attr="col.fieldId"
-								:data-index="index" :data-iindex="key">
-								<label v-for="(col2) in col.selections" :key="col2.value">
-									<checkbox :value="col2.value" :checked="col.value.includes(col2.value)" />
-									<text>{{col2.label}}</text>
-								</label>
-							</checkbox-group>
-							<!-- 鍗曢�妗�-->
-							<radio-group v-if="col.name=='Radio'" :class="col.disabled?'input-disabled':''"
-								:disabled="col.disabled" @change="onRadioBoxValue" :data-attr="col.fieldId"
-								:data-index="index" :data-iindex="key">
-								<label v-for="(col2) in col.selections" :key="col2.value">
-									<radio :value="col2.value" :checked="col2.value === col.value" />
-									<text>{{col2.label}}</text>
-								</label>
-							</radio-group>
-							<!-- Switch寮�叧 -->
-							<switch v-if="col.name=='Switch'" :class="col.disabled?'input-disabled':''"
-								:disabled="col.disabled" v-model="col.value" @change="onEnterChange(col)" />
-						</uni-forms-item>
-					</uni-col>
-				</uni-row>
-			</view>
-		</uni-forms>
+		<OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :focusId="focusFieldId"
+			@click="onClick" @focus="ontap" @change="onEnterChange" @click-prefix="classAttr_extButton"
+			@click-suffix="classAttr_extButton"></OIForm>
+
 		<view class="view-content">
 			<!-- 鐮佺洏瀛愮晫闈�-->
 			<view v-if="param.Show_Welcom_Page==false" class="uni-panel-content">
@@ -115,38 +27,8 @@
 										@tap="onPanelClick(ii,style.form.htmlobjId)"
 										:id="'dvpanel'+style.form.htmlobjId"
 										:class="style.form.htmlobjId==active_id?'bk-active':''">
-										<div class="dv-panel-input">
-											<div class="dv-input" v-for="(item,index) in style.form.items">
-												<!-- 鏅�甯冨眬 -->
-												<view v-if="item.name!='Layout'">
-													<text class="txt_title"
-														:style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
-													<span class="form-item-span"
-														v-if="item.disabled">{{item.value}}</span>
-													<input class="uni-input" v-if="!item.disabled"
-														:type="item.name=='InputNumber'?'number':'text'"
-														v-model="item.value" :disabled="item.disabled"
-														:placeholder="item.placeholder" :maxlength="-1" />
-												</view>
-												<!-- 鏍呮牸甯冨眬 -->
-												<uni-row class="demo-uni-row" v-else :gutter="item.setting.gutter">
-													<uni-col
-														:span=" item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col"
-														v-for="(cols,key) in item.setting.colList">
-														<view v-if="cols!=null">
-															<text class="txt_title"
-																:style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
-															<span class="form-item-span"
-																v-if="cols.disabled">{{cols.value}}</span>
-															<input class="uni-input" v-if="!cols.disabled"
-																:type="cols.name=='InputNumber'?'number':'text'"
-																v-model="cols.value" :disabled="cols.disabled"
-																:placeholder="cols.placeholder" :maxlength="-1" />
-														</view>
-													</uni-col>
-												</uni-row>
-											</div>
-										</div>
+										<OIForm class="dv-panel-form" :form="style.form" viewMode></OIForm>
+
 										<div class="dv-panel-button"
 											v-if="pageData.Select_Button==true || pageData.Row_Button.length > 0">
 
@@ -163,6 +45,7 @@
 												{{(btn.Style == 'text'|| btn.Style == 'img_text') ? btn.ShowName :""}}
 											</button>
 										</div>
+
 									</div>
 								</checkbox-group>
 							</view>
@@ -238,11 +121,16 @@
 		getUIStyleInfo,
 		runCustomEvent,
 	} from "@/api/data.js"
+	import dayjs from "dayjs";
+	import OIForm from '@/components/oi-form/index.vue'
 
 	export default {
 		name: "PageModal5601",
 		modules: {
 			Base64,
+		},
+		components: {
+			OIForm,
 		},
 		data() {
 			return {
@@ -738,10 +626,11 @@
 					console.log(result.decodedata);
 					item.value = result.decodedata;
 					var $this = this;
-					if (item.oldvalue != item.value && item.value.trim() != "") {
-						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; //鍚庡浘鏍囩偣鍑讳簨浠�@@ -752,36 +641,60 @@
 						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� 							$this.onChange(onChangeEvent);
 						}
-						if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�-							//鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
-							var findd = false
-							for (let i in $this.head_styledef.form.items) {
-								const ele = $this.head_styledef.form.items[i]
 
-								if (ele.name != "Layout") {
-									if (ele.name == 'Input' || ele.name ==
-										'InputNumber') {
-										if (attr == ele.fieldId) {
-											findd = true
-										} else {
-											if (findd) {
-												$this.setData({
-													focusFieldId: ele.fieldId
-												})
-												break
-											}
+						//鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
+						var findd = false
+						for (let i in $this.head_styledef.form.items) {
+							const ele = $this.head_styledef.form.items[i]
 
+							if (ele.name != "Layout") {
+								if (ele.name == 'Input' || ele.name ==
+									'InputNumber') {
+									if (attr == ele.fieldId) {
+										findd = true
+									} else {
+										if (findd) {
+											$this.setData({
+												focusFieldId: ele.fieldId
+											})
+											break
 										}
 
 									}
-								} else {
-									if (findd) {
-										let curIndex = ele.setting.colList.findIndex((
-											col, index2, arr) => {
-											return (col.name == 'Input' || col
-												.name == 'InputNumber');
+
+								}
+							} else {
+								if (findd) {
+									let curIndex = ele.setting.colList.findIndex((
+										col, index2, arr) => {
+										return (col.name == 'Input' || col
+											.name == 'InputNumber');
+									})
+									if (curIndex > -1) {
+										$this.setData({
+											focusFieldId: ele.setting
+												.colList[curIndex]
+												.fieldId
 										})
-										if (curIndex > -1) {
+										break
+									}
+
+								} else {
+									let curIndex = ele.setting.colList.findIndex((
+										col, index2, arr) => {
+										return attr == col.fieldId;
+									})
+									if (curIndex > -1) {
+										findd = true
+										let curIndex2 = ele.setting.colList
+											.findIndex((col, index2, arr) => {
+												return (col.name == 'Input' ||
+														col.name ==
+														'InputNumber') &&
+													index2 >
+													curIndex;
+											})
+										if (curIndex2 > -1) {
 											$this.setData({
 												focusFieldId: ele.setting
 													.colList[curIndex]
@@ -789,47 +702,27 @@
 											})
 											break
 										}
-
-									} else {
-										let curIndex = ele.setting.colList.findIndex((
-											col, index2, arr) => {
-											return attr == col.fieldId;
-										})
-										if (curIndex > -1) {
-											findd = true
-											let curIndex2 = ele.setting.colList
-												.findIndex((col, index2, arr) => {
-													return (col.name == 'Input' ||
-															col.name ==
-															'InputNumber') &&
-														index2 >
-														curIndex;
-												})
-											if (curIndex2 > -1) {
-												$this.setData({
-													focusFieldId: ele.setting
-														.colList[curIndex]
-														.fieldId
-												})
-												break
-											}
-										}
 									}
-
 								}
+
 							}
 						}
-
 					}
 				})
 			},
 
 			onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
 				console.log(item);
-				if (item.oldvalue != item.value && item.value.trim() != "") {
-					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; //鍐呭鍙樺寲鍚庝簨浠� 
 					if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�@@ -838,63 +731,7 @@
 
 				}
 			},
-			onCheckBoxValue(e) { //缁戝畾Model鍊�-				let values = e.detail.value || []
-				const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
-				if (item?.setting?.colList) {
-					const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
-					if (col) {
-						col.value = values
-						let attr = col.fieldId;
-						this.head_styledef.form.model[attr] = col.value;
-						var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�-							this.onChange(onChangeEvent);
-						}
-						return
-					}
-				} else {
-					if (item) {
-						item.value = values
-						let attr = item.fieldId;
-						this.head_styledef.form.model[attr] = item.value;
-						var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�-							this.onChange(onChangeEvent);
-						}
-					}
-				}
 
-			},
-			onRadioBoxValue(e) { //缁戝畾Model鍊�-				let values = e.detail.value || ""
-				const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
-				if (item?.setting?.colList) {
-					const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
-					if (col) {
-						col.value = values
-						let attr = col.fieldId;
-						this.head_styledef.form.model[attr] = col.value;
-						var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�-							this.onChange(onChangeEvent);
-						}
-						return
-					}
-				} else {
-					if (item) {
-						item.value = values
-						let attr = item.fieldId;
-						this.head_styledef.form.model[attr] = item.value;
-						var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-						if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�-							this.onChange(onChangeEvent);
-						}
-					}
-
-				}
-
-			},
 			classAttr_extButton(item) {
 				var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠� 				var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�@@ -933,9 +770,9 @@
 						var 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;
+								item.setting.colList.forEach(col => {
+									if (col != null) detail_attr[col
+										.fieldId] = col.value;
 								});
 							} else
 								detail_attr[item.fieldId] = item.value;
@@ -993,9 +830,9 @@
 						var head_attr = {};
 						this.head_styledef.form.items.forEach(item => {
 							if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�-								item.setting.colList.forEach(cols => {
-									if (cols != null) head_attr[cols
-										.fieldId] = cols.value;
+								item.setting.colList.forEach(col => {
+									if (col != null) head_attr[col
+										.fieldId] = col.value;
 								});
 							} else
 								head_attr[item.fieldId] = item.value;
@@ -1091,262 +928,99 @@
 
 								if (result.result_type == 0 && result.action) {
 									result.action.forEach(item => {
-
-										if (item.action_type ==
-											"insert_subtable_page_row"
-										) { //鐮佺洏涓�-											$this.$data.param
-												.Show_Welcom_Page =
-												false;
+										if (item.action_type == "insert_subtable_page_row") { //鐮佺洏涓�+											$this.$data.param.Show_Welcom_Page = false;
 											var value = item.value;
 											$this.viewAceionRow(value);
 										} else if (item.action_type ==
-											"set_subtable_page_content"
-										) { //宸茬爜鐩�-											$this.$data.param
-												.Show_Welcom_Page =
-												false;
+											"set_subtable_page_content") { //宸茬爜鐩�+											$this.$data.param.Show_Welcom_Page = false;
 											var value = item.value;
-											const pageData = $this
-												.pageDetail.find((
-													page) => {
-													return value
-														.page_name ==
-														page.Name;
-												});
-											if (value.clear_confirm !=
-												false && value.clear ==
-												true &&
-												pageData && pageData
-												.DefList.length > 0
+											const pageData = $this.pageDetail.find((page) => {
+												return value.page_name == page.Name;
+											});
+											if (value.clear_confirm != false && value.clear == true &&
+												pageData && pageData.DefList.length > 0
 											) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹� 												uni.showModal({
-													title: this
-														.translateSys(
-															'tip'
-														),
-													content: this
-														.translate(
-															"are_you_sure_clear_first"
-														) +
-														this
-														.translateSys(
-															"quotation_mark_left"
-														) +
-														value
-														.page_name +
-														this
-														.translateSys(
-															"quotation_mark_right"
-														) +
-														this
-														.translate(
-															"are_you_sure_clear_last"
-														),
-													success: function(
-														res
-													) {
-														if (res
-															.confirm
-														) {
-															if (
-																pageData)
-																pageData
-																.DefList = [];
-															$this
-																.viewAceionContent(
-																	value
-																);
-														} else if (
-															res
-															.cancel
-														) {
-															if (
-																pageData)
-																pageData
-																.DefList = [];
-															$this
-																.viewAceionContent(
-																	value
-																);
+													title: this.translateSys('tip'),
+													content: this.translate(
+															"are_you_sure_clear_first") +
+														this.translateSys(
+															"quotation_mark_left") +
+														value.page_name +
+														this.translateSys(
+															"quotation_mark_right") +
+														this.translate(
+															"are_you_sure_clear_last"),
+													cancelText: $this.translateSys('ok'),
+													confirmText: $this.translateSys('cancel'),
+													success: function(res) {
+														if (res.cancel) {
+															if (pageData)
+																pageData.DefList = [];
+															$this.viewAceionContent(value);
+														} else if (res.confirm) {
+															if (pageData)
+																pageData.DefList = [];
+															$this.viewAceionContent(value);
 														}
 													}
 												});
 											} else {
 												if (pageData)
-													pageData
-													.DefList = [];
-												$this
-													.viewAceionContent(
-														value);
+													pageData.DefList = [];
+												$this.viewAceionContent(value);
 											}
-										} else if (item.action_type ==
-											"select_subtable_page_row"
-										) {
+										} else if (item.action_type == "select_subtable_page_row") {
 											// value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}}
 											var value = item.value;
-											const pageData = $this
-												.pageDetail.find((
-													page) => {
-													return value
-														.page_name ==
-														page.Name;
-												});
-											if (pageData?.DefList) {
-												pageData.DefList
-													.forEach(ele => {
-
-														if (ele
-															.form
-															.objId ==
-															value
-															.row.id
-														) {
-															ele.SelBut_Checked =
-																true;
-															$this
-																.active_id =
-																ele
-																.form
-																.htmlobjId;
-															//鑷姩婊氬姩鍒版寚瀹氬厓绱�-															uni.createSelectorQuery()
-																.select(
-																	"#tabpanel" +
-																	value
-																	.page_name
-																) //瀵瑰簲澶栧眰鑺傜偣
-																.boundingClientRect(
-																	(
-																		container
-																	) => {
-																		uni.createSelectorQuery()
-																			.select(
-																				"#dvpanel" +
-																				ele
-																				.form
-																				.htmlobjId
-																			) //鐩爣鑺傜偣
-																			.boundingClientRect(
-																				(
-																					target
-																				) => {
-																					uni.pageScrollTo({
-																						scrollTop: target
-																							.top -
-																							container
-																							.top, //婊氬姩鍒板疄闄呰窛绂绘槸鍏冪礌璺濈椤堕儴鐨勮窛绂诲噺鍘绘渶澶栧眰鐩掑瓙鐨勬粴鍔ㄨ窛绂�-																					});
-																				}
-																			)
-																			.exec();
-																	}
-																)
-																.exec();
-														}
-													});
-											}
+											$this.viewActionSelectRow(value)
 										} else if (item.action_type ==
-											"remove_subtable_page_row"
-										) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+											"remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹� 											var value = item.value;
-											const pageData = $this
-												.pageDetail.find((
-													page) => {
-													return value
-														.page_name ==
-														page.Name;
-												});
-											if (pageData
-												?.DefList
-											) //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�-											{
-												value.row.forEach(
-													row => {
-														pageData
-															.DefList
-															.forEach(
-																(ele,
-																	index
-																) => {
-																	if (ele
-																		.form
-																		.objId ==
-																		row
-																		.id
-																	) {
-																		pageData
-																			.DefList
-																			.splice(
-																				index,
-																				1
-																			);
-																	}
-																});
-													});
-											}
+											$this.viewActionRemoveRow(value)
+										} else if (item.action_type == "set_subtable_page_row") {
+											$this.viewActionSetRow(item.value)
 
-
-
-										} else if (item.action_type ==
-											"set_subtable_page_row") {
-											$this.viewActionSetRow(item
-												.value)
-
-										} else if (item.action_type ==
-											"set_subtable_page_ext_data"
-										) {
+										} else if (item.action_type == "set_subtable_page_ext_data") {
 											var value = item.value;
-											const pageData = $this
-												.pageDetail.find((
-													page) => {
-													return value
-														.page_name ==
-														page.Name;
-												});
+											const pageData = $this.pageDetail.find((page) => {
+												return value.page_name == page.Name;
+											});
 											if (pageData)
-												pageData.ExtData =
-												value.ext_data
+												pageData.ExtData = value.ext_data
 
-										} else if (item.action_type ==
-											"clear_subpage_rows") {
+										} else if (item.action_type == "clear_subpage_rows") {
 											var value = item.value;
-											const pageData = $this
-												.pageDetail.find((
-													page) => {
-													return value
-														.page_name ==
-														page.Name;
-												});
-											if (pageData) {
+											const pageIndex = $this.pageDetail.findIndex((page) => {
+												return value.page_name == page.Name;
+											});
+											if (pageIndex > -1) {
+												const pageData = $this.pageDetail[pageIndex]
 												pageData.DefList = []
 												pageData.ExtData = {}
+											
+												$this.$set(this.pageDetail, pageIndex, pageData)
 											}
 
-										} else if (item.action_type ==
-											"set_dlg_current_edit_attr"
-										) {
+										} else if (item.action_type == "set_dlg_current_edit_attr") {
 
-											if ($this
-												.focusOldFieldId ==
-												item.value) {
+											if ($this.focusOldFieldId == item.value) {
 												$this.setData({
 													focusFieldId: ""
 												})
 											} else {
 												$this.setData({
-													focusFieldId: $this
-														.focusOldFieldId
+													focusFieldId: $this.focusOldFieldId
 												})
 											}
 											$this.$nextTick(() => {
 												$this.setData({
-													focusFieldId: item
-														.value
+													focusFieldId: item.value
 												})
 											});
-										} else if (item.action_type ==
-											"set_dlg_attr") {
+										} else if (item.action_type == "set_dlg_attr") {
 											// value = {"attr":"xxx", "value":"xxx"}
 											var data = item.value;
 											$this.setFormValues(data)
@@ -1424,11 +1098,59 @@
 				}
 			},
 
+			viewActionSelectRow(value) {
+				const pageData = this.pageDetail.find((page) => {
+					return value.page_name == page.Name;
+				});
+				if (pageData?.DefList) {
+					pageData.DefList.forEach(ele => {
+						if (ele.form.objId == value.row.id) {
+							ele.SelBut_Checked = true;
+							this.active_id = ele.form.htmlobjId;
+							//鑷姩婊氬姩鍒版寚瀹氬厓绱�+							uni.createSelectorQuery().select("#tabpanel" + value.page_name) //瀵瑰簲澶栧眰鑺傜偣
+								.boundingClientRect((container) => {
+									uni.createSelectorQuery()
+										.select("#dvpanel" + ele.form.htmlobjId) //鐩爣鑺傜偣
+										.boundingClientRect((target) => {
+											uni.pageScrollTo({
+												scrollTop: target.top - container
+													.top, //婊氬姩鍒板疄闄呰窛绂绘槸鍏冪礌璺濈椤堕儴鐨勮窛绂诲噺鍘绘渶澶栧眰鐩掑瓙鐨勬粴鍔ㄨ窛绂�+											});
+										}).exec();
+								}).exec();
+						}
+					});
+				}
+
+			},
+
+			viewActionRemoveRow(value) {
+				if (JSON.stringify(value.row) == '{}') {
+					return;
+				}
+				const pageIndex = $this.pageDetail.findIndex((page, index2, arr) => {
+					return value.page_name == page.Name;
+				})
+				if (pageIndex < 0)
+					return
+				const pageData = $this.pageDetail[pageIndex]
+				if (pageData?.DefList) //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+				{
+					value.row.forEach((row) => {
+						pageData.DefList.forEach((ele, index) => {
+							if (ele.form.objId == row.id) {
+								pageData.DefList.splice(index, 1);
+							}
+						});
+					});
+				}
+				$this.$set(this.pageDetail, pageIndex, pageData)
+			},
 			//鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭
 			viewActionSetRow(value) {
 				const $this = this
-				const pageIndex = $this.pageDetail.findIndex((
-					page, index2, arr) => {
+				const pageIndex = $this.pageDetail.findIndex((page, index2, arr) => {
 					return value.page_name == page.Name;
 				})
 				if (pageIndex < 0)
@@ -1733,7 +1455,7 @@
 
 					});
 				}
-
+				$this.$set(this.pageDetail, pageIndex, pageData)
 			},
 			setFormValues(attrs) {
 				const head_styledef = this.head_styledef
@@ -1815,9 +1537,9 @@
 				var head_attr = {};
 				this.$data.head_styledef.form.items.forEach(item => {
 					if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�-						item.setting.colList.forEach(cols => {
-							if (cols != null) head_attr[cols.fieldId] =
-								cols.value;
+						item.setting.colList.forEach(col => {
+							if (col != null) head_attr[col.fieldId] =
+								col.value;
 						});
 					} else
 						head_attr[item.fieldId] = item.value;
@@ -1828,9 +1550,9 @@
 				var detail_attr = {};
 				style.form.items.forEach(item => {
 					if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�-						item.setting.colList.forEach(cols => {
-							if (cols != null) detail_attr[cols
-									.fieldId] = cols
+						item.setting.colList.forEach(col => {
+							if (col != null) detail_attr[col
+									.fieldId] = col
 								.value;
 						});
 					} else
@@ -2557,11 +2279,14 @@
 				const $this = this
 				if (btn.Prompt) {
 					const sContent = btn.PromptContent || this.translate("confirm")
+
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: btn.PromptContent || this.translate("confirm"),
+						cancelText: this.translateSys('ok'),
+						confirmText: this.translateSys('cancel'),
 						success: function(res) {
-							if (res.confirm) {
+							if (res.cancel) {
 								$this.onButtonClicked(btn, pageData, -1);
 							}
 
@@ -2579,8 +2304,10 @@
 					uni.showModal({
 						title: this.translateSys("tip"),
 						content: btn.PromptContent || this.translate("confirm"),
+						cancelText: this.translateSys('ok'),
+						confirmText: this.translateSys('cancel'),
 						success: function(res) {
-							if (res.confirm) {
+							if (res.cancel) {
 								$this.onButtonClicked(btn, pageData, index);
 							}
 
@@ -2651,9 +2378,9 @@
 				const objAttr = {}
 				row.form.items.forEach(item => {
 					if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�-						item.setting.colList.forEach(cols => {
-							if (cols != null) objAttr[cols
-								.fieldId] = cols.value;
+						item.setting.colList.forEach(col => {
+							if (col != null) objAttr[col
+								.fieldId] = col.value;
 						});
 					} else
 						objAttr[item.fieldId] = item.value;
@@ -2703,9 +2430,8 @@
 				const objAttr = {}
 				row.form.items.forEach(item => {
 					if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�-						item.setting.colList.forEach(cols => {
-							if (cols != null) objAttr[cols
-								.fieldId] = cols.value;
+						item.setting.colList.forEach(col => {
+							if (col != null) objAttr[col.fieldId] = col.value;
 						});
 					} else
 						objAttr[item.fieldId] = item.value;
@@ -2782,9 +2508,9 @@
 				var head_attr = {};
 				this.$data.head_styledef.form.items.forEach(item => {
 					if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�-						item.setting.colList.forEach(cols => {
-							if (cols != null) head_attr[cols.fieldId] =
-								cols.value;
+						item.setting.colList.forEach(col => {
+							if (col != null) head_attr[col.fieldId] =
+								col.value;
 						});
 					} else
 						head_attr[item.fieldId] = item.value;
@@ -2796,10 +2522,9 @@
 					var 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;
+							item.setting.colList.forEach(col => {
+								if (col != null)
+									detail_attr[col.fieldId] = col.value;
 							});
 						} else
 							detail_attr[item.fieldId] = item.value;
@@ -2953,247 +2678,106 @@
 								//	uni.showModal({title:this.translateSys("tip"),content:JSON.stringify(result.action),showCancel:false,confirmText:this.translateSys("cancel")});
 
 								result.action.forEach(item => {
-									if (item.action_type ==
-										"insert_subtable_page_row"
-									) { //鐮佺洏涓�+									if (item.action_type == "insert_subtable_page_row") { //鐮佺洏涓� 										var value = item.value;
 										//鍔犺浇宸茬粡鐮佺洏鏁版嵁
-										$this.viewAceionRow(
-											value, );
+										$this.viewAceionRow(value);
 										//娓呯┖鏉$爜鍐呭
-										$this.$data
-											.head_styledef
-											.form.items
-											.forEach((
-												item,
-												index) => {
-												if (item
-													.fieldId !=
-													"S_CNTR_CODE"
-												) {
-													item.value =
-														'';
-													item.oldvalue =
-														'';
-													$this
-														.$data
-														.head_styledef
-														.form
-														.model[
-															item
-															.fieldId
-														] =
-														'';
-												}
-											});
+										$this.$data.head_styledef.form.items.forEach((item, index) => {
+											if (item.fieldId != "S_CNTR_CODE") {
+												item.value = '';
+												item.oldvalue = '';
+												$this.$data.head_styledef.form.model[item
+													.fieldId] = '';
+											}
+										});
 
 										uni.showModal({
-											title: this
-												.translateSys(
-													"tip"
-												),
-											content: this
-												.translate(
-													'execute_event_success'
-												),
+											title: $this.translateSys("tip"),
+											content: $this.translate('execute_event_success'),
 											showCancel: false,
-											confirmText: this
-												.translateSys(
-													'close'
-												)
+											confirmText: $this.translateSys('close')
 										});
 									} else if (item.action_type ==
 										"set_subtable_page_content"
 									) { //宸茬爜鐩�-										$this.$data.param
-											.Show_Welcom_Page =
-											false;
+										$this.$data.param.Show_Welcom_Page = false;
 										var value = item.value;
-										const pageData = $this
-											.pageDetail.find((
-												page) => {
-												return value
-													.page_name ==
-													page.Name;
-											});
-										if (value.clear_confirm !=
-											false && value.clear ==
-											true &&
-											pageData && pageData
-											.DefList.length > 0
+										const pageData = $this.pageDetail.find((page) => {
+											return value.page_name == page.Name;
+										});
+										if (value.clear_confirm != false && value.clear == true &&
+											pageData && pageData.DefList.length > 0
 										) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹� 											uni.showModal({
-												title: this
-													.translateSys(
-														'tip'
-													),
-												content: this
-													.translate(
-														"are_you_sure_clear_first"
-													) +
-													this
-													.translateSys(
-														"quotation_mark_left"
-													) +
-													value
-													.page_name +
-													this
-													.translateSys(
-														"quotation_mark_right"
-													) +
-													this
-													.translate(
-														"are_you_sure_clear_last"
-													),
-												success: function(
-													res
-												) {
-													if (res
-														.confirm
-													) {
-														if (
-															pageData
-														)
-															pageData
-															.DefList = [];
-														$this
-															.viewAceionContent(
-																value
-															);
-													} else if (
-														res
-														.cancel
-													) {
-														if (
-															pageData
-														)
-															pageData
-															.DefList = [];
-														$this
-															.viewAceionContent(
-																value
-															);
+												title: $this.translateSys('tip'),
+												content: $this.translate(
+														"are_you_sure_clear_first") +
+													$this.translateSys("quotation_mark_left") +
+													value.page_name +
+													$this.translateSys(
+														"quotation_mark_right") +
+													$this.translate("are_you_sure_clear_last"),
+												cancelText: $this.translateSys('ok'),
+												confirmText: $this.translateSys('cancel'),
+												success: function(res) {
+													if (res.cancel) {
+														if (pageData)
+															pageData.DefList = [];
+														$this.viewAceionContent(value);
+													} else if (res.confirm) {
+														if (pageData)
+															pageData.DefList = [];
+														$this.viewAceionContent(value);
 													}
 												}
 											});
 										} else {
 											if (pageData)
-												pageData
-												.DefList = [];
-											$this
-												.viewAceionContent(
-													value);
+												pageData.DefList = [];
+											$this.viewAceionContent(value);
 										}
-									} else if (item
-										.action_type ==
-										"remove_subtable_page_row"
-									) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�-										var value = item.value;
-										const pageData = $this
-											.pageDetail.find((
-												page) => {
-												return value
-													.page_name ==
-													page
-													.Name;
-											});
-										if (pageData
-											?.DefList
-										) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
-											//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�-											value.row.forEach(
-												row => {
-													pageData
-														.DefList
-														.forEach(
-															(
-																ele,
-																index
-															) => {
-																if (ele
-																	.form
-																	.objId ==
-																	row
-																	.id
-																) {
-																	pageData
-																		.DefList
-																		.splice(
-																			index,
-																			1
-																		);
-																}
-															}
-														);
-												});
-										}
-									} else if (item
-										.action_type ==
-										"set_subtable_page_row"
-									) {
-										$this.viewActionSetRow(
-											item
-											.value)
-
-									} else if (item
-										.action_type ==
-										"set_subtable_page_ext_data"
-									) {
-										var value = item.value;
-										const pageData = $this
-											.pageDetail.find((
-												page) => {
-												return value
-													.page_name ==
-													page
-													.Name;
-											});
+									} else if (item.action_type ==
+										"remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+										let value = item.value;
+										$this.viewActionRemoveRow(value)
+									} else if (item.action_type == "set_subtable_page_row") {
+										$this.viewActionSetRow(item.value)
+									} else if (item.action_type == "set_subtable_page_ext_data") {
+										let value = item.value;
+										const pageData = $this.pageDetail.find((page) => {
+											return value.page_name == page.Name;
+										});
 										if (pageData) {
-											pageData.ExtData =
-												value
-												.ext_data
+											pageData.ExtData = value.ext_data
 										}
 
-									} else if (item
-										.action_type ==
-										"clear_subpage_rows") {
+									} else if (item.action_type == "clear_subpage_rows") {
 										var value = item.value;
-										const pageData = $this
-											.pageDetail.find((
-												page) => {
-												return value
-													.page_name ==
-													page
-													.Name;
-											});
-										if (pageData) {
-											pageData
-												.DefList = []
-											pageData
-												.ExtData = {}
+										const pageIndex = $this.pageDetail.findIndex((page) => {
+											return value.page_name == page.Name;
+										});
+										if (pageIndex > -1) {
+											const pageData = $this.pageDetail[pageIndex]
+											pageData.DefList = []
+											pageData.ExtData = {}
+
+											$this.$set(this.pageDetail, pageIndex, pageData)
 										}
-									} else if (item
-										.action_type ==
-										"set_dlg_current_edit_attr"
-									) {
-										if ($this
-											.focusOldFieldId ==
-											item.value)
+									} else if (item.action_type == "set_dlg_current_edit_attr") {
+										if ($this.focusOldFieldId == item.value)
 											$this.setData({
 												focusFieldId: ""
 											})
 										else {
 											$this.setData({
-												focusFieldId: $this
-													.focusOldFieldId
+												focusFieldId: $this.focusOldFieldId
 											})
 										}
 										$this.$nextTick(() => {
-											$this
-												.setData({
-													focusFieldId: item
-														.value
-												})
+											$this.setData({
+												focusFieldId: item.value
+											})
 										});
 									} else if (item.action_type ==
 										"set_dlg_attr") {
@@ -3204,12 +2788,8 @@
 
 								});
 							} else {
-								if ($this.$data.After_OK_Event.ID !=
-									event
-									.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢
-
-									$this.sava(pageParam, $this.$data
-										.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+								if ($this.$data.After_OK_Event.ID != event.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢
+									$this.sava(pageParam, $this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠� 
 								}
 							}
@@ -3217,12 +2797,10 @@
 
 							if (result.info) {
 								uni.showModal({
-									title: this.translateSys(
-										"tip"),
+									title: this.translateSys("tip"),
 									content: result.info,
 									showCancel: false,
-									confirmText: this
-										.translateSys('close')
+									confirmText: this.translateSys('close')
 								});
 							}
 						}
@@ -3234,11 +2812,8 @@
 					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
 					uni.showModal({
 						title: this.translateSys("error") + "8.1",
-						content: this.translate(
-								"execute_after_ok_event_failed") +
-							this.translateSys(
-								"comma") +
-							tip,
+						content: this.translate("execute_after_ok_event_failed") +
+							this.translateSys("comma") + tip,
 						showCancel: false,
 						confirmText: this.translateSys('close')
 					});
@@ -3309,7 +2884,7 @@
 				}
 
 				.uni-icon {
-					padding: 8rpx;
+					padding: 10rpx 5rpx;
 					font-size: 32rpx;
 					color: rgb(192, 196, 204);
 				}
@@ -3366,8 +2941,6 @@
 				background-color: #ddd !important;
 				color: #888 !important;
 			}
-
-
 
 			.btn-left {
 				padding: 20rpx;
@@ -3439,7 +3012,7 @@
 
 		.uni-icon {
 			/* border: 1px solid red; */
-			width: 8%;
+			width: 30rpx;
 			font-family: uniicons;
 			font-size: 40rpx;
 			font-weight: 400;
@@ -3455,46 +3028,55 @@
 
 		.dv-panel {
 			background-color: #efefef;
-			padding: 20rpx 20rpx 10rpx 0px;
+			padding: 10rpx 10rpx 10rpx 0px;
 			border-radius: 12rpx;
 			margin: 10rpx 0 20rpx 0;
-			text-align: right;
 
-			.txt_title {
-				font-size: 28rpx;
-				text-align: right;
-				display: inline-block;
-			}
+			.dv-panel-form {
+				padding: 0px;
+				margin: 0;
 
-			input {
-				vertical-align: middle;
-				display: inline-block;
-				border: 1px solid #d5d5d5;
-				width: 68%;
-				height: 48rpx;
-				line-height: 28rpx;
-				background: #FFF;
-				border-radius: 7px !important;
-				color: #2d8cf0;
-				padding: 6rpx 8rpx 8rpx;
-				font-size: 28rpx;
-				font-family: inherit;
-				box-shadow: none !important;
-				transition-duration: 0.1s;
-				margin-top: 0rpx;
-			}
+				.dv-panel-form-item {
+					margin: 0;
+					padding: 0px;
+				}
 
-			input::-webkit-input-placeholder {
-				font-size: 10rpx;
-			}
+				.uni-forms-item {
+					padding-bottom: 5rpx;
+					margin-bottom: 0;
 
-			.form-item-span {
-				vertical-align: text-top;
-				color: #2d8cf0;
-				white-space: normal;
-				word-break: break-all;
-				display: inline-block;
-				width: calc(100% - 100px);
+					.uni-forms-item__label {
+						height: 20px !important;
+						padding: 0 10rpx 0 0 !important;
+					}
+
+					.uni-input {
+						width: calc(100% - 12rpx);
+						padding: 5rpx;
+						border: 1px solid #d5d5d5;
+						color: #2d8cf0;
+						height: 20px;
+						background: #FFF;
+						line-height: 20px;
+						border-radius: 6px !important;
+						font-size: 14px;
+						font-family: inherit;
+						box-shadow: none !important;
+						transition-duration: 0.1s;
+						vertical-align: middle;
+					}
+
+					.form-item-span {
+						vertical-align: text-top;
+						color: #2d8cf0;
+						white-space: normal;
+						word-break: break-all;
+						width: 100%;
+					}
+				}
+
+
+
 			}
 
 			.dv-panel-button {
@@ -3522,15 +3104,6 @@
 
 		}
 
-		.dv-panel-input {
-			width: 100%;
-			display: inline-block;
-			text-align: left;
-
-			.dv-input {
-				margin-bottom: 2rpx;
-			}
-		}
 
 		.logo {
 			height: 100rpx;
@@ -3675,7 +3248,7 @@
 		.popup-footer {
 			float: right;
 			position: absolute;
-			bottom:10rpx;
+			bottom: 10rpx;
 			right: 20rpx;
 		}
 

--
Gitblit v1.9.1