Browse Source

将报表中心列表全部带上keepAlive --cjh

17767204043 3 years ago
parent
commit
f025c7b0b3

+ 11 - 6
src/routerMap/index.js

@@ -63,6 +63,7 @@ const routerMap = [
     meta: {
     meta: {
       index: 2,
       index: 2,
       NoPadding: true,
       NoPadding: true,
+      keepAlive:true
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/Finance/productionCharts/index"], resolve),
       require(["@/views/Finance/productionCharts/index"], resolve),
@@ -692,6 +693,7 @@ const routerMap = [
     name: "ProjectProgressMannage", //项目进度列表
     name: "ProjectProgressMannage", //项目进度列表
     meta: {
     meta: {
       index: 1,
       index: 1,
+      keepAlive:true
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/ProjectProgressMannage/list"], resolve),
       require(["@/views/ProjectProgressMannage/list"], resolve),
@@ -710,6 +712,7 @@ const routerMap = [
     name: "ProjectProgressSummary", // 项目进度汇总表
     name: "ProjectProgressSummary", // 项目进度汇总表
     meta: {
     meta: {
       index: 1,
       index: 1,
+      keepAlive:true
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/ProjectProgressSummary/list"], resolve),
       require(["@/views/ProjectProgressSummary/list"], resolve),
@@ -1423,6 +1426,7 @@ const routerMap = [
     name: "stockingTable", // 仓库管理→库存台账
     name: "stockingTable", // 仓库管理→库存台账
     meta: {
     meta: {
       index: 3,
       index: 3,
+      keepAlive:true
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/Warehouse/Warehouse/stockingTable"], resolve),
       require(["@/views/Warehouse/Warehouse/stockingTable"], resolve),
@@ -1930,7 +1934,7 @@ const routerMap = [
     name: "TotalBoardList", //报表中心-->板材统计表
     name: "TotalBoardList", //报表中心-->板材统计表
     meta: {
     meta: {
       index: 3,
       index: 3,
-      // keepAlive: true,
+      keepAlive: true,
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/BidSystem/TotalBoard/list"], resolve),
       require(["@/views/BidSystem/TotalBoard/list"], resolve),
@@ -1950,7 +1954,7 @@ const routerMap = [
     name: "CompletionStatistics", //业务报表-->完工统计表
     name: "CompletionStatistics", //业务报表-->完工统计表
     meta: {
     meta: {
       index: 3,
       index: 3,
-      // keepAlive: true,
+      keepAlive: true,
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/BidSystem/CompletionStatistics"], resolve),
       require(["@/views/BidSystem/CompletionStatistics"], resolve),
@@ -1980,7 +1984,7 @@ const routerMap = [
     name: "IncompleteStatistics", //业务报表-->未完工统计表
     name: "IncompleteStatistics", //业务报表-->未完工统计表
     meta: {
     meta: {
       index: 3,
       index: 3,
-      // keepAlive: true,
+      keepAlive: true,
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/BidSystem/IncompleteStatistics"], resolve),
       require(["@/views/BidSystem/IncompleteStatistics"], resolve),
@@ -2000,7 +2004,7 @@ const routerMap = [
     name: "TotalPlanTimeChangeList", //报表中心-->总计划时间变更记录列表
     name: "TotalPlanTimeChangeList", //报表中心-->总计划时间变更记录列表
     meta: {
     meta: {
       index: 3,
       index: 3,
-      // keepAlive: true,
+      keepAlive: true,
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/BidSystem/TotalPlanTimeChange/list"], resolve),
       require(["@/views/BidSystem/TotalPlanTimeChange/list"], resolve),
@@ -2020,7 +2024,7 @@ const routerMap = [
     name: "QuotaRequisition", //业务报表-->定额领料单
     name: "QuotaRequisition", //业务报表-->定额领料单
     meta: {
     meta: {
       index: 3,
       index: 3,
-      // keepAlive: true,
+      keepAlive: true,
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/BidSystem/QuotaRequisition"], resolve),
       require(["@/views/BidSystem/QuotaRequisition"], resolve),
@@ -2070,7 +2074,7 @@ const routerMap = [
     name: "outputValueList", //报表中心-->项目产值明细表
     name: "outputValueList", //报表中心-->项目产值明细表
     meta: {
     meta: {
       index: 3,
       index: 3,
-      // keepAlive: true,
+      keepAlive: true,
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/BidSystem/OutputValue/list"], resolve),
       require(["@/views/BidSystem/OutputValue/list"], resolve),
@@ -2309,6 +2313,7 @@ const routerMap = [
     name: "productValueList", //产值表
     name: "productValueList", //产值表
     meta: {
     meta: {
       index: 3,
       index: 3,
+      keepAlive:true
     },
     },
     component: (resolve) =>
     component: (resolve) =>
       require(["@/views/ProductValue/list"], resolve),
       require(["@/views/ProductValue/list"], resolve),

+ 15 - 7
src/views/BidSystem/CompletionStatistics.vue

@@ -178,15 +178,23 @@ export default {
     //班组列表
     //班组列表
     this.axios("/api/employee_list").then((res) => (this.band_list = res.data.data));
     this.axios("/api/employee_list").then((res) => (this.band_list = res.data.data));
     },
     },
-     beforeRouteLeave(to, from, next) {
-    if (
-      to.path == "/cms/BidSystem/CompletionStatisticsDetail" 
-    ) {
-      this.$route.meta.keepAlive = true;
+//      beforeRouteLeave(to, from, next) {
+//     if (
+//       to.path == "/cms/BidSystem/CompletionStatisticsDetail" 
+//     ) {
+//       this.$route.meta.keepAlive = true;
+//     } else {
+//       this.$route.meta.keepAlive = false;
+//     }
+//     next();
+//   },
+beforeRouteLeave(to, from, next) {
+    if (to.path == "/cms/BidSystem/CompletionStatisticsDetail") {
+      next();
     } else {
     } else {
-      this.$route.meta.keepAlive = false;
+      from.meta.keepAlive = false;
+      next();
     }
     }
-    next();
   },
   },
     mounted(){
     mounted(){
           this.getData();
           this.getData();

+ 8 - 0
src/views/BidSystem/IncompleteStatistics.vue

@@ -230,7 +230,15 @@ export default {
         this.getData();
         this.getData();
         }
         }
 
 
+    },
+    beforeRouteLeave(to, from, next) {
+    if (to.path == "/cms/BidSystem/IncompleteStatisticsDetail") {
+      next();
+    } else {
+      from.meta.keepAlive = false;
+      next();
     }
     }
+  }
 }
 }
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>

+ 9 - 1
src/views/BidSystem/OutputValue/list.vue

@@ -199,7 +199,15 @@ export default {
             this.pageIndex = e;
             this.pageIndex = e;
             this.getData();
             this.getData();
         }
         }
-    }
+    },
+    beforeRouteLeave(to, from, next) {
+     if (to.path == "/cms/BidSystem/OutputValue/detail") {
+       next();
+     } else {
+       from.meta.keepAlive = false;
+       next();
+     }
+  }
 }
 }
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>

+ 8 - 0
src/views/BidSystem/QuotaRequisition.vue

@@ -91,7 +91,15 @@ export default {
                   this.residential_name = res.data.residential_name;
                   this.residential_name = res.data.residential_name;
               })
               })
         }
         }
+    },
+     beforeRouteLeave(to, from, next) {
+    if (to.path == "/cms/BidSystem/QuotaRequisitionDetail") {
+      next();
+    } else {
+      from.meta.keepAlive = false;
+      next();
     }
     }
+  }
 }
 }
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>

+ 8 - 0
src/views/BidSystem/TotalBoard/list.vue

@@ -91,7 +91,15 @@ export default {
                   this.residential_name = res.data.residential_name;
                   this.residential_name = res.data.residential_name;
               })
               })
         }
         }
+    },
+     beforeRouteLeave(to, from, next) {
+    if (to.path == "/cms/BidSystem/TotalBoard/detail") {
+      next();
+    } else {
+      from.meta.keepAlive = false;
+      next();
     }
     }
+  }
 }
 }
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>

+ 8 - 0
src/views/BidSystem/TotalPlanTimeChange/list.vue

@@ -69,7 +69,15 @@ export default {
          this.pageIndex = e;
          this.pageIndex = e;
         this.init(this.proxyData)
         this.init(this.proxyData)
         }
         }
+    },
+     beforeRouteLeave(to, from, next) {
+    if (to.path == "/cms/BidSystem/TotalPlanTimeChange/edit") {
+      next();
+    } else {
+      from.meta.keepAlive = false;
+      next();
     }
     }
+  }
 }
 }
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>

+ 10 - 1
src/views/Finance/productionCharts/index.vue

@@ -210,7 +210,16 @@ export default {
             this.PieChart.resize()
             this.PieChart.resize()
             this.LineChart.resize()
             this.LineChart.resize()
         })
         })
-    }
+    },
+    beforeRouteLeave(to, from, next) {
+      if (
+        to.path == "/cms/finance/production/details" ) {
+        next();
+      } else {
+        from.meta.keepAlive = false;
+        next();
+      }
+    },
 }
 }
 </script>
 </script>
 
 

+ 8 - 0
src/views/ProductValue/list.vue

@@ -82,6 +82,14 @@ export default {
     mounted(){
     mounted(){
            this.initData();
            this.initData();
     },
     },
+     beforeRouteLeave(to, from, next) {
+    if (to.path == "/cms/ProductValue/detail") {
+      next();
+    } else {
+      from.meta.keepAlive = false;
+      next();
+    }
+  },
     methods:{
     methods:{
         initData(row){
         initData(row){
 
 

+ 164 - 81
src/views/ProjectProgressMannage/list.vue

@@ -1,23 +1,27 @@
 <template>
 <template>
   <div>
   <div>
-    <FullPage title='项目进度表'
-              :list='list'
-              @init='init'
-              :loading='loading'
-              @searchData='init'
-              @changePage='changePage'
-              @changeSize='changeSize'
-              :tableColums='tableColums'
-              :tableData='tableData'
-              :pageIndex='pageIndex'
-              :total='total'>
-      <template slot="basicTypeSet"
-                slot-scope="{row}">
+    <FullPage
+      title="项目进度表"
+      :list="list"
+      @init="init"
+      :loading="loading"
+      @searchData="init"
+      @changePage="changePage"
+      @changeSize="changeSize"
+      :tableColums="tableColums"
+      :tableData="tableData"
+      :pageIndex="pageIndex"
+      :total="total"
+    >
+      <template slot="basicTypeSet" slot-scope="{ row }">
         <div>
         <div>
-          <span v-for="item in warningList"
-                :key="item.id"
-                :style="{color:item.color}"
-                v-show="item.id==row.warning_state">{{item.title}}</span>
+          <span
+            v-for="item in warningList"
+            :key="item.id"
+            :style="{ color: item.color }"
+            v-show="item.id == row.warning_state"
+            >{{ item.title }}</span
+          >
         </div>
         </div>
       </template>
       </template>
     </FullPage>
     </FullPage>
@@ -26,75 +30,144 @@
 
 
 <script>
 <script>
 export default {
 export default {
-  data () {
+  data() {
     return {
     return {
       list: [
       list: [
-        { title: '项目名称', name: 'Input', value: '', serverName: 'residential_name', placeholder: '项目名称' },
-        { title: '订单编号', name: 'Input', value: '', serverName: 'order_no', placeholder: '订单编号' },
+        {
+          title: "项目名称",
+          name: "Input",
+          value: "",
+          serverName: "residential_name",
+          placeholder: "项目名称",
+        },
+        {
+          title: "订单编号",
+          name: "Input",
+          value: "",
+          serverName: "order_no",
+          placeholder: "订单编号",
+        },
       ],
       ],
       tableColums: [
       tableColums: [
-        { title: '订单编号', align: 'center', key: 'order_no', minWidth: 200 },
+        { title: "订单编号", align: "center", key: "order_no", minWidth: 200 },
         {
         {
-          title: '订单类型', align: 'center', key: 'renovation_type', minWidth: 100,
-          render: (h, params) => h('span', {}, params.row.renovation_type == 1 ? '工装' : '家装')
+          title: "订单类型",
+          align: "center",
+          key: "renovation_type",
+          minWidth: 100,
+          render: (h, params) =>
+            h("span", {}, params.row.renovation_type == 1 ? "工装" : "家装"),
         },
         },
         {
         {
-          title: '订单状态', align: 'center', key: 'state', minWidth: 150,
-          render: (h, params) => h('span', {},
-            params.row.state == 0 ? '测量未审核'
-              : (params.row.state == 1 ? '测量审核'
-                : (params.row.state == 2 ? '测量通过'
-                  : (params.row.state == 3 ? '生产审核中'
-                    : (params.row.state == 4 ? '生产通过'
-                      : (params.row.state == 5 ? '到生产计划' : '完成')))))
-          )
+          title: "订单状态",
+          align: "center",
+          key: "state",
+          minWidth: 150,
+          render: (h, params) =>
+            h(
+              "span",
+              {},
+              params.row.state == 0
+                ? "测量未审核"
+                : params.row.state == 1
+                ? "测量审核"
+                : params.row.state == 2
+                ? "测量通过"
+                : params.row.state == 3
+                ? "生产审核中"
+                : params.row.state == 4
+                ? "生产通过"
+                : params.row.state == 5
+                ? "到生产计划"
+                : "完成"
+            ),
         },
         },
-        { title: '业务员', align: 'center', key: 'salesman', minWidth: 150 },
-        { title: '紧急程度', align: 'center', key: 'warning_state', minWidth: 100, slot: 'basicTypeSet', },
+        { title: "业务员", align: "center", key: "salesman", minWidth: 150 },
         {
         {
-          title: '订单创建时间', align: 'center', minWidth: 180, key: 'crt_time',
-          render: (h, params) => h('span', {}, this.func.replaceDate(params.row.crt_time))
+          title: "紧急程度",
+          align: "center",
+          key: "warning_state",
+          minWidth: 100,
+          slot: "basicTypeSet",
         },
         },
-        { title: '项目名称', align: 'center', key: 'residential_name', minWidth: 200 },
         {
         {
-          title: '订单开始日期', align: 'center', minWidth: 180, key: 'start_time',
-          render: (h, params) => h('span', {}, this.func.replaceDate(params.row.start_time, 1))
+          title: "订单创建时间",
+          align: "center",
+          minWidth: 180,
+          key: "crt_time",
+          render: (h, params) =>
+            h("span", {}, this.func.replaceDate(params.row.crt_time)),
         },
         },
         {
         {
-          title: '订单交付日期', align: 'center', minWidth: 180, key: 'end_time',
-          render: (h, params) => h('span', {}, this.func.replaceDate(params.row.end_time, 1))
+          title: "项目名称",
+          align: "center",
+          key: "residential_name",
+          minWidth: 200,
         },
         },
         {
         {
-          title: '生产进度', align: 'center', key: 'complete_rate', minWidth: 180,
-          render (h, params) {
-            return h('span', {}, parseInt(params.row.complete_rate * 100) + '%')
+          title: "订单开始日期",
+          align: "center",
+          minWidth: 180,
+          key: "start_time",
+          render: (h, params) =>
+            h("span", {}, this.func.replaceDate(params.row.start_time, 1)),
+        },
+        {
+          title: "订单交付日期",
+          align: "center",
+          minWidth: 180,
+          key: "end_time",
+          render: (h, params) =>
+            h("span", {}, this.func.replaceDate(params.row.end_time, 1)),
+        },
+        {
+          title: "生产进度",
+          align: "center",
+          key: "complete_rate",
+          minWidth: 180,
+          render(h, params) {
+            return h(
+              "span",
+              {},
+              parseInt(params.row.complete_rate * 100) + "%"
+            );
           },
           },
         },
         },
         {
         {
-          title: '预估交付日期', align: 'center', minWidth: 200, key: 'predict_time',
-          render: (h, params) => h('span', {}, this.func.replaceDate(params.row.predict_time, 1))
+          title: "预估交付日期",
+          align: "center",
+          minWidth: 200,
+          key: "predict_time",
+          render: (h, params) =>
+            h("span", {}, this.func.replaceDate(params.row.predict_time, 1)),
         },
         },
         {
         {
-          title: '操作', align: 'center', minWidth: 100,
+          title: "操作",
+          align: "center",
+          minWidth: 100,
           render: (h, params) => {
           render: (h, params) => {
-            const { row } = params
-            return h('Button', {
-              props: {
-                type: 'primary',
-                size: 'small'
+            const { row } = params;
+            return h(
+              "Button",
+              {
+                props: {
+                  type: "primary",
+                  size: "small",
+                },
+                on: {
+                  click: () => {
+                    this.$router.push({
+                      path: "/cms/projectprogressmannage/detail",
+                      query: {
+                        order_no: row.code,
+                      },
+                    });
+                  },
+                },
               },
               },
-              on: {
-                click: () => {
-                  this.$router.push({
-                    path: '/cms/projectprogressmannage/detail',
-                    query: {
-                      order_no: row.code
-                    }
-                  })
-                }
-              }
-            }, '详情')
-          }
+              "详情"
+            );
+          },
         },
         },
       ],
       ],
       tableData: [],
       tableData: [],
@@ -104,40 +177,50 @@ export default {
       proxyObj: {},
       proxyObj: {},
       loading: false,
       loading: false,
       warningList: [],
       warningList: [],
-    }
+    };
   },
   },
-  created () {
+  created() {
     // 获取紧急程度
     // 获取紧急程度
-    this.axios.get('/api/warning_list').then(res => { this.warningList = res.data.data })
+    this.axios.get("/api/warning_list").then((res) => {
+      this.warningList = res.data.data;
+    });
   },
   },
   methods: {
   methods: {
-    init (row) {
-      this.pageIndex = 1
+    init(row) {
+      this.pageIndex = 1;
       row.page_index = this.pageIndex;
       row.page_index = this.pageIndex;
       row.page_size = this.pageSize;
       row.page_size = this.pageSize;
-      this.proxyObj = row
-      this.getData(row)
+      this.proxyObj = row;
+      this.getData(row);
     },
     },
-    getData (row) {
+    getData(row) {
       this.loading = true;
       this.loading = true;
-      this.axios('/api/projectprogress/list', { params: row }).then(res => {
-        this.loading = false
+      this.axios("/api/projectprogress/list", { params: row }).then((res) => {
+        this.loading = false;
         this.tableData = res.data.data;
         this.tableData = res.data.data;
         this.total = res.data.total || 0;
         this.total = res.data.total || 0;
-      })
+      });
     },
     },
-    changePage (e) {
+    changePage(e) {
       this.pageIndex = e;
       this.pageIndex = e;
       this.proxyObj.page_index = this.pageIndex;
       this.proxyObj.page_index = this.pageIndex;
-      this.getData(this.proxyObj)
+      this.getData(this.proxyObj);
     },
     },
-    changeSize (e) {
+    changeSize(e) {
       this.pageSize = e;
       this.pageSize = e;
       this.proxyObj.page_size = this.pageSize;
       this.proxyObj.page_size = this.pageSize;
-      this.getData(this.proxyObj)
+      this.getData(this.proxyObj);
     },
     },
-  }
-}
+  },
+  beforeRouteLeave(to, from, next) {
+    if (to.path == "/cms/projectprogressmannage/detail") {
+      next();
+    } else {
+      from.meta.keepAlive = false;
+      next();
+    }
+  },
+};
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>

+ 9 - 1
src/views/ProjectProgressSummary/list.vue

@@ -123,7 +123,15 @@ export default {
         { title: '项目名称', name: 'Input', placeholder: '请输入项目名称', value: '', serverName: 'client_name' },
         { title: '项目名称', name: 'Input', placeholder: '请输入项目名称', value: '', serverName: 'client_name' },
       ]
       ]
     }
     }
-  }
+  },
+  beforeRouteLeave(to, from, next) {
+    if (to.path == "/cms/ProjectProgressSummary/checkDetail" || to.path == "/cms/ProjectProgressSummary/checkSummary") {
+      next();
+    } else {
+      from.meta.keepAlive = false;
+      next();
+    }
+  },
 }
 }
 </script>
 </script>
 
 

+ 11 - 0
src/views/Warehouse/Warehouse/stockingTable.vue

@@ -505,6 +505,17 @@ export default {
   beforeDestroy () { }, // 生命周期 - 销毁之前
   beforeDestroy () { }, // 生命周期 - 销毁之前
   destroyed () { }, // 生命周期 - 销毁完成
   destroyed () { }, // 生命周期 - 销毁完成
   activated () { }, // 如果页面有keep-alive缓存功能,这个函数会触发
   activated () { }, // 如果页面有keep-alive缓存功能,这个函数会触发
+   beforeRouteLeave(to, from, next) {
+    if (to.path == "/cms/PurchasingManage/InstockOrder/detail" || 
+    to.path == "/cms/PurchasingManage/redFontInstockOrder/detail" || 
+    to.path == "/cms/PurchasingManage/OutstockOrder/detail" ||
+    to.path == "/cms/PurchasingManage/redFontOutstockOrder/detail" ) {
+      next();
+    } else {
+      from.meta.keepAlive = false;
+      next();
+    }
+  }
 }
 }
 </script>
 </script>