From 0b35bd152a6ec2f529dcb13091a5c1746e7cc3fc Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 09 十月 2023 14:37:04 +0800
Subject: [PATCH] 1.报工调整100%

---
 src/views/systemSetting/dataImport.vue |  424 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 387 insertions(+), 37 deletions(-)

diff --git a/src/views/systemSetting/dataImport.vue b/src/views/systemSetting/dataImport.vue
index fbb67e2..353c595 100644
--- a/src/views/systemSetting/dataImport.vue
+++ b/src/views/systemSetting/dataImport.vue
@@ -128,8 +128,8 @@
                     item.indexOf('鎵�灞炰粨搴撶紪鐮�')!==-1||
                     item.indexOf('涓婄骇搴撲綅缂栫爜')!==-1||
                     item.indexOf('瑙勬牸鍨嬪彿')!==-1||
-                    item.indexOf('瀛樿揣鍒嗙被缂栫爜')!==-1||
-                    item.indexOf('璁¢噺鏂瑰紡')!==-1||
+                    item.indexOf('瀛樿揣鍒嗙被')!==-1||
+
                     item.indexOf('璁¢噺鍗曚綅/缁勫悕绉�')!==-1
                   "
                 >
@@ -145,6 +145,38 @@
                   >
                     <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"
+                    />
+                  </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 stepTypeArr"
                       :key="item.code"
                       :label="item.name"
                       :value="item.code"
@@ -357,6 +389,10 @@
         { code: '1', name: '鏄�' },
         { code: '0', name: '鍚�' }
       ],
+      stepTypeArr: [
+        { code: 'Z', name: '鑷埗' },
+        { code: 'W', name: '澶栧崗' }
+      ],
       orgArr: [], // 缁勭粐
       orgOptions: [],
       defaultProps: {
@@ -377,6 +413,11 @@
 
       dialogVisible: false,
       dialogTableData: [],
+
+      meterMethodArr: [
+        { code: 'S', name: '鍗曡閲�' },
+        { code: 'M', name: '澶氳閲�' }
+      ],
 
       activeName: '0'// tab閫変腑鍊�
 
@@ -441,8 +482,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 +506,53 @@
         })
       }
 
-      // 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()
+        })
+      }
+      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[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()
+        })
+      }
+
+      if (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['*宸ュ簭绫诲瀷'] = j['*宸ュ簭绫诲瀷'] ? this.stepTypeArr.find(e => e.name === j['*宸ュ簭绫诲瀷']).code : ''
+          j.uuid = nanoid()
+        })
+      }
     },
     // 鎻愪氦
     submit() {
@@ -522,6 +607,30 @@
               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)
+            }
+          }
+          if (this.sheetName.indexOf('宸ュ簭璁剧疆') !== -1) {
+            const res = this.handleProcessListSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
+          if (this.sheetName.indexOf('缂洪櫡瀹氫箟') !== -1) {
+            const res = this.handleDefectDefineSubmitData()
+            if (res.code !== '200') {
+              return this.$message.info(res.message)
+            }
+          }
 
           const data = {
             fileCode: this.excelCode,
@@ -561,6 +670,15 @@
             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 => {
@@ -581,7 +699,7 @@
       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)) : []
@@ -593,7 +711,7 @@
         })
       }
 
-      // 闈炵涓�娆℃彁浜�
+      // 闈炵涓�娆℃覆鏌�
       if (!isFirstUpload) {
         this.tableData[0].forEach(j => {
           j.鎵�灞炲矖浣嶇紪鐮� = typeof j.鎵�灞炲矖浣嶇紪鐮� === 'string' ? j.鎵�灞炲矖浣嶇紪鐮�.split(',').filter(e => postArr.includes(e)) : []
@@ -779,7 +897,7 @@
         }
         if (!j['*寰�鏉ュ崟浣嶅悕绉�']) {
           flag = false
-          msg = '*寰�鏉ュ崟浣嶅悕绉�'
+          msg = '*寰�鏉ュ崟浣嶅悕绉颁笉鑳戒负绌猴紒'
         }
         if (!j['*鐘舵��']) {
           flag = false
@@ -882,26 +1000,197 @@
     },
     // 澶勭悊瀛樿揣妗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('瀛樿揣鍒嗙被缂栧彿涓嶈兘閲嶅锛�')
       }
+      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: '鎴愬姛锛�' }
     },
-    // 妯℃澘涓嬭浇
-    async getExcel() {
-      const res = await DownLoadExcel({ FileCode: this.excelCode })
-      window.location.href = res.data
+    // 澶勭悊璁惧娓呭崟鎻愪氦鏁版嵁
+    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: '鎴愬姛锛�' }
     },
-    handleClose() {
-      this.dialogTableData = []
+    // 澶勭悊宸ュ簭璁剧疆鎻愪氦鏁版嵁
+    handleProcessListSubmitData() {
+      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: '鎴愬姛锛�' }
     },
+    // 澶勭悊缂洪櫡瀹氫箟鎻愪氦鏁版嵁
+    handleDefectDefineSubmitData() {
+      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 (!flag) {
+        return { code: '301', message: msg + '涓嶈兘涓虹┖锛�' }
+      }
+
+      this.tableData[0].map(item => {
+        delete (item.uuid)
+      })
+
+      return { code: '200', message: '鎴愬姛锛�' }
+    },
+
     // parents:鐢ㄤ簬杩斿洖鐨勬暟缁勶紝childNode:瑕佹煡璇㈢殑鑺傜偣锛宼reeData锛歫son鏍戝舰鏁版嵁
     findParent(parents, childNode, treeData) {
       // console.log(parents, childNode, treeData, 2)
@@ -984,7 +1273,7 @@
           uuid: nanoid(),
           '*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)': '',
           '*寰�鏉ュ崟浣嶅悕绉�': '',
-          '*鐘舵��': 'Y',
+          '*鐘舵��': '0',
           '*寰�鏉ュ崟浣嶇被鍨嬬紪鐮�': '',
           '鑱旂郴浜�': '',
           '鑱旂郴鏂瑰紡': '',
@@ -1014,26 +1303,70 @@
           '鎻忚堪': ''
         })
       }
-
       // 瀛樿揣妗f
-      if (this.sheetName.indexOf('瀛樿揣绫诲瀷') !== -1 && this.activeName === '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({ // 杩樻湭鍐欏畬
+        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'
+        })
+      }
+      //  宸ュ簭璁剧疆
+      if (this.sheetName.indexOf('宸ュ簭璁剧疆') !== -1) {
+        this.tableData[0].unshift({
+          uuid: nanoid(),
+          '*宸ュ簭缂栧彿(鍞竴)': '',
+          '*宸ュ簭鍚嶇О': '',
+          '*宸ュ簭绫诲瀷': 'Z',
           '*鐘舵��': 'Y',
-          '*寰�鏉ュ崟浣嶇被鍨嬬紪鐮�': '',
-          '鑱旂郴浜�': '',
-          '鑱旂郴鏂瑰紡': '',
-          '鍦板潃': ''
+          '鎻忚堪': ''
+        })
+      }
+      //  缂洪櫡瀹氫箟
+      if (this.sheetName.indexOf('缂洪櫡瀹氫箟') !== -1) {
+        this.tableData[0].unshift({
+          uuid: nanoid(),
+          '*缂洪櫡缂栧彿(鍞竴)': '',
+          '*缂洪櫡鍚嶇О': '',
+          '缂洪櫡鎻忚堪': ''
         })
       }
     },
@@ -1070,6 +1403,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