فهرست منبع

Merge branch 'fix/editFix' of FanYanPeng/EAIFrontend into host-nju

LiaoYanZhou 9 ماه پیش
والد
کامیت
94d8228adf
3فایلهای تغییر یافته به همراه54 افزوده شده و 38 حذف شده
  1. 7 4
      src/views/EditPage/EditPage.vue
  2. 3 2
      src/views/Home/component/Edit/index.vue
  3. 44 32
      src/views/HomeworkPage/component/HomeworkDetail.vue

+ 7 - 4
src/views/EditPage/EditPage.vue

@@ -13,7 +13,9 @@
       <Dictionaries />
     </div>
     <div class="my-work-input">
-      <Edit :engagement="dataForm.engagement"/>
+      <Edit
+          :engagement="dataForm.engagement"
+      />
     </div>
     <Slider :dialogueId="dataForm.dialogueId" :engagement="dataForm.engagement"/>
   </div>
@@ -92,14 +94,15 @@
 
     await apis.getEngagement(store.user.id, assignmentId)
         .then((_res:any) => {
+          console.log(_res)
           Object.assign(dataForm, {
             dialogueId: dataForm.dialogueId,
             messages: dataForm.messages,
             engagement: _res.data.data
           })
-          if(!dataForm.engagement){
-            fetchData()
-          }
+          // if(!dataForm.engagement){
+          //   fetchData()
+          // }
         }).catch((_err:any) => {
           console.log("错误", _err)
         })

+ 3 - 2
src/views/Home/component/Edit/index.vue

@@ -19,6 +19,7 @@
 </template>
 
 <script lang="ts" setup>
+
   import "./index.scss";
   import type {engagementVO, IAssignment} from "@/types/vo";
   import {defineProps, onMounted, reactive, ref} from 'vue'
@@ -34,11 +35,9 @@
   interface IEditProps {
     engagement: engagementVO
   }
-
   const props = defineProps<{
     engagement: engagementVO
   }>()
-
   const apis = useApis()
   const store = useStore()
 
@@ -82,6 +81,7 @@
 
   // 提交操作
   const handleSubmit = async () => {
+    console.log(props)
     // 先自动暂存
     try {
       await handleStage();
@@ -111,6 +111,7 @@
   // 暂存操作
   const handleStage = async () => {
     try {
+      console.log(props)
       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);

+ 44 - 32
src/views/HomeworkPage/component/HomeworkDetail.vue

@@ -146,17 +146,51 @@ const getButtonTooltip = computed(() => {
 })
 
 function handleStart(){
-  getEngagement()
+  apis.getEngagement(store.user.id, assignmentId)
+      .then((_res:any) => {
+        //还未参加作业,则先加入作业
+        if(_res.data.data == null){
+          apis.engageAssignment(assignmentId)
+              .then((res:any) => {
+                ElMessage({
+                  message: '参加作业成功',
+                  type: 'success',
+                })
+                // 加入作业后重新获取状态
+                fetchEngagementStatus()
+                if(data.type == 'writing' || data.type == '写作'){
+                  router.push(`/home/assignment/${assignmentId}/edit`).then(() => {
+                    window.location.reload()
+                  })
+                } else if(data.type == 'speaking' || data.type == 'AI口语'){
+                  router.push(`/home/assignment/${assignmentId}/aispeaking`).then(() => {
+                    window.location.reload()
+                  })
+                }
+              })
+              .catch((_err:any) => {
+                console.log("参加做业的错误",_err)
+                ElMessage({
+                  message: '参加作业失败',
+                  type: 'error',
+                })
+              })
+        }
+        else{
+          if(data.type == 'writing' || data.type == '写作'){
+            router.push(`/home/assignment/${assignmentId}/edit`).then(() => {
+              window.location.reload()
+            })
+          } else if(data.type == 'speaking' || data.type == 'AI口语'){
+            router.push(`/home/assignment/${assignmentId}/aispeaking`).then(() => {
+              window.location.reload()
+            })
+          }
+        }
+      }).catch((_err:any) => {
+    console.log(_err)
+  })
   console.log(data.type)
-  if(data.type == 'writing' || data.type == '写作'){
-    router.push(`/home/assignment/${assignmentId}/edit`).then(() => {
-      window.location.reload()
-    })
-  } else if(data.type == 'speaking' || data.type == 'AI口语'){
-    router.push(`/home/assignment/${assignmentId}/aispeaking`).then(() => {
-      window.location.reload()
-    })
-  }
 }
 
 function downloadFile(url:string, fileName:string) {
@@ -183,28 +217,6 @@ async function fetchEngagementStatus() {
   }
 }
 
-async function getEngagement(){
-  apis.getEngagement(store.user.id, assignmentId)
-      .then((_res:any) => {
-        //还未参加作业,则先加入作业
-        if(_res.data.data == null){
-          apis.engageAssignment(assignmentId)
-              .then((res:any) => {
-                ElMessage({
-                  message: '参加作业成功',
-                  type: 'success',
-                })
-                // 加入作业后重新获取状态
-                fetchEngagementStatus()
-              })
-              .catch((_err:any) => {
-                console.log("参加做业的错误",_err)
-              })
-        }
-      }).catch((_err:any) => {
-        console.log(_err)
-      })
-}
 
 
 const fetchData = () => {