From 47287a45d24b745a90292801347e692bd1cb4935 Mon Sep 17 00:00:00 2001 From: shunli Date: Mon, 25 May 2026 20:23:40 +0800 Subject: [PATCH] =?UTF-8?q?OAFRONT6=20=E8=A1=A5=E9=BD=90=E6=AC=A1=E7=BA=A7?= =?UTF-8?q?=E9=95=BF=E7=BC=96=E5=8F=B7=E5=8E=8B=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/lib/displayFormat.ts | 7 ++++--- client/src/pages/AssetRegistryPage.tsx | 10 ++++++---- .../pages/invoice-pool/InvoiceDetailPanel.tsx | 13 +++++++++++-- .../pages/invoice-pool/InvoiceListCard.tsx | 19 ++++++++++++++++--- 4 files changed, 37 insertions(+), 12 deletions(-) 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) : "待识别"}