Appearance
BizScheduleTime 排班时段
按天配置多个起止时段:时间下拉步进可配、行内即时校验(起止顺序 / 同日重叠 / allow-overnight 跨天)、每日合计与每周合计。门店营业时间、客服排班、医生出诊、设备巡检窗口;与 BizCalendarBoard 组合可构成「按周排班」的完整方案。
门店营业时间
周一8 小时
周二8 小时
周三9 小时 30 分
周四9 小时 30 分
周五11 小时
周六12 小时
周日0 分钟
休息
每周合计 58 小时(休息 1 天:周日)
提交校验
周一6 小时
时段之间存在重叠
周二0 分钟
存在结束时间不晚于开始时间的时段
每周合计 6 小时(休息 0 天:无)
跨天时段(夜班)
周一8 小时
周二9 小时
周三8 小时
每周合计 25 小时(休息 0 天:无)
周一起 22:00 → 次日 06:00 的夜班按 8 小时计入;不开启跨天时该时段会标红提示顺序错误
自定义天集合
早班(周一/周四)9 小时
早班(周一/周四)0 分钟
休息
每周合计 9 小时(休息 1 天:早班(周一/周四))
工时核算(expose)
周一8 小时
周二9 小时
周三0 分钟
休息
每周合计 17 小时(休息 1 天:周三)
医生出诊(15 分钟步进)
周一6 小时 45 分
周二0 分钟
休息
周三3 小时 45 分
周四0 分钟
休息
周五0 分钟
休息
周六0 分钟
休息
周日0 分钟
休息
每周合计 10 小时 30 分(休息 5 天:周二、周四、周五、周六、周日)
Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| model-value / v-model | BizScheduleDay[] | [] | 每天一项:{ day: 1~7, segments: [{ start, end }] } |
| days | (number | { day: number; label: string })[] | [1..7] | 排班天集合,可用对象自定义标签 |
| allow-overnight | boolean | false | 时段可跨天(结束 < 开始视为到次日) |
| step | string | '00:30' | 时间下拉步进(ElTimeSelect step) |
| show-summary | boolean | true | 展示每日合计与每周合计 |
| disabled | boolean | false | 整体禁用 |
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 | 每周合计(分钟) |