Commit 23024dfb authored by liwei's avatar liwei

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

parent b16773b8
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<BasicTree <BasicTree
v-model:value="model[field]" v-model:value="model[field]"
:treeData="treeData" :treeData="treeData"
:fieldNames="{ title: 'menuName', key: 'id' }" :fieldNames="{ title: 'label', key: 'id' }"
checkable checkable
toolbar toolbar
title="菜单分配" title="菜单分配"
...@@ -27,9 +27,8 @@ ...@@ -27,9 +27,8 @@
import { formSchema } from './role.data'; import { formSchema } from './role.data';
import { BasicDrawer, useDrawerInner } from '@/components/Drawer'; import { BasicDrawer, useDrawerInner } from '@/components/Drawer';
import { BasicTree, TreeItem } from '@/components/Tree'; import { BasicTree, TreeItem } from '@/components/Tree';
import { getMenuList } from '@/api/demo/system';
import { roleDetailApi,roleUpdataApi,addRoleApi } from "@/api/system/role/role"; import { roleDetailApi,roleUpdataApi,addRoleApi } from "@/api/system/role/role";
import { getMenuSelect,getRoleMenuSelected } from "@/api/system/menu/menu";
import {encryptTwo} from "@/utils/jsencrypt"; import {encryptTwo} from "@/utils/jsencrypt";
import {useMessage} from "@/hooks/web/useMessage"; import {useMessage} from "@/hooks/web/useMessage";
...@@ -38,7 +37,6 @@ ...@@ -38,7 +37,6 @@
const isUpdate = ref(true); const isUpdate = ref(true);
const roleId = ref(''); const roleId = ref('');
const treeData = ref<TreeItem[]>([]); const treeData = ref<TreeItem[]>([]);
const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({ const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
labelWidth: 90, labelWidth: 90,
baseColProps: { span: 24 }, baseColProps: { span: 24 },
...@@ -51,8 +49,19 @@ ...@@ -51,8 +49,19 @@
setDrawerProps({ confirmLoading: false }); setDrawerProps({ confirmLoading: false });
// 需要在setFieldsValue之前先填充treeData,否则Tree组件可能会报key not exist警告 // 需要在setFieldsValue之前先填充treeData,否则Tree组件可能会报key not exist警告
if (unref(treeData).length === 0) { 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; isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) { if (unref(isUpdate)) {
// 获取行数据的id // 获取行数据的id
...@@ -60,6 +69,7 @@ ...@@ -60,6 +69,7 @@
// 通过id获取角色详情信息 // 通过id获取角色详情信息
roleDetailApi(roleId.value).then(res => { roleDetailApi(roleId.value).then(res => {
const form = res.data const form = res.data
form.menuIds = selectedKeys
// 塞值 // 塞值
setFieldsValue({ setFieldsValue({
...form, ...form,
...@@ -74,7 +84,6 @@ ...@@ -74,7 +84,6 @@
try { try {
const formData = await validate(); const formData = await validate();
setDrawerProps({ confirmLoading: true }); setDrawerProps({ confirmLoading: true });
console.log('formData',formData);
// 编辑 // 编辑
if(unref(isUpdate)) { if(unref(isUpdate)) {
formData.businessId = roleId.value formData.businessId = roleId.value
...@@ -86,6 +95,7 @@ ...@@ -86,6 +95,7 @@
} }
}) })
}else { }else {
//新增
const paramsAdd = { const paramsAdd = {
businessId: formData.businessId, businessId: formData.businessId,
menuIds: formData.menuIds, 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