From 8c506ae56c14db5428c6b29164a33dd301ea9605 Mon Sep 17 00:00:00 2001 From: ZhangAo Date: Fri, 28 Aug 2026 16:37:58 +0800 Subject: [PATCH] =?UTF-8?q?refactor(module-management):=20R2b=20=E8=A1=A8?= =?UTF-8?q?=E6=A0=BC=E8=AE=BE=E8=AE=A1=E9=9D=A2=E6=9D=BF=20UI=20=E5=BD=92?= =?UTF-8?q?=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 字段库搜索/带标题/列宽输入 → ui Input(change 载荷改为值) - 编辑方式切换 → ui RadioGroup;设计/数据视图切换 → ui Tabs(nav-only) - 帮助气泡 → ui Popover(hover),删除自绘 help-pop 样式 - 属性面板折叠/步进钮 → ui Button;状态开关×5 → ui Switch - 删除 .mm-fdesign__toggle、.mm-edit__mode-btn、__view-btn 等死样式 --- .../fms/fms-vue/src/layouts/DefaultLayout.vue | 4 +- .../components/ModuleTableEditPanel.vue | 414 +++++------------- 2 files changed, 121 insertions(+), 297 deletions(-) diff --git a/code/fms/fms-vue/src/layouts/DefaultLayout.vue b/code/fms/fms-vue/src/layouts/DefaultLayout.vue index 7c621740..e72ba990 100644 --- a/code/fms/fms-vue/src/layouts/DefaultLayout.vue +++ b/code/fms/fms-vue/src/layouts/DefaultLayout.vue @@ -316,8 +316,8 @@ onBeforeUnmount(() => { display: flex; flex-direction: column; overflow: auto hidden; - /* 四边统一 4px padding */ - padding: 4px; + /* 上下 4px,左右 0 */ + padding: 4px 0; } /* 页面过渡外层包裹:稳定的 DOM 根,供 transition 的 out-in 模式直接管理, diff --git a/code/fms/fms-vue/src/views/system/module-management/components/ModuleTableEditPanel.vue b/code/fms/fms-vue/src/views/system/module-management/components/ModuleTableEditPanel.vue index 07ea400b..d1aecd38 100644 --- a/code/fms/fms-vue/src/views/system/module-management/components/ModuleTableEditPanel.vue +++ b/code/fms/fms-vue/src/views/system/module-management/components/ModuleTableEditPanel.vue @@ -22,7 +22,17 @@ import { Pencil, FolderPlus, } from '@lucide/vue' -import { Message, Button, Select } from '@/components/ui' +import { + Message, + Button, + Input, + Popover, + Radio, + RadioGroup, + Select, + Switch, + Tabs, +} from '@/components/ui' import ModuleStructureTree from './structure-tree/ModuleStructureTree.vue' import FmsTable from '@/components/fms-table/FmsTable.vue' import { createTempId } from '@/utils/tempId' @@ -226,12 +236,12 @@ function onWidthChange(value) { // 数字输入框逐键 input 只更新显示; // change(失焦/回车)提交一次,与原值不同才真正写入 -function onWidthCommit(event) { +function onWidthCommit(value) { const row = selectedRow.value if (!row || props.loading) return - const value = Math.min(600, Math.max(40, Number(event.target.value) || 120)) - if (value === widthOf(row)) return - row.b_width = value + const width = Math.min(600, Math.max(40, Number(value) || 120)) + if (width === widthOf(row)) return + row.b_width = width emitUpdate() } @@ -703,13 +713,13 @@ function deleteBand(band) { ) } -function onBandTitleChange(event) { +function onBandTitleChange(value) { const band = selectedBand.value if (!band || props.loading) return - const value = event.target.value.trim() - if (band.group.b_title === value) return + const title = String(value ?? '').trim() + if (band.group.b_title === title) return const updated = (props.groups || []).map((g) => - String(g.b_id) === String(band.gid) ? { ...g, b_title: value } : g, + String(g.b_id) === String(band.gid) ? { ...g, b_title: title } : g, ) emit('updateGroups', updated) } @@ -1235,12 +1245,7 @@ onBeforeUnmount(() => {