|
@@ -11,7 +11,7 @@
|
|
<!--树组件,操作菜单-->
|
|
<!--树组件,操作菜单-->
|
|
<div class="menu-icon" :class="node.showTreeMenu?'show':''" v-if="node.level !== 1 && menusData.length > 0">
|
|
<div class="menu-icon" :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="ElTreeLabelContextMenu($event,data,node)">
|
|
- <HcIcon name="menu" ui="text-2xl"/>
|
|
|
|
|
|
+ <HcIcon name="apps" ui="text-2xl"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--树组件,操作菜单 END-->
|
|
<!--树组件,操作菜单 END-->
|
|
@@ -19,7 +19,7 @@
|
|
</template>
|
|
</template>
|
|
</ElTree>
|
|
</ElTree>
|
|
<!--右键菜单-->
|
|
<!--右键菜单-->
|
|
- <HcContextMenu ref="contextMenuRef" :datas="menusData" @item-click="handleMenuSelect" v-if="menusData.length > 0">
|
|
|
|
|
|
+ <HcContextMenu ref="contextMenuRef" :datas="menusData" @item-click="handleMenuSelect" v-if="menusData.length > 0" @closed="handleMenuClosed">
|
|
<template #mark="{item}">
|
|
<template #mark="{item}">
|
|
<HcIcon :name="item.icon" :fill="treeRefData?.isFirst" class="menu-item-icon"/>
|
|
<HcIcon :name="item.icon" :fill="treeRefData?.isFirst" class="menu-item-icon"/>
|
|
<span class="menu-item-name">{{treeRefData?.isFirst ? '取消标记为首件' : '标记为首件'}}</span>
|
|
<span class="menu-item-name">{{treeRefData?.isFirst ? '取消标记为首件' : '标记为首件'}}</span>
|
|
@@ -34,7 +34,7 @@
|
|
<script setup>
|
|
<script setup>
|
|
import {ref,nextTick,watch} from "vue";
|
|
import {ref,nextTick,watch} from "vue";
|
|
import dataFillQuery from '~api/data-fill/query';
|
|
import dataFillQuery from '~api/data-fill/query';
|
|
-import {isItem,getArrValue,getObjValue} from "vue-utils-plus"
|
|
|
|
|
|
+import {isItem,getArrValue,getObjValue,isValueNull} from "vue-utils-plus"
|
|
|
|
|
|
//参数
|
|
//参数
|
|
const props = defineProps({
|
|
const props = defineProps({
|
|
@@ -206,6 +206,7 @@ const ElTreeLabelContextMenu = (e,data,node) => {
|
|
e.preventDefault();
|
|
e.preventDefault();
|
|
treeRefNode.value = node;
|
|
treeRefNode.value = node;
|
|
treeRefData.value = data;
|
|
treeRefData.value = data;
|
|
|
|
+ node.showTreeMenu = true
|
|
//展开菜单
|
|
//展开菜单
|
|
contextMenuRef.value?.showMenu(e)
|
|
contextMenuRef.value?.showMenu(e)
|
|
}
|
|
}
|
|
@@ -227,6 +228,13 @@ const handleMenuSelect = ({key}) => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+const handleMenuClosed = () => {
|
|
|
|
+ const node = treeRefNode.value;
|
|
|
|
+ if (!isValueNull(node)) {
|
|
|
|
+ treeRefNode.value['showTreeMenu'] = false
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
//设置树菜单的标记数据
|
|
//设置树菜单的标记数据
|
|
const setElTreeMenuMark = (keys,isFirst) => {
|
|
const setElTreeMenuMark = (keys,isFirst) => {
|
|
keys.forEach(item => {
|
|
keys.forEach(item => {
|