diff --git a/client/src/lib/displayFormat.ts b/client/src/lib/displayFormat.ts index 7018b15e..6a54aeaa 100644 --- a/client/src/lib/displayFormat.ts +++ b/client/src/lib/displayFormat.ts @@ -58,7 +58,8 @@ export function formatTextWithCompactLongNumbers(value: string | number | null | const text = String(value ?? "").trim(); if (!text) return "-"; - return text.replace(/\b20[0-9]{12,}\b/g, (match) => - formatCompactIdentifier(match, { head: 10, tail: 4, minLength: 14 }), - ); + return text.replace(/\b20[0-9]{12,}\b/g, (match) => { + if (match.length <= 12) return match; + return `${match.slice(0, 8)}…${match.slice(-4)}`; + }); } diff --git a/client/src/pages/AssetRegistryPage.tsx b/client/src/pages/AssetRegistryPage.tsx index 20559125..5436840f 100644 --- a/client/src/pages/AssetRegistryPage.tsx +++ b/client/src/pages/AssetRegistryPage.tsx @@ -955,7 +955,7 @@ export function AssetRegistryPage() { {(legalEntitiesQuery.data?.items ?? []).map((item) => ( ))} @@ -1173,7 +1173,7 @@ export function AssetRegistryPage() { {(categoriesQuery.data?.items ?? []).filter((item) => item.enabled).map((item) => ( ))} @@ -1215,7 +1215,7 @@ export function AssetRegistryPage() { {purchaseOptions.map((item) => ( ))} @@ -1490,7 +1490,9 @@ export function AssetRegistryPage() { ) : null} {currentAsset?.purchaseRequest ? ( - 采购来源:{currentAsset.purchaseRequest.requestNo ?? currentAsset.purchaseRequest.id} + + 采购来源:{formatTextWithCompactLongNumbers(currentAsset.purchaseRequest.requestNo ?? currentAsset.purchaseRequest.id)} + ) : null} diff --git a/client/src/pages/invoice-pool/InvoiceDetailPanel.tsx b/client/src/pages/invoice-pool/InvoiceDetailPanel.tsx index e7b6732a..d383c13c 100644 --- a/client/src/pages/invoice-pool/InvoiceDetailPanel.tsx +++ b/client/src/pages/invoice-pool/InvoiceDetailPanel.tsx @@ -7,7 +7,13 @@ import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, D import { Input } from "../../components/ui/input"; import { Textarea } from "../../components/ui/textarea"; import { DateTextInput } from "../../components/common/DateTextInput"; -import { formatCompactIdentifier, formatDisplayDate, formatDisplayDateTime, isCompactedIdentifier } from "../../lib/displayFormat"; +import { + formatCompactIdentifier, + formatDisplayDate, + formatDisplayDateTime, + formatTextWithCompactLongNumbers, + isCompactedIdentifier, +} from "../../lib/displayFormat"; import { formatInvoiceOcrErrorMessage } from "../../lib/invoiceOcr"; import { toast } from "sonner"; @@ -210,7 +216,10 @@ export function InvoiceDetailPanel({ {detail.totalAmount ? new Intl.NumberFormat("zh-CN", { style: "currency", currency: "CNY" }).format(Number(detail.totalAmount)) : "-"}
开票日期:{formatDisplayDate(detail.invoiceDate)}
-
文件名:{detail.originalName || "-"}
+
+ 文件名: + {formatTextWithCompactLongNumbers(detail.originalName || "-")} +
财务核验: diff --git a/client/src/pages/invoice-pool/InvoiceListCard.tsx b/client/src/pages/invoice-pool/InvoiceListCard.tsx index 5f35a308..c8d6fba6 100644 --- a/client/src/pages/invoice-pool/InvoiceListCard.tsx +++ b/client/src/pages/invoice-pool/InvoiceListCard.tsx @@ -5,7 +5,12 @@ import { TableSkeleton } from "../../components/common/TableSkeleton"; import { Pagination } from "../../components/common/Pagination"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../../components/ui/dropdown-menu"; import { Button } from "../../components/ui/button"; -import { formatCompactIdentifier, formatDisplayDate, isCompactedIdentifier } from "../../lib/displayFormat"; +import { + formatCompactIdentifier, + formatDisplayDate, + formatTextWithCompactLongNumbers, + isCompactedIdentifier, +} from "../../lib/displayFormat"; import { formatInvoiceOcrErrorMessage } from "../../lib/invoiceOcr"; import { toast } from "sonner"; @@ -29,6 +34,10 @@ function invoiceDisplayName(item: InvoicePoolListResponse["items"][number]) { return "待识别票据"; } +function compactInvoiceDisplayName(item: InvoicePoolListResponse["items"][number]) { + return formatTextWithCompactLongNumbers(invoiceDisplayName(item)); +} + function invoiceNumberDisplay(item: InvoicePoolListResponse["items"][number]) { return [item.invoiceCode, item.invoiceNumber].filter(Boolean).join("-") || "-"; } @@ -126,7 +135,9 @@ export function InvoiceListCard({
-
{invoiceDisplayName(item)}
+
+ {compactInvoiceDisplayName(item)} +
{item.invoiceDate ? formatDisplayDate(item.invoiceDate) : "待识别"}
@@ -200,7 +211,9 @@ export function InvoiceListCard({ listQuery.data?.items.map((item) => ( -
{invoiceDisplayName(item)}
+
+ {compactInvoiceDisplayName(item)} +
{item.invoiceDate ? formatDisplayDate(item.invoiceDate) : "待识别"}