Files
zkxw/web-admin/src/api/qc-work-order.ts
T
2026-05-17 23:08:38 +08:00

81 lines
1.6 KiB
TypeScript

import request from '@/utils/http'
type PageList<T> = {
list: T[]
total: number
page: number
pageSize: number
totalPages: number
}
export type QcWorkOrder = {
id: string
workOrderNo: string
receptionId: string
protocolSampleId: string
collectionProtocolId: string
protocolNo: string
sampleCode: string
workOrderStatus: string
hasLab: boolean
hasThirdParty: boolean
configuredTime?: string
configuredBy?: string
thirdPartyFeeTotal?: number
remark?: string
createTime?: string
updateTime?: string
}
export type QcWorkOrderDetail = QcWorkOrder & {
reception?: {
receptionTime?: string
handlerName?: string
acceptConclusion?: string
}
labItems?: Array<{ id: string; labTestItemId: string; itemCode: string; itemName: string }>
thirdPartyItems?: Array<{
id: string
thirdPartyItemId: string
companyId: string
companyName: string
itemCode: string
itemName: string
feeAmount: number
}>
tasks?: Array<Record<string, unknown>>
}
export function fetchQcWorkOrderList(params?: {
page?: number
pageSize?: number
keyword?: string
workOrderStatus?: string
}) {
return request.get<PageList<QcWorkOrder>>({
url: '/web/admin/qc-work-orders',
params
})
}
export function fetchQcWorkOrderDetail(id: string) {
return request.get<QcWorkOrderDetail>({
url: `/web/admin/qc-work-orders/${id}`
})
}
export function fetchConfigureQcWorkOrder(
id: string,
data: {
hasLab: boolean
hasThirdParty: boolean
labItemIds: string[]
thirdPartyItemIds: string[]
}
) {
return request.post<QcWorkOrder>({
url: `/web/admin/qc-work-orders/${id}/configure`,
data
})
}