添加体检客户列表 耗时计算&渠道显示

This commit is contained in:
xianyi
2025-12-22 10:24:17 +08:00
parent 4bfb09b7d9
commit 11ac18fade
3 changed files with 40 additions and 208 deletions

View File

@@ -110,6 +110,29 @@ export const ExamPage = () => {
const customerType: ExamClient['customerType'] = item.customer_type === 1 ? '团客' : '散客';
const vipType: ExamClient['vipType'] = item.is_vip === 1 ? '高客' : '普客';
let elapsed = '00:00';
// 计算耗时:体检完成时间 - 体检时间
if (item.physical_exam_time && item.physical_exam_complete_time) {
try {
const startTime = new Date(item.physical_exam_time).getTime();
const completeTime = new Date(item.physical_exam_complete_time).getTime();
// 检查时间是否有效
if (!isNaN(startTime) && !isNaN(completeTime) && completeTime >= startTime) {
const diffMs = completeTime - startTime;
const diffMinutes = Math.floor(diffMs / 1000 / 60);
const hours = Math.floor(diffMinutes / 60);
const minutes = diffMinutes % 60;
elapsed = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;
}
} catch (err) {
console.error('计算体检耗时失败', err, {
physical_exam_time: item.physical_exam_time,
physical_exam_complete_time: item.physical_exam_complete_time,
});
}
}
// 粗略判断上午/下午
const timeSlot: ExamClient['timeSlot'] =
(item.physical_exam_time || '').includes('下午') ? '下午' : '上午';
@@ -122,13 +145,15 @@ export const ExamPage = () => {
level: item.member_level || (item.is_vip === 1 ? 'VIP' : '普通'),
packageName: item.package_name || '未提供套餐',
status,
elapsed: '',
elapsed,
checkedItems: [],
pendingItems: [],
timeSlot,
channel: item.channel || '',
vipType,
signStatus,
customerType,
familyDoctorName: item.family_doctor_name || '',
guidePrinted: item.is_print === 1,
addonCount: item.add_item_count ?? 0,
};