feat(P17A-3,P17A-4): 实现采购申请接口附件与前端入口

这个提交包含在:
2026-03-07 20:59:42 +08:00
父节点 1cd4290b4d
当前提交 7f1c3e842d
共修改 12 个文件,包含 3100 行新增和 9 行删除
+15 -2
查看文件
@@ -26,6 +26,9 @@ function entityLabel(entityType: string | undefined) {
if (entityType === "reimbursement") {
return "报销";
}
if (entityType === "purchase_request") {
return "采购";
}
return entityType || "未知";
}
@@ -107,7 +110,9 @@ export function MobileApprovalsPage() {
const pendingTasks = tasksQuery.data?.items ?? [];
const selectedTask = detailQuery.data;
const isLeaveTask = selectedTask?.workflowInstance?.entityType === "leave";
const canTransfer =
selectedTask?.workflowInstance?.entityType === "reimbursement" &&
selectedTask.allowedActions.includes("transfer");
return (
<div className="space-y-4">
@@ -176,6 +181,14 @@ export function MobileApprovalsPage() {
<div>请假天数:{selectedTask.leaveRequest.requestedDays}</div>
</>
) : null}
{selectedTask.purchaseRequest ? (
<>
<div>采购单号:{selectedTask.purchaseRequest.requestNo ?? selectedTask.purchaseRequest.id}</div>
<div>申请人:{selectedTask.purchaseRequest.applicant?.name ?? "-"}</div>
<div>供应商:{selectedTask.purchaseRequest.supplier?.name ?? "-"}</div>
<div>金额:{selectedTask.purchaseRequest.totalAmount ?? "-"}</div>
</>
) : null}
</div>
<Textarea
@@ -215,7 +228,7 @@ export function MobileApprovalsPage() {
</Button>
</div>
{!isLeaveTask && selectedTask.allowedActions.includes("transfer") ? (
{canTransfer ? (
<div className="space-y-2 rounded-lg border border-zinc-200 p-3 text-sm">
<p className="font-medium text-zinc-800">转审</p>
<select