|
@@ -10,7 +10,7 @@
|
|
|
<el-card>
|
|
<el-card>
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<el-space align="center">
|
|
<el-space align="center">
|
|
|
- <el-button @click="openAddAdminDrawer" v-if="true || (!isSysTenant && isCanAddTenant && hasAddPermission())">
|
|
|
|
|
|
|
+ <el-button @click="openAddAdminDrawer" v-if="!isTargetTenantSys && isCanAddTenant && hasUserPermission()">
|
|
|
<template #icon>
|
|
<template #icon>
|
|
|
<el-icon>
|
|
<el-icon>
|
|
|
<Plus />
|
|
<Plus />
|
|
@@ -18,8 +18,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
添加租户管理员
|
|
添加租户管理员
|
|
|
</el-button>
|
|
</el-button>
|
|
|
- <!-- <el-button type="primary" @click="openAddSingleDrawer" v-permission="{ action: [PERM_USER.ACCOUNT_ADD] }"> -->
|
|
|
|
|
- <el-button type="primary" @click="openAddSingleDrawer">
|
|
|
|
|
|
|
+ <el-button type="primary" @click="openAddSingleDrawer" v-permission="{ action: [PERM_USER.ACCOUNT_MANAGE] }">
|
|
|
<template #icon>
|
|
<template #icon>
|
|
|
<el-icon>
|
|
<el-icon>
|
|
|
<Plus />
|
|
<Plus />
|
|
@@ -160,7 +159,7 @@
|
|
|
:roleData="roleData"
|
|
:roleData="roleData"
|
|
|
:width="450"
|
|
:width="450"
|
|
|
:isCanAddTenant="isCanAddTenant"
|
|
:isCanAddTenant="isCanAddTenant"
|
|
|
- :isSysTenant="isSysTenant"
|
|
|
|
|
|
|
+ :isTargetTenantSys="isTargetTenantSys"
|
|
|
:departmentList="departmentList"
|
|
:departmentList="departmentList"
|
|
|
/>
|
|
/>
|
|
|
<AddUser
|
|
<AddUser
|
|
@@ -177,7 +176,7 @@
|
|
|
import { reactive, ref, onMounted } from 'vue';
|
|
import { reactive, ref, onMounted } from 'vue';
|
|
|
import { storeToRefs } from 'pinia';
|
|
import { storeToRefs } from 'pinia';
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus';
|
|
import { ElMessage, ElMessageBox } from 'element-plus';
|
|
|
- import { Plus, DocumentAdd, Edit, Delete, Stamp } from '@element-plus/icons-vue';
|
|
|
|
|
|
|
+ import { Plus, DocumentAdd, Stamp } from '@element-plus/icons-vue';
|
|
|
import { EditType, OptionsProps, SearchParamsProps } from './types';
|
|
import { EditType, OptionsProps, SearchParamsProps } from './types';
|
|
|
import { RoleTypeEnum } from '@/types/role/constants';
|
|
import { RoleTypeEnum } from '@/types/role/constants';
|
|
|
import { getAllDepartments } from '@/api/auth/dept';
|
|
import { getAllDepartments } from '@/api/auth/dept';
|
|
@@ -187,7 +186,6 @@
|
|
|
import { useTargetTenantIdSetting } from '@/utils/useTargetTenantIdSetting';
|
|
import { useTargetTenantIdSetting } from '@/utils/useTargetTenantIdSetting';
|
|
|
import { useUserStore } from '@/store/modules/user';
|
|
import { useUserStore } from '@/store/modules/user';
|
|
|
import type { RoleListItem } from '@/api/system/user-operate';
|
|
import type { RoleListItem } from '@/api/system/user-operate';
|
|
|
- import type { DeptTreeItem } from '@/api/system/user-query';
|
|
|
|
|
import SearchForm from './component/SearchForm.vue';
|
|
import SearchForm from './component/SearchForm.vue';
|
|
|
import AddUser from './component/AddUser.vue';
|
|
import AddUser from './component/AddUser.vue';
|
|
|
import CreateDrawer from './CreateDrawer.vue';
|
|
import CreateDrawer from './CreateDrawer.vue';
|
|
@@ -198,6 +196,7 @@
|
|
|
import { SYS_TENANT_ID } from '@/utils/useTargetTenantIdSetting';
|
|
import { SYS_TENANT_ID } from '@/utils/useTargetTenantIdSetting';
|
|
|
import { PERM_USER } from '@/types/permission/constants';
|
|
import { PERM_USER } from '@/types/permission/constants';
|
|
|
import { calculateTreeData } from '@/utils';
|
|
import { calculateTreeData } from '@/utils';
|
|
|
|
|
+ import { DeptTreeItem } from '@/types/dept/type';
|
|
|
|
|
|
|
|
const userStore = useUserStore();
|
|
const userStore = useUserStore();
|
|
|
const { getUserInfo } = storeToRefs(userStore);
|
|
const { getUserInfo } = storeToRefs(userStore);
|
|
@@ -211,14 +210,14 @@
|
|
|
const roleData = ref<OptionsProps[]>([]);
|
|
const roleData = ref<OptionsProps[]>([]);
|
|
|
const departmentList = ref<OptionsProps[]>([]);
|
|
const departmentList = ref<OptionsProps[]>([]);
|
|
|
const createAdminType = ref(EditType.create);
|
|
const createAdminType = ref(EditType.create);
|
|
|
- const { isSysTenant } = useTargetTenantIdSetting();
|
|
|
|
|
|
|
+ const { isTargetTenantSys } = useTargetTenantIdSetting();
|
|
|
|
|
|
|
|
function reloadTable() {
|
|
function reloadTable() {
|
|
|
loadPageData();
|
|
loadPageData();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const hasResetPasswordPermission = () => userStore.checkPermission(PERM_USER.ACCOUNT_RESET_PASSWORD);
|
|
const hasResetPasswordPermission = () => userStore.checkPermission(PERM_USER.ACCOUNT_RESET_PASSWORD);
|
|
|
- const hasAddPermission = () => userStore.checkPermission(PERM_USER.ACCOUNT_ADD);
|
|
|
|
|
|
|
+ const hasUserPermission = () => userStore.checkPermission(PERM_USER.ACCOUNT_MANAGE);
|
|
|
// 当前用户类型
|
|
// 当前用户类型
|
|
|
const currrentRoleType = getUserInfo.value.roleType;
|
|
const currrentRoleType = getUserInfo.value.roleType;
|
|
|
const currrentTenantId = getUserInfo.value.tenantId;
|
|
const currrentTenantId = getUserInfo.value.tenantId;
|
|
@@ -226,7 +225,7 @@
|
|
|
const isCanAddTenant = Number(currrentRoleType) !== RoleTypeEnum.TENANT_ADMIN && currrentTenantId === SYS_TENANT_ID;
|
|
const isCanAddTenant = Number(currrentRoleType) !== RoleTypeEnum.TENANT_ADMIN && currrentTenantId === SYS_TENANT_ID;
|
|
|
const openAddSingleDrawer = () => {
|
|
const openAddSingleDrawer = () => {
|
|
|
drawerTitle.value = '添加用户';
|
|
drawerTitle.value = '添加用户';
|
|
|
- if (isSysTenant) {
|
|
|
|
|
|
|
+ if (isTargetTenantSys) {
|
|
|
createAdminTitle.value = '添加用户';
|
|
createAdminTitle.value = '添加用户';
|
|
|
createAdminType.value = EditType.create;
|
|
createAdminType.value = EditType.create;
|
|
|
createAdminDrawerRef.value?.openDrawer();
|
|
createAdminDrawerRef.value?.openDrawer();
|
|
@@ -252,7 +251,7 @@
|
|
|
|
|
|
|
|
function handleEdit(record: Recordable) {
|
|
function handleEdit(record: Recordable) {
|
|
|
drawerTitle.value = '编辑用户';
|
|
drawerTitle.value = '编辑用户';
|
|
|
- if (record.roleType === RoleTypeEnum.TENANT_ADMIN || isSysTenant) {
|
|
|
|
|
|
|
+ if (record.roleType === RoleTypeEnum.TENANT_ADMIN || isTargetTenantSys) {
|
|
|
createAdminDrawerRef.value?.openDrawer(record.id);
|
|
createAdminDrawerRef.value?.openDrawer(record.id);
|
|
|
createAdminType.value = EditType.edit;
|
|
createAdminType.value = EditType.edit;
|
|
|
} else {
|
|
} else {
|
|
@@ -292,7 +291,11 @@
|
|
|
|
|
|
|
|
/* 是否能重置密码 */
|
|
/* 是否能重置密码 */
|
|
|
const visibleRestPassBtn = (type: RoleTypeEnum): boolean => {
|
|
const visibleRestPassBtn = (type: RoleTypeEnum): boolean => {
|
|
|
- if (isSysTenant || (!isSysTenant && type !== RoleTypeEnum.TENANT_ADMIN) || currrentTenantId === SYS_TENANT_ID) {
|
|
|
|
|
|
|
+ if (
|
|
|
|
|
+ isTargetTenantSys ||
|
|
|
|
|
+ (!isTargetTenantSys && type !== RoleTypeEnum.TENANT_ADMIN) ||
|
|
|
|
|
+ currrentTenantId === SYS_TENANT_ID
|
|
|
|
|
+ ) {
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
return false;
|
|
return false;
|