fix product/sku name

This commit is contained in:
Timi
2026-09-08 14:49:44 +08:00
parent 9fa6527f96
commit cbc8197057
12 changed files with 40 additions and 17 deletions
@@ -40,8 +40,9 @@
:content="item.skuCodeSnapshot"
/>
<product-sku-snapshot-tags
:product-name="item.productNameSnapshot"
:snapshot="item.skuSpecSnapshot"
:fallback="item.skuNameSnapshot || item.specSummarySnapshot"
:fallback="item.specSummarySnapshot || item.skuNameSnapshot"
:unit="item.unitSnapshot"
/>
</div>
@@ -36,8 +36,9 @@
<template #description>
<div class="item-description">
<product-sku-snapshot-tags
:product-name="item.productNameSnapshot"
:snapshot="item.skuSpecSnapshot"
:fallback="item.skuNameSnapshot || item.specSummarySnapshot || '默认 SKU'"
:fallback="item.specSummarySnapshot || item.skuNameSnapshot || '默认 SKU'"
:unit="item.unitSnapshot"
/>
<span v-text="`履约数量 ${item.quantity || 0}`" />
@@ -39,8 +39,9 @@
<span v-text="`× ${getPackageQuantityText(item.quantity)}`" />
</div>
<product-sku-snapshot-tags
:product-name="item.productNameSnapshot"
:snapshot="item.skuSpecSnapshot"
:fallback="item.skuNameSnapshot || item.specSummarySnapshot || '默认 SKU'"
:fallback="item.specSummarySnapshot || item.skuNameSnapshot || '默认 SKU'"
:unit="item.unitSnapshot"
/>
</div>
+2 -2
View File
@@ -89,7 +89,7 @@ import { getErrorMessage } from "@/utils/error";
import { formatPackageAmount, getPackageConfigStatusText } from "@/utils/package";
import { Message } from "@/utils/message";
import { gaoRoleCodes, permissionCodes } from "@/utils/permission";
import { getProductPhotoURL as getProductPhotoUrl } from "@/utils/product";
import { getProductPhotoURL as getProductPhotoUrl, getProductSkuSnapshotText } from "@/utils/product";
defineOptions({ name: "PackageConfigDetail" });
@@ -117,7 +117,7 @@ function getItemPhotoURL(item: PackageConfigItem): string {
}
function getItemTitle(item: PackageConfigItem): string {
const skuText = item.skuNameSnapshot || item.specSummarySnapshot;
const skuText = getProductSkuSnapshotText(item.productNameSnapshot, item.skuNameSnapshot, item.specSummarySnapshot);
return `${item.productNameSnapshot || "未命名产品"}${skuText ? ` · ${skuText}` : ""}`;
}
+3 -2
View File
@@ -46,7 +46,7 @@
<div class="products">
<t-tag
v-for="productItem in item.itemList || []"
:key="productItem.id || `${productItem.skuId}-${productItem.skuUnitId}`"
:key="productItem.id || `${productItem.skuId}-${productItem.skuUnitId}`"
:content="getProductRightText(productItem)"
theme="primary"
variant="light"
@@ -93,6 +93,7 @@ import { getErrorMessage } from "@/utils/error";
import { formatPackageAmount, getPackageConfigStatusText, getPackageQuantityText } from "@/utils/package";
import { Message } from "@/utils/message";
import { permissionCodes } from "@/utils/permission";
import { getProductSkuSnapshotText } from "@/utils/product";
defineOptions({ name: "PackageConfigList" });
@@ -193,7 +194,7 @@ function getStatusTheme(statusValue?: PackageConfigStatus): "success" | "warning
function getProductRightText(item: PackageConfigItem): string {
const quantity = getPackageQuantityText(item.defaultQuantity);
const skuText = item.skuNameSnapshot || item.specSummarySnapshot;
const skuText = getProductSkuSnapshotText(item.productNameSnapshot, item.skuNameSnapshot, item.specSummarySnapshot);
return `${item.productNameSnapshot || "未命名产品"}${skuText ? ` · ${skuText}` : ""} × ${quantity}${item.unitSnapshot ? ` ${item.unitSnapshot}` : ""}`;
}
+7 -2
View File
@@ -237,7 +237,7 @@ import { formatPackageAmount } from "@/utils/package";
import { Message } from "@/utils/message";
import { permissionCodes } from "@/utils/permission";
import { uploadPhotoList } from "@/utils/photo";
import { getProductPhotoURL } from "@/utils/product";
import { getProductPhotoURL, getProductSkuSnapshotText } from "@/utils/product";
defineOptions({
name: "PackagePurchase"
@@ -407,7 +407,12 @@ const {
function getItemLabel(item: PackagePurchaseItem): string {
const configItem = config.value?.itemList?.find(configItem => configItem.skuId === item.skuId && configItem.skuUnitId === item.skuUnitId);
return configItem ? `${configItem.productNameSnapshot || "未命名产品"} · ${configItem.skuNameSnapshot || configItem.specSummarySnapshot || "默认 SKU"}` : "产品权益";
if (!configItem) {
return "产品权益";
}
const productName = configItem.productNameSnapshot || "未命名产品";
const skuText = getProductSkuSnapshotText(productName, configItem.skuNameSnapshot, configItem.specSummarySnapshot);
return skuText ? `${productName} · ${skuText}` : productName;
}
function getItemName(item: PackagePurchaseItem): string {
@@ -7,8 +7,9 @@
<h2 v-text="record.productNameSnapshot || '未命名产品'" />
<product-sku-snapshot-tags
class="sku"
:product-name="record.productNameSnapshot"
:snapshot="record.skuSpecSnapshot"
:fallback="record.skuNameSnapshot || record.specSummarySnapshot || '默认 SKU'"
:fallback="record.specSummarySnapshot || record.skuNameSnapshot || '默认 SKU'"
:unit="record.unitSnapshot"
/>
<div class="meta">
+2 -1
View File
@@ -56,8 +56,9 @@
<div class="description">
<strong v-text="record.productNameSnapshot || '未命名产品'" />
<product-sku-snapshot-tags
:product-name="record.productNameSnapshot"
:snapshot="record.skuSpecSnapshot"
:fallback="record.skuNameSnapshot || record.specSummarySnapshot || '默认 SKU'"
:fallback="record.specSummarySnapshot || record.skuNameSnapshot || '默认 SKU'"
:unit="record.unitSnapshot"
/>
<pass-time-label :timestamp="record.occurredAt" underline />
+2 -1
View File
@@ -118,8 +118,9 @@
:content="item.skuCodeSnapshot"
/>
<product-sku-snapshot-tags
:product-name="item.productNameSnapshot"
:snapshot="item.skuSpecSnapshot"
:fallback="item.skuNameSnapshot || item.specSummarySnapshot"
:fallback="item.specSummarySnapshot || item.skuNameSnapshot"
:unit="item.unitSnapshot"
/>
</div>
@@ -92,6 +92,7 @@ import type { GaoSalesPaymentStatus, SalesOrder } from "@/types/SalesOrder";
import { getCustomerPhotoURL } from "@/utils/customer";
import { formatPackageAmount, getPackageQuantityText } from "@/utils/package";
import { getSalesOrderStatusText, getSalesOrderTypeText, getSalesPaymentStatusText, getStatusTheme } from "@/utils/salesOrder";
import { getProductSkuSnapshotText } from "@/utils/product";
defineOptions({ name: "SalesOrderListCell" });
@@ -143,7 +144,7 @@ function sumProductQuantity(field: "quantity" | "fulfilledQuantity"): string {
}
function getProductText(item: NonNullable<SalesOrder["itemList"]>[number]): string {
const skuText = item.skuNameSnapshot || item.specSummarySnapshot;
const skuText = getProductSkuSnapshotText(item.productNameSnapshot, item.skuNameSnapshot, item.specSummarySnapshot);
return `${item.productNameSnapshot || "未命名产品"}${skuText ? ` · ${skuText}` : ""}${item.unitSnapshot ? ` / ${item.unitSnapshot}` : ""}`;
}
</script>