edit.vue 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <div v-if="show">
  3. <vue-bpmn
  4. @save="btnSave"
  5. :modelData="modelData"
  6. :isView="isView"
  7. :key="$route.query.id"
  8. />
  9. </div>
  10. </template>
  11. <script>
  12. import { getAction, putAction } from '@/api/flowable/manage';
  13. import { Message } from 'element-ui';
  14. // import VueBpmn from "@/components/VueBpmn"; // 原生面板
  15. // import VueBpmn from "@/components/VueElementuiBpmn"; // elementui面板
  16. import VueBpmn from '@/components/VueBpmn';
  17. export default {
  18. name: 'FlowableModelEdit',
  19. components: { VueBpmn },
  20. data() {
  21. return {
  22. id: undefined,
  23. isView: false,
  24. modelData: {
  25. id: undefined,
  26. editor: undefined
  27. },
  28. show: false
  29. };
  30. },
  31. mounted() {
  32. // this.getModelData();
  33. },
  34. watch: {
  35. $route: {
  36. handler(route) {
  37. if (route.query && route.query.id) {
  38. this.id = route.query.id;
  39. this.getModelData();
  40. }
  41. if (route.query && route.query.isView) {
  42. this.isView = route.query.isView === 'false' ? false : true;
  43. }
  44. },
  45. immediate: true
  46. }
  47. },
  48. methods: {
  49. getModelData() {
  50. if (!this.id) {
  51. Message.error('id is null');
  52. return;
  53. }
  54. getAction('/flowable/model/queryById', {
  55. id: this.id
  56. }).then(({ data }) => {
  57. this.modelData.id = data.data.id;
  58. this.modelData.editor = data.data.editor;
  59. this.modelData.key = data.data.key;
  60. this.modelData.name = data.data.name;
  61. this.modelData.category = data.data.category;
  62. this.modelData.description = data.data.description;
  63. this.show = true;
  64. console.log(this.modelData, this.id);
  65. });
  66. },
  67. btnSave(modelData) {
  68. putAction('/flowable/model/saveModelEditor', modelData).then((res) => {
  69. Message.success('保存' + res.data.message);
  70. this.$router.push('/flowable/model');
  71. });
  72. }
  73. }
  74. };
  75. </script>