feat(web): 工作台 AI 模式与差旅/风险建议交互优化
- 新增 PersonalWorkbenchAiMode 组件、AI 侧边栏与 orb 机器人视觉资源 - 新增 aiApplicationDraftModel / aiExpenseDraftModel / aiWorkbenchConversationStore 及业务准入 aiSidebarBusinessAccess,支撑 AI 模式下的申请与报销草稿 - 顶栏、侧边栏、工作台样式重构,适配 AI 模式切换与响应式布局 - 同步 steward plan/off_topic、差旅报销引导流、风险建议卡片等测试
This commit is contained in:
@@ -8,20 +8,26 @@ const responsiveStyles = readFileSync(
|
||||
'utf8'
|
||||
)
|
||||
|
||||
test('personal workbench compacts hero input and capability cards on laptop screens', () => {
|
||||
test('personal workbench compacts trend chart and capability cards on laptop screens', () => {
|
||||
assert.match(
|
||||
responsiveStyles,
|
||||
/@media \(min-width: 961px\) and \(max-width: 1440px\),\s*\n\s*\(min-width: 961px\) and \(max-height: 820px\)/
|
||||
)
|
||||
assert.match(responsiveStyles, /--hero-padding-top:\s*14px;/)
|
||||
assert.match(responsiveStyles, /--hero-padding-bottom:\s*14px;/)
|
||||
assert.match(responsiveStyles, /--hero-title-size:\s*24px;/)
|
||||
assert.match(responsiveStyles, /--composer-min-height:\s*92px;/)
|
||||
assert.match(responsiveStyles, /--composer-textarea-height:\s*38px;/)
|
||||
assert.match(responsiveStyles, /--capability-row-height:\s*82px;/)
|
||||
assert.match(responsiveStyles, /\.assistant-copy h1\s*\{[\s\S]*font-size:\s*var\(--hero-title-size\);/)
|
||||
assert.match(responsiveStyles, /\.assistant-composer\s*\{[\s\S]*padding:\s*var\(--composer-padding-block\) 14px 8px;/)
|
||||
assert.match(responsiveStyles, /\.quick-prompts button\s*\{[\s\S]*min-height:\s*24px;/)
|
||||
assert.match(responsiveStyles, /\.capability-card\s*\{[\s\S]*grid-template-columns:\s*34px minmax\(0,\s*1fr\) 14px;[\s\S]*padding:\s*12px 12px 12px 16px;/)
|
||||
assert.match(responsiveStyles, /@media \(max-width: 760px\)[\s\S]*\.workbench\s*\{[\s\S]*grid-template-rows:\s*none;/)
|
||||
assert.match(responsiveStyles, /--hero-title-size:\s*30px;/)
|
||||
assert.match(responsiveStyles, /--trend-card-min-height:\s*232px;/)
|
||||
assert.match(responsiveStyles, /--capability-row-height:\s*102px;/)
|
||||
assert.match(responsiveStyles, /\.workbench-trend-hero\s*\{[\s\S]*padding:\s*24px 18px 10px 18px;/)
|
||||
assert.match(responsiveStyles, /\.trend-summary-panel h1\s*\{[\s\S]*font-size:\s*var\(--hero-title-size\);/)
|
||||
assert.match(responsiveStyles, /\.workbench-trend-card\s*\{[\s\S]*min-height:\s*0;/)
|
||||
assert.match(responsiveStyles, /\.trend-chart-panel\s*\{[\s\S]*min-height:\s*0;/)
|
||||
assert.match(responsiveStyles, /\.trend-total\s*\{[\s\S]*font-size:\s*42px;/)
|
||||
assert.match(responsiveStyles, /\.trend-chart-head strong\s*\{[\s\S]*font-size:\s*14px;/)
|
||||
assert.match(responsiveStyles, /\.trend-summary-panel small\s*\{[\s\S]*display:\s*none;/)
|
||||
assert.doesNotMatch(responsiveStyles, /\.assistant-hero/)
|
||||
assert.doesNotMatch(responsiveStyles, /--assistant-bg-position/)
|
||||
assert.match(responsiveStyles, /\.capability-card\s*\{[\s\S]*grid-template-columns:\s*40px minmax\(0,\s*1fr\) 16px;[\s\S]*padding:\s*15px 14px 15px 18px;/)
|
||||
assert.doesNotMatch(responsiveStyles, /--composer-min-height/)
|
||||
assert.match(responsiveStyles, /@media \(max-width: 760px\)[\s\S]*\.workbench\s*\{[\s\S]*height:\s*auto;/)
|
||||
assert.match(responsiveStyles, /@media \(max-width: 760px\)[\s\S]*\.trend-summary-panel\s*\{[\s\S]*transform:\s*none;/)
|
||||
assert.doesNotMatch(responsiveStyles, /grid-template-rows:\s*auto var\(--capability-row-height\)/)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user