请假销假审批按钮修复说明.md 1.0 KB

请假/销假审批按钮修复说明(方案 B)

问题

办理页「审批」按钮依赖 pageType=approval && status=waiting。
打回重提后,流程实例已是 waiting,业务表常残留 draft/back,老师看不到审批按钮。

方案

  1. 后端权威同步:LeaveFlowStatusSyncHelper 在流程事件/任务创建时,按流程实例状态对齐请假 approval_status、销假 cancel_status(实例 waiting 则强制 waiting;禁止 waiting→draft)。
  2. 审批上下文接口:GET /workflow/instance/approvalContext/{businessId}
    返回 canApprove、taskId、suggestedBusinessStatus。
  3. 按钮判断:canApprove=true 即可显示审批(不再只绑死业务 status)。
  4. 存量修复:backend/script/sql/update/update_20261020_fix_leave_cancel_status_sync.sql

影响范围

  • 请假/销假办理页(Web + 移动端)
  • 通用 approvalButton(新增可选 canApprove,默认 false,其它模块不受影响)
  • 不改 Warm-Flow 全局监听器