Ver Fonte

学生端提交逻辑修改

stupig-zcx há 1 ano atrás
pai
commit
18659822aa
1 ficheiros alterados com 35 adições e 33 exclusões
  1. 35 33
      src/views/Home/component/Edit/index.vue

+ 35 - 33
src/views/Home/component/Edit/index.vue

@@ -81,48 +81,50 @@
   };
 
   // 提交操作
-  const handleSubmit = () => {
-    // 内容已保存,则可以点击提交
-    if (hasStage.value == true) {
-      const endTime = dayjs(data.assignment.endTime); // 假设截止时间在 assignment 的 endTime 属性中
-      const currentTime = dayjs();
-      if (currentTime.isAfter(endTime)) {
-        ElMessage.error('作业已截止,无法提交!');
-        return;
-      }
-      hasStage.value = false
-      apis.engagementSubmit(store.user.id, props.engagement.assignmentId, )
-          .then((_res: any) => {
-            success(_res.data.data);
-            router.push("/home/myHomework")
-          })
-          .catch((error: any) => {
-            console.error('提交失败', error);
-            error('提交失败');
-          });
-    } else {
-      ElMessage.error('编辑内容未保存,请保存后提交!');
+  const handleSubmit = async () => {
+    // 先自动暂存
+    try {
+      await handleStage();
+   } catch (e) {
+      ElMessage.error('暂存失败,无法提交!');
+      return;
     }
-  };
+    const endTime = dayjs(data.assignment.endTime); // 假设截止时间在 assignment 的 endTime 属性中
+    const currentTime = dayjs();
+    if (currentTime.isAfter(endTime)) {
+      ElMessage.error('作业已截止,无法提交!');
+      return;
+    }
+    apis.engagementSubmit(store.user.id, props.engagement.assignmentId, )
+    .then((_res: any) => {
+      success(_res.data.data);
+      router.push("/home/myHomework")
+    })
+    .catch((error: any) => {
+      console.error('提交失败', error);
+      console.error('提交失败', error);
+      error('提交失败');
+    });
+   };
 
   // 暂存操作
-  const handleStage = () => {
+  const handleStage = async () => {
     const endTime = dayjs(data.assignment.endTime); // 假设截止时间在 assignment 的 endTime 属性中
     const currentTime = dayjs();
     if (currentTime.isAfter(endTime)) {
       ElMessage.error('作业已截止,无法暂存!');
       return;
     }
-    apis.engagementStage(store.user.id, props.engagement.assignmentId, JSON.stringify(getQuillContent), getText.value, getHTML.value)
-        .then((_res: any) => {
-          // 存储行为数据
-          emitter.emit('click-stage')
-          success(_res.data.data);
-        })
-        .catch((error: any) => {
-          console.error('暂存失败', error);
-          error('暂存失败');
-        });
+    try {
+      const _res = await apis.engagementStage(store.user.id, props.engagement.assignmentId, JSON.stringify(getQuillContent), getText.value, getHTML.value);
+      emitter.emit('click-stage');
+      success(_res.data.data);
+      return _res;
+    } catch (error) {
+      console.error('暂存失败', error);
+      error('暂存失败');
+      throw error;
+    }
   };
 
   // window.onbeforeunload = function(event) {