From a2b463794e643c6d2ac77b0a81c60d20f93f5d2b Mon Sep 17 00:00:00 2001 From: chenyuan <1154693969@qq.com> Date: Tue, 21 May 2024 10:10:09 +0800 Subject: [PATCH] add bom --- src/api/mes/bom/index.ts | 53 ++++ src/views/mes/bom/BomForm.vue | 155 ++++++++++ .../mes/bom/components/BomDetailForm.vue | 142 +++++++++ .../mes/bom/components/BomDetailList.vue | 60 ++++ src/views/mes/bom/index.vue | 275 ++++++++++++++++++ 5 files changed, 685 insertions(+) create mode 100644 src/api/mes/bom/index.ts create mode 100644 src/views/mes/bom/BomForm.vue create mode 100644 src/views/mes/bom/components/BomDetailForm.vue create mode 100644 src/views/mes/bom/components/BomDetailList.vue create mode 100644 src/views/mes/bom/index.vue diff --git a/src/api/mes/bom/index.ts b/src/api/mes/bom/index.ts new file mode 100644 index 00000000..12687d0a --- /dev/null +++ b/src/api/mes/bom/index.ts @@ -0,0 +1,53 @@ +import request from '@/config/axios' + +// 产品BOM VO +export interface BomVO { + id: number // ID + code: string // BOM编码 + version: string // BOM版本 + productId: number // 产品ID + unitId: number // 单位ID + yieldRate: number // 成品率% + remark: string // 备注 + isEnable: boolean // 是否启用 +} + +// 产品BOM API +export const BomApi = { + // 查询产品BOM分页 + getBomPage: async (params: any) => { + return await request.get({ url: `/mes/bom/page`, params }) + }, + + // 查询产品BOM详情 + getBom: async (id: number) => { + return await request.get({ url: `/mes/bom/get?id=` + id }) + }, + + // 新增产品BOM + createBom: async (data: BomVO) => { + return await request.post({ url: `/mes/bom/create`, data }) + }, + + // 修改产品BOM + updateBom: async (data: BomVO) => { + return await request.put({ url: `/mes/bom/update`, data }) + }, + + // 删除产品BOM + deleteBom: async (id: number) => { + return await request.delete({ url: `/mes/bom/delete?id=` + id }) + }, + + // 导出产品BOM Excel + exportBom: async (params) => { + return await request.download({ url: `/mes/bom/export-excel`, params }) + }, + +// ==================== 子表(产品BOM明细) ==================== + + // 获得产品BOM明细列表 + getBomDetailListByBomId: async (bomId) => { + return await request.get({ url: `/mes/bom/bom-detail/list-by-bom-id?bomId=` + bomId }) + } +} \ No newline at end of file diff --git a/src/views/mes/bom/BomForm.vue b/src/views/mes/bom/BomForm.vue new file mode 100644 index 00000000..351ee72f --- /dev/null +++ b/src/views/mes/bom/BomForm.vue @@ -0,0 +1,155 @@ + + \ No newline at end of file diff --git a/src/views/mes/bom/components/BomDetailForm.vue b/src/views/mes/bom/components/BomDetailForm.vue new file mode 100644 index 00000000..8935de1f --- /dev/null +++ b/src/views/mes/bom/components/BomDetailForm.vue @@ -0,0 +1,142 @@ + + \ No newline at end of file diff --git a/src/views/mes/bom/components/BomDetailList.vue b/src/views/mes/bom/components/BomDetailList.vue new file mode 100644 index 00000000..46d0a1ae --- /dev/null +++ b/src/views/mes/bom/components/BomDetailList.vue @@ -0,0 +1,60 @@ + + \ No newline at end of file diff --git a/src/views/mes/bom/index.vue b/src/views/mes/bom/index.vue new file mode 100644 index 00000000..c15b575a --- /dev/null +++ b/src/views/mes/bom/index.vue @@ -0,0 +1,275 @@ + + + \ No newline at end of file