瀏覽代碼

修复bug

chenxiong 3 年之前
父節點
當前提交
e5d2c36ec7

+ 1 - 0
build/webpack.dev.conf.js

@@ -56,6 +56,7 @@ const devWebpackConfig = merge(baseWebpackConfig, {
     new HtmlWebpackPlugin({
       filename: 'index.html',
       template: 'index.html',
+      favicon:'./src/assets/favicon.ico',
       inject: true
     }),
     // copy custom static assets

+ 1 - 0
build/webpack.prod.conf.js

@@ -63,6 +63,7 @@ const webpackConfig = merge(baseWebpackConfig, {
     new HtmlWebpackPlugin({
       filename: config.build.index,
       template: 'index.html',
+      favicon:'./src/assets/favicon.ico',
       inject: true,
       minify: {
         removeComments: true,

+ 1 - 1
index.html

@@ -4,7 +4,7 @@
 <head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width,initial-scale=1.0">
-  <title>xiangyue_pc</title>
+  <title>祥粤云学堂</title>
 </head>
 
 <body>

+ 9 - 0
src/apis/order.js

@@ -92,6 +92,15 @@ export default {
 			params: data
 		})
 	},
+
+  
+	orderInfo(data) {
+		return request({
+			url: '/order/info',
+			method: 'get',
+			params: data
+		})
+	}
   
   
   

二進制
src/assets/favicon.ico


+ 10 - 0
src/pages/bank-exam-continue/index.vue

@@ -890,8 +890,12 @@ export default {
       orderGoodsId: "",
       collectList: [],
       isSubmit: false,
+      postTimer: null,
     };
   },
+  beforeDestroy() {
+    clearInterval(this.postTimer);
+  },
   beforeRouteLeave(to, from, next) {
     if (this.isSubmit) {
       //交卷
@@ -972,6 +976,12 @@ export default {
         let json = JSON.parse(res.data.historyExamJson);
         this.examData = res.data;
         this.questionList = json;
+
+        //5秒保存一下做题记录
+        clearInterval(this.postTimer);
+        this.postTimer = setInterval(() => {
+          this.examRecordEdit();
+        }, 5000);
       });
     },
 

+ 6 - 0
src/pages/bank-exam/index.vue

@@ -927,6 +927,7 @@ export default {
       orderGoodsId: "",
       collectList: [],
       isSubmit: false,
+      postTimer: null,
     };
   },
   async mounted() {
@@ -942,6 +943,7 @@ export default {
   },
 
   beforeDestroy() {
+    clearInterval(this.postTimer);
     clearInterval(this.timer);
     try {
       this.$msgbox.close();
@@ -1298,6 +1300,10 @@ export default {
 
             if (this.bankType == 1) {
               this.examRecordEdit();
+              clearInterval(this.postTimer);
+              this.postTimer = setInterval(() => {
+                this.examRecordEdit();
+              }, 5000);
             }
           });
       });

+ 8 - 4
src/pages/bank-report/index.vue

@@ -249,10 +249,14 @@ export default {
     },
     getDetail(goodsId) {
       return new Promise((resolve) => {
-        this.$request.goodsDetail(goodsId).then((res) => {
-          this.goodsData = res.data;
-          resolve();
-        });
+        this.$request
+          .orderInfo({
+            orderGoodsId: this.orderGoodsId,
+          })
+          .then((res) => {
+            this.goodsData = res.data;
+            resolve();
+          });
       });
     },
     examWrongRecordWrongNum() {

+ 149 - 104
src/pages/course-detail/index.vue

@@ -163,7 +163,7 @@
                                                 >
                                                   {{ section.name }}
                                                   <div
-                                                    style="zoom: 0.8"
+                                                    style="zoom: 0.7"
                                                     v-if="
                                                       section.liveStartTime >
                                                       nowTime
@@ -177,12 +177,10 @@
                                                     }}</span
                                                     >-
                                                     <span>{{
-                                                      $tools
-                                                        .timestampToTime(
-                                                          section.liveEndTime,
-                                                          (isDay = false)
-                                                        )
-                                                        .substr(11, 9)
+                                                      $tools.timestampToTime(
+                                                        section.liveEndTime,
+                                                        (isDay = false)
+                                                      )
                                                     }}</span>
                                                   </div>
                                                 </div>
@@ -379,7 +377,7 @@
                                               >
                                                 {{ section.name }}
                                                 <div
-                                                  style="zoom: 0.8"
+                                                  style="zoom: 0.7"
                                                   v-if="
                                                     section.liveStartTime >
                                                     nowTime
@@ -393,12 +391,10 @@
                                                   }}</span
                                                   >-
                                                   <span>{{
-                                                    $tools
-                                                      .timestampToTime(
-                                                        section.liveEndTime,
-                                                        (isDay = false)
-                                                      )
-                                                      .substr(11, 9)
+                                                    $tools.timestampToTime(
+                                                      section.liveEndTime,
+                                                      (isDay = false)
+                                                    )
                                                   }}</span>
                                                 </div>
                                               </div>
@@ -560,7 +556,7 @@
                                           <div class="bank-section__item__text">
                                             {{ menu.name }}
                                             <div
-                                              style="zoom: 0.8"
+                                              style="zoom: 0.7"
                                               v-if="
                                                 menu.liveStartTime > nowTime
                                               "
@@ -573,12 +569,10 @@
                                               }}</span
                                               >-
                                               <span>{{
-                                                $tools
-                                                  .timestampToTime(
-                                                    menu.liveEndTime,
-                                                    (isDay = false)
-                                                  )
-                                                  .substr(11, 9)
+                                                $tools.timestampToTime(
+                                                  menu.liveEndTime,
+                                                  (isDay = false)
+                                                )
                                               }}</span>
                                             </div>
                                           </div>
@@ -739,7 +733,7 @@
                                                 >
                                                   {{ section.name }}
                                                   <div
-                                                    style="zoom: 0.8"
+                                                    style="zoom: 0.7"
                                                     v-if="
                                                       section.liveStartTime >
                                                       nowTime
@@ -753,12 +747,10 @@
                                                     }}</span
                                                     >-
                                                     <span>{{
-                                                      $tools
-                                                        .timestampToTime(
-                                                          section.liveEndTime,
-                                                          (isDay = false)
-                                                        )
-                                                        .substr(11, 9)
+                                                      $tools.timestampToTime(
+                                                        section.liveEndTime,
+                                                        (isDay = false)
+                                                      )
                                                     }}</span>
                                                   </div>
                                                 </div>
@@ -955,7 +947,7 @@
                                               >
                                                 {{ section.name }}
                                                 <div
-                                                  style="zoom: 0.8"
+                                                  style="zoom: 0.7"
                                                   v-if="
                                                     section.liveStartTime >
                                                     nowTime
@@ -969,12 +961,10 @@
                                                   }}</span
                                                   >-
                                                   <span>{{
-                                                    $tools
-                                                      .timestampToTime(
-                                                        section.liveEndTime,
-                                                        (isDay = false)
-                                                      )
-                                                      .substr(11, 9)
+                                                    $tools.timestampToTime(
+                                                      section.liveEndTime,
+                                                      (isDay = false)
+                                                    )
                                                   }}</span>
                                                 </div>
                                               </div>
@@ -1136,7 +1126,7 @@
                                           <div class="bank-section__item__text">
                                             {{ menu.name }}
                                             <div
-                                              style="zoom: 0.8"
+                                              style="zoom: 0.7"
                                               v-if="
                                                 menu.liveStartTime > nowTime
                                               "
@@ -1149,12 +1139,10 @@
                                               }}</span
                                               >-
                                               <span>{{
-                                                $tools
-                                                  .timestampToTime(
-                                                    menu.liveEndTime,
-                                                    (isDay = false)
-                                                  )
-                                                  .substr(11, 9)
+                                                $tools.timestampToTime(
+                                                  menu.liveEndTime,
+                                                  (isDay = false)
+                                                )
                                               }}</span>
                                             </div>
                                           </div>
@@ -1412,7 +1400,7 @@
                           <div class="left-box">
                             <div
                               class="textarea clearfix"
-                              v-if="!(isPlayRebuild > 0)"
+                              v-if="!(isPlayRebuild > 0) && !vidzb"
                             >
                               <el-input
                                 resize="none"
@@ -2198,12 +2186,17 @@ export default {
       livingTimer: null,
       sectionItem: {},
       gradeDetail: {},
+      autoplay: false,
+      isAllowSeek: "on",
+      playbackRate: false,
+      goodsPlayConfig: null,
       playTime: 0, //页面播放时长,不含暂停
       param: {
         pageNum: 1,
         pageSize: 100,
         total: 0,
       },
+      postTimer: null, //提交视频观看记录定时器
       lockTimer: null,
       courseList: [],
       businessData: {},
@@ -2464,11 +2457,31 @@ export default {
     this.goodsId = this.$route.params.goodsId;
     this.orderGoodsId = this.$route.query.orderGoodsId;
     this.gradeId = this.$route.query.gradeId;
+    this.sectionItem = this.$route.query;
 
     if (this.$route.query.rebuild) {
       this.courseTabIndex = "2";
     }
 
+    if (this.sectionItem.recordingUrl) {
+      let noteSecond = this.$route.query.noteSecond;
+      if (noteSecond > 0) {
+        let item = {
+          sectionId: this.$route.query.sectionId,
+          recordingUrl: this.$route.query.recordingUrl,
+          noteSecond: noteSecond,
+          studyDuration: noteSecond,
+          moduleId: this.$route.query.moduleId,
+          chapterId: this.$route.query.chapterId,
+        };
+
+        this.playSectionId = this.$route.query.sectionId;
+        setTimeout(() => {
+          this.noteClick(item);
+        }, 1000);
+      }
+    }
+
     this.courseCourseList();
     this.dictList();
 
@@ -2499,15 +2512,16 @@ export default {
     if (this.playSectionId) {
       this.postStudyRecord();
     }
-    if (this.lockTimer) {
-      clearInterval(this.lockTimer);
-      this.$request
-        .lockDelLock({
-          action: "jxjy",
-        })
-        .then((res) => {});
-    }
-
+    // if (this.lockTimer) {
+    //   clearInterval(this.lockTimer);
+    //   this.$request
+    //     .lockDelLock({
+    //       action: "jxjy",
+    //     })
+    //     .then((res) => {});
+    // }
+
+    clearInterval(this.postTimer);
     clearInterval(this.livingTimer);
   },
   methods: {
@@ -3449,30 +3463,44 @@ export default {
             return;
           }
           if (self.gradeDetail.learningStatus == 2) {
-            uni.showModal({
-              showCancel: false,
-              confirmText: "确定",
-              content:
-                "当前课程正在申请中,正式开班后方可进行学习,请耐心等候!",
-              success: function (resultst) {
-                uni.navigateBack();
-              },
-            });
+            this.$confirm(
+              `当前课程正在申请中,正式开班后方可进行学习,请耐心等候!`,
+              "提示",
+              {
+                confirmButtonText: "确定",
+                closeOnClickModal: false,
+                closeOnPressEscape: false,
+                showCancelButton: false,
+                distinguishCancelAndClose: false,
+                showClose: false,
+              }
+            )
+              .then((_) => {
+                this.$router.back(-1);
+              })
+              .catch((_) => {});
           }
           if (
             self.gradeDetail.learningStatus == 3 &&
             Number(self.gradeDetail.learningTimeStart) >
               Number(new Date() / 1000)
           ) {
-            uni.showModal({
-              showCancel: false,
-              cancelText: "返回",
-              content:
-                "当前课程正在申请中,正式开班后方可进行学习,请耐心等候!",
-              success: function (resultst) {
-                uni.navigateBack();
-              },
-            });
+            this.$confirm(
+              `当前课程正在申请中,正式开班后方可进行学习,请耐心等候!`,
+              "提示",
+              {
+                confirmButtonText: "返回",
+                closeOnClickModal: false,
+                closeOnPressEscape: false,
+                showCancelButton: false,
+                distinguishCancelAndClose: false,
+                showClose: false,
+              }
+            )
+              .then((_) => {
+                this.$router.back(-1);
+              })
+              .catch((_) => {});
           }
         }
       });
@@ -3663,20 +3691,26 @@ export default {
                 result.data &&
                 (result.data.status === 1 || result.data.status === 2)
               ) {
-                uni.showModal({
-                  showCancel: false,
-                  content:
-                    result.data.status === 1
-                      ? "该商品审核资料已通过,不可重复提交资料"
-                      : result.data.status === 2
-                      ? "该商品审核资料处于待审核状态,不可重复提交资料"
-                      : "请联系管理员",
-                  success: function (k) {
-                    if (k.confirm) {
-                      uni.navigateBack();
-                    }
-                  },
-                });
+                this.$confirm(
+                  result.data.status === 1
+                    ? "该商品审核资料已通过,不可重复提交资料"
+                    : result.data.status === 2
+                    ? "该商品审核资料处于待审核状态,不可重复提交资料"
+                    : "请联系管理员",
+                  "提示",
+                  {
+                    confirmButtonText: "返回",
+                    closeOnClickModal: false,
+                    closeOnPressEscape: false,
+                    showCancelButton: false,
+                    distinguishCancelAndClose: false,
+                    showClose: false,
+                  }
+                )
+                  .then((_) => {
+                    this.$router.back(-1);
+                  })
+                  .catch((_) => {});
               }
             }
           });
@@ -3885,20 +3919,20 @@ export default {
     courseDetail() {
       let self = this;
       this.$request.courseDetail(this.courseId).then((res) => {
-        if (res.data.educationName == "继续教育") {
-          this.$request
-            .lockLockAction({
-              action: "jxjy",
-            })
-            .then((res) => {});
-          this.lockTimer = setInterval(() => {
-            this.$request
-              .lockLockAction({
-                action: "jxjy",
-              })
-              .then((res) => {});
-          }, 10000);
-        }
+        // if (res.data.educationName == "继续教育") {
+        //   this.$request
+        //     .lockLockAction({
+        //       action: "jxjy",
+        //     })
+        //     .then((res) => {});
+        //   this.lockTimer = setInterval(() => {
+        //     this.$request
+        //       .lockLockAction({
+        //         action: "jxjy",
+        //       })
+        //       .then((res) => {});
+        //   }, 10000);
+        // }
         self.detail = res.data;
       });
     },
@@ -4055,10 +4089,10 @@ export default {
             self.autoplay = true;
           }
           if (self.goodsPlayConfig.drag > 0) {
-            self.isAllowSeek = "yes";
+            self.isAllowSeek = "off";
           }
           if (self.goodsPlayConfig.speed > 0) {
-            self.playbackRate = [0.5, 0.8, 1.0, 1.25, 1.5, 2.0];
+            self.playbackRate = true;
           }
         }
         if (self.goodsData.goodsPhotographConfig) {
@@ -4334,7 +4368,7 @@ export default {
         }
       }
 
-      if (i == 0) {
+      if (index == 0) {
         return false;
       } else {
         return true;
@@ -4413,6 +4447,10 @@ export default {
         let hasLearn = await this.gradeCheckGoodsStudy(option);
         console.log(hasLearn, "hasLearn");
         console.log(learnNum, "learnNum");
+        console.log(
+          this.goodsData.sectionMaxNum,
+          "this.goodsData.sectionMaxNum"
+        );
         if (this.goodsData.sectionMaxNum > 0) {
           if (learnNum >= this.goodsData.sectionMaxNum && !hasLearn) {
             this.$message({
@@ -4553,14 +4591,15 @@ export default {
           wrap: "#player",
           width: 810,
           height: 455,
-          speed: 2,
           ban_history_time: "on",
           vid: self.vid,
+          autoplay: this.autoplay,
+          ban_seek: this.isAllowSeek,
+          speed: this.playbackRate,
           teaser_show: 1,
           tail_show: 1,
           hideSwitchPlayer: true,
           watchStartTime: this.recordObj.videoCurrentTime,
-          autoplay: true,
           ts: res.data.ts,
           sign: res.data.sign,
           // adMatter: [
@@ -4588,6 +4627,11 @@ export default {
 
         this.player.HTML5.video.addEventListener("timeupdate", self.timeEvent);
         this.player.on("s2j_onPlayStart", () => {
+          //开始播放每5秒提交一次观看时间
+          clearInterval(this.postTimer);
+          this.postTimer = setInterval(() => {
+            this.postStudyRecord(0);
+          }, 5000);
           if (this.recordObj.videoCurrentTime) {
             this.showRecordStatus = true;
             setTimeout(() => {
@@ -4595,12 +4639,13 @@ export default {
             }, 5000);
           } else {
             //新视频直接提交一条观看记录
-            this.postStudyRecord(0);
+            // this.postStudyRecord(0);
             this.showRecordStatus = false;
           }
         });
 
         this.player.on("s2j_onPlayOver", () => {
+          clearInterval(this.postTimer);
           this.$message({
             type: "success",
             message: "播放完毕",

+ 0 - 1
src/pages/course-exam/index.vue

@@ -1056,7 +1056,6 @@ export default {
                 return;
               } else if (item.type == 4) {
                 //案例题
-                console.log(item.jsonStr);
                 item.ques = [];
                 item.tabIndex = "0";
                 let ansArr = [];

+ 1 - 1
src/pages/home/index.vue

@@ -145,7 +145,7 @@
 
           <div class="swiper">
             <swiper
-              v-if="bannerList.length > 1"
+              v-if="bannerList.length > 0"
               ref="mySwiper"
               @slideChangeTransitionStart="slideChangeTransitionStart($event)"
               class=""

+ 1 - 1
src/pages/login/index.vue

@@ -1077,7 +1077,7 @@ export default {
             }
             this.getRegisterCodeLock = true;
             this.$request
-              .getLoginSms({ tel: this.loginSmsForm.tel })
+              .getRegisterSms({ tel: this.registerForm.tel })
               .then((res) => {
                 this.getRegisterCodeLock = false;
                 this.$message({

+ 1 - 1
src/pages/payment-success/index.vue

@@ -137,7 +137,7 @@ export default {
   mounted() {
     this.orderSn = this.$route.params.orderSn;
     this.total = this.$route.params.total;
-    this.isBK = this.$route.params.isBK;
+    this.isBK = this.$route.query.isBK;
     this.goodsId = this.$route.params.goodsId;
     this.gradeId = this.$route.params.gradeId;
     this.orderGoodsId = this.$route.params.orderGoodsId;

+ 10 - 1
src/pages/payment/index.vue

@@ -288,7 +288,6 @@ export default {
         .orderPayStatus(this.orderSn)
         .then((res) => {
           if (res.data) {
-            this.setCheckGoodsList([]);
             clearInterval(this.checkOrderTimer);
             if (this.isBK) {
               this.$router.replace({
@@ -302,17 +301,27 @@ export default {
                   gradeId: this.checkGoodsList[0].learnGradeId,
                   orderGoodsId: this.checkGoodsList[0].learnOrderGoodsId,
                 },
+                query: {
+                  isBK: this.isBK,
+                },
               });
             } else {
               this.$router.replace({
                 path: "/payment-success",
                 name: "支付成功",
                 params: {
+                  goodsId: this.checkGoodsList[0].goodsId,
+                  gradeId: this.checkGoodsList[0].gradeId,
+                  orderGoodsId: this.checkGoodsList[0].orderGoodsId,
                   orderSn: this.orderSn,
                   total: this.total,
                 },
               });
             }
+
+            console.log(this.checkGoodsList);
+
+            this.setCheckGoodsList([]);
           }
         })
         .catch((err) => {});

+ 212 - 140
src/pages/person-center/my-message/index.vue

@@ -145,7 +145,9 @@
                     }}{{ item.sectionName }}
                   </div>
                   <div class="item__content" @click="jumpSection(item)">
-                    {{ $tools.secondToTime(item.topicNum) }}(点击可直接跳转)
+                    {{
+                      $tools.secondToTime(item.topicNum, false)
+                    }}(点击可直接跳转)
                   </div>
                 </div>
                 <div
@@ -305,8 +307,10 @@ export default {
       statusGO: true,
       total: 0,
       rebuildItems: {},
+      rebuildItem: [],
       listListStatus: true,
       receiptNum: 0, //未读数量
+      orderGoodsId: 0,
     };
   },
   mounted() {
@@ -433,137 +437,20 @@ export default {
         case 12:
         case 18:
           //课程
-          if (item.goodsType == 1) {
-            let currentTime = this.$tools.timest();
-            console.log(currentTime);
-            console.log(item);
-            console.log(item.serviceStartTime);
-            console.log(item.serviceEndTime);
-            console.log(
-              currentTime < item.serviceStartTime ||
-                currentTime > item.serviceEndTime
-            );
-            if (
-              currentTime < item.serviceStartTime ||
-              currentTime > item.serviceEndTime
-            ) {
-              this.$message({
-                type: "warning",
-                message: "不在学习有效期,不可以学习了哦",
-              });
-              return;
-            }
 
-            if (
-              (item.classStartTime && currentTime <= item.classStartTime) ||
-              (item.classEndTime && currentTime >= item.classEndTime)
-            ) {
-              this.$message({
-                type: "warning",
-                message: "不在班级有效期,不能进入学习",
-              });
-              return;
-            }
-
-            if (item.learningStatus == 2) {
-              this.$message({
-                type: "warning",
-                message: "开放学习时间待定,不能进入学习",
-              });
-              return;
-            }
-
-            if (item.classStatus == 0) {
-              this.$message({
-                type: "warning",
-                message: "尚未开班,不能进入学习",
-              });
-              return;
-            }
-
-            if (
-              item.learningStatus == 3 &&
-              currentTime < item.learningTimeStart
-            ) {
-              this.$message({
-                type: "warning",
-                message: "不在开放学习时间,不能进入学习",
-              });
-              return;
-            }
-
-            if (
-              item.gradeStatus == 1 &&
-              item.status == 1 &&
-              item.serviceEndTime > currentTime &&
-              item.classEndTime &&
-              item.classEndTime < currentTime &&
-              (item.periodStatus == 0 || item.periodStatus == -1) &&
-              item.studyCount > 0
-            ) {
-              this.$confirm("班级已过期,需要重新选班", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                closeOnClickModal: false,
-                closeOnPressEscape: false,
-                distinguishCancelAndClose: false,
-                showClose: false,
-              })
-                .then((_) => {
-                  this.$router.push({
-                    path: "/person-center/my-course",
-                  });
-                })
-                .catch((_) => {});
-
-              return;
-            }
-
-            let rebuildStatus = await this.courseGoodsRebuildStatus(
-              item.goodsId,
-              item.gradeId
-            );
-
-            if (rebuildStatus == 0) {
-              this.rebuildItem = item;
-              this.$request
-                .getcourseperiodcheat({
-                  goodsId: item.goodsId,
-                  gradeId: item.gradeId,
-                })
-                .then((res) => {
-                  this.rebuildItems = res.rows;
-                });
-              this.showRebuildDetailModal = true;
-              return;
-            }
-
-            if (item.courseNum == 1) {
-              this.$request
-                .courseCourseList({
-                  pageNum: 1,
-                  pageSize: 1,
-                  goodsId: item.goodsId,
+          if (item.goodsType == 1) {
+            item.orderGoodsId = this.orderGoodsId;
+            this.canJump(item).then((res) => {
+              this.$router.push({
+                path: `/my-course-detail/${item.goodsId}`,
+                query: {
                   gradeId: item.gradeId,
-                })
-                .then((res) => {
-                  this.$router.push({
-                    path: "/my-course-detail/" + item.goodsId,
-                    query: {
-                      id: res.rows[0].courseId,
-                    },
-                  });
-                });
-              return;
-            }
-
-            this.$router.push({
-              path: "/my-course-detail/" + item.goodsId,
-              query: {
-                gradeId: item.gradeId,
-                orderGoodsId: item.orderGoodsId,
-              },
+                  orderGoodsId: item.orderGoodsId,
+                  courseId: res.rows[0].courseId || "",
+                },
+              });
             });
+
             // arsty = '立刻学习';
 
             //题库
@@ -579,13 +466,31 @@ export default {
           break;
         case 2:
         case 4:
-          this.$navTo.togo("/pages2/verify/input", {
-            id: item.goodsId,
+          console.log(item, "item");
+          item.orderGoodsId = this.orderGoodsId;
+          this.canJump(item).then((res) => {
+            this.$router.push({
+              path: `/my-course-detail/${item.goodsId}`,
+              query: {
+                gradeId: item.gradeId,
+                orderGoodsId: item.orderGoodsId,
+                courseId: res.rows[0].courseId || "",
+              },
+            });
           });
           break;
         case 24:
-          this.$navTo.togo("/pages2/verify/input2", {
-            id: item.goodsId,
+          console.log(item, "item");
+          item.orderGoodsId = this.orderGoodsId;
+          this.canJump(item).then((res) => {
+            this.$router.push({
+              path: `/my-course-detail/${item.goodsId}`,
+              query: {
+                gradeId: item.gradeId,
+                orderGoodsId: item.orderGoodsId,
+                courseId: res.rows[0].courseId || "",
+              },
+            });
           });
           break;
         case 11:
@@ -613,11 +518,16 @@ export default {
             });
           break;
         case 20:
-          this.$router.push({
-            path: "/my-course-detail/" + item.goodsId,
-            query: {
-              gradeId: item.gradeId,
-            },
+          item.orderGoodsId = this.orderGoodsId;
+          this.canJump(item).then((res) => {
+            this.$router.push({
+              path: `/my-course-detail/${item.goodsId}`,
+              query: {
+                gradeId: item.gradeId,
+                orderGoodsId: item.orderGoodsId,
+                courseId: res.rows[0].courseId || "",
+              },
+            });
           });
           break;
         default:
@@ -678,8 +588,8 @@ export default {
     showDetail(item) {
       this.sysTime = this.$tools.timest();
       this.messageId = item.id;
+      this.orderGoodsId = item.orderGoodsId;
       this.getMessage();
-      this.showDetailModal = true;
     },
     isOk() {
       this.$request
@@ -707,6 +617,8 @@ export default {
                 k.data.status === 1
               ) {
                 this.statusGO = false;
+              } else {
+                this.statusGO = true;
               }
             });
         }
@@ -722,10 +634,12 @@ export default {
           );
         }
         this.listData = res.data;
+        console.log(this.listData, "listData");
         if (res.data.goodsId) {
           if (res.data.gradeId) {
             this.$request.goodsDetail(res.data.goodsId).then((rs) => {
               this.goodsData = rs.data;
+              this.showDetailModal = true;
               if (
                 rs.data.goodsType === 3 &&
                 (res.data.remindId === 1 ||
@@ -738,11 +652,14 @@ export default {
                   res.data.remindId === 22)
               ) {
                 this.statusGO = false;
+              } else {
+                this.statusGO = true;
               }
             });
           } else {
             this.$request.commonGoodsDetail(res.data.goodsId).then((rs) => {
               this.goodsData = rs.data;
+              this.showDetailModal = true;
               if (
                 rs.data.goodsType === 3 &&
                 (res.data.remindId === 1 ||
@@ -755,15 +672,169 @@ export default {
                   res.data.remindId === 22)
               ) {
                 this.statusGO = false;
+              } else {
+                this.statusGO = true;
               }
             });
           }
+        } else {
+          this.showDetailModal = true;
         }
       });
     },
 
+    canJump(item) {
+      return new Promise((resolve) => {
+        this.$request
+          .orderInfo({
+            orderGoodsId: this.orderGoodsId,
+          })
+          .then(async (res) => {
+            let items = res.data;
+            let currentTime = this.$tools.timest();
+            console.log(currentTime);
+            console.log(items);
+            console.log(items.serviceStartTime);
+            console.log(items.serviceEndTime);
+            console.log(
+              currentTime < items.serviceStartTime ||
+                currentTime > items.serviceEndTime
+            );
+            //内部系统
+            if (items.interfacePushId > 0 && items.officialStatus != 1) {
+              this.$message({
+                type: "warning",
+                message:
+                  "机构正在为您报名中,请耐心等待,有疑问请联系020-87085982!",
+              });
+              return;
+            }
+            if (
+              this.sysTime <= items.serviceStartTime ||
+              this.sysTime >= items.serviceEndTime
+            ) {
+              this.$message({
+                type: "warning",
+                message: "不在学习服务期,不能进入学习",
+              });
+              return;
+            }
+
+            if (
+              (items.classStartTime && this.sysTime <= items.classStartTime) ||
+              (items.classEndTime && this.sysTime >= items.classEndTime)
+            ) {
+              this.$message({
+                type: "warning",
+                message: "不在班级有效期,不能进入学习",
+              });
+              return;
+            }
+
+            if (items.learningStatus == 2) {
+              this.$message({
+                type: "warning",
+                message: "开放学习时间待定,不能进入学习",
+              });
+              return;
+            }
+
+            if (items.classStatus == 0) {
+              this.$message({
+                type: "warning",
+                message: "尚未开班,不能进入学习",
+              });
+              return;
+            }
+            if (
+              items.learningStatus == 3 &&
+              this.sysTime < items.learningTimeStart
+            ) {
+              this.$message({
+                type: "warning",
+                message: "不在开放学习时间,不能进入学习",
+              });
+              return;
+            }
+
+            let rebuildStatus = await this.courseGoodsRebuildStatus(
+              items.goodsId,
+              items.gradeId
+            );
+
+            if (rebuildStatus == 0) {
+              this.rebuildItem = items;
+              this.$request
+                .getcourseperiodcheat({
+                  goodsId: items.goodsId,
+                  gradeId: items.gradeId,
+                })
+                .then((res) => {
+                  this.rebuildItems = res.rows;
+                });
+              this.showRebuildDetailModal = true;
+              return;
+            }
+
+            if (item.educationName == "继续教育") {
+              this.$request
+                .lockLockStatus({
+                  action: "jxjy",
+                })
+                .then((res) => {
+                  //有其他端在操作,不能学习
+                  this.$message({
+                    type: "warning",
+                    message: res.msg,
+                  });
+                })
+                .catch((err) => {
+                  //可以学习
+                  this.$request
+                    .courseCourseList({
+                      pageNum: 1,
+                      pageSize: 1,
+                      goodsId: items.goodsId,
+                      gradeId: items.gradeId,
+                    })
+                    .then((res) => {
+                      if (res.rows.length) {
+                        resolve(res);
+                      } else {
+                        this.$message({
+                          type: "warning",
+                          message: "课程内暂无可以学习的科目",
+                        });
+                      }
+                    });
+                });
+            } else {
+              this.$request
+                .courseCourseList({
+                  pageNum: 1,
+                  pageSize: 1,
+                  goodsId: items.goodsId,
+                  gradeId: items.gradeId,
+                })
+                .then((res) => {
+                  if (res.rows.length) {
+                    resolve(res);
+                  } else {
+                    this.$message({
+                      type: "warning",
+                      message: "课程内暂无可以学习的科目",
+                    });
+                  }
+                });
+            }
+          });
+      });
+    },
+
     //跳转节视频
-    jumpSection(item) {
+    async jumpSection(item) {
+      // item.orderGoodsId = this.orderGoodsId;
+      // this.canJump(item).then((res) => {
       item.noteSecond = Number(item.topicNum) * 60; //转秒数\
       this.$router.push({
         path: "/my-course-detail/" + item.goodsId,
@@ -776,6 +847,7 @@ export default {
           noteSecond: item.noteSecond,
         },
       });
+      // });
     },
     //跳转题库题目
     jumpExam(item) {

+ 413 - 14
src/pages/person-center/play-record/index.vue

@@ -16,16 +16,7 @@
             >
               <div class="course-item__header">{{ sectionItem.goodsName }}</div>
               <div class="course-item__body">
-                <div
-                  class="img"
-                  @click="
-                    go('/my-course-detail/' + sectionItem.goodsId, {
-                      gradeId: sectionItem.gradeId,
-                      orderGoodsId: sectionItem.orderGoodsId,
-                      courseId: sectionItem.courseId,
-                    })
-                  "
-                >
+                <div class="img" @click="goCourse(sectionItem)">
                   <img
                     :src="$tools.splitImgHost(sectionItem.coverUrl, true)"
                     alt=""
@@ -77,6 +68,79 @@
         </el-pagination>
       </div>
     </div>
+
+    <el-dialog
+      width="800px"
+      class="rebuild"
+      :visible.sync="showRebuildDetailModal"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :show-close="false"
+    >
+      <div class="rebuild__content">
+        <div class="rebuild__close" @click="showRebuildDetailModal = false">
+          X
+        </div>
+        <div class="rebuild__header">审核详情</div>
+        <div class="rebuild__body">
+          <div class="content">
+            <div class="content__header">
+              <div class="title">重要提示:</div>
+              <div class="desc">
+                您的学时审核不通过,不通过原因如下,请查阅,并重学不通过的课程内容。
+              </div>
+            </div>
+
+            <div class="content__body">
+              <div class="list">
+                <div
+                  class="list__item"
+                  v-for="(item, index) in rebuildItems"
+                  :key="index"
+                >
+                  <div class="title">
+                    <span class="note" v-if="item.type == 0"> 测试 </span>
+                    <span class="note note--yellow" v-if="item.type == 1"
+                      >录播</span
+                    >
+                    <span class="note note--yellow" v-if="item.type == 2"
+                      >直播</span
+                    >
+                    <span class="note note--yellow" v-if="item.type == 3"
+                      >回放</span
+                    >
+                    {{ index + 1 }}、{{ item.name }}
+                  </div>
+                  <div class="desc">
+                    <!-- <div class="imgs">
+                      <div
+                        class="img"
+                        v-for="(items, indexs) in item.userStudyRecordPhoto"
+                        :key="indexs"
+                      >
+                        <img :src="$tools.splitImgHost(items.photo)" />
+                        <div class="note">
+                          {{ $tools.timestampToTime(items.createTime, false) }}
+                        </div>
+                      </div>
+                    </div> -->
+                  </div>
+                  <div class="desc">
+                    原因:
+                    <span class="note">{{ item.auditReason }}</span>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="rebuild__footer">
+          <el-button class="confirm" @click="rebuildSubmit" type="primary"
+            >确认已阅读</el-button
+          >
+        </div>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -88,10 +152,14 @@ export default {
       activeName: "1",
       recordList: {},
       total: 0,
+      rebuildItems: [],
+      rebuildItem: {},
       params: {
         pageNum: 1,
         pageSize: 10,
       },
+      sysTime: 0,
+      showRebuildDetailModal: false,
     };
   },
   mounted() {
@@ -111,10 +179,38 @@ export default {
         return 0;
       }
     },
-    pay() {
-      this.$router.push({
-        path: "payment-success",
-      });
+
+    rebuildSubmit() {
+      this.$confirm(
+        "如对审核结果有异议,请勿点击确认重学。致电020-87085982咨询",
+        "注意",
+        {
+          confirmButtonText: "确认重学",
+          cancelButtonText: "取消",
+          closeOnClickModal: false,
+          closeOnPressEscape: false,
+          distinguishCancelAndClose: false,
+          showClose: false,
+        }
+      )
+        .then((_) => {
+          this.$request
+            .courseperiodrebuild({
+              goodsId: this.rebuildItem.goodsId,
+              gradeId: this.rebuildItem.gradeId,
+            })
+            .then((res) => {
+              this.showRebuildDetailModal = false;
+              this.$router.push({
+                path: `/my-course-detail/${this.rebuildItem.goodsId}`,
+                query: {
+                  gradeId: this.rebuildItem.gradeId,
+                  orderGoodsId: this.rebuildItem.orderGoodsId,
+                },
+              });
+            });
+        })
+        .catch((_) => {});
     },
     currentChange(e) {
       this.params.pageNum = e;
@@ -142,12 +238,174 @@ export default {
         this.total = res.total;
       });
     },
+
+    async goCourse(sectionItem) {
+      this.sysTime = this.$tools.timest();
+      this.$request
+        .orderInfo({
+          orderGoodsId: sectionItem.orderGoodsId,
+        })
+        .then(async (res) => {
+          let item = res.data;
+          if (item.interfacePushId > 0 && item.officialStatus != 1) {
+            this.$message({
+              type: "warning",
+              message:
+                "机构正在为您报名中,请耐心等待,有疑问请联系020-87085982!",
+            });
+            return;
+          }
+          if (
+            this.sysTime <= item.serviceStartTime ||
+            this.sysTime >= item.serviceEndTime
+          ) {
+            this.$message({
+              type: "warning",
+              message: "不在学习服务期,不能进入学习",
+            });
+            return;
+          }
+
+          if (
+            (item.classStartTime && this.sysTime <= item.classStartTime) ||
+            (item.classEndTime && this.sysTime >= item.classEndTime)
+          ) {
+            this.$message({
+              type: "warning",
+              message: "不在班级有效期,不能进入学习",
+            });
+            return;
+          }
+
+          if (item.learningStatus == 2) {
+            this.$message({
+              type: "warning",
+              message: "开放学习时间待定,不能进入学习",
+            });
+            return;
+          }
+
+          if (item.classStatus == 0) {
+            this.$message({
+              type: "warning",
+              message: "尚未开班,不能进入学习",
+            });
+            return;
+          }
+          if (
+            item.learningStatus == 3 &&
+            this.sysTime < item.learningTimeStart
+          ) {
+            this.$message({
+              type: "warning",
+              message: "不在开放学习时间,不能进入学习",
+            });
+            return;
+          }
+
+          let rebuildStatus = await this.courseGoodsRebuildStatus(
+            item.goodsId,
+            item.gradeId
+          );
+
+          if (rebuildStatus == 0) {
+            this.rebuildItem = item;
+            this.$request
+              .getcourseperiodcheat({
+                goodsId: item.goodsId,
+                gradeId: item.gradeId,
+              })
+              .then((res) => {
+                this.rebuildItems = res.rows;
+              });
+            this.showRebuildDetailModal = true;
+            return;
+          }
+
+          if (item.educationName == "继续教育") {
+            this.$request
+              .lockLockStatus({
+                action: "jxjy",
+              })
+              .then((res) => {
+                //有其他端在操作,不能学习
+                this.$message({
+                  type: "warning",
+                  message: res.msg,
+                });
+              })
+              .catch((err) => {
+                //可以学习
+                this.$request
+                  .courseCourseList({
+                    pageNum: 1,
+                    pageSize: 1,
+                    goodsId: item.goodsId,
+                    gradeId: item.gradeId,
+                  })
+                  .then((res) => {
+                    if (res.rows.length) {
+                      this.go("/my-course-detail/" + sectionItem.goodsId, {
+                        gradeId: sectionItem.gradeId,
+                        orderGoodsId: sectionItem.orderGoodsId,
+                        courseId: sectionItem.courseId,
+                      });
+                    } else {
+                      this.$message({
+                        type: "warning",
+                        message: "课程内暂无可以学习的科目",
+                      });
+                    }
+                  });
+              });
+          } else {
+            this.$request
+              .courseCourseList({
+                pageNum: 1,
+                pageSize: 1,
+                goodsId: item.goodsId,
+                gradeId: item.gradeId,
+              })
+              .then((res) => {
+                if (res.rows.length) {
+                  this.go("/my-course-detail/" + sectionItem.goodsId, {
+                    gradeId: sectionItem.gradeId,
+                    orderGoodsId: sectionItem.orderGoodsId,
+                    courseId: sectionItem.courseId,
+                  });
+                } else {
+                  this.$message({
+                    type: "warning",
+                    message: "课程内暂无可以学习的科目",
+                  });
+                }
+              });
+          }
+        });
+    },
     go(path, query) {
       this.$router.push({
         path,
         query,
       });
     },
+
+    /**
+     * @param {Object} goodsId 商品id
+     * 查询商品重修状态
+     */
+    courseGoodsRebuildStatus(goodsId, gradeId) {
+      return new Promise((resolve) => {
+        this.$request
+          .courseGoodsRebuildStatus({
+            goodsId: goodsId,
+            gradeId: gradeId,
+          })
+          .then((res) => {
+            resolve(res.data);
+          });
+      });
+    },
   },
 };
 </script>
@@ -302,5 +560,146 @@ export default {
       text-align: center;
     }
   }
+
+  .rebuild {
+    /deep/ .el-dialog__header {
+      display: none;
+    }
+    /deep/ .el-dialog__body {
+      padding: 0;
+      overflow: unset;
+    }
+
+    &__close {
+      cursor: pointer;
+      position: absolute;
+      right: 0;
+      top: -28px;
+      width: 24px;
+      height: 24px;
+      line-height: 24px;
+      text-align: center;
+      color: #eee;
+      border: 1px solid #eee;
+      border-radius: 50%;
+    }
+
+    &__header {
+      height: 40px;
+      border-bottom: 1px solid #eee;
+      line-height: 40px;
+      font-size: 16px;
+      font-family: Microsoft YaHei;
+      font-weight: bold;
+      color: #333333;
+      padding-left: 24px;
+    }
+
+    &__body {
+      height: 400px;
+      padding: 0 24px;
+
+      .content {
+        height: 100%;
+        overflow-y: auto;
+
+        &__header {
+          padding: 16px 0;
+          border-bottom: 1px solid #eee;
+
+          .title {
+            font-size: 16px;
+            font-family: Microsoft YaHei;
+            font-weight: bold;
+            color: #ff3b30;
+            line-height: 24px;
+          }
+
+          .desc {
+            margin-top: 10px;
+            font-size: 16px;
+            font-family: Microsoft YaHei;
+            font-weight: 400;
+            color: #ff3b30;
+            line-height: 24px;
+          }
+        }
+
+        &__body {
+          .list {
+            &__item {
+              padding: 16px 0;
+              border-bottom: 1px solid #eee;
+
+              .title {
+                font-size: 14px;
+                font-family: Microsoft YaHei;
+                font-weight: 400;
+                color: #333333;
+
+                .note {
+                  display: inline-block;
+                  text-align: center;
+                  line-height: 18px;
+                  width: 32px;
+                  height: 20px;
+                  border: 1px solid #3f8dfd;
+                  border-radius: 4px;
+                  color: #3f8dfd;
+                  font-size: 12px;
+
+                  &--yellow {
+                    border: 1px solid #ff9500;
+                    color: #ff9500;
+                  }
+                }
+              }
+
+              .desc {
+                margin-top: 10px;
+                font-size: 14px;
+                font-family: Microsoft YaHei;
+                font-weight: 400;
+                color: #333333;
+
+                .note {
+                  color: #ff3b30;
+                  line-height: 20px;
+                }
+
+                .img {
+                  width: 100px;
+                  height: 100px;
+                  display: inline-block;
+                  text-align: center;
+
+                  img {
+                    max-width: 100%;
+                    max-height: 100%;
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+
+    &__footer {
+      height: 90px;
+      border-top: 1px solid #eee;
+      text-align: center;
+      .confirm {
+        width: 200px;
+        height: 40px;
+        padding: 0;
+        border-radius: 20px;
+        text-align: center;
+        line-height: 40px;
+        color: #fff;
+        margin: 24px auto;
+      }
+    }
+  }
 }
 </style>

+ 2 - 1
src/pages/subject/collect-bank.vue

@@ -1107,7 +1107,8 @@ export default {
       if (isWrong) {
       } else {
         let question = this.questionList.find(
-          (item) => item.questionId == this.questionList[bindex].questionId
+          (item) =>
+            item.questionId == this.questionList[questionIndex].questionId
         );
         if (question) {
           // this.$request

+ 2 - 1
src/pages/subject/collect-type-bank.vue

@@ -1104,7 +1104,8 @@ export default {
       if (isWrong) {
       } else {
         let question = this.questionList.find(
-          (item) => item.questionId == this.questionList[bindex].questionId
+          (item) =>
+            item.questionId == this.questionList[questionIndex].questionId
         );
         if (question) {
           // this.$request

+ 4 - 3
src/pages/subject/wrong-bank.vue

@@ -1056,13 +1056,13 @@ export default {
         this.questionList[questionIndex].ans
       ) {
       } else {
-        console.log(this.questionList[questionIndex])
+        console.log(this.questionList[questionIndex]);
         this.$request
           .wrongRecordDelete({
             examId: this.questionList[questionIndex].examId,
             orderGoodsId: this.$route.query.orderGoodsId,
             questionId: this.questionList[questionIndex].questionId,
-            goodsId:this.questionList[questionIndex].goodsId
+            goodsId: this.questionList[questionIndex].goodsId,
           })
           .then((res) => {});
       }
@@ -1108,7 +1108,8 @@ export default {
       if (isWrong) {
       } else {
         let question = this.questionList.find(
-          (item) => item.questionId == this.questionList[bindex].questionId
+          (item) =>
+            item.questionId == this.questionList[questionIndex].questionId
         );
         if (question) {
           this.$request

+ 2 - 1
src/pages/subject/wrong-type-bank.vue

@@ -1106,7 +1106,8 @@ export default {
       if (isWrong) {
       } else {
         let question = this.questionList.find(
-          (item) => item.questionId == this.questionList[bindex].questionId
+          (item) =>
+            item.questionId == this.questionList[questionIndex].questionId
         );
         if (question) {
           this.$request

+ 118 - 124
src/router/index.js

@@ -325,152 +325,146 @@ router.beforeEach((to,from,next) => {
         store.dispatch('getUserInfo')
       }
 
-      //题库页面要检测是否需要锁定
-      let isBankLock = bankAdmin.some(item => {
-        return to.path.indexOf(item) != -1
-      })
-
-      if(isBankLock) {
-        console.log(canToBank,'canToBank')
+      // //题库页面要检测是否需要锁定
+      // let isBankLock = bankAdmin.some(item => {
+      //   return to.path.indexOf(item) != -1
+      // })
+      // console.log(isBankLock,'isBankLock')
+      // if(isBankLock) {
         
-        //没有执行定时器,开启锁定
-        if(!canToBank) {
-          console.log(123)
-          request
-            .lockLockStatus({
-              action: "bank",
-            })
-            .then((res) => {
-              console.log(res,'res')
-              //有其他端在操作,不能学习
-              Message({
-                type: "warning",
-                message: res.msg,
-              });
+      //   //没有执行定时器,开启锁定
+      //   if(!canToBank) {
+      //     request
+      //       .lockLockStatus({
+      //         action: "bank",
+      //       })
+      //       .then((res) => {
+      //         //有其他端在操作,不能学习
+      //         Message({
+      //           type: "warning",
+      //           message: res.msg,
+      //         });
               
-              if(from.path=='/') {
-                next('/')
-              }
+      //         if(from.path=='/') {
+      //           next('/')
+      //         }
 
-            }).catch(err => {
-              console.log(err,'err')
-              //可以学习,开启锁定
-                canToBank = 1;
-              request.lockLockAction({
-                action:'bank'
-              }).then(res => {
-              })
-              canToBank = setInterval(() => {
-                request.lockLockAction({
-                  action:'bank'
-                }).then(res => {
+      //       }).catch(err => {
+      //         //可以学习,开启锁定
+      //           canToBank = 1;
+      //         request.lockLockAction({
+      //           action:'bank'
+      //         }).then(res => {
+      //         })
+      //         canToBank = setInterval(() => {
+      //           request.lockLockAction({
+      //             action:'bank'
+      //           }).then(res => {
                   
-                })
-              }, 10000);
-              next()
-            })
+      //           })
+      //         }, 10000);
+      //         next()
+      //       })
 
-            return;
-        } else {
-          //正在执行定时器,可以直接进入
-          next()
-        }
+      //       return;
+      //   } else {
+      //     //正在执行定时器,可以直接进入
+      //     next()
+      //   }
         
-        return;
-      } else {
-        //从题库页面离开删除锁定
+      //   return;
+      // } else {
+      //   //从题库页面离开删除锁定
 
-        let isLeaveBank = bankAdmin.some(item => {
-          return from.path.indexOf(item) != -1
-        })
+      //   let isLeaveBank = bankAdmin.some(item => {
+      //     return from.path.indexOf(item) != -1
+      //   })
 
-        if(isLeaveBank) {
+      //   if(isLeaveBank) {
           
-          clearInterval(canToBank)
-          canToBank = null;
-          request.lockDelLock({
-            action:'bank'
-          }).then(res => {
+      //     clearInterval(canToBank)
+      //     canToBank = null;
+      //     request.lockDelLock({
+      //       action:'bank'
+      //     }).then(res => {
             
-          })
-        }
-      }
+      //     })
+      //   }
+      // }
       
-      let isCourseLock = courseAdmin.some(item => {
-        return to.path.indexOf(item) != -1
-      })
+      // let isCourseLock = courseAdmin.some(item => {
+      //   return to.path.indexOf(item) != -1
+      // })
 
-      if(isCourseLock) {
-        console.log(canToCourse,'canToBank')
+      // console.log(isCourseLock,'isCourseLock')
+      // if(isCourseLock) {
         
-        //没有执行定时器,开启锁定
-        if(!canToCourse) {
-          request.goodsDetail(to.params.goodsId).then(res => {
-            //继续教育锁定
-            if(res.data.educationName == '继续教育') {
-              request
-                .lockLockStatus({
-                  action: "jxjy",
-                })
-                .then((res) => {
-                  console.log(res,'res')
-                  //有其他端在操作,不能学习
-                  Message({
-                    type: "warning",
-                    message: res.msg,
-                  });
+      //   //没有执行定时器,开启锁定
+      //   if(!canToCourse) {
+      //     request.goodsDetail(to.params.goodsId).then(res => {
+      //       //继续教育锁定
+      //       if(res.data.educationName == '继续教育') {
+      //         request
+      //           .lockLockStatus({
+      //             action: "jxjy",
+      //           })
+      //           .then((res) => {
+      //             //有其他端在操作,不能学习
+      //             Message({
+      //               type: "warning",
+      //               message: res.msg,
+      //             });
                   
-                  if(from.path=='/') {
-                    next('/')
-                  }
+      //             if(from.path=='/') {
+      //               next('/')
+      //             }
 
-                }).catch(err => {
-                  // console.log(err,'err')
-                  //可以学习,开启锁定
-                  canToCourse = 1;
-                  request.lockLockAction({
-                    action:'jxjy'
-                  }).then(res => {
-                  })
-                  canToCourse = setInterval(() => {
-                    request.lockLockAction({
-                      action:'jxjy'
-                    }).then(res => {
+      //           }).catch(err => {
+      //             //可以学习,开启锁定
+      //             canToCourse = 1;
+      //             request.lockLockAction({
+      //               action:'jxjy'
+      //             }).then(res => {
+      //             })
+      //             canToCourse = setInterval(() => {
+      //               request.lockLockAction({
+      //                 action:'jxjy'
+      //               }).then(res => {
                       
-                    })
-                  }, 10000);
-                  next()
-                })
-            } else {
-              next()
-            }
-          })
+      //               })
+      //             }, 10000);
+      //             next()
+      //           })
+      //       } else {
+      //         next()
+      //       }
+      //     })
           
 
-            return;
-        } else {
-          //正在执行定时器,可以直接进入
-          next()
-        }
+      //       return;
+      //   } else {
+      //     //正在执行定时器,可以直接进入
+      //     next()
+      //   }
         
-        return;
-      } else {
-        //非题库页面删除锁定
-        let isLeaveCouese = bankAdmin.some(item => {
-          return from.path.indexOf(item) != -1
-        })
+      //   return;
+      // } else {
+      //   //非题库页面删除锁定
+      //   let isLeaveCouese = courseAdmin.some(item => {
+      //     return from.path.indexOf(item) != -1
+      //   })
 
-        if(isLeaveCouese) {
+      //   if(isLeaveCouese) {
           
-          clearInterval(canToBank)
-          canToBank = null;
-          request.lockDelLock({
-            action:'jxjy'
-          }).then(res => {
+      //     clearInterval(canToCourse)
+      //     canToCourse = null;
+      //     request.lockDelLock({
+      //       action:'jxjy'
+      //     }).then(res => {
             
-          })
-        }
-      }
+      //     })
+      //   }
+      // }
       
       next()
     } else {