zhiyong.zhou
2024-02-26 60d911172b1dbebe0ab952ce10366b327d5744f1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<template>
  <el-popover placement="bottom-start" title="添加流程节点" width="350" trigger="click">
    <div class="node-select">
      <div @click="addApprovalNode">
        <i class="el-icon-s-check" style="color:rgb(255, 148, 62);"></i>
        <span>审批人</span>
      </div>
<!--      <div @click="addTaskNode">-->
<!--        <i class="el-icon-s-check" style="color:rgb(230, 176, 57);"></i>-->
<!--        <span>办理人</span>-->
<!--      </div>-->
<!--      <div @click="addCcNode">-->
<!--        <i class="el-icon-s-promotion" style="color:rgb(50, 150, 250);"></i>-->
<!--        <span>抄送人</span>-->
<!--      </div>-->
<!--      <div @click="addConditionsNode">-->
<!--        <i class="el-icon-share" style="color:rgb(21, 188, 131);"></i>-->
<!--        <span>条件分支</span>-->
<!--      </div>-->
<!--      <div @click="addConcurrentsNode">-->
<!--        <i class="el-icon-s-operation" style="color:#718dff;"></i>-->
<!--        <span>并行分支</span>-->
<!--      </div>-->
<!--      <div @click="addInclusivesNode">-->
<!--        <i class="el-icon-s-operation" style="color:#718dff;"></i>-->
<!--        <span>包容分支</span>-->
<!--      </div>-->
<!--      <div @click="addDelayNode">-->
<!--        <i class="el-icon-time" style="color:#f25643;"></i>-->
<!--        <span>延迟等待</span>-->
<!--      </div>-->
<!--      <div @click="addTriggerNode">-->
<!--        <i class="el-icon-set-up" style="color:#15BC83;"></i>-->
<!--        <span>触发器</span>-->
<!--      </div>-->
<!--      <div @click="addSubprocessNode">-->
<!--        <i class="el-icon-set-up" style="color:#15BC93;"></i>-->
<!--        <span>子流程</span>-->
<!--      </div>-->
    </div>
    <el-button icon="el-icon-plus" slot="reference" type="primary" size="small" circle></el-button>
  </el-popover>
</template>
 
<script>
export default {
  name: "InsertButton",
  components: {},
  data() {
    return {}
  },
  computed:{
    selectedNode(){
      this.$store.state.selectedNode
    }
  },
  methods: {
    addApprovalNode(){
      this.$emit('insertNode', "APPROVAL")
    },
    addTaskNode(){
      this.$emit('insertNode', "TASK")
    },
    addCcNode(){
      this.$emit('insertNode', "CC")
    },
    addDelayNode(){
      this.$emit('insertNode', "DELAY")
    },
    addConditionsNode(){
      this.$emit('insertNode', "CONDITIONS")
    },
    addConcurrentsNode(){
      this.$emit('insertNode', "CONCURRENTS")
    },
    addInclusivesNode(){
      this.$emit('insertNode', "INCLUSIVES")
    },
    addTriggerNode(){
      this.$emit('insertNode', "TRIGGER")
    },
    addSubprocessNode(){
      this.$emit('insertNode', "SUBPROCESS")
    }
  }
}
</script>
 
<style lang="less" scoped>
.node-select{
  div{
    display: inline-block;
    margin: 5px 5px;
    cursor: pointer;
    padding: 10px 15px;
    border: 1px solid #F8F9F9;
    background-color: #F8F9F9;
    border-radius: 10px;
    width: 130px;
    position: relative;
    span{
      position: absolute;
      left: 65px;
      top: 18px;
    }
    &:hover{
      background-color: #fff;
      box-shadow: 0 0 8px 2px #d6d6d6;
    }
    i{
      font-size: 25px;
      padding: 5px;
      border: 1px solid #dedfdf;
      border-radius: 14px;
    }
  }
}
</style>