import request from '@/utils/http' type PageList = { 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>({ url: '/web/admin/material-usages', params }) } export function fetchMarkMaterialUsageFullyUsed(usageId: string) { return request.post({ 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>({ url: '/web/admin/my-material-usages', params }) }