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
@@ -28,7 +28,15 @@
<div v-for="(unit, unitIndex) in sku.unitList" :key="unit.clientKey" class="unit-card">
<div class="unit-card-header">
<strong v-text="`单位 ${unitIndex + 1}`" />
<t-button v-if="1 < sku.unitList.length" theme="danger" variant="text" size="extra-small" content="删除" @click="removeUnit(unitIndex)" />
<t-button
v-if="1 < sku.unitList.length"
theme="danger"
variant="text"
size="extra-small"
:content="unit.id ? '停售' : '删除'"
:disabled="!!unit.id && unit.allowSale === false && unit.allowPurchase === false"
@click="removeUnit(unitIndex)"
/>
</div>
<t-form class="unit-form" label-align="left" label-width="6rem">
<t-form-item label="单位名称" required-mark>
@@ -134,6 +142,13 @@ function removeUnit(index: number): void {
Message.warning("每个 SKU 至少需要一个单位");
return;
}
const unit = sku.value.unitList[index];
if (unit?.id) {
unit.allowSale = false;
unit.allowPurchase = false;
Message.success("单位已停售并禁止采购,历史订单仍可履约");
return;
}
const wasBase = sku.value.unitList[index]?.isBase;
sku.value.unitList.splice(index, 1);
if (wasBase && sku.value.unitList[0]) {