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 @@