From 625badef071d0931b3868b2ba672d51ce2cc5b91 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期三, 19 二月 2025 10:01:20 +0800
Subject: [PATCH] action set_subtable_page_row 处理 condition

---
 pages/modal/3037_2.vue |  101 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 69 insertions(+), 32 deletions(-)

diff --git a/pages/modal/3037_2.vue b/pages/modal/3037_2.vue
index 4793ac3..6e08aaa 100644
--- a/pages/modal/3037_2.vue
+++ b/pages/modal/3037_2.vue
@@ -26,7 +26,7 @@
 						: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)" />
+						:focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)" :maxlength="-1" />
 					<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
 						@click="onchange(item)">&#xe568;</text>
 				</view>
@@ -39,16 +39,17 @@
 				</view>
 				<!-- 澶嶉�妗�-->
 				<checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
-					:class="item.disabled?'input-disabled':''" @change="onModelValue(item)" :disabled="item.disabled"
-					:data-ischeck="item.value" :style="{'margin-left':'10rpx'}">
-					<label>
-						<checkbox :value="item.value" :checked="item.value" />
-						<text>{{item.label}}</text>
+					:class="item.disabled?'input-disabled':''" :disabled="item.disabled" @change="onCheckBoxValue"
+					:data-attr="item.fieldId">
+					<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 class="check_rememberPwd" v-if="item.name=='Radio'"
-					:class="item.disabled?'input-disabled':''" :disabled="item.disabled" @change="onModelValue(item)">
+					:class="item.disabled?'input-disabled':''" :disabled="item.disabled" @change="onRadioBoxValue"
+					:data-attr="item.fieldId">
 					<label v-for="(item2) in item.selections" :key="item2.value">
 						<radio :value="item2.value" :checked="item2.value === item.value" />
 						<text>{{item2.label}}</text>
@@ -78,7 +79,8 @@
 					<!-- 宸﹀彸甯冨眬 -->
 					<p class="tx_title2">{{param.Scan_Code.Name}}:</p>
 					<input type="text" class="attr_field" :value="scanCodeVal" @focus="scan_ontap" @blur="scan_onevent"
-						:style="param.Scan_Code.Have_Select_Button==true?'width: '+(100-(param.Scan_Code.Name.length * 5)-14)+'%;':'width: '+(100-(param.Scan_Code.Name.length * 5)-5)+'%;'">
+						:style="param.Scan_Code.Have_Select_Button==true?'width: '+(100-(param.Scan_Code.Name.length * 5)-14)+'%;':'width: '+(100-(param.Scan_Code.Name.length * 5)-5)+'%;'"
+						:maxlength="-1">
 					<div class="text-right2" v-if="param.Scan_Code.Have_Select_Button==true">
 						<a @tap="scan_classAttr_extButton()"><i class="ace-icon fa"
 								:class="param.Scan_Code.Img?param.Scan_Code.Img:'fa-plus-circle'"></i></a>
@@ -110,7 +112,7 @@
 									: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)" />
+									:focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)" :maxlength="-1" />
 								<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
 									@click="onchange(item)">&#xe568;</text>
 							</view>
@@ -127,17 +129,17 @@
 							</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>
+								:class="item.disabled?'input-disabled':''" :disabled="item.disabled" @change="onCheckBoxValue"
+								:data-attr="item.fieldId">
+								<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 class="check_rememberPwd" v-if="item.name=='Radio'"
 								:class="item.disabled?'input-disabled':''" :disabled="item.disabled"
-								:style="{'margin-left':'10rpx'}" @change="onModelValue(item)">
+								:style="{'margin-left':'10rpx'}" @change="onRadioBoxValue" :data-attr="cols.fieldId">
 								<label v-for="(item2) in item.selections" :key="item2.value">
 									<radio :value="item2.value" :checked="item2.value === item.value" />
 									<text>{{item2.label}}</text>
@@ -173,7 +175,8 @@
 											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)" />
+											:focus="focusMateria" @focus="ontap(cols)" @blur="onevent(cols)"
+											:maxlength="-1" />
 										<text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]"
 											@click="onchange(cols)">&#xe568;</text>
 									</view>
@@ -192,17 +195,17 @@
 									<!-- 澶嶉�妗�-->
 									<checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
 										:class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
-										@change="onModelValue(cols)" :data-ischeck="cols.value"
-										:style="{'margin-left':'10rpx'}">
-										<label>
-											<checkbox :value="cols.value" :checked="cols.value" />
-											<text>{{cols.label}}</text>
+										@change="onCheckBoxValue" :data-attr="cols.fieldId">
+										<label v-for="(cols2) in cols.selections" :key="cols2.value">
+											<checkbox :value="cols2.value"
+												:checked="cols.value.includes(cols2.value)" />
+											<text>{{cols2.label}}</text>
 										</label>
 									</checkbox-group>
 									<!-- 鍗曢�妗�-->
 									<radio-group class="check_rememberPwd" v-if="cols.name=='Radio'"
 										:class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
-										@change="onModelValue(cols)">
+										@change="onRadioBoxValue " :data-attr="cols.fieldId">
 										<label v-for="(cols2) in cols.selections" :key="cols2.value">
 											<radio :value="cols2.value" :checked="cols2.value === cols.value" />
 											<text>{{cols2.label}}</text>
@@ -409,6 +412,23 @@
 							ele.show = true;
 							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].dict = selections.map((a) => {
+										return {
+											value: a.value,
+											text: a.label
+										}
+									})
+								}
+
 							}
 						});
 					}
@@ -453,6 +473,21 @@
 						$this.detail1_styledef.form.items.forEach(async (ele, index) => {
 							if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
 								await this.DictGetInfo(ele.bind.dict, index, 'sub');
+							} else {
+								if (ele?.name === "Select") {
+									const selections = ele?.selections || []
+									//鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+									let itemName = ele.value || "";
+									if (itemName) {
+										$this.detail1_styledef.form.items[ele.fieldId] = itemName;
+									}
+									$this.detail1_styledef.form.items[index].dict = selections.map((a) => {
+										return {
+											value: a.value,
+											text: a.label
+										}
+									})
+								}
 							}
 						});
 					}
@@ -963,6 +998,17 @@
 					}
 				}
 			},
+			
+			onCheckBoxValue(e) { //缁戝畾Model鍊�+				let values = e.detail.value || []
+				let attr = e.currentTarget?.dataset?.attr || ""
+				this.head_styledef.form.model[attr] = values;
+			},
+			onRadioBoxValue(e) { //缁戝畾Model鍊�+				let value = e.detail.value || ""
+				let attr = e.currentTarget?.dataset?.attr || ""
+				this.head_styledef.form.model[attr] = value;
+			},
 			onModelValue(item) { //缁戝畾Model鍊� 				//console.log(e.target)
 				var attr = item.fieldId;
@@ -1395,17 +1441,8 @@
 									// console.log($this.$data.head_styledef);
 								} else if (action.action_type == 'set_global_attr') {
 									$this.$data.global_attr = action.value || [];
-								} else {
-									uni.showModal({
-										title: this.translateSys("tip"),
-										content: this.translateSys("quotation_mark_left") + action
-											.action_type + this.translateSys(
-												"quotation_mark_right") + this.translate(
-												"tip_action_unprocessed"),
-										showCancel: false,
-										confirmText: this.translateSys("cancel")
-									});
 								}
+
 							}
 						}
 

--
Gitblit v1.9.1