|
@@ -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: '你已完成该练习~',
|