feat(web): AI 工作台会话与文档卡片渲染增强

- aiConversationHtmlRenderer 识别单据记录类表格并渲染为卡片列表,新增删除申请单详情的禁用占位链接
- aiWorkbenchConversationStore 增加草稿删除后会话链接失效处理,避免点击已删除单据跳转
- aiApplicationPreviewActions 调整提交/草稿调用路径,PersonalWorkbenchAiMode 接入新的会话存储与渲染
- ConfirmDialog/TravelRequestDeleteDialog/useAppShell/AppShellRouteView 配套适配,同步更新相关前端测试
This commit is contained in:
caoxiaozhu
2026-06-20 21:44:16 +08:00
parent 81e990ab72
commit 0cda750ff0
19 changed files with 734 additions and 92 deletions

View File

@@ -1321,6 +1321,8 @@
margin-top: 18px;
border: 1px solid rgba(226, 232, 240, 0.9);
border-radius: 14px;
background: #ffffff;
box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}
.workbench-ai-answer-markdown :deep(table) {
@@ -1342,6 +1344,123 @@
font-weight: 850;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-list) {
display: grid;
gap: 10px;
margin-top: 18px;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-item) {
display: grid;
grid-template-columns: minmax(220px, 1.15fr) minmax(260px, 0.85fr) auto;
gap: 16px;
align-items: center;
padding: 15px 16px;
border: 1px solid rgba(203, 213, 225, 0.86);
border-left: 3px solid #60a5fa;
border-radius: 14px;
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
box-shadow: 0 8px 20px rgba(15, 23, 42, 0.045);
}
.workbench-ai-answer-markdown :deep(.ai-html-record-main) {
min-width: 0;
display: grid;
gap: 5px;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-kicker) {
width: fit-content;
max-width: 100%;
padding: 2px 8px;
border-radius: 999px;
background: rgba(37, 99, 235, 0.08);
color: #1d4ed8;
font-size: 12px;
font-weight: 850;
line-height: 1.35;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-id) {
color: #0f172a;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
font-size: 15px;
font-weight: 860;
line-height: 1.45;
overflow-wrap: anywhere;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-reason) {
color: #475569;
font-size: 14px;
font-weight: 660;
line-height: 1.55;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-meta) {
min-width: 0;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
gap: 10px;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-meta-item) {
min-width: 0;
display: grid;
gap: 2px;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-meta-item small) {
color: #94a3b8;
font-size: 12px;
font-weight: 760;
line-height: 1.3;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-meta-item b) {
color: #334155;
font-size: 14px;
font-weight: 780;
line-height: 1.45;
overflow-wrap: anywhere;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-action) {
justify-self: end;
display: inline-flex;
align-items: center;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-action .ai-html-action-link) {
min-height: 32px;
padding: 0 15px;
border-radius: 10px;
background: #2563eb;
color: #ffffff;
box-shadow: none;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-action .ai-html-action-link:hover) {
background: #1d4ed8;
color: #ffffff;
transform: translateY(-1px);
}
.workbench-ai-answer-markdown :deep(.ai-html-action-link.is-disabled) {
cursor: not-allowed;
pointer-events: none;
background: rgba(100, 116, 139, 0.14);
color: #64748b;
box-shadow: none;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-action .ai-html-action-link.is-disabled:hover) {
background: rgba(100, 116, 139, 0.14);
color: #64748b;
transform: none;
}
.workbench-ai-answer-markdown :deep(.ai-html-image-frame) {
margin: 0;
overflow: hidden;
@@ -1418,6 +1537,15 @@
}
@media (max-width: 720px) {
.workbench-ai-answer-markdown :deep(.ai-html-record-item) {
grid-template-columns: 1fr;
align-items: stretch;
}
.workbench-ai-answer-markdown :deep(.ai-html-record-action) {
justify-self: start;
}
.workbench-ai-answer-markdown :deep(.ai-document-card) {
padding: 14px;
}

View File

@@ -1,7 +1,7 @@
.employee-risk-profile-card {
display: grid;
gap: 12px;
padding: 14px 16px;
gap: 14px;
padding: 16px 18px;
}
.employee-risk-head {
@@ -74,17 +74,17 @@
.employee-risk-body {
display: grid;
gap: 12px;
gap: 14px;
}
.employee-risk-decision-panel {
display: grid;
grid-template-columns: minmax(0, 1.15fr) minmax(220px, .85fr);
grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
align-items: stretch;
gap: 12px;
padding: 12px;
gap: 18px;
padding: 16px 18px;
border: 1px solid #e5e7eb;
border-radius: 2px;
border-radius: 4px;
background: #ffffff;
}
@@ -101,7 +101,9 @@
.employee-risk-decision-main {
min-width: 0;
display: grid;
gap: 4px;
align-content: center;
gap: 8px;
padding: 4px 0;
}
.employee-risk-decision-main > span,
@@ -117,7 +119,7 @@
.employee-risk-decision-main strong {
min-width: 0;
color: #0f172a;
font-size: 15px;
font-size: 16px;
font-weight: 900;
overflow-wrap: anywhere;
}
@@ -143,10 +145,10 @@
flex-direction: column;
align-items: flex-start;
justify-content: center;
gap: 5px;
padding: 10px 12px;
gap: 7px;
padding: 13px 15px;
border: 1px solid #e5e7eb;
border-radius: 2px;
border-radius: 4px;
background: #fff;
}
@@ -175,20 +177,21 @@
}
.employee-risk-review-summary {
display: flex;
flex-wrap: wrap;
gap: 8px;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
margin: 0;
}
.employee-risk-review-item {
min-width: 0;
flex: 1 1 180px;
display: grid;
gap: 4px;
padding: 9px 10px;
align-content: start;
gap: 7px;
min-height: 66px;
padding: 12px 14px;
border: 1px solid #e5e7eb;
border-radius: 2px;
border-radius: 4px;
background: #fff;
}
@@ -232,10 +235,10 @@
.employee-risk-profile-section {
display: grid;
gap: 8px;
padding: 10px 12px;
gap: 12px;
padding: 14px 16px;
border: 1px solid #e5e7eb;
border-radius: 2px;
border-radius: 4px;
background: #fff;
}
@@ -264,7 +267,7 @@
.employee-risk-profile-list {
display: grid;
grid-template-columns: 1fr;
gap: 8px;
gap: 10px;
}
.employee-risk-evidence-row {
@@ -272,7 +275,7 @@
display: grid;
gap: 0;
border: 1px solid #e2e8f0;
border-radius: 2px;
border-radius: 4px;
background: #f8fafc;
overflow: hidden;
}
@@ -301,14 +304,14 @@
}
.employee-risk-evidence-title {
min-height: 40px;
display: flex;
min-height: 48px;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(72px, auto) 48px;
align-items: center;
justify-content: space-between;
gap: 8px;
padding: 8px 10px;
column-gap: 14px;
padding: 10px 14px;
color: #0f172a;
font-size: 11px;
font-size: 12px;
font-weight: 850;
}
@@ -319,10 +322,11 @@
.employee-risk-evidence-title strong {
height: 20px;
flex: 0 0 auto;
min-width: 48px;
display: inline-grid;
place-items: center;
padding: 0 6px;
justify-self: center;
padding: 0 7px;
border-radius: 4px;
background: #eef2f7;
color: #475569;
@@ -343,10 +347,11 @@
.employee-risk-evidence-title::after {
content: '展开';
flex: 0 0 auto;
justify-self: end;
color: #94a3b8;
font-size: 10px;
font-weight: 800;
text-align: right;
}
.employee-risk-evidence-row[open] .employee-risk-evidence-title::after {
@@ -355,9 +360,9 @@
.employee-risk-evidence-row ul {
display: grid;
gap: 3px;
gap: 6px;
margin: 0;
padding: 0 10px 10px 10px;
padding: 0 14px 14px 14px;
list-style: none;
align-content: start;
border-top: 1px solid #e2e8f0;
@@ -366,8 +371,8 @@
.employee-risk-evidence-row li {
min-width: 0;
color: #475569;
font-size: 11px;
line-height: 1.45;
font-size: 12px;
line-height: 1.58;
overflow-wrap: anywhere;
white-space: normal;
}
@@ -383,8 +388,8 @@
grid-template-columns: 1fr;
}
.employee-risk-review-item {
flex-basis: 100%;
.employee-risk-review-summary {
grid-template-columns: 1fr;
}
.employee-risk-title-wrap,