|
@@ -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;
|