duy 2 роки тому
батько
коміт
93f16787b7
1 змінених файлів з 27 додано та 7 видалено
  1. 27 7
      src/components/tree/hc-tree.vue

+ 27 - 7
src/components/tree/hc-tree.vue

@@ -2,15 +2,15 @@
 
           <el-radio-group v-model="radioKeys" @change="treeRadioChange">
             <ElTree class="hc-tree-node tree-line" :class="ui" ref="ElTreeRef" :props="ElTreeProps" :load="ElTreeLoadNode" lazy highlight-current accordion node-key="id"
-                    :default-expanded-keys="defaultExpandedCids" @node-click="ElTreeClick" @node-contextmenu="ElTreeLabelContextMenu" :indent="0" >
+                    :default-expanded-keys="defaultExpandedCids" @node-click="ElTreeClick" @node-contextmenu="ElTreeLabelContextMenu2" :indent="0" >
                 <template #default="{ node, data }">
                     <div class="data-custom-tree-node" :id="`${idPrefix}${data['id']}`">
                         <!--树组件,节点名称-->
                         <div class="label level-name" v-if="node.level === 1" >
-                            {{ node.label }}
+                           <span> {{ node.label }}</span>
                             <div class="menu-icon1" :class="node.showTreeMenu?'show':''"  v-if="isShowMenu">
-                                <div class="cu-tree-node-popover-menu-icon" @click.stop="syncNodeMoadl(node)">
-                                    <HcIcon name="refresh" ui="text-2xl"/>
+                                <div class="cu-tree-node-popover-menu-icon" @click.prevent.stop="ElTreeLabelContextMenu2($event,data,node)">
+                                    <HcIcon name="apps" ui="text-2xl"/>
                                 </div>
                             </div>
                            
@@ -19,7 +19,7 @@
                             <el-radio class="size-xl" :label="data['id']" @click.stop="clickRadio(data)" v-if="isRadio && showRadioFun(data)">{{ node.label }}</el-radio>
                             <span v-else>{{ node.label }}</span>
                             <div class="menu-icon1" :class="node.showTreeMenu?'show':''" v-if="node.level !== 1 && menusData.length > 0">
-                                <div class="cu-tree-node-popover-menu-icon" @click.prevent.stop="ElTreeLabelContextMenu($event,data,node)">
+                                <div class="cu-tree-node-popover-menu-icon" @click.prevent.stop="ElTreeLabelContextMenu2($event,data,node)">
                                     <HcIcon name="apps" ui="text-2xl"/>
                                 </div>
                             </div>
@@ -268,6 +268,7 @@ const getNodeExpandKeys = async (node, newKeys) => {
 //鼠标右键事件
 const contextMenuRef = ref(null)
 const ElTreeLabelContextMenu = (e,data,node) => {
+
     const rows = menusData.value || [];
     if (node.level !== 1 && rows.length > 0) {
         e.preventDefault();
@@ -310,8 +311,27 @@ const removeElTreeNode = (key) => {
 //鼠标右键事件2
 const contextMenuRef2 = ref(null)
 const ElTreeLabelContextMenu2 = (e,data,node) => {
-    const rows = ElTreeMenu.value || [];
-    if (node.level !== 1 && rows.length > 0) {
+
+    let rows = ElTreeMenu.value || [];
+    if(node.level==1){
+        rows=ElTreeMenu.value.filter((item)=>{
+            if(item.key!=='sort'){
+                return rows
+            }
+        })
+        ElTreeMenu.value=rows
+        console.log(rows,'row');
+    }else{
+        ElTreeMenu.value=[
+            {icon: 'add-circle', label: '新增', key: "add"},
+            {icon: 'draft', label: '编辑', key: "edit"},
+            {icon: 'delete-bin', label: '删除', key: "del"},
+            {icon: 'refresh', label: '同步', key: "sync"},
+            {icon: 'sort-asc', label: '排序', key: "sort"}
+        ]
+    }
+    
+    if (rows.length > 0) {
         e.preventDefault();
         treeRefNode.value = node;
         treeRefData.value = data;