排班管理 科室 / 班次 / 周视图 / 缺口发单 / 变更审批 / 工时台账 返回机构后台 ›
租户:{{ tenantId }} 冲突 {{ conflicts.length }} 缺口 {{ vacantCount }} 点击重试 ({{ loadErr }})

点击空白格给该班次排人;格子里的「缺口」可一键发成公开岗位(自动带科室 / 日期 / 时段 / 所需能力)。 班次挂了能力标签时,只能排「标签匹配」的医生,机构可勾选「特批」强行排(会留痕)。

{{ weekFrom }} ~ {{ weekTo }}
检测到冲突:同一医生在同一天同一时段被排了多次 —— {{ c.doctorName || c.doctorId }}({{ c.workDate }}{{ c.slot === 'AM' ? '上午' : c.slot === 'PM' ? '下午' : '' }})
未发布的班次是草稿,医生看不到;发布后逐人推送通知,仍有缺口会提醒你自己
日期
{{ s.name }}
{{ s.slot === 'AM' ? '上午' : s.slot === 'PM' ? '下午' : '全天' }} {{ s.startTime || '' }}{{ s.endTime ? '-' + s.endTime : '' }}
还没有班次类型,请先到「科室与班次」里建好班次

科室是机构自建的组织单元;班次类型可挂「所需能力标签」,排班时只在标签匹配的医生中选人。

科室

名称编码排班数操作
{{ d.name }} {{ d.code }} {{ depUseCount(d.id) }}
暂无科室

班次类型

名称时段时间所需能力操作
{{ s.name }} {{ s.slot === 'AM' ? '上午' : s.slot === 'PM' ? '下午' : '全天' }} {{ s.startTime || '—' }}{{ s.endTime ? '-' + s.endTime : '' }} {{ (s.capabilities || []).join('、') || '—' }}
暂无班次

这里给医生打「科室 + 能力标签」;缺口发单时会按标签自动筛出「谁能接」。

医生科室编码能力标签等级更新时间
{{ c.doctorName || c.doctorId }} {{ c.departmentCode }} {{ (c.tags || []).join('、') || '—' }} {{ c.level || '—' }} {{ PC.fmt(c.updatedAt) }}
暂无能力记录

7 类变更走统一审批链:请假 / 调休 / 加班 / 扣班 / 改班 / 换班 / 顶班。 换班与顶班必须先由对方医生确认,之后才进入审批;最后一级通过才真正改排班。 审批通过后,凡导致「班空」的变动会自动把班次置为「缺口」,可一键发需求。

{{ typeCN(c.type) }} · {{ c.departmentName || '—' }} · {{ c.workDate || '—' }} {{ slotCN(c.fromSlot) }}
申请人:{{ c.applicantName || applicantCN(c.applicantType) }}  原因:{{ c.reason || '—' }}
状态:{{ changeStCN(c.status) }}
暂无变更单,医生提交调班申请后会显示在这里

存工时 / 欠工时由排班与变更自动累计;调休用存工时抵扣。手工「工时修正」与「扣班」是两套动作,修正需填写原因并留痕。

各医生余量

医生当前余量(小时)累计增减操作
{{ b.doctorName || b.doctorId }} {{ b.balance }} {{ b.totalHours }}
暂无工时记录

流水(最近 50 条)

时间医生类型增减余量原因
{{ PC.fmt(l.createdAt) }} {{ l.doctorName || l.doctorId }} {{ hourCN(l.type) }} {{ l.delta >= 0 ? '+' : '' }}{{ l.delta }} {{ l.balanceAfter }} {{ l.reason || '—' }}
暂无流水

按医生聚合工时与请假情况:余额=存/欠工时;近 90 天排班为正常上班的量,与「变动工时」分开统计。点击医生行看近 6 月按月明细。

医生存/欠余额加班 +调休 −扣班 −修正 ±请假次数近90天排班
{{ s.name || s.doctorId }} {{ s.balance }} {{ s.overtime || 0 }} {{ s.rest || 0 }} {{ s.deduct || 0 }} {{ s.adjust || 0 }} {{ s.leaveCount }} {{ s.shifts90d }} 班
暂无工时数据:审批通过的请假 / 调休 / 加班 / 扣班会自动计入

{{ selStat.name || selStat.doctorId }} · 近 6 月按月明细

月份加班 +调休 −扣班 −修正 ±请假次数
{{ m.ym }} {{ m.v.overtime || 0 }} {{ m.v.rest || 0 }} {{ m.v.deduct || 0 }} {{ m.v.adjust || 0 }} {{ m.v.leaveCount }}
近 6 个月暂无变动记录

周期前收集医生「想上什么班」,排班时全员意向并排可见;排完可对比「未满足意向」。

医生周期偏好时段期望日期备注
{{ e.doctorName || e.doctorId }} {{ e.periodStart }} ~ {{ e.periodEnd }} {{ slotCN(e.preferSlot) || '不限' }} {{ (e.preferDays || []).join('、') || '—' }} {{ e.note || '—' }}
暂无意向

生成标准排班文案,复制后发到科室群即可(图片/链接版由分享入口生成,口径以这里为准)。

分享区间 {{ shareCount }} 条排班
{{ shareText || '(点「生成分享文案」)' }}

排班分组

分组成员数创建时间
{{ g.name }} {{ (g.memberIds || []).length }} {{ PC.fmt(g.createdAt) }}
暂无分组

{{ cell.editing ? '修改排班' : '新增排班' }} · {{ cell.date }} {{ slotCN(cell.shift && cell.shift.slot) }} {{ cell.shift && cell.shift.name }}

科室
医生

该班次要求能力:{{ (cell.shift.capabilities || []).join('、') }} —— 不匹配会被拦截,除非勾选下方「特批」。

发起排班变更

类型
目标班次
改为时段
接替医生
审批级数
原因