#
zhou zhou
13 小时以前 58b41dc039c5c9d1b758c9e190a7c35225ad7585
#
4个文件已修改
117 ■■■■ 已修改文件
App.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
locale/zh-Hans.json 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/InManagement/ContainerBinding/Container_Binding.vue 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/settings/settings.vue 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)
locale/zh-Hans.json
@@ -81,7 +81,9 @@
        "fieldName": "字段名",
        "fieldLabel": "显示名称(i18n key)",
        "restoreDefault": "恢复默认",
        "fieldRequired": "字段名和显示名称不能为空"
        "fieldRequired": "字段名和显示名称不能为空",
        "containerBindingEditFields": "组托修改弹窗可编辑字段",
        "fieldType": "类型(text/number)"
    },
    "common": {
        "confirm": "确认",
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
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))