index.vue 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <div>
  3. <section class="dingflow-design">
  4. <el-row>
  5. <el-col :span="20" />
  6. <el-col :span="4">
  7. <el-button type="primary" size="small" @click="test">保存(用于测试,还未完成)</el-button>
  8. </el-col>
  9. </el-row>
  10. <div class="box-scale">
  11. <!-- <div class="start-event-node">
  12. <div class="start-event-node-text">流程开始</div>
  13. <div class="start-event-node-circle"></div>
  14. <div class="start-event-node-flow">
  15. <el-popover placement="right-start" width="auto">
  16. <div class="add-node-popover-body">
  17. <a class="add-node-popover-item approver" @click="addType(1)">
  18. <div class="item-wrapper">
  19. <span class="iconfont"></span>
  20. </div>
  21. <p>审批人</p>
  22. </a>
  23. </div>
  24. <template #reference>
  25. <button class="btn" type="button">
  26. <span class="iconfont"></span>
  27. </button>
  28. </template>
  29. </el-popover>
  30. </div>
  31. </div> -->
  32. <nodeWrap v-model:nodeConfig="nodeConfig" />
  33. <div class="end-node">
  34. <div class="end-node-circle"></div>
  35. <div class="end-node-text">流程结束</div>
  36. </div>
  37. </div>
  38. </section>
  39. </div>
  40. <approverDrawer />
  41. </template>
  42. <script lang="ts" setup>
  43. import nodeWrap from '@/components/SimpleProcessDesigner/src/nodeWrap.vue'
  44. import addNode from '@/components/SimpleProcessDesigner/src/addNode.vue'
  45. import approverDrawer from '@/components/SimpleProcessDesigner/src/drawer/approverDrawer.vue'
  46. import { ref } from 'vue'
  47. import { saveBpmSimpleModel, getBpmSimpleModel } from '@/api/bpm/simple'
  48. defineOptions({ name: 'SimpleWorkflowDesignEditor' })
  49. const uid = getCurrentInstance().uid
  50. const router = useRouter() // 路由
  51. const { query } = useRoute() // 路由的查询
  52. const modelId = query.modelId
  53. const message = useMessage() // 国际化
  54. const nodeConfig = ref({
  55. name: '流程开始',
  56. type: -1,
  57. id: 'StartEvent_' + uid,
  58. childNode: undefined
  59. })
  60. const test = async () => {
  61. if (!modelId) {
  62. message.error('缺少模型 modelId 编号')
  63. return
  64. }
  65. const data = {
  66. modelId: modelId,
  67. simpleModelBody: toRaw(nodeConfig.value)
  68. }
  69. console.log('request json data is ', data)
  70. const result = await saveBpmSimpleModel(data)
  71. console.log('save the result is ', result)
  72. if (result) {
  73. message.success('修改成功')
  74. close()
  75. } else {
  76. message.alert('修改失败')
  77. }
  78. }
  79. const close = () => {
  80. router.push({ path: '/bpm/manager/model' })
  81. }
  82. onMounted(async () => {
  83. console.log('the modelId is ', modelId)
  84. const result = await getBpmSimpleModel(modelId)
  85. if(result){
  86. console.log('get the result is ', result)
  87. nodeConfig.value = result;
  88. }
  89. })
  90. </script>
  91. <style>
  92. @import url('@/components/SimpleProcessDesigner/theme/workflow.css');
  93. </style>