diff --git a/src/views/system/post/PostAreaPermissionForm.vue b/src/views/system/post/PostAreaPermissionForm.vue index 7466759fe..9bdfc2446 100644 --- a/src/views/system/post/PostAreaPermissionForm.vue +++ b/src/views/system/post/PostAreaPermissionForm.vue @@ -63,6 +63,7 @@ const formData = reactive({ }) const formRef = ref() // 表单 Ref const areaOptions = ref([]) // 菜单树形结构 +const areaOptionsAll = ref([]) // 菜单树形结构 const menuExpand = ref(false) // 展开/折叠 const treeRef = ref() // 菜单树组件 Ref const treeNodeAll = ref(false) // 全选/全不选 @@ -73,6 +74,16 @@ const open = async (row: any) => { resetForm() // 加载 Menu 列表。注意,必须放在前面,不然下面 setChecked 没数据节点 areaOptions.value = await PostApi.getPostAreaTreeList() + areaOptions.value.forEach(item => { + item.children.forEach(cur => { + cur.children.forEach(i=> { + i.children.forEach(c => { + areaOptionsAll.value.push(c) + }) + }) + }) + }) + // menuOptions.value = handleTree(await MenuApi.getSimpleMenusList()) // 设置数据 formData.id = row.id @@ -108,14 +119,24 @@ const submitForm = async () => { // ...(treeRef.value.getHalfCheckedKeys() as unknown as Array) // 获得半选中的父节点 // ] // } - let array = treeRef.value.getCheckedNodes(false).filter(item => item.id).map(item => { - return { + let arr = treeRef.value.getCheckedNodes(false).filter(item => item.id) + let array = [] + if (arr && arr.length > 0) { + array = arr.map(item => { + return { + postId:formData.id, + locationId:item.id, + locationCode:item.code, + } + }) + } else { + array = [{ postId:formData.id, - locationId:item.id, - locationCode:item.code, - } - }) - console.log(888, array) + locationId:-1, + locationCode:'', + }] + } + await PostApi.updatePostLocation(array) message.success(t('common.updateSuccess')) dialogVisible.value = false @@ -144,12 +165,13 @@ const resetForm = () => { /** 全选/全不选 */ const handleCheckedTreeNodeAll = () => { - treeRef.value.setCheckedNodes(treeNodeAll.value ? menuOptions.value : []) + treeRef.value.setCheckedNodes(treeNodeAll.value ? areaOptionsAll.value : []) } /** 展开/折叠全部 */ const handleCheckedTreeExpand = () => { const nodes = treeRef.value?.store.nodesMap + console.log(nodes) for (let node in nodes) { if (nodes[node].expanded === menuExpand.value) { continue diff --git a/src/views/system/role/RoleAssignMenuForm.vue b/src/views/system/role/RoleAssignMenuForm.vue index 9304532ce..4c459f5a4 100644 --- a/src/views/system/role/RoleAssignMenuForm.vue +++ b/src/views/system/role/RoleAssignMenuForm.vue @@ -75,6 +75,7 @@ const open = async (row: RoleApi.RoleVO) => { resetForm() // 加载 Menu 列表。注意,必须放在前面,不然下面 setChecked 没数据节点 menuOptions.value = handleTree(await MenuApi.getSimpleMenusList()) + console.log(333,menuOptions.value) // 设置数据 formData.id = row.id formData.name = row.name @@ -143,6 +144,7 @@ const handleCheckedTreeNodeAll = () => { /** 展开/折叠全部 */ const handleCheckedTreeExpand = () => { const nodes = treeRef.value?.store.nodesMap + console.log(88,treeRef.value?.store.nodesMap) for (let node in nodes) { if (nodes[node].expanded === menuExpand.value) { continue