feat: 进仓等级可多选并提示改密,升至1.1.19

This commit is contained in:
2026-11-04 14:50:44 +08:00
parent 569b671b7b
commit 8315222788
5 changed files with 143 additions and 20 deletions
+40 -11
View File
@@ -109,6 +109,8 @@
title="选择等级"
placeholder="请输入等级名称"
:list="levelOptions"
multiple
:selected="detail.grey_fabric_level_id"
@confirm="onLevelConfirm"
/>
<SearchSelectPopup
@@ -199,7 +201,14 @@ export default {
},
computed: {
levelDisplayName() {
return this.detail.grey_fabric_level_name || '';
if (this.detail.grey_fabric_level_name) return this.detail.grey_fabric_level_name;
const ids = normalizeLevelIds(this.detail.grey_fabric_level_id);
if (!ids.length) return '';
const nameMap = {};
this.levelOptions.forEach((item) => {
nameMap[String(item.value)] = item.label;
});
return ids.map((id) => nameMap[String(id)]).filter(Boolean).join('、');
},
},
onLoad() {
@@ -272,10 +281,15 @@ export default {
}
this.levelPickerShow = true;
},
onLevelConfirm(item) {
if (!item) return;
this.detail.grey_fabric_level_id = [Number(item.value)];
this.detail.grey_fabric_level_name = item.label || '';
onLevelConfirm(items) {
const list = Array.isArray(items) ? items : (items ? [items] : []);
this.detail.grey_fabric_level_id = list
.map((item) => Number(item.value))
.filter((item) => Number.isFinite(item));
this.detail.grey_fabric_level_name = list
.map((item) => item.label)
.filter(Boolean)
.join('、');
},
async loadInspectorOptions() {
try {
@@ -338,6 +352,8 @@ export default {
this.detail = {
...emptyDetail(),
fabric_piece_code: code,
inspector_id: this.detail.inspector_id,
inspector_name: this.detail.inspector_name,
};
this.weightKg = '';
} finally {
@@ -347,6 +363,8 @@ export default {
applyScanDetail(res, fallbackCode) {
const data = res || {};
const levelIds = normalizeLevelIds(data.grey_fabric_level_id);
const hasIncomingInspector = data.inspector_id != null && data.inspector_id !== ''
|| String(data.inspector_name || '').trim();
this.detail = {
...emptyDetail(),
fabric_piece_code: data.fabric_piece_code || fallbackCode || '',
@@ -356,9 +374,15 @@ export default {
grey_fabric_code: data.grey_fabric_code || '',
inspection_weight: formatDisplayWeightKg(data.inspection_weight) ? data.inspection_weight : null,
grey_fabric_level_id: levelIds,
grey_fabric_level_name: data.grey_fabric_level_name || '',
inspector_id: data.inspector_id != null ? data.inspector_id : null,
inspector_name: data.inspector_name || '',
grey_fabric_level_name: Array.isArray(data.grey_fabric_level_name)
? data.grey_fabric_level_name.filter(Boolean).join('、')
: (data.grey_fabric_level_name || ''),
inspector_id: hasIncomingInspector && data.inspector_id != null && data.inspector_id !== ''
? data.inspector_id
: this.detail.inspector_id,
inspector_name: hasIncomingInspector
? (data.inspector_name || this.detail.inspector_name || '')
: (this.detail.inspector_name || ''),
};
this.weightKg = formatDisplayWeightKg(data.inspection_weight);
this.scanCode = this.detail.fabric_piece_code;
@@ -421,11 +445,15 @@ export default {
}
},
resetForNextScan() {
const inspectorId = this.detail.inspector_id;
const inspectorName = this.detail.inspector_name;
this.scanCode = '';
this.detail = emptyDetail();
this.detail = {
...emptyDetail(),
inspector_id: inspectorId,
inspector_name: inspectorName,
};
this.weightKg = '';
this.warehouseBinId = null;
this.warehouseBinName = '';
this.$nextTick(() => {
this.scanFocus = false;
this.$nextTick(() => {
@@ -525,6 +553,7 @@ export default {
text-align: right;
font-size: $pda-font-body;
color: #202328;
word-break: break-all;
}
.manual-in__unit {