From 46773828b8c46e450a67eb1fc5e6124d87d97ab6 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 23 九月 2023 19:51:11 +0800 Subject: [PATCH] 2023-09-23 --- src/tabviews/custom/components/chart/antv-X6/index.jsx | 64 +++++++++++++++++++++++++++++--- 1 files changed, 58 insertions(+), 6 deletions(-) diff --git a/src/tabviews/custom/components/chart/antv-X6/index.jsx b/src/tabviews/custom/components/chart/antv-X6/index.jsx index 3b654c5..97525bc 100644 --- a/src/tabviews/custom/components/chart/antv-X6/index.jsx +++ b/src/tabviews/custom/components/chart/antv-X6/index.jsx @@ -1003,8 +1003,16 @@ if (!isNew) return let target = edge.getTargetCell() - let mkdata = target ? target.prop('mkdata') : null + if (!target) return + + let mkdata = target.prop('mkdata') + + if (target.prop('mknode') === 'end') { + edge.prop('mknode', 'endEdge') + } else if (target.prop('mknode') === 'start') { + edge.prop('mknode', 'startEdge') + } if (mkdata) { edge.prop('mkdata', {status: mkdata.status, statusName: mkdata.statusName}) } @@ -1550,10 +1558,23 @@ let _status = status if (plot.subtype === 'xflow' && status === 10) { - let start_num = nodes.cells.filter(cell => cell.mknode === 'start').length - let end_num = nodes.cells.filter(cell => cell.mknode === 'end').length + let start_num = 0 + let end_num = 0 + let unvalid = false - if (start_num !== 1 || end_num !== 1) { + nodes.cells.forEach(item => { + if (item.mknode === 'start') { + start_num++ + } else if (item.mknode === 'end') { + end_num++ + } else if (item.shape === 'edge' && item.mknode !== 'endEdge' && item.mknode !== 'startEdge') { + if (!item.mkdata.members || item.mkdata.members.length === 0) { + unvalid = true + } + } + + }) + if (start_num !== 1 || end_num !== 1 || unvalid) { _status = 0 } } @@ -1968,8 +1989,22 @@ if (plot.subtype === 'xflow' && _status === 10) { let nodes = this.mkGraph.toJSON() - let start_num = nodes.cells.filter(cell => cell.mknode === 'start').length - let end_num = nodes.cells.filter(cell => cell.mknode === 'end').length + + let start_num = 0 + let end_num = 0 + let unvalidId = '' + + nodes.cells.forEach(item => { + if (item.mknode === 'start') { + start_num++ + } else if (item.mknode === 'end') { + end_num++ + } else if (item.shape === 'edge' && item.mknode !== 'endEdge' && item.mknode !== 'startEdge') { + if (!item.mkdata.members || item.mkdata.members.length === 0) { + unvalidId = item.id + } + } + }) if (start_num === 0) { notification.warning({ @@ -1995,6 +2030,23 @@ message: '缁撴潫鑺傜偣涓嶅彲娣诲姞澶氫釜锛�', duration: 2 }) + } else if (unvalidId) { + let edge = this.mkGraph.getCellById(unvalidId) + + let node = edge.getTargetCell() + + let title = '' + if (node.attrs && node.attrs.text) { + title = node.attrs.text.text + '' + } else if (node.mkdata) { + title = '鐘舵�侊細' + node.mkdata.status + ' - ' + node.mkdata.statusName + } + + notification.warning({ + top: 92, + message: '杩炴帴锛�' + title + '锛夌殑绾挎湭璁剧疆瀹℃壒浜猴紒', + duration: 2 + }) } else { this.setState({status: _status}) } -- Gitblit v1.8.0