feat: expose lineage QC API and wire viewer in outbound material dialog

Add GET /cell-products/{id}/lineage-qc, frontend client, readonly dialog,
and a 查看质检 action on outbound cell rows.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-07-29 09:55:51 +08:00
1 parent 40d93934a9
commit 33c4408557
4 files changed
+372 -10

No files matched your search

+51
View File
@@ -76,3 +76,54 @@ export function fetchCheckCellProductCode(productCode: string, excludeId?: strin
export function fetchCellProductChain(productId: string) {
return request.get<any>({ url: `/web/admin/cell-products/${productId}/chain` })
}
export type CellProductLineageQcTask = {
id?: string
taskNo?: string
itemName?: string
itemCode?: string
taskType?: string
taskStatus?: string
taskStatusLabel?: string
conclusion?: string
conclusionLabel?: string
remark?: string
completedTime?: string
companyName?: string
results?: Array<{ paramName?: string; paramValue?: string; paramUnit?: string }>
attachmentFiles?: Array<{ fileName?: string; fileUrl?: string; fileType?: string }>
}
export type CellProductLineageQcWorkOrder = {
id?: string
workOrderNo?: string
workOrderType?: string
workOrderStatus?: string
workOrderStatusLabel?: string
tasks?: CellProductLineageQcTask[]
}
export type CellProductLineageQcNode = {
nodeType?: 'sample' | 'cell_product' | string
id?: string
label?: string
productName?: string
passage?: string | null
receptionSource?: string | null
receptionSourceLabel?: string | null
isCurrent?: boolean
workOrders?: CellProductLineageQcWorkOrder[]
}
export type CellProductLineageQc = {
productId?: string
productCode?: string
productName?: string
nodes?: CellProductLineageQcNode[]
}
export function fetchCellProductLineageQc(productId: string) {
return request.get<CellProductLineageQc>({
url: `/web/admin/cell-products/${productId}/lineage-qc`
})
}