From 28e9815f11e57efa8c0120e14e3e6e1a38b85483 Mon Sep 17 00:00:00 2001 From: chenyuan <1154693969@qq.com> Date: Tue, 21 May 2024 19:14:30 +0800 Subject: [PATCH] add task plan --- src/api/mes/itemrequisition/index.ts | 54 +++ src/api/mes/organization/index.ts | 50 +++ src/api/mes/plan/index.ts | 53 +++ src/api/mes/task/index.ts | 72 ++++ src/utils/dict.ts | 10 +- src/views/Login/components/LoginForm.vue | 20 +- .../itemrequisition/ItemRequisitionForm.vue | 163 ++++++++ .../components/ItemRequisitionDetailForm.vue | 116 ++++++ .../components/ItemRequisitionDetailList.vue | 45 ++ src/views/mes/itemrequisition/index.vue | 281 +++++++++++++ .../mes/organization/OrganizationForm.vue | 197 +++++++++ src/views/mes/organization/index.vue | 355 ++++++++++++++++ src/views/mes/plan/PlanForm.vue | 202 +++++++++ src/views/mes/plan/index.vue | 383 ++++++++++++++++++ src/views/mes/task/TaskForm.vue | 152 +++++++ .../mes/task/components/TaskDetailForm.vue | 126 ++++++ .../mes/task/components/TaskDetailList.vue | 133 ++++++ src/views/mes/task/index.vue | 284 +++++++++++++ 18 files changed, 2678 insertions(+), 18 deletions(-) create mode 100644 src/api/mes/itemrequisition/index.ts create mode 100644 src/api/mes/organization/index.ts create mode 100644 src/api/mes/plan/index.ts create mode 100644 src/api/mes/task/index.ts create mode 100644 src/views/mes/itemrequisition/ItemRequisitionForm.vue create mode 100644 src/views/mes/itemrequisition/components/ItemRequisitionDetailForm.vue create mode 100644 src/views/mes/itemrequisition/components/ItemRequisitionDetailList.vue create mode 100644 src/views/mes/itemrequisition/index.vue create mode 100644 src/views/mes/organization/OrganizationForm.vue create mode 100644 src/views/mes/organization/index.vue create mode 100644 src/views/mes/plan/PlanForm.vue create mode 100644 src/views/mes/plan/index.vue create mode 100644 src/views/mes/task/TaskForm.vue create mode 100644 src/views/mes/task/components/TaskDetailForm.vue create mode 100644 src/views/mes/task/components/TaskDetailList.vue create mode 100644 src/views/mes/task/index.vue diff --git a/src/api/mes/itemrequisition/index.ts b/src/api/mes/itemrequisition/index.ts new file mode 100644 index 00000000..9f45274a --- /dev/null +++ b/src/api/mes/itemrequisition/index.ts @@ -0,0 +1,54 @@ +import request from '@/config/axios' + +// 生产领料 VO +export interface ItemRequisitionVO { + id: number // ID + code: string // 编码 + requisitionDate: Date // 下料时间 + deliveryDate: Date // 创建时间 + status: number // 状态 + processInstanceId: string // 流程实例的编号 + planId: number // 计划ID + remark: string // 备注 + isEnable: boolean // 是否启用 +} + +// 生产领料 API +export const ItemRequisitionApi = { + // 查询生产领料分页 + getItemRequisitionPage: async (params: any) => { + return await request.get({ url: `/mes/item-requisition/page`, params }) + }, + + // 查询生产领料详情 + getItemRequisition: async (id: number) => { + return await request.get({ url: `/mes/item-requisition/get?id=` + id }) + }, + + // 新增生产领料 + createItemRequisition: async (data: ItemRequisitionVO) => { + return await request.post({ url: `/mes/item-requisition/create`, data }) + }, + + // 修改生产领料 + updateItemRequisition: async (data: ItemRequisitionVO) => { + return await request.put({ url: `/mes/item-requisition/update`, data }) + }, + + // 删除生产领料 + deleteItemRequisition: async (id: number) => { + return await request.delete({ url: `/mes/item-requisition/delete?id=` + id }) + }, + + // 导出生产领料 Excel + exportItemRequisition: async (params) => { + return await request.download({ url: `/mes/item-requisition/export-excel`, params }) + }, + +// ==================== 子表(领料明细) ==================== + + // 获得领料明细列表 + getItemRequisitionDetailListByItemRequisitionId: async (itemRequisitionId) => { + return await request.get({ url: `/mes/item-requisition/item-requisition-detail/list-by-item-requisition-id?itemRequisitionId=` + itemRequisitionId }) + } +} \ No newline at end of file diff --git a/src/api/mes/organization/index.ts b/src/api/mes/organization/index.ts new file mode 100644 index 00000000..ceec5ed2 --- /dev/null +++ b/src/api/mes/organization/index.ts @@ -0,0 +1,50 @@ +import request from '@/config/axios' + +// 产线工位 VO +export interface OrganizationVO { + id: number // 组织id + name: string // 组织名称 + parentId: number // 父组织id + sort: number // 显示顺序 + workerUserId: number // 负责人 + machineId: number // 对应机台id + phone: string // 联系电话 + email: string // 邮箱 + isEnable: boolean // 是否启用 + status: number // 组织状态 + orgClass: number // 组织等级 + orgType: number // 组织类型 +} + +// 产线工位 API +export const OrganizationApi = { + // 查询产线工位列表 + getOrganizationList: async (params) => { + return await request.get({ url: `/mes/organization/list`, params }) + }, + + // 查询产线工位详情 + getOrganization: async (id: number) => { + return await request.get({ url: `/mes/organization/get?id=` + id }) + }, + + // 新增产线工位 + createOrganization: async (data: OrganizationVO) => { + return await request.post({ url: `/mes/organization/create`, data }) + }, + + // 修改产线工位 + updateOrganization: async (data: OrganizationVO) => { + return await request.put({ url: `/mes/organization/update`, data }) + }, + + // 删除产线工位 + deleteOrganization: async (id: number) => { + return await request.delete({ url: `/mes/organization/delete?id=` + id }) + }, + + // 导出产线工位 Excel + exportOrganization: async (params) => { + return await request.download({ url: `/mes/organization/export-excel`, params }) + } +} \ No newline at end of file diff --git a/src/api/mes/plan/index.ts b/src/api/mes/plan/index.ts new file mode 100644 index 00000000..363356cf --- /dev/null +++ b/src/api/mes/plan/index.ts @@ -0,0 +1,53 @@ +import request from '@/config/axios' + +// 生产计划 VO +export interface PlanVO { + id: number // ID + code: string // 计划编码 + productId: number // 产品ID + taskDetailId: number // 任务单明细ID + taskId: number // 任务单ID + planNumber: number // 数量 + finishNumber: number // 成品数量 + status: number // 状态 + planStartTime: Date // 计划开始时间 + planEndTime: Date // 计划结束时间 + startTime: Date // 实际开始时间 + endTime: Date // 实际结束时间 + productionManagerId: number // 生产主管ID + remark: string // 备注 + isEnable: boolean // 是否启用 +} + +// 生产计划 API +export const PlanApi = { + // 查询生产计划分页 + getPlanPage: async (params: any) => { + return await request.get({ url: `/mes/plan/page`, params }) + }, + + // 查询生产计划详情 + getPlan: async (id: number) => { + return await request.get({ url: `/mes/plan/get?id=` + id }) + }, + + // 新增生产计划 + createPlan: async (data: PlanVO) => { + return await request.post({ url: `/mes/plan/create`, data }) + }, + + // 修改生产计划 + updatePlan: async (data: PlanVO) => { + return await request.put({ url: `/mes/plan/update`, data }) + }, + + // 删除生产计划 + deletePlan: async (id: number) => { + return await request.delete({ url: `/mes/plan/delete?id=` + id }) + }, + + // 导出生产计划 Excel + exportPlan: async (params) => { + return await request.download({ url: `/mes/plan/export-excel`, params }) + } +} \ No newline at end of file diff --git a/src/api/mes/task/index.ts b/src/api/mes/task/index.ts new file mode 100644 index 00000000..36178e52 --- /dev/null +++ b/src/api/mes/task/index.ts @@ -0,0 +1,72 @@ +import request from '@/config/axios' + +// 生产任务单 VO +export interface TaskVO { + id: number // ID + code: string // 编码 + orderDate: Date // 下达日期 + deliveryDate: Date // 交货日期 + status: number // 状态 + processInstanceId: string // 流程实例的编号 + remark: string // 备注 + isEnable: boolean // 是否启用 +} + +// 生产任务单 API +export const TaskApi = { + // 查询生产任务单分页 + getTaskPage: async (params: any) => { + return await request.get({ url: `/mes/task/page`, params }) + }, + + // 查询生产任务单详情 + getTask: async (id: number) => { + return await request.get({ url: `/mes/task/get?id=` + id }) + }, + + // 新增生产任务单 + createTask: async (data: TaskVO) => { + return await request.post({ url: `/mes/task/create`, data }) + }, + + // 修改生产任务单 + updateTask: async (data: TaskVO) => { + return await request.put({ url: `/mes/task/update`, data }) + }, + + // 删除生产任务单 + deleteTask: async (id: number) => { + return await request.delete({ url: `/mes/task/delete?id=` + id }) + }, + + // 导出生产任务单 Excel + exportTask: async (params) => { + return await request.download({ url: `/mes/task/export-excel`, params }) + }, + +// ==================== 子表(生产任务单明细) ==================== + + // 获得生产任务单明细分页 + getTaskDetailPage: async (params) => { + return await request.get({ url: `/mes/task/task-detail/page`, params }) + }, + // 新增生产任务单明细 + createTaskDetail: async (data) => { + return await request.post({ url: `/mes/task/task-detail/create`, data }) + }, + + // 修改生产任务单明细 + updateTaskDetail: async (data) => { + return await request.put({ url: `/mes/task/task-detail/update`, data }) + }, + + // 删除生产任务单明细 + deleteTaskDetail: async (id: number) => { + return await request.delete({ url: `/mes/task/task-detail/delete?id=` + id }) + }, + + // 获得生产任务单明细 + getTaskDetail: async (id: number) => { + return await request.get({ url: `/mes/task/task-detail/get?id=` + id }) + } +} \ No newline at end of file diff --git a/src/utils/dict.ts b/src/utils/dict.ts index cffb8836..c2ac9804 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -235,6 +235,14 @@ ERP_MAINTAIN_TYPE = 'maintain_type',// ERP 保养类型 ERP_AUTOCODE_IS_PADDING = "erp_autocode_is_padding", ERP_AUTOCODE_PADDING_TYPE = "erp_autocode_padding_type", ERP_AUTOCODE_CYCLEMETHOD = "erp_autocode_cyclemethod", -ERP_AUTOCODE_PARTTYPE = "erp_autocode_parttype" +ERP_AUTOCODE_PARTTYPE = "erp_autocode_parttype", + +// ========== MES - 生产管理模块 ========== +MES_ORG_TYPE = "mes_org_type", +MES_ORG_CLASS = "mes_org_class", +MES_ORG_STATUS = "mes_org_status", + +MES_TASK_STATUS = "mes_task_status", +MES_PLAN_STATUS = "mes_plan_status", } diff --git a/src/views/Login/components/LoginForm.vue b/src/views/Login/components/LoginForm.vue index a325a446..09d4bca3 100644 --- a/src/views/Login/components/LoginForm.vue +++ b/src/views/Login/components/LoginForm.vue @@ -109,7 +109,7 @@ - {{ t('login.otherLogin') }} + + diff --git a/src/views/mes/itemrequisition/ItemRequisitionForm.vue b/src/views/mes/itemrequisition/ItemRequisitionForm.vue new file mode 100644 index 00000000..b6166025 --- /dev/null +++ b/src/views/mes/itemrequisition/ItemRequisitionForm.vue @@ -0,0 +1,163 @@ + + \ No newline at end of file diff --git a/src/views/mes/itemrequisition/components/ItemRequisitionDetailForm.vue b/src/views/mes/itemrequisition/components/ItemRequisitionDetailForm.vue new file mode 100644 index 00000000..5372022d --- /dev/null +++ b/src/views/mes/itemrequisition/components/ItemRequisitionDetailForm.vue @@ -0,0 +1,116 @@ + + \ No newline at end of file diff --git a/src/views/mes/itemrequisition/components/ItemRequisitionDetailList.vue b/src/views/mes/itemrequisition/components/ItemRequisitionDetailList.vue new file mode 100644 index 00000000..7ffd1207 --- /dev/null +++ b/src/views/mes/itemrequisition/components/ItemRequisitionDetailList.vue @@ -0,0 +1,45 @@ + + \ No newline at end of file diff --git a/src/views/mes/itemrequisition/index.vue b/src/views/mes/itemrequisition/index.vue new file mode 100644 index 00000000..43a60205 --- /dev/null +++ b/src/views/mes/itemrequisition/index.vue @@ -0,0 +1,281 @@ + + + \ No newline at end of file diff --git a/src/views/mes/organization/OrganizationForm.vue b/src/views/mes/organization/OrganizationForm.vue new file mode 100644 index 00000000..bad24739 --- /dev/null +++ b/src/views/mes/organization/OrganizationForm.vue @@ -0,0 +1,197 @@ + + \ No newline at end of file diff --git a/src/views/mes/organization/index.vue b/src/views/mes/organization/index.vue new file mode 100644 index 00000000..199131f8 --- /dev/null +++ b/src/views/mes/organization/index.vue @@ -0,0 +1,355 @@ + + + \ No newline at end of file diff --git a/src/views/mes/plan/PlanForm.vue b/src/views/mes/plan/PlanForm.vue new file mode 100644 index 00000000..3737edbb --- /dev/null +++ b/src/views/mes/plan/PlanForm.vue @@ -0,0 +1,202 @@ + + \ No newline at end of file diff --git a/src/views/mes/plan/index.vue b/src/views/mes/plan/index.vue new file mode 100644 index 00000000..a706b89e --- /dev/null +++ b/src/views/mes/plan/index.vue @@ -0,0 +1,383 @@ + + + \ No newline at end of file diff --git a/src/views/mes/task/TaskForm.vue b/src/views/mes/task/TaskForm.vue new file mode 100644 index 00000000..2f479f0a --- /dev/null +++ b/src/views/mes/task/TaskForm.vue @@ -0,0 +1,152 @@ + + \ No newline at end of file diff --git a/src/views/mes/task/components/TaskDetailForm.vue b/src/views/mes/task/components/TaskDetailForm.vue new file mode 100644 index 00000000..346b2b3d --- /dev/null +++ b/src/views/mes/task/components/TaskDetailForm.vue @@ -0,0 +1,126 @@ + + \ No newline at end of file diff --git a/src/views/mes/task/components/TaskDetailList.vue b/src/views/mes/task/components/TaskDetailList.vue new file mode 100644 index 00000000..6629dd24 --- /dev/null +++ b/src/views/mes/task/components/TaskDetailList.vue @@ -0,0 +1,133 @@ + + \ No newline at end of file diff --git a/src/views/mes/task/index.vue b/src/views/mes/task/index.vue new file mode 100644 index 00000000..faf297b7 --- /dev/null +++ b/src/views/mes/task/index.vue @@ -0,0 +1,284 @@ + + + \ No newline at end of file