feat(role_per_20240628): 优化权限配置
1、修复首次打开权限配置,按钮小齿轮数据权限不显示bug 2、优化自定义数据权限:在input里面显示当前配置用户已有的权限 3、优化自定义数据权限:在树形选择器中,禁用掉当前登录用户没有权限的部门
This commit is contained in:
@@ -80,8 +80,8 @@ export default defineComponent({
|
||||
const state = reactive({
|
||||
isShowPassword: false,
|
||||
ruleForm: {
|
||||
username: '',
|
||||
password: '',
|
||||
username: 'superadmin',
|
||||
password: 'admin123456',
|
||||
captcha: '',
|
||||
captchaKey: '',
|
||||
captchaImgBase: '',
|
||||
|
||||
@@ -40,10 +40,11 @@ export function getDataPermissionRangeAll() {
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
export function getDataPermissionDept() {
|
||||
export function getDataPermissionDept(query:object) {
|
||||
return request({
|
||||
url: '/api/system/role_menu_button_permission/role_to_dept_all/',
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -124,6 +124,7 @@ watch(
|
||||
(val) => {
|
||||
drawerVisible.value = val;
|
||||
getMenuBtnPermission()
|
||||
getDataPermissionRangeLable()
|
||||
|
||||
}
|
||||
);
|
||||
@@ -144,9 +145,10 @@ let menuCurrent = ref<Partial<MenuDataType>>({});
|
||||
let menuBtnCurrent = ref<number>(-1);
|
||||
let dialogVisible = ref(false);
|
||||
let dataPermissionRange = ref<DataPermissionRangeType[]>([]);
|
||||
let dataPermissionRangeLabel = ref<DataPermissionRangeType[]>([]);
|
||||
const formatDataRange = computed(() => {
|
||||
return function (datarange: number) {
|
||||
const findItem = dataPermissionRange.value.find((i) => i.value === datarange);
|
||||
const findItem = dataPermissionRangeLabel.value.find((i) => i.value === datarange);
|
||||
return findItem?.label || ''
|
||||
}
|
||||
})
|
||||
@@ -158,6 +160,11 @@ const getMenuBtnPermission = async () => {
|
||||
const resMenu = await getRolePremission({ role: props.roleId })
|
||||
menuData.value = resMenu.data
|
||||
}
|
||||
// 获取按钮的数据权限下拉选项
|
||||
const getDataPermissionRangeLable = async () => {
|
||||
const resRange = await getDataPermissionRange({ role: props.roleId })
|
||||
dataPermissionRangeLabel.value = resRange.data;
|
||||
}
|
||||
|
||||
const fetchData = async (btnId) => {
|
||||
try {
|
||||
@@ -170,9 +177,9 @@ const fetchData = async (btnId) => {
|
||||
}
|
||||
};
|
||||
|
||||
const handleCollapseChange = (val: number) => {
|
||||
collapseCurrent.value = [val];
|
||||
};
|
||||
// const handleCollapseChange = (val: number) => {
|
||||
// collapseCurrent.value = [val];
|
||||
// };
|
||||
|
||||
/**
|
||||
* 设置按钮数据权限
|
||||
@@ -194,9 +201,10 @@ const handleColumnChange = (val: boolean, record: MenusType, btnType: string) =>
|
||||
|
||||
const handlePermissionRangeChange = async (val: number) => {
|
||||
if (val === 4) {
|
||||
const res = await getDataPermissionDept();
|
||||
const data = XEUtils.toArrayTree(res.data, { parentKey: 'parent', strict: false });
|
||||
deptData.value = data;
|
||||
const res = await getDataPermissionDept({ role: props.roleId,menu_button:menuBtnCurrent.value });
|
||||
const depts = XEUtils.toArrayTree(res.data.depts, { parentKey: 'parent', strict: false });
|
||||
deptData.value = depts;
|
||||
customDataPermission.value = res.data.dept_checked;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user