import type { RecordBatchItem, RecordCreated } from '#/api/x/eln/records';
|
|
export class ElnRecordBatchParamError extends Error {}
|
|
export function resolveTestWorkItemIds(value: unknown): string[] {
|
if (!Array.isArray(value) || !value.length) {
|
throw new ElnRecordBatchParamError('请选择至少一个检验项');
|
}
|
const ids = value.map((item) => {
|
if (typeof item !== 'string' || !item.trim()) {
|
throw new ElnRecordBatchParamError('检验项选择无效');
|
}
|
return item.trim();
|
});
|
return [...new Set(ids)];
|
}
|
|
export function canOpenSingleRecord(testWorkItemIds: string[], item: RecordBatchItem | undefined): item is RecordBatchItem & { created: RecordCreated } {
|
return testWorkItemIds.length === 1 && Boolean(item?.created) && ['CREATED', 'EXISTING'].includes(item?.status || '');
|
}
|
|
export function statusLabel(status: RecordBatchItem['status']) {
|
if (status === 'CREATED') return '新建成功';
|
if (status === 'EXISTING') return '已存在';
|
return '创建失败';
|
}
|