lex il y a 1 an
Parent
commit
e3ab0fb3b6
1 fichiers modifiés avec 59 ajouts et 7 suppressions
  1. 59 7
      src/views/exercise-after-class/index.tsx

+ 59 - 7
src/views/exercise-after-class/index.tsx

@@ -27,6 +27,7 @@ import qs from 'query-string'
 import { Vue3Lottie } from 'vue3-lottie'
 import playLoadData from '../coursewarePlay/datas/data.json'
 import { handleCheckVip } from '../hook/useFee'
+import item from '@/student/coupons/item'
 
 const materialType = {
   视频: 'VIDEO',
@@ -93,7 +94,9 @@ export default defineComponent({
       itemList: [] as any,
       showHead: true,
       loading: true,
-      recordLoading: false
+      recordLoading: false,
+      isPlayBaseStatus: true, // 初始状态是否播放完
+      isPlayAll: true // 是否全部做完
     })
     const activeData = reactive({
       nowTime: 0,
@@ -117,6 +120,23 @@ export default defineComponent({
           trainings.forEach((item: any) => {
             tempLessonTraining.push(...(item.studentLessonTrainingDetails || []))
           })
+          // 没有播放完
+          tempLessonTraining.forEach((item: any) => {
+            let trainingContent: any = {}
+            try {
+              trainingContent = JSON.parse(item.trainingContent)
+            } catch (error) {
+              trainingContent = ''
+            }
+            if (trainingContent.practiceTimes !== item.trainingTimes + '') {
+              data.isPlayAll = false
+            }
+
+            if (item.materialId == route.query.materialId) {
+              popupData.tabName = item.knowledgePointName
+            }
+          })
+
           return tempLessonTraining
         }
       } catch (error) {}
@@ -151,6 +171,19 @@ export default defineComponent({
 
     onMounted(async () => {
       const trainings = await getTrainingRecord()
+      // 初始化状态
+      trainings.forEach((record: any) => {
+        let trainingContent: any = {}
+        try {
+          trainingContent = JSON.parse(record.trainingContent)
+        } catch (error) {
+          trainingContent = ''
+        }
+        if (trainingContent.practiceTimes !== record.trainingTimes + '') {
+          data.isPlayBaseStatus = false
+        }
+      })
+
       setRecord(trainings)
       handleCheckVip()
     })
@@ -222,12 +255,31 @@ export default defineComponent({
         data?.videoData?.trainingTimes != 0 &&
         data?.videoData?.trainingTimes + '' === data.videoData?.trainingContent?.practiceTimes
       ) {
-        // handleStopVideo()
-        const itemIndex = data.trainings.findIndex(
-          (n: any) => n.materialId == data.videoData?.materialId
-        )
-        // console.log(itemIndex ,data.trainings, data.videoData?.materialId)
-        const isLastIndex = itemIndex === data.trainings.length - 1
+        let isLastIndex = false
+        let itemIndex = 0
+        console.log(data.isPlayBaseStatus, data.isPlayAll, data.trainings)
+        if (data.isPlayBaseStatus) {
+          itemIndex = data.trainings.findIndex(
+            (n: any) => n.materialId == data.videoData?.materialId
+          )
+          isLastIndex = itemIndex === data.trainings.length - 1
+        } else {
+          let i = -1
+          let status = true
+          data.trainings.forEach((item: any, index: number) => {
+            if (item.trainingContent.practiceTimes !== item.trainingTimes + '' && i === -1) {
+              console.log(i, item.trainingContent.practiceTimes, item.trainingTimes, index)
+              i = index
+            }
+            if (item.trainingContent.practiceTimes !== item.trainingTimes + '') {
+              status = false
+            }
+          })
+          itemIndex = i != -1 ? i - 1 : -1
+          console.log(status)
+          isLastIndex = status
+        }
+
         showConfirmDialog({
           title: '课后作业',
           message: '你已完成该练习~',