80 lines
1.6 KiB
TypeScript
80 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 MaterialUsage = {
|
|
id: string
|
|
materialId: string
|
|
materialCode: string
|
|
materialName: string
|
|
category?: string
|
|
batchId?: string
|
|
stockInNo?: string
|
|
stockInDate?: string
|
|
catalogNo?: string
|
|
batchNo?: string
|
|
manufacturer?: string
|
|
unitPrice?: number | null
|
|
amount?: number | null
|
|
changeType: string
|
|
changeQty: number
|
|
usageUnit?: string
|
|
stockBefore?: number
|
|
stockAfter: number
|
|
receiver?: string
|
|
operatorName?: string
|
|
purpose?: string
|
|
useTime?: string
|
|
sourceType: string
|
|
requisitionStatus?: string
|
|
remark: string
|
|
createBy: string
|
|
createByName?: string
|
|
createTime: string
|
|
}
|
|
|
|
export function fetchMaterialUsageList(params?: {
|
|
page?: number
|
|
pageSize?: number
|
|
materialId?: string
|
|
changeType?: string
|
|
startTime?: string
|
|
endTime?: string
|
|
keyword?: string
|
|
stockInNo?: string
|
|
category?: string
|
|
}) {
|
|
return request.get<PageList<MaterialUsage>>({
|
|
url: '/web/admin/material-usages',
|
|
params
|
|
})
|
|
}
|
|
|
|
export function fetchMarkMaterialUsageFullyUsed(usageId: string) {
|
|
return request.post<void>({
|
|
url: `/web/admin/material-usages/${usageId}/mark-fully-used`
|
|
})
|
|
}
|
|
|
|
export function fetchMyMaterialUsageList(params: {
|
|
page: number
|
|
pageSize: number
|
|
keyword?: string
|
|
materialId?: string
|
|
materialType?: string
|
|
changeType?: string
|
|
startTime?: string
|
|
endTime?: string
|
|
}): Promise<{ list: MaterialUsage[]; total: number }> {
|
|
return request.get<PageList<MaterialUsage>>({
|
|
url: '/web/admin/my-material-usages',
|
|
params
|
|
})
|
|
}
|