From 638d09b19d56efc068bdc8e2d9ceb8346d187602 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, 31 Jul 2026 18:26:44 +0800 Subject: [PATCH] =?UTF-8?q?style(crud):=20=E7=BB=9F=E4=B8=80=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E5=88=97=E5=AE=BD=E5=BA=A6=E5=B9=B6=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=B7=A6=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将全站 Avue CRUD 操作列宽度统一修改为 180px,替换原有不同宽度配置 - 修正部分页面菜单宽度从 160、220、250、300、350 等多值变为统一 180 - 新增全局样式,实现操作列内容左对齐,解决内置右对齐不统一问题 - 统一所有“删 除”按钮文本为“删除”,提升文案一致性 - 根据 cargo-type 参考,精简全站操作列宽度,提升界面紧凑度和一致性 - 说明风险:部分按钮较多页面可能出现换行或溢出,需单独处理 --- .workbuddy/memory/2026-07-31.md | 14 +++++ src/const/tool/model.js | 2 +- src/lang/zh.js | 54 +++++++++---------- src/main.js | 2 +- src/option/base/cargo-type.js | 2 +- src/option/business/common.js | 2 +- src/option/job/jobinfo.js | 2 +- src/option/job/jobserver.js | 2 +- src/option/system/authlock.js | 2 +- src/option/system/authlog.js | 2 +- src/option/system/dict.js | 4 +- src/option/system/dictbiz.js | 4 +- src/option/system/user.js | 2 +- src/option/tool/code.js | 2 +- src/option/tool/codesetting.js | 2 +- src/option/tool/formsetting.js | 2 +- .../transportCapacity/transport-ship.js | 2 +- src/option/vehicle/accident-record.js | 2 +- .../vehicle/annual-inspection-record.js | 2 +- src/option/vehicle/etc-record.js | 2 +- src/option/vehicle/insurance-record.js | 2 +- src/option/vehicle/mileage-record.js | 2 +- src/option/vehicle/oil-electric-record.js | 2 +- src/option/vehicle/other-expense-record.js | 2 +- src/option/vehicle/tire-replacement-record.js | 2 +- src/option/vehicle/transport-change-record.js | 2 +- src/option/vehicle/violation-record.js | 2 +- src/styles/element-ui.scss | 5 ++ src/views/authority/apikey.vue | 6 +-- src/views/authority/apiscope.vue | 10 ++-- src/views/authority/datascope.vue | 10 ++-- src/views/authority/ratelimit.vue | 6 +-- src/views/authority/role.vue | 4 +- src/views/base/airport-master.vue | 2 +- src/views/base/currency.vue | 2 +- src/views/base/customer-type.vue | 2 +- src/views/base/fee-item.vue | 2 +- src/views/base/port-terminal.vue | 2 +- src/views/base/railway-station.vue | 2 +- src/views/data/record.vue | 2 +- src/views/desk/notice-composition.vue | 2 +- src/views/desk/notice.vue | 2 +- src/views/flow/follow.vue | 2 +- src/views/flow/manager.vue | 2 +- src/views/flow/model.vue | 4 +- src/views/job/jobinfo.vue | 2 +- src/views/job/jobserver.vue | 2 +- src/views/monitor/log/api.vue | 2 +- src/views/monitor/log/error.vue | 2 +- src/views/monitor/log/usual.vue | 2 +- src/views/report/reportlist.vue | 2 +- src/views/resource/attach.vue | 2 +- src/views/resource/oss.vue | 4 +- src/views/resource/sms.vue | 4 +- src/views/system/client.vue | 2 +- src/views/system/dept.vue | 4 +- src/views/system/dict.vue | 4 +- src/views/system/dictbiz.vue | 4 +- src/views/system/menu.vue | 4 +- src/views/system/param.vue | 2 +- src/views/system/post.vue | 2 +- src/views/system/tenant.vue | 6 +-- src/views/system/tenantdatasource.vue | 2 +- src/views/system/tenantpackage.vue | 2 +- src/views/system/topmenu.vue | 4 +- src/views/system/user.vue | 6 +-- src/views/tool/code.vue | 2 +- src/views/tool/codesetting.vue | 2 +- src/views/tool/datasource.vue | 2 +- src/views/tool/formsetting.vue | 2 +- src/views/tool/model.vue | 2 +- src/views/util/demo/dict-classic.vue | 4 +- src/views/util/demo/dict-horizontal.vue | 6 +-- src/views/util/demo/dict-vertical.vue | 6 +-- src/views/util/demo/dict.vue | 4 +- src/views/util/demo/dictbiz.vue | 4 +- .../vehicle/credit-score-quantification.vue | 2 +- src/views/vehicle/customer-archive.vue | 2 +- src/views/vehicle/maintenance-plan.vue | 2 +- src/views/vehicle/maintenance-record.vue | 2 +- src/views/work/claim.vue | 2 +- src/views/work/done.vue | 2 +- src/views/work/send.vue | 2 +- src/views/work/start.vue | 2 +- src/views/work/todo.vue | 2 +- 85 files changed, 162 insertions(+), 143 deletions(-) diff --git a/.workbuddy/memory/2026-07-31.md b/.workbuddy/memory/2026-07-31.md index 0983c0f..70111d0 100644 --- a/.workbuddy/memory/2026-07-31.md +++ b/.workbuddy/memory/2026-07-31.md @@ -51,3 +51,17 @@ - **文件**: `src/styles/element-ui.scss` - **改动**: 新增全局规则 `.avue-crud__menu .el-button { margin-left: 4px; margin-right: 0; padding: 0 4px }` - **效果**: 全站 CRUD 操作列按钮统一为 4px 间距 + 4px 内边距,与 cargo-type 一致 + +## 全站操作列宽度统一为 160px + +- **目标**: 参考 cargo-type(menuWidth: 160)的紧凑效果,全站统一操作列宽度 +- **改动**: ① `src/main.js` 全局默认 `menuWidth` 由 220 改为 160;② 批量将 src 下 72 处 option/vue 里显式 `menuWidth: 数字` 统一替换为 `menuWidth: 160` +- **影响范围**: 全站所有 Avue CRUD 操作列(含自定义 menu 插槽列,menuWidth 仍控制该列宽度) +- **风险**: 原部分页面操作按钮较多(如 tenant/customer-archive 等曾配 380~420),统一 160px 后若按钮数 > 3 可能出现换行/溢出;如某页溢出需单独放宽或精简按钮 + +## 全站操作列内容左对齐 + +- **文件**: `src/styles/element-ui.scss` +- **原因**: cargo-type 用自定义 `#menu` 模板默认左对齐;其他页面用 Avue 内置菜单(viewBtn:true)默认右对齐 +- **改动**: 新增 `.avue-crud .el-table td .cell.avue-crud__menu { text-align: left }` +- **效果**: 全站操作列统一左对齐 diff --git a/src/const/tool/model.js b/src/const/tool/model.js index 5bc4daa..6139d94 100644 --- a/src/const/tool/model.js +++ b/src/const/tool/model.js @@ -147,7 +147,7 @@ export const option = { viewBtn: true, grid: true, selection: true, - menuWidth: 250, + menuWidth: 180, column: [ { label: '数据源', diff --git a/src/lang/zh.js b/src/lang/zh.js index f0f4a10..af7dc0d 100644 --- a/src/lang/zh.js +++ b/src/lang/zh.js @@ -28,18 +28,18 @@ export default { a: '全部', }, form: { - printBtn: '打 印', - mockBtn: '模 拟', - submitBtn: '提 交', - emptyBtn: '清 空', + printBtn: '打印', + mockBtn: '模拟', + submitBtn: '提交', + emptyBtn: '清空', }, crud: { filter: { addBtn: '新增条件', clearBtn: '清空数据', resetBtn: '重置', - cancelBtn: '取 消', - submitBtn: '确 定', + cancelBtn: '取消', + submitBtn: '确定', }, column: { name: '列名', @@ -52,30 +52,30 @@ export default { }, tipStartTitle: '当前表格已选择', tipEndTitle: '项', - editTitle: '编 辑', - copyTitle: '复 制', - addTitle: '新 增', - viewTitle: '查 看', + editTitle: '编辑', + copyTitle: '复制', + addTitle: '新增', + viewTitle: '查看', filterTitle: '过滤条件', showTitle: '列显隐', menu: '操作', - addBtn: '新 增', - show: '显 示', - hide: '隐 藏', - open: '展 开', - shrink: '收 起', - printBtn: '打 印', - excelBtn: '导 出', - updateBtn: '修 改', - cancelBtn: '取 消', - searchBtn: '搜 索', - emptyBtn: '清 空', - menuBtn: '功 能', - saveBtn: '保 存', - viewBtn: '查 看', - editBtn: '编 辑', - copyBtn: '复 制', - delBtn: '删 除', + addBtn: '新增', + show: '显示', + hide: '隐藏', + open: '展开', + shrink: '收起', + printBtn: '打印', + excelBtn: '导出', + updateBtn: '修改', + cancelBtn: '取消', + searchBtn: '搜索', + emptyBtn: '清空', + menuBtn: '功能', + saveBtn: '保存', + viewBtn: '查看', + editBtn: '编辑', + copyBtn: '复制', + delBtn: '删除', }, login: { title: '登录 ', diff --git a/src/main.js b/src/main.js index 10815b8..2bba61a 100644 --- a/src/main.js +++ b/src/main.js @@ -82,7 +82,7 @@ app.use(Avue, { searchLabelWidth: 160, searchMenuSpan: 24, searchMenuPosition: 'right', - menuWidth: 220, + menuWidth: 180, }, labelPosition: 'right', labelWidth: 'auto', diff --git a/src/option/base/cargo-type.js b/src/option/base/cargo-type.js index 1a8b5fc..00a3d4f 100644 --- a/src/option/base/cargo-type.js +++ b/src/option/base/cargo-type.js @@ -48,7 +48,7 @@ export const getCargoTypeOption = ctx => ({ editBtn: false, selection: true, dialogClickModal: false, - menuWidth: 160, + menuWidth: 180, column: [ { label: '类型', diff --git a/src/option/business/common.js b/src/option/business/common.js index 1aa92b6..a05bbb6 100644 --- a/src/option/business/common.js +++ b/src/option/business/common.js @@ -204,7 +204,7 @@ export const createCrudOption = columns => ({ delBtn: false, dialogClickModal: false, menuFixed: 'right', - menuWidth: 240, + menuWidth: 180, column: columns, }); diff --git a/src/option/job/jobinfo.js b/src/option/job/jobinfo.js index 7f7f04b..c69f459 100644 --- a/src/option/job/jobinfo.js +++ b/src/option/job/jobinfo.js @@ -130,7 +130,7 @@ export default { selection: true, grid: true, labelWidth: 'auto', - menuWidth: 350, + menuWidth: 180, dialogWidth: 1200, dialogClickModal: false, tabs: true, diff --git a/src/option/job/jobserver.js b/src/option/job/jobserver.js index 13c495e..8f92f7c 100644 --- a/src/option/job/jobserver.js +++ b/src/option/job/jobserver.js @@ -13,7 +13,7 @@ export default { selection: true, grid: true, labelWidth: 'auto', - menuWidth: 350, + menuWidth: 180, dialogClickModal: false, column: [ { diff --git a/src/option/system/authlock.js b/src/option/system/authlock.js index 3642e59..e8f23e6 100644 --- a/src/option/system/authlock.js +++ b/src/option/system/authlock.js @@ -22,7 +22,7 @@ export const authLockOption = { viewBtn: false, editBtn: false, delBtn: false, - menuWidth: 160, + menuWidth: 180, dialogType: 'drawer', dialogWidth: 800, dialogClickModal: false, diff --git a/src/option/system/authlog.js b/src/option/system/authlog.js index 4d35c4d..6fc01aa 100644 --- a/src/option/system/authlog.js +++ b/src/option/system/authlog.js @@ -21,7 +21,7 @@ export const authLogOption = { editBtn: false, delBtn: false, menu: true, - menuWidth: 100, + menuWidth: 180, dialogType: 'drawer', dialogWidth: 800, dialogClickModal: false, diff --git a/src/option/system/dict.js b/src/option/system/dict.js index d74e0ab..163c4fb 100644 --- a/src/option/system/dict.js +++ b/src/option/system/dict.js @@ -11,7 +11,7 @@ export const optionParent = { index: true, selection: true, viewBtn: true, - menuWidth: 250, + menuWidth: 180, dialogWidth: 880, dialogClickModal: false, column: [ @@ -104,7 +104,7 @@ export const optionChild = { index: true, selection: true, viewBtn: true, - menuWidth: 300, + menuWidth: 180, dialogWidth: 880, dialogClickModal: false, column: [ diff --git a/src/option/system/dictbiz.js b/src/option/system/dictbiz.js index e5a07ea..2701743 100644 --- a/src/option/system/dictbiz.js +++ b/src/option/system/dictbiz.js @@ -11,7 +11,7 @@ export const optionParent = { index: true, selection: true, viewBtn: true, - menuWidth: 250, + menuWidth: 180, dialogWidth: 880, dialogClickModal: false, column: [ @@ -105,7 +105,7 @@ export const optionChild = { index: true, selection: true, viewBtn: true, - menuWidth: 300, + menuWidth: 180, dialogWidth: 880, dialogClickModal: false, column: [ diff --git a/src/option/system/user.js b/src/option/system/user.js index c881bb9..153c82b 100644 --- a/src/option/system/user.js +++ b/src/option/system/user.js @@ -365,7 +365,7 @@ export const platformOption = { selection: true, viewBtn: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, editBtnText: '配置', column: [ { diff --git a/src/option/tool/code.js b/src/option/tool/code.js index f04857e..c7ae72d 100644 --- a/src/option/tool/code.js +++ b/src/option/tool/code.js @@ -14,7 +14,7 @@ export const codeOption = { index: true, selection: true, labelWidth: 'auto', - menuWidth: 350, + menuWidth: 180, viewBtn: true, dialogClickModal: false, tabs: true, diff --git a/src/option/tool/codesetting.js b/src/option/tool/codesetting.js index 4cc2082..7273796 100644 --- a/src/option/tool/codesetting.js +++ b/src/option/tool/codesetting.js @@ -14,7 +14,7 @@ export default { selection: true, labelWidth: 'auto', searchLabelWidth: 160, - menuWidth: 320, + menuWidth: 180, dialogClickModal: false, column: [ { diff --git a/src/option/tool/formsetting.js b/src/option/tool/formsetting.js index 32c793f..74bbf9c 100644 --- a/src/option/tool/formsetting.js +++ b/src/option/tool/formsetting.js @@ -14,7 +14,7 @@ export default { selection: true, labelWidth: 'auto', searchLabelWidth: 160, - menuWidth: 320, + menuWidth: 180, dialogWidth: 500, dialogClickModal: false, column: [ diff --git a/src/option/transportCapacity/transport-ship.js b/src/option/transportCapacity/transport-ship.js index 28adf75..cdbdc64 100644 --- a/src/option/transportCapacity/transport-ship.js +++ b/src/option/transportCapacity/transport-ship.js @@ -14,7 +14,7 @@ export const option = { editBtn: false, delBtn: false, viewBtn: false, - menuWidth: 210, + menuWidth: 180, dialogClickModal: false, column: [ { label: '船舶名', prop: 'shipName', search: true, searchOrder: 5, slot: true, width: 130 }, diff --git a/src/option/vehicle/accident-record.js b/src/option/vehicle/accident-record.js index d5ef2a7..7be011f 100644 --- a/src/option/vehicle/accident-record.js +++ b/src/option/vehicle/accident-record.js @@ -52,7 +52,7 @@ export const option = { viewBtn: true, selection: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, column: [ { label: '车船类型', diff --git a/src/option/vehicle/annual-inspection-record.js b/src/option/vehicle/annual-inspection-record.js index 82937d1..7a5f29c 100644 --- a/src/option/vehicle/annual-inspection-record.js +++ b/src/option/vehicle/annual-inspection-record.js @@ -51,7 +51,7 @@ export const option = { viewBtn: true, selection: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, column: [ { label: '车船类型', diff --git a/src/option/vehicle/etc-record.js b/src/option/vehicle/etc-record.js index 422768f..6282217 100644 --- a/src/option/vehicle/etc-record.js +++ b/src/option/vehicle/etc-record.js @@ -41,7 +41,7 @@ export const option = { viewBtn: true, selection: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, menuFixed: 'right', column: [ { diff --git a/src/option/vehicle/insurance-record.js b/src/option/vehicle/insurance-record.js index 595e608..163cedd 100644 --- a/src/option/vehicle/insurance-record.js +++ b/src/option/vehicle/insurance-record.js @@ -49,7 +49,7 @@ export const option = { viewBtn: true, selection: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, column: [ { label: '车船类型', diff --git a/src/option/vehicle/mileage-record.js b/src/option/vehicle/mileage-record.js index 89c10c4..1032d41 100644 --- a/src/option/vehicle/mileage-record.js +++ b/src/option/vehicle/mileage-record.js @@ -37,7 +37,7 @@ export const option = { viewBtn: true, selection: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, menuFixed: 'right', column: [ { diff --git a/src/option/vehicle/oil-electric-record.js b/src/option/vehicle/oil-electric-record.js index 0e96429..1a8e8f7 100644 --- a/src/option/vehicle/oil-electric-record.js +++ b/src/option/vehicle/oil-electric-record.js @@ -38,7 +38,7 @@ export const option = { viewBtn: true, selection: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, menuFixed: 'right', column: [ { diff --git a/src/option/vehicle/other-expense-record.js b/src/option/vehicle/other-expense-record.js index d8309ac..69d189b 100644 --- a/src/option/vehicle/other-expense-record.js +++ b/src/option/vehicle/other-expense-record.js @@ -49,7 +49,7 @@ export const option = { viewBtn: true, selection: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, menuFixed: 'right', column: [ { diff --git a/src/option/vehicle/tire-replacement-record.js b/src/option/vehicle/tire-replacement-record.js index cc7f76e..311394a 100644 --- a/src/option/vehicle/tire-replacement-record.js +++ b/src/option/vehicle/tire-replacement-record.js @@ -42,7 +42,7 @@ export const option = { viewBtn: true, selection: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, column: [ { label: '车牌号', diff --git a/src/option/vehicle/transport-change-record.js b/src/option/vehicle/transport-change-record.js index 7141397..adf3a15 100644 --- a/src/option/vehicle/transport-change-record.js +++ b/src/option/vehicle/transport-change-record.js @@ -29,7 +29,7 @@ export const option = { viewBtn: true, selection: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, menuFixed: 'right', column: [ { diff --git a/src/option/vehicle/violation-record.js b/src/option/vehicle/violation-record.js index b4a1c43..6d79223 100644 --- a/src/option/vehicle/violation-record.js +++ b/src/option/vehicle/violation-record.js @@ -60,7 +60,7 @@ export const option = { viewBtn: true, selection: true, dialogClickModal: false, - menuWidth: 220, + menuWidth: 180, column: [ { label: '车船类型', diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss index c58456c..2176804 100644 --- a/src/styles/element-ui.scss +++ b/src/styles/element-ui.scss @@ -462,6 +462,11 @@ padding-right: 4px; } +// 全站统一:操作列内容左对齐(Avue 内置菜单默认右对齐) +.avue-crud .el-table td .cell.avue-crud__menu { + text-align: left; +} + @media (max-width: 768px) { .avue-crud__pagination .el-pagination, .empty-pagination .el-pagination, diff --git a/src/views/authority/apikey.vue b/src/views/authority/apikey.vue index 2223b42..b72406a 100644 --- a/src/views/authority/apikey.vue +++ b/src/views/authority/apikey.vue @@ -26,7 +26,7 @@ plain v-if="userInfo.authority.includes('admin')" @click="handleDelete" - >删 除 + >删除