针对「节假日设置有问题」的修复说明。问题出在**后端**:权限码与前端/菜单不一致、缺字典、搜索参数不匹配。
修复后**前端不需要改任何代码**,页面即可正常打开、搜索、新增、编辑、导出。
views/hrm/attendance/holiday/index.vue(考勤 · 节假日配置,菜单「节假日配置」)| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /hrm/attendance/holiday/page |
分页查询(参数按下表修正) |
| GET | /hrm/attendance/holiday/get |
详情(id) |
| POST | /hrm/attendance/holiday/create |
新增 |
| PUT | /hrm/attendance/holiday/update |
修改 |
| DELETE | /hrm/attendance/holiday/delete |
删除(id) |
| GET | /hrm/attendance/holiday/export-excel |
导出(与分页同参数) |
请求参数(分页 / 导出,本次修正点在「变更」列):
| 参数 | 类型 | 必填 | 说明 | 变更 |
|---|---|---|---|---|
| name | String | 否 | 节假日名称,模糊匹配 | 不变 |
| type | Integer | 否 | 类型:1-休息日,2-工作日 | 不变 |
| isLegal | Integer | 否 | 是否法定节假日:0-否,1-是 | 新增支持(此前前端传了被后端忽略) |
| date | Array | 否 | 日期区间,格式 [开始日期, 结束日期],如 ["2026-01-01","2026-12-31"] |
新增支持,取代原先的 startDate/endDate |
| pageNo / pageSize | Integer | 否 | 分页参数 | 不变 |
前端搜索表单的「日期」区间控件当前提交的字段名就是
date(重复参数形式),修复后与后端一致,**无需改动**。
权限码(本次修正,前端无需改动):
| 接口 | 修复前(不存在,必然 403) | 修复后(与菜单节点一致) |
|---|---|---|
| 新增 | hrm:attendance:create |
hrm:attendance-holiday:create |
| 修改 | hrm:attendance:update |
hrm:attendance-holiday:update |
| 删除 | hrm:attendance:delete |
hrm:attendance-holiday:delete |
| 详情 / 分页 | hrm:attendance:query |
hrm:attendance-holiday:query(**菜单中新增该按钮节点**) |
| 导出 | hrm:attendance:export |
hrm:attendance-holiday:export |
| 字典类型 | 值 | 显示 | 颜色 |
|---|---|---|---|
hrm_holiday_type |
1 | 休息日 | success(绿) |
hrm_holiday_type |
2 | 工作日 | primary(蓝) |
修复前该字典不存在,导致「类型」单选没有任何选项、列表「类型」列显示空白,且类型为必选,新增/编辑**点保存必然校验失败**。
| 场景 | 规则 |
|---|---|
| 日期唯一 | 一个日期只能有一条配置,重复新增会提示「日期【xxx】已存在节假日配置…请改为编辑该日期的记录,或先删除原记录再新增」 |
| 修改日期 | 修改记录时允许改日期;改后的日期若已被占用,同样按上一条提示 |
| 类型含义 | 1-休息日:当天不上班(法定节假日应同时勾选「法定节假日」);2-工作日:当天上班(常用于调休补班) |
| 未配置的日期 | 不落库、不参与「节假日」列表;系统判定工作日时按「周一至周五算工作日、周末算休息日」兜底 |
| 「法定节假日」 | 仅作标记与筛选,不影响是否上班的判定 |
| 数据引用 | 排班计划、考勤打卡、考勤统计均读取这张表:配置为「工作日」的周末会正常生成出勤要求 |
startDate / endDate 两个旧参数已移除;如仍有其它调用方在使用,需改用 date 数组hrm:attendance-rule:*、考勤记录 hrm:attendance-record:*、考勤统计 hrm:attendance-summary:*、考勤异常 hrm:attendance-exception:*)同样存在,**本次未一并修改**,需要时可按同样方式对齐