소스 검색

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

chenrui 3 년 전
부모
커밋
5a164a682e
42개의 변경된 파일51개의 추가작업 그리고 48개의 파일을 삭제
  1. 8 5
      src/components/MultiTab/MultiTab.vue
  2. 1 1
      src/views/allocationManagement/chainTransferIn/detail.vue
  3. 1 1
      src/views/allocationManagement/chainTransferIn/edit.vue
  4. 1 1
      src/views/allocationManagement/chainTransferOut/detail.vue
  5. 1 1
      src/views/allocationManagement/chainTransferOut/edit.vue
  6. 1 1
      src/views/allocationManagement/storeTransferOut/detail.vue
  7. 1 1
      src/views/allocationManagement/storeTransferOut/edit.vue
  8. 1 1
      src/views/allocationManagement/warehouseAllocation/detail.vue
  9. 1 1
      src/views/allocationManagement/warehouseAllocation/edit.vue
  10. 1 1
      src/views/bulkManagement/bulkReturnGoods/edit.vue
  11. 1 1
      src/views/bulkManagement/bulkWarehousingOrder/detail.vue
  12. 1 1
      src/views/bulkManagement/bulkWarehousingOrder/edit.vue
  13. 2 2
      src/views/customerManagement/customerInfo/edit.vue
  14. 1 1
      src/views/financialManagement/companyCollectionPayment/detail.vue
  15. 1 1
      src/views/financialManagement/companyReceivablePayable/collectionPayment.vue
  16. 1 1
      src/views/financialManagement/companyReceivablePayable/detail.vue
  17. 1 1
      src/views/financialManagement/expenseManagement/edit.vue
  18. 1 1
      src/views/financialManagement/expenseManagement/list.vue
  19. 1 1
      src/views/financialManagement/inventoryReview/detail.vue
  20. 1 1
      src/views/financialManagement/warehousingAudit/detail.vue
  21. 1 1
      src/views/inventoryManagement/inventoryChecking/detail.vue
  22. 1 1
      src/views/inventoryManagement/inventoryChecking/financialAuditDetail.vue
  23. 1 1
      src/views/inventoryManagement/inventoryChecking/makeInventory.vue
  24. 1 1
      src/views/inventoryManagement/inventoryChecking/makeInventoryDetail.vue
  25. 1 1
      src/views/inventoryManagement/inventoryChecking/overall.vue
  26. 1 1
      src/views/inventoryManagement/inventoryChecking/selfDisk.vue
  27. 1 1
      src/views/inventoryManagement/inventoryQuery/warehouseDetail.vue
  28. 1 1
      src/views/inventoryManagement/warehouse/storingLocation/list.vue
  29. 2 2
      src/views/productManagement/productInfo/edit.vue
  30. 1 1
      src/views/purchasingManagement/purchaseOrder/detail.vue
  31. 1 1
      src/views/purchasingManagement/purchaseOrder/edit.vue
  32. 1 1
      src/views/purchasingManagement/purchaseOrder/warehousing.vue
  33. 1 1
      src/views/purchasingManagement/purchaseReturn/detail.vue
  34. 1 1
      src/views/purchasingManagement/purchaseReturn/edit.vue
  35. 1 1
      src/views/salesManagement/quotation/detail.vue
  36. 1 1
      src/views/salesManagement/quotation/edit.vue
  37. 1 1
      src/views/salesManagement/salesQuery/detail.vue
  38. 1 1
      src/views/salesManagement/salesQuery/edit.vue
  39. 1 1
      src/views/salesManagement/salesReturn/detail.vue
  40. 1 1
      src/views/salesManagement/salesReturn/salesReturnEdit.vue
  41. 1 1
      src/views/salesManagement/salesReturn/salesReturnGrabEdit.vue
  42. 1 1
      src/views/salesManagement/urgentItemsOffset/detail.vue

+ 8 - 5
src/components/MultiTab/MultiTab.vue

@@ -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)
       }
     },

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

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

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

@@ -250,7 +250,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/allocationManagement/chainTransferIn/list' })
+      this.$router.push({ path: '/allocationManagement/chainTransferIn/list', query: { closeLastOldTab: true } })
     },
     //  产品分类  change
     changeProductType (val, opt) {

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

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

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

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

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

@@ -114,7 +114,7 @@ export default {
   methods: {
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/allocationManagement/storeTransferOut/list' })
+      this.$router.push({ path: '/allocationManagement/storeTransferOut/list', query: { closeLastOldTab: true } })
     },
     // 打印预览/快捷打印
     handlePrint (type) {

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

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

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

@@ -120,7 +120,7 @@ export default {
   methods: {
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/allocationManagement/warehouseAllocation/list' })
+      this.$router.push({ path: '/allocationManagement/warehouseAllocation/list', query: { closeLastOldTab: true } })
     },
     //  新增/编辑
     handleEdit () {

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

@@ -479,7 +479,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/allocationManagement/warehouseAllocation/list' })
+      this.$router.push({ path: '/allocationManagement/warehouseAllocation/list', query: { closeLastOldTab: true } })
     },
     // 产品列表数据
     getProductList (pageNo) {

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

@@ -291,7 +291,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/bulkManagement/bulkReturnGoods/list' })
+      this.$router.push({ path: '/bulkManagement/bulkReturnGoods/list', query: { closeLastOldTab: true } })
     },
     //  导入明细
     handleImport () {

+ 1 - 1
src/views/bulkManagement/bulkWarehousingOrder/detail.vue

@@ -153,7 +153,7 @@ export default {
   methods: {
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/bulkManagement/bulkWarehousingOrder/list' })
+      this.$router.push({ path: '/bulkManagement/bulkWarehousingOrder/list', query: { closeLastOldTab: true } })
     },
     // 打印预览/快捷打印
     handlePrint (type) {

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

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

+ 2 - 2
src/views/customerManagement/customerInfo/edit.vue

@@ -243,7 +243,7 @@ export default {
               _this.$message.success(res.message)
               if (_this.model == 'page') {
                 setTimeout(() => {
-                  _this.$router.push({ path: '/customerManagement/customerInfo/list' })
+                  _this.handleBack()
                 }, 600)
               } else {
                 _this.$emit('ok', res.data)
@@ -261,7 +261,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/customerManagement/customerInfo/list' })
+      this.$router.push({ path: '/customerManagement/customerInfo/list', query: { closeLastOldTab: true } })
     },
     // 获取城市列表
     getCityList (val) {

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

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

+ 1 - 1
src/views/financialManagement/companyReceivablePayable/collectionPayment.vue

@@ -301,7 +301,7 @@ export default {
     },
     // 返回列表
     handleBack () {
-      this.$router.push({ path: `/financialManagement/companyReceivablePayable/list` })
+      this.$router.push({ path: `/financialManagement/companyReceivablePayable/list`, query: { closeLastOldTab: true } })
     },
     // 关闭
     handleClose () {

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

@@ -129,7 +129,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/financialManagement/companyReceivablePayable/list' })
+      this.$router.push({ path: '/financialManagement/companyReceivablePayable/list', query: { closeLastOldTab: true } })
     },
     // 合计
     getTotal (param) {

+ 1 - 1
src/views/financialManagement/expenseManagement/edit.vue

@@ -187,7 +187,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ name: 'expenseManagementList' })
+      this.$router.push({ path: '/financialManagement/expenseManagement/list', query: { closeLastOldTab: true } })
     }
   },
   beforeRouteEnter (to, from, next) {

+ 1 - 1
src/views/financialManagement/expenseManagement/list.vue

@@ -90,7 +90,7 @@
             size="small"
             type="link"
             v-if="record.state == 'WAIT_AUDIT' && $hasPermissions('B_expenseAudit')"
-            class="button-warring"
+            class="button-warning"
             @click="handleAudit(record)"
             id="expenseManagement-audit-btn">审核</a-button>
           <a-button

+ 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/financialManagement/warehousingAudit/detail.vue

@@ -103,7 +103,7 @@ export default {
   methods: {
     //  返回列表
     handleBack () {
-      this.$router.push({ path: '/financialManagement/warehousingAudit/list' })
+      this.$router.push({ path: '/financialManagement/warehousingAudit/list', query: { closeLastOldTab: true } })
     },
     // 打印预览/快捷打印
     handlePrint (type) {

+ 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

@@ -132,7 +132,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

@@ -130,7 +130,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/inventoryManagement/warehouse/storingLocation/list.vue

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

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

@@ -244,7 +244,7 @@ export default {
             if (res.status == 200) {
               _this.$message.success(res.message)
               setTimeout(() => {
-                _this.$router.push({ path: '/productManagement/productInfo/list' })
+                _this.$router.push({ path: '/productManagement/productInfo/list', query: { closeLastOldTab: true } })
                 _this.spinning = false
               }, 1000)
             } else {
@@ -273,7 +273,7 @@ export default {
     },
     //  返回
     handleBack () {
-      this.$router.push({ path: '/productManagement/productInfo/list' })
+      this.$router.push({ path: '/productManagement/productInfo/list', query: { closeLastOldTab: true } })
     },
     //  产品品牌  列表
     getProductBrand (val) {

+ 1 - 1
src/views/purchasingManagement/purchaseOrder/detail.vue

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

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

@@ -481,7 +481,7 @@ export default {
     },
     //  返回列表
     handleBack () {
-      this.$router.push({ name: 'purchaseOrderList' })
+      this.$router.push({ path: '/purchasingManagement/purchaseOrder/list', query: { closeLastOldTab: true } })
     }
   },
   beforeRouteEnter (to, from, next) {

+ 1 - 1
src/views/purchasingManagement/purchaseOrder/warehousing.vue

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

+ 1 - 1
src/views/purchasingManagement/purchaseReturn/detail.vue

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

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

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

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

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

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

@@ -325,7 +325,7 @@
       },
       //  返回列表
       handleBack(){
-        this.$router.push({ path: '/salesManagement/quotation/list'})
+        this.$router.push({ path: '/salesManagement/quotation/list', query: { closeLastOldTab: true }})
       },
       //  编辑客户名称
       handleEditCustom(){},

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

@@ -166,7 +166,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

@@ -306,7 +306,7 @@ export default {
     },
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesQueryList' })
+      this.$router.push({ path: '/salesManagement/salesQuery/list', query: { closeLastOldTab: true } })
     },
     // 打折
     salesDiscount () {

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

@@ -129,7 +129,7 @@ export default {
   methods: {
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesReturnList' })
+      this.$router.push({ path: '/salesManagement/salesReturn/list', query: { closeLastOldTab: true } })
     },
     // 明细统计
     getQueryCount (params) {

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

@@ -245,7 +245,7 @@ export default {
   methods: {
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesReturnList' })
+      this.$router.push({ path: '/salesManagement/salesReturn/list', query: { closeLastOldTab: true } })
     },
     // 选择客户成功
     chooseCustomOk (data) {

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

@@ -237,7 +237,7 @@ export default {
   methods: {
     //  返回
     handleBack () {
-      this.$router.push({ name: 'salesReturnList' })
+      this.$router.push({ path: '/salesManagement/salesReturn/list', query: { closeLastOldTab: true } })
     },
     // 选择客户成功
     chooseCustomOk (data) {

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

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