addNode.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <template>
  2. <div class="add-node-btn-box">
  3. <div class="add-node-btn">
  4. <el-popover placement="right-start" :width="270" trigger="click" :hide-after="0" :show-after="0">
  5. <template #reference>
  6. <el-button type="primary" icon="plus" circle></el-button>
  7. </template>
  8. <div class="add-node-popover-body">
  9. <ul>
  10. <li>
  11. <el-icon style="color: #ff943e" @click="addType(1)"><user-filled /></el-icon>
  12. <p>审批节点</p>
  13. </li>
  14. <li>
  15. <el-icon style="color: #3296fa" @click="addType(2)"><promotion /></el-icon>
  16. <p>抄送节点</p>
  17. </li>
  18. <li>
  19. <el-icon style="color: #15bc83" @click="addType(4)"><share /></el-icon>
  20. <p>条件分支</p>
  21. </li>
  22. </ul>
  23. </div>
  24. </el-popover>
  25. </div>
  26. </div>
  27. </template>
  28. <script>
  29. export default {
  30. props: {
  31. modelValue: { type: Object, default: () => {} }
  32. },
  33. data() {
  34. return {}
  35. },
  36. mounted() {},
  37. methods: {
  38. addType(type) {
  39. var node = {}
  40. if (type == 1) {
  41. node = {
  42. nodeName: '审核人',
  43. type: 1, //节点类型
  44. setType: 1, //审核人类型
  45. nodeUserList: [], //审核人成员
  46. nodeRoleList: [], //审核角色
  47. examineLevel: 1, //指定主管层级
  48. directorLevel: 1, //自定义连续主管审批层级
  49. selectMode: 1, //发起人自选类型
  50. termAuto: false, //审批期限超时自动审批
  51. term: 0, //审批期限
  52. termMode: 1, //审批期限超时后执行类型
  53. examineMode: 1, //多人审批时审批方式
  54. directorMode: 0, //连续主管审批方式
  55. childNode: this.modelValue
  56. }
  57. } else if (type == 2) {
  58. node = {
  59. nodeName: '抄送人',
  60. type: 2,
  61. userSelectFlag: true,
  62. nodeUserList: [],
  63. childNode: this.modelValue
  64. }
  65. } else if (type == 4) {
  66. node = {
  67. nodeName: '条件路由',
  68. type: 4,
  69. conditionNodes: [
  70. {
  71. nodeName: '条件1',
  72. type: 3,
  73. priorityLevel: 1,
  74. conditionMode: 1,
  75. conditionList: []
  76. },
  77. {
  78. nodeName: '条件2',
  79. type: 3,
  80. priorityLevel: 2,
  81. conditionMode: 1,
  82. conditionList: []
  83. }
  84. ],
  85. childNode: this.modelValue
  86. }
  87. }
  88. this.$emit('update:modelValue', node)
  89. }
  90. }
  91. }
  92. </script>
  93. <style></style>