diff --git a/package-lock.json b/package-lock.json index bd4e620..30b5d4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name":"csy-ui", + "name": "mes", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "csy-ui", + "name": "mes", "version": "1.0.0", "dependencies": { "@vicons/ionicons5": "^0.12.0", diff --git a/src/api/orderItem.ts b/src/api/orderItem.ts new file mode 100644 index 0000000..ed689d0 --- /dev/null +++ b/src/api/orderItem.ts @@ -0,0 +1,104 @@ +import { request } from '@/utils/request' + +// 生产订单 类型定义 +export interface OrderItem { + id?: number, + productionCode?: string + name?: string + + code?: string + + sort?: number + + quantity?: number + + projectId?: number + projectName?: string + + 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/router/index.ts b/src/router/index.ts index d36eb22..f5a35dc 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -118,9 +118,9 @@ const routes: RouteRecordRaw[] = [ }, //运营管理 { - path: 'biz/product', + path: 'biz/orderItem', name: 'product', - component: () => import('@/views/biz/product/index.vue'), + component: () => import('@/views/biz/orderItem/index.vue'), meta: { title: '商品管理', icon: 'ListOutline' } }, { diff --git a/src/views/biz/orderItem/index.vue b/src/views/biz/orderItem/index.vue new file mode 100644 index 0000000..44bcd03 --- /dev/null +++ b/src/views/biz/orderItem/index.vue @@ -0,0 +1,496 @@ + + + + +