From df15f94ac6ec48154f802475794fbe0c15052794 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 15 五月 2026 16:30:32 +0800
Subject: [PATCH] 浪潮 1.出库管理编辑反显问题
---
src/views/inventoryManagement/dispatchLog/Record.vue | 115 ++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 72 insertions(+), 43 deletions(-)
diff --git a/src/views/inventoryManagement/dispatchLog/Record.vue b/src/views/inventoryManagement/dispatchLog/Record.vue
index 39b6408..7475352 100644
--- a/src/views/inventoryManagement/dispatchLog/Record.vue
+++ b/src/views/inventoryManagement/dispatchLog/Record.vue
@@ -465,33 +465,26 @@
const handleEdit = async (row) => {
dialogType.value = 'edit';
resetForm();
- // 濉厖琛ㄥ崟鏁版嵁
- formState.value = {
- id: row.id,
- productId: row.productId,
- productModelId: row.productModelId,
- productName: row.productName,
- productModelName: row.model,
- unit: row.unit,
- type: props.type === '0' ? 'qualified' : 'unqualified',
- qualitity: row.stockOutNum,
- batchNo: row.batchNo,
- warehouseInfoId: row.warehouseInfoId,
- recordType: row.recordType,
- remark: row.remark || "",
- maxStock: 0,
- };
+
+ // 鍏堝姞杞芥墍鏈夋暟鎹紝鏈�鍚庡啀璧嬪�� formState
+ let loadedWarehouseList = [];
+ let loadedBatchNoList = [];
+ let loadedBatchNoStockMap = {};
+ let loadedMaxStock = 0;
+ let loadedRawBatchNoMaps = {};
+
// 缂栬緫鏃跺姞杞戒粨搴撳垪琛�
if (row.warehouseInfoId) {
const allWarehouses = await loadWarehouseList();
const currentWarehouse = allWarehouses.find(w => String(w.id) === String(row.warehouseInfoId));
if (currentWarehouse) {
- warehouseList.value = [{
+ loadedWarehouseList = [{
id: currentWarehouse.id,
warehouseName: currentWarehouse.warehouseName || currentWarehouse.name || currentWarehouse.warehouseCode || `浠撳簱${currentWarehouse.id}`
}];
}
}
+
// 缂栬緫鏃舵煡璇骇鍝佸簱瀛�
if (row.productModelId) {
try {
@@ -510,23 +503,34 @@
console.log('浜у搧鏁版嵁:', product);
console.log('batchNoMaps:', product.batchNoMaps);
if (product.batchNoMaps && Object.keys(product.batchNoMaps).length > 0) {
- rawBatchNoMaps.value = product.batchNoMaps;
+ loadedRawBatchNoMaps = product.batchNoMaps;
// 鑾峰彇鎵�鏈変粨搴撲俊鎭敤浜庡弽鏄惧悕绉�
const allWarehouses = await loadWarehouseList();
const warehouseMap = {};
allWarehouses.forEach(w => {
warehouseMap[w.id] = w.warehouseName || w.name || w.warehouseCode || `浠撳簱${w.id}`;
});
- // 鏋勫缓浠撳簱鍒楄〃
- warehouseList.value = Object.keys(product.batchNoMaps).map(warehouseInfoId => ({
+ // 鏋勫缓浠撳簱鍒楄〃锛岀‘淇濆寘鍚綋鍓嶈褰曠殑浠撳簱
+ const warehouseIds = Object.keys(product.batchNoMaps);
+ // 濡傛灉褰撳墠璁板綍鐨勪粨搴撲笉鍦� product.batchNoMaps 涓紝娣诲姞杩涘幓
+ if (row.warehouseInfoId && !warehouseIds.some(id => String(id) === String(row.warehouseInfoId))) {
+ warehouseIds.push(String(row.warehouseInfoId));
+ }
+ loadedWarehouseList = warehouseIds.map(warehouseInfoId => ({
id: warehouseInfoId,
warehouseName: warehouseMap[warehouseInfoId] || `浠撳簱${warehouseInfoId}`
}));
console.log('褰撳墠浠撳簱ID:', row.warehouseInfoId);
console.log('璇ヤ粨搴撶殑batchNoMaps:', product.batchNoMaps[row.warehouseInfoId]);
- // 濡傛灉褰撳墠鏈変粨搴揑D锛岃В鏋愯浠撳簱鐨勬壒鍙峰簱瀛�
- if (row.warehouseInfoId && product.batchNoMaps[row.warehouseInfoId]) {
- const batchArray = product.batchNoMaps[row.warehouseInfoId];
+ // 濡傛灉褰撳墠鏈変粨搴揑D锛岃В鏋愯浠撳簱鐨勬壒鍙峰簱瀛橈紙澶勭悊绫诲瀷涓嶅尮閰嶉棶棰橈級
+ let batchArray = null;
+ if (row.warehouseInfoId) {
+ // 灏濊瘯澶氱鏂瑰紡鑾峰彇鎵瑰彿鏁版嵁
+ batchArray = product.batchNoMaps[row.warehouseInfoId] ||
+ product.batchNoMaps[String(row.warehouseInfoId)] ||
+ product.batchNoMaps[Number(row.warehouseInfoId)];
+ }
+ if (batchArray) {
console.log('batchArray:', batchArray);
const batchMap = {};
const batches = [];
@@ -537,48 +541,73 @@
batches.push(batchNo);
batchMap[batchNo] = stock;
});
- batchNoList.value = batches;
- batchNoStockMap.value = batchMap;
+ loadedBatchNoList = batches;
+ loadedBatchNoStockMap = batchMap;
console.log('batchMap:', batchMap);
console.log('褰撳墠鎵瑰彿:', row.batchNo);
// 璁剧疆褰撳墠鎵瑰彿鐨勫簱瀛�
if (row.batchNo && batchMap[row.batchNo] !== undefined) {
- formState.value.maxStock = batchMap[row.batchNo];
- console.log('璁剧疆maxStock涓�:', formState.value.maxStock);
+ loadedMaxStock = batchMap[row.batchNo];
+ console.log('璁剧疆maxStock涓�:', loadedMaxStock);
} else {
console.log('鏈壘鍒板綋鍓嶆壒鍙风殑搴撳瓨');
- formState.value.maxStock = 0;
+ loadedMaxStock = 0;
}
} else {
console.log('鏈壘鍒板綋鍓嶄粨搴撶殑batchNoMaps');
- batchNoList.value = row.batchNo ? [row.batchNo] : [];
- batchNoStockMap.value = {};
- formState.value.maxStock = 0;
+ loadedBatchNoList = row.batchNo ? [row.batchNo] : [];
+ loadedBatchNoStockMap = {};
+ loadedMaxStock = 0;
}
} else {
console.log('浜у搧娌℃湁batchNoMaps');
- batchNoList.value = row.batchNo ? [row.batchNo] : [];
- batchNoStockMap.value = {};
- formState.value.maxStock = 0;
+ loadedBatchNoList = row.batchNo ? [row.batchNo] : [];
+ loadedBatchNoStockMap = {};
+ loadedMaxStock = 0;
}
} else {
console.log('鎺ュ彛杩斿洖鏁版嵁寮傚父:', res);
- batchNoList.value = row.batchNo ? [row.batchNo] : [];
- batchNoStockMap.value = {};
- formState.value.maxStock = 0;
+ loadedBatchNoList = row.batchNo ? [row.batchNo] : [];
+ loadedBatchNoStockMap = {};
+ loadedMaxStock = 0;
}
} catch (error) {
console.error('鏌ヨ浜у搧搴撳瓨澶辫触', error);
- batchNoList.value = row.batchNo ? [row.batchNo] : [];
- batchNoStockMap.value = {};
- formState.value.maxStock = 0;
+ loadedBatchNoList = row.batchNo ? [row.batchNo] : [];
+ loadedBatchNoStockMap = {};
+ loadedMaxStock = 0;
}
} else {
console.log('娌℃湁productModelId');
- batchNoList.value = row.batchNo ? [row.batchNo] : [];
- batchNoStockMap.value = {};
- formState.value.maxStock = 0;
+ loadedBatchNoList = row.batchNo ? [row.batchNo] : [];
+ loadedBatchNoStockMap = {};
+ loadedMaxStock = 0;
}
+
+ // 鎵�鏈夋暟鎹姞杞藉畬鎴愬悗锛屼竴娆℃�ц祴鍊�
+ warehouseList.value = loadedWarehouseList;
+ batchNoList.value = loadedBatchNoList;
+ batchNoStockMap.value = loadedBatchNoStockMap;
+ rawBatchNoMaps.value = loadedRawBatchNoMaps;
+
+ // 鏈�鍚庤祴鍊� formState锛岀‘淇濅粨搴撳垪琛ㄥ凡缁忓噯澶囧ソ
+ // 娉ㄦ剰锛氬皢 warehouseInfoId 杞崲涓哄瓧绗︿覆锛岀‘淇濅笌 warehouseList 涓殑 id 绫诲瀷鍖归厤
+ formState.value = {
+ id: row.id,
+ productId: row.productId,
+ productModelId: row.productModelId,
+ productName: row.productName,
+ productModelName: row.model,
+ unit: row.unit,
+ type: props.type === '0' ? 'qualified' : 'unqualified',
+ qualitity: row.stockOutNum,
+ batchNo: row.batchNo,
+ warehouseInfoId: row.warehouseInfoId != null ? String(row.warehouseInfoId) : null,
+ recordType: row.recordType,
+ remark: row.remark || "",
+ maxStock: loadedMaxStock,
+ };
+
// 鎵�鏈夋暟鎹姞杞藉畬鎴愬悗鍐嶆樉绀哄脊绐�
dialogVisible.value = true;
};
--
Gitblit v1.9.3