From 310ab72840d7c7025273ac79363107a1f9e4bc8e Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 18 七月 2025 17:34:47 +0800
Subject: [PATCH] test

---
 pages/modal/3037_2.vue |  119 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 59 insertions(+), 60 deletions(-)

diff --git a/pages/modal/3037_2.vue b/pages/modal/3037_2.vue
index d75271d..e0896b0 100644
--- a/pages/modal/3037_2.vue
+++ b/pages/modal/3037_2.vue
@@ -1,7 +1,7 @@
 <template>
 	<view class="uni-page-modal-3017-2" :class="largeMode?'large-mode':''">
 		<!-- 琛ㄥご鏍峰紡 -->
-		<OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @on-focus="ontap"
+		<OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " @on-focus="ontap"
 			@on-change="onEnterChange" @on-click-prefix="classAttr_extButton" @on-click-suffix="classAttr_extButton">
 		</OIForm>
 		<!-- 浠庢暟鎹�-->
@@ -137,7 +137,7 @@
 		},
 		data() {
 			return {
-					largeMode: getApp().globalData.largeMode || false,
+				largeMode: getApp().globalData.largeMode || false,
 				title: this.translateSys('add2'),
 				param: {},
 				edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D
@@ -266,11 +266,11 @@
 									}
 									$this.head_styledef.form.items[index].selections = selections.map((
 										a) => {
-											return {
-												value: a.value,
-												text: a.label
-											}
-										})
+										return {
+											value: a.value,
+											text: a.label
+										}
+									})
 								}
 
 							}
@@ -557,33 +557,34 @@
 									}
 								} else if (data.action[i].action_type == 'set_dlg_attr_show') {
 									var result = action.value;
-									result.forEach(async (attr, key) => {
-										styledef.form.items.forEach(async (ele, index) => {
-											//鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�-											if (ele.name != 'Layout') {
-												if (ele.fieldId == attr.attr) {
-													ele.show = attr.show;
-												}
-											} else if (ele.name == 'Layout') {
-												ele.setting.colList.forEach(
-													col => {
-														if (col) {
-															if (col.fieldId ==
-																attr.attr) {
-																col.show = attr
-																	.show;
-															}
-														}
-													});
-											}
-										});
-									});
-									var style_def = JSON.parse(JSON.stringify(styledef));
 									if (type == 'head') {
-										$this.head_styledef = [];
-										$this.head_styledef = style_def;
+										$this.setFormItemVisible(result)
 										// console.log($this.head_styledef);
 									} else {
+										result.forEach(async (attr, key) => {
+											styledef.form.items.forEach(async (ele, index) => {
+												//鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+												if (ele.name != 'Layout') {
+													if (ele.fieldId == attr.attr) {
+														ele.show = attr.show;
+													}
+												} else if (ele.name == 'Layout') {
+													ele.setting.colList.forEach(
+														col => {
+															if (col) {
+																if (col.fieldId ==
+																	attr.attr) {
+																	col.show = attr
+																		.show;
+																}
+															}
+														});
+												}
+											});
+										});
+										var style_def = JSON.parse(JSON.stringify(styledef));
+
+
 										$this.detail1_styledef = [];
 										$this.detail1_styledef = style_def;
 										// console.log($this.detail1_styledef);
@@ -622,11 +623,11 @@
 			ontap(item) { //鎵爜鍔熻兘
 				//console.log(e.target)
 				getApp().onScan((result) => {
-					//console.log(result.decodedata);
+					//console.log(result);
 					uni.hideKeyboard();
 					var $this = this;
 					console.log(item);
-					item.value = result.decodedata
+					item.value = result
 					let newVal = item.value.trim()
 					if (newVal) {
 						item.oldvalue = newVal;
@@ -1117,8 +1118,8 @@
 			scan_ontap(e) { //鎵爜鍖烘壂鐮佸姛鑳� 				//console.log(e.target)
 				getApp().onScan((result) => {
-					console.log(result.decodedata);
-					item.value = result.decodedata
+					console.log(result);
+					item.value = result
 					let newVal = item.value
 					if (typeof item.value == "string") {
 						newVal = item.value.trim()
@@ -1612,31 +1613,8 @@
 
 									}
 								} else if (action.action_type == 'set_dlg_attr_show') {
-									var result = action.value;
-									result.forEach(async (attr, key) => {
-										$this.head_styledef.form.items.forEach(async (ele,
-											index) => {
-											//鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�-											if (ele.name != 'Layout') {
-												if (ele.fieldId == attr.attr) {
-													ele.show = attr.show;
-												}
-											} else if (ele.name == 'Layout') {
-												ele.setting.colList.forEach(col => {
-													if (col) {
-														if (col.fieldId == attr
-															.attr) {
-															col.show = attr
-																.show;
-														}
-													}
-												});
-											}
-										});
-									});
-									var head_styledef = JSON.parse(JSON.stringify($this.head_styledef));
-									$this.head_styledef = [];
-									$this.head_styledef = head_styledef;
+									var data = action.value;
+									$this.setFormItemVisible(data)
 									// console.log($this.head_styledef);
 								} else if (action.action_type == 'set_global_attr') {
 									$this.global_attr = action.value || [];
@@ -1703,6 +1681,27 @@
 					});
 				});
 			},
+			setFormItemVisible(attrs) {
+				if (!Array.isArray(attrs)) {
+					return
+				}
+				const head_styledef = this.head_styledef
+				if (!head_styledef.hiddenIds) {
+					head_styledef.hiddenIds = []
+				}
+				attrs.forEach((attr) => {
+					let index = head_styledef.hiddenIds.findIndex((id) => id == attr.attr);
+					if (attr.show) {
+						if (index > -1) head_styledef.hiddenIds.splice(index, 1);
+					} else {
+						if (index == -1) head_styledef.hiddenIds.push(attr.attr);
+					}
+				});
+
+				this.setData({
+					head_styledef: head_styledef
+				})
+			},
 			scan_DataObjRunCustomEvent(info, data_attr) {
 				var $this = this;
 				var obj_attr = {};

--
Gitblit v1.9.1