fix order/fulfillment unit

This commit is contained in:
Timi
2026-09-09 14:23:35 +08:00
parent e154fd6186
commit ce4a45fb65
6 changed files with 99 additions and 23 deletions
+19 -1
View File
@@ -310,13 +310,31 @@ function getRemainingAmountClass(amount?: number | null): "green" | "red" | "gra
return amount === 0 ? "green" : "red";
}
function getItemUnitName(item: GaoSalesOrderItem): string {
return item.unitSnapshot || "单位";
}
function getBaseUnitName(item: GaoSalesOrderItem): string {
return item.baseUnitName || "基础单位";
}
function shouldDisplayBaseQuantity(item: GaoSalesOrderItem, baseQuantity?: number | string): boolean {
const isBaseUnit = Number(item.baseQuantityPerUnitSnapshot ?? 1) === 1;
return item.allowDecimalQuantity === false
&& !isBaseUnit
&& baseQuantity !== undefined
&& Number(baseQuantity) < Number(item.baseQuantityPerUnitSnapshot ?? 1);
}
function getItemQuantityText(item: GaoSalesOrderItem, baseQuantity?: number | string): string {
const quantity = convertPackageQuantity(
String(baseQuantity ?? "0"),
"1",
item.baseQuantityPerUnitSnapshot ?? "1"
);
return getPackageQuantityText(quantity ?? baseQuantity);
const useBaseUnit = shouldDisplayBaseQuantity(item, baseQuantity);
const displayQuantity = useBaseUnit ? getPackageQuantityText(baseQuantity) : getPackageQuantityText(quantity ?? baseQuantity);
return `${displayQuantity} ${useBaseUnit ? getBaseUnitName(item) : getItemUnitName(item)}`;
}
function getAvailableQuantityClass(item: GaoSalesOrderItem): "green" | "orange" {