提交
This commit is contained in:
1 parent
1ca2668112
commit
5b3edb1700
278 files changed
+53761
-36931
No files matched your search
@@ -0,0 +1,71 @@
|
||||
import type { ViewSection } from '@/components/business/system-view-dialog/index.vue'
|
||||
import { acceptConclusionLabel } from '@/utils/qc-labels'
|
||||
import {
|
||||
formatProductionFieldValue,
|
||||
resolveProductionReceptionFields,
|
||||
type ProductionReceptionRecord
|
||||
} from '@/utils/sample-production-reception-fields'
|
||||
|
||||
export function buildQcReceptionViewFields(
|
||||
r: Record<string, unknown>,
|
||||
d?: Record<string, unknown>
|
||||
): ViewSection['fields'] {
|
||||
const accept = String(r.acceptConclusion || d?.acceptConclusion || '')
|
||||
return [
|
||||
{ label: '接收时间', value: String(r.receptionTime || d?.receptionTime || '—') },
|
||||
{ label: '接收经手人', value: String(r.handlerName || d?.handlerName || '—') },
|
||||
...(accept === 'js'
|
||||
? [
|
||||
{
|
||||
label: '实验室入库编码',
|
||||
value: String(r.labStorageCode || d?.labStorageCode || '—')
|
||||
}
|
||||
]
|
||||
: []),
|
||||
{
|
||||
label: '接收温度(℃)',
|
||||
value: r.receiveTemperature ? `${r.receiveTemperature}℃` : '—'
|
||||
},
|
||||
{
|
||||
label: '结论',
|
||||
value:
|
||||
String(r.acceptConclusionLabel || '') ||
|
||||
acceptConclusionLabel(accept) ||
|
||||
'—',
|
||||
tagType: accept === 'js' ? 'success' : accept === 'bj' ? 'danger' : 'info'
|
||||
},
|
||||
{
|
||||
label: '检查项',
|
||||
checkItems: (r.checkResults as ViewSection['fields'][0]['checkItems']) ?? [],
|
||||
span: true
|
||||
},
|
||||
{ label: '备注', value: String(r.remark || '—'), span: true }
|
||||
]
|
||||
}
|
||||
|
||||
export function buildProductionReceptionViewSection(
|
||||
productionReception: ProductionReceptionRecord | null | undefined,
|
||||
sourceType: string,
|
||||
sampleTypeName: string
|
||||
): ViewSection {
|
||||
if (!productionReception) {
|
||||
return {
|
||||
title: '生产接收',
|
||||
fields: [{ label: '状态', value: '生产尚未登记', span: true }]
|
||||
}
|
||||
}
|
||||
const fields: ViewSection['fields'] = [
|
||||
{ label: '处理时间', value: productionReception.processTime || '—' },
|
||||
{ label: '处理人', value: productionReception.handlerName || '—' }
|
||||
]
|
||||
for (const def of resolveProductionReceptionFields(sourceType, sampleTypeName)) {
|
||||
fields.push({
|
||||
label: def.label,
|
||||
value: formatProductionFieldValue(def, productionReception)
|
||||
})
|
||||
}
|
||||
if (productionReception.remark) {
|
||||
fields.push({ label: '备注', value: productionReception.remark, span: true })
|
||||
}
|
||||
return { title: '生产接收', fields }
|
||||
}
|
||||
Reference in new issue
Block a user