feat: 报销预审会话状态管理与工作台交互增强

- 新增差旅报销会话状态管理与对话模型重构
- 增强风险观测服务与运行时聊天上下文作用域
- 优化工作台图标资源、助理意图识别与摘要工具
- 完善报销创建视图样式与差旅详情页标准调整交互
- 补充风险观测、运行时聊天与报销端点测试覆盖
This commit is contained in:
caoxiaozhu
2026-06-04 11:03:29 +08:00
parent 87da5df91b
commit 1cbf3fee44
60 changed files with 4156 additions and 393 deletions

View File

@@ -396,6 +396,32 @@
flex: 1 1 auto;
}
.steward-composer-row {
align-items: flex-end;
gap: 8px;
}
.steward-composer-leading-actions {
display: flex;
align-items: center;
gap: 8px;
}
.steward-composer-shell {
min-height: 48px;
}
.steward-composer-shell .composer-shell-body {
min-height: 48px;
padding: 5px 12px;
}
.steward-composer-shell textarea {
min-height: 38px;
max-height: 150px;
padding: 9px 4px;
}
.composer-side-btn,
.composer-row .tool-btn,
.composer-row .send-btn {

View File

@@ -62,6 +62,97 @@
background: #fff;
}
.steward-plan-block {
margin-top: 12px;
display: grid;
gap: 10px;
}
.steward-task-card,
.steward-attachment-card {
border: 1px solid #dbe7f2;
border-radius: 4px;
background: #f8fbfe;
}
.steward-task-list,
.steward-attachment-list {
display: grid;
gap: 8px;
}
.steward-task-card,
.steward-attachment-card {
padding: 10px 12px;
}
.steward-task-card header,
.steward-attachment-card header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 6px;
}
.steward-task-card header span,
.steward-attachment-card header span {
color: #24618a;
font-size: 12px;
font-weight: 700;
}
.steward-task-card header small,
.steward-attachment-card header small {
margin-left: auto;
color: #71879b;
font-size: 12px;
}
.steward-task-card > strong {
display: block;
color: #1f3448;
font-size: 14px;
}
.steward-task-card p,
.steward-attachment-card p {
margin: 5px 0 0;
color: #5c7185;
font-size: 12px;
line-height: 1.55;
}
.steward-task-meta,
.steward-attachment-chip-row {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 8px;
}
.steward-task-meta span,
.steward-attachment-chip {
border: 1px solid #d5e2ee;
border-radius: 4px;
background: #fff;
color: #49677f;
font-size: 12px;
line-height: 1.4;
padding: 3px 7px;
}
.steward-attachment-chip.include {
border-color: #c7deef;
background: #eef7fc;
color: #24618a;
}
.steward-attachment-chip.exclude {
border-color: #ecd6c4;
background: #fff8f2;
color: #8a5a24;
}
.welcome-quick-actions {
margin-top: 14px;
padding-top: 12px;

View File

@@ -884,6 +884,18 @@
font-size: 16px;
}
.standard-adjustment-banner {
border-color: #bfdbfe;
background: #eff6ff;
color: #1d4ed8;
}
.submit-progress-banner {
border-color: #c7d2fe;
background: #eef2ff;
color: #3730a3;
}
.detail-expense-table table {
width: 100%;
min-width: 0;
@@ -1094,12 +1106,28 @@
}
.expense-reimbursable-amount {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 4px;
color: #0f172a;
font-size: 13px;
font-weight: 880;
white-space: nowrap;
}
.expense-reimbursable-label {
display: inline-flex;
align-items: center;
min-height: 18px;
padding: 0 5px;
border-radius: 3px;
background: #eef2ff;
color: #3730a3;
font-size: 10px;
font-weight: 850;
}
.expense-adjusted-amount em {
color: #991b1b;
font-size: 11px;
@@ -1989,51 +2017,26 @@
line-height: 1.6;
}
.risk-override-card textarea {
min-height: 88px;
border-color: #fecaca;
background: #fff;
color: #0f172a;
}
.risk-override-card textarea.risk-note-editor-textarea {
min-height: 34px;
max-height: 78px;
resize: none;
}
.risk-override-card textarea:focus {
border-color: #ef4444;
box-shadow: 0 0 0 3px rgba(239, 68, 68, .12);
outline: none;
}
.risk-override-submit-row {
.risk-override-guidance {
display: grid;
gap: 6px;
}
.risk-override-save-btn {
min-height: 34px;
border: 1px solid #bfdbfe;
gap: 4px;
padding: 10px 12px;
border: 1px solid #dbeafe;
border-radius: 4px;
background: #eff6ff;
color: #1d4ed8;
}
.risk-override-guidance strong {
color: #1e40af;
font-size: 12px;
font-weight: 850;
cursor: pointer;
line-height: 1.45;
}
.risk-override-save-btn:disabled {
cursor: not-allowed;
opacity: .58;
}
.risk-override-submit-row span {
color: #64748b;
.risk-override-guidance span {
color: #475569;
font-size: 12px;
line-height: 1.5;
text-align: center;
}
.validation-card {