king
2024-05-21 a4466960bfd628036aa2b6f9aa706f75215482bc
src/utils/utils.js
@@ -854,24 +854,6 @@
  }
  /**
   * @description 获取云端图片真实路径
   * @return {String}    url 图片路径
   */
  static getcloudurl (url) {
    if (!url) return ''
    let baseurl = ''
    if (window.GLOB.cloudServiceApi) {
      baseurl = window.GLOB.cloudServiceApi.replace(/webapi(.*)$/, '')
    } else {
      baseurl = window.GLOB.baseurl
    }
    return url.match(/^http/) || url.match(/^\/\//) ? url : baseurl + url
  }
  /**
   * @description 获取下拉搜索查询条件
   * @return {String} item   搜索条件信息
   */
@@ -2149,6 +2131,7 @@
    let status = 0
    let statusName = ''
    let detailId = ''
    let sign = ''
    let error = ''
    let userid = sessionStorage.getItem('UserID') || ''
    let checkIds = []
@@ -2197,14 +2180,31 @@
                }
              })
              if (!error) {
                line = lines[0]
                lines = lines.filter(cell => {
                  if (cell.mkdata.seniorCondition === 'open' && !line) {
                    cell.mkdata.seniorbers && cell.mkdata.seniorbers.forEach(per => {
                      if (per.worker_id === userid) {
                        line = cell
                      }
                    })
                    return false
                  }
                  return true
                })
                if (!line) {
                  line = lines[0]
                }
              }
            } else if (!_data.hasOwnProperty(branchKey)) {
              error = '信息中无流程控制字段。'
            } else {
              let equalLine = null
              let gtOrLtLine = []
              let unEqualLine = null
              let _def_lines = []
              let _equ_lines = []
              let _unequ_lines = []
              let _or_lines = []
              let branchVal = _data[branchKey]
              if (branchVal && typeof(branchVal) === 'string' && !isNaN(branchVal)) {
@@ -2213,45 +2213,58 @@
              lines.forEach(item => {
                if (item.mkdata.execCondition !== 'open') {
                  line = item
                  _def_lines.push(item)
                } else {
                  if (item.mkdata.match === '=') {
                    if (item.mkdata.matchVal === branchVal + '') {
                      equalLine = item
                      _equ_lines.push(item)
                    }
                  } else if (item.mkdata.match === '!=') {
                    if (item.mkdata.matchVal !== branchVal + '') {
                      unEqualLine = item
                      _unequ_lines.push(item)
                    }
                  } else {
                    if (item.mkdata.match === '<') {
                      if (item.mkdata.matchVal < branchVal) {
                        gtOrLtLine.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)})
                        _or_lines.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)})
                      }
                    } else if (item.mkdata.match === '>') {
                      if (item.mkdata.matchVal > branchVal) {
                        gtOrLtLine.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)})
                        _or_lines.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)})
                      }
                    } else if (item.mkdata.match === '<=') {
                      if (item.mkdata.matchVal <= branchVal) {
                        gtOrLtLine.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)})
                        _or_lines.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)})
                      }
                    } else if (item.mkdata.match === '>=') {
                      if (item.mkdata.matchVal >= branchVal) {
                        gtOrLtLine.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)})
                        _or_lines.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)})
                      }
                    }
                  }
                }
              })
              if (equalLine) {
                line = equalLine
              } else if (gtOrLtLine.length > 0) {
                gtOrLtLine.sort((a, b) => a.dist - b.dist)
                line = gtOrLtLine[0]
              } else if (unEqualLine) {
                line = unEqualLine
              _or_lines.sort((a, b) => a.dist - b.dist)
              let _lines = [..._equ_lines, ..._or_lines, ..._unequ_lines, ..._def_lines]
              _lines = _lines.filter(cell => {
                if (cell.mkdata.seniorCondition === 'open' && !line) {
                  cell.mkdata.seniorbers && cell.mkdata.seniorbers.forEach(per => {
                    if (per.worker_id === userid) {
                      line = cell
                    }
                  })
                  return false
                }
                return true
              })
              if (!line) {
                line = _lines[0]
              }
            }
          }
@@ -2264,6 +2277,7 @@
        detailId = line.id
        status = line.mkdata.status
        statusName = line.mkdata.statusName
        sign = line.mkdata.seniorSign || ''
        target = flow.cells.filter(cell => cell.id === line.target.cell)[0]
        line.mkdata.members && line.mkdata.members.forEach(item => {
@@ -2288,7 +2302,7 @@
        if (!target) {
          error = '未查询到工作流目标节点'
        } else if (checkIds.length === 0 && line.mknode !== 'startEdge' && line.mknode !== 'endEdge') {
        } else if (checkIds.length === 0 && !['startEdge', 'endEdge', 'throughEdge'].includes(line.mknode)) {
          error = '未获取到下一步审批人'
        } else if (line.approvalMethod === 'countersign' && (!node.checkIds || !node.checkIds.includes(userid))) {
          error = '当前用户不在审批人列表中'
@@ -2453,6 +2467,12 @@
      }
    }
    if (_backCustomScript) {
      _sql += _backCustomScript
    }
    _sql = _sql.replace(/@works_flow_sign@/ig, `'${sign}'`)
    _sql = _sql.replace(/@check_userids@/ig, `'${checkIds.join(',')}'`)
    _sql = _sql.replace(/@notice_userids@/ig, `'${noticeIds.join(',')}'`)
@@ -2475,9 +2495,7 @@
    _sql = _sql.replace(/@statusname@/ig, `'${statusName}'`)
    _sql = _sql.replace(/@work_group@/ig, `'${sessionStorage.getItem('work_group') || ''}'`)
    _sql = _sql.replace(/@work_grade@/ig, `'${work_grade}'`)
  }
  if (_backCustomScript) {
  } else if (_backCustomScript) {
    _sql += _backCustomScript
  }