From 5455dd4cd7c27d14bc7f98f110ae14163dbaacc1 Mon Sep 17 00:00:00 2001 From: heyujie <516346543@qq.com> Date: 星期三, 16 二月 2022 15:30:10 +0800 Subject: [PATCH] 对比库新增跳到最末 --- src/components/giantTree/zTree/ztree.vue | 170 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 115 insertions(+), 55 deletions(-) diff --git a/src/components/giantTree/zTree/ztree.vue b/src/components/giantTree/zTree/ztree.vue index b8e5024..6ec0d4e 100644 --- a/src/components/giantTree/zTree/ztree.vue +++ b/src/components/giantTree/zTree/ztree.vue @@ -41,11 +41,11 @@ showLine: true, showIcon: true, // default to hide icon addHoverDom: this.addHoverDom, - removeHoverDom: this.removeHoverDom + removeHoverDom: this.removeHoverDom, }, check: { - chkboxType: { "Y": "", "N": "" }, - enable: this.showCheckbox + chkboxType: { Y: "", N: "" }, + enable: this.showCheckbox, }, callback: { onAsyncError: (...arg) => { @@ -59,6 +59,7 @@ }, onClick: (...arg) => { this.$emit("onClick", ...arg); + this.removeHoverIcon(...arg); }, onCollapse: (...arg) => { this.$emit("onCollapse", ...arg); @@ -136,7 +137,7 @@ }); }, immediate: true, - } + }, }, methods: { addHoverDom(treeid, treeNode) { @@ -144,119 +145,178 @@ const item = document.getElementById(`${treeNode.tId}_a`); // 鏂囦欢澶规柊澧炴寜閽� - if (item && !item.querySelector('.el-icon-circle-plus-outline') && treeNode.isParent && !this.readonly && !this.gb28181) { - const btn = document.createElement('i'); + if ( + item && + !item.querySelector(".el-icon-circle-plus-outline") && + treeNode.isParent && + !this.readonly && + !this.gb28181 + ) { + const btn = document.createElement("i"); btn.id = `${treeid}_${treeNode.id}_btn`; - btn.classList.add('el-icon-circle-plus-outline'); - btn.classList.add('primary'); + btn.classList.add("el-icon-circle-plus-outline"); + btn.classList.add("primary"); // btn.innerText = '鍒犻櫎'; - btn.addEventListener('click', (e) => { - e.stopPropagation() + btn.addEventListener("click", (e) => { + e.stopPropagation(); // this.clickRemove(treeNode) _vue.$emit("onAddNode", treeNode); - }) + }); item.appendChild(btn); } // 鏂囦欢澶瑰垹闄ゆ寜閽� - if (item && !item.querySelector('.el-icon-remove-outline') && treeNode.isParent && !this.readonly && !treeNode.children && !this.gb28181) { - const btn = document.createElement('i'); + if ( + item && + !item.querySelector(".el-icon-remove-outline") && + treeNode.isParent && + !this.readonly && + !treeNode.children && + !this.gb28181 + ) { + const btn = document.createElement("i"); btn.id = `${treeid}_${treeNode.id}_btn`; - btn.classList.add('el-icon-remove-outline'); - btn.classList.add('danger'); + btn.classList.add("el-icon-remove-outline"); + btn.classList.add("danger"); // btn.innerText = '鍒犻櫎'; - btn.addEventListener('click', (e) => { - e.stopPropagation() + btn.addEventListener("click", (e) => { + e.stopPropagation(); // this.clickRemove(treeNode) _vue.$emit("onRemoveNode", treeNode); - }) + }); item.appendChild(btn); } // 鏂囦欢澶圭紪杈戞寜閽� - if (item && !item.querySelector('.el-icon-edit') && treeNode.isParent && !this.readonly) { - const btn = document.createElement('i'); + if ( + item && + !item.querySelector(".el-icon-edit") && + treeNode.isParent && + !this.readonly + ) { + const btn = document.createElement("i"); btn.id = `${treeid}_${treeNode.id}_btn`; - btn.classList.add('el-icon-edit'); - btn.classList.add('primary'); + btn.classList.add("el-icon-edit"); + btn.classList.add("primary"); // btn.innerText = '鍒犻櫎'; - btn.addEventListener('click', (e) => { - e.stopPropagation() + btn.addEventListener("click", (e) => { + e.stopPropagation(); // this.clickRemove(treeNode) _vue.$emit("onRenameNode", treeNode); - }) + }); item.appendChild(btn); } - // 娣诲姞鎽勫儚鏈烘寜閽� - if (item && !item.querySelector('.iconshishishipin') && treeNode.isParent && !this.readonly && !this.gb28181) { - const btn = document.createElement('i'); + if ( + item && + !item.querySelector(".iconshishishipin") && + treeNode.isParent && + !this.readonly && + !this.gb28181 + ) { + const btn = document.createElement("i"); btn.id = `${treeid}_${treeNode.id}_btn`; - btn.classList.add('iconfont'); - btn.classList.add('iconshishishipin'); - btn.classList.add('primary'); - btn.classList.add('icon-fix'); + btn.classList.add("iconfont"); + btn.classList.add("iconshishishipin"); + btn.classList.add("primary"); + btn.classList.add("icon-fix"); // btn.innerText = '鍒犻櫎'; - btn.addEventListener('click', (e) => { - e.stopPropagation() + btn.addEventListener("click", (e) => { + e.stopPropagation(); // this.clickRemove(treeNode) _vue.$emit("onAddDevice", treeNode.id); - }) + }); item.appendChild(btn); } // 瀵煎叆鎽勫儚鏈烘寜閽� - if (item && !item.querySelector('.icondaoru') && treeNode.isParent && !this.readonly && !this.gb28181) { - const btn = document.createElement('i'); + if ( + item && + !item.querySelector(".icondaoru") && + treeNode.isParent && + !this.readonly && + !this.gb28181 + ) { + const btn = document.createElement("i"); btn.id = `${treeid}_${treeNode.id}_btn`; - btn.classList.add('iconfont'); - btn.classList.add('icondaoru'); - btn.classList.add('primary'); - btn.classList.add('icon-fix'); + btn.classList.add("iconfont"); + btn.classList.add("icondaoru"); + btn.classList.add("primary"); + btn.classList.add("icon-fix"); // btn.innerText = '鍒犻櫎'; - btn.addEventListener('click', (e) => { - e.stopPropagation() + btn.addEventListener("click", (e) => { + e.stopPropagation(); // this.clickRemove(treeNode) _vue.$emit("onImport", treeNode.id); - }) + }); + + item.appendChild(btn); + } + + // 鏌ョ湅搴曞浘鎸夐挳 + if ( + item && + !item.querySelector(".icontupian1") && + treeNode.type == "camera" + ) { + const btn = document.createElement("i"); + btn.id = `${treeid}_${treeNode.id}_btn`; + btn.classList.add("iconfont"); + btn.classList.add("icontupian1"); + btn.classList.add("primary"); + btn.classList.add("icon-fix"); + // btn.innerText = '鍒犻櫎'; + btn.addEventListener("click", (e) => { + e.stopPropagation(); + // this.clickRemove(treeNode) + _vue.$emit("onShowPic", treeNode); + }); item.appendChild(btn); } }, + removeHoverIcon(evt, treeId, item) { + this.removeHoverDom(treeId, item); + }, removeHoverDom(treeid, treeNode) { const item = document.getElementById(`${treeNode.tId}_a`); if (item) { - let btn = item.querySelector('.el-icon-circle-plus-outline'); + let btn = item.querySelector(".el-icon-circle-plus-outline"); if (btn) { - item.removeChild(item.querySelector('.el-icon-circle-plus-outline')) + item.removeChild(item.querySelector(".el-icon-circle-plus-outline")); } - btn = item.querySelector('.el-icon-remove-outline'); + btn = item.querySelector(".el-icon-remove-outline"); if (btn) { - item.removeChild(item.querySelector('.el-icon-remove-outline')) + item.removeChild(item.querySelector(".el-icon-remove-outline")); } - btn = item.querySelector('.el-icon-edit'); + btn = item.querySelector(".el-icon-edit"); if (btn) { - item.removeChild(item.querySelector('.el-icon-edit')) + item.removeChild(item.querySelector(".el-icon-edit")); } - btn = item.querySelector('.iconshishishipin'); + btn = item.querySelector(".iconshishishipin"); if (btn) { - item.removeChild(item.querySelector('.iconshishishipin')) + item.removeChild(item.querySelector(".iconshishishipin")); } - btn = item.querySelector('.icondaoru'); + btn = item.querySelector(".icondaoru"); if (btn) { - item.removeChild(item.querySelector('.icondaoru')) + item.removeChild(item.querySelector(".icondaoru")); + } + + btn = item.querySelector(".icontupian1"); + if (btn) { + item.removeChild(item.querySelector(".icontupian1")); } } }, - } + }, }; </script> -- Gitblit v1.8.0