1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <template>
- <div>
- <el-collapse v-model="currentCollapseItem">
- <el-collapse-item name="1">
- <template #title>
- <div class="collapse__title">
- <el-icon>
- <InfoFilled />
- </el-icon>
- 常规
- </div>
- </template>
- <div>
- <el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px">
- <el-form-item prop="id" label="节点 ID">
- <el-input v-model="formData.id" @change="idChange"> </el-input>
- </el-form-item>
- <el-form-item prop="name" label="节点名称">
- <el-input v-model="formData.name" @change="nameChange"> </el-input>
- </el-form-item>
- </el-form>
- </div>
- </el-collapse-item>
- <el-collapse-item name="2">
- <template #title>
- <div class="collapse__title">
- <el-icon>
- <BellFilled />
- </el-icon>
- 执行监听器
- </div>
- </template>
- <div>
- <ExecutionListener :element="element"></ExecutionListener>
- </div>
- </el-collapse-item>
- </el-collapse>
- </div>
- </template>
- <script setup lang="ts">
- import useParseElement from '../hooks/useParseElement';
- import usePanel from '../hooks/usePanel';
- import type { Modeler, ModdleElement } from 'bpmn';
- import type { GatewayPanel } from 'bpmnDesign';
- import ExecutionListener from './property/ExecutionListener.vue';
- interface PropType {
- element: ModdleElement;
- }
- const props = withDefaults(defineProps<PropType>(), {});
- const { nameChange, idChange } = usePanel({
- element: toRaw(props.element)
- });
- const { parseData } = useParseElement({
- element: toRaw(props.element)
- });
- const currentCollapseItem = ref(['1', '2']);
- const formData = ref(parseData<GatewayPanel>());
- const formRules = ref<ElFormRules>({
- processCategory: [{ required: true, message: '请选择', trigger: 'blur' }],
- id: [{ required: true, message: '请输入', trigger: 'blur' }],
- name: [{ required: true, message: '请输入', trigger: 'blur' }]
- });
- </script>
- <style lang="scss" scoped></style>
|