Skip to content

BizTodoCenter 待办事项中心 ​

待办事项中心:页签条(待办 / 已办 / 我发起,每页签带过滤后条数角标)+ 关键字检索(标题 / 摘要 / 发起人包含匹配,300ms 防抖)+ 优先级色点(紧急 / 高 / 普通 / 低,紧急附红色「紧急」标)+ 超期红标(截止早于今天显示「已超期 X 天」)+ 行内操作(可配 ElMessageBox 二次确认)+ 前端分页 + 骨架 / 空态。组件不含业务接口:数据由 items 传入,操作与点击全部事件外抛,适合工作台首屏、导航待办抽屉等场景。

基础用法 ​

合同审批
供应商已盖章,等待法务与财务会签后归档
王倩2026-10-16 09:20
人事流程
待开通邮箱、门禁与内部系统权限
李强2026-10-17 14:05
权限申请
申请城市安全运行大屏的只读权限
赵敏2026-10-18 11:40

当前页签:todo;最近点击:(无)

默认页签(待办 / 已办 / 我发起),事项按 source 归属页签(缺省 'todo');点击标题触发 item-click。

自定义页签 ​

运维流程
10 月第二周巡检异常项整改确认
周凯2026-10-15 10:12
紧急采购会签
涉及预算调整,需本周内完成会签
吴静2026-10-18 15:40

事项按 source 归属页签;当前页签 key:mine

tabs 替换默认页签(如 我的待办 / 抄送我 / 我督办),source 与页签 key 对应即完成归属。

关键字检索 ​

合同审批
供应商已盖章,等待法务与财务会签后归档
王倩2026-10-16 09:20
资源申请
模型训练节点内存扩容至 256G
刘洋2026-10-17 11:00
权限申请
申请城市安全运行大屏的只读权限
赵敏2026-10-18 11:40
合同审批
上半年框架合同归档编号补录
孙洁2026-10-19 17:25

输入「合同 / 扩容 / 赵敏」等关键字体验过滤(停止输入 300ms 后生效);过滤后待办数:4 条

filterable(默认开启)展示搜索框,停止输入 300ms 后按标题 / 摘要 / 发起人过滤;页签角标随过滤实时更新。

优先级 ​

紧急变更审批
今晚 22:00 割接窗口,超时顺延一周
刘洋2026-10-20 08:30
采购会签
涉及预算调整,需本周内完成会签
吴静2026-10-19 14:10
人事流程
待开通邮箱、门禁与内部系统权限
李强2026-10-18 09:05
知识库
不急,本月内评审即可
郑爽2026-10-17 16:45

urgent=危险红 + 「紧急」标;high=警告橙;normal=主色蓝;low=信息灰(level 缺省视为 normal)

level 四级:urgent=危险红(附「紧急」标)、high=警告橙、normal=主色蓝、low=信息灰;缺省视为 normal。

超期标识 ​

紧急报告提交
上周五截止,已进入超期催办
何军2026-10-08 09:00已超期 5 天
隐患督办
昨天截止,等待现场复核照片
周凯2026-10-12 10:30已超期 1 天
行政流程
今日 18:00 截止
我2026-10-19 08:40截止 2026-10-26
会议材料
后天评审会前提交
赵敏2026-10-18 15:20截止 2026-10-28
总结
月底前完成即可
孙洁2026-10-16 11:15截止 2026-11-04

截止早于今天(自然日)→ 红色「已超期 X 天」;今天及以后 → 灰色「截止 yyyy-mm-dd」

dueTime 早于今天(按自然日)→ 红色「已超期 X 天」;今天及以后 → 灰色「截止 yyyy-mm-dd」。

行内操作 ​

合同审批
供应商已盖章,等待法务与财务会签后归档
王倩2026-10-16 09:20
紧急财务报销
差旅报销 3,860 元,附发票 6 张
陈晨2026-10-19 16:30
资源申请
模型训练节点内存扩容至 256G
刘洋2026-10-17 11:00

操作记录:(无)

actions 配置行内按钮(ElButton link);confirm 非空时先弹 ElMessageBox 二次确认,取消不触发 action 事件。

分页 ​

紧急运维流程
分页第 1 条事项的摘要说明
员工12026-10-01 09:00
权限申请
分页第 2 条事项的摘要说明
员工22026-10-02 09:00
采购会签
分页第 3 条事项的摘要说明
员工32026-10-03 09:00
运维流程
分页第 4 条事项的摘要说明
员工42026-10-04 09:00
紧急权限申请
分页第 5 条事项的摘要说明
员工52026-10-05 09:00

上:默认 pageSize=5,过滤 / 切页签后自动回到第 1 页

紧急运维流程
不分页第 1 条事项的摘要说明
员工12026-10-01 09:00
权限申请
不分页第 2 条事项的摘要说明
员工22026-10-02 09:00
采购会签
不分页第 3 条事项的摘要说明
员工32026-10-03 09:00
运维流程
不分页第 4 条事项的摘要说明
员工42026-10-04 09:00
紧急权限申请
不分页第 5 条事项的摘要说明
员工52026-10-05 09:00
采购会签
不分页第 6 条事项的摘要说明
员工62026-10-06 09:00
运维流程
不分页第 7 条事项的摘要说明
员工72026-10-07 09:00
权限申请
不分页第 8 条事项的摘要说明
员工82026-10-08 09:00
紧急采购会签
不分页第 9 条事项的摘要说明
员工92026-10-09 09:00
运维流程
不分页第 10 条事项的摘要说明
员工102026-10-10 09:00
权限申请
不分页第 11 条事项的摘要说明
员工112026-10-11 09:00

下:page-size=0 关闭分页,11 条全部展示

默认 page-size=5 前端分页(layout 为 prev, pager, next);page-size=0 关闭分页;过滤 / 切页签 / 改每页条数自动回到第 1 页。

角标上报 ​

待办中心(当前待办 0 条,随列表过滤实时更新)

合同审批
供应商已盖章,等待会签
王倩2026-10-16 09:20
紧急财务报销
差旅报销 3,860 元
陈晨2026-10-19 16:30
待办页签(key='todo')条数变化时(含 immediate 首次)触发 badge-report,可直接接到导航铃铛 / 菜单角标。

自定义行内容 ​

[隐患督办] 隐患整改闭环确认 整改进度 40% 发起人:周凯
[会议材料] 模型评审会材料准备 整改进度 70% 发起人:赵敏
[采购会签] 安全设备采购单会签 整改进度 10% 发起人:吴静

item 插槽收到 { item, index };页签 / 检索 / 分页能力不受影响

item 插槽收到 { item, index } 接管整行渲染;另有 actions 插槽({ item })只替换操作区、header / empty 插槽定制头部与空态。

Props ​

属性名类型默认值说明
itemsBizTodoItem[][]事项数据(组件不含接口,业务侧拉取后回填)
tabsBizTodoTab[][{key:'todo',name:'待办'},{key:'done',name:'已办'},{key:'initiated',name:'我发起'}]页签配置(key 与 item.source 对应)
v-model:active-tabstring'todo'激活页签 key
filterablebooleantrue关键字检索框(300ms 防抖)
page-sizenumber5每页条数;0 不分页
actionsBizTodoAction[][]行内操作按钮(confirm 非空先二次确认)
show-timebooleantrue展示创建时间
show-applicantbooleantrue展示发起人
loadingbooleanfalse加载中(3 行骨架)
empty-textstring'暂无事项'空态文案

Events ​

事件名参数说明
update:activeTab(key: string)激活页签变化(v-model:active-tab)
tab-change(key: string)页签切换(与 update:activeTab 同时触发)
action(payload: { item: BizTodoItem; action: BizTodoAction })行内操作确认后触发
item-click(item: BizTodoItem)点击事项标题
badge-report(count: number)待办(key='todo')条数变化上报(watch immediate)

Slots ​

插槽名说明
item自定义整行内容,参数 { item, index }
actions自定义行内操作区,参数 { item }(item 插槽接管整行时不再生效)
empty自定义空态
header顶部自定义内容(页签条之上)

Expose ​

名称类型说明
setActiveTab(key: string) => void切换页签(与点击页签一致:触发 update:activeTab 与 tab-change)
getActiveTab() => string当前激活页签 key
getPendingCount() => number待办(source='todo')条数(含关键字过滤,与页签角标一致)
getFilteredItems() => BizTodoItem[]当前页签 + 关键字过滤后的完整列表(分页切片前)