king
2023-09-23 46773828b8c46e450a67eb1fc5e6124d87d97ab6
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})
      }