From 2d132153046c93deca2463e45ae324ccdeca02ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 17 Apr 2026 12:08:51 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=8B=BE=E9=80=89=E6=A0=8F=E6=94=B9=E4=B8=BA=E5=B7=A6?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E5=8F=B3=E6=8C=89=E9=92=AE=E7=BB=93=E6=9E=84?= =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E7=A6=81=E7=94=A8=E4=B8=8E=E9=9A=90?= =?UTF-8?q?=E8=97=8F=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/menu/types.ts | 6 +- .../styles/vendors/element-plus/_dialog.scss | 13 +- src/views/system/role/index.vue | 562 ++++++++++++++---- 3 files changed, 475 insertions(+), 106 deletions(-) diff --git a/src/api/system/menu/types.ts b/src/api/system/menu/types.ts index d15f542..f106bc5 100644 --- a/src/api/system/menu/types.ts +++ b/src/api/system/menu/types.ts @@ -9,13 +9,15 @@ export interface MenuTreeOption { parentId: string | number; weight: number; menuType?: MenuTypeEnum | string; + visible?: string; + status?: string; + disabled?: boolean; children?: MenuTreeOption[]; } export interface RoleMenuTree { menus: MenuTreeOption[]; checkedKeys: Array; - buttonsMap: Record; } /** @@ -26,6 +28,8 @@ export interface RoleMenuButtonOption { menuName: string; parentId: string | number; perms?: string; + status?: string; + disabled?: boolean; } /** diff --git a/src/assets/styles/vendors/element-plus/_dialog.scss b/src/assets/styles/vendors/element-plus/_dialog.scss index dab3ce5..1767884 100644 --- a/src/assets/styles/vendors/element-plus/_dialog.scss +++ b/src/assets/styles/vendors/element-plus/_dialog.scss @@ -24,6 +24,7 @@ var(--app-surface-bg); .el-dialog__header { + position: relative; padding: 18px 20px 14px; box-sizing: border-box; border-bottom: 1px solid var(--app-surface-border); @@ -40,12 +41,20 @@ } .el-dialog__headerbtn { - top: 15px; + position: absolute; + top: 50%; right: 16px; + display: inline-flex; + align-items: center; + justify-content: center; width: 32px; height: 32px; + padding: 0; + margin: 0; + border: 0; border-radius: 10px; background: var(--app-elevated-close-bg); + transform: translateY(-50%); transition: background-color 0.2s ease, transform 0.2s ease, @@ -58,7 +67,7 @@ &:hover { background: var(--app-elevated-close-hover-bg); - transform: translateY(-1px); + transform: translateY(calc(-50% - 1px)); .el-dialog__close { color: var(--app-accent-strong); diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue index bb83537..340d83f 100644 --- a/src/views/system/role/index.vue +++ b/src/views/system/role/index.vue @@ -87,14 +87,7 @@ - + @@ -229,7 +222,6 @@ 父子联动 -