From d7c6e0d1ec18f391243f77eb62bcb111378cb40f Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期一, 21 十二月 2020 10:13:46 +0800
Subject: [PATCH] 修复清空关联设备分组默认选中第一个添加执行条件
---
src/components/serfDiagram/index.vue | 98 +++++++++++++++++++++++++++++++-----------------
1 files changed, 63 insertions(+), 35 deletions(-)
diff --git a/src/components/serfDiagram/index.vue b/src/components/serfDiagram/index.vue
index 0e87121..945e15d 100644
--- a/src/components/serfDiagram/index.vue
+++ b/src/components/serfDiagram/index.vue
@@ -4,6 +4,7 @@
p {{toolTipAddr}}
d3-network(
ref='net'
+ :startX="startX"
:net-nodes="nodes"
:net-links="links"
:options="options"
@@ -11,10 +12,10 @@
@drag-start='dragStart'
@node-click='nodeClick'
@node-hover='nodeHover'
- @node-out='nodeOut'
+ @node-out='nodeOut'
)
</template>
-
+
<script>
import D3Network from "./vue-d3-network";
import RoleIcon from "./icons.js";
@@ -26,7 +27,11 @@
},
props: {
agent: String,
- members: Array
+ members: Array,
+ sizeX: Number,
+ sizeY: Number,
+ startX: Number,
+ isShowHover: Boolean
},
data() {
return {
@@ -36,7 +41,8 @@
toolTipStyle: {
display: "none",
height: "30px",
- width: "120px"
+ width: "186px",
+ borderColor: "#ccc"
}
};
},
@@ -49,11 +55,10 @@
name: v.nodeName,
svgSym: RoleIcon[v.role],
_color:
- this.agent === v.nodeName
- ? "red"
- : v.role === "master"
- ? "orange"
- : ""
+ v.role === "master"
+ ? "orange"
+ : ""
+
});
});
@@ -102,9 +107,13 @@
nodeLabels: true,
canvas: this.canvas,
linkWidth: 0,
+ // size: {
+ // w: 745,
+ // h: 426
+ // }
size: {
- w: 745,
- h: 426
+ w: this.sizeX || 445,
+ h: this.sizeY || 426
}
};
}
@@ -117,13 +126,33 @@
console.log(node);
node._opacity = 1;
node._size = 28;
- let width = document.body.clientWidth;
- this.toolTipStyle.display = "block";
- this.toolTipStyle.top = node.y - 10 + "px";
- this.toolTipStyle.left = node.x + width / 2 - 30 + "px";
+ //let width = document.body.clientWidth;
+ if (this.isShowHover) {
+ this.toolTipStyle.display = "block";
+ this.toolTipStyle.top = node.y - 60 + "px";
+ this.toolTipStyle.left = node.x + "px";
+ console.log(this.members[node.id]);
+ let workName = '';
+ switch (this.members[node.id].workType) {
+ case '01':
+ workName = '鍒嗘瀽'
+ break;
+ case '02':
+ workName = '瀛樺偍'
+ break;
+ case '03':
+ workName = '鍒嗘瀽+瀛樺偍'
+ break;
+ case '04':
+ workName = '搴旂敤'
+ break;
+ default:
+ return;
+ }
+ this.toolTipNode = this.members[node.id].nodeName;
+ this.toolTipAddr = `${this.members[node.id].Address}(${workName})`;
+ }
- this.toolTipNode = this.members[node.id].nodeName;
- this.toolTipAddr = this.members[node.id].Address;
},
nodeOut(event, node) {
node._opacity = node.opacity;
@@ -136,16 +165,6 @@
}
},
nodeClick(event, node) {
- // if (this.nodeSelected[node.id]) {
- // this.unSelectNode(node.id)
- // // is not nodeSelected
- // } else {
- // this.selectNode(node)
-
- // }
- // this.selectNodesLinks()
- // this.$set(this.nodes, node.index, node)
-
if (event.timeStamp - this.movement < 200) {
this.$emit("selected-node", event, this.members[node.id]);
}
@@ -185,11 +204,12 @@
}
};
</script>
-
+
<style>
.net {
height: 100%;
margin: 0;
+ position: relative;
}
.node {
@@ -250,7 +270,7 @@
position: absolute;
background: #fff;
/* border: 1px solid #127862; */
- border: 1px solid rgba(76, 78, 78, 0.7);
+ border: 1px solid #ccc;
font-size: 11px;
padding-left: 5px;
}
@@ -258,13 +278,13 @@
.arrow_box p {
height: 30px;
line-height: 30px;
- width: 100px;
+ width: 100%;
overflow: hidden;
}
.arrow_box:after,
.arrow_box:before {
- right: 100%;
- top: 50%;
+ right: 50%;
+ top: 100%;
border: solid transparent;
content: " ";
height: 0;
@@ -278,11 +298,19 @@
border-right-color: #fff;
border-width: 5px;
margin-top: -5px;
+ transform: translateY(6px) rotateZ(-90deg);
}
.arrow_box:before {
border-color: rgba(194, 225, 245, 0);
border-right-color: #323333;
- border-width: 6px;
- margin-top: -6px;
+ border-width: 5px;
+ margin-top: -5px;
}
-</style>
+.arrow_box:before {
+ border-color: rgba(194, 225, 245, 0);
+ border-right-color: #323333;
+ border-width: 5px;
+ margin-top: -5px;
+ transform: translateY(6px) rotateZ(-90deg);
+}
+</style>
\ No newline at end of file
--
Gitblit v1.8.0