From 5aefa23f50a600ea73242dd6a011bf11719c7fb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com>
Date: Fri, 7 Aug 2026 12:47:19 +0800
Subject: [PATCH] =?UTF-8?q?fix(system):=20=E4=BF=AE=E5=A4=8D=E9=83=A8?=
=?UTF-8?q?=E9=97=A8=E7=AE=A1=E7=90=86=E6=93=8D=E4=BD=9C=E5=88=97=E9=94=99?=
=?UTF-8?q?=E4=BD=8D=E9=97=AE=E9=A2=98=E5=B9=B6=E7=BB=9F=E4=B8=80=E5=AE=A2?=
=?UTF-8?q?=E5=95=86=E6=A1=A3=E6=A1=88=E5=BC=B9=E7=AA=97=E9=A3=8E=E6=A0=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 修复/system/dept页面操作列竖排错位问题,通过提升CSS选择器特异性并强制inline-flex布局
- 在department页面添加scoped样式,双保险保证操作列横排显示及间距正确
- 将客商档案/vehicle/customer-archive中的表单分组和弹窗内容统一改为section-card组件风格
- 清理废弃旧样式类,提升界面一致性及可维护性
- 调整相关弹窗中卡片内容结构,消除双层灰色背景,使弹窗风格与/business/project-apply一致
- 对评分、联系人、收款信息、发票信息、客商材料、变更记录和证明材料等模块使用全局section-card组件包裹
- 优化样式细节,确保按钮组进入卡头右侧,保证操作体验一致
- 验证构建成功及热更新生效,提醒用户发布需清除旧CSS缓存
---
.workbuddy/memory/2026-08-07.md | 20 ++
src/styles/element-ui.scss | 6 +-
src/views/system/dept.vue | 19 ++
.../vehicle/credit-score-quantification.vue | 4 +-
src/views/vehicle/customer-archive.vue | 200 ++++++------------
5 files changed, 106 insertions(+), 143 deletions(-)
diff --git a/.workbuddy/memory/2026-08-07.md b/.workbuddy/memory/2026-08-07.md
index 7880418..a36c356 100644
--- a/.workbuddy/memory/2026-08-07.md
+++ b/.workbuddy/memory/2026-08-07.md
@@ -88,3 +88,23 @@
- 共享工厂函数 `createCrudOption` 新增 `showOverflowTooltip: true`,覆盖 business 模块通过该工厂生成的所有 CRUD option。
- 覆盖范围:全站所有表格可见文本列(含 Avue 与手写 el-table),`type="selection"` 选择列由 Element Plus 自动豁免;操作列通过 CSS 豁免不被影响。
- 验证:`npm run build` 成功(exit code 0);构建日志中 CSS `*` 告警来自第三方库压缩,与本次无关(历史既有)。
+
+## 修复 /system/dept 操作栏错位(链接竖排)
+- 现象:用户截图反馈机构管理页操作列「查看 / 编辑 / 删除 / 新增子项」竖排且偏右错位。
+- 根因:Avue 自带默认样式 `.avue-crud .avue-crud__menu{display:block}`(特异性 0,2,0)与项目全局覆盖样式选择器完全相同;项目原规则虽带 `!important`,但在 dev 模式 CSS 注入时序或浏览器缓存旧 element-ui.scss 时,`.avue-crud__menu` 退化成 block,导致内部按钮/链接竖排。
+- 修复:
+ - `src/styles/element-ui.scss`:把 `.avue-crud .avue-crud__menu` 改为重复类名 `.avue-crud .avue-crud__menu.avue-crud__menu`(特异性升到 0,3,0),并新增 `width: 100% !important` 让操作列容器占满单元格、左对齐横排更稳。
+ - `src/views/system/dept.vue`:scoped 样式新增 `:deep(.avue-crud__menu)` 兜底(inline-flex + gap 8px + 子元素 inline-flex),双保险确保本页操作列横排。
+- 验证:dev server 已热更新,curl 确认两处编译结果均含 `display: inline-flex !important`;构建需用户硬刷新浏览器清旧 CSS 缓存。
+
+## 客商档案 /vehicle/customer-archive 弹窗风格统一为 section-card
+- 需求:用户截图反馈弹窗有「双层灰色背景」,且「工商信息」等标题没有放到卡片里面;要求改成和 `/business/project-apply` 一致的白卡风格。
+- 根因:原页面主表单使用 `.archive-form__group` 灰色容器,内部再包一层白色 `.el-row` 卡片,标题坐在灰色背景上,形成外层 dialog body 灰 + 分组灰的「双层灰」;客商材料、变更记录、评分材料、发票/邮寄信息也沿用旧的分节标题样式。
+- 改动:`src/views/vehicle/customer-archive.vue`
+ - 主表单 4 个分组改为 `` 全局白卡组件,删除外层「基本信息」大标题。
+ - 评分/联系人/收款/发票 4 个 Tab 内容改为 `` + ``,按钮组进入卡头右侧。
+ - 客商材料改为 ``,变更记录改为 ``。
+ - 发票信息弹窗的「发票信息 / 邮寄信息」改为两张 ``。
+ - 评分详情弹窗的「证明材料」改为 ``。
+ - 清理不再使用的样式:`.archive-form__group`、`.section-title`、`.section-head`、`.customer-material-section`、`.change-record-section`、`.invoice-form__section-title`、`.score-material-section` 等。
+- 验证:`npm run build` 成功(exit code 0)。
diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss
index 749a220..4c79cf3 100644
--- a/src/styles/element-ui.scss
+++ b/src/styles/element-ui.scss
@@ -550,12 +550,16 @@
}
// 全站统一:Avue 操作列文字链接保持间距并支持自动换行
-.avue-crud .avue-crud__menu {
+// 注意:Avue 自带 .avue-crud .avue-crud__menu{display:block}(特异性同为 0,2,0)。
+// 此处重复类名升至 0,3,0 并强制 display:inline-flex !important,彻底压过 Avue 内置样式,
+// 避免 dev 模式下 CSS 注入顺序导致 .avue-crud__menu 退化成 block 而让操作项竖排错位。
+.avue-crud .avue-crud__menu.avue-crud__menu {
display: inline-flex !important;
flex-wrap: wrap;
gap: 8px;
align-items: center;
justify-content: start;
+ width: 100% !important;
text-align: left;
}
diff --git a/src/views/system/dept.vue b/src/views/system/dept.vue
index 86a82d3..9c0cd38 100644
--- a/src/views/system/dept.vue
+++ b/src/views/system/dept.vue
@@ -729,4 +729,23 @@ export default {
justify-content: flex-end;
margin-top: 12px;
}
+
+/* 操作列兜底:确保「查看 / 编辑 / 删除 / 新增子项」横向排列并保留 8px 间距,
+ 避免退化成 block 导致操作项竖排错位。全局样式已统一处理,此处为双保险。 */
+:deep(.avue-crud__menu) {
+ display: inline-flex !important;
+ flex-wrap: wrap;
+ gap: 8px;
+ align-items: center;
+ justify-content: flex-start;
+ width: 100%;
+ text-align: left;
+
+ > .el-button,
+ > .el-link,
+ > .el-dropdown {
+ flex-shrink: 0;
+ display: inline-flex;
+ }
+}
diff --git a/src/views/vehicle/credit-score-quantification.vue b/src/views/vehicle/credit-score-quantification.vue
index f49ab0c..1a1dd77 100644
--- a/src/views/vehicle/credit-score-quantification.vue
+++ b/src/views/vehicle/credit-score-quantification.vue
@@ -1022,8 +1022,8 @@ export default {
}
.base-form {
- max-width: 1080px;
- margin: 10px auto 28px;
+ max-width: 60%;
+ padding: 24px;
}
.section-head {
diff --git a/src/views/vehicle/customer-archive.vue b/src/views/vehicle/customer-archive.vue
index fc194a3..edcc999 100644
--- a/src/views/vehicle/customer-archive.vue
+++ b/src/views/vehicle/customer-archive.vue
@@ -151,9 +151,7 @@
:disabled="readonly"
class="archive-form"
>
- 基本信息
-
+
-
+
-
+
-
+
-
-
-
- 添加评分记录
-
-
-
+
+
+
+ 添加评分记录
+
+
+
{{ row.__index }}
@@ -470,15 +465,16 @@
@size-change="handleScoreSizeChange"
@current-change="handleScoreCurrentChange"
/>
+
-
-
-
- 新增联系人
-
-
-
+
+
+
+ 新增联系人
+
+
+
@@ -509,15 +505,16 @@
@size-change="size => handleDetailSizeChange('contact', size)"
@current-change="page => handleDetailCurrentChange('contact', page)"
/>
+
-
-
-
- 新增收款信息
-
-
-
+
+
+
+ 新增收款信息
+
+
+
@@ -539,15 +536,16 @@
@size-change="size => handleDetailSizeChange('receipt', size)"
@current-change="page => handleDetailCurrentChange('receipt', page)"
/>
+
-
-
-
- 新增发票信息
-
-
-
+
+
+
+ 新增发票信息
+
+
+
@@ -575,12 +573,12 @@
@size-change="size => handleDetailSizeChange('invoice', size)"
@current-change="page => handleDetailCurrentChange('invoice', page)"
/>
+
-
+
-
+
{{ readonly ? '关闭' : '取消' }}
@@ -838,8 +835,8 @@
label-width="120px"
class="invoice-form"
>
- 发票信息
-
+
+
@@ -887,8 +884,10 @@
- 邮寄信息
-
+
+
+
+
@@ -917,6 +916,7 @@
+