|
@@ -2,7 +2,8 @@
|
|
|
<el-radio-group v-model="radioKeys" @change="treeRadioChange">
|
|
|
<ElTree
|
|
|
ref="ElTreeRef" class="tree-line el-radio-group hc-tree-node" :class="ui" :props="ElTreeProps" :load="ElTreeLoadNode" lazy accordion highlight-current node-key="id"
|
|
|
- :default-expanded-keys="defaultExpandedCids" :indent="0" @node-click="ElTreeClick" @node-contextmenu="ElTreeLabelContextMenu2"
|
|
|
+ :default-expanded-keys="defaultExpandedCids" :indent="0" :show-checkbox="isCheck" @node-click="ElTreeClick" @node-contextmenu="ElTreeLabelContextMenu2"
|
|
|
+ @check-change="handleCheckChange"
|
|
|
>
|
|
|
<template #default="{ node, data }">
|
|
|
<div :id="`${idPrefix}${data.id}`" class="data-custom-tree-node">
|
|
@@ -121,11 +122,15 @@ const props = defineProps({
|
|
|
type:Boolean,
|
|
|
default:false,
|
|
|
},
|
|
|
+ isCheck:{
|
|
|
+ type:Boolean,
|
|
|
+ default:false,
|
|
|
+ },
|
|
|
|
|
|
})
|
|
|
|
|
|
//事件
|
|
|
-const emit = defineEmits(['menuTap', 'nodeTap', 'nodeLoading', 'radioChange', 'noderadio'])
|
|
|
+const emit = defineEmits(['menuTap', 'nodeTap', 'nodeLoading', 'radioChange', 'noderadio', 'nodeCheckChange'])
|
|
|
//变量
|
|
|
const ElTreeRef = ref(null)
|
|
|
const treeRefNode = ref(null)
|
|
@@ -145,6 +150,7 @@ const radioKeys = ref(Number(props.radioKey))
|
|
|
const isOwn = ref(props.isOwn)
|
|
|
const isShowNumber = ref(props.isShowNumber)
|
|
|
const isShowMenu = ref(props.isShowMenu)
|
|
|
+const isCheck = ref(props.isCheck)
|
|
|
|
|
|
//监听
|
|
|
watch(() => [
|
|
@@ -158,8 +164,9 @@ watch(() => [
|
|
|
props.isOwn,
|
|
|
props.isShowNumber,
|
|
|
props.isShowMenu,
|
|
|
+ props.isCheck,
|
|
|
|
|
|
-], ([menus, AutoKeys, expandKeys, UserProjectId, UserContractId, UserIdPrefix, radioKey, own, num, ishowmenu]) => {
|
|
|
+], ([menus, AutoKeys, expandKeys, UserProjectId, UserContractId, UserIdPrefix, radioKey, own, num, ishowmenu, isshowCheck]) => {
|
|
|
menusData.value = menus
|
|
|
isAutoKeys.value = AutoKeys
|
|
|
TreeExpandKey.value = expandKeys
|
|
@@ -170,7 +177,8 @@ watch(() => [
|
|
|
isOwn.value = own
|
|
|
isShowNumber.value = num
|
|
|
isShowMenu.value = ishowmenu
|
|
|
- console.log(isShowNumber.value, 'isShowNumber.value')
|
|
|
+ isCheck.value = isshowCheck
|
|
|
+
|
|
|
|
|
|
})
|
|
|
|
|
@@ -329,6 +337,11 @@ const ElTreeClick = async (data, node) => {
|
|
|
emit('nodeTap', { node, data, keys: [] })
|
|
|
}
|
|
|
}
|
|
|
+const handleCheckChange = (data, checked, indeterminate) => {
|
|
|
+ const checkedNodes = ElTreeRef.value.getCheckedNodes()
|
|
|
+ const checkedKeys = ElTreeRef.value.getCheckedKeys()
|
|
|
+ emit('nodeCheckChange', { checkedNodes, checkedKeys })
|
|
|
+}
|
|
|
|
|
|
//处理自动展开的节点KEY
|
|
|
const getNodeExpandKeys = async (node, newKeys) => {
|