From 2c52158fd8edcf85cdeb101cb7f3ad1509db9d31 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 21 九月 2023 10:19:54 +0800
Subject: [PATCH] 1.订单下达100%,2.ERP接口同步100%

---
 src/views/systemSetting/dataImport.vue | 1129 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 978 insertions(+), 151 deletions(-)

diff --git a/src/views/systemSetting/dataImport.vue b/src/views/systemSetting/dataImport.vue
index 3f6df8b..bd9c849 100644
--- a/src/views/systemSetting/dataImport.vue
+++ b/src/views/systemSetting/dataImport.vue
@@ -23,6 +23,7 @@
         style="margin-left: 20px"
         :disabled="excelCode===''"
         icon="el-icon-download"
+        waves
         @click="getExcel"
       >涓嬭浇妯℃澘
       </el-button>
@@ -38,6 +39,7 @@
         style="margin-left: 20px"
         :disabled="excelCode===''"
         icon="el-icon-refresh"
+        waves
         @click="reset"
       >閲嶇疆
       </el-button>
@@ -47,6 +49,7 @@
         style="margin-left: 20px"
         icon="el-icon-circle-plus-outline"
         :disabled="excelCode===''||tableData.length===0"
+        waves
         @click="addRow"
       >鏂板琛�
       </el-button>
@@ -56,18 +59,10 @@
         style="margin-left: 20px"
         :disabled="excelCode===''||tableData.length===0"
         icon="el-icon-thumb"
+        waves
         @click="submit"
       >鎻愪氦鏁版嵁
       </el-button>
-
-      <!--      <el-button-->
-      <!--        type="danger"-->
-      <!--        style="margin-left: 20px"-->
-      <!--        :disabled="excelCode===''||tableData.length===0"-->
-      <!--        @click="batchDel"-->
-      <!--      >鎵归噺鍒犻櫎-->
-      <!--      </el-button>-->
-
     </div>
 
     <div
@@ -75,7 +70,7 @@
       style="margin: 10px"
     >
 
-      <el-tabs type="border-card">
+      <el-tabs v-model="activeName" type="border-card">
         <el-tab-pane
           v-for="(i,j) in sheetName"
           :key="i+j"
@@ -83,7 +78,7 @@
         >
           <el-table
             v-if="tableData[j].length>0"
-            :ref="'tableDataRef'+j"
+            :ref="'tableDataRef'+i"
             :data="tableData[j]"
             border
             :height="(mainHeight-180)+'px'"
@@ -93,13 +88,7 @@
             style="overflow-y: scroll;"
             highlight-current-row
           >
-            <!--            @selection-change="handleSelectionChange"-->
 
-            <!--            <el-table-column-->
-            <!--              type="selection"-->
-            <!--              width="55"-->
-            <!--              fixed-->
-            <!--            />-->
             <el-table-column
               label="搴忓彿"
               width="55"
@@ -108,7 +97,7 @@
               :render-header="indexRender"
             >
               <template slot-scope="scope">
-                {{ scope.$index }}
+                {{ scope.$index + 1 }}
               </template>
             </el-table-column>
 
@@ -119,25 +108,39 @@
               :label="item"
               align="center"
               :render-header="addRedStar"
-              width="220"
+              min-width="220"
             >
               <template slot-scope="{row}">
 
                 <div
-                  v-if="item.indexOf('鐢ㄦ埛缂栧彿(鍞竴)')!==-1||
+                  v-if="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||
+                    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="璇疯緭鍏�" />
                 </div>
-                <div v-else-if="item.indexOf('鍦ㄨ亴鐘舵��')!==-1">
+                <div v-else-if="item.indexOf('鐘舵��')!==-1">
                   <el-select
                     v-model="row[item]"
                     placeholder="璇烽�夋嫨"
                     filterable
+                    style="width:100%"
                     clearable
                   >
                     <el-option
@@ -148,7 +151,47 @@
                     />
                   </el-select>
                 </div>
-
+                <div v-else-if="item.indexOf('璁¢噺鏂瑰紡')!==-1">
+                  <el-select
+                    v-model="row[item]"
+                    placeholder="璇烽�夋嫨"
+                    filterable
+                    style="width:100%"
+                    clearable
+                  >
+                    <el-option
+                      v-for="item in meterMethodArr"
+                      :key="item.code"
+                      :label="item.name"
+                      :value="item.code"
+                    />
+                  </el-select>
+                </div>
+                <div
+                  v-else-if="
+                    item.indexOf('搴撲綅绠$悊')!==-1||
+                      item.indexOf('鏄惁澶栬喘')!==-1||
+                      item.indexOf('鏄惁閿�鍞�')!==-1||
+                      item.indexOf('鏄惁鑷埗')!==-1||
+                      item.indexOf('鏄惁鐢熶骇娑堣��')!==-1||
+                      item.indexOf('鏄惁濮斿')!==-1
+                  "
+                >
+                  <el-select
+                    v-model="row[item]"
+                    placeholder="璇烽�夋嫨"
+                    filterable
+                    style="width:100%"
+                    clearable
+                  >
+                    <el-option
+                      v-for="item in isYesOrNo"
+                      :key="item.code"
+                      :label="item.name"
+                      :value="item.code"
+                    />
+                  </el-select>
+                </div>
                 <div v-else-if="item.indexOf('鎵�灞炲矖浣嶇紪鐮�')!==-1">
                   <el-select
                     v-model="row[item]"
@@ -205,20 +248,14 @@
                   </el-select>
                 </div>
                 <div v-else-if="item.indexOf('鎵�灞炵粍缁囩紪鐮�')!==-1">
-                  <el-select
+                  <el-cascader
+                    ref="cascader"
                     v-model="row[item]"
-                    style="width: 100%;"
-                    placeholder="璇烽�夋嫨"
+                    :options="orgOptions"
                     filterable
-                    clearable
-                  >
-                    <el-option
-                      v-for="item in orgArr"
-                      :key="item.torg_code"
-                      :label="item.torg_name"
-                      :value="item.torg_code"
-                    />
-                  </el-select>
+                    :props="defaultProps"
+                    :show-all-levels="false"
+                  />
                 </div>
                 <div v-else> {{ row[item] }}</div>
               </template>
@@ -254,6 +291,56 @@
       <el-button type="text" style="margin-left: 0;">3.璇蜂笂浼犳枃浠舵彁浜�</el-button>
     </el-empty>
 
+    <el-dialog
+      v-el-drag-dialog
+      title="澶辫触鍘熷洜"
+      :visible.sync="dialogVisible"
+      width="1000px"
+      :close-on-click-modal="false"
+      top="15vh"
+      @closed="handleClose"
+      @close="handleClose"
+    >
+      <div class="">
+        <el-table
+          ref="tableDataRef"
+          class="tableFixed"
+          :data="dialogTableData"
+          :height="400"
+          border
+          row-class-name="custom-row"
+          :style="{width: 100+'%',height: '400px',}"
+          highlight-current-row
+          :header-cell-style="this.$headerCellStyle"
+          :cell-style="this.$cellStyle"
+        >
+          <el-table-column
+            type="index"
+            width="50"
+            fixed
+            label="搴忓彿"
+          />
+          <el-table-column
+            prop="errorField"
+            label="閿欒瀛楁"
+            width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            prop="errorCont"
+            show-overflow-tooltip
+            label="閿欒鍘熷洜"
+          />
+        </el-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <div class="footerButton">
+          <el-button v-waves @click="dialogVisible=false">杩� 鍥�</el-button>
+          <!--          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+        </div>
+      </span>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -262,10 +349,14 @@
 import { DownLoadExcel, ExcelModelCheck, ExcelModelData } from '@/api/Excel'
 import { GroupsPermissions, PostPermissions, PrentOrganization, RolePermissions } from '@/api/GeneralBasicData'
 import { nanoid } from 'nanoid'
+import arrayToTree from 'array-to-tree'
+import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
 
 export default {
-  name: 'UploadExcel',
+  name: 'DataImport',
   components: { UploadExcelComponent },
+  directives: { elDragDialog, waves },
   data() {
     return {
       mainHeight: window.innerHeight - 85,
@@ -277,14 +368,38 @@
       excelCode: '',
       excelArr: [],
 
-      statusArr: [
-        { code: 'Y', name: '鍦ㄨ亴' },
-        { code: 'N', name: '绂昏亴' }
+      statusArr: [],
+      isYesOrNo: [
+        { code: '1', name: '鏄�' },
+        { code: '0', name: '鍚�' }
       ],
       orgArr: [], // 缁勭粐
+      orgOptions: [],
+      defaultProps: {
+        checkStrictly: true,
+        expandTrigger: 'hover',
+        value: 'torg_code',
+        label: 'torg_name'
+      },
+      orgDefaultProps: {
+        multiple: true,
+        expandTrigger: 'hover',
+        value: 'torg_code',
+        label: 'torg_name'
+      },
       postArr: [], // 宀椾綅
       roleArr: [], // 瑙掕壊
-      groupArr: []// 鐝粍
+      groupArr: [], // 鐝粍
+
+      dialogVisible: false,
+      dialogTableData: [],
+
+      meterMethodArr: [
+        { code: 'S', name: '鍗曡閲�' },
+        { code: 'M', name: '澶氳閲�' }
+      ],
+
+      activeName: '0'// tab閫変腑鍊�
 
     }
   },
@@ -311,124 +426,687 @@
       }
 
       this.$message({
-        message: 'Please do not upload files larger than 1m in size.',
+        message: '璇蜂笉瑕佷笂浼犲ぇ浜�1鍏嗙殑鏂囦欢銆�',
         type: 'warning'
       })
       return false
     },
+    // excel鎴愬姛鍚庣殑鍥炶皟
     async handleSuccess({ results, header, sheetName }) {
+      if (results[0].length === 0) {
+        return this.$message.info('琛ㄦ牸鏁版嵁涓嶈兘涓虹┖锛�')
+      }
       this.tableData = results
       this.tableHeader = header
       this.sheetName = sheetName
 
-      // 鐢ㄦ埛娓呭崟瀵煎叆鍒ゆ柇
-      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)
+      this.activeName = '0'
+
+      // 浜哄憳绠$悊瀵煎叆鍒ゆ柇
+      if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
+        this.handlePersonListUploadTemplate(true)
+      }
+
+      if (this.sheetName.indexOf('瑙掕壊绠$悊') !== -1 || this.sheetName.indexOf('鐝粍绠$悊') !== -1 ||
+        this.sheetName.indexOf('宀椾綅绠$悊') !== -1
+      ) {
+        this.statusArr = [
+          { code: 'Y', name: '姝e父' },
+          { code: 'N', name: '鍋滅敤' }
+        ]
+        this.tableData[0].forEach(j => {
+          j['*鐘舵��'] = j['*鐘舵��'] ? this.statusArr.find(e => e.name === j['*鐘舵��']).code : ''
+          j.uuid = nanoid()
+        })
+      }
+
+      if (this.sheetName.indexOf('寰�鏉ュ崟浣�') !== -1) {
+        this.statusArr = [
+          { code: '0', name: '姝e父' },
+          { code: '1', 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()
+        })
+      }
+
+      if (this.sheetName.indexOf('浠撳簱璁剧疆') !== -1) {
+        this.statusArr = [
+          { code: '0', name: '姝e父' },
+          { code: '1', name: '鍋滅敤' }
+        ]
+        this.tableData[0].forEach(j => {
+          j['*鐘舵��'] = j['*鐘舵��'] ? this.statusArr.find(e => e.name === j['*鐘舵��']).code : ''
+          j['*搴撲綅绠$悊'] = j['*搴撲綅绠$悊'] ? this.isYesOrNo.find(e => e.name === j['*搴撲綅绠$悊']).code : ''
+          j.uuid = nanoid()
+        })
+      }
+
+      if (this.sheetName.indexOf('瀛樿揣鍒嗙被') !== -1) {
+        this.statusArr = [
+          { code: '0', name: '姝e父' },
+          { code: '1', 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['*璁¢噺鏂瑰紡'] = j['*璁¢噺鏂瑰紡'] ? this.meterMethodArr.find(e => e.name === j['*璁¢噺鏂瑰紡']).code : '0'
+          j['鏄惁澶栬喘'] = j['鏄惁澶栬喘'] ? this.isYesOrNo.find(e => e.name === j['鏄惁澶栬喘']).code : '0'
+          j['鏄惁閿�鍞�'] = j['鏄惁閿�鍞�'] ? this.isYesOrNo.find(e => e.name === j['鏄惁閿�鍞�']).code : '0'
+          j['鏄惁鑷埗'] = j['鏄惁鑷埗'] ? this.isYesOrNo.find(e => e.name === j['鏄惁鑷埗']).code : '0'
+          j['鏄惁鐢熶骇娑堣��'] = j['鏄惁鐢熶骇娑堣��'] ? this.isYesOrNo.find(e => e.name === j['鏄惁鐢熶骇娑堣��']).code : '0'
+          j['鏄惁濮斿'] = j['鏄惁濮斿'] ? this.isYesOrNo.find(e => e.name === j['鏄惁濮斿']).code : '0'
+          j.uuid = nanoid()
+        })
+      }
+      if (this.sheetName.indexOf('璁惧绫诲瀷') !== -1) {
+        this.statusArr = [
+          { code: 'Y', name: '姝e父' },
+          { code: 'N', name: '鍋滅敤' }
+        ]
         const orgArr = this.orgArr.map(i => i.torg_code)
-        this.tableData[this.sheetName.indexOf('鐢ㄦ埛娓呭崟')].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['*鎵�灞炵粍缁囩紪鐮�'] = orgArr.includes(j['*鎵�灞炵粍缁囩紪鐮�']) ? j['*鎵�灞炵粍缁囩紪鐮�'] : ''
-          j['*鍦ㄨ亴鐘舵��'] = this.statusArr.find(e => e.name === j['*鍦ㄨ亴鐘舵��']).code
+
+        this.tableData[0].forEach(j => {
+          j.uuid = nanoid()
+        })
+        this.tableData[1].forEach(j => {
+          j['*鐘舵��'] = j['*鐘舵��'] ? this.statusArr.find(e => e.name === j['*鐘舵��']).code : ''
+          j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'] ? (orgArr.includes(j['*鎵�灞炵粍缁囩紪鐮�']) ? this.findParent([], j['*鎵�灞炵粍缁囩紪鐮�'], this.orgOptions).reverse() : '') : ''
           j.uuid = nanoid()
         })
       }
     },
-    async getExcelModelData() {
-      const { data: res } = await ExcelModelData()
-      this.excelArr = res
-
-      if (window.location.hash.indexOf('?') !== -1) {
-        this.excelCode = window.location.hash.split('?')[1].split('=')[1]
-      }
-    },
-    async getExcel() {
-      const res = await DownLoadExcel({ FileCode: this.excelCode })
-      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: '鍙栨秷',
         type: 'warning'
-      }).then(() => {
-        let flag = true
-        let msg = ''
-        if (this.sheetName.indexOf('鐢ㄦ埛娓呭崟') !== -1) {
-          // if ([...new Set(this.tableData[0].filter(i => i['*鐢ㄦ埛缂栧彿(鍞竴)'] !== '').map(i => i['*鐢ㄦ埛缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
-          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['*鐢ㄦ埛缂栧彿(鍞竴)'].trim() === '') {
-              flag = false
-              msg = '*鐢ㄦ埛缂栧彿(鍞竴)'
-            }
-            if (j['*鐢ㄦ埛濮撳悕'].trim() === '') {
-              flag = false
-              msg = '*鐢ㄦ埛濮撳悕'
-            }
-            if (j['*瀵嗙爜'].trim() === '') {
-              flag = false
-              msg = '*瀵嗙爜'
-            }
-            if (j['*鍦ㄨ亴鐘舵��'].trim() === '') {
-              flag = false
-              msg = '*鍦ㄨ亴鐘舵��'
-            }
-            if (j['*鎵�灞炵粍缁囩紪鐮�'].trim() === '') {
-              flag = false
-              msg = '*鎵�灞炵粍缁囩紪鐮�'
-            }
-          })
-
-          if (!flag) {
-            return this.$message.info(msg + '涓嶈兘涓虹┖锛�')
-          }
-
-          this.tableData[0].forEach(j => {
-            j.鎵�灞炲矖浣嶇紪鐮� = j.鎵�灞炲矖浣嶇紪鐮�.join(',')
-            j.鎵�灞炵彮缁勭紪鐮� = j.鎵�灞炵彮缁勭紪鐮�.join(',')
-            j.鎵�灞炶鑹茬紪鐮� = j.鎵�灞炶鑹茬紪鐮�.join(',')
-          })
-
-          this.tableData[0].map(item => {
-            delete (item.uuid)
-          })
-        }
-
-        const data = {
-          fileCode: this.excelCode,
-          tableData: this.tableData
-        }
-        // console.log(JSON.stringify(this.tableData))
-        ExcelModelCheck(data).then(res => {
-          if (res.json1.code === '200' && res.json2.code === '200') {
-            this.$notify.success('鏁版嵁鎻愪氦鎴愬姛!')
-            this.tableData = []
-            this.tableHeader = []
-            this.sheetName = []
-            this.excelCode = ''
-          } else {
-
-          }
-        })
-      }).catch(() => {
-        this.$notify.info('宸插彇娑堟彁浜わ紒')
       })
+        .then(() => {
+          if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
+            const res = this.handlePersonListSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
+
+          if (this.sheetName.indexOf('瑙掕壊绠$悊') !== -1) {
+            const res = this.handleRoleListSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
+          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)
+            }
+          }
+
+          if (this.sheetName.indexOf('浠撳簱璁剧疆') !== -1) {
+            const res = this.handleWarehouseListSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
+
+          if (this.sheetName.indexOf('搴撲綅璁剧疆') !== -1) {
+            const res = this.handleStorageListSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
+          if (this.sheetName.indexOf('瀛樿揣鍒嗙被') !== -1) {
+            const res = this.handleInventoryListSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
+          if (this.sheetName.indexOf('璁惧绫诲瀷') !== -1) {
+            const res = this.handleDeviceListSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
+
+          const data = {
+            fileCode: this.excelCode,
+            tableData: this.tableData
+          }
+          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 === '300' && res.json2.code === '200' && res.json3.code === '300') { // 绯荤粺鎶ラ敊
+              return this.$message.error(res.json3.message)
+            }
+
+            if (res.json1.code === '200' && res.json2.code === '301' && res.json3 === null) {
+              this.dialogVisible = true
+              this.dialogTableData = res.json2.data
+            }
+
+            if (res.json1.code === '200' && res.json2.code === '200' && res.json3.code === '200') {
+              this.$notify.success('鏁版嵁鎻愪氦鎴愬姛!')
+              this.tableData = []
+              this.tableHeader = []
+              this.sheetName = []
+              this.excelCode = ''
+
+              return
+            }
+
+            if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
+              this.handlePersonListUploadTemplate(false)
+            }
+            if (this.sheetName.indexOf('璁惧绫诲瀷') !== -1) {
+              this.tableData[0].forEach(j => {
+                j.uuid = nanoid()
+              })
+              this.tableData[1].forEach(j => {
+                j['*鎵�灞炵粍缁囩紪鐮�'] = this.findParent([], j['*鎵�灞炵粍缁囩紪鐮�'], this.orgOptions).reverse()
+                j.uuid = nanoid()
+              })
+            }
+          })
+        })
+        .catch(e => {
+          console.log(e)
+          this.$notify.info('宸插彇娑堟彁浜わ紒')
+        })
     },
 
+    // 澶勭悊浜哄憳绠$悊瀵煎叆妯℃澘
+    handlePersonListUploadTemplate(isFirstUpload) {
+      this.statusArr = [
+        { code: 'Y', name: '鍦ㄨ亴' },
+        { code: 'N', name: '绂昏亴' }
+      ]
+      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.sheetName.indexOf('浜哄憳绠$悊')
+      // 绗竴娆℃覆鏌�
+      if (isFirstUpload) {
+        this.tableData[0].forEach(j => {
+          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['*鎵�灞炵粍缁囩紪鐮�']) ? this.findParent([], j['*鎵�灞炵粍缁囩紪鐮�'], this.orgOptions).reverse() : '') : ''
+          j['*鍦ㄨ亴鐘舵��'] = j['*鍦ㄨ亴鐘舵��'] ? this.statusArr.find(e => e.name === j['*鍦ㄨ亴鐘舵��']).code : 'Y'
+          j.uuid = nanoid()
+        })
+      }
+
+      // 闈炵涓�娆℃覆鏌�
+      if (!isFirstUpload) {
+        this.tableData[0].forEach(j => {
+          j.鎵�灞炲矖浣嶇紪鐮� = typeof j.鎵�灞炲矖浣嶇紪鐮� === 'string' ? j.鎵�灞炲矖浣嶇紪鐮�.split(',').filter(e => postArr.includes(e)) : []
+          j.鎵�灞炶鑹茬紪鐮� = typeof j.鎵�灞炶鑹茬紪鐮� === 'string' ? j.鎵�灞炶鑹茬紪鐮�.split(',').filter(e => roleArr.includes(e)) : []
+          j.鎵�灞炵彮缁勭紪鐮� = typeof j.鎵�灞炵彮缁勭紪鐮� === 'string' ? j.鎵�灞炵彮缁勭紪鐮�.split(',').filter(e => groupArr.includes(e)) : []
+          j['*鎵�灞炵粍缁囩紪鐮�'] = this.findParent([], j['*鎵�灞炵粍缁囩紪鐮�'], this.orgOptions).reverse()
+
+          j.uuid = nanoid()
+        })
+      }
+    },
+    // 澶勭悊浜哄憳绠$悊鎻愪氦鏁版嵁
+    handlePersonListSubmitData() {
+      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 (!j['*鍦ㄨ亴鐘舵��']) {
+          flag = false
+          msg = '*鍦ㄨ亴鐘舵��'
+        }
+        if (!j['*鎵�灞炵粍缁囩紪鐮�']) {
+          flag = false
+          msg = '*鎵�灞炵粍缁囩紪鐮�'
+        }
+      })
+
+      if (!flag) {
+        return { code: '301', message: msg + '涓嶈兘涓虹┖锛�' }
+      }
+      this.tableData[0].forEach(j => {
+        j['鎵�灞炲矖浣嶇紪鐮�'] = j['鎵�灞炲矖浣嶇紪鐮�'].join(',')
+        j['鎵�灞炵彮缁勭紪鐮�'] = j['鎵�灞炵彮缁勭紪鐮�'].join(',')
+        j['鎵�灞炶鑹茬紪鐮�'] = j['鎵�灞炶鑹茬紪鐮�'].join(',')
+        j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'][j['*鎵�灞炵粍缁囩紪鐮�'].length - 1]
+      })
+
+      this.tableData[0].map(item => {
+        delete (item.uuid)
+      })
+
+      return { code: '200', message: '鎴愬姛锛�' }
+    },
+    // 澶勭悊瑙掕壊绠$悊鎻愪氦鏁版嵁
+    handleRoleListSubmitData() {
+      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: '鎴愬姛锛�' }
+    },
+    // 澶勭悊鐝粍绠$悊鎻愪氦鏁版嵁
+    handleGroupListSubmitData() {
+      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: '鎴愬姛锛�' }
+    },
+    // 澶勭悊宀椾綅绠$悊鎻愪氦鏁版嵁
+    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: '鎴愬姛锛�' }
+    },
+    // 澶勭悊浠撳簱璁剧疆鎻愪氦鏁版嵁
+    handleWarehouseListSubmitData() {
+      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 (!j['*搴撲綅绠$悊']) {
+          flag = false
+          msg = '*搴撲綅绠$悊'
+        }
+      })
+
+      if (!flag) {
+        return { code: '301', message: msg + '涓嶈兘涓虹┖锛�' }
+      }
+
+      this.tableData[0].map(item => {
+        delete (item.uuid)
+      })
+
+      return { code: '200', message: '鎴愬姛锛�' }
+    },
+    // 澶勭悊搴撲綅璁剧疆鎻愪氦鏁版嵁
+    handleStorageListSubmitData() {
+      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 (!j['*鐘舵��']) {
+          flag = false
+          msg = '*鐘舵�佷笉鑳戒负绌猴紒'
+        }
+        if (j['涓婄骇搴撲綅缂栫爜'] === j['*搴撲綅缂栧彿(鍞竴)']) {
+          flag = false
+          msg = '*搴撲綅缂栧彿(鍞竴)涓庝笂绾у簱浣嶇紪鐮佷笉鑳界浉鍚岋紒'
+        }
+      })
+
+      if (!flag) {
+        return { code: '301', message: msg }
+      }
+
+      this.tableData[0].map(item => {
+        delete (item.uuid)
+      })
+
+      return { code: '200', message: '鎴愬姛锛�' }
+    },
+    // 澶勭悊瀛樿揣妗f鎻愪氦鏁版嵁
+    handleInventoryListSubmitData() {
+      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 (!j['*璁¢噺鏂瑰紡']) {
+          flag = false
+          msg = '*璁¢噺鏂瑰紡涓嶈兘涓虹┖锛�'
+        }
+        if (!j['*璁¢噺鍗曚綅/缁勫悕绉�']) {
+          flag = false
+          msg = '*璁¢噺鍗曚綅/缁勫悕绉颁笉鑳戒负绌猴紒'
+        }
+        if (!(j['鏄惁澶栬喘'] === '1' || j['鏄惁閿�鍞�'] === '1' || j['鏄惁鑷埗'] === '1' || j['鏄惁鐢熶骇娑堣��'] === '1' || j['鏄惁濮斿'] === '1')) {
+          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: '鎴愬姛锛�' }
+    },
+    // 澶勭悊璁惧娓呭崟鎻愪氦鏁版嵁
+    handleDeviceListSubmitData() {
+      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 = '*璁惧绫诲瀷鍚嶇О涓嶈兘涓虹┖锛�'
+        }
+      })
+      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 (!j['*鐘舵��']) {
+          flag = false
+          msg = '*鐘舵�佷笉鑳戒负绌猴紒'
+        }
+      })
+
+      if (!flag) {
+        return { code: '301', message: msg }
+      }
+
+      this.tableData[1].forEach(j => {
+        j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'][j['*鎵�灞炵粍缁囩紪鐮�'].length - 1]
+      })
+
+      this.tableData[0].map(item => {
+        delete (item.uuid)
+      })
+      this.tableData[1].map(item => {
+        delete (item.uuid)
+      })
+
+      return { code: '200', message: '鎴愬姛锛�' }
+    },
+
+    // parents:鐢ㄤ簬杩斿洖鐨勬暟缁勶紝childNode:瑕佹煡璇㈢殑鑺傜偣锛宼reeData锛歫son鏍戝舰鏁版嵁
+    findParent(parents, childNode, treeData) {
+      // console.log(parents, childNode, treeData, 2)
+
+      for (let i = 0; i < treeData.length; i++) {
+        // 鐖惰妭鐐规煡璇㈡潯浠�
+        if (treeData[i].torg_code === childNode) {
+          // 濡傛灉鎵惧埌缁撴灉,淇濆瓨褰撳墠鑺傜偣
+          parents.push(treeData[i].torg_code)
+          // 鐢ㄥ綋鍓嶈妭鐐瑰啀鍘诲師鏁版嵁鏌ユ壘褰撳墠鑺傜偣鐨勭埗鑺傜偣
+          this.findParent(parents, treeData[i].parent_id, this.orgOptions)
+          break
+        } else {
+          if (treeData[i].children instanceof Array) {
+            //	娌℃壘鍒帮紝閬嶅巻璇ヨ妭鐐圭殑瀛愯妭鐐�
+            this.findParent(parents, childNode, treeData[i].children)
+          }
+        }
+      }
+      return parents
+    },
     addRow() {
-      // 鐢ㄦ埛娓呭崟鏂板琛�
-      if (this.sheetName.indexOf('鐢ㄦ埛娓呭崟') !== -1) {
+      // 浜哄憳绠$悊鏂板琛�
+      if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
         this.tableData[0].unshift({
           uuid: nanoid(),
           '*鐢ㄦ埛缂栧彿(鍞竴)': '',
@@ -443,23 +1121,176 @@
           '鎵�灞炵彮缁勭紪鐮�': []
         })
       }
+      //  瑙掕壊绠$悊鏂板琛�
+      if (this.sheetName.indexOf('瑙掕壊绠$悊') !== -1) {
+        this.tableData[0].unshift({
+          uuid: nanoid(),
+          '*瑙掕壊缂栧彿(鍞竴)': '',
+          '*瑙掕壊鍚嶇О': '',
+          '*鐘舵��': 'Y',
+          '鎻忚堪': ''
+        })
+      }
+      //  鐝粍绠$悊鏂板琛�
+      if (this.sheetName.indexOf('鐝粍绠$悊') !== -1) {
+        this.tableData[0].unshift({
+          uuid: nanoid(),
+          '*鐝粍缂栧彿(鍞竴)': '',
+          '*鐝粍鍚嶇О': '',
+          '*鐘舵��': 'Y',
+          '鎻忚堪': ''
+        })
+      }
+      //  宀椾綅绠$悊鏂板琛�
+      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(),
+          '*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)': '',
+          '*寰�鏉ュ崟浣嶅悕绉�': '',
+          '*鐘舵��': '0',
+          '*寰�鏉ュ崟浣嶇被鍨嬬紪鐮�': '',
+          '鑱旂郴浜�': '',
+          '鑱旂郴鏂瑰紡': '',
+          '鍦板潃': ''
+        })
+      }
+      //  浠撳簱璁剧疆
+      if (this.sheetName.indexOf('浠撳簱璁剧疆') !== -1) {
+        this.tableData[0].unshift({
+          uuid: nanoid(),
+          '*浠撳簱缂栧彿(鍞竴)': '',
+          '*浠撳簱鍚嶇О': '',
+          '*鐘舵��': '0',
+          '*搴撲綅绠$悊': '0',
+          '鎻忚堪': ''
+        })
+      }
+      // 搴撲綅璁剧疆
+      if (this.sheetName.indexOf('搴撲綅璁剧疆') !== -1) {
+        this.tableData[0].unshift({
+          uuid: nanoid(),
+          '*搴撲綅缂栧彿(鍞竴)': '',
+          '*搴撲綅鍚嶇О': '',
+          '*鎵�灞炰粨搴撶紪鐮�': '',
+          '涓婄骇搴撲綅缂栫爜': '',
+          '*鐘舵��': '0',
+          '鎻忚堪': ''
+        })
+      }
+      // 瀛樿揣妗f
+      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(),
+          '*瀛樿揣缂栧彿(鍞竴)': '',
+          '*瀛樿揣鍚嶇О': '',
+          '瑙勬牸鍨嬪彿': '',
+          '*瀛樿揣鍒嗙被缂栫爜': '',
+          '*鐘舵��': '0',
+          '*璁¢噺鏂瑰紡': '',
+          '璁¢噺鍗曚綅/缁勫悕绉�': '',
+          '鎵�灞炰粨搴撶紪鐮�': '',
+          '鏄惁澶栬喘': '0',
+          '鏄惁閿�鍞�': '0',
+          '鏄惁鑷埗': '0',
+          '鏄惁鐢熶骇娑堣��': '0',
+          '鏄惁濮斿': '0'
+        })
+      }
+      // 璁惧娓呭崟
+      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) {
-      // 鐢ㄦ埛娓呭崟鍒犻櫎琛�
-      if (this.sheetName.indexOf('鐢ㄦ埛娓呭崟') !== -1) {
+      // 閽堝鍗晄heet
+      if (this.sheetName.length === 1) {
         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('蹇呴』瑕佹湁涓�鏉℃暟鎹紒')
         }
       }
+      // 閽堝涓や釜 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 = []
       this.sheetName = []
       this.excelCode = ''
+    },
+    handleClose() {
+      this.dialogTableData = []
+    },
+    // 鑾峰彇妯℃澘
+    async getExcelModelData() {
+      const { data: res } = await ExcelModelData()
+      this.excelArr = res
+
+      if (window.location.hash.indexOf('?') !== -1) {
+        this.excelCode = window.location.hash.split('?')[1].split('=')[1]
+      }
+    },
+    // 妯℃澘涓嬭浇
+    async getExcel() {
+      const res = await DownLoadExcel({ FileCode: this.excelCode })
+      window.location.href = res.data
     },
     async getSelectArr() {
       await this.getPrentOrganization()
@@ -471,11 +1302,11 @@
     async getPrentOrganization() {
       const { data: res } = await PrentOrganization()
       this.orgArr = res
-      // this.cascaderOptions = arrayToTree(res, {
-      //   parentProperty: 'parent_id',
-      //   customID: 'torg_code',
-      //   childrenProperty: 'children'
-      // })
+      this.orgOptions = arrayToTree(res, {
+        parentProperty: 'parent_id',
+        customID: 'torg_code',
+        childrenProperty: 'children'
+      })
     },
     // 鑾峰彇宀椾綅涓嬫媺鏁扮粍
     async getPostPermissions() {
@@ -538,13 +1369,9 @@
 }
 </script>
 
-<style scoped lang="scss">
-//::v-deep .el-table__body-wrapper {
-//overflow-y: auto;
-//overflow-x: scroll !important;
-//height: calc(100% - 34px);
-//width: 100% !important;
-//}
+<style lang="scss">
+::v-deep .el-dialog__body {
+  padding: 20px 20px !important;
+}
 
 </style>
-

--
Gitblit v1.9.3