From ac83abeeafb189a84e9f3ea52b57acee979a353c Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 18 九月 2023 13:31:32 +0800
Subject: [PATCH] 1.往来单位导入测试中

---
 src/views/systemSetting/dataImport.vue |  187 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 178 insertions(+), 9 deletions(-)

diff --git a/src/views/systemSetting/dataImport.vue b/src/views/systemSetting/dataImport.vue
index 070c0d2..fcb88e6 100644
--- a/src/views/systemSetting/dataImport.vue
+++ b/src/views/systemSetting/dataImport.vue
@@ -70,13 +70,12 @@
       style="margin: 10px"
     >
 
-      <el-tabs type="border-card">
+      <el-tabs v-model="activeName" type="border-card" @tab-click="handleTabClick">
         <el-tab-pane
           v-for="(i,j) in sheetName"
           :key="i+j"
           :label="i"
         >
-
           <el-table
             v-if="tableData[j].length>0"
             :ref="'tableDataRef'+i"
@@ -120,7 +119,12 @@
                     item.indexOf('鎵嬫満鍙�')!==-1||
                     item.indexOf('閭')!==-1||
                     item.indexOf('鍚嶇О')!==-1||
-                    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="璇疯緭鍏�" />
@@ -337,7 +341,9 @@
       groupArr: [], // 鐝粍
 
       dialogVisible: false,
-      dialogTableData: []
+      dialogTableData: [],
+
+      activeName: '0'// tab閫変腑鍊�
 
     }
   },
@@ -378,15 +384,16 @@
       this.tableHeader = header
       this.sheetName = sheetName
 
-      console.log(this.tableData)
-      console.log(this.tableHeader)
+      this.activeName = '0'
 
       // 浜哄憳绠$悊瀵煎叆鍒ゆ柇
       if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
         this.handlePersonListUploadTemplate(true)
       }
 
-      if (this.sheetName.indexOf('瑙掕壊绠$悊') !== -1 || this.sheetName.indexOf('鐝粍绠$悊') !== -1) {
+      if (this.sheetName.indexOf('瑙掕壊绠$悊') !== -1 || this.sheetName.indexOf('鐝粍绠$悊') !== -1 ||
+        this.sheetName.indexOf('宀椾綅绠$悊') !== -1
+      ) {
         this.statusArr = [
           { code: 'Y', name: '姝e父' },
           { code: 'N', name: '鍋滅敤' }
@@ -396,6 +403,24 @@
           j.uuid = nanoid()
         })
       }
+
+      if (this.sheetName.indexOf('寰�鏉ュ崟浣�') !== -1) {
+        this.statusArr = [
+          { code: 'Y', name: '姝e父' },
+          { code: 'N', name: '鍋滅敤' }
+        ]
+        this.tableData[0].forEach(j => {
+          j.uuid = nanoid()
+        })
+        this.tableData[1].forEach(j => {
+          j['*鐘舵��'] = j['*鐘舵��'] ? this.statusArr.find(e => e.name === j['*鐘舵��']).code : ''
+          j.uuid = nanoid()
+        })
+      }
+
+      // console.log(this.sheetName)
+      // console.log(this.tableData)
+      // console.log(this.tableHeader)
     },
     // 鎻愪氦
     submit() {
@@ -420,6 +445,18 @@
           }
           if (this.sheetName.indexOf('鐝粍绠$悊') !== -1) {
             const res = this.handleGroupListSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
+          if (this.sheetName.indexOf('宀椾綅绠$悊') !== -1) {
+            const res = this.handlePostListSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
+          if (this.sheetName.indexOf('寰�鏉ュ崟浣嶇被鍨�') !== -1 && this.sheetName.indexOf('寰�鏉ュ崟浣�') !== -1) {
+            const res = this.handleContactUnitListSubmitData()
             if (res.code !== '200') {
               return this.$message.info(res.message)
             }
@@ -618,7 +655,94 @@
 
       return { code: '200', message: '鎴愬姛锛�' }
     },
+    // 澶勭悊宀椾綅绠$悊鎻愪氦鏁版嵁
+    handlePostListSubmitData() {
+      let flag = true
+      let msg = ''
+      if ([...new Set(this.tableData[0].map(i => i['*宀椾綅缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+        return this.$message.info('缂栫爜涓嶈兘閲嶅锛�')
+      }
+      this.tableData[0].forEach(j => {
+        if (!j['*宀椾綅缂栧彿(鍞竴)']) {
+          flag = false
+          msg = '*宀椾綅缂栧彿(鍞竴)'
+        }
+        if (!j['*宀椾綅鍚嶇О']) {
+          flag = false
+          msg = '*宀椾綅鍚嶇О'
+        }
+        if (!j['*鐘舵��']) {
+          flag = false
+          msg = '*鐘舵��'
+        }
+      })
 
+      if (!flag) {
+        return { code: '301', message: msg + '涓嶈兘涓虹┖锛�' }
+      }
+
+      this.tableData[0].map(item => {
+        delete (item.uuid)
+      })
+
+      return { code: '200', message: '鎴愬姛锛�' }
+    },
+    // 澶勭悊寰�鏉ュ崟浣嶆彁浜ゆ暟鎹�
+    handleContactUnitListSubmitData() {
+      let flag = true
+      let msg = ''
+      if ([...new Set(this.tableData[0].map(i => i['*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)']))].length !== this.tableData[0].length) {
+        return this.$message.info('寰�鏉ュ崟浣嶇被鍨嬬紪鍙蜂笉鑳介噸澶嶏紒')
+      }
+      if ([...new Set(this.tableData[1].map(i => i['*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)']))].length !== this.tableData[1].length) {
+        return this.$message.info('寰�鏉ュ崟浣嶇紪鍙蜂笉鑳介噸澶嶏紒')
+      }
+      this.tableData[0].forEach(j => {
+        if (!j['*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)']) {
+          flag = false
+          msg = '*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)涓嶈兘涓虹┖锛�'
+        }
+        if (!j['*寰�鏉ュ崟浣嶇被鍨嬪悕绉�']) {
+          flag = false
+          msg = '*寰�鏉ュ崟浣嶇被鍨嬪悕绉颁笉鑳戒负绌猴紒'
+        }
+        if (j['*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)'] === j['涓婄骇缂栫爜']) {
+          flag = false
+          msg = '*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)涓庝笂绾х紪鐮佷笉鑳界浉鍚岋紒'
+        }
+      })
+      this.tableData[1].forEach(j => {
+        if (!j['*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)']) {
+          flag = false
+          msg = '*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)涓嶈兘涓虹┖锛�'
+        }
+        if (!j['*寰�鏉ュ崟浣嶅悕绉�']) {
+          flag = false
+          msg = '*寰�鏉ュ崟浣嶅悕绉�'
+        }
+        if (!j['*鐘舵��']) {
+          flag = false
+          msg = '*鐘舵�佷笉鑳戒负绌猴紒'
+        }
+        if (!j['*寰�鏉ュ崟浣嶇被鍨嬬紪鐮�']) {
+          flag = false
+          msg = '*寰�鏉ュ崟浣嶇被鍨嬬紪鐮佷笉鑳戒负绌猴紒'
+        }
+      })
+
+      if (!flag) {
+        return { code: '301', message: msg }
+      }
+
+      this.tableData[0].map(item => {
+        delete (item.uuid)
+      })
+      this.tableData[1].map(item => {
+        delete (item.uuid)
+      })
+
+      return { code: '200', message: '鎴愬姛锛�' }
+    },
     // 鑾峰彇妯℃澘
     async getExcelModelData() {
       const { data: res } = await ExcelModelData()
@@ -695,6 +819,36 @@
           '鎻忚堪': ''
         })
       }
+      //  宀椾綅绠$悊鏂板琛�
+      if (this.sheetName.indexOf('宀椾綅绠$悊') !== -1) {
+        this.tableData[0].unshift({
+          uuid: nanoid(),
+          '*宀椾綅缂栧彿(鍞竴)': '',
+          '*宀椾綅鍚嶇О': '',
+          '*鐘舵��': 'Y',
+          '鎻忚堪': ''
+        })
+      }
+      if (this.sheetName.indexOf('寰�鏉ュ崟浣嶇被鍨�') !== -1 && this.activeName === '0') {
+        this.tableData[0].unshift({
+          uuid: nanoid(),
+          '*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)': '',
+          '*寰�鏉ュ崟浣嶇被鍨嬪悕绉�': '',
+          '涓婄骇缂栫爜': ''
+        })
+      }
+      if (this.sheetName.indexOf('寰�鏉ュ崟浣�') !== -1 && this.activeName === '1') {
+        this.tableData[1].unshift({
+          uuid: nanoid(),
+          '*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)': '',
+          '*寰�鏉ュ崟浣嶅悕绉�': '',
+          '*鐘舵��': 'Y',
+          '*寰�鏉ュ崟浣嶇被鍨嬬紪鐮�': '',
+          '鑱旂郴浜�': '',
+          '鑱旂郴鏂瑰紡': '',
+          '鍦板潃': ''
+        })
+      }
     },
     delRow(row) {
       // 閽堝鍗晄heet
@@ -705,9 +859,24 @@
           return this.$message.info('蹇呴』瑕佹湁涓�鏉℃暟鎹紒')
         }
       }
-      // 閽堝澶歴heet
+      // 閽堝涓や釜 sheet
+      if (this.sheetName.length === 2) {
+        if (this.activeName === '0') {
+          if (this.tableData[0].length > 1) {
+            return this.tableData[0].splice(this.tableData[0].findIndex(i => i.uuid === row.uuid), 1)
+          } else {
+            return this.$message.info('蹇呴』瑕佹湁涓�鏉℃暟鎹紒')
+          }
+        }
+        if (this.activeName === '1') {
+          if (this.tableData[1].length > 1) {
+            return this.tableData[1].splice(this.tableData[1].findIndex(i => i.uuid === row.uuid), 1)
+          } else {
+            return this.$message.info('蹇呴』瑕佹湁涓�鏉℃暟鎹紒')
+          }
+        }
+      }
     },
-
     reset() {
       this.tableData = []
       this.tableHeader = []

--
Gitblit v1.9.3