zhangzengfei
2020-10-27 e65c4102f0175d666746936381c3dee278358a72
src/components/serfDiagram/index.vue
@@ -33,7 +33,7 @@
    startX: Number,
    isShowHover: Boolean
  },
  data () {
  data() {
    return {
      nodeSize: 20,
      fontSize: 20,
@@ -47,7 +47,7 @@
    };
  },
  computed: {
    nodes () {
    nodes() {
      let n = new Array();
      this.members.forEach((v, i) => {
        n.push({
@@ -64,7 +64,7 @@
      return n;
    },
    links () {
    links() {
      let arr = new Array();
      let dup = new Array(); // Deduplicate to ensure that two nodes have only one line
      const count = this.members.length;
@@ -99,7 +99,7 @@
      return arr;
    },
    options () {
    options() {
      return {
        force: 3000,
        nodeSize: this.nodeSize,
@@ -118,11 +118,11 @@
      };
    }
  },
  created () {
  created() {
    this.reset();
  },
  methods: {
    nodeHover (event, node) {
    nodeHover(event, node) {
      console.log(node);
      node._opacity = 1;
      node._size = 28;
@@ -133,7 +133,7 @@
        this.toolTipStyle.left = node.x + "px";
        console.log(this.members[node.id]);
        let workName = '';
        switch(this.members[node.id].workType){
        switch (this.members[node.id].workType) {
          case '01':
            workName = '分析'
            break;
@@ -154,55 +154,44 @@
      }
    },
    nodeOut (event, node) {
    nodeOut(event, node) {
      node._opacity = node.opacity;
      node._size = node.size;
      this.toolTipStyle.display = "none";
    },
    dragStart (event) {
    dragStart(event) {
      if (event) {
        this.movement = event.timeStamp;
      }
    },
    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)
      console.log(event, node)
      debugger
    nodeClick(event, node) {
      if (event.timeStamp - this.movement < 200) {
        this.$emit("selected-node", event, this.members[node.id]);
      }
    },
    reset () {
    reset() {
      this.nodeSelected = {};
      this.linksSelected = {};
      (this.toolTipNode = ""), (this.toolTipAddr = ""), (this.movement = 0);
    },
    unSelectNode (nodeId) {
    unSelectNode(nodeId) {
      if (this.nodeSelected[nodeId]) {
        delete this.nodeSelected[nodeId];
      }
      this.selectNodesLinks();
    },
    unSelectLink (linkId) {
    unSelectLink(linkId) {
      if (this.linksSelected[linkId]) {
        delete this.linksSelected[linkId];
      }
    },
    selectNode (node) {
    selectNode(node) {
      this.nodeSelected[node.id] = node;
    },
    selectLink (link) {
    selectLink(link) {
      this.$set(this.linksSelected, link.id, link);
    },
    selectNodesLinks () {
    selectNodesLinks() {
      for (let link of this.links) {
        // node is nodeSelected
        if (this.nodeSelected[link.sid] || this.nodeSelected[link.tid]) {
@@ -297,7 +286,7 @@
  right: 50%;
  top: 100%;
  border: solid transparent;
  content: ' ';
  content: " ";
  height: 0;
  width: 0;
  position: absolute;