Files
one-pipe-system/openspec/changes/add-employee-collection/tasks.md
2026-09-12 11:27:50 +08:00

4.2 KiB
Raw Blame History

1. Contract and API Types

  • 1.1 新增 src/types/api/employeeCollection.ts:收款方式、账单、核销申请、统计、查询参数与请求/响应类型;列表统一使用 items / total / page / size
  • 1.2 定义账单状态(0 待核销 / 1 部分核销 / 2 已核销 / 3 已关闭)与申请状态(0 审批中 / 1 已通过 / 2 已驳回 / 3 已撤销或已关闭)数字枚举,并保留后端 *_name 展示字段。
  • 1.3 金额字段以「分」传输;附件字段使用 payment_voucher_keys 对象存储 Key 数组,展示复用预签名下载接口。
  • 1.4 新增 src/api/modules/employeeCollection.ts 并在 src/api/modules/index.tssrc/types/api/index.ts 导出。
  • 1.5 按后端实际契约收敛字段:账单详情为 { bill, refunds, allocations, applications },核销申请详情为 { application, allocations, attempts },付款金额/付款方/付款时间/外部交易流水号以 paid_amount / payer_name / paid_at / external_transaction_no 提交。

2. Permissions, Routes, and Menu

  • 2.1 新增 src/config/constants/augustIteration.ts,集中声明页面与按钮权限编码。
  • 2.2 在 src/router/routesAlias.tssrc/router/routes/asyncRoutes.ts 的财务管理下新增账单、核销申请、收款方式路由。
  • 2.3 在 src/locales/langs/zh.jsonen.jsonmenus.financialManagement 下补充菜单文案。

3. Payment Methods Page

  • 3.1 实现收款方式列表(名称、编码、排序、状态、备注、创建时间);接口返回 { items, page, size, total },复用 ArtTableFullScreen / ArtSearchBar / ArtTableHeader / ArtTable
  • 3.2 实现新增/编辑弹窗;编辑时允许提交 code,被核销申请引用时由后端拒绝并提示。
  • 3.3 实现删除操作,被引用的方式给出提示并引导停用。

4. Bills Pages

  • 4.1 实现账单统计卡片(应收、已核销、未核销、待处理账单数量),数据来自 GET /api/admin/employee-collection-bills/statistics
  • 4.2 实现账单列表与筛选(来源、来源单号、状态、客户/店铺、创建时间范围),展示账单号、来源、关联单号、负责员工、客户/店铺、应收/已核销/未核销金额与状态。
  • 4.3 实现账单详情,展示账单信息、退款冲销、核销分摊与关联核销申请(关联申请可展开查看审批尝试记录)。
  • 4.4 实现超管关闭账单弹窗,关闭原因必填;存在审批中申请时禁用关闭并给出说明。
  • 4.5 列表「创建核销申请」入口按权限与账单状态控制可用性。

5. Applications Pages

  • 5.1 实现核销申请列表与筛选(状态、收款方式、创建时间),展示申请编号、收款方式、付款金额、状态与提交时间。
  • 5.2 实现创建/重新提交弹窗:选择 1N 张可核销账单、按账单录入分摊金额、填写付款金额/付款方名称/付款时间/外部交易流水号、选择收款方式并上传付款凭证。
  • 5.3 超管代办时必须填写 acting_reason,否则禁止提交。
  • 5.4 实现申请详情,展示申请信息、分摊账单、付款凭证与全部审批尝试记录;历史记录只读,不被重新提交覆盖。
  • 5.5 仅已驳回申请展示「修改并重新提交」,提交成功后生成新的审批实例并刷新详情。
  • 5.6 统一处理 503「企微审批场景未配置」等业务错误保留用户已填内容。

6. WeCom Scene and Order Rule

  • 6.1 扩展 WecomBusinessType 增加 employee_collection_approval,并在企微审批场景页面新增可选业务类型。
  • 6.2 场景保存复用既有 inspectTemplategetBusinessFieldssaveScene 接口,无需新增企微接口。
  • 6.3 调整线下订单创建:平台账号操作、非赠送且实际收款金额大于 0 时 payment_voucher_key 非必填,字段结构不变。

7. Verification

  • 7.1 运行 npm run build(含 vue-tsc --noEmit)与 npm run check:encoding,确保类型与编码通过。
  • 7.2 校验普通员工与超管的菜单、列与操作可见性差异。
  • 7.3 校验金额分/元转换、附件预签名展示与 503 错误兜底。