nodeWrap.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <template>
  2. <!-- 发起人 -->
  3. <promoter v-if="nodeConfig.type == 0" v-model="nodeConfig" :disabled="disabled"></promoter>
  4. <!-- 审批人 -->
  5. <approver v-if="nodeConfig.type == 1" v-model="nodeConfig" :disabled="disabled"></approver>
  6. <!-- 抄送人 -->
  7. <send v-if="nodeConfig.type == 2" v-model="nodeConfig" :disabled="disabled"></send>
  8. <!-- 分支 -->
  9. <branch v-if="nodeConfig.type == 4" v-model="nodeConfig" :disabled="disabled">
  10. <template #default="slot">
  11. <node-wrap v-if="slot.node" v-model="slot.node.childNode" :disabled="disabled"></node-wrap>
  12. </template>
  13. </branch>
  14. <!-- 子流程 -->
  15. <sub-process v-if="nodeConfig.type == 5" v-model="nodeConfig" :disabled="disabled"></sub-process>
  16. <!-- 延时处理 -->
  17. <delay-process v-if="nodeConfig.type == 6" v-model="nodeConfig" :disabled="disabled"></delay-process>
  18. <!-- 触发器 -->
  19. <trigger v-if="nodeConfig.type == 7" v-model="nodeConfig" :disabled="disabled"></trigger>
  20. <node-wrap v-if="nodeConfig.childNode" v-model="nodeConfig.childNode" :disabled="disabled"></node-wrap>
  21. </template>
  22. <script>
  23. import approver from './nodes/approver'
  24. import promoter from './nodes/promoter'
  25. import branch from './nodes/branch'
  26. import send from './nodes/send'
  27. import delayProcess from './nodes/delayProcess'
  28. import trigger from './nodes/trigger'
  29. import subProcess from './nodes/subProcess'
  30. export default {
  31. components: {
  32. approver,
  33. promoter,
  34. branch,
  35. send,
  36. delayProcess,
  37. trigger,
  38. subProcess
  39. },
  40. props: {
  41. modelValue: { type: Object, default: () => {} },
  42. disabled: {
  43. type: Boolean,
  44. default: false
  45. }
  46. },
  47. data() {
  48. return {
  49. nodeConfig: this.modelValue
  50. }
  51. },
  52. watch: {
  53. modelValue(val) {
  54. this.nodeConfig = val
  55. },
  56. nodeConfig(val) {
  57. this.$emit('update:modelValue', val)
  58. }
  59. },
  60. methods: {}
  61. }
  62. </script>
  63. <style></style>