hookehuyr

流程图连接线逻辑优化

...@@ -168,15 +168,23 @@ ...@@ -168,15 +168,23 @@
168 /></el-col> 168 /></el-col>
169 </el-row> 169 </el-row>
170 </el-form-item> 170 </el-form-item>
171 + <div v-if="state.attr_radio === '更多属性'">
172 + <div>
173 + <p style="font-size: 14px;">审批意见</p>
174 + </div>
175 + <div>
176 + <p style="font-size: 14px;">节点操作</p>
177 + </div>
178 + </div>
171 </el-tab-pane> 179 </el-tab-pane>
172 - <el-tab-pane label="流程属性" name="flow" style="padding: 0 1rem"> 180 + <!-- <el-tab-pane label="流程属性" name="flow" style="padding: 0 1rem">
173 <el-form-item prop="label"> 181 <el-form-item prop="label">
174 <div slot="label"> 182 <div slot="label">
175 测试属性 <span style="color: red;">*</span> 183 测试属性 <span style="color: red;">*</span>
176 </div> 184 </div>
177 <el-input v-model="state.detailModel.data.test" /> 185 <el-input v-model="state.detailModel.data.test" />
178 </el-form-item> 186 </el-form-item>
179 - </el-tab-pane> 187 + </el-tab-pane> -->
180 </el-tabs> 188 </el-tabs>
181 <!-- <template v-if="state.detailModel.type !== 'edge'"> 189 <!-- <template v-if="state.detailModel.type !== 'edge'">
182 <el-form-item label="节点背景色" prop="style.fill"> 190 <el-form-item label="节点背景色" prop="style.fill">
...@@ -692,13 +700,15 @@ export default { ...@@ -692,13 +700,15 @@ export default {
692 type: string, 700 type: string,
693 ): Promise<any> { 701 ): Promise<any> {
694 let { nodes, edges } = editor.editorState.graph.save(); 702 let { nodes, edges } = editor.editorState.graph.save();
703 + let start_edge_count = edges.filter(edge => edge.source === 'start-node'); // 连接到开始节点连接线的数量
704 + let end_edge_count = edges.filter(edge => edge.target === 'end-node'); // 连接到结束节点连接线的数量
695 // 不可以删除开始与结束连接线 705 // 不可以删除开始与结束连接线
696 let node_id = model.id; 706 let node_id = model.id;
697 for (let index = 0; index < edges.length; index++) { 707 for (let index = 0; index < edges.length; index++) {
698 const element = edges[index] 708 const element = edges[index]
699 if( 709 if(
700 - (element.target === node_id && element.source === 'start-node') || 710 + (element.target === node_id && element.source === 'start-node' && start_edge_count.length === 1) ||
701 - (element.source === node_id && element.target === 'end-node') 711 + (element.source === node_id && element.target === 'end-node' && end_edge_count.length === 1)
702 ) 712 )
703 { 713 {
704 ElNotification.error('不可以删除【开始】与【结束】连接线') 714 ElNotification.error('不可以删除【开始】与【结束】连接线')
...@@ -725,11 +735,11 @@ export default { ...@@ -725,11 +735,11 @@ export default {
725 } 735 }
726 } 736 }
727 if (type === 'edge') { 737 if (type === 'edge') {
728 - if (model.source === 'start-node') { 738 + if (model.source === 'start-node' && start_edge_count.length === 1) {
729 ElNotification.error('不可以删除【开始】连接线') 739 ElNotification.error('不可以删除【开始】连接线')
730 return Promise.reject('reject') 740 return Promise.reject('reject')
731 } 741 }
732 - if (model.target === 'end-node') { 742 + if (model.target === 'end-node' && end_edge_count.length === 1) {
733 ElNotification.error('不可以删除【结束】连接线') 743 ElNotification.error('不可以删除【结束】连接线')
734 return Promise.reject('reject') 744 return Promise.reject('reject')
735 } 745 }
......