fix: enforce strict SKU ascending sort and display both serial and batch numbers

This commit is contained in:
DXC
2026-03-19 11:31:51 +08:00
parent 0bc0908b9b
commit 9d972f1120

View File

@ -233,9 +233,9 @@
<el-table-column prop="name" label="名称" min-width="90" show-overflow-tooltip />
<el-table-column prop="sku" label="SKU" width="110" show-overflow-tooltip />
<el-table-column label="序列号/批次" min-width="140" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.serial_number || scope.row.batch_no || '-' }}
<el-table-column label="序列号/批次" min-width="150" show-overflow-tooltip>
<template #default="{ row }">
<span>{{ row.serial_number || row.batch_number || row.batch_no || '-' }}</span>
</template>
</el-table-column>
@ -503,7 +503,14 @@ const syncData = async () => {
if (res.materials) res.materials.forEach((i: any) => { const item = processItem(i, 'material'); if (item) list.push(item) })
if (res.semis) res.semis.forEach((i: any) => { const item = processItem(i, 'semi'); if (item) list.push(item) })
if (res.products) res.products.forEach((i: any) => { const item = processItem(i, 'product'); if (item) list.push(item) })
// ★ 强制按 SKU 数字+字符串升序排序
list.sort((a, b) => {
const skuA = a.sku || '';
const skuB = b.sku || '';
return skuA.localeCompare(skuB, undefined, { numeric: true, sensitivity: 'base' });
});
// 静默更新数据不触发loading
allData.value = list
await fetchBorrowedQuantities(list)
@ -759,6 +766,13 @@ const loadData = async () => {
if (res.semis) res.semis.forEach((i: any) => processItem(i, 'semi'))
if (res.products) res.products.forEach((i: any) => processItem(i, 'product'))
// ★ 强制按 SKU 数字+字符串升序排序
list.sort((a, b) => {
const skuA = a.sku || '';
const skuB = b.sku || '';
return skuA.localeCompare(skuB, undefined, { numeric: true, sensitivity: 'base' });
});
allData.value = list
await fetchBorrowedQuantities(list)
} catch (e) {