|
@@ -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>
|
|
|
},
|