Skip to content

BizResourceBooking 资源预约 ​

资源维度 × 日期的时段网格预约组件:资源清单切换(含停用置灰)、半点/整点粒度时段表(空闲 / 已占 / 已过三态)、点选两格圈定区间并即时冲突拦截、事由与参与人表单(时长边界 + 容纳上限校验)、我的预约取消与变更(变更 = 预填 + 提交自动替换旧约)、周期预约(每周 / 每两周 × N 期,整组冲突检测与整组取消)。与 BizAppointmentPicker(个人时段选择表单件)互补:本组件面向「多资源 + 多人冲突」的业务面板层,适用于会议室预订、车辆调度、共享设备与场地预约等场景。

基础用法 ​

资源预约

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加
我的预约(近 1 条)
2026-10-27 09:00~10:30长江会议室待使用
左列选资源、中列时段表点选两格圈区(起点 → 终点)、右侧表单提交;已占时段红底显示预约人与事由。

车辆调度(容量校验) ​

公务车辆预约

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 09:00已过
09:00 – 10:00已过
10:00 – 11:00已过
11:00 – 12:00已过
12:00 – 13:00已过
13:00 – 14:00已过
14:00 – 15:00已过
15:00 – 16:00已过
16:00 – 17:00已过
17:00 – 18:00空闲可约
18:00 – 19:00空闲可约
19:00 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加
capacity 为数字时参与提交校验:5 座车填 6 个参与人会被拦截;停用资源置灰不可选。

冲突拦截 ​

资源预约

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加

09:00~12:00 已被占用:选中起点后跨越占用格,终点即被拦截;成功提交 0 次。

跨占用圈区时终点被拦截;提交前还有一道兜底校验(红字提示)。

远程模式(三接口) ​

资源预约

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加
request 拉取占用、submit-request 提交(服务端再校验一次冲突)、cancel-request 取消;事件流水实时回显。

我的预约(取消 / 变更) ​

资源预约

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加
我的预约(近 3 条)
2026-10-26 16:00~17:00洽谈室 1使用中
2026-10-27 09:30~11:00洽谈室 1待使用
2026-10-28 14:00~15:30洽谈室 2待使用
mine: true 的记录进入底部面板;取消需二次确认,「变更」载入原信息,提交成功后旧约自动取消。

周期预约(每周) ​

资源预约

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
重复
事由
参与人
输入姓名回车添加
allow-recurring 开启重复选择:每周 × 4 期提交产生系列记录(我的预约带「系列」标)。

周期预约(每两周) ​

双周例会预约

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
重复
事由
参与人
输入姓名回车添加
双周口径 × 3 期,适合双周例会 / 双周盘点等低频例会场景。

整组冲突拦截 ​

周期冲突演示(第 3 / 5 期被占)

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
重复
事由
参与人
输入姓名回车添加
任一期次与既有预约冲突即整组拒绝提交,消息标出冲突期次与日期。

系列整组取消 ​

系列预约整组取消

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加
我的预约(近 3 条)
2026-11-02 09:30~10:30长江会议室系列待使用
2026-11-09 09:30~10:30长江会议室系列待使用
2026-11-16 09:30~10:30长江会议室系列待使用
共享 seriesId 的多期记录取消时二次确认「整组取消」,逐期外抛 cancel 事件。

期数上限与载荷 ​

期数上限演示(2~4 期)

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
重复
事由
参与人
输入姓名回车添加
max-repeat-count 钳制期数;submit 载荷携带 repeat(kind / count / 全期日期清单)。

远程周期预约 ​

周期预约(远程模式)

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
重复
事由
参与人
输入姓名回车添加
submit-request 收到含 repeat 的整组载荷一次落库;整组取消时 cancel-request 逐单回调。

营业时段与整点粒度 ​

羽毛球场预约

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
10:00 – 11:00已过
11:00 – 12:00已过
12:00 – 13:00已过
13:00 – 14:00已过
14:00 – 15:00已过
15:00 – 16:00已过
16:00 – 17:00已过
17:00 – 18:00空闲可约
18:00 – 19:00空闲可约
19:00 – 20:00空闲可约
20:00 – 21:00空闲可约
21:00 – 22:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加
day-start / day-end 收窄网格,granularity: 60 切整点粒度(场馆 / 门店按小时计费场景)。

时长边界 ​

专家咨询预约(每场 1~2 小时)

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加

min-duration / max-duration 按「格数 × 粒度」换算时长,提交前即时校验。

min-duration / max-duration 控制单次预约时长,提交前即时提示。

停用资源 ​

共享设备预约

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加
disabled 资源(维修 / 封场)不可选,即使程序化切到该资源提交也会被拦。

过去日期防护 ​

默认:禁止回看

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加

allow-past:可回看历史占用

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30空闲可约
08:30 – 09:00空闲可约
09:00 – 09:30空闲可约
09:30 – 10:00空闲可约
10:00 – 10:30空闲可约
10:30 – 11:00空闲可约
11:00 – 11:30空闲可约
11:30 – 12:00空闲可约
12:00 – 12:30空闲可约
12:30 – 13:00空闲可约
13:00 – 13:30空闲可约
13:30 – 14:00空闲可约
14:00 – 14:30空闲可约
14:30 – 15:00空闲可约
15:00 – 15:30空闲可约
15:30 – 16:00空闲可约
16:00 – 16:30空闲可约
16:30 – 17:00空闲可约
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加
默认禁止选择历史日期、今日已过时段划线不可点;allow-past 开启后可回看历史排期(已完成 / 已取消记录不占时段)。

只读占用总览 ​

前台值班 · 占用总览

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
readonly 隐藏新建表单与取消操作,仅资源切换 + 占用一览,适合前台值班台 / 大屏。

插槽 ​

资源预约

请选择资源 · 2026-10-26 时段表空闲 已占 已选
时段状态
08:00 – 08:30已过
08:30 – 09:00已过
09:00 – 09:30已过
09:30 – 10:00已过
10:00 – 10:30已过
10:30 – 11:00已过
11:00 – 11:30已过
11:30 – 12:00已过
12:00 – 12:30已过
12:30 – 13:00已过
13:00 – 13:30已过
13:30 – 14:00已过
14:00 – 14:30已过
14:30 – 15:00已过
15:00 – 15:30已过
15:30 – 16:00已过
16:00 – 16:30已过
16:30 – 17:00已过
17:00 – 17:30空闲可约
17:30 – 18:00空闲可约
18:00 – 18:30空闲可约
18:30 – 19:00空闲可约
19:00 – 19:30空闲可约
19:30 – 20:00空闲可约
新建预约
时段点击左侧空闲时段圈定区间
事由
参与人
输入姓名回车添加
我的预约(近 1 条)
2026-10-27 10:00~11:30共享工位 A 区待使用单号 t1
resource-extra 资源卡底部追加信息、my-booking-extra 我的预约行追加内容。

Props ​

属性名类型默认值说明
titlestring'资源预约'面板标题
resourcesBizBookingResource[][]资源清单:{ id, name, capacity?, location?, tags?, disabled? };capacity 为数字时参与人数上限校验
bookingsBizBookingRecord[][]预约记录(本地模式数据源):{ id, resourceId, date, start, end, booker, purpose?, status?, mine?, seriesId? }
day-startnumber8网格起始小时
day-endnumber20网格结束小时(不含)
granularity30 | 6030时段粒度(分钟)
datestring今天初始查看日期(YYYY-MM-DD)
allow-pastbooleanfalse允许选择过去日期与已过时段(历史回看)
min-durationnumber30单次预约最小时长(分钟)
max-durationnumber240单次预约最大时长(分钟)
require-purposebooleantrue事由必填
current-userstring'当前用户'当前用户名(新预约归属)
request() => Promise<BizBookingRecord[]>—远端拉取预约记录(远程模式)
submit-request(payload) => Promise<void>—预约提交(远程模式,失败提示后中止)
cancel-request(record) => Promise<void>—取消预约(远程模式)
my-limitnumber5我的预约面板展示条数
allow-recurringbooleanfalse开启周期预约(重复:每周 / 每两周 × N 期)
max-repeat-countnumber8周期预约最大期数(期数钳制 2 ~ 该值)
readonlybooleanfalse只读模式:仅查看占用,隐藏表单与取消

Events ​

事件名参数说明
submit(payload: BizBookingPayload)预约提交(先于 submitRequest 外抛);payload 携带 replaceOf 时为变更提交,携带 repeat 时为周期预约(dates 含全期日期)
cancel(record: BizBookingRecord)预约取消(含变更提交后的旧约自动取消;系列整组取消时逐期外抛)

Slots ​

插槽名说明
resource-extra{ resource } 资源卡底部追加内容(建议非交互元素,卡片本身为按钮)
my-booking-extra{ record } 我的预约行尾部追加内容

Expose ​

属性/方法说明
refresh() => Promise<void> 重新拉取预约(request 注入时)
prefillFrom(record: BizBookingRecord) => void 以既有记录预填新建表单(「变更」的程序化入口)

口径说明 ​

  • 时段占用:[start, end) 左闭右开;status 为 canceled / done 的记录不占时段。
  • 冲突拦截:三层——圈区终点校验、提交前兜底校验、远程模式 submitRequest 服务端复验(示例中的 reject 分支)。
  • 变更:不直接改旧约,而是「预填 + replaceOf 提交」:新约落库后旧约置 canceled 并外抛 cancel 事件,保证审计可追溯;系列预约成员不支持单期变更(提示整组取消后重提)。
  • 周期预约:首期 = 当前查看日期,之后按每周 / 每两周步进;提交前整组冲突检测(任一期次冲突即整组拒绝,消息标出冲突期次与日期,被替换旧约不计冲突);落库为共享 seriesId 的多期记录,取消走「整组取消」二次确认。
  • 已过判定:仅当查看日期为今天且时段结束时刻 ≤ 当前分钟时置灰;跨天与 allow-past 场景不受影响。