king
2020-06-12 89e7167a83e0d8409ca87698e4c08651a37cc26e
src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx
File was renamed from src/tabviews/zshare/actionList/excelin/index.jsx
@@ -7,23 +7,17 @@
class ExcelIn extends Component {
  static propTpyes = {
    btn: PropTypes.object,        // 按钮信息
    MenuID: PropTypes.string,     // 菜单ID
    returndata: PropTypes.func    // 菜单ID
    returndata: PropTypes.func    // 获取返回数据
  }
  state = {
    excelbtn: null,
    primaryId: '', // 行Id
    excelId: Utils.getuuid()
  }
  exceltrigger = (item, primaryId) => {
  exceltrigger = () => {
    const { excelId } = this.state
    this.setState({
      excelbtn: item,
      primaryId: primaryId
    })
    let _excelInput = document.getElementById(excelId + this.props.MenuID)
    
    if (_excelInput) {
@@ -31,10 +25,10 @@
    }
  }
  onImportExcel = file => {
    const { excelbtn, primaryId } = this.state
    const { btn } = this.props
    let columns = excelbtn.verify.columns.map(option => option.Column)
    let range = excelbtn.verify.range || 0
    let columns = btn.verify.columns.map(option => option.Column)
    let range = btn.verify.range || 0
    // excel数据处理
    const { files } = file.target
@@ -48,16 +42,16 @@
        let errors = null
        if (!workbook.Sheets.hasOwnProperty(excelbtn.verify.sheet)) {
        if (!workbook.Sheets.hasOwnProperty(btn.verify.sheet)) {
          errors = 'notexit'
        } else if (range === 1) {
          let header = XLSX.utils.sheet_to_json(workbook.Sheets[excelbtn.verify.sheet], {header: columns})[0]
          let header = XLSX.utils.sheet_to_json(workbook.Sheets[btn.verify.sheet], {header: columns})[0]
          
          if (!header) {
            errors = 'empty'
          } else {
            let iserror = false
            excelbtn.verify.columns.forEach(op => {
            btn.verify.columns.forEach(op => {
              if (header[op.Column] !== op.Text) {
                iserror = true
              }
@@ -72,14 +66,13 @@
        let data = []
        if (!errors) {
          data = XLSX.utils.sheet_to_json(workbook.Sheets[excelbtn.verify.sheet], {header: columns, range: (range)})
          data = XLSX.utils.sheet_to_json(workbook.Sheets[btn.verify.sheet], {header: columns, range: (range)})
        }
        // 最终获取到并且格式化后的 json 数据
        this.props.returndata(data, excelbtn, errors, primaryId)
        this.props.returndata(data, errors)
        this.setState({
          excelId: '',
          primaryId: ''
        }, () => {
          this.setState({
            excelId: Utils.getuuid()
@@ -98,6 +91,8 @@
          message: '文件解析错误,请检查文件格式!',
          duration: 5
        })
        // 错误传递
        this.props.returndata([], 'other')
      }
    }