|
@@ -8,6 +8,7 @@
|
|
:check-strictly="isStrictly"
|
|
:check-strictly="isStrictly"
|
|
show-checkbox
|
|
show-checkbox
|
|
@check="ElTreeCheckChange"
|
|
@check="ElTreeCheckChange"
|
|
|
|
+ @check-change="ElTreeCheckChange1"
|
|
>
|
|
>
|
|
<template #default="{ node, data }">
|
|
<template #default="{ node, data }">
|
|
<div class="custom-tree-node">
|
|
<div class="custom-tree-node">
|
|
@@ -95,6 +96,8 @@ watch(() => [
|
|
projectId.value = pid
|
|
projectId.value = pid
|
|
contractId.value = cid
|
|
contractId.value = cid
|
|
isStrictly.value = strictly
|
|
isStrictly.value = strictly
|
|
|
|
+ console.log(strictly, 'strictly')
|
|
|
|
+
|
|
wbsId.value = wid
|
|
wbsId.value = wid
|
|
isCustom.value = cus
|
|
isCustom.value = cus
|
|
|
|
|
|
@@ -103,6 +106,8 @@ watch(() => [
|
|
//渲染完成
|
|
//渲染完成
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
ElTreeLoadNode()
|
|
ElTreeLoadNode()
|
|
|
|
+
|
|
|
|
+
|
|
})
|
|
})
|
|
|
|
|
|
//树形结构异步加载数据
|
|
//树形结构异步加载数据
|
|
@@ -157,9 +162,52 @@ const ElTreeLoadNode = async () => {
|
|
|
|
|
|
//被选择的
|
|
//被选择的
|
|
const ElTreeCheckChange = (_, nodes) => {
|
|
const ElTreeCheckChange = (_, nodes) => {
|
|
- emit('check-change', nodes)
|
|
|
|
|
|
+ console.log(nodes, 'nodes')
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (isStrictly.value) {
|
|
|
|
+ const checkedNodes = ElTreeRef.value?.treeRef?.getCheckedNodes() || []
|
|
|
|
+
|
|
|
|
+ // console.log(uncheckedNodes, 'uncheckedNodes')
|
|
|
|
+
|
|
|
|
+ // 处理选中节点的子节点
|
|
|
|
+ checkedNodes.forEach(node => {
|
|
|
|
+ if (node.children && node.children.length > 0) {
|
|
|
|
+ node.children.forEach(child => {
|
|
|
|
+ ElTreeRef.value?.treeRef?.setChecked(child.pKeyId, true, false)
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ const checkedNodes = ElTreeRef.value?.treeRef?.getCheckedNodes() || []
|
|
|
|
+ const checkedKeys = ElTreeRef.value?.treeRef?.getCheckedKeys() || []
|
|
|
|
+ const halfCheckedKeys = ElTreeRef.value?.treeRef?.getHalfCheckedKeys() || []
|
|
|
|
+ const halfCheckedNodes = ElTreeRef.value?.treeRef?.getHalfCheckedNodes() || []
|
|
|
|
+ console.log(checkedNodes, 'checkedNodes')
|
|
|
|
+ let objArr = {
|
|
|
|
+ checkedNodes: checkedNodes,
|
|
|
|
+ halfCheckedNodes:halfCheckedNodes,
|
|
|
|
+ halfCheckedKeys: halfCheckedKeys,
|
|
|
|
+ checkedKeys: checkedKeys,
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ emit('check-change', objArr)
|
|
}
|
|
}
|
|
|
|
+const ElTreeCheckChange1 = (a, b, c) => {
|
|
|
|
+ if (!b && isStrictly.value) {
|
|
|
|
+ const uncheckedNodes = ElTreeRef.value?.treeRef?.getNode(a.pKeyId)?.data || null
|
|
|
|
+ // // 处理取消选中节点的子节点
|
|
|
|
+ if (uncheckedNodes && uncheckedNodes.children && uncheckedNodes.children.length > 0) {
|
|
|
|
+ uncheckedNodes.children.forEach(child => {
|
|
|
|
+ ElTreeRef.value?.treeRef?.setChecked(child.pKeyId, false, false)
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+}
|
|
//处理节点
|
|
//处理节点
|
|
const ElTreeCheckedKeys = () => {
|
|
const ElTreeCheckedKeys = () => {
|
|
const Nodes = ElTreeRef.value?.treeRef?.getCheckedNodes() || []
|
|
const Nodes = ElTreeRef.value?.treeRef?.getCheckedNodes() || []
|