From 24ae7b13fe1e4314b34313c69e197d21e67baf65 Mon Sep 17 00:00:00 2001 From: chenxing Date: Tue, 20 Oct 2026 22:37:43 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=BA=BFP0=E6=9C=80=E5=B0=8F?= =?UTF-8?q?=E6=89=B9:=E6=9E=81=E7=AE=80=E9=83=A8=E9=97=A8=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=A1=B5=EF=BC=88=E5=8F=AA=E8=AF=BB=E6=A0=91+?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=BE=BD=E6=A0=87+=E5=90=AF=E5=81=9C?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=EF=BC=8C=E6=9D=83=E9=99=90=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=88=86=E7=BB=84=E4=B8=8B=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/apiDefinitions.ts | 2 + src/api/globals.d.ts | 46 +++++++++ src/assets/config/menu.ts | 1 + src/router/routes.ts | 9 ++ src/views/dept-manage/index.vue | 169 ++++++++++++++++++++++++++++++++ 5 files changed, 227 insertions(+) create mode 100644 src/views/dept-manage/index.vue diff --git a/src/api/apiDefinitions.ts b/src/api/apiDefinitions.ts index 2bde1c7..c9bc2b6 100644 --- a/src/api/apiDefinitions.ts +++ b/src/api/apiDefinitions.ts @@ -30,6 +30,8 @@ export default { 'SysGroup.move': ['POST', '/api/sysgroup/Move'], 'SysGroup.sysGroupEdit': ['POST', '/api/sysgroup/Edit/{id}'], 'SysGroup.sysGroupRemove': ['POST', '/api/sysgroup/Delete/{id}'], + 'SysGroup.disable': ['POST', '/api/sysgroup/Disable/{id}'], + 'SysGroup.enable': ['POST', '/api/sysgroup/Enable/{id}'], 'SysGroup.batchAdd': ['POST', '/api/sysgroup/BatchAdd'], 'SysGroup.sysGroupAdd': ['POST', '/api/sysgroup/Add'], 'PushSubscription.test': ['POST', '/api/push/Test'], diff --git a/src/api/globals.d.ts b/src/api/globals.d.ts index c58bdeb..29334d6 100644 --- a/src/api/globals.d.ts +++ b/src/api/globals.d.ts @@ -1538,6 +1538,52 @@ declare global { >( config: Config ): Alova2Method; + /** + * --- + * + * [POST] + * + * **path:** /api/sysgroup/Disable/{id} + * + * --- + * + * **Response** + * ```ts + * type Response = null + * ``` + */ + disable< + Config extends Alova2MethodConfig & { + pathParams: { + id: number; + }; + } + >( + config: Config + ): Alova2Method; + /** + * --- + * + * [POST] + * + * **path:** /api/sysgroup/Enable/{id} + * + * --- + * + * **Response** + * ```ts + * type Response = null + * ``` + */ + enable< + Config extends Alova2MethodConfig & { + pathParams: { + id: number; + }; + } + >( + config: Config + ): Alova2Method; /** * --- * diff --git a/src/assets/config/menu.ts b/src/assets/config/menu.ts index 5bcfe48..72045ef 100644 --- a/src/assets/config/menu.ts +++ b/src/assets/config/menu.ts @@ -48,6 +48,7 @@ export function getMenuList(userRole?: UserRoleEnum): Promise { { id: 42, modId: 1104, name: "组授权", page: "/group-auth", roles: [UserRoleEnum.SuperAdmin, UserRoleEnum.Bureau, UserRoleEnum.School] }, { id: 44, modId: 1110, name: "角色授权", page: "/role-authz/list", roles: [UserRoleEnum.SuperAdmin, UserRoleEnum.Bureau, UserRoleEnum.School] }, { id: 43, modId: 1105, name: "权限一览", page: "/permission-view", roles: [UserRoleEnum.SuperAdmin, UserRoleEnum.Bureau, UserRoleEnum.School] }, + { id: 45, modId: 1106, name: "部门管理", page: "/dept-manage", roles: [UserRoleEnum.SuperAdmin, UserRoleEnum.Bureau, UserRoleEnum.School] }, ], }, // 4. 日志管理(父目录) diff --git a/src/router/routes.ts b/src/router/routes.ts index 0d6a901..5a2ccdd 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -12,6 +12,7 @@ import PermissionView from "@/views/PermissionView.vue"; import OperationLogList from "@/views/oplog/OperationLogList.vue"; import OapiLogList from "@/views/oapilog/OapiLogList.vue"; import PushLog from "@/views/push/PushLog.vue"; +import DeptManage from "@/views/dept-manage/index.vue"; import NoAuth from "@/views/NoAuth.vue"; // 管理端四级访问控制:meta.roles 为空/未声明 = 登录即可访问 @@ -105,6 +106,14 @@ const routes: RouteRecordRaw[] = [ component: PermissionView, meta: { title: "权限一览", icon: "icon-list", modId: 1105, roles: ALL_ADMIN }, }, + // ===== 部门管理(2026-10-20 部门线 P0 最小批:只读树 + 状态徽标 + 启停)===== + // 挂「权限管理」分组(菜单 id=45);无删除/成员/职务/新建入口——建部门=建组回「组,用户管理」 + { + path: "/dept-manage", + name: "DeptManage", + component: DeptManage, + meta: { title: "部门管理", icon: "icon-list", modId: 1106, parentId: 1108, roles: ALL_ADMIN }, + }, { path: "/push-log", name: "PushLog", diff --git a/src/views/dept-manage/index.vue b/src/views/dept-manage/index.vue new file mode 100644 index 0000000..a43dcd3 --- /dev/null +++ b/src/views/dept-manage/index.vue @@ -0,0 +1,169 @@ + + + + +