From 55ae4ad3325f6cb1bcf48ed60e069aff254026b2 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 6 Jul 2026 10:54:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(attendance):=20=E4=BC=98=E5=8C=96=E8=80=83?= =?UTF-8?q?=E5=8B=A4=E8=AE=B0=E5=BD=95=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=83=A8=E9=97=A8=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改后端接口参数名称从 deptname 改为 enames - 实现前端多员工选择下拉框组件 - 添加部门联动员工动态加载功能 - 重构导出逻辑支持按员工列表精确过滤 - 修复数组参数序列化导致的逗号编码问题 - 新增获取部门列表和按部门查询员工的API接口 - 实现导出表单验证和异步处理机制 --- klp-ui/src/api/wms/attendance.js | 15 ++- klp-ui/src/api/wms/employeeInfo.js | 17 +++ klp-ui/src/views/wms/hrm/attendance/sync.vue | 104 +++++++++++++----- .../AttendanceRecordsController.java | 4 +- .../controller/WmsEmployeeInfoController.java | 16 +++ .../service/IAttendanceRecordsService.java | 2 +- .../klp/service/IWmsEmployeeInfoService.java | 10 ++ .../impl/AttendanceRecordsServiceImpl.java | 21 ++-- .../impl/WmsEmployeeInfoServiceImpl.java | 31 ++++++ 9 files changed, 180 insertions(+), 40 deletions(-) diff --git a/klp-ui/src/api/wms/attendance.js b/klp-ui/src/api/wms/attendance.js index d1d4090c9..402a8d202 100644 --- a/klp-ui/src/api/wms/attendance.js +++ b/klp-ui/src/api/wms/attendance.js @@ -63,6 +63,19 @@ export function exportAttendanceReport(params) { url: '/wms/attendanceRecords/exportReport', method: 'post', params: params, - responseType: 'blob' + responseType: 'blob', + // enames 是数组,需要特殊序列化避免逗号被二次编码 + paramsSerializer: params => { + const searchParams = new URLSearchParams(); + Object.keys(params).forEach(key => { + const val = params[key]; + if (Array.isArray(val)) { + searchParams.append(key, val.join(',')); + } else if (val !== undefined && val !== null && val !== '') { + searchParams.append(key, val); + } + }); + return searchParams.toString(); + } }) } diff --git a/klp-ui/src/api/wms/employeeInfo.js b/klp-ui/src/api/wms/employeeInfo.js index ba694c670..0e6d4124a 100644 --- a/klp-ui/src/api/wms/employeeInfo.js +++ b/klp-ui/src/api/wms/employeeInfo.js @@ -42,3 +42,20 @@ export function delEmployeeInfo(infoId) { method: 'delete' }) } + +// 获取所有不重复的部门名称 +export function getDepts() { + return request({ + url: '/wms/employeeInfo/depts', + method: 'get' + }) +} + +// 根据部门查询在职员工 +export function getEmployeesByDept(dept) { + return request({ + url: '/wms/employeeInfo/employeesByDept', + method: 'get', + params: { dept } + }) +} diff --git a/klp-ui/src/views/wms/hrm/attendance/sync.vue b/klp-ui/src/views/wms/hrm/attendance/sync.vue index 6253c0caf..821b4a853 100644 --- a/klp-ui/src/views/wms/hrm/attendance/sync.vue +++ b/klp-ui/src/views/wms/hrm/attendance/sync.vue @@ -211,7 +211,14 @@ - + + + + + + + +