feat: 财务看板口径重构与半年模拟数据及报销状态注册表

- 重构 finance_dashboard 口径计算,新增模拟公司画像数据生成与筛选
- 引入 expense_claim_status_registry 统一报销状态流转
- 完善报销草稿流程、Item Sync 与本体解析器
- 优化总览页趋势图、分页组件与请求进度步骤
- 增强报销申请快速预览、本体工具与详情展示
- 新增半年报销模拟数据种子脚本与状态审计工具
- 补充财务看板、报销状态注册与模拟数据测试覆盖
This commit is contained in:
caoxiaozhu
2026-06-02 16:22:59 +08:00
parent ca691f3ee0
commit 0c74b4ab4a
54 changed files with 6810 additions and 1238 deletions

View File

@@ -1,62 +1,60 @@
export const metricBlueprints = [
{
key: 'pendingCount',
label: '待审批单据',
unit: '单',
key: 'reimbursementAmount',
label: '本期报销金额',
accent: 'var(--theme-primary)',
icon: 'mdi mdi-file-document-outline',
trend: 'down',
change: '12.5%',
delta: '较昨日 -18 单'
},
{
key: 'pendingAmount',
label: '待处理金额',
accent: 'var(--chart-blue)',
icon: 'mdi mdi-wallet',
icon: 'mdi mdi-cash-multiple',
trend: 'up',
change: '8.3%',
delta: '较昨日 +¥27,400'
change: '8.4%',
delta: '较上一周期 +¥42.8K'
},
{
key: 'avgSla',
label: '平均审批时长',
unit: 'h',
accent: 'var(--chart-purple)',
icon: 'mdi mdi-clock-outline',
trend: 'down',
change: '14.8%',
delta: '较昨日 -1.2h'
},
{
key: 'autoPassRate',
label: '自动审单通过率',
unit: '%',
accent: 'var(--success)',
icon: 'mdi mdi-shield-outline',
trend: 'up',
change: '6.2%',
delta: '较昨日 +4.6%'
},
{
key: 'riskCount',
label: '异常预警单',
key: 'reimbursementCount',
label: '报销单数',
unit: '单',
accent: 'var(--danger)',
icon: 'mdi mdi-alert',
accent: 'var(--chart-blue)',
icon: 'mdi mdi-file-document-outline',
trend: 'up',
change: '16.7%',
delta: '较昨日 +2 单'
change: '6.1%',
delta: '较上一周期 +23 单'
},
{
key: 'slaRate',
label: 'SLA 达成率',
key: 'pendingPaymentAmount',
label: '待付款金额',
accent: 'var(--chart-purple)',
icon: 'mdi mdi-bank-transfer-out',
trend: 'down',
change: '4.7%',
delta: '较上一周期 -¥18.3K'
},
{
key: 'avgClaimAmount',
label: '单均金额',
accent: 'var(--chart-amber)',
icon: 'mdi mdi-calculator-variant-outline',
trend: 'up',
change: '2.8%',
delta: '较上一周期 +¥180'
},
{
key: 'budgetUsageRate',
label: '预算使用率',
unit: '%',
accent: 'var(--success)',
icon: 'mdi mdi-check-circle',
icon: 'mdi mdi-chart-arc',
trend: 'up',
change: '3.1%',
delta: '较昨日 +2.9%'
change: '3.2%',
delta: '预算池汇总'
},
{
key: 'paymentClearanceRate',
label: '付款完成率',
unit: '%',
accent: 'var(--success)',
icon: 'mdi mdi-check-circle-outline',
trend: 'up',
change: '5.5%',
delta: '已付款 / 有效单据'
}
]
@@ -127,20 +125,26 @@ export const trendRanges = ['近12天', '近7天', '近30天']
export const trendSeries = {
'近12天': {
labels: ['07-01', '07-02', '07-03', '07-04', '07-05', '07-06', '07-07', '07-08', '07-09', '07-10', '07-12'],
applications: [140, 105, 175, 195, 155, 70, 65, 60, 185, 200, 220],
approved: [110, 85, 130, 125, 110, 60, 55, 50, 145, 150, 170],
claimCount: [14, 11, 18, 20, 16, 7, 7, 6, 19, 20, 22],
claimAmount: [38600, 31200, 49600, 55200, 44800, 19600, 20800, 18200, 56300, 60400, 68100],
applications: [14, 11, 18, 20, 16, 7, 7, 6, 19, 20, 22],
approved: [11, 9, 13, 13, 11, 6, 6, 5, 15, 15, 17],
avgHours: [10, 8, 9, 7, 7, 6.8, 6, 6.5, 7, 8, 7.5]
},
'近7天': {
labels: ['04-23', '04-24', '04-25', '04-26', '04-27', '04-28', '04-29'],
applications: [72, 68, 109, 121, 134, 142, 128],
approved: [58, 54, 92, 101, 116, 121, 110],
claimCount: [7, 7, 11, 12, 13, 14, 13],
claimAmount: [22100, 20600, 33800, 36200, 41600, 43800, 39700],
applications: [7, 7, 11, 12, 13, 14, 13],
approved: [6, 5, 9, 10, 12, 12, 11],
avgHours: [6.9, 6.5, 6.8, 7.1, 7.4, 7.0, 6.8]
},
'近30天': {
labels: ['03-31', '04-03', '04-06', '04-09', '04-12', '04-15', '04-18', '04-21', '04-24', '04-27'],
applications: [82, 90, 96, 114, 120, 111, 126, 132, 119, 138],
approved: [68, 76, 80, 95, 100, 93, 102, 110, 101, 117],
claimCount: [8, 9, 10, 11, 12, 11, 13, 13, 12, 14],
claimAmount: [24600, 27900, 29200, 35100, 38200, 33600, 40100, 42800, 36500, 44700],
applications: [8, 9, 10, 11, 12, 11, 13, 13, 12, 14],
approved: [7, 8, 8, 10, 10, 9, 10, 11, 10, 12],
avgHours: [9.2, 8.8, 8.4, 8.0, 7.7, 7.4, 7.2, 6.9, 6.8, 6.7]
}
}
@@ -153,38 +157,38 @@ export const spendByCategory = [
]
export const exceptionMix = [
{ name: '住宿超标', value: 5, color: 'var(--danger)' },
{ name: '重复报销', value: 3, color: 'var(--warning)' },
{ name: '行程缺失', value: 3, color: 'var(--chart-purple)' },
{ name: '发票异常', value: 3, color: 'var(--chart-blue)' }
{ name: '已付款', value: 68, color: 'var(--success)' },
{ name: '待付款', value: 18, color: 'var(--chart-amber)' },
{ name: '审批中', value: 12, color: 'var(--theme-primary)' },
{ name: '已入账', value: 9, color: 'var(--chart-blue)' }
]
export const departmentRangeOptions = ['本周', '本月', '本季度']
export const bottlenecks = [
{
name: '李文静',
role: '财务经理',
duration: '12.4 h',
status: '较慢',
name: '预算超支',
role: '预算控制',
duration: '3 个池',
status: '¥42.6K',
tone: 'danger',
avatar: ''
avatar: ''
},
{
name: '王志强',
role: '财务专员',
duration: '8.7 h',
status: '偏慢',
name: '待付款',
role: '资金计划',
duration: '¥86.3K',
status: '18 单',
tone: 'warning',
avatar: ''
avatar: ''
},
{
name: '刘思雨',
role: '费用审核员',
duration: '5.2 h',
status: '正常',
tone: 'success',
avatar: ''
name: '高额单据',
role: '费用集中度',
duration: '¥18.6K',
status: '本期最高',
tone: 'warning',
avatar: ''
}
]