فهرست منبع

cache router md

zhangjie 4 سال پیش
والد
کامیت
8d99f0a768

+ 2 - 2
src/components/ViewFooter.vue

@@ -2,8 +2,8 @@
   <div class="view-footer home-footer">
     <p>
       Copyright © 2018-2020
-      <a href="http:\\www.qmth.com" target="_blank">启明泰和</a> , All Rights
-      Reserved.
+      <a href="http://www.qmth.com.cn" target="_blank">www.qmth.com.cn</a> , All
+      Rights Reserved.
     </p>
   </div>
 </template>

+ 13 - 0
src/modules/base/views/UserManage.vue

@@ -232,6 +232,19 @@ export default {
       this.$message.success("上传成功!");
       this.getList();
     }
+  },
+  beforeRouteLeave(to, from, next) {
+    if (to.name !== "UserEdit") {
+      this.$destroy();
+    }
+    next();
+  },
+  beforeRouteEnter(to, from, next) {
+    if (from.name === "UserEdit") {
+      next(vm => vm.$nextTick(() => vm.getList()));
+    } else {
+      next();
+    }
   }
 };
 </script>

+ 7 - 1
src/modules/exam-center/views/CardManage.vue

@@ -147,7 +147,7 @@ import { transformField } from "@/modules/card/enumerate";
 import CardOptionDialog from "../components/CardOptionDialog";
 
 export default {
-  name: "card-check",
+  name: "card-manage",
   components: {
     CardOptionDialog
   },
@@ -308,6 +308,12 @@ export default {
         })
         .catch(() => {});
     }
+  },
+  beforeRouteLeave(to, from, next) {
+    if (to.name !== "CardDesign") {
+      this.$destroy();
+    }
+    next();
   }
 };
 </script>

+ 13 - 0
src/modules/exam-center/views/DoneTask.vue

@@ -121,6 +121,19 @@ export default {
         }
       });
     }
+  },
+  beforeRouteLeave(to, from, next) {
+    if (to.name !== "DoneTaskDetail") {
+      this.$destroy();
+    }
+    next();
+  },
+  beforeRouteEnter(to, from, next) {
+    if (from.name === "DoneTaskDetail") {
+      next(vm => vm.$nextTick(() => vm.getList()));
+    } else {
+      next();
+    }
   }
 };
 </script>

+ 15 - 3
src/modules/exam-center/views/ExamManage.vue

@@ -164,9 +164,6 @@ export default {
   created() {
     this.init();
   },
-  mounted() {
-    console.log(this);
-  },
   methods: {
     init() {
       this.getList();
@@ -265,6 +262,21 @@ export default {
         }
       });
     }
+  },
+  beforeRouteLeave(to, from, next) {
+    const nextRouters = ["ExamRomeDetail", "ExamAdd", "ExamEdit"];
+    if (!nextRouters.includes(to.name)) {
+      this.$destroy();
+    }
+    next();
+  },
+  beforeRouteEnter(to, from, next) {
+    const nextRouters = ["ExamAdd", "ExamEdit"];
+    if (nextRouters.includes(from.name)) {
+      next(vm => vm.$nextTick(() => vm.getList()));
+    } else {
+      next();
+    }
   }
 };
 </script>

+ 6 - 0
src/modules/exam-center/views/ExamRomeDetail.vue

@@ -169,6 +169,12 @@ export default {
         }
       });
     }
+  },
+  beforeRouteLeave(to, from, next) {
+    if (to.name !== "ExamRomeStudentDetail") {
+      this.$destroy();
+    }
+    next();
   }
 };
 </script>

+ 0 - 8
src/modules/exam-center/views/ExamRomeStudentDetail.vue

@@ -233,14 +233,6 @@ export default {
       if (!curSite) return;
       this.rooms = curSite.examRooms;
       this.filter.examRoomId = "";
-    },
-    toDetail(row) {
-      this.$router.push({
-        name: "ExamRomeStudentDetail",
-        params: {
-          examId: "1"
-        }
-      });
     }
   }
 };

+ 13 - 0
src/modules/exam-center/views/ExamTaskAudit.vue

@@ -161,6 +161,19 @@ export default {
         }
       });
     }
+  },
+  beforeRouteLeave(to, from, next) {
+    if (to.name !== "ExamTaskAuditEdit") {
+      this.$destroy();
+    }
+    next();
+  },
+  beforeRouteEnter(to, from, next) {
+    if (from.name === "ExamTaskAuditEdit") {
+      next(vm => vm.$nextTick(() => vm.getList()));
+    } else {
+      next();
+    }
   }
 };
 </script>

+ 13 - 0
src/modules/exam-center/views/WaitTask.vue

@@ -130,6 +130,19 @@ export default {
         }
       });
     }
+  },
+  beforeRouteLeave(to, from, next) {
+    if (to.name !== "WaitTaskDetail") {
+      this.$destroy();
+    }
+    next();
+  },
+  beforeRouteEnter(to, from, next) {
+    if (from.name === "WaitTaskDetail") {
+      next(vm => vm.$nextTick(() => vm.getList()));
+    } else {
+      next();
+    }
   }
 };
 </script>

+ 1 - 5
src/modules/login/views/Login.vue

@@ -61,11 +61,7 @@
     <div class="login-shadow-bottom"></div>
 
     <!-- 修改密码 -->
-    <reset-pwd
-      :user-password="loginModel.password"
-      @modified="logoutAction"
-      ref="ResetPwd"
-    ></reset-pwd>
+    <reset-pwd :user-password="loginModel.password" ref="ResetPwd"></reset-pwd>
   </div>
 </template>
 

+ 14 - 2
src/views/Home.vue

@@ -96,7 +96,10 @@
 
         <!-- home-view: page detail -->
         <div class="home-view">
-          <router-view />
+          <!-- <router-view /> -->
+          <keep-alive :include="cacheRouters">
+            <router-view />
+          </keep-alive>
         </div>
       </div>
     </div>
@@ -185,7 +188,16 @@ export default {
       curSubIndex: 0,
       breadcrumbs: [],
       username: this.$ls.get("user", { name: "" }).name,
-      menuDailogIsShow: false
+      menuDailogIsShow: false,
+      cacheRouters: [
+        "wait-task",
+        "done-task",
+        "exam-manage",
+        "exam-room-detail",
+        "exam-task-audit",
+        "card-manage",
+        "user-manage"
+      ]
     };
   },
   watch: {