|
@ -63,7 +63,6 @@ const formData = reactive({ |
|
|
}) |
|
|
}) |
|
|
const formRef = ref() // 表单 Ref |
|
|
const formRef = ref() // 表单 Ref |
|
|
const areaOptions = ref<any[]>([]) // 菜单树形结构 |
|
|
const areaOptions = ref<any[]>([]) // 菜单树形结构 |
|
|
const areaOptionsAll = ref<any[]>([]) // 菜单树形结构 |
|
|
|
|
|
const menuExpand = ref(false) // 展开/折叠 |
|
|
const menuExpand = ref(false) // 展开/折叠 |
|
|
const treeRef = ref() // 菜单树组件 Ref |
|
|
const treeRef = ref() // 菜单树组件 Ref |
|
|
const treeNodeAll = ref(false) // 全选/全不选 |
|
|
const treeNodeAll = ref(false) // 全选/全不选 |
|
@ -73,18 +72,10 @@ const open = async (row: any) => { |
|
|
dialogVisible.value = true |
|
|
dialogVisible.value = true |
|
|
resetForm() |
|
|
resetForm() |
|
|
// 加载 Menu 列表。注意,必须放在前面,不然下面 setChecked 没数据节点 |
|
|
// 加载 Menu 列表。注意,必须放在前面,不然下面 setChecked 没数据节点 |
|
|
areaOptions.value = await PostApi.getPostAreaTreeList() |
|
|
let array = await PostApi.getPostAreaTreeList() |
|
|
areaOptions.value.forEach(item => { |
|
|
array.forEach(item=>item.name =item.code + '-' + item.name ) |
|
|
item.children.forEach(cur => { |
|
|
areaOptions.value = handleTree(array) |
|
|
cur.children.forEach(i=> { |
|
|
// menuOptions.value = await MenuApi.getSimpleMenusList()) |
|
|
i.children.forEach(c => { |
|
|
|
|
|
areaOptionsAll.value.push(c) |
|
|
|
|
|
}) |
|
|
|
|
|
}) |
|
|
|
|
|
}) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// menuOptions.value = handleTree(await MenuApi.getSimpleMenusList()) |
|
|
|
|
|
// 设置数据 |
|
|
// 设置数据 |
|
|
formData.id = row.id |
|
|
formData.id = row.id |
|
|
formData.name = row.name |
|
|
formData.name = row.name |
|
@ -119,7 +110,7 @@ const submitForm = async () => { |
|
|
// ...(treeRef.value.getHalfCheckedKeys() as unknown as Array<number>) // 获得半选中的父节点 |
|
|
// ...(treeRef.value.getHalfCheckedKeys() as unknown as Array<number>) // 获得半选中的父节点 |
|
|
// ] |
|
|
// ] |
|
|
// } |
|
|
// } |
|
|
let arr = treeRef.value.getCheckedNodes(false).filter(item => item.id) |
|
|
let arr = treeRef.value.getCheckedNodes(false).filter(item => item.type == 4) |
|
|
let array = [] |
|
|
let array = [] |
|
|
if (arr && arr.length > 0) { |
|
|
if (arr && arr.length > 0) { |
|
|
array = arr.map(item => { |
|
|
array = arr.map(item => { |
|
@ -165,13 +156,12 @@ const resetForm = () => { |
|
|
|
|
|
|
|
|
/** 全选/全不选 */ |
|
|
/** 全选/全不选 */ |
|
|
const handleCheckedTreeNodeAll = () => { |
|
|
const handleCheckedTreeNodeAll = () => { |
|
|
treeRef.value.setCheckedNodes(treeNodeAll.value ? areaOptionsAll.value : []) |
|
|
treeRef.value.setCheckedNodes(treeNodeAll.value ? areaOptions.value : []) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** 展开/折叠全部 */ |
|
|
/** 展开/折叠全部 */ |
|
|
const handleCheckedTreeExpand = () => { |
|
|
const handleCheckedTreeExpand = () => { |
|
|
const nodes = treeRef.value?.store.nodesMap |
|
|
const nodes = treeRef.value?.store.nodesMap |
|
|
console.log(nodes) |
|
|
|
|
|
for (let node in nodes) { |
|
|
for (let node in nodes) { |
|
|
if (nodes[node].expanded === menuExpand.value) { |
|
|
if (nodes[node].expanded === menuExpand.value) { |
|
|
continue |
|
|
continue |
|
|