feat: 本体字段治理与风险规则模板执行器重构

- 新增本体字段注册表与字段治理审计脚本
- 重构风险规则模板执行器、DSL 验证与清单分类器
- 完善票据夹服务与差旅请求详情页交互
- 优化趋势图表与总览页数据展示
- 增强报销平台风险分级与模拟公司筛选
- 补充本体字段、风险规则生成与票据夹服务测试覆盖
This commit is contained in:
caoxiaozhu
2026-06-03 15:46:56 +08:00
parent e12b140508
commit 34457f9c3e
81 changed files with 4858 additions and 1073 deletions

View File

@@ -51,6 +51,7 @@ const emptyFinanceTrend = {
labels: [],
claimCount: [],
claimAmount: [],
categoryAmountSeries: [],
applications: [],
approved: [],
avgHours: []
@@ -130,6 +131,9 @@ function resolveTopRangeKey(range, customRange = {}) {
if (key === '\u672c\u5468' || key === '\u4eca\u65e5') {
return `recent-${resolveTopRangeDays(key, customRange)}-days`
}
if (/\d+/.test(key)) {
return `recent-${resolveTopRangeDays(key, customRange)}-days`
}
return key || DEFAULT_OVERVIEW_RANGE
}
@@ -155,7 +159,9 @@ export function useOverviewView(options = {}) {
const financeDashboardPayload = ref(null)
const financeDashboardLoading = ref(false)
const financeDashboardError = ref(null)
const financeDashboardRenderKey = ref(0)
const financeDashboardLoaded = computed(() => Boolean(financeDashboardPayload.value))
let financeDashboardRequestSeq = 0
const systemDashboardPayload = ref(null)
const systemDashboardLoading = ref(false)
const systemDashboardError = ref(null)
@@ -226,16 +232,27 @@ export function useOverviewView(options = {}) {
}
const loadFinanceDashboard = async () => {
const requestSeq = ++financeDashboardRequestSeq
financeDashboardLoading.value = true
financeDashboardError.value = null
try {
financeDashboardPayload.value = await fetchFinanceDashboard(getFinanceRangeParams())
const payload = await fetchFinanceDashboard(getFinanceRangeParams())
if (requestSeq !== financeDashboardRequestSeq) {
return
}
financeDashboardPayload.value = payload
financeDashboardRenderKey.value += 1
} catch (error) {
if (requestSeq !== financeDashboardRequestSeq) {
return
}
financeDashboardPayload.value = null
financeDashboardError.value = error
} finally {
financeDashboardLoading.value = false
if (requestSeq === financeDashboardRequestSeq) {
financeDashboardLoading.value = false
}
}
}
@@ -889,6 +906,7 @@ export function useOverviewView(options = {}) {
financeDashboardError,
financeDashboardLoaded,
financeDashboardLoading,
financeDashboardRenderKey,
formatCompact,
formatCurrency,
formatMetricValue,