feat(web): 工作台 AI 模式与差旅/风险建议交互优化

- 新增 PersonalWorkbenchAiMode 组件、AI 侧边栏与 orb 机器人视觉资源
- 新增 aiApplicationDraftModel / aiExpenseDraftModel / aiWorkbenchConversationStore
  及业务准入 aiSidebarBusinessAccess,支撑 AI 模式下的申请与报销草稿
- 顶栏、侧边栏、工作台样式重构,适配 AI 模式切换与响应式布局
- 同步 steward plan/off_topic、差旅报销引导流、风险建议卡片等测试
This commit is contained in:
caoxiaozhu
2026-06-18 22:12:24 +08:00
parent a6674a1e76
commit 0cde1f8990
65 changed files with 8011 additions and 1608 deletions

View File

@@ -88,6 +88,20 @@ test('daily amount trend uses stacked category bars with clear unit and legend',
assert.match(trendChart, /legendItems/)
assert.match(trendChart, /单位:元/)
assert.match(trendChart, /单位:单/)
assert.match(trendChart, /comparisonAmount/)
assert.match(trendChart, /isComparisonMode/)
assert.match(trendChart, /props\.mode === 'compareAmount'/)
assert.match(trendChart, /props\.comparisonLabel/)
assert.match(trendChart, /const compactScale = computed/)
assert.match(trendChart, /const chartGrid = computed/)
assert.match(trendChart, /gridBottom:\s*props\.compact \? 18 : 22/)
assert.match(trendChart, /gridTop:\s*props\.compact \? 10 : 12/)
assert.match(trendChart, /splitNumber:\s*props\.compact \? 2 : 5/)
assert.match(trendChart, /primaryLineWidth:\s*props\.compact \? 3\.8 : 3/)
assert.match(trendChart, /axisLabelSize:\s*props\.compact \? 12 : 11/)
assert.match(trendChart, /lineStyle:[\s\S]*type:\s*'dashed'/)
assert.match(trendChart, /\.trend-chart-compact\s*\{[\s\S]*min-height:\s*124px;/)
assert.match(trendChart, /\.trend-chart-compact \.chart-legend\s*\{[\s\S]*font-size:\s*13px;/)
assert.doesNotMatch(trendChart, /name:\s*isCountMode\.value/)
assert.doesNotMatch(trendChart, /stack: 'expenseAmount'/)
})