Browse Source

页签bug修复

lilei 3 years ago
parent
commit
7941930f39

+ 1 - 1
src/App.vue

@@ -36,7 +36,7 @@ export default {
 
     this.$message.config({
       top: `100px`,
-      duration: 2,
+      duration: 3,
       maxCount: 3
     })
   }

+ 5 - 3
src/components/UploadFile/index.vue

@@ -148,9 +148,11 @@ export default {
     },
     handleChange ({ file, fileList }) {
       // console.log(file, fileList, '-----change')
-      if (file.status == 'error' || (file.response && (file.response.status == 500))) {
-        this.$message.error('上传失败,请重试!')
-        return
+      if (file.response && (file.response.status == 500)) {
+        if (file.status == 'error' || file.status == 'done') {
+          this.$message.error(file.response.message || '上传失败,请重试!')
+          return
+        }
       }
       this.fileList = this.validaFile(file, fileList)
       this.$emit('change', this.formatFile())

+ 6 - 4
src/views/bulkManagement/bulkImport/list.vue

@@ -21,10 +21,10 @@
           <div class="explain-item">
             <div class="explain-tit">导入文件说明</div>
             <ul>
-              <li>1) 导入的EXCEL文件中必须包含名为"供应商"、"产品品牌"、"产品编码"、"原厂编码"、"产品名称"、"产品一级类"、"产品二级类"、"产品三级类"、"仓库"、"仓位"、"入库数量"、"成本价"、"售价";列顺序可忽略、行顺序可忽略。其中"供应商"、"产品品牌"、"产品编码"、"产品名称"、"仓库"、"仓位"、"入库数量"、"成本价"、"售价"内容不能为空。</li>
+              <li>1) 导入的EXCEL文件中必须包含名为"供应商"、"产品品牌"、"产品编码"、"原厂编码"、"产品名称"、"产品一级类"、"产品二级类"、"产品三级类"、"仓库"、"仓位"、"入库数量"、"成本价"、"售价";列顺序可忽略、行顺序可忽略。其中"供应商"、"产品品牌"、"产品编码"、"产品名称"、"仓库"、"仓位"、"入库数量"、"成本价"、"售价"内容不能为空。</li>
               <li>2) 红色底白字为错误项,对应错误原因列显示错误信息,存在错误项时不能导入,请取消修改后重新上传操作。</li>
-              <li>3) 上传成功显示产品列表后,第一次以后上传的文件名如果和第一次上传的文件名相同,将不再上传,采取第一次上传的文件,如要重新上传数据,请更改文件名称。</li>
-              <li>4) 供应商为必填项且不能包含箭牌供应商、产品品牌为必填项且不能包含箭牌品牌、产品名称为必填项。</li>
+              <li>3) 供应商为必填项且不能包含箭牌供应商、产品品牌为必填项且不能包含箭牌品牌、产品名称为必填项.</li>
+              <li>4) 支持上传文件格式:.xls、.xlsx。</li>
             </ul>
           </div>
         </div>
@@ -123,7 +123,9 @@ export default {
     changeImport (file) {
       if (file && JSON.parse(file).length > 0) {
         this.uploadData = JSON.parse(file)[0] || null
-        this.$refs.table.refresh(true)
+        if (this.uploadData && this.uploadData.stockImportSn) {
+          this.$refs.table.refresh(true)
+        }
       } else {
         this.uploadData = null
       }

+ 13 - 1
src/views/bulkManagement/bulkReturnGoods/edit.vue

@@ -53,6 +53,7 @@
           :columns="columns"
           :customRow="handleClickRow"
           :data="loadData"
+          :defaultLoadData="false"
           :scroll="{ x: 980, y:300 }"
           bordered>
           <!-- 退货单价 -->
@@ -129,6 +130,7 @@
           :rowKey="(record) => record.id"
           :columns="chooseColumns"
           :data="chooseLoadData"
+          :defaultLoadData="false"
           :scroll="{ x: 980, y:300 }"
           bordered>
           <!-- 退货单价 -->
@@ -414,11 +416,21 @@ export default {
       return (
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
+    },
+    initPage () {
+      this.getWarehouse()
+      this.resetSearchForm()
+      this.chooseResetSearchForm()
     }
   },
+  mounted () {
+    this.initPage()
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {
-      vm.getWarehouse()
+      if (!vm.disabled) {
+        vm.initPage()
+      }
     })
   }
 }

+ 13 - 1
src/views/bulkManagement/bulkReturnGoods/grabEdit.vue

@@ -43,6 +43,7 @@
           :rowKey="(record) => record.id"
           :columns="columns"
           :customRow="handleClickRow"
+          :defaultLoadData="false"
           :data="loadData"
           :scroll="{ x: 1280, y:300 }"
           bordered>
@@ -120,6 +121,7 @@
           :rowKey="(record) => record.id"
           :columns="chooseColumns"
           :data="chooseLoadData"
+          :defaultLoadData="false"
           :scroll="{ x: 960, y:300 }"
           bordered>
           <!-- 退货单价 -->
@@ -412,11 +414,21 @@ export default {
       return (
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
+    },
+    initPage () {
+      this.getWarehouse()
+      this.resetSearchForm()
+      this.chooseResetSearchForm()
     }
   },
+  mounted () {
+    this.initPage()
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {
-      vm.getWarehouse()
+      if (!vm.disabled) {
+        vm.initPage()
+      }
     })
   }
 }

+ 4 - 2
src/views/bulkManagement/bulkReturnGoods/list.vue

@@ -326,8 +326,10 @@ export default {
   beforeRouteEnter (to, from, next) {
     next(vm => {
       vm.openModal = false
-      vm.getSupplierList()
-      vm.$refs.table.refresh()
+      if (!vm.disabled) {
+        vm.getSupplierList()
+        vm.$refs.table.refresh()
+      }
     })
   }
 }

+ 9 - 2
src/views/bulkManagement/bulkWarehousingOrder/detail.vue

@@ -214,10 +214,17 @@ export default {
       this.$router.push({ path: `/bulkManagement/bulkWarehousingOrder/edit/${this.basicInfoData.id}/${this.basicInfoData.sparePartsPurchaseSn}` })
     }
   },
+  mounted () {
+    this.getDetail()
+    this.getDetailCount()
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {
-      vm.getDetail()
-      vm.getDetailCount()
+      if (!vm.disabled) {
+        vm.getDetail()
+        vm.getDetailCount()
+        vm.$refs.table.refresh()
+      }
     })
   }
 }

+ 15 - 4
src/views/bulkManagement/bulkWarehousingOrder/edit.vue

@@ -172,6 +172,7 @@
                 :rowKey="(record) => record.id"
                 :columns="chooseColumns"
                 :data="chooseLoadData"
+                :defaultLoadData="false"
                 :scroll="{ x: 1320, y: 300 }"
                 bordered>
                 <!-- 成本价 -->
@@ -654,15 +655,25 @@ export default {
       return (
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
+    },
+    initPage () {
+      this.getWarehouseCascade()
+      this.getDetail()
+      this.getProductBrand()
+      this.getProductType()
+      this.resetSearchForm()
+      this.$refs.chooseTable.refresh(true)
     }
   },
+  mounted () {
+    this.initPage()
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {
       vm.openModal = false
-      vm.getWarehouseCascade()
-      vm.getDetail()
-      vm.getProductBrand()
-      vm.getProductType()
+      if (!vm.disabled) {
+        vm.initPage()
+      }
     })
   }
 }

+ 4 - 2
src/views/bulkManagement/bulkWarehousingOrder/list.vue

@@ -356,8 +356,10 @@ export default {
   beforeRouteEnter (to, from, next) {
     next(vm => {
       vm.openModal = false
-      vm.getSupplierList()
-      vm.$refs.table.refresh()
+      if (!vm.disabled) {
+        vm.getSupplierList()
+        vm.$refs.table.refresh()
+      }
     })
   }
 }

+ 12 - 4
src/views/customerManagement/customerInfo/edit.vue

@@ -329,14 +329,22 @@ export default {
       this.getCustTypeList() //  客户类型
       this.getSettleStyleList() // 收款方式
       this.$refs.ruleForm.resetFields()
+    },
+    initPage () {
+      this.getBaseData()
+      if (this.$route.params.id) {
+        //  编辑页
+        this.getDetail()
+      }
     }
   },
+  mounted () {
+    this.initPage()
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {
-      vm.getBaseData()
-      if (vm.$route.params.id) {
-        //  编辑页
-        vm.getDetail()
+      if (!vm.disabled) {
+        vm.initPage()
       }
     })
   }

+ 5 - 3
src/views/customerManagement/customerInfo/list.vue

@@ -344,9 +344,11 @@ export default {
   },
   beforeRouteEnter (to, from, next) {
     next(vm => {
-      vm.getArea('province')
-      vm.getCustTypeList()
-      vm.$refs.table.refresh()
+      if (!vm.disabled) {
+        vm.getArea('province')
+        vm.getCustTypeList()
+        vm.$refs.table.refresh()
+      }
     })
   }
 }

+ 3 - 1
src/views/inventoryManagement/inventoryChecking/list.vue

@@ -286,7 +286,9 @@ export default {
   },
   beforeRouteEnter (to, from, next) {
     next(vm => {
-      vm.$refs.table.refresh()
+      if (!vm.disabled) {
+        vm.$refs.table.refresh()
+      }
     })
   }
 }

+ 8 - 2
src/views/inventoryManagement/inventoryChecking/makeInventory.vue

@@ -35,7 +35,7 @@
       </a-page-header>
       <!-- 基础信息 -->
       <a-card size="small" :bordered="false" class="inventoryCheckMakeInventoryList-cont">
-        <a-collapse>
+        <a-collapse defaultActiveKey="1">
           <a-collapse-panel key="1" header="基础信息">
             <a-descriptions :column="3">
               <a-descriptions-item label="盘点类型">{{ (basicInfoData&&basicInfoData.checkTypeDictValue) || '--' }}</a-descriptions-item>
@@ -423,9 +423,15 @@ export default {
       link.click()
     }
   },
+  mounted () {
+    this.getDetail()
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {
-      vm.getDetail()
+      if (!vm.disabled) {
+        vm.getDetail()
+        vm.resetSearchForm()
+      }
     })
   }
 }

+ 9 - 2
src/views/inventoryManagement/inventoryChecking/selfDisk.vue

@@ -11,7 +11,7 @@
       </a-page-header>
       <!-- 基础信息 -->
       <a-card size="small" :bordered="false" class="inventoryCheckSelfDiskList-cont">
-        <a-collapse>
+        <a-collapse defaultActiveKey="1">
           <a-collapse-panel key="1" header="基础信息">
             <a-descriptions :column="3">
               <a-descriptions-item label="盘点类型">{{ (basicInfoData&&basicInfoData.checkTypeDictValue) || '--' }}</a-descriptions-item>
@@ -604,9 +604,16 @@ export default {
       }
     }
   },
+  mounted () {
+    this.getDetail()
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {
-      vm.getDetail()
+      if (!vm.disabled) {
+        vm.getDetail()
+        vm.resetSearchForm()
+        vm.chooseResetSearchForm()
+      }
     })
   }
 }

+ 11 - 6
src/views/inventoryManagement/inventoryImport/list.vue

@@ -21,11 +21,11 @@
           <div class="explain-item">
             <div class="explain-tit">导入文件说明</div>
             <ul>
-              <li>1) 导入的EXCEL文件中必须包含名为"产品编码"、"仓库"、"仓位"、"入库数量"、"成本价";列顺序可忽略、行顺序可忽略。以产品编码,仓库,仓位作为导入的是否有效判断依据。</li>
-              <li>2) 红色底白字为错误项,确认入库会忽略错误项入库。</li>
-              <li>3) 上传成功显示产品列表后,第一次以后上传的文件名如果和第一次上传的文件名相同,将不再上传,采取第一次上传的文件,如要重新上传数据,请更改文件名称。</li>
-              <li>4) 入库数量必须大于0,且为正整数,为了保证数据的正确性,请检查上传文件数据无误后再上传操作。</li>
-              <li>5) 成本价为空或者小于零的将读取成本价,读取成本价后成本仍然小于零的将会被忽略导入,如需要导入成本价为零的,请为该件产品并指定成本价为零。</li>
+              <li>1) 导入的EXCEL文件中必须包含名为"产品编码"、"仓库"、"仓位"、"入库数量"、"成本价";列顺序可忽略、行顺序可忽略。以产品编码,仓库,仓位,成本价作为导入的是否有效判断依据。</li>
+              <li>2) 红色底白字为错误项,错误项忽略不能导入,正确项可直接导入。</li>
+              <li>3) 入库数量必须大于0,且为正整数,为了保证数据的正确性,请检查上传文件数据无误后再上传操作。</li>
+              <li>4) 成本价为必填项,必须填写大于等于零的数字。</li>
+              <li>5) 支持上传文件格式:.xls、.xlsx。</li>
             </ul>
           </div>
         </div>
@@ -80,6 +80,7 @@ export default {
       exportLoading: false, // 导出loading
       tableHeight: 0,
       queryParam: {}, // 查询参数
+      isAllError: false, // 是否全部错误
       // 表头
       columns: [
         { title: '序号', dataIndex: 'no', width: 50, align: 'center' },
@@ -99,6 +100,8 @@ export default {
           for (var i = 0; i < data.list.length; i++) {
             data.list[i].no = no + i + 1
           }
+          const ret = data.list.filter(item => item.isError == 1)
+          this.isAllError = ret.length == data.count
           this.spinning = false
           return data
         })
@@ -116,7 +119,9 @@ export default {
     changeImport (file) {
       if (file && JSON.parse(file).length > 0) {
         this.uploadData = JSON.parse(file)[0] || null
-        this.$refs.table.refresh(true)
+        if (this.uploadData && this.uploadData.stockImportSn) {
+          this.$refs.table.refresh(true)
+        }
       } else {
         this.uploadData = null
       }

+ 7 - 0
src/views/inventoryManagement/warehouse/storingLocation/list.vue

@@ -174,6 +174,13 @@ export default {
     this.$nextTick(() => { // 页面渲染完成后的回调
       _this.setTableH()
     })
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {
+      if (!vm.disabled) {
+        vm.resetSearchForm()
+      }
+    })
   }
 }
 </script>

+ 4 - 0
src/views/productManagement/newProduct/detail.vue

@@ -83,6 +83,10 @@ export default {
       })
     }
   },
+  mounted () {
+    this.itemId = this.$route.params.sn
+    this.getDetail()
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {
       vm.itemId = vm.$route.params.sn

+ 14 - 7
src/views/productManagement/productInfo/edit.vue

@@ -296,15 +296,22 @@ export default {
           this.productTypeList = []
         }
       })
+    },
+    pageInit () {
+      this.getProductType()
+      this.$refs.ruleForm.resetFields()
+      if (this.$route.params.id) { //  编辑页
+        this.getGoodsDetail()
+      }
     }
   },
-  mounted () { // 不使用beforeRouteEnter:由于页面路由动态id导致页面表现方式不同但路由相同,则会出现数据不重新请求问题
-    // this.getProductBrand()
-    this.getProductType()
-    this.$refs.ruleForm.resetFields()
-    if (this.$route.params.id) { //  编辑页
-      this.getGoodsDetail()
-    }
+  mounted () {
+    this.pageInit()
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {
+      vm.pageInit()
+    })
   }
 }
 </script>

+ 5 - 3
src/views/productManagement/productInfo/list.vue

@@ -340,9 +340,11 @@ export default {
   },
   beforeRouteEnter (to, from, next) {
     next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-      vm.$refs.table.refresh()
+      if (!vm.disabled) {
+        vm.getProductBrand()
+        vm.getProductType()
+        vm.$refs.table.refresh()
+      }
     })
   }
 }

+ 7 - 0
src/views/supplierManagement/supplierInfo/list.vue

@@ -135,6 +135,13 @@ export default {
     this.$nextTick(() => { // 页面渲染完成后的回调
       _this.setTableH()
     })
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {
+      if (!vm.disabled) {
+        vm.$refs.table.refresh()
+      }
+    })
   }
 }
 </script>