diff --git a/backend/src/api/menu.js b/backend/src/api/menu.js index 00cd43c..a80b66b 100644 --- a/backend/src/api/menu.js +++ b/backend/src/api/menu.js @@ -1,10 +1,12 @@ import request from "@/utils/request"; // 获取所有菜单 -export function getAllMenus() { +// params.cid=2 时仅返回租户端(backend)菜单,用于角色权限编辑 +export function getAllMenus(params = {}) { return request({ url: `/backend/allmenu`, method: "get", + params, }); } diff --git a/backend/src/api/platformRole.js b/backend/src/api/platformRole.js new file mode 100644 index 0000000..f0dffea --- /dev/null +++ b/backend/src/api/platformRole.js @@ -0,0 +1,39 @@ +import request from '@/utils/request' + +// 平台端角色管理(yz_system_admin_role,可同时管理平台角色 cid=1 与租户角色 cid=2) +export function getAllPlatformRoles() { + return request({ + url: '/platform/allRoles', + method: 'get' + }) +} + +export function getPlatformRoleById(id) { + return request({ + url: `/platform/roles/${id}`, + method: 'get' + }) +} + +export function createPlatformRole(data) { + return request({ + url: '/platform/roles', + method: 'post', + data + }) +} + +export function updatePlatformRole(id, data) { + return request({ + url: `/platform/roles/${id}`, + method: 'put', + data + }) +} + +export function deletePlatformRole(id) { + return request({ + url: `/platform/roles/${id}`, + method: 'delete' + }) +} diff --git a/backend/src/api/tenantUser.js b/backend/src/api/tenantUser.js new file mode 100644 index 0000000..3d1e7b1 --- /dev/null +++ b/backend/src/api/tenantUser.js @@ -0,0 +1,40 @@ +import request from '@/utils/request' + +// 平台端租户用户(yz_system_tenant_user)相关接口 +export function getTenantUserList(params) { + return request({ + url: '/platform/tenantUser/list', + method: 'get', + params, + }) +} + +export function getTenantUsersByTid(tid) { + return request({ + url: `/platform/getTenantUsers/${tid}`, + method: 'get', + }) +} + +export function createTenantUser(data) { + return request({ + url: '/platform/tenantUser/create', + method: 'post', + data, + }) +} + +export function editTenantUser(id, data) { + return request({ + url: `/platform/tenantUser/edit/${id}`, + method: 'post', + data, + }) +} + +export function deleteTenantUser(id) { + return request({ + url: `/platform/tenantUser/delete/${id}`, + method: 'delete', + }) +} diff --git a/backend/src/views/basicSettings/roles/components/detail.vue b/backend/src/views/basicSettings/roles/components/detail.vue index d7d1bed..188f23c 100644 --- a/backend/src/views/basicSettings/roles/components/detail.vue +++ b/backend/src/views/basicSettings/roles/components/detail.vue @@ -12,6 +12,11 @@ {{ roleDetail.status === 1 ? "启用" : "禁用" }} + + + {{ roleDetail.cid === 1 ? "平台角色" : "租户角色" }} + +
import { ref, watch, computed } from "vue"; import { ElMessage } from "element-plus"; -import { getRoleById } from "@/api/role"; +import { getPlatformRoleById } from "@/api/platformRole"; import { getAllMenus } from "@/api/menu"; interface Props { @@ -67,11 +72,11 @@ const allMenus = ref([]); // 监听 modelValue watch( () => props.modelValue, - (val) => { + async (val) => { visible.value = val; if (val && props.roleId) { - loadRoleDetail(); - loadMenus(); + await loadRoleDetail(); + await loadMenus(roleDetail.value.cid); } } ); @@ -127,7 +132,7 @@ const loadRoleDetail = async () => { loading.value = true; try { - const res = await getRoleById(props.roleId); + const res = await getPlatformRoleById(props.roleId); if (res.code === 200) { roleDetail.value = res.data || {}; } else { @@ -141,10 +146,12 @@ const loadRoleDetail = async () => { } }; -// 加载菜单树 -const loadMenus = async () => { +// 加载菜单树:租户角色(cid=2)只展示租户端菜单;平台角色展示全部权限 +const loadMenus = async (cid?: number) => { try { - const res = await getAllMenus(); + const isTenant = cid === undefined || cid === 2; + const params = isTenant ? { cid: 2 } : {}; + const res = await getAllMenus(params); if (res.code === 200) { allMenus.value = res.data || []; } diff --git a/backend/src/views/basicSettings/roles/components/edit.vue b/backend/src/views/basicSettings/roles/components/edit.vue index 116db43..d3bbe49 100644 --- a/backend/src/views/basicSettings/roles/components/edit.vue +++ b/backend/src/views/basicSettings/roles/components/edit.vue @@ -12,6 +12,14 @@ + + + 租户角色 + 平台角色 + +
租户角色仅显示租户端菜单;平台角色显示全部权限
+
+
@@ -38,7 +46,7 @@