import request from '@/utils/http' type PageList = { list: T[] total: number page: number pageSize: number totalPages: number } export type ProductionTaskSetItem = { id?: string taskName: string routeId?: string routeName?: string description?: string remark?: string orderNum?: number } export type ProductionTaskSet = { id: string setName: string status: string itemCount?: number items?: ProductionTaskSetItem[] remark?: string createTime?: string skippedEmptyNameCount?: number } export type ProductionTaskSetPayload = { setName: string status?: string remark?: string items: Array<{ taskName: string routeId?: string description?: string remark?: string }> } export function fetchProductionTaskSetList(params?: { page?: number pageSize?: number keyword?: string status?: string }) { return request.get>({ url: '/web/admin/production-task-sets', params }) } export function fetchProductionTaskSetsActive() { return request.get<{ list: ProductionTaskSet[] }>({ url: '/web/admin/production-task-sets/active' }) } export function fetchProductionTaskSetDetail(id: string) { return request.get({ url: `/web/admin/production-task-sets/${id}` }) } export function fetchCreateProductionTaskSet(data: ProductionTaskSetPayload) { return request.post({ url: '/web/admin/production-task-sets', params: data }) } export function fetchUpdateProductionTaskSet(id: string, data: Partial) { return request.put({ url: `/web/admin/production-task-sets/${id}`, params: data }) } export function fetchDeleteProductionTaskSet(id: string) { return request.del({ url: `/web/admin/production-task-sets/${id}` }) } export function fetchCreateProductionTaskSetFromWorkOrder(data: { workOrderId: string setName: string remark?: string }) { return request.post({ url: '/web/admin/production-task-sets/from-work-order', params: data }) }