king
2025-05-21 9282e645d0205f85bf0d424a0b2f5c42c2aae1d9
src/tabviews/zshare/actionList/excelInbutton/index.jsx
@@ -121,7 +121,7 @@
    if (setting.supModule && !BID) {
      notification.warning({
        top: 92,
        message: dict['sup_key_req'] || '需要上级主键值!',
        message: setting.supModTip || dict['sup_key_req'] || '需要上级主键值!',
        duration: 5
      })
    } else if (btn.Ot === 'requiredSgl' && data.length !== 1) {
@@ -144,9 +144,9 @@
        this.refs.excelIn.exceltrigger()
      })
  
      // if (window.GLOB.systemType === 'production') {
      //   MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '导入Excel'})
      // }
      if (window.GLOB.systemType === 'production') {
        MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '导入Excel'})
      }
    }
  }
@@ -187,7 +187,7 @@
    }
    if (tabId && btn.$MenuID === tabId) { // 刷新当前菜单时,停止其他操作
      MKEmitter.emit('reloadMenuView', tabId)
      MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
      return
    }
@@ -216,7 +216,7 @@
    }
    if (tabId) {
      MKEmitter.emit('reloadMenuView', tabId)
      MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
    }
    if (btn.switchTab && btn.switchTab.length > 0) {
@@ -278,7 +278,7 @@
        tabId = btn.refreshTab[btn.refreshTab.length - 1]
      }
      if (tabId && btn.$MenuID === tabId) { // 刷新当前菜单时,停止其他操作
        MKEmitter.emit('reloadMenuView', tabId, 'table')
        MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
        return
      }
@@ -303,7 +303,7 @@
      }
      if (tabId) {
        MKEmitter.emit('reloadMenuView', tabId)
        MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
      }
    }
@@ -695,17 +695,34 @@
    for (let i = 0; i < 26; i++) {
      cols.push('A' + cols[i])
    }
    let columns = fromJS(btn.verify.columns).toJS()
    columns = columns.filter((col, index) => {
      col.colIndex = cols[index] || (index + 1)
      if (col.import !== 'init' && (/^Decimal/ig.test(col.type) || /^int/ig.test(col.type))) {
        col.declen = 0
        if (/^Decimal/ig.test(col.type)) {
          col.declen = +col.type.match(/\d+/g)[1]
        }
        col.declen = col.declen || 0
      }
      if (col.required === 'false') {
        delete col.min
        delete col.max
      }
      return col.import !== 'false'
    })
    let lines = data.map((item, lindex) => {
      let vals = []
      btn.verify.columns.forEach((col, cindex) => {
        if (col.import === 'false') return
      columns.forEach(col => {
        let val = item[col.Column] !== undefined ? item[col.Column] : ''
        let _colindex = cols[cindex] || (cindex + 1)
        let _position = (_topline + lindex + 1) + '行 ' + _colindex + '列 '
        let _position = (_topline + lindex + 1) + '行 ' + col.colIndex + '列 '
        let eLen = errors.length
        if (col.import === 'init') {
        if (col.$error) {
        } else if (col.import === 'init') {
          if (/^Nvarchar/ig.test(col.type)) {
            val = ''
          } else if (/^Decimal/ig.test(col.type) || /^int/ig.test(col.type)) {
@@ -741,15 +758,26 @@
            if (!val || isNaN(val)) {
              val = 0
            }
          } else if (!val && val !== 0) {
          }
          if (!val && val !== 0) {
            errors.push(_position + '内容不可为空')
          } else if (isNaN(val)) {                                  // 检验是否为数值
            errors.push(_position + '内容应为数值')
          } else if ((col.min || col.min === 0) && val < col.min) { // 最小值检验
          } else if (typeof(col.min) === 'number' && val < col.min) { // 最小值检验
            errors.push(_position + '小于最小值')
          } else if ((col.max || col.max === 0) && val > col.max) { // 最大值检验
          } else if (typeof(col.max) === 'number' && val > col.max) { // 最大值检验
            errors.push(_position + '大于最大值')
          } else {
            let _float = (val + '').split('.')[1]
            if (_float && _float.length > col.declen) {
              if (col.declen) {
                errors.push(_position + `数值不可大于${col.declen}位小数`)
              } else {
                errors.push(_position + '数值应为整数')
              }
            }
          }
          val = val + ''
        } else if (col.type === 'date' || col.type === 'datetime') {
          if (typeof(val) === 'number') {
            if (val > 2958465 || val <= 0) {                 // 时间过大或小于等于0
@@ -783,6 +811,10 @@
          } else {                                    // 时间格式错误
            errors.push(_position + '时间格式错误')
          }
        }
        if (errors.length > eLen) {
          col.$error = true
        }
        vals.push(val)
@@ -860,10 +892,11 @@
    return {
      $backend: true,
      $type: 's_TableData_InUpDe',
      data: [{
        id: ex.id,
        exps: exps,
        menuname: btn.logLabel || '',
        exps: exps,
        md5_id: md5_id
      }]
    }