Browse Source

父页面(列表)进入子页面(编辑、详情)再返回至子页面时关闭子页面页签

chenrui 3 years ago
parent
commit
bfb6b95b43
34 changed files with 49 additions and 40 deletions
  1. 10 7
      src/components/MultiTab/MultiTab.vue
  2. 1 1
      src/views/allocationManagement/transferOut/detail.vue
  3. 1 1
      src/views/allocationManagement/transferOut/edit.vue
  4. 1 1
      src/views/basicData/warehouse/storingLocation/list.vue
  5. 1 1
      src/views/dealerManagement/merchantInfoManagement/edit.vue
  6. 1 1
      src/views/dealerManagement/merchantInfoManagement/permissionSetting.vue
  7. 1 1
      src/views/financialManagement/inventoryReview/detail.vue
  8. 1 1
      src/views/inventoryManagement/intelligentReplenishment/edit.vue
  9. 1 1
      src/views/inventoryManagement/intelligentReplenishment/import.vue
  10. 1 1
      src/views/inventoryManagement/intelligentReplenishment/set.vue
  11. 1 1
      src/views/inventoryManagement/inventoryChecking/detail.vue
  12. 1 1
      src/views/inventoryManagement/inventoryChecking/financialAuditDetail.vue
  13. 1 1
      src/views/inventoryManagement/inventoryChecking/makeInventory.vue
  14. 1 1
      src/views/inventoryManagement/inventoryChecking/makeInventoryDetail.vue
  15. 1 1
      src/views/inventoryManagement/inventoryChecking/overall.vue
  16. 1 1
      src/views/inventoryManagement/inventoryChecking/selfDisk.vue
  17. 1 1
      src/views/inventoryManagement/inventoryQuery/warehouseDetail.vue
  18. 1 1
      src/views/productManagement/productInfo/edit.vue
  19. 1 1
      src/views/promotionRulesManagement/promotionRules/detail.vue
  20. 1 1
      src/views/promotionRulesManagement/promotionRules/rule.vue
  21. 1 1
      src/views/purchasingManagement/bulkWarehousingOrder/detailModal.vue
  22. 1 1
      src/views/purchasingManagement/bulkWarehousingOrder/edit.vue
  23. 7 1
      src/views/purchasingManagement/bulkWarehousingOrder/list.vue
  24. 1 1
      src/views/salesManagement/outboundOrder/detail.vue
  25. 1 1
      src/views/salesManagement/pushOrderManagement/detail.vue
  26. 1 1
      src/views/salesManagement/salesQuery/detail.vue
  27. 1 1
      src/views/salesManagement/salesQuery/edit.vue
  28. 1 1
      src/views/salesManagement/salesReturn/detail.vue
  29. 1 1
      src/views/salesManagement/salesReturn/salesReturnCheck.vue
  30. 1 1
      src/views/salesManagement/salesReturn/salesReturnEdit.vue
  31. 1 1
      src/views/salesManagement/salesReturn/salesReturnGrabEdit.vue
  32. 1 1
      src/views/salesManagement/waitDispatch/edit.vue
  33. 1 1
      src/views/supplierManagement/associatedProduct/add.vue
  34. 1 1
      src/views/supplierManagement/supplierInfo/edit.vue

+ 10 - 7
src/components/MultiTab/MultiTab.vue

@@ -26,7 +26,7 @@ export default {
       }
       this.closeThat(val)
     }).$on('rename', ({ key, name }) => {
-      console.log('rename', key, name)
+      // console.log('rename', key, name)
       try {
         const item = this.pages.find(item => item.path === key)
         item.meta.customTitle = name
@@ -121,15 +121,18 @@ export default {
     }
   },
   watch: {
-    '$route': function (newVal) {
+    '$route': function (newVal, oldVal) {
+      // 父页面(列表)进入子页面(编辑、详情)再返回至子页面时关闭子页面页签
+      if (oldVal && oldVal.name && newVal.query.closeLastOldTab) {
+        this.remove(oldVal.name) // 关闭子页面
+      }
       this.activeKey = newVal.name
       const index = this.tabsList.indexOf(newVal.name)
-      // 不存在
-      if (index < 0) {
+      // 解决页面地址相同参数不同时打开多个页签问题(例 详情页id或sn不同时)
+      if (index < 0) { // 不存在
         this.tabsList.push(newVal.name)
         this.pages.push(newVal)
-      } else {
-        // 已存在
+      } else { // 已存在
         this.pages.splice(index, 1, newVal)
       }
     },
@@ -160,7 +163,7 @@ export default {
             hideAdd
             type={'editable-card'}
             v-model={this.activeKey}
-            tabBarStyle={{ background: '#FFF', margin: 0, paddingLeft: '10px', paddingTop: '1px' }}
+            tabBarStyle={{ background: '#FFF', margin: 0, paddingLeft: '16px', paddingTop: '1px' }}
             {...{ on: { edit: onEdit } }}>
             {panes}
           </a-tabs>

+ 1 - 1
src/views/allocationManagement/transferOut/detail.vue

@@ -109,7 +109,7 @@ export default {
   methods: {
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/allocationManagement/transferOut/list' })
+      this.$router.push({ path: '/allocationManagement/transferOut/list', query: { closeLastOldTab: true } })
     },
     // 基本信息
     getDetail () {

+ 1 - 1
src/views/allocationManagement/transferOut/edit.vue

@@ -352,7 +352,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/allocationManagement/transferOut/list' })
+      this.$router.push({ path: '/allocationManagement/transferOut/list', query: { closeLastOldTab: true } })
     },
     //  已选产品 分页  一页多少条change
     changeChoosePageSize (current, pageSize) {

+ 1 - 1
src/views/basicData/warehouse/storingLocation/list.vue

@@ -159,7 +159,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/basicData/warehouse/list' })
+      this.$router.push({ path: '/basicData/warehouse/list', query: { closeLastOldTab: true } })
     }
   }
 }

+ 1 - 1
src/views/dealerManagement/merchantInfoManagement/edit.vue

@@ -561,7 +561,7 @@ export default {
     },
     // 返回
     handleBack () {
-      this.$router.push({ name: 'merchantInfoManagementList' })
+      this.$router.push({ path: '/dealerManagement/merchantInfoManagement/list', query: { closeLastOldTab: true } })
     },
     // 获取城市列表
     getCityList (val) {

+ 1 - 1
src/views/dealerManagement/merchantInfoManagement/permissionSetting.vue

@@ -314,7 +314,7 @@ export default {
     },
     // 返回
     handleBack () {
-      this.$router.push({ name: 'merchantInfoManagementList' })
+      this.$router.push({ path: '/dealerManagement/merchantInfoManagement/list', query: { closeLastOldTab: true } })
     },
     filterOption (input, option) {
       return (

+ 1 - 1
src/views/financialManagement/inventoryReview/detail.vue

@@ -140,7 +140,7 @@ export default {
   methods: {
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/financialManagement/inventoryReview/list' })
+      this.$router.push({ path: '/financialManagement/inventoryReview/list', query: { closeLastOldTab: true } })
     }
   }
 }

+ 1 - 1
src/views/inventoryManagement/intelligentReplenishment/edit.vue

@@ -114,7 +114,7 @@ export default {
   methods: {
     // 返回
     handleBack () {
-      this.$router.push({ path: `/inventoryManagement/intelligentReplenishment/list` })
+      this.$router.push({ path: `/inventoryManagement/intelligentReplenishment/list`, query: { closeLastOldTab: true } })
     },
     // 详情
     getDetail () {

+ 1 - 1
src/views/inventoryManagement/intelligentReplenishment/import.vue

@@ -90,7 +90,7 @@ export default {
   methods: {
     // 返回
     handleBack () {
-      this.$router.push({ path: `/inventoryManagement/intelligentReplenishment/list` })
+      this.$router.push({ path: `/inventoryManagement/intelligentReplenishment/list`, query: { closeLastOldTab: true } })
     },
     // 返回基础设置页
     handleBackSet () {

+ 1 - 1
src/views/inventoryManagement/intelligentReplenishment/set.vue

@@ -86,7 +86,7 @@ export default {
   methods: {
     // 返回
     handleBack () {
-      this.$router.push({ path: `/inventoryManagement/intelligentReplenishment/list` })
+      this.$router.push({ path: `/inventoryManagement/intelligentReplenishment/list`, query: { closeLastOldTab: true } })
     },
     // 下一步
     handlerNextStep () {

+ 1 - 1
src/views/inventoryManagement/inventoryChecking/detail.vue

@@ -132,7 +132,7 @@ export default {
     resetSearchForm () {},
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list' })
+      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true } })
     },
     //  导出
     handleExport () {

+ 1 - 1
src/views/inventoryManagement/inventoryChecking/financialAuditDetail.vue

@@ -133,7 +133,7 @@
       resetSearchForm(){},
       //  返回列表
       handleBack(){
-        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list'})
+        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true }})
       },
     }
   }

+ 1 - 1
src/views/inventoryManagement/inventoryChecking/makeInventory.vue

@@ -131,7 +131,7 @@ export default {
   methods: {
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list' })
+      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true } })
     },
     //  导入
     handleImport () {},

+ 1 - 1
src/views/inventoryManagement/inventoryChecking/makeInventoryDetail.vue

@@ -131,7 +131,7 @@
       resetSearchForm(){},
       //  返回列表
       handleBack(){
-        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list'})
+        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true }})
       },
     }
   }

+ 1 - 1
src/views/inventoryManagement/inventoryChecking/overall.vue

@@ -87,7 +87,7 @@ export default {
     },
     //  返回
     handleBack () {
-      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list' })
+      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true } })
     },
     //
     onChange () {}

+ 1 - 1
src/views/inventoryManagement/inventoryChecking/selfDisk.vue

@@ -295,7 +295,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list' })
+      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true } })
     },
     filterOption (input, option) {
       	return (

+ 1 - 1
src/views/inventoryManagement/inventoryQuery/warehouseDetail.vue

@@ -181,7 +181,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/inventoryManagement/inventoryQuery/list' })
+      this.$router.push({ path: '/inventoryManagement/inventoryQuery/list', query: { closeLastOldTab: true } })
     },
     // 仓库下拉数据
     getWarehouseList (type) {

+ 1 - 1
src/views/productManagement/productInfo/edit.vue

@@ -344,7 +344,7 @@ export default {
     },
     // 返回
     handleBack () {
-      this.$router.push({ path: '/productManagement/productInfo/list' })
+      this.$router.push({ path: '/productManagement/productInfo/list', query: { closeLastOldTab: true } })
     },
     // 产品图片上传
     changeImage (file) {

+ 1 - 1
src/views/promotionRulesManagement/promotionRules/detail.vue

@@ -213,7 +213,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/promotionRulesManagement/promotionRules/list' })
+      this.$router.push({ path: '/promotionRulesManagement/promotionRules/list', query: { closeLastOldTab: true } })
     }
   },
   watch: {

+ 1 - 1
src/views/promotionRulesManagement/promotionRules/rule.vue

@@ -131,7 +131,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/promotionRulesManagement/promotionRules/list' })
+      this.$router.push({ path: '/promotionRulesManagement/promotionRules/list', query: { closeLastOldTab: true } })
     }
   }
 }

+ 1 - 1
src/views/purchasingManagement/bulkWarehousingOrder/detailModal.vue

@@ -102,7 +102,7 @@ export default {
   methods: {
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/purchasingManagement/bulkWarehousingOrder/list' })
+      this.$router.push({ path: '/purchasingManagement/bulkWarehousingOrder/list', query: { closeLastOldTab: true } })
     },
     // 合计
     getDetailCount (params) {

+ 1 - 1
src/views/purchasingManagement/bulkWarehousingOrder/edit.vue

@@ -157,7 +157,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/purchasingManagement/bulkWarehousingOrder/list' })
+      this.$router.push({ path: '/purchasingManagement/bulkWarehousingOrder/list', query: { closeLastOldTab: true } })
     },
     // 合计
     getDetailCount (params) {

+ 7 - 1
src/views/purchasingManagement/bulkWarehousingOrder/list.vue

@@ -256,6 +256,12 @@ export default {
 </script>
 <style lang="less">
   .bulkWarehousingOrderList-wrap{
-
+    .active{
+      color: #ed1c24;
+      cursor: pointer;
+    }
+    .common{
+      color: rgba(0, 0, 0, 0.65);
+    }
   }
 </style>

+ 1 - 1
src/views/salesManagement/outboundOrder/detail.vue

@@ -97,7 +97,7 @@ export default {
   methods: {
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/salesManagement/outboundOrder/list' })
+      this.$router.push({ path: '/salesManagement/outboundOrder/list', query: { closeLastOldTab: true } })
     },
     //  获取详情
     getDetail () {

+ 1 - 1
src/views/salesManagement/pushOrderManagement/detail.vue

@@ -154,7 +154,7 @@ export default {
   methods: {
     //  返回
     handleBack () {
-      this.$router.push({ path: '/salesManagement/pushOrderManagement/list' })
+      this.$router.push({ path: '/salesManagement/pushOrderManagement/list', query: { closeLastOldTab: true } })
     },
     //  详情
     getDetail () {

+ 1 - 1
src/views/salesManagement/salesQuery/detail.vue

@@ -178,7 +178,7 @@ export default {
   methods: {
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesQueryList' })
+      this.$router.push({ path: '/salesManagement/salesQuery/list', query: { closeLastOldTab: true } })
     },
     // 编辑
     handleEdit () {

+ 1 - 1
src/views/salesManagement/salesQuery/edit.vue

@@ -251,7 +251,7 @@ export default {
     },
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesQueryList' })
+      this.$router.push({ path: '/salesManagement/salesQuery/list', query: { closeLastOldTab: true } })
     },
     // 整单删除
     delSalerDetailAll () {

+ 1 - 1
src/views/salesManagement/salesReturn/detail.vue

@@ -192,7 +192,7 @@ export default {
   methods: {
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesReturnList' })
+      this.$router.push({ path: '/salesManagement/salesReturn/list', query: { closeLastOldTab: true } })
     },
     auditOrder (billStatus) {
       this.spinning = true

+ 1 - 1
src/views/salesManagement/salesReturn/salesReturnCheck.vue

@@ -148,7 +148,7 @@ export default {
     },
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesReturnList' })
+      this.$router.push({ path: '/salesManagement/salesReturn/list', query: { closeLastOldTab: true } })
     },
     // 批量返库
     backStock () {

+ 1 - 1
src/views/salesManagement/salesReturn/salesReturnEdit.vue

@@ -150,7 +150,7 @@ export default {
   methods: {
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesReturnList' })
+      this.$router.push({ path: '/salesManagement/salesReturn/list', query: { closeLastOldTab: true } })
     },
     // 修改退货数量
     onCellChange (id, key, value) {

+ 1 - 1
src/views/salesManagement/salesReturn/salesReturnGrabEdit.vue

@@ -150,7 +150,7 @@ export default {
   methods: {
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesReturnList' })
+      this.$router.push({ path: '/salesManagement/salesReturn/list', query: { closeLastOldTab: true } })
     },
     // 修改退货数量
     onCellChange (id, key, value) {

+ 1 - 1
src/views/salesManagement/waitDispatch/edit.vue

@@ -243,7 +243,7 @@ export default {
     },
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesQueryList' })
+      this.$router.push({ path: '/salesManagement/salesQuery/list', query: { closeLastOldTab: true } })
     },
     // 批量删除
     delSalerDetailAll () {

+ 1 - 1
src/views/supplierManagement/associatedProduct/add.vue

@@ -153,7 +153,7 @@ export default {
   methods: {
     // 返回
     handleBack () {
-      this.$router.push({ name: 'supplierInfoList' })
+      this.$router.push({ path: '/supplierManagement/supplierInfo/list', query: { closeLastOldTab: true } })
     },
     //  产品分类  change
     changeProductType (val, opt) {

+ 1 - 1
src/views/supplierManagement/supplierInfo/edit.vue

@@ -379,7 +379,7 @@ export default {
     },
     // 返回
     handleBack () {
-      this.$router.push({ name: 'supplierInfoList' })
+      this.$router.push({ path: '/supplierManagement/supplierInfo/list', query: { closeLastOldTab: true } })
     },
     // 获取城市列表
     getCityList (val) {