| | |
| | | "r": 4, |
| | | "magnet": true, |
| | | "stroke": "#5F95FF", |
| | | "strokeWidth": 1, |
| | | |
| | | "fill": "#fff", |
| | | "style": { |
| | | "visibility": "hidden" |
| | |
| | | const nodes = this.graph.getNodes() |
| | | for (const node of nodes) { |
| | | if (node.getData().nodeType === 'dashedBox') { |
| | | this.$message({message: '该模型中存在虚框,无法保存', type: 'warning'}) |
| | | return false; // 取消添加节点操作 |
| | | this.$message({message: '该模型中存在虚框,无法提交', type: 'warning'}) |
| | | return false; |
| | | } |
| | | if (node.getData().nodeType === 'vote') { |
| | | const edges = this.graph.getConnectedEdges(node); |
| | | if (node.getData().voteNum === null || node.getData().voteNum === '') { |
| | | this.$message({message: '表决节点的表决数量未设置', type: 'warning'}) |
| | | return false; |
| | | } |
| | | const edges = this.graph.getIncomingEdges(node); |
| | | if (node.getData().voteNum >= edges.length) { |
| | | this.$message({message: '表决数量不能高于该节点的进线数量', type: 'warning'}) |
| | | return false; // 取消添加节点操作 |
| | | this.$message({message: '表决节点的表决数量必须小于该节点的进线数量', type: 'warning'}) |
| | | return false; |
| | | } |
| | | } |
| | | if (node.getData().nodeType === 'switch') { |
| | | if (node.getData().voteNum === null || node.getData().voteNum === '') { |
| | | this.$message({message: '旁联节点的备份数量未设置', type: 'warning'}) |
| | | return false; |
| | | } |
| | | const edges = this.graph.getIncomingEdges(node); |
| | | if (node.getData().voteNum >= edges.length) { |
| | | this.$message({message: '旁联节点的备份数量必须小于该节点的进线数量', type: 'warning'}) |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | |
| | | await this.$http['post'](`/taskReliability/ModelLine/analyze`, this.dataForm).then(async res => { |
| | | if (res.msg === 'success') { |
| | | this.$emit('refreshDataList') |
| | | this.$alert('解析成功', '提示', { |
| | | this.$alert('提交成功', '提示', { |
| | | confirmButtonText: '确定' |
| | | }) |
| | | } |
| | |
| | | |
| | | const leftConnectNode = this.createConnectNode(x, y + 87) |
| | | const alignCenterDashedBox = this.createDashedBox(x + 209, y + 87) |
| | | const rightConnectNode = this.createBridgeNode(x + 530, y + 87) |
| | | |
| | | const leftBottomDashedBox = this.createDashedBox(x + 40, y + 160) |
| | | const rightBottomDashedBox = this.createDashedBox(x + 380, y + 160) |
| | | let edgeTop = this.graph.addEdge({ |
| | | source: {cell: leftTopDashedBox}, |
| | | target: {cell: rightTopDashedBox}, |
| | | router: { |
| | | name: 'manhattan', |
| | | args: { |
| | | startDirections: ['right'], // 从下方开始 |
| | | endDirections: ['left'], // 向左方结束 |
| | | }, |
| | | }, |
| | | connector: {name: 'rounded'}, |
| | | zIndex: -1 |
| | | }) |
| | | let edgeBottom = this.graph.addEdge({ |
| | | source: {cell: leftBottomDashedBox}, |
| | | target: {cell: rightBottomDashedBox}, |
| | | router: { |
| | | name: 'manhattan', |
| | | args: { |
| | | startDirections: ['right'], // 从下方开始 |
| | | endDirections: ['left'], // 向左方结束 |
| | | }, |
| | | }, |
| | | connector: {name: 'rounded'}, |
| | | zIndex: -1 |
| | | }) |
| | | |
| | | const rightConnectNode = this.createBridgeNode(x + 530, y + 87, leftConnectNode.id, edgeTop.id, edgeBottom.id) |
| | | |
| | | rightConnectNode.setData({startNodeId: leftConnectNode.id}) |
| | | leftConnectNode.setData({endNodeId: rightConnectNode.id}) |
| | |
| | | name: 'manhattan', |
| | | args: { |
| | | startDirections: ['top', 'bottom'], // 从下方开始 |
| | | endDirections: ['left'], // 向左方结束 |
| | | }, |
| | | }, |
| | | connector: {name: 'rounded'}, |
| | | zIndex: -1 |
| | | }) |
| | | |
| | | let edgeTop = this.graph.addEdge({ |
| | | source: {cell: leftTopDashedBox}, |
| | | target: {cell: rightTopDashedBox}, |
| | | router: { |
| | | name: 'manhattan', |
| | | args: { |
| | | startDirections: ['right'], // 从下方开始 |
| | | endDirections: ['left'], // 向左方结束 |
| | | }, |
| | | }, |
| | | connector: {name: 'rounded'}, |
| | | zIndex: -1 |
| | | }) |
| | | let edgeBottom = this.graph.addEdge({ |
| | | source: {cell: leftBottomDashedBox}, |
| | | target: {cell: rightBottomDashedBox}, |
| | | router: { |
| | | name: 'manhattan', |
| | | args: { |
| | | startDirections: ['right'], // 从下方开始 |
| | | endDirections: ['left'], // 向左方结束 |
| | | }, |
| | | }, |
| | |
| | | connectNode.position(x, y - connectNode.size().height / 2) |
| | | return connectNode |
| | | }, |
| | | createBridgeNode(x, y) { |
| | | const connectId = getUUID().toString() |
| | | createBridgeNode(x, y, connectId, edgeTopId, edgeBottomId) { |
| | | const dragNodeId = getUUID().toString() |
| | | let bridgeNode = this.graph.addNode({ |
| | | shape: 'image', |
| | | width: 30, |
| | | height: 30, |
| | | id: connectId, |
| | | id: dragNodeId, |
| | | data: { |
| | | isSelfCreated: true, |
| | | type: 'imageNodes', |
| | | endNodeId: dragNodeId, |
| | | startNodeId: connectId, |
| | | edgeTopId: edgeTopId, |
| | | edgeBottomId: edgeBottomId, |
| | | dataId: '', |
| | | nodeType: 'bridge', |
| | | nodeTypeExt: '', |