Skip to content

BizTaskCenter 任务中心 ​

任务中心:批量任务进度面板与下载任务弹层的统一组件(由 BizBatchProgress 批量任务进度与 BizDownloadCenter 下载任务中心合并而来,两组件能力 100% 保留)。两种形态经 mode 切换:

  • panel 面板直出(原 BizBatchProgress 形态):总进度条 + 分状态统计(等待 / 进行中 / 成功 / 失败 / 已取消)+ 明细列表——行内进度、失败原因、单任务重试 / 取消 / 移除,整体「重试失败 / 取消全部 / 清空已完成」,全部终态触发一次 done;
  • trigger 触发按钮 + 弹层面板(原 BizDownloadCenter 形态):触发按钮携带进行中数量角标,弹出任务面板,success 行提供下载动作,polling 开启且存在未完成任务时周期外抛 refresh 由业务侧拉列表回填。

明细行按文件扩展名渲染类型角标(xlsx 绿 / pdf 红 / doc 蓝 / zip 橙,可经 type-colors 自定义映射)。纯受控组件:任务推进由业务层驱动(定时器 / 轮询 / SSE)经 tasks 回写,retry / cancel / remove / download 等操作全部事件外抛,组件不含任何任务接口。批量导出报表、对账单下载、批量发货、夜间批处理等场景。

面板基础(panel 形态) ​

明细列表
整体操作
任务中心
共 0
0%

暂无任务

发起批量导出,定时器模拟推进:总进度按终态满格 + 进行中 progress 折算;done 全部终态触发一次;开关演示纯总进度(show-tasks=false)与收起整体操作(show-actions=false)。

触发按钮 + 角标弹层(trigger 形态) ​

2
触发按钮带进行中数量角标,弹层四态全展示:已完成(可下载 / 可移除)、进行中(进度条)、排队中、失败(原因 + 重试);open() / close() 编程控制弹层,「清空已完成」由业务侧过滤列表。

文件类型角标 ​

xlsx / csv 绿、pdf 红、doc 蓝、zip / rar 橙;「归档材料」无扩展名,经 fileType 显式指定为 rar;未知扩展名兜底灰
导出文件批次
共 7等待 1进行中 2成功 2失败 1已取消 1
xlsx
商品价目表-全量.xlsx
3.1MB10-09 14:20已完成
csv
门店销售明细.csv
48%
docx
品类经营分析报告.docx
10-09 14:25等待中
pdf
质检报告-批次0917.pdf
860KB10-09 11:02已完成
zip
商品主图包-秋装.zip
12%
rar
归档材料
10-09 09:31失败
压缩包损坏,请重新上传源文件
file
结算单-无扩展名文件
10-09 08:15已取消
已手动取消
按扩展名映射配色:xls / xlsx / csv 绿、pdf 红、doc / docx 蓝、zip / rar / 7z 橙,未知兜底灰;fileType 可对无扩展名任务显式指定类型。

失败重试流 ​

夜间批处理任务
共 4进行中 1成功 1失败 2
file
会员数据同步
4.2MB已完成
file
积分清算
失败
下游接口超时(code 504),已重试 3 次
file
优惠券核销对账
失败
对账差异 12 条,人工介入后可重试
file
客户标签重算
62%
失败原因经 error 展示为红色文案;单条「重试」与头部「重试失败」批量恢复——首次重试仍失败(原因更新),第二次入队推进至完成。

取消 / 移除 / 取消全部 ​

批量发货
共 0
0%

暂无任务

批量发货批处理:进行中 / 等待任务单条取消(记为已取消),终态任务逐条移除,「取消全部」一次清场。

定时器模拟任务推进(业务驱动、可暂停) ​

业务定时器推进中
发货单生成
共 3等待 2进行中 1
13%
xlsx
发货单-华东仓.xlsx
40%
xlsx
发货单-华南仓.xlsx
等待中
xlsx
发货单-西南仓.xlsx
等待中
组件不含任务推进逻辑:业务侧定时器回写 tasks(waiting 依次放行、processing 按 progress 推进),支持暂停 / 继续 / 重新发起。

完成回调与统计 ​

图片转存
共 3等待 1进行中 1成功 1
47%
jpg
商品图片转存-01.jpg
已完成
jpg
商品图片转存-02.jpg
40%
jpg
商品图片转存-03.jpg
等待中
(未取值)
done 在全部任务进入终态时触发一次,注入新批次后重新武装;getStats() 实时取分状态统计(含总进度与 finished)。

空态兜底 ​

对账单导出
共 0
0%
暂无执行中的导出任务
无任务时默认空态占位;empty 插槽自定义空态(含引导动作),按钮注入新批次演示从空到有的切换。

refresh 轮询外抛 ​

已收到 refresh 0 次——全部任务进入终态后轮询自动停止
3
polling + poll-interval="2000":存在 waiting / processing 任务时面板底部提示自动刷新并周期外抛 refresh,业务侧在其间拉取任务接口回填 tasks;全部完成后轮询自动停止。

自定义类型映射与外观 ​

2
type-colors 覆盖默认配色(pdf 蓝 / csv 橙,仅允许主题色名);trigger-text 换文案、badge-max=9(超出显示 9+)、max-height 限制长列表滚动。

自定义行内容 ​

资质文件处理
共 4等待 1进行中 1成功 1失败 1
jpg
图片 营业执照.jpg2.4 MB
已完成
pdf
文档 审计报告.pdf18.1 MB
55%
zip
压缩包 开户资料.zip6.8 MB
失败
含敏感词,转人工审核
jpg
图片 法人身份证.jpg1.2 MB
等待中
name / extra 插槽接管任务行(业务类型标记、文件信息等,meta 泛型透传)。

Props ​

属性名类型默认值说明
mode'panel' | 'trigger''trigger'展示形态:panel 面板直出;trigger 触发按钮 + 弹层面板
tasksBizTaskItem[][]任务列表(受控:推进 / 重试 / 取消 / 移除全部由业务侧回写)
titlestring'任务中心'面板标题
trigger-textstring'任务中心'trigger 模式触发按钮文案
badge-maxnumber99trigger 模式进行中数量角标最大值
panel-widthnumber400trigger 模式弹层面板宽度
show-overallbooleantrue总进度条 + 分状态统计行
show-actionsbooleantrue面板头部整体操作(重试失败 / 取消全部 / 清空已完成)
show-tasksbooleantrue明细列表(false 仅总进度)
max-heightnumber | string320明细列表最大高度(超出滚动)
empty-textstring'暂无任务'空态文案
pollingbooleanfalse存在 waiting / processing 任务时按 poll-interval 外抛 refresh
poll-intervalnumber5000轮询间隔(ms,最小 1000)
type-colorsRecord<string, 'primary' | 'success' | 'warning' | 'danger' | 'info'>见说明自定义扩展名 → 主题色映射,覆盖默认(xls/xlsx/csv=success、pdf=danger、doc/docx=primary、zip/rar/7z=warning、其余=info)

BizTaskItem:

属性名类型必填说明
idstring | number是任务标识(事件回传定位)
namestring是任务名 / 文件名(带扩展名时用于推导类型角标)
status'waiting' | 'processing' | 'success' | 'failed' | 'canceled'是任务状态
progressnumber否进度百分比 0-100(processing 时展示行内进度条)
errorstring否失败原因(failed 时展示为红色文案,优先于 message)
messagestring否附加消息(失败原因 / 完成说明)
file-typestring否文件类型标识(如 'xlsx');缺省按 filename / name 扩展名推导
filenamestring否展示用文件名(缺省取 name)
sizestring否展示用文件大小(如 '2.3MB')
create-timestring否展示用创建时间文本
metaT(泛型)否业务透传(交给 name / extra 插槽渲染)

Events ​

事件名参数说明
retry(task: BizTaskItem)单任务重试(失败任务)
cancel(task: BizTaskItem)单任务取消(等待 / 进行中)
remove(task: BizTaskItem)单任务移除(终态任务,业务侧过滤 tasks)
retry-failed(tasks: BizTaskItem[])批量重试全部失败任务(载荷为当前失败任务数组)
cancel-all(tasks: BizTaskItem[])批量取消全部等待 + 进行中任务(载荷为当前未完成任务数组)
download(task: BizTaskItem)下载已完成任务(业务侧请求文件流)
clear—清空已完成(业务侧过滤 tasks 中的已结束记录)
refresh—轮询刷新(业务侧在此拉取任务列表并回填 tasks)
done(stats: BizTaskStats)全部任务进入终态触发一次(注入新批次后重新武装),载荷含总数 / 分状态计数 / 总进度 / finished

Slots ​

插槽名作用域说明
name{ task: BizTaskItem }任务名接管
extra{ task: BizTaskItem }任务名与操作区之间追加内容
empty—空态接管

Expose ​

名称类型说明
open() => void打开任务面板(仅 trigger 模式弹层生效)
close() => void收起任务面板(仅 trigger 模式弹层生效)
visibleRef<boolean>弹层展开状态(只读快照用途)
getStats() => BizTaskStats分状态统计(总数 / 各状态计数 / 总进度 / 是否全部终态)
getSummary() => BizTaskStatsgetStats 别名(兼容原 BizBatchProgress 语义)

TIP

与 BizExportButton(同步导出)互补:大数据量导出按钮发起异步任务,任务中心承接任务全生命周期(排队 / 进度 / 下载 / 重试 / 清理);panel 形态亦可嵌入任意批处理(导出 / 上传 / 计算)结果页做进度反馈。