OAFRONT4 清理票据中心PC展示
这个提交包含在:
@@ -5,6 +5,7 @@ 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 { formatDisplayDate } from "../../lib/displayFormat";
|
||||
import { formatInvoiceOcrErrorMessage } from "../../lib/invoiceOcr";
|
||||
|
||||
export type InvoiceListCardProps = {
|
||||
@@ -22,8 +23,13 @@ export type InvoiceListCardProps = {
|
||||
};
|
||||
|
||||
function invoiceDisplayName(item: InvoicePoolListResponse["items"][number]) {
|
||||
const invoiceNo = [item.invoiceCode, item.invoiceNumber].filter(Boolean).join("-");
|
||||
return item.originalName || invoiceNo || "待识别票据";
|
||||
if (item.originalName) return item.originalName;
|
||||
if (item.invoiceCode || item.invoiceNumber) return "已识别票据";
|
||||
return "待识别票据";
|
||||
}
|
||||
|
||||
function invoiceNumberDisplay(item: InvoicePoolListResponse["items"][number]) {
|
||||
return [item.invoiceCode, item.invoiceNumber].filter(Boolean).join("-") || "-";
|
||||
}
|
||||
|
||||
export function InvoiceListCard({
|
||||
@@ -85,7 +91,7 @@ export function InvoiceListCard({
|
||||
<div className="flex items-start justify-between gap-3">
|
||||
<div className="min-w-0">
|
||||
<div className="truncate text-sm font-semibold text-zinc-900">{invoiceDisplayName(item)}</div>
|
||||
<div className="mt-1 text-xs text-zinc-500">{item.invoiceDate || "待识别"}</div>
|
||||
<div className="mt-1 text-xs text-zinc-500">{item.invoiceDate ? formatDisplayDate(item.invoiceDate) : "待识别"}</div>
|
||||
</div>
|
||||
<StatusBadge className="shrink-0" status={item.status} />
|
||||
</div>
|
||||
@@ -94,7 +100,7 @@ export function InvoiceListCard({
|
||||
<div>
|
||||
<div className="text-xs text-zinc-500">发票号码</div>
|
||||
<div className="truncate font-medium text-zinc-900">
|
||||
{item.invoiceCode || "-"}-{item.invoiceNumber || "-"}
|
||||
{invoiceNumberDisplay(item)}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
@@ -159,11 +165,11 @@ export function InvoiceListCard({
|
||||
<tr className="table-row" data-testid="invoice-row" key={item.id}>
|
||||
<td className="table-td">
|
||||
<div className="max-w-[260px] truncate font-medium text-zinc-900">{invoiceDisplayName(item)}</div>
|
||||
<div className="mt-1 text-xs text-zinc-500">{item.invoiceDate || "待识别"}</div>
|
||||
<div className="mt-1 text-xs text-zinc-500">{item.invoiceDate ? formatDisplayDate(item.invoiceDate) : "待识别"}</div>
|
||||
</td>
|
||||
<td className="table-td"><StatusBadge status={item.status} /></td>
|
||||
<td className="table-td font-medium text-zinc-900">
|
||||
{item.invoiceCode || "-"}-{item.invoiceNumber || "-"}
|
||||
{invoiceNumberDisplay(item)}
|
||||
</td>
|
||||
<td className="table-td">
|
||||
{item.status === "pending_ocr" ? (
|
||||
|
||||
在新工单中引用
屏蔽一个用户