From 58b41dc039c5c9d1b758c9e190a7c35225ad7585 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 05 三月 2026 18:04:25 +0800
Subject: [PATCH] #

---
 pages/settings/settings.vue                               |   51 ++++++++++++++++++++-----
 locale/zh-Hans.json                                       |    4 +
 App.vue                                                   |   12 ++++++
 pages/InManagement/ContainerBinding/Container_Binding.vue |   50 +++++++++++++++----------
 4 files changed, 86 insertions(+), 31 deletions(-)

diff --git a/App.vue b/App.vue
index 8a79cac..ba8784c 100644
--- a/App.vue
+++ b/App.vue
@@ -19,6 +19,18 @@
 					{ field: 'specs', label: 'container.matSpec' },
 					{ field: 'batch', label: 'container.matBatch' },
 					{ field: 'anfme', label: 'container.matQty' }
+				],
+				containerBindingEditFields: [
+					{
+						field: 'batch',
+						label: 'container.matBatch',
+						type: 'text'
+					},
+					{
+						field: 'anfme',
+						label: 'container.matQty',
+						type: 'number'
+					}
 				]
 			}
 			uni.setStorageSync('appSettings', appSettings)
diff --git a/locale/zh-Hans.json b/locale/zh-Hans.json
index 98d4492..03ae56c 100644
--- a/locale/zh-Hans.json
+++ b/locale/zh-Hans.json
@@ -81,7 +81,9 @@
 		"fieldName": "瀛楁鍚�",
 		"fieldLabel": "鏄剧ず鍚嶇О(i18n key)",
 		"restoreDefault": "鎭㈠榛樿",
-		"fieldRequired": "瀛楁鍚嶅拰鏄剧ず鍚嶇О涓嶈兘涓虹┖"
+		"fieldRequired": "瀛楁鍚嶅拰鏄剧ず鍚嶇О涓嶈兘涓虹┖",
+		"containerBindingEditFields": "缁勬墭淇敼寮圭獥鍙紪杈戝瓧娈�",
+		"fieldType": "绫诲瀷(text/number)"
 	},
 	"common": {
 		"confirm": "纭",
diff --git a/pages/InManagement/ContainerBinding/Container_Binding.vue b/pages/InManagement/ContainerBinding/Container_Binding.vue
index 47cf08b..1a90005 100644
--- a/pages/InManagement/ContainerBinding/Container_Binding.vue
+++ b/pages/InManagement/ContainerBinding/Container_Binding.vue
@@ -162,20 +162,23 @@
 						<u-form-item :label="$t('container.code')">
 							<text class="popup-text-val">{{ editMatnr }}</text>
 						</u-form-item>
-						<u-form-item :label="$t('container.matBatch')">
-							<u--input
-								v-model="batch"
-								:placeholder="$t('matSelected.inputBatch')"
-								border="surround"
-							></u--input>
-						</u-form-item>
-						<u-form-item :label="$t('container.matQty')">
+						<u-form-item
+							v-for="(ef, efIdx) in editFields"
+							:key="efIdx"
+							:label="$t(ef.label)"
+						>
 							<u-number-box
-								v-model="count"
+								v-if="ef.type === 'number'"
+								v-model="editFormData[ef.field]"
 								:step="0.01"
 								:max="9999999"
-								@change="changeValue"
 							></u-number-box>
+							<u--input
+								v-else
+								v-model="editFormData[ef.field]"
+								:placeholder="$t('settings.inputPlaceholder')"
+								border="surround"
+							></u--input>
 						</u-form-item>
 					</u--form>
 				</view>
@@ -257,7 +260,12 @@
 				{ field: 'specs', label: 'container.matSpec' },
 				{ field: 'batch', label: 'container.matBatch' },
 				{ field: 'anfme', label: 'container.matQty' }
-			]
+			],
+			editFields: [
+				{ field: 'batch', label: 'container.matBatch', type: 'text' },
+				{ field: 'anfme', label: 'container.matQty', type: 'number' }
+			],
+			editFormData: {}
 		}
 	},
 	onShow() {
@@ -269,6 +277,9 @@
 			this.orderCombStartPos = settings.orderCombStartPos !== undefined ? Number(settings.orderCombStartPos) : 3
 			if (settings.containerBindingFields && settings.containerBindingFields.length > 0) {
 				this.displayFields = settings.containerBindingFields
+			}
+			if (settings.containerBindingEditFields && settings.containerBindingEditFields.length > 0) {
+				this.editFields = settings.containerBindingEditFields
 			}
 		} else {
 			this.orderCombNeedSplit = true
@@ -387,19 +398,18 @@
 		},
 		revise(item, i) {
 			this.editMatnr = this.dataList[i].matnr
-			this.count = this.dataList[i].anfme
-			this.batch = this.dataList[i].batch
-			this.weight = this.dataList[i].weight
 			this.rowNum = i
+			var formData = {}
+			this.editFields.forEach(ef => {
+				formData[ef.field] = this.dataList[i][ef.field] !== undefined ? String(this.dataList[i][ef.field]) : ''
+			})
+			this.editFormData = formData
 			this.showRevise = true
 		},
-		changeValue(e) {
-			this.count = e.value
-		},
 		reviseConfirm() {
-			this.dataList[this.rowNum].anfme = this.count
-			this.dataList[this.rowNum].batch = this.batch
-			this.dataList[this.rowNum].weight = this.weight
+			this.editFields.forEach(ef => {
+				this.dataList[this.rowNum][ef.field] = this.editFormData[ef.field]
+			})
 			this.editMatnr = ''
 			this.$showToast({ type: 'success', message: this.$t('toast.modifySuccess') })
 			this.showRevise = false
diff --git a/pages/settings/settings.vue b/pages/settings/settings.vue
index 4b8c9f2..92d3627 100644
--- a/pages/settings/settings.vue
+++ b/pages/settings/settings.vue
@@ -93,7 +93,7 @@
 					>
 						<view class="field-info">
 							<text class="field-name">{{ field.field }}</text>
-							<text class="field-label">{{ $t(field.label) }}</text>
+							<text class="field-label">{{ $t(field.label) }}<text v-if="editingFieldsKey.indexOf('Edit') > -1"> ({{ field.type || 'text' }})</text></text>
 						</view>
 						<u-icon
 							name="minus-circle-fill"
@@ -120,12 +120,19 @@
 							customStyle="flex: 1;"
 						></u--input>
 					</view>
+					<view class="add-field-row" v-if="editingFieldsKey.indexOf('Edit') > -1" style="margin-top: 16rpx; padding: 16rpx 20rpx; background-color: #f5f7fa; border-radius: 8rpx;">
+						<text style="font-size: 26rpx; color: #606266; margin-right: 16rpx;">{{ $t('settings.fieldType') }}</text>
+						<u-radio-group v-model="newFieldType" placement="row">
+							<u-radio label="text" name="text" customStyle="margin-right: 30rpx;"></u-radio>
+							<u-radio label="number" name="number"></u-radio>
+						</u-radio-group>
+					</view>
 					<u-button
 						type="primary"
 						size="small"
 						:text="$t('settings.addField')"
 						@click="addField"
-						customStyle="margin-top: 16rpx;"
+						customStyle="margin-top: 30rpx;"
 					></u-button>
 				</view>
 
@@ -165,6 +172,10 @@
 					{ field: 'specs', label: 'container.matSpec' },
 					{ field: 'batch', label: 'container.matBatch' },
 					{ field: 'anfme', label: 'container.matQty' }
+				],
+				containerBindingEditFields: [
+					{ field: 'batch', label: 'container.matBatch', type: 'text' },
+					{ field: 'anfme', label: 'container.matQty', type: 'number' }
 				]
 			},
 			showFieldsPopup: false,
@@ -172,12 +183,19 @@
 			editingFields: [],
 			newFieldName: '',
 			newFieldLabel: '',
-			defaultContainerBindingFields: [
-				{ field: 'maktx', label: 'container.matName' },
-				{ field: 'specs', label: 'container.matSpec' },
-				{ field: 'batch', label: 'container.matBatch' },
-				{ field: 'anfme', label: 'container.matQty' }
-			]
+			newFieldType: 'text',
+			defaultFieldsMap: {
+				containerBindingFields: [
+					{ field: 'maktx', label: 'container.matName' },
+					{ field: 'specs', label: 'container.matSpec' },
+					{ field: 'batch', label: 'container.matBatch' },
+					{ field: 'anfme', label: 'container.matQty' }
+				],
+				containerBindingEditFields: [
+					{ field: 'batch', label: 'container.matBatch', type: 'text' },
+					{ field: 'anfme', label: 'container.matQty', type: 'number' }
+				]
+			}
 		}
 	},
 	computed: {
@@ -238,6 +256,13 @@
 					iconName: 'grid-fill',
 					iconBgColor: 'bg-green',
 					type: 'displayFields'
+				},
+				{
+					key: 'containerBindingEditFields',
+					title: this.$t('settings.containerBindingEditFields'),
+					iconName: 'edit-pen-fill',
+					iconBgColor: 'bg-yellow',
+					type: 'displayFields'
 				}
 			]
 		}
@@ -264,6 +289,7 @@
 			this.editingFields = JSON.parse(JSON.stringify(this.appSettings[key] || []))
 			this.newFieldName = ''
 			this.newFieldLabel = ''
+			this.newFieldType = 'text'
 			this.showFieldsPopup = true
 		},
 		removeField(idx) {
@@ -276,13 +302,18 @@
 			}
 			this.editingFields.push({
 				field: this.newFieldName,
-				label: this.newFieldLabel
+				label: this.newFieldLabel,
+				type: this.newFieldType || 'text'
 			})
 			this.newFieldName = ''
 			this.newFieldLabel = ''
+			this.newFieldType = 'text'
 		},
 		restoreDefaultFields() {
-			this.editingFields = JSON.parse(JSON.stringify(this.defaultContainerBindingFields))
+			var defaults = this.defaultFieldsMap[this.editingFieldsKey]
+			if (defaults) {
+				this.editingFields = JSON.parse(JSON.stringify(defaults))
+			}
 		},
 		saveFields() {
 			this.appSettings[this.editingFieldsKey] = JSON.parse(JSON.stringify(this.editingFields))

--
Gitblit v1.9.1