From 803e43f2bf21fc9ba86a157e2e25d86c57a4868f Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 19 九月 2023 09:14:46 +0800
Subject: [PATCH] 1.库位导入、存货导入

---
 src/views/systemSetting/dataImport.vue |  181 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 146 insertions(+), 35 deletions(-)

diff --git a/src/views/systemSetting/dataImport.vue b/src/views/systemSetting/dataImport.vue
index fbb67e2..6a2e2fc 100644
--- a/src/views/systemSetting/dataImport.vue
+++ b/src/views/systemSetting/dataImport.vue
@@ -129,7 +129,7 @@
                     item.indexOf('涓婄骇搴撲綅缂栫爜')!==-1||
                     item.indexOf('瑙勬牸鍨嬪彿')!==-1||
                     item.indexOf('瀛樿揣鍒嗙被缂栫爜')!==-1||
-                    item.indexOf('璁¢噺鏂瑰紡')!==-1||
+
                     item.indexOf('璁¢噺鍗曚綅/缁勫悕绉�')!==-1
                   "
                 >
@@ -145,6 +145,22 @@
                   >
                     <el-option
                       v-for="item in statusArr"
+                      :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]"
+                    placeholder="璇烽�夋嫨"
+                    filterable
+                    style="width:100%"
+                    clearable
+                  >
+                    <el-option
+                      v-for="item in meterMethodArr"
                       :key="item.code"
                       :label="item.name"
                       :value="item.code"
@@ -378,6 +394,11 @@
       dialogVisible: false,
       dialogTableData: [],
 
+      meterMethodArr: [
+        { code: 'S', name: '鍗曡閲�' },
+        { code: 'M', name: '澶氳閲�' }
+      ],
+
       activeName: '0'// tab閫変腑鍊�
 
     }
@@ -441,8 +462,8 @@
 
       if (this.sheetName.indexOf('寰�鏉ュ崟浣�') !== -1) {
         this.statusArr = [
-          { code: 'Y', name: '姝e父' },
-          { code: 'N', name: '鍋滅敤' }
+          { code: '0', name: '姝e父' },
+          { code: '1', name: '鍋滅敤' }
         ]
         this.tableData[0].forEach(j => {
           j.uuid = nanoid()
@@ -465,9 +486,25 @@
         })
       }
 
-      // console.log(this.sheetName)
-      // console.log(this.tableData)
-      // console.log(this.tableHeader)
+      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()
+        })
+      }
     },
     // 鎻愪氦
     submit() {
@@ -518,6 +555,12 @@
 
           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)
             }
@@ -779,7 +822,7 @@
         }
         if (!j['*寰�鏉ュ崟浣嶅悕绉�']) {
           flag = false
-          msg = '*寰�鏉ュ崟浣嶅悕绉�'
+          msg = '*寰�鏉ュ崟浣嶅悕绉颁笉鑳戒负绌猴紒'
         }
         if (!j['*鐘舵��']) {
           flag = false
@@ -882,25 +925,71 @@
     },
     // 澶勭悊瀛樿揣妗f鎻愪氦鏁版嵁
     handleInventoryListSubmitData() {
-
-    },
-
-    // 鑾峰彇妯℃澘
-    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]
+      let flag = true
+      let msg = ''
+      if ([...new Set(this.tableData[0].map(i => i['*瀛樿揣鍒嗙被缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+        return this.$message.info('瀛樿揣鍒嗙被缂栧彿涓嶈兘閲嶅锛�')
       }
-    },
-    // 妯℃澘涓嬭浇
-    async getExcel() {
-      const res = await DownLoadExcel({ FileCode: this.excelCode })
-      window.location.href = res.data
-    },
-    handleClose() {
-      this.dialogTableData = []
+      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: '鎴愬姛锛�' }
     },
     // parents:鐢ㄤ簬杩斿洖鐨勬暟缁勶紝childNode:瑕佹煡璇㈢殑鑺傜偣锛宼reeData锛歫son鏍戝舰鏁版嵁
     findParent(parents, childNode, treeData) {
@@ -984,7 +1073,7 @@
           uuid: nanoid(),
           '*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)': '',
           '*寰�鏉ュ崟浣嶅悕绉�': '',
-          '*鐘舵��': 'Y',
+          '*鐘舵��': '0',
           '*寰�鏉ュ崟浣嶇被鍨嬬紪鐮�': '',
           '鑱旂郴浜�': '',
           '鑱旂郴鏂瑰紡': '',
@@ -1014,7 +1103,6 @@
           '鎻忚堪': ''
         })
       }
-
       // 瀛樿揣妗f
       if (this.sheetName.indexOf('瀛樿揣绫诲瀷') !== -1 && this.activeName === '0') {
         this.tableData[0].unshift({
@@ -1025,15 +1113,21 @@
         })
       }
       if (this.sheetName.indexOf('瀛樿揣') !== -1 && this.activeName === '1') {
-        this.tableData[1].unshift({ // 杩樻湭鍐欏畬
+        this.tableData[1].unshift({
           uuid: nanoid(),
-          '*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)': '',
-          '*寰�鏉ュ崟浣嶅悕绉�': '',
-          '*鐘舵��': 'Y',
-          '*寰�鏉ュ崟浣嶇被鍨嬬紪鐮�': '',
-          '鑱旂郴浜�': '',
-          '鑱旂郴鏂瑰紡': '',
-          '鍦板潃': ''
+          '*瀛樿揣缂栫爜(鍞竴)': '',
+          '*瀛樿揣鍚嶇О': '',
+          '瑙勬牸鍨嬪彿': '',
+          '*瀛樿揣鍒嗙被缂栫爜': '',
+          '*鐘舵��': '0',
+          '*璁¢噺鏂瑰紡': '',
+          '璁¢噺鍗曚綅/缁勫悕绉�': '',
+          '鎵�灞炰粨搴撶紪鐮�': '',
+          '鏄惁澶栬喘': '0',
+          '鏄惁閿�鍞�': '0',
+          '鏄惁鑷埗': '0',
+          '鏄惁鐢熶骇娑堣��': '0',
+          '鏄惁濮斿': '0'
         })
       }
     },
@@ -1070,6 +1164,23 @@
       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()
       await this.getPostPermissions()

--
Gitblit v1.9.3