R56 A1-A6:费用标准管控
这个提交包含在:
@@ -19,6 +19,22 @@ export type RiskFlag = {
|
||||
|
||||
export type PrecheckDecision = "pass" | "warn" | "manual_review" | "block";
|
||||
|
||||
export type ExpenseStandardCheck = {
|
||||
itemId: string;
|
||||
expenseTypeId: string;
|
||||
expenseTypeName: string;
|
||||
amount: string;
|
||||
standardId: string;
|
||||
standardName: string;
|
||||
maxAmount: string;
|
||||
perUnit: "item" | "day" | "trip";
|
||||
controlMode: "warn" | "block";
|
||||
scopeType: "global" | "department";
|
||||
scopeKey: string | null;
|
||||
exceeded: boolean;
|
||||
exceededAmount: string;
|
||||
};
|
||||
|
||||
export type PrecheckResponse = {
|
||||
entityType: "reimbursement" | "purchase_request" | "travel_request";
|
||||
entityId: string;
|
||||
@@ -29,6 +45,7 @@ export type PrecheckResponse = {
|
||||
controlMode: "warn" | "block" | "manual_review";
|
||||
} | null;
|
||||
budgetHint: Record<string, unknown> | null;
|
||||
standardChecks: ExpenseStandardCheck[];
|
||||
warnings: Array<{ code: string; title: string; detail: string }>;
|
||||
blockingReasons: Array<{ code: string; title: string; detail: string }>;
|
||||
riskFlags: Array<{ code: string; level: "low" | "medium" | "high"; title: string; detail: string; willOpenOnSubmit: boolean }>;
|
||||
|
||||
在新工单中引用
屏蔽一个用户