From 6c276d6ae3ece9380e45107db77029936f2c204a Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 5 Apr 2026 22:03:57 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(workrecord):=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=20MES=20=E5=B7=A5=E4=BD=9C=E8=AE=B0=E5=BD=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实现工作记录的上下工记录流水,包括分页查询、导出 Excel、上线和下线操作。新增相关的请求和响应 VO,完善数据对象和服务接口,支持用户与工作站的绑定状态管理。 --- src/api/mes/pro/workrecord/index.ts | 42 ++++ src/utils/dict.ts | 1 + src/views/mes/pro/workrecord/index.vue | 271 +++++++++++++++++++++++++ 3 files changed, 314 insertions(+) create mode 100644 src/api/mes/pro/workrecord/index.ts create mode 100644 src/views/mes/pro/workrecord/index.vue diff --git a/src/api/mes/pro/workrecord/index.ts b/src/api/mes/pro/workrecord/index.ts new file mode 100644 index 000000000..4f89bfc7f --- /dev/null +++ b/src/api/mes/pro/workrecord/index.ts @@ -0,0 +1,42 @@ +import request from '@/config/axios' + +// MES 工作记录流水 VO +export interface ProWorkRecordLogVO { + id: number + userId: number + userNickname: string + workstationId: number + workstationCode: string + workstationName: string + type: number // 1=上工 2=下工 + remark: string + createTime: Date +} + +// MES 工作记录 API +export const ProWorkRecordApi = { + // 查询工作记录分页 + getWorkRecordLogPage: async (params: any) => { + return await request.get({ url: `/mes/pro/workrecord/log/page`, params }) + }, + // 查询工作记录详情 + getWorkRecordLog: async (id: number) => { + return await request.get({ url: `/mes/pro/workrecord/log/get?id=` + id }) + }, + // 导出工作记录 Excel + exportWorkRecordLog: async (params: any) => { + return await request.download({ url: `/mes/pro/workrecord/log/export-excel`, params }) + }, + // 上线(绑定工作站) + clockInWorkRecord: async (workstationId: number) => { + return await request.put({ url: `/mes/pro/workrecord/clock-in?workstationId=` + workstationId }) + }, + // 下线(解绑工作站) + clockOutWorkRecord: async () => { + return await request.put({ url: `/mes/pro/workrecord/clock-out` }) + }, + // 获取当前用户绑定的工作站 + getMyWorkRecord: async () => { + return await request.get({ url: `/mes/pro/workrecord/get-my` }) + } +} diff --git a/src/utils/dict.ts b/src/utils/dict.ts index 3866d3585..633701d1c 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -293,6 +293,7 @@ export enum DICT_TYPE { MES_PRO_FEEDBACK_CHANNEL = 'mes_pro_feedback_channel', // MES 生产报工途径 MES_PRO_ANDON_STATUS = 'mes_pro_andon_status', // MES 安灯处置状态 MES_PRO_ANDON_LEVEL = 'mes_pro_andon_level', // MES 安灯级别 + MES_PRO_WORK_RECORD_TYPE = 'mes_pro_work_record_type', // MES 上下工状态类型 MES_RQC_TYPE = 'mes_rqc_type', // MES 退货检验类型 MES_WM_ARRIVAL_NOTICE_STATUS = 'mes_wm_arrival_notice_status', // MES 到货通知单状态 MES_WM_ITEM_RECEIPT_STATUS = 'mes_wm_item_receipt_status', // MES 物料接收单状态 diff --git a/src/views/mes/pro/workrecord/index.vue b/src/views/mes/pro/workrecord/index.vue new file mode 100644 index 000000000..69f8e4fcb --- /dev/null +++ b/src/views/mes/pro/workrecord/index.vue @@ -0,0 +1,271 @@ + + + +