Browse Source

所有页签不刷新。页签切换不刷新 保留查询条件,新页签打开不保留查询条件,二级页面(编辑详情等)通过按钮进入页面刷新数据不保留查询条件

chenrui 3 years ago
parent
commit
ebf28aa65b
100 changed files with 1200 additions and 3241 deletions
  1. 21 5
      src/components/MultiTab/MultiTab.vue
  2. 15 3
      src/components/UploadFile/index.vue
  3. 0 155
      src/config/router.config.js
  4. 3 1
      src/store/getters.js
  5. 2 1
      src/store/modules/app.js
  6. 16 9
      src/views/allocationManagement/transferOut/detail.vue
  7. 15 13
      src/views/allocationManagement/transferOut/edit.vue
  8. 15 12
      src/views/allocationManagement/transferOut/list.vue
  9. 13 6
      src/views/basicData/transferTypeManagement/list.vue
  10. 12 7
      src/views/basicData/warehouse/list.vue
  11. 12 7
      src/views/basicData/warehouse/storingLocation/list.vue
  12. 13 6
      src/views/dealerManagement/dealerAccountManagement/list.vue
  13. 13 10
      src/views/dealerManagement/dealerRelationshipBinding/list.vue
  14. 12 6
      src/views/dealerManagement/marketingDivisionSet/list.vue
  15. 19 7
      src/views/dealerManagement/merchantInfoManagement/edit.vue
  16. 14 9
      src/views/dealerManagement/merchantInfoManagement/list.vue
  17. 19 9
      src/views/dealerManagement/merchantInfoManagement/permissionSetting.vue
  18. 13 6
      src/views/dealerManagement/rebateSettings/list.vue
  19. 15 12
      src/views/financialManagement/financialCollection/list.vue
  20. 0 161
      src/views/financialManagement/inventoryReview/detail.vue
  21. 0 174
      src/views/financialManagement/inventoryReview/list.vue
  22. 14 11
      src/views/financialManagement/returnConfirmation/list.vue
  23. 12 9
      src/views/financialManagement/warehousingConfirmation/list.vue
  24. 15 8
      src/views/inventoryManagement/intelligentReplenishment/edit.vue
  25. 12 0
      src/views/inventoryManagement/intelligentReplenishment/import.vue
  26. 12 9
      src/views/inventoryManagement/intelligentReplenishment/list.vue
  27. 17 0
      src/views/inventoryManagement/intelligentReplenishment/set.vue
  28. 0 199
      src/views/inventoryManagement/inventoryChecking/checkingTipsModal.vue
  29. 0 155
      src/views/inventoryManagement/inventoryChecking/checkingTypeModal.vue
  30. 0 183
      src/views/inventoryManagement/inventoryChecking/detail.vue
  31. 0 146
      src/views/inventoryManagement/inventoryChecking/financialAuditDetail.vue
  32. 0 233
      src/views/inventoryManagement/inventoryChecking/list.vue
  33. 0 187
      src/views/inventoryManagement/inventoryChecking/makeInventory.vue
  34. 0 144
      src/views/inventoryManagement/inventoryChecking/makeInventoryDetail.vue
  35. 0 108
      src/views/inventoryManagement/inventoryChecking/overall.vue
  36. 0 326
      src/views/inventoryManagement/inventoryChecking/selfDisk.vue
  37. 14 11
      src/views/inventoryManagement/inventoryQuery/list.vue
  38. 22 13
      src/views/inventoryManagement/inventoryQuery/warehouseDetail.vue
  39. 15 41
      src/views/inventoryManagement/inventoryWarning/list.vue
  40. 18 4
      src/views/power/OperateJournal/OperateJournal.vue
  41. 19 6
      src/views/power/dataDictionary/dataDictionary.vue
  42. 18 4
      src/views/power/role/roleList.vue
  43. 18 4
      src/views/power/user/userList.vue
  44. 12 14
      src/views/productManagement/newProduct/detail.vue
  45. 16 11
      src/views/productManagement/newProduct/list.vue
  46. 16 10
      src/views/productManagement/priceChangeRecord/list.vue
  47. 13 6
      src/views/productManagement/productBrand/list.vue
  48. 5 0
      src/views/productManagement/productCategory/list.vue
  49. 23 11
      src/views/productManagement/productInfo/edit.vue
  50. 16 11
      src/views/productManagement/productInfo/list.vue
  51. 17 10
      src/views/productManagement/productLaunchAudit/list.vue
  52. 22 16
      src/views/productManagement/productLevel/list.vue
  53. 22 16
      src/views/productManagement/productOfflineAudit/list.vue
  54. 16 10
      src/views/productManagement/productPricing/list.vue
  55. 13 6
      src/views/productManagement/productUniversal/list.vue
  56. 0 116
      src/views/productManagement/purchaseBaseLimit/editModal.vue
  57. 0 255
      src/views/productManagement/purchaseBaseLimit/list.vue
  58. 14 11
      src/views/promotionRulesManagement/orderStatistics/list.vue
  59. 16 13
      src/views/promotionRulesManagement/productStatistics/list.vue
  60. 20 9
      src/views/promotionRulesManagement/promotionRules/detail.vue
  61. 12 9
      src/views/promotionRulesManagement/promotionRules/list.vue
  62. 19 9
      src/views/promotionRulesManagement/promotionRules/rule.vue
  63. 11 12
      src/views/purchasingManagement/bulkWarehousingOrder/edit.vue
  64. 15 12
      src/views/purchasingManagement/bulkWarehousingOrder/list.vue
  65. 8 3
      src/views/reportData/actualSalesReport/list.vue
  66. 15 7
      src/views/reportData/allocationDetails/list.vue
  67. 12 4
      src/views/reportData/allocationOrderTotal/list.vue
  68. 11 3
      src/views/reportData/billingReturnReport/list.vue
  69. 10 0
      src/views/reportData/districtTypeSalesDetails/list.vue
  70. 11 3
      src/views/reportData/hPriceDifferenceDetailReport/list.vue
  71. 10 0
      src/views/reportData/nationalCustomerCostStatistics/list.vue
  72. 11 3
      src/views/reportData/priceDifferenceDetailReport/list.vue
  73. 10 0
      src/views/reportData/provinceTypeSalesDetails/list.vue
  74. 10 0
      src/views/reportData/regionalPromotionCostStatistics/list.vue
  75. 11 3
      src/views/reportData/returnSlipReport/list.vue
  76. 11 3
      src/views/reportData/salesAmountReport/list.vue
  77. 10 0
      src/views/reportData/salesDetails/list.vue
  78. 13 5
      src/views/reportData/salesReturnDetailReport/list.vue
  79. 11 3
      src/views/reportData/salesReturnReport/list.vue
  80. 11 3
      src/views/reportData/salesReturnsReport/list.vue
  81. 11 3
      src/views/reportData/salesSlipReport/list.vue
  82. 12 9
      src/views/salesManagement/backorder/list.vue
  83. 21 18
      src/views/salesManagement/examineVerify/list.vue
  84. 15 12
      src/views/salesManagement/outboundOrder/list.vue
  85. 16 13
      src/views/salesManagement/priceInquiry/list.vue
  86. 13 7
      src/views/salesManagement/pushOrderManagement/detail.vue
  87. 15 12
      src/views/salesManagement/pushOrderManagement/list.vue
  88. 13 7
      src/views/salesManagement/salesQuery/detail.vue
  89. 16 17
      src/views/salesManagement/salesQuery/edit.vue
  90. 21 18
      src/views/salesManagement/salesQuery/list.vue
  91. 13 7
      src/views/salesManagement/salesReturn/detail.vue
  92. 15 12
      src/views/salesManagement/salesReturn/list.vue
  93. 20 14
      src/views/salesManagement/salesReturn/salesReturnCheck.vue
  94. 10 11
      src/views/salesManagement/salesReturn/salesReturnEdit.vue
  95. 11 7
      src/views/salesManagement/salesReturn/salesReturnGrabEdit.vue
  96. 17 14
      src/views/salesManagement/shortageStatisticsC/list.vue
  97. 14 11
      src/views/salesManagement/shortageStatisticsP/list.vue
  98. 12 14
      src/views/salesManagement/waitDispatch/edit.vue
  99. 1 0
      src/views/salesManagement/waitDispatch/queryPart.vue
  100. 13 8
      src/views/setting/notice/list.vue

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

@@ -44,6 +44,17 @@ export default {
     onEdit (targetKey, action) {
       this[action](targetKey)
     },
+    onChange (targetKey) {
+      const index = this.tabsList.indexOf(targetKey)
+      if (index >= 0) {
+        const row = this.pages[index]
+        if (row && row.fullPath && row.fullPath.indexOf('/list') == -1) { // 非列表页
+          this.$store.state.app.isNewSubTab = true
+        } else {
+          this.$store.state.app.isNewSubTab = false
+        }
+      }
+    },
     remove (targetKey) {
       this.pages = this.pages.filter(page => page.name !== targetKey)
       this.tabsList = this.tabsList.filter(name => name !== targetKey)
@@ -55,7 +66,6 @@ export default {
     selectedLastPath () {
       this.activeKey = this.tabsList[this.tabsList.length - 1]
     },
-
     // content menu
     refashThat (e) {
       this.reloadView()
@@ -104,9 +114,16 @@ export default {
       this[key](route)
     },
     renderTabPaneMenu (e) {
+      // return (
+      //   <a-menu {...{ on: { click: ({ key, item, domEvent }) => { this.closeMenuClick(key, e) } } }}>
+      //     {this.activeKey == e ? (<a-menu-item key="refashThat">刷新页面</a-menu-item>) : ''}
+      //     <a-menu-item key="closeRight">关闭右侧</a-menu-item>
+      //     <a-menu-item key="closeLeft">关闭左侧</a-menu-item>
+      //     <a-menu-item key="closeAll">关闭全部</a-menu-item>
+      //   </a-menu>
+      // )
       return (
         <a-menu {...{ on: { click: ({ key, item, domEvent }) => { this.closeMenuClick(key, e) } } }}>
-          {this.activeKey == e ? (<a-menu-item key="refashThat">刷新页面</a-menu-item>) : ''}
           <a-menu-item key="closeRight">关闭右侧</a-menu-item>
           <a-menu-item key="closeLeft">关闭左侧</a-menu-item>
           <a-menu-item key="closeAll">关闭全部</a-menu-item>
@@ -146,7 +163,6 @@ export default {
     },
     activeKey: function (newPathKey) {
       const row = this.pages.find(item => item.name == newPathKey)
-      // console.log(row, '+++', row.fullPath)
       if (row.fullPath.indexOf('/list') == -1) {
         this.$router.push({ path: row.fullPath })
       } else {
@@ -156,7 +172,7 @@ export default {
     }
   },
   render () {
-    const { onEdit, refashThat, $data: { pages } } = this
+    const { onEdit, onChange, refashThat, $data: { pages } } = this
     const panes = pages.map(page => {
       return (
         <a-tab-pane
@@ -181,7 +197,7 @@ export default {
             type={'editable-card'}
             v-model={this.activeKey}
             tabBarStyle={{ background: '#FFF', margin: 0, paddingLeft: '16px', paddingTop: '1px' }}
-            {...{ on: { edit: onEdit } }}>
+            {...{ on: { edit: onEdit, 'change': onChange } }}>
             {panes}
           </a-tabs>
         </div>

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

@@ -7,6 +7,7 @@
       :disabled="disabled"
       @preview="handlePreview"
       @change="handleChange"
+      :remove="handleRemove"
       :beforeUpload="beforeUpload"
       :data="params"
       :value="comVal"
@@ -144,11 +145,22 @@ export default {
       this.previewImage = file.url || file.thumbUrl
       this.previewVisible = true
     },
+    handleRemove (file) {
+      this.$emit('remove')
+    },
     handleChange ({ file, fileList }) {
       // console.log(file, fileList, '-----change')
-      if (file.status == 'error' || (file.response && (file.response.status == 500))) {
-        this.$message.error('上传失败,请重试!')
-        return
+      // if (file.status == 'error' || (file.response && (file.response.status == 500 || file.response.status == 900))) {
+      //   this.$message.error('上传失败,请重试!')
+      //   this.$emit('remove')
+      //   return
+      // }
+      if (file.response && (file.response.status == 500 || file.response.status == 900)) {
+        if (file.status == 'error' || file.status == 'done') {
+          this.$message.error(file.response.message || '上传失败,请重试!')
+          this.$emit('remove')
+          return
+        }
       }
       this.fileList = this.validaFile(file, fileList)
       this.$emit('change', this.formatFile())

+ 0 - 155
src/config/router.config.js

@@ -476,43 +476,6 @@ export const asyncRouterMap = [
           permission: 'M_financialManagement'
         },
         children: [
-          // 二期
-          // {
-          //   path: '/financialManagement/inventoryReview',
-          //   redirect: '/financialManagement/inventoryReview/list',
-          //   name: 'inventoryReview',
-          //   component: BlankLayout,
-          //   meta: {
-          //     title: '盘点审核',
-          //     icon: 'laptop'
-          //     // permission: 'M_goodsManage_list'
-          //   },
-          //   hideChildrenInMenu: true,
-          //   children: [
-          //     {
-          //       path: 'list',
-          //       name: 'inventoryReviewList',
-          //       component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/inventoryReview/list.vue'),
-          //       meta: {
-          //         title: '盘点审核列表',
-          //         icon: 'laptop',
-          //         hidden: true
-          //         // permission: 'M_goodsManage_list'
-          //       }
-          //     },
-          //     {
-          //       path: 'detail/:id',
-          //       name: 'inventoryReviewDetail',
-          //       component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/inventoryReview/detail.vue'),
-          //       meta: {
-          //         title: '盘点审核详情',
-          //         icon: 'laptop',
-          //         hidden: true
-          //         // permission: 'B_goodsManage_edit'
-          //       }
-          //     }
-          //   ]
-          // },
           {
             path: '/financialManagement/warehousingConfirmation',
             redirect: '/financialManagement/warehousingConfirmation/list',
@@ -732,98 +695,6 @@ export const asyncRouterMap = [
               }
             ]
           }
-          // 二期
-          // {
-          //   path: '/inventoryManagement/inventoryChecking',
-          //   redirect: '/inventoryManagement/inventoryChecking/list',
-          //   name: 'inventoryChecking',
-          //   component: BlankLayout,
-          //   meta: {
-          //     title: '库存盘点',
-          //     icon: 'reconciliation'
-          //     // permission: 'M_goodsManage_list'
-          //   },
-          //   hideChildrenInMenu: true,
-          //   children: [
-          //     {
-          //       path: 'list',
-          //       name: 'inventoryCheckingList',
-          //       component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/list.vue'),
-          //       meta: {
-          //         title: '库存盘点列表',
-          //         icon: 'reconciliation',
-          //         hidden: true
-          //         // permission: 'M_goodsManage_list'
-          //       }
-          //     },
-          //     {
-          //       path: 'overall/:id',
-          //       name: 'inventoryCheckingOverall',
-          //       component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/overall.vue'),
-          //       meta: {
-          //         title: '盘点人盘点【全盘】',
-          //         icon: 'reconciliation',
-          //         hidden: true
-          //         // permission: 'B_goodsManage_edit'
-          //       }
-          //     },
-          //     {
-          //       path: 'selfDisk/:id',
-          //       name: 'inventoryCheckingSelfDisk',
-          //       component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/selfDisk.vue'),
-          //       meta: {
-          //         title: '盘点人盘点【自选盘点】',
-          //         icon: 'reconciliation',
-          //         hidden: true
-          //         // permission: 'B_goodsManage_edit'
-          //       }
-          //     },
-          //     {
-          //       path: 'detail/:id',
-          //       name: 'inventoryCheckingDetail',
-          //       component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/detail.vue'),
-          //       meta: {
-          //         title: '库存盘点详情',
-          //         icon: 'reconciliation',
-          //         hidden: true
-          //         // permission: 'B_goodsManage_edit'
-          //       }
-          //     },
-          //     {
-          //       path: 'makeInventory/:id',
-          //       name: 'inventoryCheckingMakeInventory',
-          //       component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/makeInventory.vue'),
-          //       meta: {
-          //         title: '待盘点【盘点】',
-          //         icon: 'reconciliation',
-          //         hidden: true
-          //         // permission: 'B_goodsManage_edit'
-          //       }
-          //     },
-          //     {
-          //       path: 'makeInventory/detail/:id', /* 待盘点【盘点】详情  */
-          //       name: 'inventoryCheckingMakeInventoryDetail',
-          //       component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/makeInventoryDetail.vue'),
-          //       meta: {
-          //         title: '库存盘点详情',
-          //         icon: 'reconciliation',
-          //         hidden: true
-          //         // permission: 'B_goodsManage_edit'
-          //       }
-          //     },
-          //     {
-          //       path: 'financialAudit/detail/:id', /* 财务审核详情  */
-          //       name: 'inventoryCheckingFinancialAuditDetail',
-          //       component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/financialAuditDetail.vue'),
-          //       meta: {
-          //         title: '库存盘点详情',
-          //         icon: 'reconciliation',
-          //         hidden: true
-          //         // permission: 'B_goodsManage_edit'
-          //       }
-          //     }
-          //   ]
-          // }
         ]
       },
       // 调拨管理
@@ -1589,32 +1460,6 @@ export const asyncRouterMap = [
               }
             ]
           }
-          // 二期
-          // {
-          //   path: '/productManagement/purchaseBaseLimit',
-          //   redirect: '/productManagement/purchaseBaseLimit/list',
-          //   name: 'purchaseBaseLimit',
-          //   component: BlankLayout,
-          //   meta: {
-          //     title: '产品采购基数限制',
-          //     icon: 'sliders'
-          //     // permission: 'M_goodsManage_list'
-          //   },
-          //   hideChildrenInMenu: true,
-          //   children: [
-          //     {
-          //       path: 'list',
-          //       name: 'purchaseBaseLimitList',
-          //       component: () => import(/* webpackChunkName: "shop" */ '@/views/productManagement/purchaseBaseLimit/list.vue'),
-          //       meta: {
-          //         title: '采购基数限制列表',
-          //         icon: 'sliders',
-          //         hidden: true
-          //         // permission: 'M_goodsManage_list'
-          //       }
-          //     }
-          //   ]
-          // }
         ]
       },
       // 经销商管理

+ 3 - 1
src/store/getters.js

@@ -11,7 +11,9 @@ const getters = {
   userInfo: state => state.user.info,
   addRouters: state => state.permission.addRouters,
   multiTab: state => state.app.multiTab,
-  lang: state => state.i18n.lang
+  lang: state => state.i18n.lang,
+  isNewTab: state => state.app.isNewTab,
+  isNewSubTab: state => state.app.isNewSubTab
 }
 
 export default getters

+ 2 - 1
src/store/modules/app.js

@@ -25,7 +25,8 @@ const app = {
     color: null,
     weak: false,
     multiTab: true,
-    isNewTab: false
+    isNewTab: false,
+    isNewSubTab: false
   },
   mutations: {
     SET_SIDEBAR_TYPE: (state, type) => {

+ 16 - 9
src/views/allocationManagement/transferOut/detail.vue

@@ -62,6 +62,7 @@
           :columns="columns"
           :data="loadData"
           :scroll="{ x: 1335 }"
+          :defaultLoadData="false"
           bordered>
         </s-table>
       </a-card>
@@ -199,20 +200,26 @@ export default {
         window.frames['printftod'].focus()
         window.frames['printftod'].print()
       }
+    },
+    pageInit () {
+      this.$refs.table.refresh(true)
+      this.getDetail()
+      this.getDetailCount()
     }
   },
   mounted () {
-    this.getDetail()
-    this.getDetailCount()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.spinning) {
-        vm.getDetail()
-        vm.getDetailCount()
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 15 - 13
src/views/allocationManagement/transferOut/edit.vue

@@ -81,6 +81,7 @@
               :customRow="handleClickRow"
               :data="loadData"
               :scroll="{ x: 990, y: 300 }"
+              :defaultLoadData="false"
               bordered>
               <!-- 操作 -->
               <template slot="action1" slot-scope="text, record">
@@ -142,6 +143,7 @@
               :columns="chooseColumns"
               :data="chooseLoadData"
               :scroll="{ x: 1160, y: 300 }"
+              :defaultLoadData="false"
               bordered>
               <!-- 售价 -->
               <template slot="price" slot-scope="text, record, index">
@@ -547,24 +549,24 @@ export default {
       this.$refs.chooseTable.refresh()
     },
     pageInit () {
-      if (!this.spinning) {
-        this.getDetail()
-      }
-      if (!this.disabled) {
-        this.resetSearchForm()
-      }
-      if (!this.chooseDisabled) {
-        this.chooseResetSearchForm()
-      }
+      this.getDetail()
+      this.resetSearchForm()
+      this.chooseResetSearchForm()
     }
   },
   mounted () {
-    this.pageInit()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.pageInit()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 15 - 12
src/views/allocationManagement/transferOut/list.vue

@@ -282,17 +282,18 @@ export default {
       document.body.appendChild(link)
       link.click()
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.openModal = false
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -301,19 +302,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.openModal = false
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 13 - 6
src/views/basicData/transferTypeManagement/list.vue

@@ -116,22 +116,29 @@ export default {
       this.openModal = false
       this.$refs.table.refresh(true)
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.$refs.table.refresh(true)
+      this.pageInit()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
       this.$refs.table.refresh(true)
+      this.pageInit()
     }
-  },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
   }
 }
 </script>

+ 12 - 7
src/views/basicData/warehouse/list.vue

@@ -152,27 +152,32 @@ export default {
     goStoringLocation (row) {
       this.$router.push({ path: `/basicData/storingLocation/${row.warehouseSn}`, query: { name: row.name } })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.$refs.table.refresh()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 12 - 7
src/views/basicData/warehouse/storingLocation/list.vue

@@ -162,27 +162,32 @@ export default {
     handleBack () {
       this.$router.push({ path: '/basicData/warehouse/list', query: { closeLastOldTab: true } })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 285
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.resetSearchForm()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 13 - 6
src/views/dealerManagement/dealerAccountManagement/list.vue

@@ -209,22 +209,29 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
-  },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
   }
 }
 </script>

+ 13 - 10
src/views/dealerManagement/dealerRelationshipBinding/list.vue

@@ -123,16 +123,6 @@ export default {
       dealerSn: []
     }
   },
-  mounted () {
-    this.tableHeight = window.innerHeight - 290
-    this.getList()
-  },
-  activated () {
-    // 如果是新页签打开,则重置当前页面
-    if (this.$store.state.app.isNewTab) {
-      this.resetSearchForm()
-    }
-  },
   methods: {
     expand (expanded, record) {
       this.nowData = record
@@ -247,6 +237,19 @@ export default {
         }
       })
     }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.tableHeight = window.innerHeight - 290
+      this.resetSearchForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.tableHeight = window.innerHeight - 290
+      this.resetSearchForm()
+    }
   }
 }
 </script>

+ 12 - 6
src/views/dealerManagement/marketingDivisionSet/list.vue

@@ -129,26 +129,32 @@ export default {
       this.nowData = null
       this.openModal = false
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-    })
+    next(vm => {})
   }
 }
 </script>

+ 19 - 7
src/views/dealerManagement/merchantInfoManagement/edit.vue

@@ -667,16 +667,28 @@ export default {
           }
         }
       })
+    },
+    pageInit () {
+      this.getArea('province')
+      this.$refs.ruleForm.resetFields()
+      if (this.$route.params.id) { //  编辑页
+        this.getDetail()
+      }
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-      vm.$refs.ruleForm.resetFields()
-      if (vm.$route.params.id) { //  编辑页
-        vm.getDetail()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 14 - 9
src/views/dealerManagement/merchantInfoManagement/list.vue

@@ -261,17 +261,17 @@ export default {
       document.body.appendChild(link)
       link.click()
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -280,16 +280,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.$refs.table.refresh()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 19 - 9
src/views/dealerManagement/merchantInfoManagement/permissionSetting.vue

@@ -57,6 +57,7 @@
           :columns="columns"
           :data="loadData"
           :scroll="{ x: 930, y: tableHeight }"
+          :defaultLoadData="false"
           bordered>
           <!-- 操作 -->
           <template slot="action" slot-scope="text, record">
@@ -279,23 +280,32 @@ export default {
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 295
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.$refs.table.refresh(true)
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.$refs.table.refresh(true)
+      this.pageInit()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.$refs.table.refresh(true)
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 13 - 6
src/views/dealerManagement/rebateSettings/list.vue

@@ -128,22 +128,29 @@ export default {
       this.nowData = null
       this.openModal = false
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  }
 }
 </script>

+ 15 - 12
src/views/financialManagement/financialCollection/list.vue

@@ -318,17 +318,18 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getArea('province')
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -337,19 +338,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 0 - 161
src/views/financialManagement/inventoryReview/detail.vue

@@ -1,161 +0,0 @@
-<template>
-  <div class="inventoryReviewDetail-wrap">
-    <a-page-header :ghost="false" @back="handleBack" >
-      <!-- 自定义的二级文字标题 -->
-      <template slot="subTitle">
-        <a id="inventoryReviewDetail-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
-      </template>
-      <!-- 操作区,位于 title 行的行尾 -->
-      <!-- <template slot="extra">
-        <a-button key="2" id="inventoryReviewDetail-preview-btn">打印预览</a-button>
-        <a-button key="1" type="primary" id="inventoryReviewDetail-print-btn">快速打印</a-button>
-      </template> -->
-    </a-page-header>
-    <!-- 内容 -->
-    <a-page-header title="盘点单号:CG2021010100001" ></a-page-header>
-    <!-- alert -->
-    <a-alert type="info" style="margin-bottom:10px">
-      <div slot="message"><strong class="red">红色代表盘盈</strong>,<strong class="green">绿色代表盈亏</strong></div>
-    </a-alert>
-    <!-- 盈亏统计 -->
-    <a-card size="small" :bordered="false" class="inventoryReviewDetail-cont">
-      <a-collapse :activeKey="['1']">
-        <a-collapse-panel key="1" header="盈亏统计">
-          <a-descriptions :column="2" bordered>
-            <a-descriptions-item label="库存数量">2</a-descriptions-item>
-            <a-descriptions-item label="库存成本">20</a-descriptions-item>
-            <a-descriptions-item label="盘盈数量">¥120.36</a-descriptions-item>
-            <a-descriptions-item label="盘盈成本">3</a-descriptions-item>
-            <a-descriptions-item label="盘亏数量">4</a-descriptions-item>
-            <a-descriptions-item label="盘亏成本">¥11.2</a-descriptions-item>
-            <a-descriptions-item>
-              <template slot="label">
-                盈亏总数量
-                <a-popover>
-                  <template slot="content">
-                    盘盈数量与盘亏数量之和
-                  </template>
-                  <a-icon type="question-circle" theme="twoTone" />
-                </a-popover>
-              </template>
-              4
-            </a-descriptions-item>
-            <a-descriptions-item>
-              <template slot="label">
-                盈亏总成本
-                <a-popover>
-                  <template slot="content">
-                    盘盈成本与盘亏成本之和
-                  </template>
-                  <a-icon type="question-circle" theme="twoTone" />
-                </a-popover>
-              </template>
-              4
-            </a-descriptions-item>
-          </a-descriptions>
-        </a-collapse-panel>
-      </a-collapse>
-    </a-card>
-    <!-- 产品明细 -->
-    <a-card size="small" :bordered="false" class="inventoryReviewDetail-cont">
-      <a-collapse :activeKey="['1']">
-        <a-collapse-panel key="1" header="产品明细">
-          <!-- 列表 -->
-          <s-table
-            class="sTable"
-            ref="table"
-            size="small"
-            :rowKey="(record) => record.id"
-            :columns="columns"
-            :data="loadData"
-            :scroll="{ x: 1290 }"
-            bordered>
-            <!-- 采购数量 -->
-            <template slot="purchaseNum" slot-scope="text, record">
-              <span>{{ record.purchaseNum }}</span>
-            </template>
-            <!-- 缺货数量 -->
-            <template slot="outOfStockNum" slot-scope="text, record">
-              <span>{{ record.outOfStockNum }}</span>
-            </template>
-          </s-table>
-        </a-collapse-panel>
-      </a-collapse>
-    </a-card>
-  </div>
-</template>
-
-<script>
-import { STable, VSelect } from '@/components'
-export default {
-  components: { STable, VSelect },
-  data () {
-    return {
-      // 表头
-      columns: [
-        { title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
-        { title: '产品编码', dataIndex: 'productCode', width: 160, align: 'center' },
-        { title: '产品名称', dataIndex: 'productName', align: 'center', ellipsis: true },
-        { title: '单位', dataIndex: 'productOrigUnit', width: 100, align: 'center' },
-        { title: '仓库', dataIndex: 'warehouseName', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '仓位', dataIndex: 'warehouseLocationName', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '库存数量', dataIndex: 'qtsy', width: 110, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '库存成本', dataIndex: 'price', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '盘点数量', dataIndex: 'qtssy', width: 110, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '盘点盈亏数量', dataIndex: 'qtdsy', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '盘点盈亏成本', dataIndex: 'prifce', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        this.disabled = true
-        // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
-        //   const data = res.data
-        //   const no = (data.pageNo - 1) * data.pageSize
-        //   for (var i = 0; i < data.list.length; i++) {
-        //     data.list[i].no = no + i + 1
-        //   }
-        //   this.disabled = false
-        //   return data
-        // })
-        const _this = this
-        return new Promise(function (resolve, reject) {
-          const data = {
-            pageNo: 1,
-            pageSize: 10,
-            list: [
-              { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-            ],
-            count: 10
-          }
-          const no = (data.pageNo - 1) * data.pageSize
-          for (var i = 0; i < data.list.length; i++) {
-            data.list[i].no = no + i + 1
-          }
-          _this.disabled = false
-          resolve(data)
-        })
-      }
-    }
-  },
-  methods: {
-    //  返回列表
-    handleBack () {
-      this.$router.push({ path: '/financialManagement/inventoryReview/list', query: { closeLastOldTab: true } })
-    }
-  }
-}
-</script>
-
-<style lang="less">
-  .inventoryReviewDetail-wrap{
-    .inventoryReviewDetail-cont{
-      margin-bottom: 10px;
-    }
-    .green{
-      color: #19be6b;
-    }
-    .red{
-      color: #ed1c24;
-    }
-  }
-</style>

+ 0 - 174
src/views/financialManagement/inventoryReview/list.vue

@@ -1,174 +0,0 @@
-<template>
-  <a-card size="small" :bordered="false" class="inventoryReviewList-wrap">
-    <!-- 搜索条件 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
-        <a-row :gutter="15">
-          <a-col :md="6" :sm="24">
-            <a-form-item label="盘点单号">
-              <a-input id="inventoryReviewList-purchaseNo" v-model.trim="queryParam.purchaseNo" allowClear placeholder="请输入盘点单号"/>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="24">
-            <a-form-item label="盘点审核时间">
-              <a-range-picker v-model="queryParam.creatDate" allowClear id="inventoryReviewList-creatDate"/>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="24">
-            <a-form-item label="财务审核状态">
-              <v-select
-                v-model="queryParam.billStatus"
-                ref="billStatus"
-                id="inventoryReviewList-billStatus"
-                code="PAYMENT_TYPE"
-                placeholder="请选择财务审核状态"
-                allowClear></v-select>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="24">
-            <span class="table-page-search-submitButtons">
-              <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="inventoryReviewList-refresh">查询</a-button>
-              <a-button style="margin-left: 8px" @click="resetSearchForm()" :disabled="disabled" id="inventoryReviewList-reset">重置</a-button>
-            </span>
-          </a-col>
-        </a-row>
-      </a-form>
-    </div>
-    <!-- alert -->
-    <a-alert type="info" style="margin-bottom:10px">
-      <div slot="message">共 <strong>6</strong> 条记录,其中待审核 <strong>14</strong> 条 </div>
-    </a-alert>
-    <!-- 列表 -->
-    <s-table
-      class="sTable"
-      ref="table"
-      size="small"
-      :rowKey="(record) => record.id"
-      :columns="columns"
-      :data="loadData"
-      :scroll="{ x: 1300 }"
-      :defaultLoadData="false"
-      bordered>
-      <!-- 采购单号 -->
-      <template slot="purchaseNo" slot-scope="text, record">
-        <span style="color: #ed1c24;cursor: pointer;">{{ record.purchaseNo }}</span>
-      </template>
-      <!-- 采购入库单号 -->
-      <template slot="purchaseNos" slot-scope="text, record">
-        <span style="color: #ed1c24;cursor: pointer;">{{ record.purchaseNo }}</span>
-      </template>
-      <!-- 状态 -->
-      <template slot="state" slot-scope="text, record">
-        <span>{{ record.state == 1 ? '已启用' : '已禁用' }}</span>
-      </template>
-      <!-- 操作 -->
-      <template slot="action" slot-scope="text, record">
-        <a-button size="small" type="link" @click="handleExamine(record, 1)" id="inventoryReview-adopt-btn">通过</a-button>
-        <a-divider type="vertical" style="margin: 0;" />
-        <a-button size="small" type="link" @click="handleExamine(record, 2)" id="inventoryReview-unadopt-btn">不通过</a-button>
-        <a-divider type="vertical" style="margin: 0;" />
-        <a-button size="small" type="link" @click="handleDetail(record)" id="inventoryReview-detail-btn">详情</a-button>
-      </template>
-    </s-table>
-  </a-card>
-</template>
-
-<script>
-import { STable, VSelect } from '@/components'
-// import { getRoleList, getServiceList } from '@/api/manage'
-export default {
-  components: { STable, VSelect },
-  data () {
-    return {
-      disabled: false, //  查询、重置按钮是否可操作
-      // 查询参数
-      queryParam: {},
-      // 表头
-      columns: [
-        { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
-        { title: '盘点单号', scopedSlots: { customRender: 'purchaseBillNo' }, align: 'center' },
-        { title: '盘点产品款数', dataIndex: 'totalCategory', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '库存总成本', dataIndex: 'totalAmount', width: 110, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '盘盈总数量', dataIndex: 'totalQty', width: 110, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '盘亏总数量', dataIndex: 'totalssQty', width: 110, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '盘点审核时间', dataIndex: 'sauditTime', width: 160, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '财务审核时间', dataIndex: 'auditTime', width: 160, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '财务审核状态', scopedSlots: { customRender: 'auditStatus' }, width: 120, align: 'center' },
-        { title: '操作', scopedSlots: { customRender: 'action' }, width: 190, align: 'center', fixed: 'right' }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        this.disabled = true
-        // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
-        //   const data = res.data
-        //   const no = (data.pageNo - 1) * data.pageSize
-        //   for (var i = 0; i < data.list.length; i++) {
-        //     data.list[i].no = no + i + 1
-        //   }
-        //   this.disabled = false
-        //   return data
-        // })
-        const _this = this
-        return new Promise(function (resolve, reject) {
-          const data = {
-            pageNo: 1,
-            pageSize: 10,
-            list: [
-              { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-            ],
-            count: 10
-          }
-          const no = (data.pageNo - 1) * data.pageSize
-          for (var i = 0; i < data.list.length; i++) {
-            data.list[i].no = no + i + 1
-          }
-          _this.disabled = false
-          resolve(data)
-        })
-      }
-    }
-  },
-  methods: {
-    //  详情
-    handleDetail (row) {
-      this.$router.push({ path: `/financialManagement/inventoryReview/detail/${row.id}` })
-    },
-    //  审核
-    handleExamine (row, type) {
-      const _this = this
-      this.$confirm({
-        title: '提示',
-        content: '操作后不可恢复,确定要进行' + (type == 1 ? ' 通过 ' : ' 不通过 ') + '操作吗?',
-        centered: true,
-        onOk () {
-          // delectRolePower({
-          //   id: row.id
-          // }).then(res => {
-          //   console.log(res, 'res1111')
-          //   if (res.status == 200) {
-          //     _this.$message.success(res.message)
-          //     _this.$refs.table.refresh()
-          //   }
-          // })
-        }
-      })
-    },
-    //  重置
-    resetSearchForm () {
-      this.queryParam.orderBundleNo = ''
-      this.queryParam.orderBundle.custMobile = ''
-      this.queryParam.bundleName = ''
-      this.queryParam.itemName = ''
-      this.oldTime = undefined
-      this.newTime = undefined
-      this.$refs.table.refresh(true)
-    }
-  },
-  activated () {
-    // 如果是新页签打开,则重置当前页面
-    if (this.$store.state.app.isNewTab) {
-      this.resetSearchForm()
-    }
-  }
-}
-</script>

+ 14 - 11
src/views/financialManagement/returnConfirmation/list.vue

@@ -208,17 +208,17 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -227,18 +227,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 12 - 9
src/views/financialManagement/warehousingConfirmation/list.vue

@@ -241,29 +241,32 @@ export default {
       console.log('selectedRowKeys changed: ', selectedRowKeys)
       this.selectedRowKeys = selectedRowKeys
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 15 - 8
src/views/inventoryManagement/intelligentReplenishment/edit.vue

@@ -237,19 +237,26 @@ export default {
       this.getDetail()
       this.getTrendSn()
       this.current = 0
+
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-    this.pageInit()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.pageInit()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 12 - 0
src/views/inventoryManagement/intelligentReplenishment/import.vue

@@ -20,6 +20,7 @@
             :scroll="{ x: 1440 }"
             :rowClassName="(record, index) => record.cost ? 'redBg-row':''"
             :showPagination="false"
+            :defaultLoadData="false"
             bordered>
           </s-table>
           <div class="btn-cont">
@@ -119,6 +120,17 @@ export default {
         }
       })
     }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.$refs.table.refresh(true)
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.$refs.table.refresh(true)
+    }
   }
 }
 </script>

+ 12 - 9
src/views/inventoryManagement/intelligentReplenishment/list.vue

@@ -179,29 +179,32 @@ export default {
       document.body.appendChild(link)
       link.click()
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 230
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.$refs.table.refresh(true)
+    }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.$refs.table.refresh(true)
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.spinning) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 17 - 0
src/views/inventoryManagement/intelligentReplenishment/set.vue

@@ -38,6 +38,7 @@
                   uploadType="import"
                   :action="attachAction"
                   :uploadParams="uploadParams"
+                  @remove="resetForm"
                   upText="添加文件"
                   @change="changeImport"></Upload>
               </p>
@@ -133,6 +134,22 @@ export default {
       link.setAttribute('download', fname + '.xlsx')
       document.body.appendChild(link)
       link.click()
+    },
+    resetForm () {
+      this.$refs.importUpload.setFileList() //  清空导入文件
+      this.paramsData = null //  清空上传数据
+      VueCookies.set('REPLENISHMENT_PATH', '')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.resetForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.resetForm()
     }
   }
 }

+ 0 - 199
src/views/inventoryManagement/inventoryChecking/checkingTipsModal.vue

@@ -1,199 +0,0 @@
-<template>
-  <a-modal
-    centered
-    class="checkingTipsEdit-modal"
-    :footer="null"
-    :maskClosable="false"
-    title="提示"
-    v-model="isShow"
-    @cancle="isShow=false"
-    width="80%">
-    <div class="checkingTipsEdit-header">
-      <strong>以下为影响出入库的未完成单据</strong>
-      <a-button type="danger" @click="handleExport" :loading="exportLoading" id="checkingTipsEdit-export">导出</a-button>
-    </div>
-    <!-- 列表 -->
-    <s-table
-      class="sTable"
-      ref="table"
-      size="small"
-      :rowKey="(record) => record.id"
-      :columns="columns"
-      :data="loadData"
-      bordered>
-    </s-table>
-    <a-divider />
-    <div class="checkingTipsEdit-explain">
-      <strong>盘点说明:</strong>
-      <ul class="checkingTipsEdit-explain-list">
-        <li>1、以上影响出入库的未完成单据,不处理也可进行盘点,但建议处理完再进行盘点。</li>
-        <li>2、开始盘点到盘点结束期间,所有出入库单据将不能操作。</li>
-      </ul>
-    </div>
-    <div class="btn-cont">
-      <a-button type="primary" id="checking-tips-edit-modal-check" @click="handleCheck">开始盘点</a-button>
-      <a-button id="checking-tips-edit-modal-back" @click="isShow = false" style="margin-left: 15px;">取消</a-button>
-    </div>
-    <checking-type-modal :openModal="openTypeModal" :nowData="nowTypeData" :itemId="itemId" @ok="handleOk" @close="closeModal" />
-  </a-modal>
-</template>
-
-<script>
-import { STable } from '@/components'
-import checkingTypeModal from './checkingTypeModal.vue'
-// import { checkingTipsSave } from '@/api/checkingTips'
-export default {
-  name: 'CheckingTipsEditModal',
-  components: { STable, checkingTypeModal },
-  props: {
-    openModal: { //  弹框显示状态
-      type: Boolean,
-      default: false
-    },
-    itemId: {
-      type: [Number, String],
-      default: ''
-    },
-    nowData: {
-      type: Object,
-      default: null
-    }
-  },
-  data () {
-    return {
-      isShow: this.openModal, //  是否打开弹框
-      exportLoading: false, // 导出loading
-      columns: [
-        { title: '序号', dataIndex: 'no', width: 70, align: 'center' },
-        { title: '创建时间', dataIndex: 'createDate', width: 160, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '单号', dataIndex: 'nsso', width: 140, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '单据类型', dataIndex: 'sort', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '单据状态', dataIndex: 'name', width: 100, align: 'center', customRender: function (text) { return text || '--' } }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        this.disabled = true
-        // return warehouseAllList( this.queryParam ).then(res => {
-        //   const data = res.data
-        //   this.disabled = false
-        //   return data
-        // })
-        const _this = this
-        return new Promise(function (resolve, reject) {
-          const data = {
-            pageNo: 1,
-            pageSize: 10,
-            list: [
-              { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-            ],
-            count: 10
-          }
-          for (var i = 0; i < data.list.length; i++) {
-            data.list[i].no = i + 1
-          }
-          _this.disabled = false
-          resolve(data)
-        })
-      },
-      openTypeModal: false, //  新增编辑  弹框
-      nowTypeData: null //  当前记录数据
-    }
-  },
-  methods: {
-    //  详情
-    getDetail () {
-
-    },
-    //  开始盘点
-    handleCheck () {
-      this.openTypeModal = true
-    },
-    //  新增/编辑  成功
-    handleOk (type) {
-      this.$emit('ok', type)
-      this.isShow = false
-    },
-    //  关闭弹框
-    closeModal () {
-      this.openTypeModal = false
-    },
-    //  导出
-    handleExport () {
-      this.exportLoading = true
-      customerBundleExportDelay({}).then(res => {
-        this.exportLoading = false
-        this.download(res)
-      })
-    },
-    download (data) {
-      if (!data) { return }
-      const url = window.URL.createObjectURL(new Blob([data]))
-      const link = document.createElement('a')
-      link.style.display = 'none'
-      link.href = url
-      const a = moment().format('YYYYMMDDHHmmss')
-      const fname = '未完成单据_盘点' + a
-      link.setAttribute('download', fname + '.xlsx')
-      document.body.appendChild(link)
-      link.click()
-    }
-  },
-  watch: {
-    //  父页面传过来的弹框状态
-    openModal (newValue, oldValue) {
-      this.isShow = newValue
-    },
-    //  重定义的弹框状态
-    isShow (newValue, oldValue) {
-      if (!newValue) {
-        this.$emit('close')
-      } else {
-        this.form = {
-          name: '',
-          sort: ''
-        }
-      }
-    },
-    itemId (newValue, oldValue) {
-      if (this.isShow && newValue) {
-        this.getDetail()
-      }
-    }
-  }
-}
-</script>
-
-<style lang="less">
-  .checkingTipsEdit-modal{
-    .ant-modal-body {
-    	padding: 40px 40px 24px;
-    }
-    .checkingTipsEdit-header{
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-      margin-bottom: 20px;
-      strong{
-        font-size: 15px;
-      }
-    }
-    .checkingTipsEdit-explain{
-      strong{
-        display: block;
-        margin-bottom: 5px;
-      }
-      .checkingTipsEdit-explain-list{
-        list-style: none;
-        margin: 0;
-        padding: 0;
-        li{
-          padding: 3px 0;
-        }
-      }
-    }
-    .btn-cont {
-    	text-align: center;
-    	margin: 35px 0 10px;
-    }
-  }
-</style>

+ 0 - 155
src/views/inventoryManagement/inventoryChecking/checkingTypeModal.vue

@@ -1,155 +0,0 @@
-<template>
-  <a-modal
-    centered
-    class="checkingTypeEdit-modal"
-    :footer="null"
-    :maskClosable="false"
-    title="选择盘点类型"
-    v-model="isShow"
-    @cancle="isShow=false"
-    :width="800">
-    <!-- 表单 -->
-    <div>
-      <a-form-model
-        id="checkingTypeEdit-form"
-        ref="ruleForm"
-        :model="form"
-        :rules="rules"
-        :label-col="formItemLayout.labelCol"
-        :wrapper-col="formItemLayout.wrapperCol"
-      >
-        <a-form-model-item label="" prop="type">
-          <a-radio-group v-model="form.type" size="large" class="radio-group">
-            <a-radio-button value="a" class="radio-button">
-              全盘<a-icon class="radio-button-icon" type="check" v-show="form.type=='a'" />
-            </a-radio-button>
-            <a-radio-button value="b" class="radio-button">
-              自选盘点<a-icon class="radio-button-icon" type="check" v-show="form.type=='b'" />
-            </a-radio-button>
-          </a-radio-group>
-        </a-form-model-item>
-      </a-form-model>
-      <div class="btn-cont">
-        <a-button type="primary" id="checkingType-edit-modal-save" @click="handleSubmit">确定</a-button>
-        <a-button id="checkingType-edit-modal-back" @click="isShow = false" style="margin-left: 15px;">取消</a-button>
-      </div>
-    </div>
-  </a-modal>
-</template>
-
-<script>
-// import { checkingTypeSave } from '@/api/checkingType'
-export default {
-  name: 'checkingTypeEditModal',
-  props: {
-    openModal: { //  弹框显示状态
-      type: Boolean,
-      default: false
-    },
-    itemId: {
-      type: [Number, String],
-      default: ''
-    },
-    nowData: {
-      type: Object,
-      default: null
-    }
-  },
-  data () {
-    return {
-      isShow: this.openModal, //  是否打开弹框
-      formItemLayout: {
-        labelCol: { span: 0 },
-        wrapperCol: { span: 24 }
-      },
-      form: {
-        type: '', // 盘点类型
-      },
-      rules: {
-        type: [
-          { required: true, message: '请先选择盘点类型', trigger: 'change' }
-        ],
-      }
-    }
-  },
-  methods: {
-    //  确定
-    handleSubmit(){
-      const _this = this
-      this.$refs.ruleForm.validate(valid => {
-        if (valid) {
-          _this.$emit('ok', _this.form.type)
-          _this.isShow = false
-          // const params = {
-          //   id: this.itemId ? this.itemId : undefined,
-          //   name: this.form.name,  //  仓库名称
-          //   sort: this.form.sort,  //  排序
-          //   isDefault: 0  //  是否为默认仓库   0为非默认,1为默认
-          // }
-          // checkingTipsSave(params).then(res => {
-          //   if(res.status == 200){
-          //     _this.$message.success(res.message)
-          //     _this.$emit('ok')
-          //     setTimeout(function () {
-          //       _this.isShow = false
-          //       _this.$refs.ruleForm.resetFields()
-          //     }, 300)
-          //   }else{
-              
-          //   }
-          // })
-        } else {
-          console.log('error submit!!')
-          return false
-        }
-      })
-    },
-  },
-  watch: {
-    //  父页面传过来的弹框状态
-    openModal (newValue, oldValue) {
-      this.isShow = newValue
-    },
-    //  重定义的弹框状态
-    isShow (newValue, oldValue) {
-      if (!newValue) {
-        this.$emit('close')
-      }else{
-        this.form = {
-          name: '',
-          sort: ''
-        }
-      }
-    }
-  }
-}
-</script>
-
-<style lang="less">
-  .checkingTypeEdit-modal{
-    .ant-modal-body {
-    	padding: 40px 40px 24px;
-    }
-    .radio-group{
-      display: block;
-      margin: 30px auto;
-      width: 80%;
-      .radio-button{
-        width: 50%;
-        height: 100px;
-        line-height: 100px;
-        text-align: center;
-        position: relative;
-        &-icon{
-          position: absolute;
-          right: 30px;
-          top: 42px;
-        }
-      }
-    }
-    .btn-cont {
-    	text-align: center;
-    	margin: 35px 0 10px;
-    }
-  }
-</style>

+ 0 - 183
src/views/inventoryManagement/inventoryChecking/detail.vue

@@ -1,183 +0,0 @@
-<template>
-  <div class="inventoryCheckingDetail-wrap">
-    <a-page-header :ghost="false" @back="handleBack" class="inventoryCheckingDetail-back">
-      <!-- 自定义的二级文字标题 -->
-      <template slot="subTitle">
-        <a id="inventoryCheckingDetail-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
-      </template>
-      <!-- 操作区,位于 title 行的行尾 -->
-      <template slot="extra">
-        <a-button key="1" type="danger" @click="handleExport" :loading="exportLoading" id="inventoryCheckingDetail-export-btn">导出</a-button>
-      </template>
-    </a-page-header>
-    <!-- 基础信息 -->
-    <a-card size="small" :bordered="false" class="inventoryCheckingDetail-cont">
-      <a-collapse :activeKey="['1']">
-        <a-collapse-panel key="1" header="基础信息">
-          <a-descriptions :column="3">
-            <a-descriptions-item label="盘点单号">箭冠营销中心</a-descriptions-item>
-            <a-descriptions-item label="监盘审核状态">箭冠营销中心</a-descriptions-item>
-            <a-descriptions-item label="完结状态">箭冠营销中心</a-descriptions-item>
-          </a-descriptions>
-        </a-collapse-panel>
-      </a-collapse>
-    </a-card>
-    <a-card size="small" :bordered="false" class="inventoryCheckingDetail-cont">
-      <!-- 总计 -->
-      <a-alert type="info" style="margin-bottom:10px">
-        <div slot="message">
-          库存总数量:
-          <strong>6</strong>
-          ,盈亏总数量:
-          <strong>6</strong>
-        </div>
-      </a-alert>
-      <!-- 筛选条件 -->
-      <div class="table-page-search-wrapper">
-        <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
-          <a-row :gutter="15">
-            <a-col :md="6" :sm="24">
-              <a-form-item label="类型">
-                <a-select placeholder="请选择" id="inventoryCheckingDetail-type" allowClear v-model="queryParam.dataSourceNo">
-                  <a-select-option v-for="item in brandData" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
-                </a-select>
-              </a-form-item>
-            </a-col>
-            <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
-              <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="inventoryCheckingDetail-refresh">查询</a-button>
-              <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="inventoryCheckingDetail-reset">重置</a-button>
-            </a-col>
-          </a-row>
-        </a-form>
-      </div>
-      <!-- 列表 -->
-      <s-table
-        class="sTable"
-        ref="table"
-        size="small"
-        :rowKey="record => record.id"
-        :columns="columns"
-        :data="loadData"
-        :scroll="{ x: 820 }"
-        bordered>
-        <!-- 采购数量 -->
-        <template slot="purchaseNum" slot-scope="text, record">
-          <span>{{ record.purchaseNum }}</span>
-        </template>
-        <!-- 缺货数量 -->
-        <template slot="outOfStockNum" slot-scope="text, record">
-          <span>{{ record.outOfStockNum }}</span>
-        </template>
-      </s-table>
-    </a-card>
-  </div>
-</template>
-
-<script>
-import { STable, VSelect } from '@/components'
-export default {
-  components: { STable, VSelect },
-  data () {
-    return {
-      queryParam: {
-        dataSourceNo: undefined
-      },
-      exportLoading: false, // 导出loading
-      disabled: false, //  查询、重置按钮是否可操作
-      // 表头
-      columns: [
-        { title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
-        { title: '产品编码', dataIndex: 'productCode', width: 140, align: 'center' },
-        { title: '产品名称', dataIndex: 'productName', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '单位', dataIndex: 'productOrigUnit', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '库存数量', dataIndex: 'qty', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '盘点数量', dataIndex: 'qtsy', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '盈亏数量', dataIndex: 'qdty', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        this.disabled = true
-        // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
-        //   const data = res.data
-        //   const no = (data.pageNo - 1) * data.pageSize
-        //   for (var i = 0; i < data.list.length; i++) {
-        //     data.list[i].no = no + i + 1
-        //   }
-        //   this.disabled = false
-        //   return data
-        // })
-        const _this = this
-        return new Promise(function (resolve, reject) {
-          const data = {
-            pageNo: 1,
-            pageSize: 10,
-            list: [
-              { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-            ],
-            count: 10
-          }
-          const no = (data.pageNo - 1) * data.pageSize
-          for (var i = 0; i < data.list.length; i++) {
-            data.list[i].no = no + i + 1
-          }
-          _this.disabled = false
-          resolve(data)
-        })
-      },
-      brandData: []
-    }
-  },
-  methods: {
-    //  重置
-    resetSearchForm () {},
-    //  返回列表
-    handleBack () {
-      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true } })
-    },
-    //  导出
-    handleExport () {
-      const params = this.queryParam
-      if (this.oldTime && this.oldTime.length > 0) {
-        params.beginOldExpiryDate = moment(this.oldTime[0]).format('YYYY-MM-DD')
-        params.endOldExpirydDate = moment(this.oldTime[1]).format('YYYY-MM-DD')
-      } else {
-        params.beginOldExpiryDate = ''
-        params.endOldExpirydDate = ''
-      }
-      if (this.newTime && this.newTime.length > 0) {
-        params.beginDate = moment(this.newTime[0]).format('YYYY-MM-DD')
-        params.endDate = moment(this.newTime[1]).format('YYYY-MM-DD')
-      } else {
-        params.beginDate = ''
-        params.endDate = ''
-      }
-      this.exportLoading = true
-      customerBundleExportDelay(params).then(res => {
-        this.exportLoading = false
-        this.download(res)
-      })
-    },
-    download (data) {
-      if (!data) {
-        return
-      }
-      const url = window.URL.createObjectURL(new Blob([data]))
-      const link = document.createElement('a')
-      link.style.display = 'none'
-      link.href = url
-      const a = moment().format('YYYYMMDDHHmmss')
-      const fname = '仓库调拨' + a
-      link.setAttribute('download', fname + '.xlsx')
-      document.body.appendChild(link)
-      link.click()
-    }
-  }
-}
-</script>
-
-<style lang="less">
-.inventoryCheckingDetail-cont,
-.inventoryCheckingDetail-back {
-  margin-bottom: 10px;
-}
-</style>

+ 0 - 146
src/views/inventoryManagement/inventoryChecking/financialAuditDetail.vue

@@ -1,146 +0,0 @@
-<template>
-  <div class="financialAuditDetail-wrap">
-    <a-page-header :ghost="false" @back="handleBack" class="financialAuditDetail-back">
-      <!-- 自定义的二级文字标题 -->
-      <template slot="subTitle">
-        <a id="financialAuditDetail-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
-      </template>
-      <!-- 操作区,位于 title 行的行尾 -->
-      <!-- <template slot="extra">
-        <a-button key="1" type="primary" id="financialAuditDetail-print-btn">快速打印</a-button>
-      </template> -->
-    </a-page-header>
-    <!-- 基础信息 -->
-    <a-card size="small" :bordered="false" class="financialAuditDetail-cont">
-      <a-collapse :activeKey="['1']">
-        <a-collapse-panel key="1" header="基础信息">
-          <a-descriptions :column="3">
-            <a-descriptions-item label="盘点单号">箭冠营销中心</a-descriptions-item>
-            <a-descriptions-item label="监盘审核状态">箭冠营销中心</a-descriptions-item>
-            <a-descriptions-item label="完结状态">箭冠营销中心</a-descriptions-item>
-            <a-descriptions-item label="库存总数量">箭冠营销中心</a-descriptions-item>
-            <a-descriptions-item label="库存总成本(¥)">箭冠营销中心</a-descriptions-item>
-          </a-descriptions>
-        </a-collapse-panel>
-      </a-collapse>
-    </a-card>
-    <!-- 详情 -->
-    <a-card size="small" :bordered="false" class="financialAuditDetail-cont">
-      <a-collapse :activeKey="['1']">
-        <a-collapse-panel key="1" header="详情">
-          <!-- 总计 -->
-          <a-alert type="info" style="margin-bottom:10px">
-            <div slot="message">盘盈总数量: <strong>6</strong> ,库存总成本(¥): <strong>6</strong> ,盘亏总数量: <strong>6</strong> ,盘亏总成本(¥): <strong>6</strong>,盈亏总数量: <strong>6</strong> ,盈亏总成本(¥): <strong>6</strong> </div>
-          </a-alert>
-          <!-- 筛选条件 -->
-          <div class="table-page-search-wrapper">
-            <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
-              <a-row :gutter="15">
-                <a-col :md="6" :sm="24">
-                  <a-form-item label="类型">
-                    <a-select placeholder="请选择" id="financialAuditDetail-type" allowClear v-model="queryParam.dataSourceNo">
-                      <a-select-option v-for="item in brandData" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
-                    </a-select>
-                  </a-form-item>
-                </a-col>
-                <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
-                  <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="financialAuditDetail-refresh">查询</a-button>
-                  <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="financialAuditDetail-reset">重置</a-button>
-                </a-col>
-              </a-row>
-            </a-form>
-          </div>
-          <!-- 列表 -->
-          <s-table
-            class="sTable"
-            ref="table"
-            size="small"
-            :rowKey="(record) => record.id"
-            :columns="columns"
-            :data="loadData"
-            bordered>
-            <!-- 采购数量 -->
-            <template slot="purchaseNum" slot-scope="text, record">
-              <span>{{record.purchaseNum}}</span>
-            </template>
-            <!-- 缺货数量 -->
-            <template slot="outOfStockNum" slot-scope="text, record">
-              <span>{{record.outOfStockNum}}</span>
-            </template>
-          </s-table>
-        </a-collapse-panel>
-      </a-collapse>
-    </a-card>
-  </div>
-</template>
-
-<script>
-  import { STable, VSelect } from '@/components'
-  export default{
-    components: { STable, VSelect },
-    data(){
-      return{
-        queryParam: {
-          dataSourceNo: undefined
-        },
-        exportLoading: false, // 导出loading
-        disabled: false, //  查询、重置按钮是否可操作
-        // 表头
-        columns: [
-          { title: '序号', dataIndex: 'no', align: 'center' },
-          { title: '产品编码', dataIndex: 'creatDate', align: 'center', customRender: function (text) { return text || '--' } },
-          { title: '产品名称', dataIndex: 'custName', align: 'center', customRender: function (text) { return text || '--' } },
-          { title: '单位', dataIndex: 'mementPay', align: 'center', customRender: function (text) { return text || '--' } },
-          { title: '库存数量', scopedSlots: { customRender: 'outOfStockNum' }, align: 'center' },
-          { title: '盘点数量', dataIndex: 'tostalP', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-          { title: '盈亏数量', dataIndex: 'totalNums', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        ],
-        // 加载数据方法 必须为 Promise 对象
-        loadData: parameter => {
-          this.disabled = true
-          // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
-          //   const data = res.data
-          //   const no = (data.pageNo - 1) * data.pageSize
-          //   for (var i = 0; i < data.list.length; i++) {
-          //     data.list[i].no = no + i + 1
-          //   }
-          //   this.disabled = false
-          //   return data
-          // })
-          const _this = this
-          return new Promise(function(resolve, reject){
-            const data = {
-              pageNo: 1,
-              pageSize: 10,
-              list: [
-                { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-              ],
-              count: 10
-            }
-            const no = (data.pageNo - 1) * data.pageSize
-            for (var i = 0; i < data.list.length; i++) {
-              data.list[i].no = no + i + 1
-            }
-            _this.disabled = false
-            resolve(data)
-          })
-        },
-        brandData: []
-      }
-    },
-    methods: {
-      //  重置
-      resetSearchForm(){},
-      //  返回列表
-      handleBack(){
-        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true }})
-      },
-    }
-  }
-</script>
-
-<style lang="less">
-  .financialAuditDetail-cont, .financialAuditDetail-back{
-    margin-bottom: 10px;
-  }
-</style>

+ 0 - 233
src/views/inventoryManagement/inventoryChecking/list.vue

@@ -1,233 +0,0 @@
-<template>
-  <a-card size="small" :bordered="false" class="inventoryCheckingList-wrap">
-    <!-- 搜索条件 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
-        <a-row :gutter="15">
-          <a-col :md="6" :sm="24">
-            <a-form-item label="创建时间">
-              <a-range-picker
-                style="width:100%"
-                id="inventoryCheckingList-creatTime"
-                :disabledDate="disabledDate"
-                @change="creatTimechange"
-                :format="dateFormat"
-                :placeholder="['开始时间', '结束时间']" />
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="24">
-            <a-form-item label="状态">
-              <v-select code="ENABLED_FLAG" id="inventoryCheckingList-enabledFlag" v-model="queryParam.enabledFlag" allowClear placeholder="请选择状态"></v-select>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="24">
-            <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="inventoryCheckingList-refresh">查询</a-button>
-            <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="inventoryCheckingList-reset">重置</a-button>
-          </a-col>
-        </a-row>
-      </a-form>
-    </div>
-    <!-- 操作按钮 -->
-    <div class="table-operator">
-      <a-button id="inventoryCheckingList-add" type="primary" class="button-error" @click="handleEdit()">新增</a-button>
-    </div>
-    <!-- 列表 -->
-    <s-table
-      class="sTable"
-      ref="table"
-      size="small"
-      :rowKey="(record) => record.id"
-      :columns="columns"
-      :data="loadData"
-      :showPagination="false"
-      :scroll="{ x: 1480 }"
-      :defaultLoadData="false"
-      bordered>
-      <!-- 状态 -->
-      <template slot="state" slot-scope="text, record">
-        <a-tag :color="record.state==1?'green':'red'" >{{ record.state==1? '待提交': '待单据审核' }}</a-tag>
-      </template>
-      <!-- 操作 -->
-      <template slot="action" slot-scope="text, record">
-        <a-button size="small" type="link" @click="handleEexamine(record)" id="inventoryCheckingList-eexamine-btn">审核</a-button>
-        <a-divider type="vertical" style="margin: 0;" />
-        <a-button size="small" type="link" @click="handleInventory(record)" id="inventoryCheckingList-inventory-btn">盘点</a-button>
-        <a-divider type="vertical" style="margin: 0;" />
-        <a-button size="small" type="link" @click="handleEdit(record)" id="inventoryCheckingList-edit-btn">编辑</a-button>
-        <a-divider type="vertical" style="margin: 0;" />
-        <a-button size="small" type="link" @click="handleDetail(record)" id="inventoryCheckingList-detail-btn">详情</a-button>
-        <a-divider type="vertical" style="margin: 0;" />
-        <a-button size="small" type="link" @click="handleDel(record)" id="inventoryCheckingList-del-btn">删除</a-button>
-      </template>
-    </s-table>
-    <!-- 新增/编辑盘点单 -->
-    <inventory-checking-tips-modal :openModal="openModal" :nowData="nowData" :itemId="itemId" @ok="handleOk" @close="closeModal" />
-  </a-card>
-</template>
-
-<script>
-import { warehouseAllList, warehouseDel } from '@/api/warehouse'
-import { STable, VSelect } from '@/components'
-import inventoryCheckingTipsModal from './checkingTipsModal.vue'
-export default {
-  components: { STable, VSelect, inventoryCheckingTipsModal },
-  data () {
-    return {
-      queryParam: { //  查询条件
-        enabledFlag: undefined, //  状态
-        beginDate: '', //  创建时间  开始时间
-        endDate: '' //  创建时间  结束时间
-      },
-      disabled: false, //  查询、重置按钮是否可操作
-      dateFormat: 'YYYY-MM-DD',
-      columns: [
-        { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
-        { title: '创建时间', dataIndex: 'createDate', width: 160, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '盘点单号', dataIndex: 'nsso', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '库存总款数', dataIndex: 'no3', width: 110, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '库存总数量', dataIndex: 'n4o', width: 110, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '开单人', dataIndex: 'neo', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '单据审核时间', dataIndex: 'shcreateDate', width: 160, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '状态', scopedSlots: { customRender: 'state' }, width: 100, align: 'center' },
-        { title: '盘点类型', dataIndex: 'sort', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '操作', scopedSlots: { customRender: 'action' }, width: 260, align: 'center', fixed: 'right' }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        this.disabled = true
-        // return warehouseAllList( this.queryParam ).then(res => {
-        //   const data = res.data
-        //   this.disabled = false
-        //   return data
-        // })
-        const _this = this
-        return new Promise(function (resolve, reject) {
-          const data = {
-            pageNo: 1,
-            pageSize: 10,
-            list: [
-              { id: '1', state: 1, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
-              { id: '2', state: 2, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
-              { id: '3', state: 3, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
-              { id: '4', state: 4, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
-              { id: '5', state: 5, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-            ],
-            count: 10
-          }
-          for (var i = 0; i < data.list.length; i++) {
-            data.list[i].no = i + 1
-          }
-          _this.disabled = false
-          resolve(data)
-        })
-      },
-      openModal: false, //  新增编辑  弹框
-      itemId: '', //  当前id
-      nowData: null //  当前记录数据
-    }
-  },
-  methods: {
-    // 不可选日期
-    disabledDate (date, dateStrings) {
-      return date && date.valueOf() > Date.now()
-    },
-    //  创建时间  change
-    creatTimechange (dates, dateStrings) {
-      this.queryParam.beginDate = dateStrings[0]
-      this.queryParam.endDate = dateStrings[1]
-    },
-    //  重置
-    resetSearchForm () {
-      this.queryParam.name = ''
-      this.$refs.table.refresh(true)
-    },
-    //  新增/编辑
-    handleEdit (row) {
-      this.itemId = row ? row.id : null
-      this.nowData = row || null
-      this.openModal = true
-    },
-    //  新增/编辑  成功
-    handleOk (type) {
-      if (type == 'a') {
-        this.$router.push({ path: `/inventoryManagement/inventoryChecking/overall/${this.itemId}` })
-      } else if (type == 'b') {
-        this.$router.push({ path: `/inventoryManagement/inventoryChecking/selfDisk/${this.itemId}` })
-      }
-    },
-    //  关闭弹框
-    closeModal () {
-      this.itemId = ''
-      this.openModal = false
-    },
-    //  详情
-    handleDetail (row) {
-      if (row.state == 3) { //  待盘点  详情
-        this.$router.push({ path: `/inventoryManagement/inventoryChecking/makeInventory/detail/${row.id}` })
-      } else if (row.state == 4) { //  待财务审核  详情
-        this.$router.push({ path: `/inventoryManagement/inventoryChecking/financialAudit/detail/${row.id}` })
-      } else { //  其他状态  详情
-        this.$router.push({ path: `/inventoryManagement/inventoryChecking/detail/${row.id}` })
-      }
-    },
-    //  审核
-    handleEexamine (row) {
-      const _this = this
-      this.$confirm({
-        title: '提示',
-        content: '确认要审核通过吗?',
-        okText: row.state == 2 ? '确定' : '审核通过',
-        cancelText: row.state == 2 ? '取消' : '驳回重盘',
-        centered: true,
-        onOk () {
-          // delectRolePower({
-          //   id: row.id
-          // }).then(res => {
-          //   console.log(res, 'res1111')
-          //   if (res.status == 200) {
-          //     _this.$message.success(res.message)
-          //     _this.$refs.table.refresh()
-          //   }
-          // })
-        }
-      })
-    },
-    //  盘点
-    handleInventory (row) {
-      this.$router.push({ path: `/inventoryManagement/inventoryChecking/makeInventory/${row.id}` })
-    },
-    //  删除
-    handleDel (row) {
-      const _this = this
-      this.$confirm({
-        title: '提示',
-        content: '删除后不可恢复,确定要进行删除吗?',
-        centered: true,
-        onOk () {
-          // warehouseDel({
-          //   id: row.id
-          // }).then(res => {
-          //   if (res.status == 200) {
-          //     _this.$message.success(res.message)
-          //     _this.$refs.table.refresh()
-          //   }
-          // })
-        }
-      })
-    }
-  },
-  activated () {
-    // 如果是新页签打开,则重置当前页面
-    if (this.$store.state.app.isNewTab) {
-      this.resetSearchForm()
-    }
-  },
-  beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
-  }
-}
-</script>

+ 0 - 187
src/views/inventoryManagement/inventoryChecking/makeInventory.vue

@@ -1,187 +0,0 @@
-<template>
-  <div class="makeInventory-wrap">
-    <a-page-header :ghost="false" @back="handleBack" class="makeInventory-back">
-      <!-- 自定义的二级文字标题 -->
-      <template slot="subTitle">
-        <a id="makeInventory-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
-      </template>
-      <!-- 操作区,位于 title 行的行尾 -->
-      <!-- <template slot="extra">
-        <a-button key="1" type="primary" id="makeInventory-print-btn">快速打印</a-button>
-        <a-button key="2" id="makeInventory-preview-btn">打印预览</a-button>
-        <a-button key="3" type="danger" @click="handleExport" :loading="exportLoading" id="makeInventory-export-btn">导出</a-button>
-        <a-button key="4" @click="handleImport" id="makeInventory-import-btn">导入</a-button>
-        <a-button key="5" type="link" @click="handleDownImport" id="makeInventory-down-import-btn">下载导入模板</a-button>
-      </template> -->
-    </a-page-header>
-    <!-- 详情 -->
-    <a-card size="small" :bordered="false" class="makeInventory-cont">
-      <!-- 筛选条件 -->
-      <div class="table-page-search-wrapper">
-        <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
-          <a-row :gutter="15">
-            <a-col :md="6" :sm="24">
-              <a-form-item label="产品编码">
-                <a-input id="makeInventory-bundleName" v-model.trim="queryParam.bundleName" allowClear placeholder="请输入产品编码"/>
-              </a-form-item>
-            </a-col>
-            <a-col :md="6" :sm="24">
-              <a-form-item label="产品名称">
-                <a-input id="makeInventory-bundleName" v-model.trim="queryParam.bundleName" allowClear placeholder="请输入产品名称"/>
-              </a-form-item>
-            </a-col>
-            <a-col :md="6" :sm="24">
-              <a-form-item label="产品类别">
-                <a-cascader :options="typeData" id="makeInventory-state" placeholder="请选择产品类别" allowClear v-model="queryParam.brand" />
-              </a-form-item>
-            </a-col>
-            <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
-              <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="makeInventory-refresh">查询</a-button>
-              <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="makeInventory-reset">重置</a-button>
-            </a-col>
-          </a-row>
-        </a-form>
-      </div>
-      <!-- 列表 -->
-      <s-table
-        class="sTable"
-        ref="table"
-        size="small"
-        :rowKey="(record) => record.id"
-        :columns="columns"
-        :data="loadData"
-        :scroll="{ x: 1070 }"
-        bordered>
-        <!-- 盘点数量 -->
-        <template slot="outOfStockNum" slot-scope="text, record">
-          <a-input-number
-            id="makeInventory-outOfStockNum"
-            :value="record.outOfStockNum"
-            :precision="0"
-            :min="0"
-            :max="999999"
-            placeholder="请输入" />
-        </template>
-      </s-table>
-    </a-card>
-    <a-affix :offset-bottom="0">
-      <div style="text-align: center;width: 100%;background-color: #fff;padding: 30px 0;box-shadow: 0 0 20px #dcdee2;">
-        <a-button type="primary" id="makeInventory-submit" size="large" @click="handleSubmit" style="padding: 0 60px;">提交</a-button>
-      </div>
-    </a-affix>
-  </div>
-</template>
-
-<script>
-import { STable, VSelect } from '@/components'
-export default {
-  components: { STable, VSelect },
-  data () {
-    return {
-      queryParam: {
-        dataSourceNo: undefined
-      },
-      exportLoading: false, // 导出loading
-      disabled: false, //  查询、重置按钮是否可操作
-      // 表头
-      columns: [
-        { title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
-        { title: '产品编码', dataIndex: 'creatDate', width: 140, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品名称', dataIndex: 'custName', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '单位', dataIndex: 'mementPay', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '仓库', dataIndex: 'memsentPay', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '仓位', dataIndex: 'memendtPay', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '库存数量', dataIndex: 'tostalP', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '盘点数量', scopedSlots: { customRender: 'outOfStockNum' }, width: 150, align: 'center' },
-        { title: '盈亏数量', dataIndex: 'totalNums', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        this.disabled = true
-        // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
-        //   const data = res.data
-        //   const no = (data.pageNo - 1) * data.pageSize
-        //   for (var i = 0; i < data.list.length; i++) {
-        //     data.list[i].no = no + i + 1
-        //   }
-        //   this.disabled = false
-        //   return data
-        // })
-        const _this = this
-        return new Promise(function (resolve, reject) {
-          const data = {
-            pageNo: 1,
-            pageSize: 10,
-            list: [
-              { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-            ],
-            count: 10
-          }
-          const no = (data.pageNo - 1) * data.pageSize
-          for (var i = 0; i < data.list.length; i++) {
-            data.list[i].no = no + i + 1
-          }
-          _this.disabled = false
-          resolve(data)
-        })
-      },
-      typeData: []
-    }
-  },
-  methods: {
-    //  返回列表
-    handleBack () {
-      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true } })
-    },
-    //  导入
-    handleImport () {},
-    //  下载导入模板
-    handleDownImport () {},
-    //  提交
-    handleSubmit () {},
-    //  重置
-    resetSearchForm () {},
-    //  导出
-    handleExport () {
-      const params = this.queryParam
-      if (this.oldTime && this.oldTime.length > 0) {
-        params.beginOldExpiryDate = moment(this.oldTime[0]).format('YYYY-MM-DD')
-        params.endOldExpirydDate = moment(this.oldTime[1]).format('YYYY-MM-DD')
-      } else {
-        params.beginOldExpiryDate = ''
-        params.endOldExpirydDate = ''
-      }
-      if (this.newTime && this.newTime.length > 0) {
-        params.beginDate = moment(this.newTime[0]).format('YYYY-MM-DD')
-        params.endDate = moment(this.newTime[1]).format('YYYY-MM-DD')
-      } else {
-        params.beginDate = ''
-        params.endDate = ''
-      }
-      this.exportLoading = true
-      customerBundleExportDelay(params).then(res => {
-        this.exportLoading = false
-        this.download(res)
-      })
-    },
-    download (data) {
-      if (!data) { return }
-      const url = window.URL.createObjectURL(new Blob([data]))
-      const link = document.createElement('a')
-      link.style.display = 'none'
-      link.href = url
-      const a = moment().format('YYYYMMDDHHmmss')
-      const fname = '仓库调拨' + a
-      link.setAttribute('download', fname + '.xlsx')
-      document.body.appendChild(link)
-      link.click()
-    }
-  }
-}
-</script>
-
-<style lang="less">
-  .makeInventory-cont, .makeInventory-back{
-    margin-bottom: 10px;
-  }
-</style>

+ 0 - 144
src/views/inventoryManagement/inventoryChecking/makeInventoryDetail.vue

@@ -1,144 +0,0 @@
-<template>
-  <div class="makeInventoryDetail-wrap">
-    <a-page-header :ghost="false" @back="handleBack" class="makeInventoryDetail-back">
-      <!-- 自定义的二级文字标题 -->
-      <template slot="subTitle">
-        <a id="makeInventoryDetail-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
-      </template>
-      <!-- 操作区,位于 title 行的行尾 -->
-      <!-- <template slot="extra">
-        <a-button key="1" type="primary" id="makeInventoryDetail-print-btn">快速打印</a-button>
-      </template> -->
-    </a-page-header>
-    <!-- 基础信息 -->
-    <a-card size="small" :bordered="false" class="makeInventoryDetail-cont">
-      <a-collapse :activeKey="['1']">
-        <a-collapse-panel key="1" header="基础信息">
-          <a-descriptions :column="3">
-            <a-descriptions-item label="盘点单号">箭冠营销中心</a-descriptions-item>
-            <a-descriptions-item label="监盘审核状态">箭冠营销中心</a-descriptions-item>
-            <a-descriptions-item label="完结状态">箭冠营销中心</a-descriptions-item>
-          </a-descriptions>
-        </a-collapse-panel>
-      </a-collapse>
-    </a-card>
-    <!-- 详情 -->
-    <a-card size="small" :bordered="false" class="makeInventoryDetail-cont">
-      <a-collapse :activeKey="['1']">
-        <a-collapse-panel key="1" header="详情">
-          <!-- 总计 -->
-          <a-alert type="info" style="margin-bottom:10px">
-            <div slot="message">库存总数量: <strong>6</strong> ,盈亏总数量: <strong>6</strong></div>
-          </a-alert>
-          <!-- 筛选条件 -->
-          <div class="table-page-search-wrapper">
-            <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
-              <a-row :gutter="15">
-                <a-col :md="6" :sm="24">
-                  <a-form-item label="类型">
-                    <a-select placeholder="请选择" id="makeInventoryDetail-type" allowClear v-model="queryParam.dataSourceNo">
-                      <a-select-option v-for="item in brandData" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
-                    </a-select>
-                  </a-form-item>
-                </a-col>
-                <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
-                  <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="makeInventoryDetail-refresh">查询</a-button>
-                  <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="makeInventoryDetail-reset">重置</a-button>
-                </a-col>
-              </a-row>
-            </a-form>
-          </div>
-          <!-- 列表 -->
-          <s-table
-            class="sTable"
-            ref="table"
-            size="small"
-            :rowKey="(record) => record.id"
-            :columns="columns"
-            :data="loadData"
-            bordered>
-            <!-- 采购数量 -->
-            <template slot="purchaseNum" slot-scope="text, record">
-              <span>{{record.purchaseNum}}</span>
-            </template>
-            <!-- 缺货数量 -->
-            <template slot="outOfStockNum" slot-scope="text, record">
-              <span>{{record.outOfStockNum}}</span>
-            </template>
-          </s-table>
-        </a-collapse-panel>
-      </a-collapse>
-    </a-card>
-  </div>
-</template>
-
-<script>
-  import { STable, VSelect } from '@/components'
-  export default{
-    components: { STable, VSelect },
-    data(){
-      return{
-        queryParam: {
-          dataSourceNo: undefined
-        },
-        exportLoading: false, // 导出loading
-        disabled: false, //  查询、重置按钮是否可操作
-        // 表头
-        columns: [
-          { title: '序号', dataIndex: 'no', align: 'center' },
-          { title: '产品编码', dataIndex: 'creatDate', align: 'center', customRender: function (text) { return text || '--' } },
-          { title: '产品名称', dataIndex: 'custName', align: 'center', customRender: function (text) { return text || '--' } },
-          { title: '单位', dataIndex: 'mementPay', align: 'center', customRender: function (text) { return text || '--' } },
-          { title: '库存数量', scopedSlots: { customRender: 'outOfStockNum' }, align: 'center' },
-          { title: '盘点数量', dataIndex: 'tostalP', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-          { title: '盈亏数量', dataIndex: 'totalNums', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        ],
-        // 加载数据方法 必须为 Promise 对象
-        loadData: parameter => {
-          this.disabled = true
-          // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
-          //   const data = res.data
-          //   const no = (data.pageNo - 1) * data.pageSize
-          //   for (var i = 0; i < data.list.length; i++) {
-          //     data.list[i].no = no + i + 1
-          //   }
-          //   this.disabled = false
-          //   return data
-          // })
-          const _this = this
-          return new Promise(function(resolve, reject){
-            const data = {
-              pageNo: 1,
-              pageSize: 10,
-              list: [
-                { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-              ],
-              count: 10
-            }
-            const no = (data.pageNo - 1) * data.pageSize
-            for (var i = 0; i < data.list.length; i++) {
-              data.list[i].no = no + i + 1
-            }
-            _this.disabled = false
-            resolve(data)
-          })
-        },
-        brandData: []
-      }
-    },
-    methods: {
-      //  重置
-      resetSearchForm(){},
-      //  返回列表
-      handleBack(){
-        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true }})
-      },
-    }
-  }
-</script>
-
-<style lang="less">
-  .makeInventoryDetail-cont, .makeInventoryDetail-back{
-    margin-bottom: 10px;
-  }
-</style>

+ 0 - 108
src/views/inventoryManagement/inventoryChecking/overall.vue

@@ -1,108 +0,0 @@
-<template>
-  <div class="inventoryCheckingOverall-wrap">
-    <a-page-header :ghost="false" @back="handleBack" class="inventoryCheckingOverall-back">
-      <!-- 自定义的二级文字标题 -->
-      <template slot="subTitle">
-        <a id="inventoryChecking-overall-submit" href="javascript:;" @click="handleBack">返回列表</a>
-      </template>
-    </a-page-header>
-    <a-card size="small" :bordered="false" class="inventoryCheckingOverall-cont">
-      <!-- 操作按钮 -->
-      <div class="table-operator">
-        <a-checkbox-group @change="onChange" v-model="queryParam.keyword" :disabled="disabled" id="inventoryCheckingOverall-type">
-          <a-checkbox value="A">不含废品仓</a-checkbox>
-          <a-checkbox value="B">有库存</a-checkbox>
-        </a-checkbox-group>
-      </div>
-      <!-- 列表 -->
-      <s-table
-        class="sTable"
-        ref="table"
-        size="small"
-        :rowKey="(record) => record.id"
-        :columns="columns"
-        :data="loadData"
-        :showPagination="false"
-        bordered>
-      </s-table>
-    </a-card>
-    <a-affix :offset-bottom="0">
-      <div style="text-align: center;width: 100%;background-color: #fff;padding: 30px 0;box-shadow: 0 0 20px #dcdee2;">
-        <a-button type="primary" id="inventoryChecking-overall-submit" size="large" @click="handleSubmit" style="padding: 0 60px;">提交</a-button>
-      </div>
-    </a-affix>
-  </div>
-</template>
-
-<script>
-import { warehouseAllList, warehouseDel } from '@/api/warehouse'
-import { STable, VSelect } from '@/components'
-export default {
-  components: { STable, VSelect },
-  data () {
-    return {
-      queryParam: { //  查询条件
-        keyword: [] //
-      },
-      disabled: false, //  查询、重置按钮是否可操作
-      columns: [
-        { title: '序号', dataIndex: 'no', width: 70, align: 'center' },
-        { title: '产品编码', dataIndex: 'createDate', width: 180, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品名称', dataIndex: 'nsso', width: 70, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '单位', dataIndex: 'no3', width: 70, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '库存数量', dataIndex: 'n4o', width: 70, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        this.disabled = true
-        // return warehouseAllList( this.queryParam ).then(res => {
-        //   const data = res.data
-        //   this.disabled = false
-        //   return data
-        // })
-        const _this = this
-        return new Promise(function (resolve, reject) {
-          const data = {
-            pageNo: 1,
-            pageSize: 10,
-            list: [
-              { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-            ],
-            count: 10
-          }
-          for (var i = 0; i < data.list.length; i++) {
-            data.list[i].no = i + 1
-          }
-          _this.disabled = false
-          resolve(data)
-        })
-      }
-
-    }
-  },
-  methods: {
-    //  提交
-    handleSubmit () {
-
-    },
-    //  返回
-    handleBack () {
-      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true } })
-    },
-    //
-    onChange () {}
-  }
-}
-</script>
-
-<style lang="less">
-  .inventoryCheckingOverall-wrap{
-    padding: 10px 0 30px;
-    .table-operator{
-      margin-bottom: 25px;
-    }
-    .inventoryCheckingOverall-cont, .inventoryCheckingOverall-back{
-      margin-bottom: 10px;
-    }
-  }
-</style>

+ 0 - 326
src/views/inventoryManagement/inventoryChecking/selfDisk.vue

@@ -1,326 +0,0 @@
-<template>
-  <div class="selfDisk-wrap">
-    <a-page-header :ghost="false" @back="handleBack" class="selfDisk-back">
-      <!-- 自定义的二级文字标题 -->
-      <template slot="subTitle">
-        <a id="selfDisk-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
-      </template>
-    </a-page-header>
-    <!-- 选择产品 -->
-    <a-card size="small" :bordered="false" class="selfDisk-cont">
-      <a-collapse :activeKey="['1']">
-        <a-collapse-panel key="1">
-          <template slot="header">选择产品</template>
-          <!-- 选择产品 -->
-          <div>
-            <!-- 搜索条件 -->
-            <div class="table-page-search-wrapper">
-              <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
-                <a-row :gutter="15">
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="关键词">
-                      <a-input id="selfDisk-bundleName" v-model.trim="queryParam.bundleName" allowClear placeholder="产品名称/产品编码/原厂编码"/>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="产品品牌">
-                      <a-select
-                        placeholder="请选择"
-                        id="selfDisk-state"
-                        allowClear
-                        v-model="queryParam.dataSourceNo"
-                        :showSearch="true"
-                        option-filter-prop="children"
-                        :filter-option="filterOption">
-                        <a-select-option v-for="item in brandData" :key="item.salesChannelNo" :value="item.salesChannelNo">{{ item.salesChannelName }}</a-select-option>
-                      </a-select>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="产品类别">
-                      <a-cascader :options="typeData" id="selfDisk-state" placeholder="请选择产品类别" allowClear v-model="queryParam.brand" />
-                    </a-form-item>
-                  </a-col>
-                  <template v-if="advanced">
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="库存">
-                        <a-select
-                          placeholder="请选择"
-                          id="selfDisk-state"
-                          allowClear
-                          v-model="queryParam.dataSourceNo"
-                          :showSearch="true"
-                          option-filter-prop="children"
-                          :filter-option="filterOption">
-                          <a-select-option v-for="item in brandData" :key="item.salesChannelNo" :value="item.salesChannelNo">{{ item.salesChannelName }}</a-select-option>
-                        </a-select>
-                      </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="仓库">
-                        <a-select
-                          placeholder="请选择"
-                          id="selfDisk-state"
-                          allowClear
-                          v-model="queryParam.dataSourceNo"
-                          :showSearch="true"
-                          option-filter-prop="children"
-                          :filter-option="filterOption">
-                          <a-select-option v-for="item in brandData" :key="item.salesChannelNo" :value="item.salesChannelNo">{{ item.salesChannelName }}</a-select-option>
-                        </a-select>
-                      </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="仓位">
-                        <a-select
-                          placeholder="请选择"
-                          id="selfDisk-state"
-                          allowClear
-                          v-model="queryParam.dataSourceNo"
-                          :showSearch="true"
-                          option-filter-prop="children"
-                          :filter-option="filterOption">
-                          <a-select-option v-for="item in brandData" :key="item.salesChannelNo" :value="item.salesChannelNo">{{ item.salesChannelName }}</a-select-option>
-                        </a-select>
-                      </a-form-item>
-                    </a-col>
-                  </template>
-                  <a-col :md="6" :sm="24">
-                    <a-button style="margin-bottom: 10px;" type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="selfDisk-refresh">查询</a-button>
-                    <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="selfDisk-reset">重置</a-button>
-                    <a @click="advanced=!advanced" style="margin-left: 5px">
-                      {{ advanced ? '收起' : '展开' }}
-                      <a-icon :type="advanced ? 'up' : 'down'"/>
-                    </a>
-                  </a-col>
-                </a-row>
-              </a-form>
-            </div>
-            <!-- 列表 -->
-            <s-table
-              class="sTable"
-              ref="table"
-              size="small"
-              :rowKey="(record) => record.id"
-              :columns="columns"
-              :data="loadData"
-              :scroll="{ x: 1420 }"
-              bordered>
-              <!-- 操作 -->
-              <template slot="action" slot-scope="text, record">
-                <a-button size="small" type="link" @click="handleAdd(record)" id="selfDisk-add-btn">添加</a-button>
-              </template>
-            </s-table>
-          </div>
-        </a-collapse-panel>
-      </a-collapse>
-    </a-card>
-    <!-- 已选产品 -->
-    <a-card size="small" :bordered="false" class="selfDisk-cont">
-      <a-collapse :activeKey="['1']">
-        <a-collapse-panel key="1">
-          <template slot="header">
-            已选产品
-            <a-button size="small" class="import-btn" id="selfDisk-import-btn" @click.stop="handleImport">导入明细</a-button>
-          </template>
-          <!-- 已选产品 -->
-          <div>
-            <!-- 总计 -->
-            <a-alert type="info" style="margin-bottom:10px">
-              <div slot="message">产品款数 <strong>6</strong> ,采购数量合计 <strong>6</strong> ,采购金额合计¥<strong>6.33</strong></div>
-            </a-alert>
-            <!-- 列表 -->
-            <s-table
-              class="sTable"
-              ref="table"
-              size="small"
-              :rowKey="(record) => record.id"
-              :columns="chooseColumns"
-              :data="chooseLoadData"
-              :scroll="{ x: 1420 }"
-              bordered>
-              <!-- 操作 -->
-              <template slot="action" slot-scope="text, record">
-                <a-button size="small" type="link" @click="handleDel(record)" id="selfDisk-del-btn">删除</a-button>
-              </template>
-            </s-table>
-          </div>
-        </a-collapse-panel>
-      </a-collapse>
-    </a-card>
-    <a-affix :offset-bottom="0">
-      <div style="text-align: center;width: 100%;background-color: #fff;padding: 30px 0;box-shadow: 0 0 20px #dcdee2;">
-        <a-button type="primary" id="warehouseAllocationEdit-submit" size="large" @click="handleSubmit" style="padding: 0 60px;">提交</a-button>
-      </div>
-    </a-affix>
-  </div>
-</template>
-
-<script>
-import { STable, VSelect } from '@/components'
-export default {
-  components: { STable, VSelect },
-  data () {
-    return {
-      queryParam: {
-
-      },
-      brandData: [], //  产品品牌  下拉数据
-      typeData: [], //  产品类别  下拉数据
-      advanced: false, //  高级搜索 展开/关闭
-      disabled: false, //  查询、重置按钮是否可操作
-      // 表头
-      columns: [
-        { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
-        { title: '产品编码', dataIndex: 'creatDate', width: 140, align: 'center', sorter: true, customRender: function (text) { return text || '--' } },
-        { title: '产品名称', dataIndex: 'custName', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '原厂编码', dataIndex: 'totalP', width: 140, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品品牌', dataIndex: 'custssName', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品级别', dataIndex: 'custsdName', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '仓库', dataIndex: 'totalNums', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '仓位', dataIndex: 'totalNsums', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '库存数量', dataIndex: 'storageQuantity', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '单位', scopedSlots: { customRender: 'outOfStockNum' }, width: 100, align: 'center' },
-        { title: '最后入库时间', scopedSlots: { customRender: 'purchaseNum' }, width: 160, align: 'center' },
-        { title: '操作', scopedSlots: { customRender: 'action' }, width: 100, align: 'center', fixed: 'right' }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        this.disabled = true
-        // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
-        //   const data = res.data
-        //   const no = (data.pageNo - 1) * data.pageSize
-        //   for (var i = 0; i < data.list.length; i++) {
-        //     data.list[i].no = no + i + 1
-        //   }
-        //   this.disabled = false
-        //   return data
-        // })
-        const _this = this
-        return new Promise(function (resolve, reject) {
-          const data = {
-            pageNo: 1,
-            pageSize: 10,
-            list: [
-              { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-            ],
-            count: 10
-          }
-          const no = (data.pageNo - 1) * data.pageSize
-          for (var i = 0; i < data.list.length; i++) {
-            data.list[i].no = no + i + 1
-          }
-          _this.disabled = false
-          resolve(data)
-        })
-      },
-      // 表头
-      chooseColumns: [
-        { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
-        { title: '产品编码', dataIndex: 'creatDate', width: 140, align: 'center', sorter: true },
-        { title: '产品名称', dataIndex: 'custName', align: 'center' },
-        { title: '原厂编码', dataIndex: 'totalP', width: 140, align: 'center' },
-        { title: '产品品牌', dataIndex: 'custsNasme', width: 100, align: 'center' },
-        { title: '产品级别', dataIndex: 'custsNdme', width: 100, align: 'center' },
-        { title: '仓库', dataIndex: 'totalNums', width: 100, align: 'center' },
-        { title: '仓位', dataIndex: 'totalNsums', width: 100, align: 'center' },
-        { title: '库存数量', dataIndex: 'storageQuantity', width: 100, align: 'center' },
-        { title: '单位', scopedSlots: { customRender: 'outOfStockNum' }, width: 100, align: 'center' },
-        { title: '最后入库时间', scopedSlots: { customRender: 'purchaseNum' }, width: 160, align: 'center' },
-        { title: '操作', scopedSlots: { customRender: 'action' }, width: 100, align: 'center', fixed: 'right' }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      chooseLoadData: parameter => {
-        this.disabled = true
-        // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
-        //   const data = res.data
-        //   const no = (data.pageNo - 1) * data.pageSize
-        //   for (var i = 0; i < data.list.length; i++) {
-        //     data.list[i].no = no + i + 1
-        //   }
-        //   this.disabled = false
-        //   return data
-        // })
-        const _this = this
-        return new Promise(function (resolve, reject) {
-          const data = {
-            pageNo: 1,
-            pageSize: 10,
-            list: [
-              { id: '1', purchaseNo: 'jgqp11111111111', custssName: 0, creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
-              { id: '2', purchaseNo: 'jgqp11111111111', custssName: 0, creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
-              { id: '3', purchaseNo: 'jgqp11111111111', custssName: 0, creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
-            ],
-            count: 10
-          }
-          const no = (data.pageNo - 1) * data.pageSize
-          for (var i = 0; i < data.list.length; i++) {
-            data.list[i].no = no + i + 1
-          }
-          _this.disabled = false
-          resolve(data)
-        })
-      },
-      openModal: false // 选择基本信息弹框是否显示
-    }
-  },
-  methods: {
-    //  重置
-    resetSearchForm () {
-      this.queryParam.orderBundleNo = ''
-      this.queryParam.orderBundle.custMobile = ''
-      this.queryParam.bundleName = ''
-      this.queryParam.itemName = ''
-      this.oldTime = undefined
-      this.newTime = undefined
-      this.$refs.table.refresh(true)
-    },
-    //  提交
-    handleSubmit () {},
-    //  添加
-    handleAdd (row) {},
-    //  删除
-    handleDel (row) {},
-    //  编辑基本信息
-    handleEditInfo () {
-      this.openModal = true
-    },
-    //  基本信息  保存
-    handleOk () {
-
-    },
-    //  导入明细
-    handleImport () {
-      console.log(333)
-    },
-    //  返回列表
-    handleBack () {
-      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list', query: { closeLastOldTab: true } })
-    },
-    filterOption (input, option) {
-      	return (
-      		option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-      	)
-    }
-  },
-  beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.openModal = false
-    })
-  }
-}
-</script>
-
-<style lang="less">
-  .selfDisk-wrap{
-    .selfDisk-back{
-      margin-bottom: 10px;
-    }
-    .selfDisk-cont{
-      margin-bottom: 10px;
-      .import-btn{
-        margin-left: 15px;
-      }
-    }
-  }
-</style>

+ 14 - 11
src/views/inventoryManagement/inventoryQuery/list.vue

@@ -337,17 +337,17 @@ export default {
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 230
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -356,18 +356,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 22 - 13
src/views/inventoryManagement/inventoryQuery/warehouseDetail.vue

@@ -81,6 +81,7 @@
           :columns="columns"
           :data="loadData"
           :scroll="{ x: 1590, y: tableHeight }"
+          :defaultLoadData="false"
           bordered>
           <!-- 数量 -->
           <template slot="qty" slot-scope="text, record">
@@ -207,18 +208,18 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getWarehouseList()
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 230 - 52
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-    this.getWarehouseList()
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -227,13 +228,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.$refs.table.refresh(true)
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.$refs.table.refresh(true)
+      this.pageInit()
+    }
+  },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.getWarehouseList()
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 15 - 41
src/views/inventoryManagement/inventoryWarning/list.vue

@@ -65,13 +65,6 @@
             <a-col :md="6" :sm="24">
               <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="inventoryWarningList-refresh">查询</a-button>
               <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="inventoryWarningList-reset">重置</a-button>
-              <!-- <a-button
-                style="margin-left: 8px"
-                type="danger"
-                @click="handleExport"
-                :disabled="disabled"
-                :loading="exportLoading"
-                id="inventoryWarningList-export">导出</a-button> -->
               <a @click="advanced=!advanced" style="margin-left: 5px">
                 {{ advanced ? '收起' : '展开' }}
                 <a-icon :type="advanced ? 'up' : 'down'"/>
@@ -395,39 +388,19 @@ export default {
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
     },
-    //  导出
-    handleExport () {
-      const params = this.queryParam
-      this.exportLoading = true
-      // customerBundleExportDelay(params).then(res => {
-      //   this.exportLoading = false
-      //   this.download(res)
-      // })
-    },
-    //  下载
-    download (data) {
-      if (!data) { return }
-      const url = window.URL.createObjectURL(new Blob([data]))
-      const link = document.createElement('a')
-      link.style.display = 'none'
-      link.href = url
-      const a = moment().format('YYYYMMDDHHmmss')
-      const fname = '库存预警' + a
-      link.setAttribute('download', fname + '.xlsx')
-      document.body.appendChild(link)
-      link.click()
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getProductType()
+      this.getProductBrand()
     },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -436,20 +409,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductType()
-      vm.getProductBrand()
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 18 - 4
src/views/power/OperateJournal/OperateJournal.vue

@@ -37,6 +37,7 @@
         :columns="columns"
         :data="loadData"
         :scroll="{ y: tableHeight }"
+        :defaultLoadData="false"
         bordered>
         <span slot="actDesc" slot-scope="text, record">{{ record.actDate }}-{{ record.actDesc }}</span>
         <span slot="actorName" slot-scope="text, record">{{ record.actorName }}-{{ record.actorPhone }}</span>
@@ -108,16 +109,29 @@ export default {
       this.queryParam.actorName = ''
       this.$refs.table.refresh(true)
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.resetSearchForm()
+    }
   }
 }
 </script>

+ 19 - 6
src/views/power/dataDictionary/dataDictionary.vue

@@ -79,6 +79,7 @@
             rowKey="id"
             :columns="columns"
             :data="loadData"
+            :defaultLoadData="false"
             bordered
           >
             <span slot="action" slot-scope="text, record">
@@ -276,6 +277,7 @@ export default {
     cancelSel () {
       this.selectedKey = []
       this.selectedMenu = ''
+      this.$refs.table.clearTable()
     },
 
     // 新增数据
@@ -341,16 +343,27 @@ export default {
       this.itemCodeData = row
     }
 
-  },
-  mounted () {
   },
   beforeCreate () {
     this.form = this.$form.createForm(this, { name: 'miniForm' })
   },
-  beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getCodeList()
-    })
+  // beforeRouteEnter (to, from, next) {
+  //   next(vm => {
+  //     vm.getCodeList()
+  //   })
+  // },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.getCodeList()
+      this.cancelSel()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.getCodeList()
+      this.cancelSel()
+    }
   },
   watch: {
     selectedKey (newValue, oldValue) {

+ 18 - 4
src/views/power/role/roleList.vue

@@ -40,6 +40,7 @@
         :data="loadData"
         :scroll="{ y: tableHeight }"
         style="word-break: break-all;"
+        :defaultLoadData="false"
         bordered>
         <!-- 启用禁用 -->
         <span slot="status" slot-scope="text, record">
@@ -217,16 +218,29 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.reset()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.reset()
+    }
   }
 }
 </script>

+ 18 - 4
src/views/power/user/userList.vue

@@ -39,6 +39,7 @@
         :data="loadData"
         :scroll="{ x: 1350, y: tableHeight }"
         style="word-break: break-all;"
+        :defaultLoadData="false"
         bordered
       >
         <span slot="status" slot-scope="text, record">
@@ -220,16 +221,29 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.reset()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.reset()
+    }
   }
 }
 </script>

+ 12 - 14
src/views/productManagement/newProduct/detail.vue

@@ -21,7 +21,6 @@
             <a-descriptions-item label="商品尺寸:">{{ (detailsData && detailsData.size) || '--' }}</a-descriptions-item>
             <a-descriptions-item label="重量:">{{ (detailsData && detailsData.weight) || '--' }}</a-descriptions-item>
             <a-descriptions-item label="计量单位:">{{ (detailsData && detailsData.unit) || '--' }}</a-descriptions-item>
-            <!-- <a-descriptions-item label="适用车型:">{{ productTypeName || '--' }}</a-descriptions-item> -->
           </a-descriptions>
           <div class="productDetail">
             <h4>产品介绍</h4>
@@ -37,13 +36,6 @@
             <div slot="nextArrow" slot-scope="props" class="custom-slick-arrow" style="right: 10px"><a-icon type="right-circle" /></div>
             <div><img :src="detailsData.productMsg" /></div>
           </a-carousel>
-          <!-- <div class="sycxImg">
-            <p>适用车型图片</p>
-            <div>
-              <img src="../../../assets/avatar2.jpg" />
-              <div>江陵凯瑞200</div>
-            </div>
-          </div> -->
         </div>
       </div>
     </div>
@@ -82,14 +74,20 @@ export default {
     }
   },
   mounted () {
-    this.itemId = this.$route.params.sn
-    this.getDetail()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.itemId = this.$route.params.sn
+      this.getDetail()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.itemId = this.$route.params.sn
+      this.getDetail()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.itemId = vm.$route.params.sn
-      vm.getDetail()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 16 - 11
src/views/productManagement/newProduct/list.vue

@@ -222,17 +222,19 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getProductBrand()
+      this.getProductType()
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 215
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -241,18 +243,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.$refs.table.refresh(true)
-      vm.getProductBrand()
-      vm.getProductType()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 16 - 10
src/views/productManagement/priceChangeRecord/list.vue

@@ -331,17 +331,19 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getProductBrand()
+      this.getProductType()
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 233
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -350,17 +352,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 13 - 6
src/views/productManagement/productBrand/list.vue

@@ -201,22 +201,29 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
-  },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
   }
 }
 </script>

+ 5 - 0
src/views/productManagement/productCategory/list.vue

@@ -159,6 +159,11 @@ export default {
       }
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.$refs.table.refresh(true)
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {

+ 23 - 11
src/views/productManagement/productInfo/edit.vue

@@ -413,20 +413,32 @@ export default {
       return (
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
+    },
+    pageInit () {
+      this.$refs.productMsg.setFileList('')
+      this.$refs.editor.setHtml('')
+      this.$refs.otherDesc.setHtml('')
+      this.$refs.ruleForm.resetFields()
+      this.getProductBrand()
+      this.getProductType()
+      if (this.$route.params.id) { //  编辑页
+        this.getDetail()
+      }
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.$refs.productMsg.setFileList('')
-      vm.$refs.editor.setHtml('')
-      vm.$refs.otherDesc.setHtml('')
-      vm.$refs.ruleForm.resetFields()
-      vm.getProductBrand()
-      vm.getProductType()
-      if (vm.$route.params.id) { //  编辑页
-        vm.getDetail()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 16 - 11
src/views/productManagement/productInfo/list.vue

@@ -576,17 +576,19 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getProductBrand()
+      this.getProductType()
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -595,18 +597,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-      vm.$refs.table.refresh()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 17 - 10
src/views/productManagement/productLaunchAudit/list.vue

@@ -133,12 +133,6 @@ export default {
       } : null
     }
   },
-  activated () {
-    // 如果是新页签打开,则重置当前页面
-    if (this.$store.state.app.isNewTab) {
-      this.resetSearchForm()
-    }
-  },
   methods: {
     //  重置
     resetSearchForm () {
@@ -204,16 +198,29 @@ export default {
       console.log('selectedRowKeys changed: ', selectedRowKeys)
       this.selectedRowKeys = selectedRowKeys
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.resetSearchForm()
+    }
   }
 }
 </script>

+ 22 - 16
src/views/productManagement/productLevel/list.vue

@@ -162,12 +162,6 @@ export default {
       nowData: null
     }
   },
-  activated () {
-    // 如果是新页签打开,则重置当前页面
-    if (this.$store.state.app.isNewTab) {
-      this.resetSearchForm()
-    }
-  },
   methods: {
     //  重置
     resetSearchForm () {
@@ -247,17 +241,19 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getProductBrand()
+      this.getProductType()
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -266,11 +262,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 22 - 16
src/views/productManagement/productOfflineAudit/list.vue

@@ -192,12 +192,6 @@ export default {
       } : null
     }
   },
-  activated () {
-    // 如果是新页签打开,则重置当前页面
-    if (this.$store.state.app.isNewTab) {
-      this.resetSearchForm()
-    }
-  },
   methods: {
     filterOption (input, option) {
       return (
@@ -296,17 +290,19 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getProductBrand()
+      this.getProductType()
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -315,11 +311,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 16 - 10
src/views/productManagement/productPricing/list.vue

@@ -246,17 +246,19 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getProductBrand()
+      this.getProductType()
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -265,17 +267,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 13 - 6
src/views/productManagement/productUniversal/list.vue

@@ -207,17 +207,17 @@ export default {
       document.body.appendChild(link)
       link.click()
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -226,9 +226,16 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },

+ 0 - 116
src/views/productManagement/purchaseBaseLimit/editModal.vue

@@ -1,116 +0,0 @@
-<template>
-  <a-modal
-    centered
-    class="purchaseBaseLimitEdit-modal"
-    :footer="null"
-    :maskClosable="false"
-    title="编辑价格"
-    v-model="isShow"
-    @cancle="isShow=false"
-    :width="800">
-    <div>
-      <a-form-model
-        id="purchaseBaseLimitEdit-form"
-        ref="ruleForm"
-        :model="form"
-        :rules="rules"
-        :label-col="formItemLayout.labelCol"
-        :wrapper-col="formItemLayout.wrapperCol"
-      >
-      </a-form-model>
-      <div class="btn-cont">
-        <a-button type="primary" id="purchaseBaseLimitEdit-save" @click="handleSave">保存</a-button>
-        <a-button id="purchaseBaseLimitEdit-cancel" @click="isShow = false" style="margin-left: 100px;">取消</a-button>
-      </div>
-    </div>
-  </a-modal>
-</template>
-
-<script>
-// import { dealerProductDetail } from '@/api/dealerProduct'
-export default {
-  name: 'PurchaseBaseLimitEditModal',
-  props: {
-    openModal: { //  弹框显示状态
-      type: Boolean,
-      default: false
-    },
-    itemId: {
-      type: [Number, String],
-      default: ''
-    }
-  },
-  computed: {
-    productTypeName () {
-      const productTypeName1 = this.detailsData.productTypeName1 ? this.detailsData.productTypeName1 : ''
-      const productTypeName2 = this.detailsData.productTypeName2 ? ' > ' + this.detailsData.productTypeName2 : ''
-      const productTypeName3 = this.detailsData.productTypeName3 ? ' > ' + this.detailsData.productTypeName3 : ''
-      return productTypeName1 + productTypeName2 + productTypeName3
-    }
-  },
-  data () {
-    return {
-      isShow: this.openModal, //  是否打开弹框
-      formItemLayout: {
-        labelCol: { span: 4 },
-        wrapperCol: { span: 16 }
-      },
-      detailsData: null, //  详情数据
-      form: {
-        storageQuantity: ''
-      },
-      rules: {
-        supplierName: [
-          { required: true, message: '请输入供应商名称', trigger: 'blur' }
-        ]
-      },
-      brandData: []
-    }
-  },
-  methods: {
-    //  获取详情
-    getDetail () {
-      // dealerProductDetail({ id: this.itemId }).then(res => {
-      //   if (res.status == 200) {
-      //     this.detailsData = res.data
-      //   } else {
-      //     this.detailsData = null
-      //   }
-      // })
-    },
-    // 保存
-    handleSave () {
-
-    }
-  },
-  watch: {
-    //  父页面传过来的弹框状态
-    openModal (newValue, oldValue) {
-      this.isShow = newValue
-    },
-    //  重定义的弹框状态
-    isShow (newValue, oldValue) {
-      if (!newValue) {
-        this.$emit('close')
-      }
-    },
-    itemId (newValue, oldValue) {
-      if (this.isShow && newValue) {
-        this.getDetail()
-      }
-    }
-  }
-}
-</script>
-
-<style lang="less">
-  .purchaseBaseLimitEdit-modal{
-    .ant-modal-body {
-      padding: 40px 40px 24px;
-    }
-    .btn-cont {
-      text-align: center;
-      margin: 35px 0 30px;
-    }
-  }
-</style>

+ 0 - 255
src/views/productManagement/purchaseBaseLimit/list.vue

@@ -1,255 +0,0 @@
-<template>
-  <a-card size="small" :bordered="false" class="purchaseBaseLimitList-wrap">
-    <!-- 搜索条件 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
-        <a-row :gutter="15">
-          <a-col :md="6" :sm="24">
-            <a-form-item label="产品名称">
-              <a-input id="purchaseBaseLimitList-productName" v-model.trim="queryParam.productName" allowClear placeholder="请输入产品名称"/>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="24">
-            <a-form-item label="产品编码">
-              <a-input id="purchaseBaseLimitList-productCode" v-model.trim="queryParam.productCode" allowClear placeholder="请输入产品编码"/>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="24">
-            <a-form-item label="品牌">
-              <a-select
-                placeholder="请选择"
-                id="purchaseBaseLimitList-productBrandSn"
-                allowClear
-                v-model="queryParam.productBrandSn"
-                :showSearch="true"
-                option-filter-prop="children"
-                :filter-option="filterOption">
-                <a-select-option v-for="item in productBrandList" :key="item.productBrandSn" :value="item.productBrandSn">{{ item.productBrandName }}</a-select-option>
-              </a-select>
-            </a-form-item>
-          </a-col>
-          <template v-if="advanced">
-            <a-col :md="6" :sm="24">
-              <a-form-item label="产品分类">
-                <a-cascader
-                  @change="changeProductType"
-                  change-on-select
-                  :options="productTypeList"
-                  :fieldNames="{ label: 'productTypeName', value: 'productTypeSn', children: 'children' }"
-                  id="purchaseBaseLimitList-productType"
-                  placeholder="请选择产品分类"
-                  allowClear />
-              </a-form-item>
-            </a-col>
-            <a-col :md="6" :sm="24">
-              <a-form-item label="客户级别">
-                <v-select code="ENABLED_FLAG" id="purchaseBaseLimitList-enabledFlag" v-model="queryParam.enabledFlag" allowClear placeholder="请选择客户级别"></v-select>
-              </a-form-item>
-            </a-col>
-          </template>
-          <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
-            <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="purchaseBaseLimitList-refresh">查询</a-button>
-            <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="purchaseBaseLimitList-reset">重置</a-button>
-            <a @click="advanced=!advanced" style="margin-left: 5px">
-              {{ advanced ? '收起' : '展开' }}
-              <a-icon :type="advanced ? 'up' : 'down'"/>
-            </a>
-          </a-col>
-        </a-row>
-      </a-form>
-    </div>
-    <!-- 操作按钮 -->
-    <div class="table-operator">
-      <a-button id="purchaseBaseLimitList-add" type="primary" class="button-error" @click="handleAdd">新增</a-button>
-    </div>
-    <!-- 列表 -->
-    <s-table
-      class="sTable"
-      ref="table"
-      size="small"
-      :rowKey="(record) => record.id"
-      :columns="columns"
-      :data="loadData"
-      :scroll="{ x: 1120 }"
-      :defaultLoadData="false"
-      bordered>
-      <!-- 产品分类 -->
-      <template slot="productType" slot-scope="text, record">
-        <a-tooltip placement="top">
-          <template slot="title">
-            <span>{{ record.productTypeName }}</span>
-          </template>
-          {{ record.productTypeName3 }}
-        </a-tooltip>
-      </template>
-      <!-- 产品状态 -->
-      <template slot="status" slot-scope="text, record">
-        <a-tag :color="record.status==1?'green':'red'" >{{ record.status==1? '待提交': '待单据审核' }}</a-tag>
-      </template>
-      <!-- 定价状态 -->
-      <template slot="sstatus" slot-scope="text, record">
-        <a-tag :color="record.status==1?'green':'red'" >{{ record.status==1? '待提交': '待单据审核' }}</a-tag>
-      </template>
-      <!-- 操作 -->
-      <template slot="action" slot-scope="text, record">
-        <a-button size="small" type="link" @click="handleDel(record)" id="purchaseBaseLimitList-del-btn">删除</a-button>
-      </template>
-    </s-table>
-    <!-- 编辑 -->
-    <purchase-base-limit-edit-modal :openModal="openModal" :itemId="itemId" @close="closeModal" />
-  </a-card>
-</template>
-
-<script>
-// import { dealerProductBrandQuery } from '@/api/dealerProductBrand'
-// import { dealerProductTypeQuery } from '@/api/dealerProductType'
-import { STable, VSelect } from '@/components'
-import purchaseBaseLimitEditModal from './editModal.vue'
-export default {
-  components: { STable, VSelect, purchaseBaseLimitEditModal },
-  data () {
-    return {
-      advanced: true, // 高级搜索 展开/关闭
-      queryParam: { //  查询条件
-        productName: '', //  产品名称
-        productCode: '', //  产品编码/原厂编码
-        productBrandSn: undefined, //  品牌
-        productTypeSn1: '', //  产品一级分类
-        productTypeSn2: '', //  产品二级分类
-        productTypeSn3: '', //  产品三级分类
-        enabledFlag: undefined //  定价状态
-      },
-      disabled: false, //  查询、重置按钮是否可操作
-      columns: [
-        { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
-        { title: '创建时间', dataIndex: 'createDate', width: 160, align: 'center' },
-        { title: '客户级别', dataIndex: 'productdName', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品名称', dataIndex: 'productName', align: 'center', ellipsis: true, customRender: function (text) { return text || '--' } },
-        { title: '产品编码', dataIndex: 'productCode', width: 140, align: 'center' },
-        { title: '产品品牌', dataIndex: 'productBrandName', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品分类', scopedSlots: { customRender: 'productType' }, width: 200, align: 'center' },
-        { title: '操作', scopedSlots: { customRender: 'action' }, width: 150, align: 'center', fixed: 'right' }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        this.disabled = true
-        // return dealerProductList(Object.assign(parameter, this.queryParam)).then(res => {
-        //   const data = res.data
-        //   const no = (data.pageNo - 1) * data.pageSize
-        //   for (var i = 0; i < data.list.length; i++) {
-        //     data.list[i].no = no + i + 1
-        //     const productTypeName1 = data.list[i].productTypeName1 ? data.list[i].productTypeName1 : ''
-        //     const productTypeName2 = data.list[i].productTypeName2 ? ' > ' + data.list[i].productTypeName2 : ''
-        //     const productTypeName3 = data.list[i].productTypeName3 ? ' > ' + data.list[i].productTypeName3 : ''
-        //     data.list[i].productTypeName = productTypeName1 + productTypeName2 + productTypeName3
-        //   }
-        //   this.disabled = false
-        //   return data
-        // })
-        const _this = this
-        return new Promise(function (resolve, reject) {
-          const data = {
-            pageNo: 1,
-            pageSize: 10,
-            list: [
-              { id: '1', productNum: 'jgqp11111111111', productName: '产品1', productPic: ['https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg', 'https://qn.antdv.com/vue.png'], productOldNum: 'jgqp111123545', productBrand: '箭冠品牌', productType: '产品分类1', inventoryNum: '5', inventoryMoney: '122' }
-            ]
-          }
-          const no = (data.pageNo - 1) * data.pageSize
-          for (var i = 0; i < data.list.length; i++) {
-            data.list[i].no = no + i + 1
-          }
-          _this.disabled = false
-          resolve(data)
-        })
-      },
-      openModal: false, //  编辑  弹框
-      itemId: '', //  当前产品id
-      productBrandList: [], //  品牌下拉数据
-      productTypeList: [] //  分类下拉数据
-    }
-  },
-  methods: {
-    //  重置
-    resetSearchForm () {
-      this.queryParam.productCode = ''
-      this.queryParam.productName = ''
-      this.queryParam.productBrandSn = undefined
-      this.queryParam.productTypeSn1 = ''
-      this.queryParam.productTypeSn2 = ''
-      this.queryParam.productTypeSn3 = ''
-      this.queryParam.enabledFlag = undefined
-      this.$refs.table.refresh(true)
-    },
-    filterOption (input, option) {
-      return (
-        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-      )
-    },
-    //  新增
-    handleAdd () {
-      this.openModal = true
-    },
-    //  关闭弹框
-    closeModal () {
-      this.itemId = ''
-      this.openModal = false
-    },
-    // 删除
-    handleDel (row) {
-      const _this = this
-      this.$confirm({
-        title: '提示',
-        content: '确认要删除吗?',
-        centered: true,
-        onOk () {
-          // salesDel({ id: row.id }).then(res => {
-          //   if (res.status == 200) {
-          //     _this.$message.success(res.message)
-          //     _this.$refs.table.refresh()
-          //   }
-          // })
-        }
-      })
-    },
-    //  产品分类  change
-    changeProductType (val, opt) {
-      this.queryParam.productTypeSn1 = val[0] ? val[0] : ''
-      this.queryParam.productTypeSn2 = val[1] ? val[1] : ''
-      this.queryParam.productTypeSn3 = val[2] ? val[2] : ''
-    },
-    //  产品品牌  列表
-    getProductBrand () {
-      dealerProductBrandQuery({}).then(res => {
-        if (res.status == 200) {
-          this.productBrandList = res.data
-        } else {
-          this.productBrandList = []
-        }
-      })
-    },
-    //  产品分类  列表
-    getProductType () {
-      dealerProductTypeQuery({}).then(res => {
-        if (res.status == 200) {
-          this.productTypeList = res.data
-        } else {
-          this.productTypeList = []
-        }
-      })
-    }
-  },
-  activated () {
-    // 如果是新页签打开,则重置当前页面
-    if (this.$store.state.app.isNewTab) {
-      this.resetSearchForm()
-    }
-  },
-  beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-    })
-  }
-}
-</script>

+ 14 - 11
src/views/promotionRulesManagement/orderStatistics/list.vue

@@ -214,17 +214,17 @@ export default {
       this.itemSn = ''
       this.nowData = null
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 230
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -233,18 +233,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 16 - 13
src/views/promotionRulesManagement/productStatistics/list.vue

@@ -236,17 +236,19 @@ export default {
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getProductBrand()
+      this.getProductType()
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 230
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -255,20 +257,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 20 - 9
src/views/promotionRulesManagement/promotionRules/detail.vue

@@ -222,16 +222,16 @@ export default {
     handleBack () {
       this.$router.push({ path: '/promotionRulesManagement/promotionRules/list', query: { closeLastOldTab: true } })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       this.tableHeight = window.innerHeight - 400
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     detailsData: {
       handler (newValue, oldValue) {
@@ -242,10 +242,21 @@ export default {
       deep: true
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.getDetail()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
+      this.getDetail()
+    }
+  },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getDetail()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 12 - 9
src/views/promotionRulesManagement/promotionRules/list.vue

@@ -205,29 +205,32 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 19 - 9
src/views/promotionRulesManagement/promotionRules/rule.vue

@@ -22,6 +22,7 @@
           :data="loadData"
           :scroll="{ y: tableHeight }"
           :showPagination="false"
+          :defaultLoadData="false"
           bordered>
           <!-- 操作 -->
           <template slot="action" slot-scope="text, record">
@@ -137,22 +138,31 @@ export default {
     handleBack () {
       this.$router.push({ path: '/promotionRulesManagement/promotionRules/list', query: { closeLastOldTab: true } })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       this.tableHeight = window.innerHeight - 250
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.$refs.table.refresh(true)
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
+      this.$refs.table.refresh(true)
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 11 - 12
src/views/purchasingManagement/bulkWarehousingOrder/edit.vue

@@ -7,11 +7,6 @@
         <template slot="subTitle">
           <a id="bulkWarehousingOrderEdit-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a>
         </template>
-        <!-- 操作区,位于 title 行的行尾 -->
-        <!-- <template slot="extra">
-          <a-button key="2" id="bulkWarehousingOrderEdit-preview-btn">打印预览</a-button>
-          <a-button key="1" type="primary" id="bulkWarehousingOrderEdit-print-btn">快速打印</a-button>
-        </template> -->
       </a-page-header>
       <!-- 基础信息 -->
       <a-card size="small" :bordered="false" class="bulkWarehousingOrderEdit-cont">
@@ -171,19 +166,23 @@ export default {
     },
     pageInit () {
       this.productTotal = null
+      this.openModal = false
       this.$refs.table.refresh(true)
     }
   },
   mounted () {
-    this.pageInit()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.openModal = false
-      if (!vm.disabled) {
-        vm.pageInit()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 15 - 12
src/views/purchasingManagement/bulkWarehousingOrder/list.vue

@@ -271,32 +271,35 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.openModal = false
+      this.openDetailModal = false
+      this.itemSn = null
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.openModal = false
-      vm.openDetailModal = false
-      vm.itemSn = null
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 8 - 3
src/views/reportData/actualSalesReport/list.vue

@@ -445,16 +445,21 @@ export default {
       })
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.getArea('province')
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.getArea('province')
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 15 - 7
src/views/reportData/allocationDetails/list.vue

@@ -456,22 +456,30 @@ export default {
           }
         }
       })
+    },
+    pageInit () {
+      this.getProductBrand()
+      this.getProductType()
+      this.getAllocateTypeAllList()
+      this.getUserList()
+      this.getArea('province')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-      vm.getAllocateTypeAllList()
-      vm.getUserList()
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 12 - 4
src/views/reportData/allocationOrderTotal/list.vue

@@ -237,19 +237,27 @@ export default {
       return (
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       )
+    },
+    pageInit () {
+      this.getAllocateTypeAllList()
+      this.getUserList()
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getAllocateTypeAllList()
-      vm.getUserList()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 11 - 3
src/views/reportData/billingReturnReport/list.vue

@@ -445,18 +445,26 @@ export default {
           }
         }
       })
+    },
+    pageInit () {
+      this.getArea('province')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 10 - 0
src/views/reportData/districtTypeSalesDetails/list.vue

@@ -148,11 +148,21 @@ export default {
       this.queryParam.state = undefined
       this.queryParam.allocateNo = ''
       this.$refs.table.refresh(true)
+    },
+    pageInit () {
+
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },

+ 11 - 3
src/views/reportData/hPriceDifferenceDetailReport/list.vue

@@ -318,18 +318,26 @@ export default {
       this.$refs.custList.resetForm()
       this.$refs.ruleForm.resetFields()
       this.$refs.table.clearTable()
+    },
+    pageInit () {
+      this.getArea('province')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 10 - 0
src/views/reportData/nationalCustomerCostStatistics/list.vue

@@ -411,11 +411,21 @@ export default {
       this.queryParam.state = undefined
       this.queryParam.allocateNo = ''
       this.$refs.table.refresh(true)
+    },
+    pageInit () {
+
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },

+ 11 - 3
src/views/reportData/priceDifferenceDetailReport/list.vue

@@ -255,18 +255,26 @@ export default {
       link.setAttribute('download', fname + '.xlsx')
       document.body.appendChild(link)
       link.click()
+    },
+    pageInit () {
+      this.getArea('province')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 10 - 0
src/views/reportData/provinceTypeSalesDetails/list.vue

@@ -164,11 +164,21 @@ export default {
       this.queryParam.allocateNo = ''
       this.$refs.rangeDate.resetDate(this.queryParam.time)
       this.$refs.table.refresh(true)
+    },
+    pageInit () {
+
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },

+ 10 - 0
src/views/reportData/regionalPromotionCostStatistics/list.vue

@@ -167,11 +167,21 @@ export default {
       this.queryParam.state = undefined
       this.queryParam.allocateNo = ''
       this.$refs.table.refresh(true)
+    },
+    pageInit () {
+
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },

+ 11 - 3
src/views/reportData/returnSlipReport/list.vue

@@ -452,18 +452,26 @@ export default {
           }
         }
       })
+    },
+    pageInit () {
+      this.getArea('province')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 11 - 3
src/views/reportData/salesAmountReport/list.vue

@@ -444,18 +444,26 @@ export default {
           }
         }
       })
+    },
+    pageInit () {
+      this.getArea('province')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 10 - 0
src/views/reportData/salesDetails/list.vue

@@ -281,11 +281,21 @@ export default {
       this.queryParam.state = undefined
       this.queryParam.allocateNo = ''
       this.$refs.table.refresh(true)
+    },
+    pageInit () {
+
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },

+ 13 - 5
src/views/reportData/salesReturnDetailReport/list.vue

@@ -465,20 +465,28 @@ export default {
           }
         }
       })
+    },
+    pageInit () {
+      this.getProductBrand()
+      this.getProductType()
+      this.getArea('province')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 11 - 3
src/views/reportData/salesReturnReport/list.vue

@@ -445,18 +445,26 @@ export default {
           }
         }
       })
+    },
+    pageInit () {
+      this.getArea('province')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 11 - 3
src/views/reportData/salesReturnsReport/list.vue

@@ -306,18 +306,26 @@ export default {
           }
         }
       })
+    },
+    pageInit () {
+      this.getArea('province')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 11 - 3
src/views/reportData/salesSlipReport/list.vue

@@ -452,18 +452,26 @@ export default {
           }
         }
       })
+    },
+    pageInit () {
+      this.getArea('province')
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
     }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-    })
+    next(vm => {})
   }
 }
 </script>

+ 12 - 9
src/views/salesManagement/backorder/list.vue

@@ -121,29 +121,32 @@ export default {
       this.itemSn = row.oosBillSn
       this.openModal = true
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 21 - 18
src/views/salesManagement/examineVerify/list.vue

@@ -283,23 +283,18 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getArea('province')
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 230
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
-  activated () {
-    // 如果是新页签打开,则重置当前页面
-    if (this.$store.state.app.isNewTab) {
-      this.resetSearchForm()
-    }
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -308,13 +303,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 15 - 12
src/views/salesManagement/outboundOrder/list.vue

@@ -382,17 +382,18 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getArea('province')
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 235
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -401,19 +402,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 16 - 13
src/views/salesManagement/priceInquiry/list.vue

@@ -196,17 +196,19 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getProductBrand()
+      this.getProductType()
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -215,20 +217,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductBrand()
-      vm.getProductType()
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 13 - 7
src/views/salesManagement/pushOrderManagement/detail.vue

@@ -65,6 +65,7 @@
           :columns="($route.params.type=='stockOut' || outBizSubSn) ? outColumns : columns"
           :data="loadData"
           :scroll="{ x: 1030, y: 500 }"
+          :defaultLoadData="false"
           bordered>
           <!-- 产品编码 -->
           <template slot="productCode" slot-scope="text, record">
@@ -212,15 +213,20 @@ export default {
     }
   },
   mounted () {
-    this.getDetail()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.$refs.table.refresh(true)
+      this.getDetail()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.$refs.table.refresh(true)
+      this.getDetail()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.getDetail()
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 15 - 12
src/views/salesManagement/pushOrderManagement/list.vue

@@ -228,17 +228,18 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getArea('province')
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 230
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -247,19 +248,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 13 - 7
src/views/salesManagement/salesQuery/detail.vue

@@ -93,6 +93,7 @@
         :columns="columns"
         :data="loadData"
         :scroll="{ x: 1290 }"
+		:defaultLoadData="false"
         bordered>
         <!-- 产品编码 -->
         <template slot="productCode" slot-scope="text, record">
@@ -314,15 +315,20 @@ export default {
     }
   },
   mounted () {
-    this.getDetail()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.$refs.table.refresh(true)
+      this.getDetail()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.$refs.table.refresh(true)
+      this.getDetail()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.getDetail()
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 16 - 17
src/views/salesManagement/salesQuery/edit.vue

@@ -7,11 +7,6 @@
           <a id="salesEdit-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a>
           <span style="margin: 0 15px;color: #666;">客户名称:{{ detailData&&detailData.buyerName }}</span>
         </template>
-        <!-- 操作区,位于 title 行的行尾 -->
-        <!-- <template slot="extra">
-          <a-button key="2" id="salesEdit-preview-btn">打印预览</a-button>
-          <a-button key="1" type="primary" id="salesEdit-print-btn">快速打印</a-button>
-        </template> -->
       </a-page-header>
       <a-card size="small" :bordered="false" class="salesEdit-cont">
         <div slot="title">
@@ -41,7 +36,7 @@
         <a-alert type="info" style="margin-bottom: 10px;">
           <div slot="message" class="total-bar">
             <div>
-              总售价:<strong>{{ detailData&&(detailData.totalCommonAmount || detailData.totalCommonAmount==0) ? detailData.totalCommonAmount : '--' }}</strong>;
+              总售价:<strong>{{ detailData&&(detailData.totalCommonAmount || detailData.totalCommonAmount==0) ? '¥'+detailData.totalCommonAmount : '--' }}</strong>;
               总款数:<strong>{{ detailData&&(detailData.totalCommonCategory || detailData.totalCommonCategory==0) ? detailData.totalCommonCategory : '--' }}</strong>;
               总数量:<strong>{{ detailData&&(detailData.totalCommonQty || detailData.totalCommonQty==0) ? detailData.totalCommonQty : '--' }}</strong>;
             </div>
@@ -388,22 +383,26 @@ export default {
       this.newActive = false
     },
     pageInit () {
-      if (!this.disabled) {
-        this.getOrderDetail(true)
-        this.$refs.table.refresh(true)
-      }
+      this.getOrderDetail(true)
+      this.$refs.table.refresh(true)
+      this.salesBillSn = this.$route.params.sn
+      // 获取促销活动
+      this.getPromoacActiveList()
     }
   },
   mounted () {
-    this.pageInit()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.salesBillSn = vm.$route.params.sn
-      // 获取促销活动
-      vm.getPromoacActiveList()
-      vm.pageInit()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 21 - 18
src/views/salesManagement/salesQuery/list.vue

@@ -441,23 +441,18 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getArea('province')
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 310
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
-  activated () {
-    // 如果是新页签打开,则重置当前页面
-    if (this.$store.state.app.isNewTab) {
-      this.resetSearchForm()
-    }
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -466,13 +461,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 13 - 7
src/views/salesManagement/salesReturn/detail.vue

@@ -62,6 +62,7 @@
           :columns="columns"
           :data="loadData"
           :scroll="{ x: 1430 }"
+          :defaultLoadData="false"
           bordered></s-table>
       </a-card>
       <a-card size="small" :bordered="false" class="footer-cont">
@@ -311,15 +312,20 @@ export default {
     }
   },
   mounted () {
-    this.getDetail()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.$refs.table.refresh(true)
+      this.getDetail()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.$refs.table.refresh(true)
+      this.getDetail()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.getDetail()
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 15 - 12
src/views/salesManagement/salesReturn/list.vue

@@ -377,17 +377,18 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getArea('province')
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 270
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -396,19 +397,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getArea('province')
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 20 - 14
src/views/salesManagement/salesReturn/salesReturnCheck.vue

@@ -23,6 +23,7 @@
           :columns="columns"
           :data="loadData"
           :scroll="{ x: 710, y: tableHeight }"
+          :defaultLoadData="false"
           bordered>
           <!-- 返库数量 -->
           <template slot="backStockQty" slot-scope="text, record">
@@ -227,29 +228,34 @@ export default {
         }
       })
     },
-    setTableH () {
-      this.tableHeight = window.innerHeight - 340
-    },
     pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
       this.orderSn = this.$route.params.sn
       this.buyerSn = this.$route.params.buyerSn
       this.getOrderDetail()
+    },
+    setTableH () {
+      this.tableHeight = window.innerHeight - 340
     }
   },
   mounted () {
-    const _this = this
-    _this.pageInit()
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.$refs.table.refresh(true)
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.$refs.table.refresh(true)
+      this.pageInit()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.pageInit()
-        vm.$refs.table.refresh(true)
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 10 - 11
src/views/salesManagement/salesReturn/salesReturnEdit.vue

@@ -7,11 +7,6 @@
           <a id="salesReturnEdit-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a>
           <span style="margin: 0 15px;color: #666;">客户名称:{{ ordeDetail&&ordeDetail.buyerName || '--' }}</span>
         </template>
-        <!-- 操作区,位于 title 行的行尾 -->
-        <!-- <template slot="extra">
-          <a-button key="2" id="salesReturnEdit-preview-btn">打印预览</a-button>
-          <a-button key="1" type="primary" id="salesReturnEdit-print-btn">快速打印</a-button>
-        </template> -->
       </a-page-header>
       <a-card size="small" :bordered="false" class="salesReturnEdit-cont" v-show="ordeDetail&&ordeDetail.salesReturnBillSource=='SALES'">
         <!-- 查询配件列表 -->
@@ -318,14 +313,18 @@ export default {
     }
   },
   mounted () {
-    this.pageInit()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.pageInit()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 11 - 7
src/views/salesManagement/salesReturn/salesReturnGrabEdit.vue

@@ -22,7 +22,7 @@
                 <span>退货总数量:<strong>{{ ordeDetail&&(ordeDetail.totalQty || ordeDetail.totalQty==0) ? ordeDetail.totalQty : '--' }}</strong>;</span>
               </div>
               <div style="position: absolute;right: 0;top: -2px;">
-                <a-button size="small" id="salesReturnEdit-import-btn" @click="openGuideModal=true">导入产品</a-button>
+                <a-button size="small" type="primary" class="button-info" id="salesReturnEdit-import-btn" @click="openGuideModal=true">导入产品</a-button>
               </div>
             </div>
           </div>
@@ -308,14 +308,18 @@ export default {
     }
   },
   mounted () {
-    this.pageInit()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.pageInit()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 17 - 14
src/views/salesManagement/shortageStatisticsC/list.vue

@@ -391,17 +391,20 @@ export default {
         }
       })
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getProductType()
+      this.getProductBrand()
+      this.getArea('province')
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 250
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -410,21 +413,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getProductType()
-      vm.getProductBrand()
-      vm.getArea('province')
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 14 - 11
src/views/salesManagement/shortageStatisticsP/list.vue

@@ -162,17 +162,17 @@ export default {
       this.queryParam.origCode = ''
       this.$refs.table.refresh(true)
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 250
     }
   },
-  mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
-  },
   watch: {
     advanced (newValue, oldValue) {
       const _this = this
@@ -181,18 +181,21 @@ export default {
       }, 400)
     }
   },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      if (!vm.disabled) {
-        vm.$refs.table.refresh()
-      }
-    })
+    next(vm => {})
   }
 }
 </script>

+ 12 - 14
src/views/salesManagement/waitDispatch/edit.vue

@@ -6,13 +6,7 @@
         <template slot="subTitle">
           <a id="waitDispatch-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a>
           <span style="margin: 0 15px;color: #666;">客户名称:{{ detailData&&detailData.buyerName || '--' }}</span>
-          <!-- <a-button id="waitDispatch-edit-btn" size="small" @click="handleEdit" style="margin-left:10px" key="0">编辑</a-button> -->
         </template>
-        <!-- 操作区,位于 title 行的行尾 -->
-        <!-- <template slot="extra">
-          <a-button key="2" id="waitDispatch-preview-btn">打印预览</a-button>
-          <a-button key="1" type="primary" id="waitDispatch-print-btn">快速打印</a-button>
-        </template> -->
       </a-page-header>
       <a-card size="small" :bordered="false" class="waitDispatch-cont">
         <!-- 查询配件列表 -->
@@ -59,6 +53,7 @@
           :data="loadData"
           :showPagination="false"
           :scroll="{ x:650, y: 300 }"
+          :defaultLoadData="false"
           bordered>
           <!-- 产品编码 -->
           <template slot="productCode" slot-scope="text, record">
@@ -228,7 +223,6 @@ export default {
     },
     //  重置
     resetSearchForm (flag) {
-      console.log(flag)
       this.$refs.table.refresh(!!flag)
       this.getOrderDetail()
     },
@@ -382,18 +376,22 @@ export default {
     pageInit () {
       this.salesBillSn = this.$route.params.salesBillSn
       this.getOrderDetail()
-      if (!this.disabled) {
-        this.$refs.table.refresh(true)
-      }
+      this.$refs.table.refresh(true)
     }
   },
   mounted () {
-    this.pageInit()
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+    }
+  },
+  activated () {
+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
+      this.pageInit()
+    }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.pageInit()
-    })
+    next(vm => {})
   }
 }
 </script>

+ 1 - 0
src/views/salesManagement/waitDispatch/queryPart.vue

@@ -91,6 +91,7 @@
       :showPagination="false"
       :data="loadData"
       :scroll="{ x: 1340, y: 300 }"
+      :defaultLoadData="false"
       bordered>
       <!-- 取消数量 -->
       <template slot="nums" slot-scope="text, record">

+ 13 - 8
src/views/setting/notice/list.vue

@@ -196,28 +196,33 @@ export default {
       this.itemId = ''
       this.openModal = false
     },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.openModal = false
+    },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
       this.tableHeight = window.innerHeight - tableSearchH - 195
     }
   },
   mounted () {
-    const _this = this
-    this.$nextTick(() => { // 页面渲染完成后的回调
-      _this.setTableH()
-    })
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
   },
   activated () {
     // 如果是新页签打开,则重置当前页面
     if (this.$store.state.app.isNewTab) {
+      this.pageInit()
       this.resetSearchForm()
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.openModal = false
-      vm.handelSearch(1)
-    })
+    next(vm => {})
   }
 }
 </script>

Some files were not shown because too many files changed in this diff