feat: 新增考勤管理相关功能模块

1.  新增考勤班次、考勤规则、倒班规则、考勤排班、考勤比对等API接口
2.  新增考勤管理相关页面,包括班次管理、考勤规则管理、倒班规则管理、排班管理等
3.  完善日期时间格式化注解,修复参数绑定问题
4.  优化时间选择组件,支持日期/时间模式切换
This commit is contained in:
2026-05-15 14:02:14 +08:00
parent edbad7e0df
commit 1af19ce959
14 changed files with 3228 additions and 6 deletions

View File

@@ -4,18 +4,18 @@
<el-date-picker
style="width: 200px;"
v-model="startTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择开始时间"
:type="pickerType"
:value-format="format"
:placeholder="isDateType ? '选择开始日期' : '选择开始时间'"
@change="handleTimeChange"
/>
<span class="separator"></span>
<el-date-picker
style="width: 200px;"
v-model="endTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择结束时间"
:type="pickerType"
:value-format="format"
:placeholder="isDateType ? '选择结束日期' : '选择结束时间'"
@change="handleTimeChange"
/>
</div>
@@ -55,6 +55,18 @@ export default {
defaultEndTime: {
type: String,
default: ''
},
format: {
type: String,
default: 'yyyy-MM-dd HH:mm:ss'
}
},
computed: {
pickerType() {
return this.isDateType ? 'date' : 'datetime'
},
isDateType() {
return this.format === 'yyyy-MM-dd'
}
},
data() {
@@ -94,12 +106,14 @@ export default {
},
// 从时间字符串中提取时分秒部分
getTimePart(timeStr) {
if (this.isDateType) return ''
if (!timeStr) return '07:00:00'
const parts = timeStr.split(' ')
return parts.length > 1 ? parts[1] : '07:00:00'
},
// 将日期和时间组合
combineDateTime(dateStr, timeStr) {
if (this.isDateType) return dateStr
return `${dateStr} ${timeStr}`
},
handleTimeChange() {