浏览代码

小程序更新图片:fix 丢弃逻辑

Michael Wang 5 年之前
父节点
当前提交
f6105db021
共有 3 个文件被更改,包括 27 次插入8 次删除
  1. 17 7
      src/features/OnlineExam/Examing/ExamingHome.vue
  2. 6 1
      src/features/OnlineExam/Examing/UploadPhotos.vue
  3. 4 0
      src/store.js

+ 17 - 7
src/features/OnlineExam/Examing/ExamingHome.vue

@@ -627,6 +627,7 @@ export default {
       "shouldSubmitPaper",
       "remainTime",
       "questionAnswerFileUrl",
+      "uploadModalVisible",
     ]),
     previousQuestionOrder: vm => {
       if (vm.examQuestion().order > 1) {
@@ -658,7 +659,12 @@ export default {
       for (const q of value) {
         if (!q.saved) {
           let acknowledgeStatus = "CONFIRMED";
-          if (q.order != this.$route.params.order) {
+
+          // 目前只针对音频题有丢弃的可能
+          if (
+            q.transferFileType === "PIC" &&
+            (q.order != this.$route.params.order || this.uploadModalVisible)
+          ) {
             acknowledgeStatus = "DISCARDED";
           }
           this.$http
@@ -677,15 +683,19 @@ export default {
                   order: q.order,
                   studentAnswer: q.fileUrl,
                 });
-              } else if (q.transferFileType === "PIC") {
+              } else if (
+                acknowledgeStatus === "CONFIRMED" &&
+                q.transferFileType === "PIC"
+              ) {
                 that.updatePicture(q);
               }
               q.saved = true;
-              this.$Message.info({
-                content: "小程序作答已更新",
-                duration: 5,
-                closable: true,
-              });
+              if (acknowledgeStatus === "CONFIRMED")
+                this.$Message.info({
+                  content: "小程序作答已更新",
+                  duration: 5,
+                  closable: true,
+                });
             })
             .catch(() => {
               this.$Message.error({

+ 6 - 1
src/features/OnlineExam/Examing/UploadPhotos.vue

@@ -108,7 +108,7 @@
 import VueQrcode from "@chenfengyuan/vue-qrcode";
 import draggable from "vuedraggable";
 import { createNamespacedHelpers } from "vuex";
-const { mapState } = createNamespacedHelpers("examingHomeModule");
+const { mapState, mapMutations } = createNamespacedHelpers("examingHomeModule");
 
 export default {
   name: "UploadPhotos",
@@ -136,6 +136,7 @@ export default {
     };
   },
   methods: {
+    ...mapMutations(["updateUploadModalVisible"]),
     handleView(name) {
       this.imgUrl = name;
       this.rotate = 0;
@@ -176,6 +177,7 @@ export default {
             return;
           },
         });
+        return;
       } else if (this.totalList.length > 6) {
         // 检查是否超过6张
         this.$Modal.warning({
@@ -233,6 +235,9 @@ export default {
         this.totalList.push(...[...new Set(value.fileUrl.split(","))]);
       }
     },
+    uploadModalVisible(val) {
+      this.updateUploadModalVisible(val);
+    },
   },
   components: {
     qrcode: VueQrcode,

+ 4 - 0
src/store.js

@@ -35,6 +35,7 @@ const examingHomeModule = {
     questionQrCodeScanned: null,
     questionAnswerFileUrl: [],
     pictureAnswer: {},
+    uploadModalVisible: false,
   },
   mutations: {
     updateRemainTime(state, remainTime) {
@@ -179,6 +180,9 @@ const examingHomeModule = {
     updatePicture(state, payload) {
       state.pictureAnswer = payload;
     },
+    updateUploadModalVisible(state, payload) {
+      state.uploadModalVisible = payload;
+    },
   },
   actions: {},
   getters: {