| 
					
				 | 
			
			
				@@ -2,17 +2,20 @@ import { defineComponent, onMounted, reactive, ref } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useOriginSearch } from '../uses' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import request from '/src/helpers/request' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import SettingState from '/src/pages/detail/setting-state' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import runtime, { sectionChange } from '/src/pages/detail/runtime' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import runtime, { changeSpeed } from '/src/pages/detail/runtime' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import state from '/src/pages/detail/state' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { Toast } from 'vant' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { userInfo } from '../App' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 interface IquestionExtendsInfo { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 评测难度 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  difficulty: 'ONE' | 'TWO' | 'THREE' | '1' | '2' | '3' | '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  difficulty?: 'ONE' | 'TWO' | 'THREE' | '1' | '2' | '3' | '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 开始小节 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  start: string | number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  start?: string | number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 结束小节 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  end: string | number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  end?: string | number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 速度 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  speed?: number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const difficultyData: { [_: string]: any } = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ONE: 'BEGINNER', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -31,11 +34,7 @@ export const unitTestData = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'unitTest', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   setup() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const questionExtendsInfo = ref<IquestionExtendsInfo>({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      difficulty: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      start: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      end: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const questionExtendsInfo = ref<IquestionExtendsInfo>({difficulty: ''}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 如果是课后训练或者单元测验,获取数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param xml 获取的xml数据 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44,7 +43,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const getUnitData = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const search = useOriginSearch() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!search.questionId) return '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const res: any = await request.get(`/examinationQuestion/detail?examinationQuestionId=${search.questionId}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         questionExtendsInfo.value = JSON.parse(res?.data?.questionExtendsInfo) || {} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,6 +52,26 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.error('解析单元测验曲谱题目失败', error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setSection() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getlessonTrainingData = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const search = useOriginSearch() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!search.lessonTrainingId) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const res: any = await request.post(`/studentLessonTraining/trainingRecord/${search.courseScheduleId}?userId=${userInfo.id}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (Array.isArray(res?.data?.trainings)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const train = res.data.trainings.find((n: any) => n.materialId == search.materialId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const info = JSON.parse(train.trainingContent) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // console.log("🚀 ~ info", info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          questionExtendsInfo.value.start = Number(info.startSection) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          questionExtendsInfo.value.end = Number(info.endSection) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          questionExtendsInfo.value.speed = isNaN(info.speed) ? 0 : Number(info.speed) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.error('解析课后训练曲谱题目失败', error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setSection() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**设置小节 */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -72,14 +91,18 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         state.sectionStatus = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         state.section = [startNote, endNote] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 设置评测难度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (difficultyData[questionExtendsInfo.value.difficulty]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          SettingState.eva.difficulty = difficultyData[questionExtendsInfo.value.difficulty] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (difficultyData[questionExtendsInfo.value.difficulty!]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          SettingState.eva.difficulty = difficultyData[questionExtendsInfo.value.difficulty!] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //设置速度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (questionExtendsInfo.value.speed) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          changeSpeed(questionExtendsInfo.value.speed) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onMounted(async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      await getUnitData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      setSection() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getUnitData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getlessonTrainingData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return () => <div></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 |