瀏覽代碼

修改接口及页面

aaa 4 年之前
父節點
當前提交
53ef607bd6

+ 9 - 1
src/api/modules/exam.js

@@ -17,6 +17,14 @@ export default {
     // 查询每周答题列表
     GET_JTXT_WEEKLY_QUESTIONS: "/weekly-questions",
     // 查询专项答题
-    GET_JTXT_SPECIAL_QUESTIONS: "/special-questions"
+    GET_JTXT_SPECIAL_QUESTIONS: "/special-questions",
+    // 开始每周答题
+    POST_WEEKLY_QUESTIONS_START: "/weekly-questions/{questionId}/start",
+    // 结束每周答题
+    POST_WEEKLY_QUESTIONS_END: "/weekly-questions/{questionId}/end",
+    // 开始专项答题
+    POST_SPECIAL_QUESTIONS_START: "/special-questions/{questionId}/start",
+    // 结束专项答题
+    POST_SPECIAL_QUESTIONS_END: "/special-questions/{questionId}/end"
   }
 };

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

@@ -2,7 +2,8 @@ const answer = {
   state: {
     answerRecruitId: null, // 竞赛答题的类型ID
     examItemQuestionsList: [], // 单个考试的试题信息
-    answerThroughNumber: 0 // 闯关答题的关数
+    answerThroughNumber: 0, // 闯关答题的关数
+    questionId: ""
   },
   mutations: {
     updateAnswerItemStore(state, { field, value }) {

+ 26 - 21
src/views/home/answer/page-answer-recruit.vue

@@ -217,6 +217,7 @@ export default {
   computed: {
     ...mapState({
       answerRecruitId: state => state.answer.answerRecruitId,
+      questionId: state => state.answer.questionId,
       userInfo: state => state.user.userInfo,
       chooseEngneeringWork: state => state.user.chooseEngneeringWork
     })
@@ -243,9 +244,21 @@ export default {
         });
         return;
       }
+      if (this.answerRecruitId === "weekly-questions") {
+        // 开始每周答题
+        this.startWeeklyQuestion();
+      } else if (this.answerRecruitId === "weekly-questions") {
+        // 开始专项答题
+        this.startWeeklyQuestion();
+      } else {
+        this.startNormalQuestion();
+      }
       this.$store.commit("toggleLoading", true);
+    },
+    // 开始答题
+    startNormalQuestion() {
       let params = {
-        type: this.chooseEngneeringWork.value
+        engineertypeid: this.chooseEngneeringWork.id
       };
       this.$_http
         .post(
@@ -266,42 +279,34 @@ export default {
               this.answerStatus.push(0);
             });
             res.data.forEach((item, index) => {
-              this.getExamQuestionsListFun(
-                item,
-                httpResultData,
-                index === res.data.length - 1
-              );
+              httpResultData.push(this.setPersonDataFun(item));
             });
+            this.examQuestionList = httpResultData;
+            this.handleExamQuestionItemFun(this.examQuestionList[0], 0);
           }
         })
         .catch(() => {
           this.$store.commit("toggleLoading", false);
         });
     },
-    // 查询:试题信息
-    async getExamQuestionsListFun(questionId, httpResultData, isLast) {
+    // 开始每周答题
+    startWeeklyQuestion() {
       this.$_http
         .get(
-          this.$pathParams(this.$_API.GET_JTXT_GET_EXAMS_ONE_QUESTIONS_LIST, {
-            questionId: questionId
+          this.$pathParams(this.$_API.POST_WEEKLY_QUESTIONS_START, {
+            questionId: this.questionId
           })
         )
         .then(res => {
-          let resData = { ...res.data };
-          httpResultData.push(this.setPersonDataFun(resData));
-          if (isLast) {
-            // 临时解决多个异步请求进行的问题
-            this.examQuestionList = httpResultData;
-            this.handleExamQuestionItemFun(this.examQuestionList[0], 0); // 设置第一题开始
-            let curTime = new Date();
-            this.answerTime.startTime = curTime; // 赋值开始时间
-            this.isInited = true;
-            this.$store.commit("toggleLoading", false);
-          }
+          console.log("--------" + JSON.stringify(res));
         })
         .catch(() => {
           this.$store.commit("toggleLoading", false);
         });
+    },
+    // 开始专项答题
+    startSpecialQuestion() {
+
     },
     // 方法:过滤试题的类型,添加用户作答的字段
     setPersonDataFun(httpResultDataItme) {

+ 4 - 20
src/views/home/answer/page-answer-special.vue

@@ -14,12 +14,12 @@
         <div slot="default" class="contentItemDiv">
           <div>
             <div class="contentItemTitle">
-              {{ item.title }}
+              {{ item.name }}
             </div>
             <div class="contentItemDescription">
-              <span>{{
+              <!-- <span>{{
                 formateDatesFun(item.addedTime)
-              }}</span>
+              }}</span> -->
             </div>
              <div class="startAnswerBox" @click="clickAnswer(item)">
                 <div class="startButtonBox">
@@ -59,23 +59,6 @@ export default {
   methods: {
     getSpecialAnswerList() {
       this.loading = true;
-      this.specialAnswerList = [
-        { title: "答题1", addedTime: "2021-06-01" },
-        { title: "答题2", addedTime: "2021-06-07" },
-        { title: "答题3", addedTime: "2021-06-14" },
-        { title: "答题1", addedTime: "2021-06-01" },
-        { title: "答题2", addedTime: "2021-06-07" },
-        { title: "答题3", addedTime: "2021-06-14" },
-        { title: "答题1", addedTime: "2021-06-01" },
-        { title: "答题2", addedTime: "2021-06-07" },
-        { title: "答题3", addedTime: "2021-06-14" },
-        { title: "答题1", addedTime: "2021-06-01" },
-        { title: "答题2", addedTime: "2021-06-07" },
-        { title: "答题3", addedTime: "2021-06-14" },
-        { title: "答题1", addedTime: "2021-06-01" },
-        { title: "答题2", addedTime: "2021-06-07" },
-        { title: "答题3", addedTime: "2021-06-14" },
-        { title: "答题4", addedTime: "2021-06-21" }];
       this.loading = false;
       let params = {
         page: this.specialPage,
@@ -85,6 +68,7 @@ export default {
         .get(this.$_API.GET_JTXT_SPECIAL_QUESTIONS, { params })
         .then(res => {
           console.log("special----" + JSON.stringify(res));
+          this.specialAnswerList = [...this.specialAnswerList, ...res.data.content];
           // 不能上拉了就是加载玩了
           this.finished = res.data.last;
           this.specialPage++;

+ 10 - 22
src/views/home/answer/page-answer-week.vue

@@ -13,12 +13,12 @@
         <div slot="default" class="contentItemDiv">
           <div>
             <div class="contentItemTitle">
-              {{ item.title}}
+              {{ item.name}}
             </div>
             <div class="contentItemDescription">
-              <span>{{
+              <!-- <span>{{
                 formateDatesFun(item.addedTime)
-              }}</span>
+              }}</span> -->
             </div>
             <div class="startAnswerBox" @click="clickAnswer(item)">
                 <div class="startButtonBox">
@@ -57,23 +57,6 @@ export default {
   },
   methods: {
     getWeekAnswerList() {
-      this.weekAnswerList = [
-        { title: "答题1", addedTime: "2021-06-01" },
-        { title: "答题2", addedTime: "2021-06-07" },
-        { title: "答题3", addedTime: "2021-06-14" },
-        { title: "答题1", addedTime: "2021-06-01" },
-        { title: "答题2", addedTime: "2021-06-07" },
-        { title: "答题3", addedTime: "2021-06-14" },
-        { title: "答题1", addedTime: "2021-06-01" },
-        { title: "答题2", addedTime: "2021-06-07" },
-        { title: "答题3", addedTime: "2021-06-14" },
-        { title: "答题1", addedTime: "2021-06-01" },
-        { title: "答题2", addedTime: "2021-06-07" },
-        { title: "答题3", addedTime: "2021-06-14" },
-        { title: "答题1", addedTime: "2021-06-01" },
-        { title: "答题2", addedTime: "2021-06-07" },
-        { title: "答题3", addedTime: "2021-06-14" },
-        { title: "答题4", addedTime: "2021-06-21" }];
       this.loading = true;
       let params = {
         page: this.weeklyPage,
@@ -82,8 +65,8 @@ export default {
       this.$_http
         .get(this.$_API.GET_JTXT_WEEKLY_QUESTIONS, { params })
         .then(res => {
-          console.log("weekly----" + JSON.stringify(res));
-          // 不能上拉了就是加载玩了
+          this.weekAnswerList = [...this.weekAnswerList, ...res.data.content];
+          console.log("------", +JSON.stringify(this.weekAnswerList));
           this.finished = res.data.last;
           this.weeklyPage++;
           this.loading = false;
@@ -93,10 +76,15 @@ export default {
         });
     },
     clickAnswer(item) {
+      console.log("----" + JSON.stringify(item));
       this.$store.commit("updateAnswerItemStore", {
         field: "answerRecruitId",
         value: "weekly-questions"
       });
+      this.$store.commit("updateAnswerItemStore", {
+        field: "questionId",
+        value: item.id
+      });
       this.$router.push({ name: "answerRecruit" });
     },
     onLoad() {

+ 1 - 1
src/views/home/answer/through/through-question-doing.vue

@@ -234,7 +234,7 @@ export default {
       }
       this.$store.commit("toggleLoading", true);
       let params = {
-        type: this.chooseEngneeringWork.value
+        engineertypeid: this.chooseEngneeringWork.id
       };
       this.$_http
         .post(

+ 1 - 1
src/views/home/exam/page-exam-item-doing.vue

@@ -227,7 +227,7 @@ export default {
     examStartFun() {
       this.$store.commit("toggleLoading", true);
       let params = {
-        type: this.chooseEngneeringWork.value
+        engineertypeid: this.chooseEngneeringWork.id
       };
       this.$_http
         .post(

+ 1 - 1
src/views/home/exam/page-exam.vue

@@ -102,7 +102,7 @@ export default {
       this.isInited = false;
       this.$store.commit("toggleLoading", true);
       let params = {
-        // type: this.chooseEngneeringWork.name,
+        // engineertypeid: this.chooseEngneeringWork.id,
         page: this.examPage,
         size: this.examSize
       };

+ 1 - 1
src/views/home/learn/page-learn-child.vue

@@ -133,7 +133,7 @@ export default {
         categoryId: this.learnChildList[this.choosedChildIndex].id
       };
       let params = {
-        type: this.chooseEngneeringWork.value,
+        engineertypeid: this.chooseEngneeringWork.id,
         page: this.learnPage,
         size: this.learnSize
       };

+ 1 - 1
src/views/home/learn/page-learn-recommend.vue

@@ -88,7 +88,7 @@ export default {
     getNewsfeed() {
       let type = "";
       if (this.chooseEngneeringWork) {
-        type = this.chooseEngneeringWork.value;
+        type = this.chooseEngneeringWork.id;
       }
 
       let params = { type: type };