Skip to content

BizExpenseClaim 费用报销单 ​

企业内部报销单据复合件:单据头(编号 / 报销人 / 部门 / 事由)+ 费用明细行(类型 · 日期 · 金额 · 发票号 · 备注,行增删复制)+ 合计(千分位 + 人民币大写)+ 发票夹(代码 + 号码重复拦截 / 查验标记)+ 发票影像附件 + 提交审批 / 暂存草稿。readonly 只读快照供审批详情页回显,model-value 支持快照 / 草稿恢复。

基础用法 ​

单号BX20261026-975报销人王小明 部门

报销事由

0 / 100

费用明细

合计(1 笔)¥ 0.00零元整

发票夹

发票代码
发票号码
金额(元)
¥
开票日期

同「发票代码 + 号码」重复登记会被拦截(防重复报销);登记后可标记查验状态随单提交。

明细行金额支持千分位与失焦规整(内嵌 BizAmountInput);合计实时汇总并联动人民币大写;「暂存草稿」将数据经 draft 事件外抛。

默认费用类型与明细行操作;合计实时汇总并联动大写;暂存草稿经 draft 事件外抛。

明细校验与单笔上限 ​

单号BX20261026-482报销人李雷

报销事由

16 / 100

费用明细

合计(2 笔)¥ 7,000.00柒仟元整

发票夹

发票代码
发票号码
金额(元)
¥
开票日期

同「发票代码 + 号码」重复登记会被拦截(防重复报销);登记后可标记查验状态随单提交。

amount-limit=5000:第二行 4680 元在输入框失焦时回弹受限;即便绕过,提交校验仍按行拦截并提示行号。

amount-limit 双保险:金额输入失焦回弹 + 提交校验按行拦截(提示行号)。

发票夹与重复拦截 ​

单号BX20261026-355报销人韩梅梅

报销事由

0 / 100

费用明细

合计(1 笔)¥ 0.00零元整

发票夹

发票代码
发票号码
金额(元)
¥
开票日期

同「发票代码 + 号码」重复登记会被拦截(防重复报销);登记后可标记查验状态随单提交。

先完整登记一张发票(代码 / 号码 / 金额 / 日期均必填),再用相同代码+号码登记第二次——将被拦截并提示「防重复报销」;登记后可切换查验状态。

登记必填校验;同「代码 + 号码」重复登记被拦截;查验状态可切换并随单提交。

附件上传 ​

单号BX20261026-563报销人赵敏

报销事由

0 / 100

费用明细

合计(1 笔)¥ 0.00零元整

发票夹

发票代码
发票号码
金额(元)
¥
开票日期

同「发票代码 + 号码」重复登记会被拦截(防重复报销);登记后可标记查验状态随单提交。

发票影像 / 凭证附件

支持 Ctrl + V 粘贴截图
支持截图 Ctrl+V 粘贴上传

未注入 uploadRequest 时隐藏上传入口;注入后复用 BizUploadFile 全链路(类型 / 大小校验、失败重传、Ctrl+V 截图粘贴)。

uploadRequest 注入后出现发票影像上传区(复用 BizUploadFile,支持截图粘贴)。

合计与人民币大写 ​

单号BX20261026-716报销人财务共享中心

报销事由

11 / 100

费用明细

合计(3 笔)¥ 15,008,449.80壹仟伍佰万零捌仟肆佰肆拾玖元捌角

发票夹

发票代码
发票号码
金额(元)
¥
开票日期

同「发票代码 + 号码」重复登记会被拦截(防重复报销);登记后可标记查验状态随单提交。

首行 15,005,000 元演示跨节零口径:壹仟伍佰万零伍仟元整;修改任意行金额,合计与大写即时重算。

15,005,000 元演示跨节零口径:壹仟伍佰万零伍仟元整。

部门与费用类型定制 ​

单号CW20261026-656报销人车队·马强 部门

报销事由

0 / 100

费用明细

合计(1 笔)¥ 0.00零元整

发票夹

发票代码
发票号码
金额(元)
¥
开票日期

同「发票代码 + 号码」重复登记会被拦截(防重复报销);登记后可标记查验状态随单提交。

departments 部门候选、expense-types 业务口径、code-prefix 单号前缀。

提交载荷 ​

单号BX20261026-115报销人陈晨 部门

报销事由

11 / 100

费用明细

合计(2 笔)¥ 1,720.00壹仟柒佰贰拾元整

发票夹

发票代码
发票号码
金额(元)
¥
开票日期
payload 完整结构外抛:单据头 / 明细(含类型文案)/ 合计大写 / 发票夹 / 附件。

提交失败停留 ​

单号BX20261026-488报销人测试账号

报销事由

0 / 100

费用明细

合计(1 笔)¥ 0.00零元整

发票夹

发票代码
发票号码
金额(元)
¥
开票日期

同「发票代码 + 号码」重复登记会被拦截(防重复报销);登记后可标记查验状态随单提交。

事由填写「模拟失败」提交可看到:错误提示 + 表单停留(数据不丢);改为其他事由即可提交成功进入成功页。

submitRequest reject 时提示错误并停留表单,修正后重试。

只读审查(审批快照) ​

单据编号BX20261018-366
报销人 / 部门周雯 · 市场部
报销事由Q4 品牌发布会物料与招待费用

费用明细(2 笔)

合计¥ 4,860.50肆仟捌佰陆拾元伍角

发票夹(2 张)

附件(2)

readonly 下渲染审批快照:明细 / 发票夹 / 附件均为纯展示,合计与大写随快照计算,适合审批流详情页。

modelValue 快照 + readonly 纯展示,合计与大写随快照计算。

插槽扩展 ​

单号BX20261026-196报销人吴迪 部门
部门月度预算余量:¥ 12000

报销事由

0 / 100

费用明细

合计(1 笔)¥ 0.00零元整

发票夹

发票代码
发票号码
金额(元)
¥
开票日期

同「发票代码 + 号码」重复登记会被拦截(防重复报销);登记后可标记查验状态随单提交。

header-extra 作用域提供实时合计 total;footer 作用域提供当前 payload,可挂自定义动作。

header-extra(作用域 total)预算余量提示;footer(作用域 payload)自定义动作。

Props ​

属性名类型默认值说明
code-prefixstring'BX'单据编号前缀(后接日期 + 随机序号)
applicantstring'当前用户'报销人(快照可覆盖)
departmentsstring[]—部门候选(传入即渲染部门下拉)
departmentstring''默认选中部门
expense-typesBizExpenseType[]差旅·交通 / 差旅·住宿 / 业务招待 / 办公用品 / 通讯网络 / 培训会议 / 其他费用类型口径
reason-requiredbooleantrue事由必填
reason-placeholderstring—事由占位文案
amount-limitnumber—单笔金额上限(元):金额输入失焦回弹 + 提交校验拦截
show-invoicesbooleantrue发票夹区块
invoice-requiredbooleanfalse提交时至少登记一张发票
upload-request(file: File) => Promise<string>—附件上传实现(复用 BizUploadFile 契约;未注入时隐藏上传入口)
upload-limitnumber9附件数量上限
submit-request(payload: BizExpenseClaimPayload) => Promise<void>—提交实现:resolve 进入成功页;reject 提示失败停留;不配置时外抛 submit 后直接成功
readonlybooleanfalse只读审查(审批快照)
model-valueBizExpenseClaimSnapshot—回显快照(审批快照 / 草稿恢复;submitted: true 直接渲染成功态)
success-textstring'请留意审批进度通知'提交成功副文案

Events ​

事件名参数说明
submit(payload: BizExpenseClaimPayload)提交审批(先于 submitRequest 抛出)
draft(payload: BizExpenseClaimPayload)暂存草稿(不做校验,数据完整外抛)

Slots ​

插槽名说明
header-extra单据头右侧扩展(作用域:total 实时合计)
footer底部操作区扩展(作用域:payload 当前载荷)

Expose ​

属性/方法说明
validate() => Promise<boolean> 表单校验(明细行 / 上限 / 发票要求数)
getPayload() => BizExpenseClaimPayload 取当前载荷(不校验)
reset() => void 重置为空白单据(重新生成编号)

口径说明 ​

  • 单据编号:{code-prefix}{YYYYMMDD}-{3 位随机序号},reset 重新生成;快照携带 code 时以快照为准。
  • 合计与大写:合计 = 明细行金额求和(两位精度规整);大写使用库内 toRmbUppercase(元角分 / 零整 / 跨节零压缩,如 15005000 → 壹仟伍佰万零伍仟元整)。
  • 发票重复口径:按「发票代码 + 发票号码」二元组判重,登记入口即时拦截;查验状态为本地标记随 payload 提交(真实查验可基于该字段对接税局接口回写)。
  • 明细行至少一行:删除到最后一行时按钮降级为拦截提示。