update Yi.RuoYi.Vue3/src/views/system/role/index.vue.
系统管理-角色管理-数据权限:数据回显时“权限范围”字段信息展示的为对应索引值,不是下拉选项值 Signed-off-by: YangHaiPing <yang1426251993@163.com>
This commit is contained in:
@@ -185,6 +185,7 @@ import {
|
|||||||
listMenu,
|
listMenu,
|
||||||
} from "@/api/system/menu";
|
} from "@/api/system/menu";
|
||||||
import {listDept, roleDeptTreeselect} from "@/api/system/dept";
|
import {listDept, roleDeptTreeselect} from "@/api/system/dept";
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const {proxy} = getCurrentInstance();
|
const {proxy} = getCurrentInstance();
|
||||||
const {sys_normal_disable} = proxy.useDict("sys_normal_disable");
|
const {sys_normal_disable} = proxy.useDict("sys_normal_disable");
|
||||||
@@ -219,8 +220,7 @@ const dataScopeOptions = ref([
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
form: {
|
form: {},
|
||||||
},
|
|
||||||
queryParams: {
|
queryParams: {
|
||||||
skipCount: 1,
|
skipCount: 1,
|
||||||
maxResultCount: 10,
|
maxResultCount: 10,
|
||||||
@@ -254,17 +254,20 @@ function getList() {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
function handleQuery() {
|
function handleQuery() {
|
||||||
queryParams.value.skipCount = 1;
|
queryParams.value.skipCount = 1;
|
||||||
getList();
|
getList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
function resetQuery() {
|
function resetQuery() {
|
||||||
dateRange.value = [];
|
dateRange.value = [];
|
||||||
proxy.resetForm("queryRef");
|
proxy.resetForm("queryRef");
|
||||||
handleQuery();
|
handleQuery();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
function handleDelete(row) {
|
function handleDelete(row) {
|
||||||
const roleIds = row.id || ids.value;
|
const roleIds = row.id || ids.value;
|
||||||
@@ -277,8 +280,10 @@ function handleDelete(row) {
|
|||||||
getList();
|
getList();
|
||||||
proxy.$modal.msgSuccess("删除成功");
|
proxy.$modal.msgSuccess("删除成功");
|
||||||
})
|
})
|
||||||
.catch(() => { });
|
.catch(() => {
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
function handleExport() {
|
function handleExport() {
|
||||||
proxy.download(
|
proxy.download(
|
||||||
@@ -289,12 +294,14 @@ function handleExport() {
|
|||||||
`role_${new Date().getTime()}.xlsx`
|
`role_${new Date().getTime()}.xlsx`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 多选框选中数据 */
|
/** 多选框选中数据 */
|
||||||
function handleSelectionChange(selection) {
|
function handleSelectionChange(selection) {
|
||||||
ids.value = selection.map((item) => item.id);
|
ids.value = selection.map((item) => item.id);
|
||||||
single.value = selection.length != 1;
|
single.value = selection.length != 1;
|
||||||
multiple.value = !selection.length;
|
multiple.value = !selection.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 角色状态修改 */
|
/** 角色状态修改 */
|
||||||
function handleStatusChange(row) {
|
function handleStatusChange(row) {
|
||||||
let text = row.state === true ? "启用" : "停用";
|
let text = row.state === true ? "启用" : "停用";
|
||||||
@@ -310,6 +317,7 @@ function handleStatusChange(row) {
|
|||||||
row.state = row.state === true ? false : true;
|
row.state = row.state === true ? false : true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 更多操作 */
|
/** 更多操作 */
|
||||||
function handleCommand(command, row) {
|
function handleCommand(command, row) {
|
||||||
switch (command) {
|
switch (command) {
|
||||||
@@ -323,10 +331,12 @@ function handleCommand(command, row) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 分配用户 */
|
/** 分配用户 */
|
||||||
function handleAuthUser(row) {
|
function handleAuthUser(row) {
|
||||||
router.push("/system/role-auth/user/" + row.id);
|
router.push("/system/role-auth/user/" + row.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 查询菜单树结构 */
|
/** 查询菜单树结构 */
|
||||||
function getMenuTreeselect() {
|
function getMenuTreeselect() {
|
||||||
return listMenu().then((response) => {
|
return listMenu().then((response) => {
|
||||||
@@ -354,6 +364,7 @@ function getDeptAllCheckedKeys() {
|
|||||||
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
|
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
|
||||||
return checkedKeys;
|
return checkedKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 重置新增的表单以及其他数据 */
|
/** 重置新增的表单以及其他数据 */
|
||||||
function reset() {
|
function reset() {
|
||||||
if (menuRef.value != undefined) {
|
if (menuRef.value != undefined) {
|
||||||
@@ -379,6 +390,7 @@ function reset() {
|
|||||||
};
|
};
|
||||||
proxy.resetForm("roleRef");
|
proxy.resetForm("roleRef");
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 添加角色 */
|
/** 添加角色 */
|
||||||
function handleAdd() {
|
function handleAdd() {
|
||||||
reset();
|
reset();
|
||||||
@@ -386,6 +398,7 @@ function handleAdd() {
|
|||||||
open.value = true;
|
open.value = true;
|
||||||
title.value = "添加角色";
|
title.value = "添加角色";
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 修改角色 */
|
/** 修改角色 */
|
||||||
function handleUpdate(row) {
|
function handleUpdate(row) {
|
||||||
reset();
|
reset();
|
||||||
@@ -398,6 +411,7 @@ function handleAdd() {
|
|||||||
title.value = "修改角色";
|
title.value = "修改角色";
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 根据角色ID查询菜单树结构 */
|
/** 根据角色ID查询菜单树结构 */
|
||||||
function getRoleMenuTreeselect(roleId) {
|
function getRoleMenuTreeselect(roleId) {
|
||||||
//1:获取该角色下的全部菜单id
|
//1:获取该角色下的全部菜单id
|
||||||
@@ -422,6 +436,7 @@ function handleAdd() {
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 根据角色ID查询部门树结构 */
|
/** 根据角色ID查询部门树结构 */
|
||||||
function getDeptTree(roleId) {
|
function getDeptTree(roleId) {
|
||||||
return listDept().then((response) => {
|
return listDept().then((response) => {
|
||||||
@@ -448,6 +463,7 @@ function getDeptTree(roleId) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 树权限(展开/折叠)*/
|
/** 树权限(展开/折叠)*/
|
||||||
function handleCheckedTreeExpand(value, type) {
|
function handleCheckedTreeExpand(value, type) {
|
||||||
if (type == "menu") {
|
if (type == "menu") {
|
||||||
@@ -462,6 +478,7 @@ function handleCheckedTreeExpand(value, type) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 树权限(全选/全不选) */
|
/** 树权限(全选/全不选) */
|
||||||
function handleCheckedTreeNodeAll(value, type) {
|
function handleCheckedTreeNodeAll(value, type) {
|
||||||
if (type == "menu") {
|
if (type == "menu") {
|
||||||
@@ -470,6 +487,7 @@ function handleCheckedTreeNodeAll(value, type) {
|
|||||||
deptRef.value.setCheckedNodes(value ? deptOptions.value : []);
|
deptRef.value.setCheckedNodes(value ? deptOptions.value : []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 树权限(父子联动) */
|
/** 树权限(父子联动) */
|
||||||
function handleCheckedTreeConnect(value, type) {
|
function handleCheckedTreeConnect(value, type) {
|
||||||
if (type == "menu") {
|
if (type == "menu") {
|
||||||
@@ -478,6 +496,7 @@ function handleCheckedTreeConnect(value, type) {
|
|||||||
form.value.deptCheckStrictly = value ? true : false;
|
form.value.deptCheckStrictly = value ? true : false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 所有菜单节点数据 */
|
/** 所有菜单节点数据 */
|
||||||
function getMenuAllCheckedKeys() {
|
function getMenuAllCheckedKeys() {
|
||||||
// 目前被选中的菜单节点
|
// 目前被选中的菜单节点
|
||||||
@@ -487,6 +506,7 @@ function getMenuAllCheckedKeys() {
|
|||||||
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
|
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
|
||||||
return checkedKeys;
|
return checkedKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
function submitForm() {
|
function submitForm() {
|
||||||
proxy.$refs["roleRef"].validate((valid) => {
|
proxy.$refs["roleRef"].validate((valid) => {
|
||||||
@@ -509,27 +529,43 @@ function submitForm() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 取消按钮 */
|
/** 取消按钮 */
|
||||||
function cancel() {
|
function cancel() {
|
||||||
open.value = false;
|
open.value = false;
|
||||||
reset();
|
reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 选择角色权限范围触发 */
|
/** 选择角色权限范围触发 */
|
||||||
function dataScopeSelectChange(value) {
|
function dataScopeSelectChange(value) {
|
||||||
if (value !== "2") {
|
if (value !== "2") {
|
||||||
deptRef.value.setCheckedKeys([]);
|
deptRef.value.setCheckedKeys([]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 判断返回值是否是数字
|
||||||
|
function isNumeric(value) {
|
||||||
|
return /^[+-]?\d+(\.\d+)?$/;
|
||||||
|
}
|
||||||
/** 分配数据权限操作 */
|
/** 分配数据权限操作 */
|
||||||
function handleDataScope(row) {
|
function handleDataScope(row) {
|
||||||
reset();
|
reset();
|
||||||
getDeptTree(row.id);
|
getDeptTree(row.id);
|
||||||
getRole(row.id).then((response) => {
|
getRole(row.id).then((response) => {
|
||||||
form.value = response.data;
|
if(response && response.data) {
|
||||||
|
let data = {...response.data};
|
||||||
|
if(isNumeric(data.dataScope)) {
|
||||||
|
let obj = dataScopeOptions.value[data.dataScope];
|
||||||
|
if(obj) {
|
||||||
|
data["dataScope"] = obj["value"];
|
||||||
|
}
|
||||||
|
form.value = {...data};
|
||||||
|
}
|
||||||
|
}
|
||||||
openDataScope.value = true;
|
openDataScope.value = true;
|
||||||
title.value = "分配数据权限";
|
title.value = "分配数据权限";
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 提交按钮(数据权限) */
|
/** 提交按钮(数据权限) */
|
||||||
function submitDataScope() {
|
function submitDataScope() {
|
||||||
if (form.value.id != undefined) {
|
if (form.value.id != undefined) {
|
||||||
@@ -547,6 +583,7 @@ console.log(data)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 取消按钮(数据权限)*/
|
/** 取消按钮(数据权限)*/
|
||||||
function cancelDataScope() {
|
function cancelDataScope() {
|
||||||
openDataScope.value = false;
|
openDataScope.value = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user