fix off product sku for keep fulfillment

This commit is contained in:
Timi
2026-09-12 01:24:48 +08:00
parent 569848b97e
commit 10a77a9d1b
3 changed files with 49 additions and 13 deletions
+9 -1
View File
@@ -418,11 +418,19 @@ function closeBatchUnitEditor(): void {
function applyBatchUnitTemplate(): void {
const templateList = batchUnitList.value;
for (const sku of form.skuList) {
const templateNameSet = new Set(templateList.map(unit => unit.name.trim()));
if (sku.unitList.some(unit => !!unit.id && !templateNameSet.has(unit.name.trim()))) {
Message.warning("统一配置不能删除或重命名已保存单位,请在 SKU 明细中停售");
return;
}
}
form.skuList.forEach(sku => {
const oldUnitList = sku.unitList;
const oldUnitMap = new Map(oldUnitList.filter(unit => !!unit.id).map(unit => [unit.name.trim(), unit]));
sku.unitList = templateList.map((unit, unitIndex) => ({
...unit,
id: oldUnitList[unitIndex]?.id,
id: oldUnitMap.get(unit.name.trim())?.id,
skuId: sku.id,
clientKey: window.crypto.randomUUID(),
sort: unitIndex