duy 3 тижнів тому
батько
коміт
b21ad3aed5
1 змінених файлів з 17 додано та 4 видалено
  1. 17 4
      src/components/tree/hc-tree.vue

+ 17 - 4
src/components/tree/hc-tree.vue

@@ -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) => {