feat(approval): 新增业务审批流程及配置管理

- 新增审批配置主子表(biz_approval_config / biz_approval_config_user),支持或签
- 5 个业务模块接入审批: 采购订单/客户报价/供应商报价/发货单/订单异议
- 统一审批动作接口(提交/通过/驳回),status=10 表示审批中
- 新增"待我审批"聚合页面,按业务类型筛选
- 修复 logback 写本地路径报错,去除文件 appender
- 修复 Redis SSL 配置在 Spring Boot 4 下需对象格式
- 补齐部分业务表缺失的 update_by/update_time 审计列

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-16 11:14:46 +08:00
parent 0180388a2f
commit 7ffc140cf8
69 changed files with 1563 additions and 446 deletions

View File

@@ -418,7 +418,7 @@ export default {
transform: translateY(-50%);
width: 4px;
height: 14px;
background: linear-gradient(180deg, #409eff 0%, #2c3e50 100%);
background: linear-gradient(180deg, #e4393c 0%, #2c3e50 100%);
border-radius: 2px;
}
@@ -508,7 +508,7 @@ export default {
.mat-name {
font-size: 15px;
font-weight: 700;
color: #1a2c4e;
color: #333333;
line-height: 1.3;
}
.mat-subtitle {
@@ -567,7 +567,7 @@ export default {
gap: 4px;
}
.divider-text i {
color: #409eff;
color: #e4393c;
font-size: 14px;
}
@@ -617,7 +617,7 @@ export default {
}
.quote-row.is-fastest {
background: linear-gradient(90deg, #ecf5ff 0%, #d9ecff 100%);
border-left: 3px solid #409eff;
border-left: 3px solid #e4393c;
}
.quote-row.is-lowest.is-fastest {
background: linear-gradient(90deg, #f0f9eb 0%, #e8f5e0 50%, #ecf5ff 100%);

View File

@@ -183,7 +183,7 @@ export default {
.supplier-contact .phone {
margin-left: 8px;
color: #409eff;
color: #e4393c;
}
/* 价格单元格 */

View File

@@ -249,7 +249,7 @@ export default {
<style scoped>
/* ========= 顶部标题 ========= */
.detail-header {
background: linear-gradient(135deg, #1a2c4e 0%, #2c3e50 100%);
background: linear-gradient(135deg, #333333 0%, #2c3e50 100%);
padding: 18px 24px;
border-radius: 6px;
margin-bottom: 16px;
@@ -315,7 +315,7 @@ export default {
transform: translateY(-50%);
width: 4px;
height: 16px;
background: linear-gradient(180deg, #409eff 0%, #2c3e50 100%);
background: linear-gradient(180deg, #e4393c 0%, #2c3e50 100%);
border-radius: 2px;
}
@@ -401,7 +401,7 @@ export default {
transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.grid-value-wrap >>> .el-input__inner:focus {
border-color: #409eff;
border-color: #e4393c;
box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.15);
}
@@ -452,7 +452,7 @@ export default {
}
>>> .el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
background: #fff;
color: #409eff;
color: #e4393c;
font-weight: 600;
}
>>> .el-tabs--border-card > .el-tabs__content {

View File

@@ -42,7 +42,7 @@
:data="materialList"
@selection-change="handleSelectionChange"
border stripe style="width:100%"
:header-cell-style="{ background: '#f5f5f5', color: '#666', fontWeight: 500, fontSize: '12px' }"
:header-cell-style="{ background: '#ffffff', color: '#666', fontWeight: 500, fontSize: '12px' }"
:cell-style="{ fontSize: '12px', color: '#333' }"
size="small">
<el-table-column type="selection" width="44" align="center" />