import type { LabSampleProcessTabKey } from '@/api/lab-sample-process' export type LabColumn = { prop: string label: string minWidth?: number } export const LAB_PROCESS_TABS: Array<{ key: LabSampleProcessTabKey label: string source: 'cell_storage' | 'research_donation' sampleTypeName: string }> = [ { key: 'cell_hsc', label: '细胞存储·围产期造血', source: 'cell_storage', sampleTypeName: '围产期造血干细胞' }, { key: 'donation_hsc', label: '科研捐赠·围产期造血', source: 'research_donation', sampleTypeName: '围产期造血干细胞' }, { key: 'cell_msc', label: '细胞存储·脐带间充质', source: 'cell_storage', sampleTypeName: '脐带间充质干细胞' }, { key: 'donation_msc', label: '科研捐赠·脐带间充质', source: 'research_donation', sampleTypeName: '脐带间充质干细胞' } ] const CELL_HSC_COLUMNS: LabColumn[] = [ { prop: 'cellCode', label: '细胞编码', minWidth: 140 }, { prop: 'motherName', label: '准妈妈姓名', minWidth: 110 }, { prop: 'collectionTime', label: '采集时间', minWidth: 200 }, { prop: 'hospitalName', label: '采集医院', minWidth: 140 }, { prop: 'receptionTime', label: '接收时间', minWidth: 200 }, { prop: 'receiveTemperature', label: '样品温度到达/℃', minWidth: 130 }, { prop: 'receiveCheckText', label: '收样检查', minWidth: 120 }, { prop: 'hasMaternalBlood', label: '是否有母血', minWidth: 100 }, { prop: 'remeasureMaternalBlood', label: '是否重采母血', minWidth: 110 }, { prop: 'consentForm', label: '知情同意书或协议书', minWidth: 140 }, { prop: 'transportPackingList', label: '脐血运输装箱清单', minWidth: 140 }, { prop: 'cordBloodReceiveConfirm', label: '脐带血接收确认单', minWidth: 140 }, { prop: 'healthSurvey', label: '孕妇健康调查表', minWidth: 120 }, { prop: 'labelClear', label: '标识清晰', minWidth: 100 }, { prop: 'handlerName', label: '接收登记人', minWidth: 110 }, { prop: 'remarkReception', label: '备注', minWidth: 120 }, { prop: 'originalBloodWeightG', label: '原血重量/g', minWidth: 110 }, { prop: 'hesVolumeMl', label: 'HES用量/ml', minWidth: 110 }, { prop: 'bloodType', label: '血型', minWidth: 80 }, { prop: 'infectiousFourTestLabel', label: '传染四项检测(检测卡)', minWidth: 150 }, { prop: 'infectiousFourExternal', label: '传染四项检测(外检)', minWidth: 150 }, { prop: 'preEnrichNucleatedCount', label: '富集前有核细胞数/109/L', minWidth: 170 }, { prop: 'enrichedBloodWeightG', label: '富集后血量/g', minWidth: 120 }, { prop: 'postEnrichNucleatedCount', label: '富集后有核细胞数/109/L', minWidth: 170 }, { prop: 'cryopreservationVolumeMl', label: '冻存液用量/ml', minWidth: 120 }, { prop: 'cd34Count1e4', label: 'CD34+细胞计数/*10E4', minWidth: 160 }, { prop: 'operatorName', label: '操作人', minWidth: 100 }, { prop: 'remarkProcess', label: '备注', minWidth: 120 }, { prop: 'createTime', label: '创建时间', minWidth: 200 } ] const DONATION_HSC_COLUMNS: LabColumn[] = [ { prop: 'cellCode', label: '细胞编码', minWidth: 140 }, { prop: 'motherName', label: '准妈妈姓名', minWidth: 110 }, { prop: 'labMaterialCode', label: '实验室物料编码', minWidth: 130 }, { prop: 'inboundCode', label: '入库编码', minWidth: 140 }, { prop: 'storageStatus', label: '储存状态', minWidth: 100 }, { prop: 'discardReason', label: '废弃原因', minWidth: 120 }, { prop: 'receptionTime', label: '接收时间', minWidth: 200 }, { prop: 'receiveTemperature', label: '样品温度到达/℃', minWidth: 130 }, { prop: 'receiveCheckText', label: '收样检查', minWidth: 120 }, { prop: 'handlerName', label: '接收登记人', minWidth: 110 }, { prop: 'remarkReception', label: '备注', minWidth: 120 }, { prop: 'originalBloodVolumeMl', label: '原血体积/mL', minWidth: 120 }, { prop: 'nucleatedCellCount1e8', label: '有核细胞数/108', minWidth: 130 }, { prop: 'preOpNucleatedCount', label: '操作前有核细胞数/109/L', minWidth: 170 }, { prop: 'infectiousFourTestLabel', label: '传染四项检测(检测卡)', minWidth: 150 }, { prop: 'motherHbsag', label: '乙型肝炎病毒表面抗原(HBsAg)', minWidth: 180 }, { prop: 'motherAntiHcv', label: '丙型肝炎病毒抗体(抗HCV)', minWidth: 170 }, { prop: 'motherAntiTp', label: '梅毒螺旋体特异性抗体(抗TP)', minWidth: 180 }, { prop: 'motherAntiHiv', label: '人类免疫缺陷病毒抗体(抗HIV-1/2)', minWidth: 200 }, { prop: 'motherCmvIgm', label: '巨细胞病毒IgM抗体(CMV-IgM)', minWidth: 180 }, { prop: 'operatorName', label: '操作人', minWidth: 100 }, { prop: 'remarkProcess', label: '备注', minWidth: 120 }, { prop: 'createTime', label: '创建时间', minWidth: 200 } ] const MSC_COLUMNS: LabColumn[] = [ { prop: 'labFlowCode', label: '实验室流转编码', minWidth: 140 }, { prop: 'motherName', label: '母亲姓名', minWidth: 110 }, { prop: 'cordCollectTime', label: '脐带采集时间', minWidth: 200 }, { prop: 'transportTempC', label: '运输温度/℃', minWidth: 110 }, { prop: 'cordReceiveTime', label: '脐带接收时间', minWidth: 200 }, { prop: 'handlerName', label: '接收登记人', minWidth: 110 }, { prop: 'inoculationAmount', label: '接种量', minWidth: 100 }, { prop: 'storageStatus', label: '储存状态', minWidth: 100 }, { prop: 'cryopreservationTime', label: '冻存时间', minWidth: 200 }, { prop: 'storageTotalTubes', label: '储存总量(管)', minWidth: 120 }, { prop: 'availableCellCount1e7', label: '可提供细胞数量/*10E7', minWidth: 160 }, { prop: 'endotoxinTest', label: '内毒素检测', minWidth: 100 }, { prop: 'bacteriaTest', label: '细菌检测', minWidth: 100 }, { prop: 'fungusTest', label: '真菌检测', minWidth: 100 }, { prop: 'mycoplasmaTest', label: '支原体检测', minWidth: 100 }, { prop: 'operatorName', label: '操作人', minWidth: 100 }, { prop: 'motherHbsag', label: '乙型肝炎病毒表面抗原(HBsAg)', minWidth: 180 }, { prop: 'motherHbvDna', label: '乙型肝炎病毒核酸(HBV DNA)', minWidth: 180 }, { prop: 'motherAntiHcv', label: '丙型肝炎病毒抗体(抗HCV)', minWidth: 170 }, { prop: 'motherHcvRna', label: '丙型肝炎病毒核酸(HCV RNA)', minWidth: 180 }, { prop: 'motherAntiTp', label: '梅毒螺旋体特异性抗体(抗TP)', minWidth: 180 }, { prop: 'motherCmvIgm', label: '巨细胞病毒IgM抗体(CMV IgM)', minWidth: 180 }, { prop: 'motherAntiHiv', label: '人类免疫缺陷病毒抗体(抗HIV-1/2)', minWidth: 200 }, { prop: 'motherHiv1Rna', label: '人类免疫缺陷病毒核酸(1型)(HIV-1RNA)', minWidth: 210 }, { prop: 'storageDateP2', label: '储存日期(P2冻存日期)', minWidth: 160 }, { prop: 'remark', label: '备注', minWidth: 120 }, { prop: 'createTime', label: '创建时间', minWidth: 200 } ] export const LAB_PROCESS_COLUMNS: Record = { cell_hsc: CELL_HSC_COLUMNS, donation_hsc: DONATION_HSC_COLUMNS, cell_msc: MSC_COLUMNS, donation_msc: MSC_COLUMNS } export const SUPPLEMENT_FIELD_LABELS: Record = Object.fromEntries( [...CELL_HSC_COLUMNS, ...DONATION_HSC_COLUMNS, ...MSC_COLUMNS].map((c) => [c.prop, c.label]) )