feat: 新增风险图谱算法与系统仪表盘及操作反馈体系
后端新增风险图谱算法模块、风险观察与反馈服务、规则 DSL 校验器和可解释性引擎,完善系统仪表盘和财务仪表盘统计, 优化 agent 运行和编排执行链路,清理旧开发文档,前端新增 系统趋势、负载热力图等多种仪表盘图表组件,完善操作反馈 对话框和工作台日期选择器,优化报销创建和审批详情交互, 补充单元测试覆盖。
This commit is contained in:
@@ -422,17 +422,24 @@ test('expense detail table shows the amount total below detail rows', () => {
|
||||
assert.doesNotMatch(detailViewTemplate, /\{\{ expenseSummaryText \}\}/)
|
||||
})
|
||||
|
||||
test('additional note is shown above expense details as travel purpose text', () => {
|
||||
test('related application information is shown above expense details for reimbursement check', () => {
|
||||
assert.ok(
|
||||
detailViewTemplate.indexOf('<h3>附加说明</h3>')
|
||||
detailViewTemplate.indexOf('<h3>关联单据信息</h3>')
|
||||
< detailViewTemplate.indexOf("isApplicationDocument ? '申请详情' : '费用明细'")
|
||||
)
|
||||
assert.match(detailViewTemplate, /<article v-if="!isApplicationDocument" class="detail-card panel">/)
|
||||
assert.match(detailViewTemplate, /用于说明本次出差或办事目的/)
|
||||
assert.match(detailViewTemplate, /v-if="canEditDetailNote" class="detail-note-editor"/)
|
||||
assert.match(detailViewTemplate, /v-else class="detail-note readonly"/)
|
||||
assert.match(detailViewTemplate, /v-model="detailNoteEditorView"/)
|
||||
assert.match(detailViewTemplate, /提交后将作为明确说明展示/)
|
||||
assert.match(detailViewTemplate, /展示本次报销关联的前置申请/)
|
||||
assert.match(detailViewTemplate, /relatedApplicationFactItems/)
|
||||
assert.match(detailViewTemplate, /暂未识别到关联申请单/)
|
||||
assert.match(detailViewScript, /buildRelatedApplicationFactItems/)
|
||||
assert.match(requestsComposableScript, /const RELATED_APPLICATION_STEP_LABEL = '关联单据'/)
|
||||
assert.match(requestsComposableScript, /const ARCHIVED_STEP_LABEL = '已归档'/)
|
||||
assert.match(detailViewStyle, /\.related-application-empty/)
|
||||
assert.doesNotMatch(detailViewTemplate, /v-if="canEditDetailNote" class="detail-note-editor"/)
|
||||
assert.doesNotMatch(detailViewTemplate, /v-model="detailNoteEditorView"/)
|
||||
})
|
||||
|
||||
test('detail note model is retained for risk override persistence', () => {
|
||||
assert.match(detailViewScript, /const canEditDetailNote = computed\(\(\) => isDraftRequest\.value\)/)
|
||||
assert.match(detailViewScript, /function normalizeDetailNoteDraftValue\(value\)/)
|
||||
assert.match(detailViewScript, /function stripRiskTagsForDisplay\(value\)/)
|
||||
|
||||
Reference in New Issue
Block a user