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