Commit 23024dfb authored by liwei's avatar liwei

角色勾选bug,暂时解决,后续需要优化

parent b16773b8
......@@ -12,7 +12,7 @@
<BasicTree
v-model:value="model[field]"
:treeData="treeData"
:fieldNames="{ title: 'menuName', key: 'id' }"
:fieldNames="{ title: 'label', key: 'id' }"
checkable
toolbar
title="菜单分配"
......@@ -27,9 +27,8 @@
import { formSchema } from './role.data';
import { BasicDrawer, useDrawerInner } from '@/components/Drawer';
import { BasicTree, TreeItem } from '@/components/Tree';
import { getMenuList } from '@/api/demo/system';
import { roleDetailApi,roleUpdataApi,addRoleApi } from "@/api/system/role/role";
import { getMenuSelect,getRoleMenuSelected } from "@/api/system/menu/menu";
import {encryptTwo} from "@/utils/jsencrypt";
import {useMessage} from "@/hooks/web/useMessage";
......@@ -38,7 +37,6 @@
const isUpdate = ref(true);
const roleId = ref('');
const treeData = ref<TreeItem[]>([]);
const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
labelWidth: 90,
baseColProps: { span: 24 },
......@@ -51,8 +49,19 @@
setDrawerProps({ confirmLoading: false });
// 需要在setFieldsValue之前先填充treeData,否则Tree组件可能会报key not exist警告
if (unref(treeData).length === 0) {
treeData.value = (await getMenuList()) as any as TreeItem[];
const treeRes = await getMenuSelect();
treeData.value = (treeRes.data) as any as TreeItem[];
}
//获取角色已选择的菜单
const params = {
businessId: data.record.businessId
}
const selectedTree = await getRoleMenuSelected(params);
// 过滤掉值小于10的项,并将选中的节点ID从数字数组转换为字符串数组
const selectedKeys = selectedTree.data.checkedKeys
.filter(key => key >= 100) // 过滤掉值小于10的项
.map(key => key.toString()); // 将数字转换为字符串
//获取角色信息
isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) {
// 获取行数据的id
......@@ -60,6 +69,7 @@
// 通过id获取角色详情信息
roleDetailApi(roleId.value).then(res => {
const form = res.data
form.menuIds = selectedKeys
// 塞值
setFieldsValue({
...form,
......@@ -74,7 +84,6 @@
try {
const formData = await validate();
setDrawerProps({ confirmLoading: true });
console.log('formData',formData);
// 编辑
if(unref(isUpdate)) {
formData.businessId = roleId.value
......@@ -86,6 +95,7 @@
}
})
}else {
//新增
const paramsAdd = {
businessId: formData.businessId,
menuIds: formData.menuIds,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment