feat: 增强风险规则生成引擎与预算中心页面
后端拆分风险规则生成为解释器、语义分析、本体对齐等子模块, 优化模板执行和流程图生成,完善员工种子数据和导入逻辑,增强 报销单权限策略和草稿持久化,前端新增预算中心视图和趋势图 组件,重构审计页面和风险规则测试对话框交互,完善文档中心 和报销创建页面细节,补充单元测试覆盖。
This commit is contained in:
@@ -36,6 +36,8 @@
|
||||
.risk-sim-context-panel span,
|
||||
.risk-sim-result-head span,
|
||||
.risk-sim-evidence span,
|
||||
.risk-sim-recognition-debug > span,
|
||||
.risk-sim-recognized-fields > span,
|
||||
.risk-sim-file-strip > span {
|
||||
color: #64748b;
|
||||
font-size: 12px;
|
||||
@@ -115,6 +117,12 @@
|
||||
color: #b91c1c;
|
||||
}
|
||||
|
||||
.risk-sim-meta .tone-critical {
|
||||
border-color: #fca5a5;
|
||||
background: #fff1f2;
|
||||
color: #991b1b;
|
||||
}
|
||||
|
||||
.risk-sim-main {
|
||||
min-height: 0;
|
||||
display: grid;
|
||||
@@ -263,6 +271,78 @@
|
||||
background: rgba(255, 255, 255, 0.12);
|
||||
}
|
||||
|
||||
.risk-sim-recognition-debug {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
margin-top: 11px;
|
||||
}
|
||||
|
||||
.risk-sim-recognition-debug article {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
padding: 10px;
|
||||
border: 1px solid #e2e8f0;
|
||||
border-radius: 12px;
|
||||
background: #f8fafc;
|
||||
}
|
||||
|
||||
.risk-sim-recognition-debug article header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 10px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.risk-sim-recognition-debug article header strong {
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
color: #0f172a;
|
||||
font-size: 12px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.risk-sim-recognition-debug article header em {
|
||||
flex: 0 0 auto;
|
||||
color: #64748b;
|
||||
font-size: 11px;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.risk-sim-debug-field-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.risk-sim-debug-field-list b {
|
||||
max-width: 100%;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-height: 26px;
|
||||
padding: 0 8px;
|
||||
overflow: hidden;
|
||||
border: 1px solid #dbeafe;
|
||||
border-radius: 999px;
|
||||
background: #eff6ff;
|
||||
color: #1d4ed8;
|
||||
font-size: 11px;
|
||||
font-weight: 800;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.risk-sim-debug-ocr-text {
|
||||
max-height: 112px;
|
||||
overflow: auto;
|
||||
padding: 8px 9px;
|
||||
border: 1px solid #e2e8f0;
|
||||
border-radius: 10px;
|
||||
background: #fff;
|
||||
color: #334155;
|
||||
}
|
||||
|
||||
.risk-sim-result-card {
|
||||
margin-top: 12px;
|
||||
overflow: hidden;
|
||||
@@ -364,6 +444,53 @@
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.risk-sim-recognized-fields {
|
||||
display: grid;
|
||||
gap: 7px;
|
||||
padding: 0 12px 12px;
|
||||
}
|
||||
|
||||
.risk-sim-recognized-fields ul {
|
||||
display: grid;
|
||||
gap: 6px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.risk-sim-recognized-fields li {
|
||||
min-width: 0;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(140px, 0.75fr) auto minmax(130px, 1fr);
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
padding: 8px 9px;
|
||||
border: 1px solid #edf2f7;
|
||||
border-radius: 10px;
|
||||
background: #f8fafc;
|
||||
}
|
||||
|
||||
.risk-sim-recognized-fields strong,
|
||||
.risk-sim-recognized-fields b {
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
color: #0f172a;
|
||||
font-size: 12px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.risk-sim-recognized-fields em {
|
||||
padding: 3px 7px;
|
||||
border-radius: 999px;
|
||||
background: #ecfdf5;
|
||||
color: #047857;
|
||||
font-size: 11px;
|
||||
font-style: normal;
|
||||
font-weight: 850;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.risk-sim-evidence {
|
||||
display: grid;
|
||||
gap: 6px;
|
||||
@@ -730,6 +857,10 @@
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.risk-sim-recognized-fields li {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.risk-sim-foot {
|
||||
align-items: stretch;
|
||||
flex-direction: column;
|
||||
|
||||
Reference in New Issue
Block a user