feat(web): 优化差旅详情、风险建议卡片与文档中心交互

- 拆分阶段风险建议卡片样式到独立文件
- 完善差旅申请审批对话框与详情视图交互
- 调整文档中心列表共享样式与状态筛选
- 同步应用外壳、视图初始化与系统状态 composables
This commit is contained in:
caoxiaozhu
2026-06-17 14:39:12 +08:00
parent a3e5295915
commit 0fac8b615f
19 changed files with 1415 additions and 558 deletions

View File

@@ -507,7 +507,8 @@ td small {
.doc-kind-tag,
.type-tag,
.status-tag {
.status-tag,
.risk-level-tag {
display: inline-flex;
align-items: center;
justify-content: center;
@@ -612,6 +613,49 @@ td small {
color: #475569;
}
.risk-level-tags {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 4px;
flex-wrap: wrap;
}
.risk-level-tag {
min-height: 24px;
padding: 0 8px;
border: 1px solid #e2e8f0;
border-radius: 4px;
background: #f8fafc;
color: #64748b;
font-size: 12px;
font-weight: 850;
}
.risk-level-tag.high {
border-color: #fecaca;
background: #fef2f2;
color: #dc2626;
}
.risk-level-tag.medium {
border-color: #fed7aa;
background: #fff7ed;
color: #c2410c;
}
.risk-level-tag.low {
border-color: #bfdbfe;
background: #eff6ff;
color: #2563eb;
}
.risk-level-tag.none {
border-color: #e2e8f0;
background: #f8fafc;
color: #64748b;
}
.list-foot {
display: grid;
grid-template-columns: 1fr auto 1fr;

View File

@@ -0,0 +1,302 @@
.employee-risk-profile-card {
display: grid;
gap: 10px;
padding: 12px 14px;
}
.employee-risk-head {
margin-bottom: 0;
}
.employee-risk-title-wrap {
min-width: 0;
display: flex;
align-items: center;
gap: 10px;
}
.detail-card h3 {
margin: 0;
color: #0f172a;
font-size: 14px;
font-weight: 850;
}
.detail-card-head h3 {
margin-bottom: 0;
}
.detail-card-title-with-icon {
display: inline-flex;
align-items: center;
gap: 6px;
line-height: 1.5;
}
.detail-card-title-with-icon i {
margin-top: 1px;
color: #334155;
font-size: 16px;
line-height: 1;
}
.employee-risk-tone-pill {
height: 22px;
display: inline-flex;
align-items: center;
padding: 0 8px;
border: 1px solid #dbe4ee;
border-radius: 4px;
background: #f8fafc;
color: #475569;
font-size: 11px;
font-weight: 850;
white-space: nowrap;
}
.employee-risk-tone-pill.normal {
border-color: #bbf7d0;
background: #f0fdf4;
color: #047857;
}
.employee-risk-tone-pill.medium {
border-color: #fed7aa;
background: #fff7ed;
color: #c2410c;
}
.employee-risk-tone-pill.high {
border-color: #fecaca;
background: #fef2f2;
color: #b91c1c;
}
.employee-risk-body {
display: grid;
gap: 10px;
}
.employee-risk-decision-panel {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(220px, 32%);
align-items: stretch;
gap: 12px;
padding: 12px;
border: 1px solid #e2e8f0;
border-radius: 4px;
background: #f8fafc;
}
.employee-risk-decision-panel.medium {
border-color: #fed7aa;
background: #fff7ed;
}
.employee-risk-decision-panel.high {
border-color: #fecaca;
background: #fef2f2;
}
.employee-risk-decision-main {
min-width: 0;
display: grid;
gap: 4px;
}
.employee-risk-decision-main > span,
.employee-risk-decision-action span {
color: #64748b;
font-size: 10px;
font-weight: 850;
line-height: 1.5;
}
.employee-risk-decision-main strong {
min-width: 0;
color: #0f172a;
font-size: 13px;
font-weight: 850;
overflow-wrap: anywhere;
}
.employee-risk-decision-panel.medium .employee-risk-decision-main strong {
color: #c2410c;
}
.employee-risk-decision-panel.high .employee-risk-decision-main strong {
color: #b91c1c;
}
.employee-risk-decision-main p {
margin: 0;
color: #334155;
font-size: 12px;
line-height: 1.5;
}
.employee-risk-decision-action {
min-width: 0;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
gap: 5px;
padding: 10px 12px;
border: 1px solid #e2e8f0;
border-radius: 4px;
background: #fff;
}
.employee-risk-decision-action strong {
min-width: 0;
color: #0f172a;
font-size: 12px;
font-weight: 800;
line-height: 1.5;
overflow-wrap: anywhere;
}
.employee-risk-decision-action strong.medium {
color: #c2410c;
}
.employee-risk-decision-action strong.high {
color: #b91c1c;
}
.employee-risk-profile-section {
display: grid;
gap: 8px;
padding: 10px 12px;
border: 1px solid #e2e8f0;
border-radius: 4px;
background: #fff;
}
.employee-risk-section-head {
min-width: 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.employee-risk-section-head span {
color: #0f172a;
font-size: 12px;
font-weight: 850;
}
.employee-risk-section-head small {
min-width: 0;
color: #64748b;
font-size: 11px;
line-height: 1.5;
text-align: right;
}
.employee-risk-profile-list {
display: grid;
grid-template-columns: 1fr;
gap: 8px;
}
.employee-risk-evidence-row {
min-width: 0;
display: grid;
gap: 5px;
padding: 8px;
border: 1px solid #e2e8f0;
border-radius: 4px;
background: #f8fafc;
}
.employee-risk-evidence-row.medium {
border-color: #fed7aa;
background: #fffbf5;
}
.employee-risk-evidence-row.high {
border-color: #fecaca;
background: #fff7f7;
}
.employee-risk-evidence-title {
min-height: 20px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
color: #0f172a;
font-size: 11px;
font-weight: 850;
}
.employee-risk-evidence-title span {
min-width: 0;
overflow-wrap: anywhere;
}
.employee-risk-evidence-title strong {
height: 20px;
flex: 0 0 auto;
display: inline-grid;
place-items: center;
padding: 0 6px;
border-radius: 4px;
background: #eef2f7;
color: #475569;
font-size: 10px;
font-weight: 900;
white-space: nowrap;
}
.employee-risk-evidence-row.medium .employee-risk-evidence-title strong {
background: #ffedd5;
color: #c2410c;
}
.employee-risk-evidence-row.high .employee-risk-evidence-title strong {
background: #fee2e2;
color: #b91c1c;
}
.employee-risk-evidence-row ul {
display: grid;
gap: 3px;
margin: 0;
padding: 0;
list-style: none;
align-content: start;
}
.employee-risk-evidence-row li {
min-width: 0;
color: #475569;
font-size: 11px;
line-height: 1.45;
overflow-wrap: anywhere;
white-space: normal;
}
.employee-risk-muted {
margin: 0;
color: #94a3b8;
font-size: 11px;
}
@media (max-width: 960px) {
.employee-risk-decision-panel {
grid-template-columns: 1fr;
}
.employee-risk-title-wrap,
.employee-risk-section-head {
flex-wrap: wrap;
}
.employee-risk-section-head small {
text-align: left;
}
}