更新报告寄送位置

This commit is contained in:
xianyi
2025-12-08 09:26:40 +08:00
parent a5fa94145e
commit 5f81667c60
5 changed files with 75 additions and 42 deletions

View File

@@ -16,17 +16,20 @@ export const ExamModal = ({ client, tab, onTabChange, onClose }: ExamModalProps)
{ key: 'sign', label: '签到' },
{ key: 'addon', label: '加项' },
{ key: 'print', label: '打印导检单' },
{ key: 'delivery', label: '报告寄送' },
];
const signDone = client.signStatus === '已登记' || client.checkedItems.includes('签到');
const addonDone = (client.addonCount || 0) > 0;
const printDone = !!client.guidePrinted;
const deliveryDone = !!client.deliveryDone;
const tabDone: Record<ExamModalTab, boolean> = {
detail: false,
sign: signDone,
addon: addonDone,
print: printDone,
delivery: deliveryDone,
};
const handleDoubleClick = (e: React.MouseEvent) => {
@@ -122,6 +125,7 @@ export const ExamModal = ({ client, tab, onTabChange, onClose }: ExamModalProps)
{tab === 'sign' && <ExamSignPanel />}
{tab === 'addon' && <ExamAddonPanel client={client} />}
{tab === 'print' && <ExamPrintPanel client={client} />}
{tab === 'delivery' && <ExamDeliveryPanel client={client} />}
</div>
</div>
@@ -519,6 +523,41 @@ const ExamDetailInfo = ({ client }: { client: ExamClient }) => {
);
};
const ExamDeliveryPanel = ({ client }: { client: ExamClient }) => (
<div className='flex justify-center'>
<div className='w-full rounded-2xl border shadow-sm px-6 py-4 text-xs text-gray-800'>
<div className='text-lg font-semibold text-gray-900 mb-3'></div>
<div className='grid grid-cols-2 gap-3 mb-3'>
<div>
<Input placeholder='请输入收件人姓名' className='mt-1' />
</div>
<div>
<Input placeholder='用于快递联系' className='mt-1' />
</div>
<div className='col-span-2'>
<Input placeholder='请输入详细寄送地址' className='mt-1' />
</div>
</div>
<div className='space-y-2'>
<div></div>
<textarea
className='w-full rounded-2xl border px-3 py-2 text-xs outline-none focus:ring-2 focus:ring-gray-200 min-h-[80px]'
placeholder='如需多份报告、加急寄送等,请在此备注'
/>
</div>
<div className='mt-4 flex items-center justify-between text-[11px] text-gray-500'>
<div>
<span className='font-medium text-gray-800'>{client.name}</span>{client.id}
</div>
<Button className='px-4 py-1.5 text-xs'></Button>
</div>
</div>
</div>
);
const ExamPrintPanel = ({ client }: { client: ExamClient }) => (
<div className='flex justify-center'>
<div className='w-[520px] max-w-[95%] bg-white rounded-2xl border shadow-sm px-6 py-4 text-xs text-gray-800'>

View File

@@ -118,6 +118,17 @@ export const ExamSection = ({
<span></span>
{printDone && <span></span>}
</button>
<button
type='button'
className='px-2 py-0.5 rounded-2xl border bg-white hover:bg-gray-100 flex items-center gap-1'
onClick={(e) => {
e.stopPropagation();
openModal('delivery');
}}
>
<span></span>
</button>
</div>
</button>
);