hookehuyr

流程图连接线逻辑优化

......@@ -168,15 +168,23 @@
/></el-col>
</el-row>
</el-form-item>
<div v-if="state.attr_radio === '更多属性'">
<div>
<p style="font-size: 14px;">审批意见</p>
</div>
<div>
<p style="font-size: 14px;">节点操作</p>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="流程属性" name="flow" style="padding: 0 1rem">
<!-- <el-tab-pane label="流程属性" name="flow" style="padding: 0 1rem">
<el-form-item prop="label">
<div slot="label">
测试属性 <span style="color: red;">*</span>
</div>
<el-input v-model="state.detailModel.data.test" />
</el-form-item>
</el-tab-pane>
</el-tab-pane> -->
</el-tabs>
<!-- <template v-if="state.detailModel.type !== 'edge'">
<el-form-item label="节点背景色" prop="style.fill">
......@@ -692,13 +700,15 @@ export default {
type: string,
): Promise<any> {
let { nodes, edges } = editor.editorState.graph.save();
let start_edge_count = edges.filter(edge => edge.source === 'start-node'); // 连接到开始节点连接线的数量
let end_edge_count = edges.filter(edge => edge.target === 'end-node'); // 连接到结束节点连接线的数量
// 不可以删除开始与结束连接线
let node_id = model.id;
for (let index = 0; index < edges.length; index++) {
const element = edges[index]
if(
(element.target === node_id && element.source === 'start-node') ||
(element.source === node_id && element.target === 'end-node')
(element.target === node_id && element.source === 'start-node' && start_edge_count.length === 1) ||
(element.source === node_id && element.target === 'end-node' && end_edge_count.length === 1)
)
{
ElNotification.error('不可以删除【开始】与【结束】连接线')
......@@ -725,11 +735,11 @@ export default {
}
}
if (type === 'edge') {
if (model.source === 'start-node') {
if (model.source === 'start-node' && start_edge_count.length === 1) {
ElNotification.error('不可以删除【开始】连接线')
return Promise.reject('reject')
}
if (model.target === 'end-node') {
if (model.target === 'end-node' && end_edge_count.length === 1) {
ElNotification.error('不可以删除【结束】连接线')
return Promise.reject('reject')
}
......