king
2023-08-02 574ea3b532b625456c09f14fc11073aad6b61db7
src/utils/utils.js
@@ -216,12 +216,6 @@
  //   value = window.atob(value)
  //   value = value.replace('minKe', '')
  //   value = window.decodeURIComponent(window.atob(value))
  //   // 外联数据库替换
  //   if (window.GLOB.externalDatabase !== null && window.GLOB.externalDatabase) {
  //     value = value.replace(window.GLOB.externalDatabase, '@db@')
  //   }
  //   value = value.replace(/ mpercent /ig, '%')
    
  //   // 替换关键字
@@ -230,7 +224,7 @@
  //     value = value.replace(reg, ' ' + item.key + ' ')
  //   })
  //   // value = value.replace(/\n/ig, ' \n ')
  //   value = value.replace(/ \n /ig, '\n')
  //   return value
  // }
@@ -292,12 +286,17 @@
   * @description 初始化搜索条件初始值
   * @param {Array}   searches     搜索条件
   */
  static initSearchVal (searches) {
    if (!searches) return []
  static initSearchVal (config) {
    if (!config.search) {
      config.search = []
      return
    }
    let roleId = sessionStorage.getItem('role_id') || ''
    let required = false
    let keys = []
    return searches.map(item => {
    config.search = config.search.map(item => {
      item.hidden = item.Hide === 'true'
      item.required = !item.hidden && item.required === 'true'
      item.advanced = item.advanced === 'true'
@@ -413,8 +412,28 @@
        }
      }
      if (item.required) {
        required = true
      }
      if (item.type === 'text' || item.type === 'select') {
        if (/,/.test(item.field)) {
          item.field.split(',').forEach(field => {
            keys.push(field.toLowerCase())
          })
        } else {
          keys.push(item.field.toLowerCase())
        }
      } else if (item.type === 'group') {
        keys.push(item.field.toLowerCase())
        keys.push(item.datefield.toLowerCase())
      }
      return item
    })
    config.$s_keys = keys
    config.$s_req = required
  }
  /**
@@ -800,6 +819,8 @@
        arrfield.push(item.urlField)
      } else if (item.colorField) {
        arrfield.push(item.colorField)
      } else if (item.parentField) {
        arrfield.push(item.parentField)
      }
    }
@@ -833,10 +854,9 @@
    }
    if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
      sql = sql.replace(/\$@/ig, '/*')
      sql = sql.replace(/@\$/ig, '*/')
      sql = sql.replace(/\$@/ig, '/*').replace(/@\$/ig, '*/').replace(/@datam@/ig, '\'Y\'')
    } else {
      sql = sql.replace(/@\$|\$@/ig, '')
      sql = sql.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, '\'\'')
    }
    // 外联数据库替换
@@ -960,9 +980,7 @@
      let _position = (_topline + lindex + 1) + '行 ' + _colindex + '列 '
      if (/^Nvarchar/ig.test(col.type)) {
        if (typeof(val) === 'number') {
          val = val.toString()
        }
        val = val + ''
        if (/'/.test(val)) {
          val = val.replace(/'/ig, '"')
@@ -982,38 +1000,15 @@
            }
          })
        }
      } else if (/^int/ig.test(col.type)) {
      } else if (/^Decimal/ig.test(col.type) || /^int/ig.test(col.type)) {
        if (!val && val !== 0) {
          errors.push(_position + '内容不可为空')
        } else {
          let _val = val + ''
          if (!/^(([^0][0-9]+|0)$)|^(([1-9]+)$)/.test(_val)) {               // 检验是否为整数
            errors.push(_position + '内容应为整数')
          } else if ((col.min || col.min === 0) && val < col.min) {          // 最小值检验
            errors.push(_position + '小于最小值')
          } else if ((col.max || col.max === 0) && val > col.max) {          // 最大值检验
            errors.push(_position + '大于最大值')
          }
        }
      } else if (/^Decimal/ig.test(col.type)) {
        if (!val && val !== 0) {
          errors.push(_position + '内容不可为空')
        } else {
          let _val = val + ''
          let _vals = _val.split('.')
          if (!/^(([^0][0-9]+|0)\.([0-9]+)$)|^(([^0][0-9]+|0)$)|^(([1-9]+)\.([0-9]+)$)|^(([1-9]+)$)/.test(_val)) {                           // 检验是否为浮点数
            errors.push(_position + '内容应为浮点数')
          } else if (_vals[0].length > 18) {                          // 检验整数位
            errors.push(_position + '整数位超出范围')
          } else if (_vals[1] && _vals[1].length > col.limit) {       // 最小值检验
            errors.push(_position + '小数位超出范围')
          } else if ((col.min || col.min === 0) && val < col.min) {   // 最小值检验
            errors.push(_position + '小于最小值')
          } else if ((col.max || col.max === 0) && val > col.max) {   // 最大值检验
            errors.push(_position + '大于最大值')
          }
        } else if (isNaN(val)) {                                  // 检验是否为数值
          errors.push(_position + '内容应为数值')
        } else if ((col.min || col.min === 0) && val < col.min) { // 最小值检验
          errors.push(_position + '小于最小值')
        } else if ((col.max || col.max === 0) && val > col.max) { // 最大值检验
          errors.push(_position + '大于最大值')
        }
      } else if (col.type === 'date') {
        if (typeof(val) === 'number') {
@@ -2161,6 +2156,12 @@
  _sql = _sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
  _sql = _sql.replace(/@typename@/ig, `'admin'`)
  if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
    _sql = _sql.replace(/@datam@/ig, '\'Y\'')
  } else {
    _sql = _sql.replace(/@datam@/ig, '\'\'')
  }
  if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) {
    // _sql = _sql.replace(/\n\s{8}/ig, '\n')
    console.info(_sql)
@@ -2174,6 +2175,12 @@
    _callbacksql = _callbacksql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
    _callbacksql = _callbacksql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    _callbacksql = _callbacksql.replace(/@typename@/ig, `'admin'`)
    if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
      _callbacksql = _callbacksql.replace(/@datam@/ig, '\'Y\'')
    } else {
      _callbacksql = _callbacksql.replace(/@datam@/ig, '\'\'')
    }
    
    return {
      sql: _sql,