ProcessPanel.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <div>
  3. <el-collapse v-model="currentCollapseItem">
  4. <el-collapse-item name="1">
  5. <template #title>
  6. <div class="collapse__title">
  7. <el-icon>
  8. <InfoFilled />
  9. </el-icon>
  10. 常规
  11. </div>
  12. </template>
  13. <div>
  14. <el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px">
  15. <el-form-item label="流程标识" prop="id">
  16. <el-input v-model="formData.id" @change="idChange"></el-input>
  17. </el-form-item>
  18. <el-form-item label="流程名称" prop="name">
  19. <el-input v-model="formData.name" @change="nameChange"></el-input>
  20. </el-form-item>
  21. </el-form>
  22. </div>
  23. </el-collapse-item>
  24. <el-collapse-item name="2">
  25. <template #title>
  26. <div class="collapse__title">
  27. <el-icon>
  28. <BellFilled />
  29. </el-icon>
  30. 执行监听器
  31. </div>
  32. </template>
  33. <div>
  34. <ExecutionListener :element="element"></ExecutionListener>
  35. </div>
  36. </el-collapse-item>
  37. </el-collapse>
  38. </div>
  39. </template>
  40. <script setup lang="ts">
  41. import ExecutionListener from './property/ExecutionListener.vue';
  42. import useParseElement from '../hooks/useParseElement';
  43. import usePanel from '../hooks/usePanel';
  44. import type { Modeler, ModdleElement } from 'bpmn';
  45. import type { ProcessPanel } from 'bpmnDesign';
  46. const { proxy } = getCurrentInstance() as ComponentInternalInstance;
  47. interface PropType {
  48. element: ModdleElement;
  49. }
  50. const props = withDefaults(defineProps<PropType>(), {});
  51. const { parseData } = useParseElement({
  52. element: toRaw(props.element)
  53. });
  54. const { idChange, nameChange } = usePanel({
  55. element: toRaw(props.element)
  56. });
  57. const currentCollapseItem = ref(['1', '2']);
  58. const formData = ref<ProcessPanel>(parseData<ProcessPanel>());
  59. const formRules = ref<ElFormRules>({
  60. id: [{ required: true, message: '请输入', trigger: 'blur' }],
  61. name: [{ required: true, message: '请输入', trigger: 'blur' }]
  62. });
  63. </script>
  64. <style scoped lang="scss"></style>