From 41ce02512a5daaf45ab7a5ea3c033024ca88c1fb Mon Sep 17 00:00:00 2001 From: xianyi Date: Wed, 28 Jan 2026 13:56:09 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/types.ts | 4 ++++ src/components/exam/ExamAddonPanel.tsx | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/api/types.ts b/src/api/types.ts index 00e6dd1..a4e1203 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -1449,6 +1449,8 @@ export interface InputCustomSettlementApply { final_settlement_price?: number; /** 申请理由 */ apply_reason?: string; + /** 申请人 */ + apply_user: string; } /** @@ -1472,6 +1474,8 @@ export interface InputCustomSettlementApplyCancel { physical_exam_id: number; /** 体检加项组合ID(多个逗号分隔,例如:123,456) */ add_item_id: string; + /** 申请人 */ + cancel_user: string; } /** diff --git a/src/components/exam/ExamAddonPanel.tsx b/src/components/exam/ExamAddonPanel.tsx index 527bd00..5dada20 100644 --- a/src/components/exam/ExamAddonPanel.tsx +++ b/src/components/exam/ExamAddonPanel.tsx @@ -620,6 +620,12 @@ export const ExamAddonPanel = ({ client, onGoToSign }: ExamAddonPanelProps) => { ? original_settlement_price * (discountRatioValue / 100) : customFinalPrice; + + const apply_user = localStorage.getItem('operatorName'); + if (!apply_user) { + setPaymentMessage('请先登录'); + return; + } const res = await customSettlementApply({ physical_exam_id, listAddItemDetail, @@ -628,6 +634,7 @@ export const ExamAddonPanel = ({ client, onGoToSign }: ExamAddonPanelProps) => { discount_ratio: customSettlementType === 1 ? discountRatioValue : undefined, final_settlement_price, apply_reason: customApplyReason.trim(), + apply_user, }); if (res.Status === 200) { @@ -684,9 +691,16 @@ export const ExamAddonPanel = ({ client, onGoToSign }: ExamAddonPanelProps) => { return; } + const cancel_user = localStorage.getItem('operatorName'); + if (!cancel_user) { + setPaymentMessage('请先登录'); + return; + } + const res = await customSettlementApplyCancel({ physical_exam_id, add_item_id, + cancel_user, }); if (res.Status === 200 && res.Data?.is_success === 1) {