From f6379a640d6c580582ecf01b6293a5ed334f428d Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 14 九月 2023 17:37:12 +0800
Subject: [PATCH] 1.导入数据   正在修改bug

---
 src/views/systemSetting/dataImport.vue |  133 +++++++++++++++++++++++++------------------
 1 files changed, 77 insertions(+), 56 deletions(-)

diff --git a/src/views/systemSetting/dataImport.vue b/src/views/systemSetting/dataImport.vue
index 1d27b90..b3f4709 100644
--- a/src/views/systemSetting/dataImport.vue
+++ b/src/views/systemSetting/dataImport.vue
@@ -81,9 +81,10 @@
           :key="i+j"
           :label="i"
         >
+          <!--          :key="tableKey"-->
           <el-table
             v-if="tableData[j].length>0"
-            :ref="'tableDataRef'+j"
+            :ref="'tableDataRef'+i"
             :data="tableData[j]"
             border
             :height="(mainHeight-180)+'px'"
@@ -119,13 +120,17 @@
 
                 <div
                   v-if="item.indexOf('缂栧彿(鍞竴)')!==-1||
-                    item.indexOf('鐢ㄦ埛濮撳悕')!==-1||
                     item.indexOf('瀵嗙爜')!==-1||
                     item.indexOf('鎵嬫満鍙�')!==-1||
                     item.indexOf('閭')!==-1||
                     item.indexOf('鍚嶇О')!==-1||
                     item.indexOf('鎻忚堪')!==-1
                   "
+                >
+                  <el-input v-model="row[item]" placeholder="璇疯緭鍏�" />
+                </div>
+                <div
+                  v-else-if="item.indexOf('鐢ㄦ埛濮撳悕')!==-1"
                 >
                   <el-input v-model="row[item]" placeholder="璇疯緭鍏�" />
                 </div>
@@ -223,21 +228,6 @@
                     :props="defaultProps"
                     :show-all-levels="false"
                   />
-
-                  <!--                  <el-select-->
-                  <!--                    v-model="row[item]"-->
-                  <!--                    style="width: 100%;"-->
-                  <!--                    placeholder="璇烽�夋嫨"-->
-                  <!--                    filterable-->
-                  <!--                    clearable-->
-                  <!--                  >-->
-                  <!--                    <el-option-->
-                  <!--                      v-for="item in orgArr"-->
-                  <!--                      :key="item.torg_code"-->
-                  <!--                      :label="item.torg_name"-->
-                  <!--                      :value="item.torg_code"-->
-                  <!--                    />-->
-                  <!--                  </el-select>-->
                 </div>
                 <div v-else-if="item.indexOf('鏁版嵁鏉冮檺')!==-1">
                   <el-cascader
@@ -333,7 +323,9 @@
         { code: 'LEVEL', name: '鏈骇' },
         { code: 'PERSON', name: '鏈汉' },
         { code: 'CUSTOM', name: '鑷畾涔�' }
-      ]// 鏁版嵁鑼冨洿
+      ], // 鏁版嵁鑼冨洿
+
+      tableKey: new Date().getTime()
 
     }
   },
@@ -366,9 +358,17 @@
       return false
     },
     async handleSuccess({ results, header, sheetName }) {
+      if (results[0].length === 0) {
+        return this.$message.info('琛ㄦ牸鏁版嵁涓嶈兘涓虹┖锛�')
+      }
       this.tableData = results
       this.tableHeader = header
       this.sheetName = sheetName
+
+      console.log(this.tableData)
+      console.log(this.tableHeader)
+
+      // this.tableHeader
 
       // 浜哄憳绠$悊瀵煎叆鍒ゆ柇
       if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
@@ -380,20 +380,29 @@
         const roleArr = this.roleArr.map(i => i.rolecode)
         const groupArr = this.groupArr.map(i => i.usergroupcode)
         const orgArr = this.orgArr.map(i => i.torg_code)
-        this.tableData[this.sheetName.indexOf('浜哄憳绠$悊')].forEach(j => {
+
+        // this.sheetName.indexOf('浜哄憳绠$悊')
+        this.tableData[0].forEach(j => {
           // j.鎵�灞炲矖浣嶇紪鐮� = typeof j.鎵�灞炲矖浣嶇紪鐮� === 'undefined' ? new Set() : j.鎵�灞炲矖浣嶇紪鐮�.split(',').filter(e => postArr.includes(e))
           // j.鎵�灞炶鑹茬紪鐮� = typeof j.鎵�灞炶鑹茬紪鐮� === 'undefined' ? ''.split(',') : j.鎵�灞炶鑹茬紪鐮�.split(',').filter(e => roleArr.includes(e))
           // j.鎵�灞炵彮缁勭紪鐮� = typeof j.鎵�灞炵彮缁勭紪鐮� === 'undefined' ? ''.split(',') : j.鎵�灞炵彮缁勭紪鐮�.split(',').filter(e => groupArr.includes(e))
 
-          j.鎵�灞炲矖浣嶇紪鐮� = j.鎵�灞炲矖浣嶇紪鐮�.split(',').filter(e => postArr.includes(e))
-          j.鎵�灞炶鑹茬紪鐮� = j.鎵�灞炶鑹茬紪鐮�.split(',').filter(e => roleArr.includes(e))
-          j.鎵�灞炵彮缁勭紪鐮� = j.鎵�灞炵彮缁勭紪鐮�.split(',').filter(e => groupArr.includes(e))
-          j['*鎵�灞炵粍缁囩紪鐮�'] = orgArr.includes(j['*鎵�灞炵粍缁囩紪鐮�']) ? j['*鎵�灞炵粍缁囩紪鐮�'] : ''
-          j['*鍦ㄨ亴鐘舵��'] = this.statusArr.find(e => e.name === j['*鍦ㄨ亴鐘舵��']).code
+          j['鎵�灞炲矖浣嶇紪鐮�'] = j['鎵�灞炲矖浣嶇紪鐮�'] ? j['鎵�灞炲矖浣嶇紪鐮�'].split(',').filter(e => postArr.includes(e)) : []
+          j['鎵�灞炶鑹茬紪鐮�'] = j['鎵�灞炶鑹茬紪鐮�'] ? j['鎵�灞炶鑹茬紪鐮�'].split(',').filter(e => roleArr.includes(e)) : []
+          j['鎵�灞炵彮缁勭紪鐮�'] = j['鎵�灞炵彮缁勭紪鐮�'] ? j['鎵�灞炵彮缁勭紪鐮�'].split(',').filter(e => groupArr.includes(e)) : []
+          j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'] ? (orgArr.includes(j['*鎵�灞炵粍缁囩紪鐮�']) ? j['*鎵�灞炵粍缁囩紪鐮�'] : '') : ''
+          j['*鍦ㄨ亴鐘舵��'] = j['*鍦ㄨ亴鐘舵��'] ? this.statusArr.find(e => e.name === j['*鍦ㄨ亴鐘舵��']).code : 'Y'
+
+          // j['鎵嬫満鍙�'] = j['鎵嬫満鍙�'] ? j['鎵嬫満鍙�'] : ''
+          // j['閭'] = j['閭'] ? j['閭'] : ''
+          // j['*瀵嗙爜'] = j['*瀵嗙爜'] ? j['*瀵嗙爜'] : ''
+          // j['*鐢ㄦ埛濮撳悕'] = j['*鐢ㄦ埛濮撳悕'] ? j['*鐢ㄦ埛濮撳悕'] : ''
+          // j['*鐢ㄦ埛缂栧彿(鍞竴)'] = j['*鐢ㄦ埛缂栧彿(鍞竴)'] ? j['*鐢ㄦ埛缂栧彿(鍞竴)'] : ''
           j.uuid = nanoid()
         })
-        console.log(this.tableData[0])
-        // console.log(JSON.stringify(this.tableData[0]))
+
+        // this.tableKey = 'asd'
+        // this.$forceUpdate()
       }
 
       if (this.sheetName.indexOf('瑙掕壊绠$悊') !== -1) {
@@ -404,13 +413,14 @@
 
         this.tableData[0].forEach(j => {
           // j.鎵�灞炲矖浣嶇紪鐮� = j.鎵�灞炲矖浣嶇紪鐮�.split(',').filter(e => postArr.includes(e))
-          console.log(j['鏁版嵁鏉冮檺'], 1) // 绾ц仈澶氶�夊洖鏄�  寰呯爺绌�  涓嬫鍐�
+          // console.log(j['鏁版嵁鏉冮檺'], 1) // 绾ц仈澶氶�夊洖鏄�  寰呯爺绌�  涓嬫鍐�
           j['鏁版嵁鑼冨洿'] = this.powerArr.find(e => e.name === j['鏁版嵁鑼冨洿']).code
           j['*鐘舵��'] = this.statusArr.find(e => e.name === j['*鐘舵��']).code
           j.uuid = nanoid()
         })
       }
     },
+
     // 鑾峰彇妯℃澘
     async getExcelModelData() {
       const { data: res } = await ExcelModelData()
@@ -426,11 +436,6 @@
       window.location.href = res.data
     },
     submit() {
-      // console.log(this.excelCode)
-      // console.log(JSON.stringify(this.sheetName))
-      // console.log(JSON.stringify(this.tableHeader))
-      // console.log(JSON.stringify(this.tableData))
-
       this.$confirm('鏄惁纭鎻愪氦?', '鎻愮ず', {
         confirmButtonText: '纭畾',
         cancelButtonText: '鍙栨秷',
@@ -472,9 +477,12 @@
             }
 
             this.tableData[0].forEach(j => {
-              j.鎵�灞炲矖浣嶇紪鐮� = j.鎵�灞炲矖浣嶇紪鐮�.join(',')
-              j.鎵�灞炵彮缁勭紪鐮� = j.鎵�灞炵彮缁勭紪鐮�.join(',')
-              j.鎵�灞炶鑹茬紪鐮� = j.鎵�灞炶鑹茬紪鐮�.join(',')
+              // j['鎵�灞炲矖浣嶇紪鐮�'] = typeof j['鎵�灞炲矖浣嶇紪鐮�'] === 'string' ? j['鎵�灞炲矖浣嶇紪鐮�'] : j['鎵�灞炲矖浣嶇紪鐮�'].join(',')
+              // j['鎵�灞炵彮缁勭紪鐮�'] = typeof j['鎵�灞炵彮缁勭紪鐮�'] === 'string' ? j['鎵�灞炵彮缁勭紪鐮�'] : j['鎵�灞炵彮缁勭紪鐮�'].join(',')
+              // j['鎵�灞炶鑹茬紪鐮�'] = typeof j['鎵�灞炶鑹茬紪鐮�'] === 'string' ? j['鎵�灞炶鑹茬紪鐮�'] : j['鎵�灞炶鑹茬紪鐮�'].join(',')
+              j['鎵�灞炲矖浣嶇紪鐮�'] = j['鎵�灞炲矖浣嶇紪鐮�'].join(',')
+              j['鎵�灞炵彮缁勭紪鐮�'] = j['鎵�灞炵彮缁勭紪鐮�'].join(',')
+              j['鎵�灞炶鑹茬紪鐮�'] = j['鎵�灞炶鑹茬紪鐮�'].join(',')
               j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'][j['*鎵�灞炵粍缁囩紪鐮�'].length - 1]
             })
 
@@ -487,36 +495,49 @@
             fileCode: this.excelCode,
             tableData: this.tableData
           }
-          // console.log(JSON.stringify(this.tableData))
-          ExcelModelCheck(data).then(res => {
-            if (res.json1.code === '301' || res.json1.code === '300') {
-              if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
-                const postArr = this.postArr.map(i => i.postcode)
-                const roleArr = this.roleArr.map(i => i.rolecode)
-                const groupArr = this.groupArr.map(i => i.usergroupcode)
-                const orgArr = this.orgArr.map(i => i.torg_code)
-                this.tableData[0].forEach(j => {
-                  j.鎵�灞炲矖浣嶇紪鐮� = j.鎵�灞炲矖浣嶇紪鐮�.split(',').filter(e => postArr.includes(e))
-                  j.鎵�灞炶鑹茬紪鐮� = j.鎵�灞炶鑹茬紪鐮�.split(',').filter(e => roleArr.includes(e))
-                  j.鎵�灞炵彮缁勭紪鐮� = j.鎵�灞炵彮缁勭紪鐮�.split(',').filter(e => groupArr.includes(e))
-                  // j['*鍦ㄨ亴鐘舵��'] = this.statusArr.find(e => e.name === j['*鍦ㄨ亴鐘舵��']).code
-                  // j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'][j['*鎵�灞炵粍缁囩紪鐮�'].length - 1]
-                  j['*鎵�灞炵粍缁囩紪鐮�'] = this.findParent([], j['*鎵�灞炵粍缁囩紪鐮�'], this.orgOptions).reverse()
 
-                  j.uuid = nanoid()
-                })
-              }
-              return this.$message.error(res.json1.message)
+          ExcelModelCheck(data).then(res => {
+            // 杩斿洖鐨刯son1銆乯son2銆乯son3   json1涓烘ā鏉挎牎楠屻�乯son2涓烘暟鎹牎楠屻�乯son3涓哄鍏ユ暟鎹簱鏍¢獙(鍙兘浼氭湁绯荤粺鎶ラ敊浜х敓)
+            if (res.json1.code !== '200' && res.json2 === null && res.json3 === null) {
+              this.$message.error(res.json1.message)
+            }
+            if (res.json1.code === '200' && res.json2 !== '200' && res.json3 === null) {
+              this.$message.error(res.json2.message)
+            }
+            if (res.json1.code === '200' && res.json2 === '200' && res.json3 !== '200') {
+              this.$message.error(res.json3.message)
             }
 
-            if (res.json1.code === '200' && res.json2.code === '200') {
+            // if (res.json1.code !== '200' && res.json2.code !== '200') {
+            // if (res.json2.code !== '200') {
+            if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
+              const postArr = this.postArr.map(i => i.postcode)
+              const roleArr = this.roleArr.map(i => i.rolecode)
+              const groupArr = this.groupArr.map(i => i.usergroupcode)
+              const orgArr = this.orgArr.map(i => i.torg_code)
+
+              this.tableData[0].forEach(j => {
+                j.鎵�灞炲矖浣嶇紪鐮� = j.鎵�灞炲矖浣嶇紪鐮�.split(',').filter(e => postArr.includes(e))
+                j.鎵�灞炶鑹茬紪鐮� = j.鎵�灞炶鑹茬紪鐮�.split(',').filter(e => roleArr.includes(e))
+                j.鎵�灞炵彮缁勭紪鐮� = j.鎵�灞炵彮缁勭紪鐮�.split(',').filter(e => groupArr.includes(e))
+                // j['*鍦ㄨ亴鐘舵��'] = this.statusArr.find(e => e.name === j['*鍦ㄨ亴鐘舵��']).code
+                // j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'][j['*鎵�灞炵粍缁囩紪鐮�'].length - 1]
+                j['*鎵�灞炵粍缁囩紪鐮�'] = this.findParent([], j['*鎵�灞炵粍缁囩紪鐮�'], this.orgOptions).reverse()
+
+                j.uuid = nanoid()
+              })
+            }
+            // return this.$message.error(res.json1.message + ',' + res.json2.message)
+            // }
+
+            if (res.json1.code === '200' && res.json2 === '200' && res.json3 === '200') {
               this.$notify.success('鏁版嵁鎻愪氦鎴愬姛!')
               this.tableData = []
               this.tableHeader = []
               this.sheetName = []
               this.excelCode = ''
             } else {
-              this.$notify.success('鏁版嵁鎻愪氦澶辫触!')
+              this.$notify.error('鏁版嵁鎻愪氦澶辫触!')
             }
           })
         })

--
Gitblit v1.9.3