From 0227c25e4ed573d3095ada3f9c9a4ba5f18b0de5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 20 一月 2021 10:53:01 +0800
Subject: [PATCH] 2021-01-20

---
 src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx b/src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx
index 1e36bfa..b4481c0 100644
--- a/src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx
+++ b/src/tabviews/zshare/actionList/excelInbutton/excelin/index.jsx
@@ -7,9 +7,9 @@
 
 class ExcelIn extends Component {
   static propTpyes = {
-    btn: PropTypes.object,        // 鎸夐挳淇℃伅
-    MenuID: PropTypes.string,     // 鑿滃崟ID
-    returndata: PropTypes.func    // 鑾峰彇杩斿洖鏁版嵁
+    btn: PropTypes.object,         // 鎸夐挳淇℃伅
+    returndata: PropTypes.func,    // 鑾峰彇杩斿洖鏁版嵁
+    triggerExcelIn: PropTypes.func // 淇敼涓婁紶鐘舵��
   }
 
   state = {
@@ -18,7 +18,7 @@
 
   exceltrigger = () => {
     const { excelId } = this.state
-    let _excelInput = document.getElementById(excelId + this.props.MenuID)
+    let _excelInput = document.getElementById(excelId)
     
     if (_excelInput) {
       _excelInput.click()
@@ -34,6 +34,7 @@
     const { files } = file.target
     const fileReader = new FileReader()
 
+    this.props.triggerExcelIn()
     fileReader.onload = event => {
       try {
         const { result } = event.target
@@ -41,12 +42,17 @@
         const workbook = XLSX.read(result, { type: 'binary' })
 
         let errors = null
+        let sheetName = btn.verify.sheet
 
-        if (!workbook.Sheets.hasOwnProperty(btn.verify.sheet)) {
+        if (Object.keys(workbook.Sheets).length === 1) {
+          sheetName = Object.keys(workbook.Sheets)[0]
+        }
+
+        if (!workbook.Sheets.hasOwnProperty(sheetName)) {
           errors = 'notexit'
         } else if (range === 1) {
-          let header = XLSX.utils.sheet_to_json(workbook.Sheets[btn.verify.sheet], {header: columns})[0]
-          
+          let header = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], {header: columns})[0]
+
           if (!header) {
             errors = 'empty'
           } else {
@@ -66,11 +72,11 @@
         let data = []
 
         if (!errors) {
-          data = XLSX.utils.sheet_to_json(workbook.Sheets[btn.verify.sheet], {header: columns, range: (range)})
+          data = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], {header: columns, range: (range)})
         }
 
         // 鏈�缁堣幏鍙栧埌骞朵笖鏍煎紡鍖栧悗鐨� json 鏁版嵁
-        this.props.returndata(data, errors)
+        this.props.returndata(data, errors, sheetName)
         this.setState({
           excelId: '',
         }, () => {
@@ -88,7 +94,7 @@
         })
         notification.warning({
           top: 92,
-          message: '鏂囦欢瑙f瀽閿欒锛岃妫�鏌ユ枃浠舵牸寮忥紒',
+          message: '鏂囦欢瑙f瀽閿欒锛�',
           duration: 5
         })
         // 閿欒浼犻��
@@ -103,7 +109,7 @@
   render() {
     return (
       <span>
-        {this.state.excelId ? <input className="excel-in-input" id={this.state.excelId + this.props.MenuID} type='file' accept='.xlsx, .xls' onChange={this.onImportExcel} /> : null}
+        {this.state.excelId ? <input className="excel-in-input" id={this.state.excelId} type='file' accept='.xlsx, .xls' onAbort={this.onImportExcel} onChange={this.onImportExcel} /> : null}
       </span>
     )
   }

--
Gitblit v1.8.0