diff --git a/src/api/orderItem.ts b/src/api/orderItem.ts new file mode 100644 index 0000000..5f38d6a --- /dev/null +++ b/src/api/orderItem.ts @@ -0,0 +1,103 @@ +import { request } from '@/utils/request' + +// 生产订单 类型定义 +export interface OrderItem { + id?: number + + name?: string + + code?: string + + sort?: number + + quantity?: number + + projectId?: number + + parentId?: number + + sfProduct?: number + + procurement?: number + + beginTime?: string + + endTime?: string + + actualStartTime?: string + + actualEndTime?: string + + remark?: string + + createTime?: string + + createBy?: string + + assingWorkId?: string + + assingWorkTime?: string + + assingWorkOperationId?: string + + assingWorkOperationTime?: string + + starter?: number + +} + +// 生产订单 API +export const orderItemApi = { + // 分页查询 + page(params: { page: number; pageSize: number; code?: string; projectId?: number; beginTime?: string; endTime?: string }) { + return request({ url: '/biz/orderItem/page', method: 'get', params }) + }, + + // 获取详情 + detail(id: string) { + return request({ url: `/biz/orderItem/${id}`, method: 'get' }) + }, + + // 新增 + create(data: OrderItem) { + return request({ url: '/biz/orderItem', method: 'post', data }) + }, + + // 修改 + update(data: OrderItem) { + return request({ url: '/biz/orderItem', method: 'put', data }) + }, + + // 删除 + delete(ids: string[]) { + return request({ url: `/biz/orderItem/${ids.join(',')}`, method: 'delete' }) + }, + + // 导出 + export(params?: { ids?: string[]; code?: string; projectId?: number; beginTime?: string; endTime?: string }) { + const p: Record = {} + if (params?.ids?.length) p.ids = params.ids.join(',') + if (params?.code !== undefined && params?.code !== null) p.code = params.code + if (params?.projectId !== undefined && params?.projectId !== null) p.projectId = params.projectId + if (params?.beginTime !== undefined && params?.beginTime !== null) p.beginTime = params.beginTime + if (params?.endTime !== undefined && params?.endTime !== null) p.endTime = params.endTime + return request({ url: `/biz/orderItem/export`, method: 'get', params: p, responseType: 'blob' }) + }, + + // 导入 + importData(file: File) { + const formData = new FormData() + formData.append('file', file) + return request<{ success: number; fail: number; errors: string[] }>({ + url: `/biz/orderItem/import`, + method: 'post', + data: formData, + headers: { 'Content-Type': 'multipart/form-data' } + }) + }, + + // 下载导入模板 + downloadTemplate() { + return request({ url: `/biz/orderItem/template`, method: 'get', responseType: 'blob' }) + } +} diff --git a/src/views/biz/orderItem/index.vue b/src/views/biz/orderItem/index.vue new file mode 100644 index 0000000..e2dbc24 --- /dev/null +++ b/src/views/biz/orderItem/index.vue @@ -0,0 +1,512 @@ + + + + +