From feaf0a9778879ef211c5587a513ba4cbdabb52d0 Mon Sep 17 00:00:00 2001
From: ZZJ <10913410+zzj2100@user.noreply.gitee.com>
Date: 星期四, 23 六月 2022 17:42:58 +0800
Subject: [PATCH] bug修复
---
src/components/giantTree/zTree/ztree.vue | 257 ++++++++++++++++++++++++++------------------------
1 files changed, 134 insertions(+), 123 deletions(-)
diff --git a/src/components/giantTree/zTree/ztree.vue b/src/components/giantTree/zTree/ztree.vue
index 9f2c183..e7bfab6 100644
--- a/src/components/giantTree/zTree/ztree.vue
+++ b/src/components/giantTree/zTree/ztree.vue
@@ -3,13 +3,13 @@
</template>
<script>
-import * as $ from "jquery";
+import * as $ from "jquery"
if (!window.jQuery) {
- window.jQuery = $;
+ window.jQuery = $
}
// require("@ztree/ztree_v3/js/jquery.ztree.all");
-require("./ztree_v3/jquery.ztree.all");
+require("./ztree_v3/jquery.ztree.all")
export default {
props: {
@@ -19,17 +19,17 @@
setting: {
type: Object,
require: false,
- default: function () {
- return {};
- },
+ default: function() {
+ return {}
+ }
},
nodes: {
type: Array,
require: true,
- default: function () {
- return [];
- },
- },
+ default: function() {
+ return []
+ }
+ }
},
data() {
return {
@@ -44,251 +44,263 @@
removeHoverDom: this.removeHoverDom
},
check: {
- chkboxType: { "Y": "", "N": "" },
+ // 澶嶉�夋榛樿涓虹埗瀛愯仈鍔�
+ chkboxType: { Y: "ps", N: "ps" },
enable: this.showCheckbox
},
callback: {
onAsyncError: (...arg) => {
- this.$emit("onAsyncError", ...arg);
+ this.$emit("onAsyncError", ...arg)
},
onAsyncSuccess: (...arg) => {
- this.$emit("onAsyncSuccess", ...arg);
+ this.$emit("onAsyncSuccess", ...arg)
},
onCheck: (...arg) => {
- this.$emit("onCheck", ...arg);
+ this.$emit("onCheck", ...arg)
},
onClick: (...arg) => {
- this.$emit("onClick", ...arg);
- this.removeHoverIcon(...arg);
+ this.$emit("onClick", ...arg)
+ this.removeHoverIcon(...arg)
},
onCollapse: (...arg) => {
- this.$emit("onCollapse", ...arg);
+ this.$emit("onCollapse", ...arg)
},
onDblClick: (...arg) => {
- this.$emit("onDblClick", ...arg);
+ this.$emit("onDblClick", ...arg)
},
onDrag: (...arg) => {
- this.$emit("onDrag", ...arg);
+ this.$emit("onDrag", ...arg)
},
onDragMove: (...arg) => {
- this.$emit("onDragMove", ...arg);
+ this.$emit("onDragMove", ...arg)
},
onDrop: (...arg) => {
- this.$emit("onDrop", ...arg);
+ this.$emit("onDrop", ...arg)
},
onExpand: (...arg) => {
- this.$emit("onExpand", ...arg);
+ this.$emit("onExpand", ...arg)
},
onMouseDown: (...arg) => {
- this.$emit("onMouseDown", ...arg);
+ this.$emit("onMouseDown", ...arg)
},
onMouseUp: (...arg) => {
- this.$emit("onMouseUp", ...arg);
-
+ this.$emit("onMouseUp", ...arg)
},
onRemove: (...arg) => {
- this.$emit("onRemove", ...arg);
+ this.$emit("onRemove", ...arg)
},
onRename: (...arg) => {
- this.$emit("onRename", ...arg);
+ this.$emit("onRename", ...arg)
},
onRightClick: (...arg) => {
- this.$emit("onRightClick", ...arg);
- },
- },
- },
- };
+ this.$emit("onRightClick", ...arg)
+ }
+ }
+ }
+ }
},
watch: {
nodes: {
- handler: function (nodes) {
- this.list = nodes;
+ handler: function(nodes) {
+ this.list = nodes
// update tree
if (this.ztreeObj) {
- this.ztreeObj.destroy();
+ this.ztreeObj.destroy()
}
this.$nextTick(() => {
this.ztreeObj = $.fn.zTree.init(
$("#" + this.ztreeId),
Object.assign({}, this.ztreeSetting, this.setting),
this.list
- );
- this.$emit("onCreated", this.ztreeObj);
- });
+ )
+ this.$emit("onCreated", this.ztreeObj)
+ })
},
deep: true,
- immediate: true,
+ immediate: true
},
showCheckbox: {
- handler: function () {
- this.ztreeSetting.check.enable = this.showCheckbox;
+ handler: function() {
+ this.ztreeSetting.check.enable = this.showCheckbox
if (this.ztreeObj) {
- this.list = this.ztreeObj.getNodes();
- this.ztreeObj.destroy();
+ this.list = this.ztreeObj.getNodes()
+ this.ztreeObj.destroy()
}
this.$nextTick(() => {
this.ztreeObj = $.fn.zTree.init(
$("#" + this.ztreeId),
Object.assign({}, this.ztreeSetting, this.setting),
this.list
- );
- this.$emit("onCreated", this.ztreeObj);
- });
+ )
+ this.$emit("onCreated", this.ztreeObj)
+ })
},
- immediate: true,
+ immediate: true
}
},
methods: {
addHoverDom(treeid, treeNode) {
- let _vue = this;
- const item = document.getElementById(`${treeNode.tId}_a`);
+ let _vue = this
+ 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');
- btn.id = `${treeid}_${treeNode.id}_btn`;
- btn.classList.add('el-icon-circle-plus-outline');
- btn.classList.add('primary');
+ 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.innerText = '鍒犻櫎';
- btn.addEventListener('click', (e) => {
+ btn.addEventListener("click", (e) => {
e.stopPropagation()
// this.clickRemove(treeNode)
- _vue.$emit("onAddNode", treeNode);
+ _vue.$emit("onAddNode", treeNode)
})
- item.appendChild(btn);
+ item.appendChild(btn)
}
// 鏂囦欢澶瑰垹闄ゆ寜閽�
- 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');
+ 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.innerText = '鍒犻櫎';
- btn.addEventListener('click', (e) => {
+ btn.addEventListener("click", (e) => {
e.stopPropagation()
// this.clickRemove(treeNode)
- _vue.$emit("onRemoveNode", treeNode);
+ _vue.$emit("onRemoveNode", treeNode)
})
- item.appendChild(btn);
+ item.appendChild(btn)
}
// 鏂囦欢澶圭紪杈戞寜閽�
- 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');
+ 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.innerText = '鍒犻櫎';
- btn.addEventListener('click', (e) => {
+ btn.addEventListener("click", (e) => {
e.stopPropagation()
// this.clickRemove(treeNode)
- _vue.$emit("onRenameNode", treeNode);
+ _vue.$emit("onRenameNode", treeNode)
})
- item.appendChild(btn);
+ item.appendChild(btn)
}
-
// 娣诲姞鎽勫儚鏈烘寜閽�
- 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');
+ 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.innerText = '鍒犻櫎';
- btn.addEventListener('click', (e) => {
+ btn.addEventListener("click", (e) => {
e.stopPropagation()
// this.clickRemove(treeNode)
- _vue.$emit("onAddDevice", treeNode.id);
+ _vue.$emit("onAddDevice", treeNode.id)
})
- item.appendChild(btn);
+ item.appendChild(btn)
}
// 瀵煎叆鎽勫儚鏈烘寜閽�
- 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');
+ 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.innerText = '鍒犻櫎';
- btn.addEventListener('click', (e) => {
+ btn.addEventListener("click", (e) => {
e.stopPropagation()
// this.clickRemove(treeNode)
- _vue.$emit("onImport", treeNode.id);
+ _vue.$emit("onImport", treeNode.id)
})
- item.appendChild(btn);
+ 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');
+ 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) => {
+ btn.addEventListener("click", (e) => {
e.stopPropagation()
// this.clickRemove(treeNode)
- _vue.$emit("onShowPic", treeNode);
+ _vue.$emit("onShowPic", treeNode)
})
- item.appendChild(btn);
+ item.appendChild(btn)
}
},
removeHoverIcon(evt, treeId, item) {
- this.removeHoverDom(treeId, item);
+ this.removeHoverDom(treeId, item)
},
removeHoverDom(treeid, treeNode) {
- const item = document.getElementById(`${treeNode.tId}_a`);
+ 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');
+ btn = item.querySelector(".icontupian1")
if (btn) {
- item.removeChild(item.querySelector('.icontupian1'))
+ item.removeChild(item.querySelector(".icontupian1"))
}
}
- },
+ }
}
-};
+}
</script>
-<style >
+<style>
/* beauty ztree! */
.ztree * {
@@ -320,8 +332,7 @@
}
.ztree li ul.line {
/* background: url(./img/line_conn.gif) 0 0 repeat-y; */
- background: url(data:image/gif;base64,R0lGODlhCQACAIAAAMzMzP///yH5BAEAAAEALAAAAAAJAAIAAAIEjI9pUAA7)
- 0 0 repeat-y;
+ background: url(data:image/gif;base64,R0lGODlhCQACAIAAAMzMzP///yH5BAEAAAEALAAAAAAJAAIAAAIEjI9pUAA7) 0 0 repeat-y;
}
.ztree li a {
--
Gitblit v1.8.0