Skip to content

BizScheduleTime 排班时段 ​

按天配置多个起止时段:时间下拉步进可配、行内即时校验(起止顺序 / 同日重叠 / allow-overnight 跨天)、每日合计与每周合计。门店营业时间、客服排班、医生出诊、设备巡检窗口;与 BizCalendarBoard 组合可构成「按周排班」的完整方案。

门店营业时间 ​

周一8 小时
至
3 小时
至
5 小时
周二8 小时
至
3 小时
至
5 小时
周三9 小时 30 分
至
9 小时 30 分
周四9 小时 30 分
至
9 小时 30 分
周五11 小时
至
11 小时
周六12 小时
至
12 小时
周日0 分钟
休息
每周合计 58 小时(休息 1 天:周日)
周一~周日逐天配置时段,周日留空即休息;底部每周合计。

提交校验 ​

周一6 小时
至
3 小时
至
3 小时
时段之间存在重叠
周二0 分钟
至
-8 小时
存在结束时间不晚于开始时间的时段
每周合计 6 小时(休息 0 天:无)
重叠 / 顺序错误行内标红,expose validate() 返回逐日错误清单。

跨天时段(夜班) ​

周一8 小时
至
8 小时
周二9 小时
至
9 小时
周三8 小时
至
8 小时
每周合计 25 小时(休息 0 天:无)
allow-overnight 后结束 < 开始视为持续到次日(22:00 → 06:00 计 8 小时)。

自定义天集合 ​

早班(周一/周四)9 小时
至
9 小时
早班(周一/周四)0 分钟
休息
每周合计 9 小时(休息 1 天:早班(周一/周四))
days 传 { day, label } 自定义排班行(门店轮班场景)。

工时核算(expose) ​

周一8 小时
至
3 小时
至
5 小时
周二9 小时
至
9 小时
周三0 分钟
休息
每周合计 17 小时(休息 1 天:周三)
getDayTotal(day) / getWeekTotal() 计算薪酬基准工时。

医生出诊(15 分钟步进) ​

周一6 小时 45 分
至
3 小时 45 分
至
3 小时
周二0 分钟
休息
周三3 小时 45 分
至
3 小时 45 分
周四0 分钟
休息
周五0 分钟
休息
周六0 分钟
休息
周日0 分钟
休息
每周合计 10 小时 30 分(休息 5 天:周二、周四、周五、周六、周日)
step="00:15" 号段粒度 + 提交前校验。

Props ​

属性名类型默认值说明
model-value / v-modelBizScheduleDay[][]每天一项:{ day: 1~7, segments: [{ start, end }] }
days(number | { day: number; label: string })[][1..7]排班天集合,可用对象自定义标签
allow-overnightbooleanfalse时段可跨天(结束 < 开始视为到次日)
stepstring'00:30'时间下拉步进(ElTimeSelect step)
show-summarybooleantrue展示每日合计与每周合计
disabledbooleanfalse整体禁用

Events ​

事件名参数说明
update:model-value(value: BizScheduleDay[])任意时段增删改后回发完整排班
change(day: number, value: BizScheduleDay[])变化日 + 完整排班

Expose ​

名称类型说明
validate() => { valid: boolean; errors: { day: number; message: string }[] }全量校验
getDayTotal(day: number) => number指定天合计(分钟)
getWeekTotal() => number每周合计(分钟)