feat: 小财管家意图规划与报销提交编排增强

- 完善管家意图识别、模型计划构建与规划器调度
- 重构差旅报销提交编排器与管家计划流程前端交互
- 优化报销消息项样式与文档中心视图
- 新增小财管家与附件上传风险前置复核设计文档
- 补充管家规划器与文档中心测试覆盖
This commit is contained in:
caoxiaozhu
2026-06-04 14:25:14 +08:00
parent 1cbf3fee44
commit f60cebadb8
19 changed files with 2337 additions and 196 deletions

View File

@@ -29,6 +29,10 @@
gap: 8px;
}
.message-row.has-steward-plan .message-stack {
width: min(100%, 760px);
}
.message-row.user .message-stack {
order: 1;
justify-items: end;
@@ -64,8 +68,15 @@
box-shadow: 0 10px 22px rgba(148, 163, 184, 0.14);
}
.message-row.has-steward-plan .message-bubble {
width: 100%;
max-width: none;
box-sizing: border-box;
}
.steward-intent-bubble {
width: min(100%, 680px);
width: 100%;
box-sizing: border-box;
border: 1px solid #c9ddea;
border-radius: 4px;
background: #eef6fb;
@@ -144,6 +155,17 @@
line-height: 1.55;
}
.steward-intent-event-list li span.typing::after {
content: "";
width: 5px;
height: 12px;
display: inline-block;
margin-left: 3px;
vertical-align: -2px;
background: #3a7ca5;
animation: steward-plan-caret 900ms steps(1, end) infinite;
}
.steward-intent-empty {
margin: 0;
padding: 0 12px 12px;
@@ -231,6 +253,229 @@
font-weight: 850;
}
.steward-plan-markdown {
display: block;
}
.steward-plan-markdown :deep(h2) {
margin: 0 0 10px;
padding-bottom: 8px;
border-bottom: 1px solid #dbe4ee;
color: #0f172a;
font-size: 15px;
font-weight: 860;
line-height: 1.42;
}
.steward-plan-markdown :deep(hr) {
margin: 10px 0 14px;
border: 0;
border-top: 1px solid #e2e8f0;
}
.steward-plan-markdown :deep(h3) {
margin: 16px 0 8px;
padding-left: 8px;
border-left: 3px solid var(--theme-primary, #3a7ca5);
color: #183247;
font-size: 13px;
font-weight: 840;
line-height: 1.45;
}
.steward-plan-markdown :deep(h3:first-child) {
margin-top: 0;
}
.steward-plan-markdown :deep(p) {
margin: 0 0 10px;
color: #334155;
line-height: 1.72;
}
.steward-plan-markdown :deep(ul) {
margin: 0 0 12px;
padding-left: 18px;
display: grid;
gap: 7px;
}
.steward-plan-markdown :deep(li) {
margin: 0;
color: #334155;
line-height: 1.65;
}
.steward-plan-typing::after {
content: "";
width: 6px;
height: 15px;
display: inline-block;
margin-left: 3px;
vertical-align: -2px;
background: var(--theme-primary, #3a7ca5);
animation: steward-plan-caret 900ms steps(1, end) infinite;
}
@keyframes steward-plan-caret {
0%,
45% {
opacity: 1;
}
46%,
100% {
opacity: 0;
}
}
.steward-plan-block {
margin-top: 14px;
display: grid;
gap: 12px;
}
.steward-task-list,
.steward-attachment-list {
display: grid;
gap: 10px;
}
.steward-task-card,
.steward-attachment-card {
padding: 12px;
border: 1px solid #dbe7f2;
border-radius: 4px;
background: #f8fbfe;
}
.steward-task-header,
.steward-attachment-card header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 10px;
}
.steward-task-type,
.steward-attachment-card header span {
min-height: 22px;
display: inline-flex;
align-items: center;
padding: 0 7px;
border: 1px solid #c7deef;
border-radius: 4px;
background: #eef7fc;
color: #24618a;
font-size: 12px;
font-weight: 780;
}
.steward-task-agent,
.steward-attachment-card header small {
color: #64748b;
font-size: 12px;
font-weight: 720;
}
.steward-task-body {
display: grid;
gap: 5px;
}
.steward-task-title {
display: block;
color: #172a3a;
font-size: 14px;
font-weight: 850;
line-height: 1.45;
}
.steward-task-summary,
.steward-attachment-card p {
margin: 0;
color: #5c7185;
font-size: 12px;
line-height: 1.62;
}
.steward-task-meta,
.steward-attachment-chip-row {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 9px;
}
.steward-task-meta span,
.steward-attachment-chip {
border: 1px solid #d5e2ee;
border-radius: 4px;
background: #ffffff;
color: #49677f;
font-size: 12px;
line-height: 1.4;
padding: 3px 7px;
}
.steward-task-missing {
margin-top: 10px;
padding-top: 10px;
border-top: 1px dashed #d5e2ee;
display: grid;
gap: 8px;
}
.steward-task-missing-label {
color: #425c72;
font-size: 12px;
font-weight: 820;
}
.steward-task-missing-list {
display: grid;
gap: 6px;
margin: 0;
padding: 0;
list-style: none;
}
.steward-task-missing-list li {
display: grid;
grid-template-columns: minmax(86px, 120px) minmax(0, 1fr);
align-items: start;
gap: 8px;
padding: 7px 8px;
border: 1px solid #e1e8f0;
border-radius: 4px;
background: #ffffff;
}
.steward-task-missing-list strong {
color: #1f3448;
font-size: 12px;
font-weight: 820;
line-height: 1.45;
}
.steward-task-missing-list small {
color: #6b7f92;
font-size: 12px;
line-height: 1.45;
}
.steward-attachment-chip.include {
border-color: #c7deef;
background: #eef7fc;
color: #24618a;
}
.steward-attachment-chip.exclude {
border-color: #ecd6c4;
background: #fff8f2;
color: #8a5a24;
}
.message-answer-markdown :deep(.markdown-table-wrap) {
width: 100%;
max-width: 100%;
@@ -811,4 +1056,9 @@
max-width: 100%;
border-radius: 12px;
}
.steward-task-missing-list li {
grid-template-columns: 1fr;
gap: 3px;
}
}