king
2023-03-13 d70c5b0eee48808b9a42d1f7685640f5bafc2ad3
src/utils/utils.js
@@ -856,10 +856,9 @@
 * @description 获取excel导入参数
 * @return {Object} item   按钮信息
 * @return {Array}  data   excel数据
 * @return {Object} dict   字典项
 * @return {String} BID    上级Id
 */
export function getExcelInSql (item, data, dict, BID, primaryId) {
export function getExcelInSql (item, data, BID, primaryId) {
  let btn = item.verify
  let keys = ['delete', 'drop', 'insert', 'truncate', 'update']
  let userName = sessionStorage.getItem('User_Name') || ''
@@ -956,7 +955,7 @@
      let val = item[col.Column] !== undefined ? item[col.Column] : ''
      let _colindex = cols[cindex] || (cindex + 1)
      let _position = (_topline + lindex + 1) + dict['main.excel.line'] + ' ' + _colindex + dict['main.excel.column']  + ' '
      let _position = (_topline + lindex + 1) + '行 ' + _colindex + '列 '
      if (/^Nvarchar/ig.test(col.type)) {
        if (typeof(val) === 'number') {
@@ -966,54 +965,54 @@
        val = val.replace(/(^\s*$)|\t*|\v*|'*/ig, '')
        if (!val && col.required === 'true') {            // 必填校验
          errors.push(_position + dict['main.excel.content.emptyerror'])
          errors.push(_position + '内容不可为空')
        } else if (col.limit && val.length > col.limit) { // 长度校验
          errors.push(_position + dict['main.excel.content.maxlimit'])
          errors.push(_position + '内容超长')
        } else {                                          // 关键字校验
          keys.forEach(key => {
            let _patten = new RegExp('(^' + key + '\\s+)|(\\s+' + key + '\\s+)', 'ig')
            if (_patten.test(val)) {
              errors.push(_position + dict['main.excel.includekey'] + key)
              errors.push(_position + '含有关键字' + key)
            }
          })
        }
      } else if (/^int/ig.test(col.type)) {
        if (!val && val !== 0) {
          errors.push(_position + dict['main.excel.content.emptyerror'])
          errors.push(_position + '内容不可为空')
        } else {
          let _val = val + ''
          if (!/^(([^0][0-9]+|0)$)|^(([1-9]+)$)/.test(_val)) {               // 检验是否为整数
            errors.push(_position + dict['main.excel.content.interror'])
            errors.push(_position + '内容应为整数')
          } else if ((col.min || col.min === 0) && val < col.min) {          // 最小值检验
            errors.push(_position + dict['main.excel.content.limitmin'])
            errors.push(_position + '小于最小值')
          } else if ((col.max || col.max === 0) && val > col.max) {          // 最大值检验
            errors.push(_position + dict['main.excel.content.limitmax'])
            errors.push(_position + '大于最大值')
          }
        }
      } else if (/^Decimal/ig.test(col.type)) {
        if (!val && val !== 0) {
          errors.push(_position + dict['main.excel.content.emptyerror'])
          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 + dict['main.excel.content.floaterror'])
            errors.push(_position + '内容应为浮点数')
          } else if (_vals[0].length > 18) {                          // 检验整数位
            errors.push(_position + dict['main.excel.content.floatIntover'])
            errors.push(_position + '整数位超出范围')
          } else if (_vals[1] && _vals[1].length > col.limit) {       // 最小值检验
            errors.push(_position + dict['main.excel.content.floatPointover'])
            errors.push(_position + '小数位超出范围')
          } else if ((col.min || col.min === 0) && val < col.min) {   // 最小值检验
            errors.push(_position + dict['main.excel.content.limitmin'])
            errors.push(_position + '小于最小值')
          } else if ((col.max || col.max === 0) && val > col.max) {   // 最大值检验
            errors.push(_position + dict['main.excel.content.limitmax'])
            errors.push(_position + '大于最大值')
          }
        }
      } else if (col.type === 'date') {
        if (typeof(val) === 'number') {
          if (val > 2958465 || val <= 0) {                 // 时间过大或小于等于0
            errors.push(_position + dict['main.excel.content.date.over'])
            errors.push(_position + '时间为负值或太大')
          } else {                                         // 时间格式化
            if (val < 60) {                                // 1900-2-29,excel中存在,实际不存在
              val++
@@ -1023,12 +1022,12 @@
        } else if (typeof(val) === 'string') {
          val = val.replace(/(^\s*$)|\t*|\v*/ig, '')
          if (!val && col.required === 'true') {           // 时间必填校验
            errors.push(_position + dict['main.excel.content.emptyerror'])
            errors.push(_position + '内容不可为空')
          } else if (val && !/^[1-9][0-9]{3}/.test(val)) { // 时间正则校验
            errors.push(_position + dict['main.excel.content.date.formatError'])
            errors.push(_position + '时间格式错误')
          }
        } else {                                           // 时间格式错误
          errors.push(_position + dict['main.excel.content.date.formatError'])
          errors.push(_position + '时间格式错误')
        }
      }