This commit is contained in:
zlwu committed 2026-06-11 15:42:58 +08:00
1 parent 195c4c0a34
commit 64219a68c7
317 files changed
+66845 -33515

No files matched your search

+9
View File
@@ -2093,6 +2093,15 @@ export function voidPilotApplication(data: any) {
export function savePilotApplication(data: any) {
return request.post({ url: '/web/admin/pilot-application/save', params: data })
}
export function createBasicExperimentSaleSchedules(
applicationId: string,
data: { productLines: any[] }
) {
return request.post({
url: `/web/admin/pilot-application/${applicationId}/sale-schedules`,
params: data
})
}
// 患者信息
export function fetchPilotPatient(params: any) {
+79
View File
@@ -0,0 +1,79 @@
import request from '@/utils/http'
type PageList<T> = {
list: T[]
total: number
page: number
pageSize: number
totalPages: number
}
export type EnvDetectItem = {
id: string
itemCode: string
itemName: string
status: string
orderNum: number
remark?: string
createTime?: string
updateTime?: string
}
export function fetchEnvDetectItemList(params?: {
page?: number
pageSize?: number
keyword?: string
status?: string
}) {
return request.get<PageList<EnvDetectItem>>({
url: '/web/admin/env-detect-items',
params
})
}
export function fetchEnvDetectItemsActive() {
return request.get<EnvDetectItem[]>({
url: '/web/admin/env-detect-items/active'
})
}
export function fetchEnvDetectItemDetail(id: string) {
return request.get<EnvDetectItem>({
url: `/web/admin/env-detect-items/${id}`
})
}
export function fetchCreateEnvDetectItem(data: {
itemCode: string
itemName: string
status?: string
orderNum?: number
remark?: string
}) {
return request.post<EnvDetectItem>({
url: '/web/admin/env-detect-items',
data
})
}
export function fetchUpdateEnvDetectItem(
id: string,
data: {
itemCode?: string
itemName?: string
status?: string
orderNum?: number
remark?: string
}
) {
return request.put<EnvDetectItem>({
url: `/web/admin/env-detect-items/${id}`,
data
})
}
export function fetchDeleteEnvDetectItem(id: string) {
return request.del({
url: `/web/admin/env-detect-items/${id}`
})
}
+84
View File
@@ -0,0 +1,84 @@
import request from '@/utils/http'
type PageList<T> = {
list: T[]
total: number
page: number
pageSize: number
totalPages: number
}
export type EnvDetectRecord = {
id: string
recordNo: string
detectTime: string
inspectorIds: string[]
inspectorNames: string[]
inspectorDisplay: string
envDetectItemId: string
itemCode: string
itemName: string
resultDesc: string
attachmentUrls: string
remark?: string
createTime?: string
updateTime?: string
}
export function fetchEnvDetectRecordList(params?: {
page?: number
pageSize?: number
keyword?: string
envDetectItemId?: string
inspectorId?: string
detectTimeStart?: string
detectTimeEnd?: string
}) {
return request.get<PageList<EnvDetectRecord>>({
url: '/web/admin/env-detect-records',
params
})
}
export function fetchEnvDetectRecordDetail(id: string) {
return request.get<EnvDetectRecord>({
url: `/web/admin/env-detect-records/${id}`
})
}
export function fetchCreateEnvDetectRecord(data: {
detectTime: string
inspectorIds: string[]
envDetectItemId: string
resultDesc: string
attachmentUrls?: string
remark?: string
}) {
return request.post<EnvDetectRecord>({
url: '/web/admin/env-detect-records',
data
})
}
export function fetchUpdateEnvDetectRecord(
id: string,
data: {
detectTime?: string
inspectorIds?: string[]
envDetectItemId?: string
resultDesc?: string
attachmentUrls?: string
remark?: string
}
) {
return request.put<EnvDetectRecord>({
url: `/web/admin/env-detect-records/${id}`,
data
})
}
export function fetchDeleteEnvDetectRecord(id: string) {
return request.del({
url: `/web/admin/env-detect-records/${id}`
})
}
@@ -0,0 +1,123 @@
import request from '@/utils/http'
type PageList<T> = {
list: T[]
total: number
page: number
pageSize: number
totalPages: number
}
export type QcMaterialStockCheck = {
id: string
title: string
checkTime: string
status: string
statusLabel: string
completeTime?: string
remark?: string
batchLineCount: number
unusedLineCount: number
createBy: string
createByName?: string
createTime: string
updateTime: string
}
export type QcMaterialStockCheckBatchLine = {
id: string
materialCode: string
materialName: string
specModel: string
unit: string
stockInNo: string
stockInDate: string
expireDate: string
catalogNo: string
batchNo: string
manufacturer: string
unitPrice: number
amount: number
remainingQty: number
remainingAmount?: number
remark?: string
}
export type QcMaterialStockCheckUnusedLine = {
id?: string
materialCode?: string
materialName: string
specModel?: string
unit?: string
stockInNo?: string
stockInDate?: string
expireDate?: string
catalogNo?: string
batchNo?: string
manufacturer?: string
unitPrice?: number | null
remainingAmount?: number | null
holder?: string
unusedQty: number
remark?: string
batchPickId?: string
fromBatch?: boolean
}
export type QcMaterialStockCheckDetail = QcMaterialStockCheck & {
batchLines: QcMaterialStockCheckBatchLine[]
unusedLines: QcMaterialStockCheckUnusedLine[]
}
export function fetchQcMaterialStockCheckList(params?: {
page?: number
pageSize?: number
keyword?: string
status?: string
startTime?: string
endTime?: string
}) {
return request.get<PageList<QcMaterialStockCheck>>({
url: '/web/admin/qc-material-stock-checks',
params
})
}
export function fetchCreateQcMaterialStockCheck(data: {
title: string
checkTime?: string
remark?: string
}) {
return request.post<{ id: string; batchLineCount: number }>({
url: '/web/admin/qc-material-stock-checks',
data
})
}
export function fetchQcMaterialStockCheckDetail(id: string) {
return request.get<QcMaterialStockCheckDetail>({
url: `/web/admin/qc-material-stock-checks/${id}`
})
}
export function fetchSaveQcMaterialStockCheckUnusedLines(
id: string,
items: QcMaterialStockCheckUnusedLine[]
) {
return request.put<{ count: number }>({
url: `/web/admin/qc-material-stock-checks/${id}/unused-lines`,
data: { items }
})
}
export function fetchCompleteQcMaterialStockCheck(id: string) {
return request.post<void>({
url: `/web/admin/qc-material-stock-checks/${id}/complete`
})
}
export function fetchCancelQcMaterialStockCheck(id: string) {
return request.post<void>({
url: `/web/admin/qc-material-stock-checks/${id}/cancel`
})
}
+11
View File
@@ -13,8 +13,17 @@ export type QcMaterialUsage = {
materialId: string
materialCode: string
materialName: string
batchId?: string
stockInNo?: string
stockInDate?: string
catalogNo?: string
batchNo?: string
manufacturer?: string
unitPrice?: number | null
amount?: number | null
changeType: string
changeQty: number
stockBefore?: number
stockAfter: number
qcTaskId: string
qcTaskNo: string
@@ -35,6 +44,8 @@ export function fetchQcMaterialUsageList(params?: {
changeType?: string
startTime?: string
endTime?: string
keyword?: string
stockInNo?: string
}) {
return request.get<PageList<QcMaterialUsage>>({
url: '/web/admin/qc-material-usages',
+113 -26
View File
@@ -25,6 +25,33 @@ export type QcMaterial = {
updateTime: string
}
/** 入库批次列表行 */
export type QcMaterialBatch = {
id: string
batchId: string
materialId: string
materialCode: string
materialName: string
specModel: string
unit: string
stockInNo: string
stockInDate: string
expireDate: string
catalogNo: string
batchNo: string
manufacturer: string
unitPrice: number
amount: number
inQty: number
remainingQty: number
stockQty: number
warningQty: number
status: string
remark: string
createTime: string
updateTime: string
}
export type QcMaterialOption = {
id: string
label: string
@@ -35,6 +62,72 @@ export type QcMaterialOption = {
stockQty: number
}
export type QcMaterialBatchOption = {
id: string
batchId: string
stockInNo: string
stockInDate?: string
expireDate?: string
materialId: string
materialCode: string
materialName: string
specModel: string
unit: string
batchNo: string
catalogNo: string
manufacturer: string
unitPrice?: number
amount?: number
remainingQty: number
label: string
}
export type StockInPayload = {
stockInNo: string
stockInDate: string
expireDate: string
catalogNo: string
batchNo: string
manufacturer: string
unitPrice: number
amount: number
qty: number
remark?: string
stockInTime?: string
}
export type BatchStockInLine = StockInPayload & {
materialId: string
materialCode?: string
materialName?: string
specModel?: string
unit?: string
}
export function fetchQcMaterialBatchList(params?: {
page?: number
pageSize?: number
keyword?: string
materialId?: string
status?: string
}) {
return request.get<PageList<QcMaterialBatch>>({
url: '/web/admin/qc-material-batches',
params
})
}
export function fetchQcMaterialBatchOptions(params?: {
keyword?: string
materialId?: string
onlyAvailable?: boolean
}) {
return request.get<QcMaterialBatchOption[]>({
url: '/web/admin/qc-material-batches/options',
params
})
}
export function fetchQcMaterialList(params?: {
page?: number
pageSize?: number
@@ -73,52 +166,46 @@ export function fetchDeleteQcMaterial(id: string) {
})
}
export function fetchStockInQcMaterial(
id: string,
data: { qty: number; remark?: string; stockInTime?: string }
) {
return request.post<QcMaterial>({
url: `/web/admin/qc-materials/${id}/stock-in`,
data
})
}
export function fetchStockOutQcMaterial(
id: string,
data: {
qty: number
receiver?: string
purpose?: string
remark?: string
stockOutTime?: string
}
) {
return request.post<QcMaterial>({
url: `/web/admin/qc-materials/${id}/stock-out`,
export function fetchStockInQcMaterial(materialId: string, data: StockInPayload) {
return request.post<QcMaterialBatch>({
url: `/web/admin/qc-materials/${materialId}/stock-in`,
data
})
}
export function fetchBatchStockInQcMaterial(data: {
items: { materialId: string; qty: number; remark?: string }[]
items: BatchStockInLine[]
remark?: string
stockInTime?: string
}) {
return request.post<{ count: number }>({
url: '/web/admin/qc-materials/batch-stock-in',
url: '/web/admin/qc-material-batches/batch-stock-in',
data
})
}
export function fetchUpdateQcMaterialBatch(id: string, data: Record<string, any>) {
return request.put<QcMaterialBatch>({
url: `/web/admin/qc-material-batches/${id}`,
data
})
}
export function fetchDeleteQcMaterialBatch(id: string) {
return request.delete<void>({
url: `/web/admin/qc-material-batches/${id}`
})
}
export function fetchBatchStockOutQcMaterial(data: {
items: { materialId: string; qty: number; remark?: string }[]
items: { batchId: string; qty: number; remark?: string }[]
receiver?: string
purpose?: string
remark?: string
stockOutTime?: string
}) {
return request.post<{ count: number }>({
url: '/web/admin/qc-materials/batch-stock-out',
url: '/web/admin/qc-material-batches/batch-stock-out',
data
})
}
+6 -1
View File
@@ -17,8 +17,13 @@ export function fetchQcTaskResults(taskId: string) {
/** 任务已保存的物料使用(用于填写结果弹窗回显) */
export type QcTaskMaterialUsageItem = {
batchId: string
stockInNo?: string
materialId: string
materialName: string
batchNo?: string
catalogNo?: string
manufacturer?: string
changeQty: number
remark?: string
}
@@ -36,7 +41,7 @@ export function fetchCompleteTaskWithResult(
results: QcTaskResultItem[]
remark?: string
thirdPartyAttachments?: string
materialUsages?: Array<{ materialId: string; qty: number; remark?: string }>
materialUsages?: Array<{ batchId: string; qty: number; remark?: string }>
}
) {
return request.post({