From a99abc9e0170be21b32a2aa3611555fe4e23c233 Mon Sep 17 00:00:00 2001 From: hwj Date: Wed, 15 Apr 2026 16:38:03 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=B7=BB=E5=8A=A0=E6=8A=A5?= =?UTF-8?q?=E5=B7=A5=E8=AE=B0=E5=BD=95=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mes/baogongrecord/index.ts | 33 +++- src/locales/en.ts | 27 +++ src/locales/zh-CN.ts | 26 +++ src/views/mes/workReportRecord/index.vue | 224 +++++++++++++++++++++++ 4 files changed, 309 insertions(+), 1 deletion(-) create mode 100644 src/views/mes/workReportRecord/index.vue diff --git a/src/api/mes/baogongrecord/index.ts b/src/api/mes/baogongrecord/index.ts index 5581889a..6e7fb98d 100644 --- a/src/api/mes/baogongrecord/index.ts +++ b/src/api/mes/baogongrecord/index.ts @@ -3,11 +3,28 @@ import request from '@/config/axios' // 报工 VO export interface BaogongRecordVO { id: number // id - planId: number // 关联计划id + planId: number // 关联计划 id num: number // 派工数量 baogongTime: Date // 派工时间 } +// 报工统计 VO +export interface BaogongRecordStatVO { + id: number // ID + taskCode: string // 任务单编码 + planCode: string // 计划单编码 + employeeId: string // 员工 ID + employeeName: string // 员工姓名 + productName: string // 产品名称 + productCode: string // 产品编码 + baogongNum: number // 报工数量 + passNum: number // 合格数量 + noPassNum: number // 不合格数量 + passRate: number // 合格率 (%) + reason: string // 原因 + baogongTime: Date // 报工时间 +} + // 报工 API export const BaogongRecordApi = { // 查询报工分页 @@ -15,6 +32,11 @@ export const BaogongRecordApi = { return await request.get({ url: `/mes/baogong-record/page`, params }) }, + // 查询报工统计分页 + getBaogongRecordStatPage: async (params: any) => { + return await request.get({ url: `/mes/baogong-record/stat-page`, params }) + }, + // 查询报工详情 getBaogongRecord: async (id: number) => { return await request.get({ url: `/mes/baogong-record/get?id=` + id }) @@ -40,4 +62,13 @@ export const BaogongRecordApi = { return await request.download({ url: `/mes/baogong-record/export-excel`, params }) }, + // 导出报工统计 Excel + exportBaogongRecordStat: async (params) => { + return await request.download({ url: `/mes/baogong-record/export-stat-excel`, params }) + }, + + // 导出报工统计 Excel (新) + statExportExcel: async (params) => { + return await request.download({ url: `/mes/baogong-record/stat-export-excel`, params }) + }, } diff --git a/src/locales/en.ts b/src/locales/en.ts index 7d9cae55..22386e12 100644 --- a/src/locales/en.ts +++ b/src/locales/en.ts @@ -3836,6 +3836,33 @@ export default { actionDeleteLabel: 'Delete', exportFilename: 'FormingRecord.xls' + }, + + WorkReportRecord: { + moduleName: 'Work Report Record', + + searchBaogongTimeLabel: 'Report Date', + searchBaogongTimeStartPlaceholder: 'Start Date', + searchBaogongTimeEndPlaceholder: 'End Date', + + buttonSearchText: 'Search', + buttonResetText: 'Reset', + buttonExportText: 'Export', + + tableTaskCodeColumn: 'Task Code', + tablePlanCodeColumn: 'Plan Code', + tableEmployeeIdColumn: 'Employee ID', + tableEmployeeNameColumn: 'Employee Name', + tableProductNameColumn: 'Product Name', + tableProductCodeColumn: 'Product Code', + tableBaogongNumColumn: 'Report Quantity', + tablePassNumColumn: 'Pass Quantity', + tableNoPassNumColumn: 'No-Pass Quantity', + tablePassRateColumn: 'Pass Rate(%)', + tableReasonColumn: 'Reason', + tableBaogongTimeColumn: 'Report Time', + + exportFilename: 'Employee Work Report Statistics.xls' } }, DataCollection: { diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index ca09da25..cc40ad33 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -3682,6 +3682,32 @@ export default { actionDeleteLabel: '删除', exportFilename: '成型记录.xls' + }, + WorkReportRecord: { + moduleName: '报工记录', + + searchBaogongTimeLabel: '报工日期', + searchBaogongTimeStartPlaceholder: '开始日期', + searchBaogongTimeEndPlaceholder: '结束日期', + + buttonSearchText: '搜索', + buttonResetText: '重置', + buttonExportText: '导出', + + tableTaskCodeColumn: '任务单编码', + tablePlanCodeColumn: '计划单编码', + tableEmployeeIdColumn: '员工 ID', + tableEmployeeNameColumn: '员工姓名', + tableProductNameColumn: '产品名称', + tableProductCodeColumn: '产品编码', + tableBaogongNumColumn: '报工数量', + tablePassNumColumn: '合格数量', + tableNoPassNumColumn: '不合格数量', + tablePassRateColumn: '合格率 (%)', + tableReasonColumn: '原因', + tableBaogongTimeColumn: '报工时间', + + exportFilename: '员工报工统计.xls' } }, DataCollection: { diff --git a/src/views/mes/workReportRecord/index.vue b/src/views/mes/workReportRecord/index.vue new file mode 100644 index 00000000..dd27ac07 --- /dev/null +++ b/src/views/mes/workReportRecord/index.vue @@ -0,0 +1,224 @@ + + + + +