JLBA202505130001_关于吉林银行新建AI智能培训系统的需求_feat: 知识点无问题跳过

This commit is contained in:
杨航
2026-01-06 13:15:29 +08:00
parent f8db72e91a
commit a8628c417a
4 changed files with 75 additions and 43 deletions
+1 -1
View File
@@ -11,5 +11,5 @@ VITE_APP_BASE_H5_API_Url = 'http://25.18.122.91:9786'
# VITE_APP_BASE_H5_API_Url_TRAPRACTICE = 'http://25.64.32.156:9603'
# VITE_APP_BASE_H5_API_Url_TRAAPP = 'http://25.64.32.154:9601'
# VITE_APP_BASE_H5_API_Url_TRAAPP = 'http://25.64.32.158:9601'
# VITE_APP_BASE_H5_API_Url_TRASTUDY = 'http://25.64.32.154:9602'
VITE_APP_BASE_H5_API_Url_TRASTUDY = 'http://25.64.32.154:9602'
+6 -2
View File
@@ -38,12 +38,12 @@
</template>
</view>
</view>
<view class="question_text">
<view class="question_text" v-show="props.showStem">
{{ subject_data.qnsContent }}
</view>
<view :style="{ height: animationHeight }" :class="{ collapse_wrapper: props.mode === 'mistake' }" ref="wrapperRef">
<view class="collapse-content" ref="contentRef">
<view class="option_div">
<view class="option_div" v-show="props.showStem">
<template v-if="qnsTyp === 'ES'">
<questionVue
:status="subject_data.es_status"
@@ -143,6 +143,10 @@
type: Object,
required: true
},
showStem: {
type: Boolean,
required: true
},
mode: {
type: String,
required: true,
+21 -5
View File
@@ -55,7 +55,7 @@
{{ showContent }}
</text>
<!-- 试题问题 -->
<Subject v-if="[4, 8].indexOf(type) >= 0 && dataInfo.qnsTyp !== 'ES'" :isPreview="!isLast" :item="subjectInfo"
<Subject v-if="[4, 8].indexOf(type) >= 0 && dataInfo.qnsTyp !== 'ES'" :isPreview="!isLast" :item="subjectInfo" :showStem="type===4"
:mode="mode" :clearResult="type === 4" @subject_click="subject_click" />
<!-- 试题问题反馈 -->
<!-- <RadioSubjectRequest v-if="[8].indexOf(type) >= 0 && dataInfo.qnsTyp !== 'ES'" :item="dataInfo" :mode="mode" @subject_click="subject_click" /> -->
@@ -392,10 +392,18 @@
return false;
}
if (type.value === 5) {
return true;
if(dataInfo.value.stdyStat !== 'Y' && dataInfo.value.isLastQns === 'Y'){
return false
}else{
return true;
}
}
if (type.value === 8) {
return !!dataInfo.value.traQnsInfoVo?.judgeResult;
if(dataInfo.value.stdyStat !== 'Y' && dataInfo.value.isLastQns === 'Y'){
return false
}else{
return !!dataInfo.value.traQnsInfoVo?.judgeResult;
}
}
if (type.value === 9) {
return dataInfo.value.stdyStat === 'Y';
@@ -757,10 +765,18 @@
clickNow();
if ([5, 8].indexOf(props.type) >= 0) {
// 完成问题
emit('nextQuestion', unref(dataInfo));
if(dataInfo.value.stdyStat === 'Y' && dataInfo.value.isLastQns === 'Y'){
emit('nextQuestion', unref(dataInfo), 'overNextGraph');
}else{
emit('nextQuestion', unref(dataInfo));
}
} else if ([3].indexOf(props.type) >= 0) {
// 完成段落
emit('nextQuestion', unref(dataInfo), 'overGraph');
if(unref(dataInfo).hasQns !=='Y'){
emit('nextQuestion', unref(dataInfo), 'overNextGraph');
}else{
emit('nextQuestion', unref(dataInfo), 'overGraph');
}
} else if ([9].indexOf(props.type) >= 0) {
// 下一段落
emit('nextQuestion', unref(dataInfo), 'nextGraph');
+47 -35
View File
@@ -568,40 +568,21 @@ const nextQuestionSuccess = (info, type = 'next') => {
scrollToBottomNow()
getQuestionInfoUnStudy(info.pgrphId)
} else if (type === 'overGraph') {
unref(ajaxApi)({
processType: 'PRGH-OVER',
requestBody: JSON.stringify({
stdyId: unref(stdyId),
pgrphId: info?.pgrphId,
logId: info?.logId,
oldStdyId: unref(oldStdyId),
isContinue: isContinue.value
})
})
.then(res => {
talkingList.value.push({
crsId: info.crsId,
pgrphId: info.pgrphId,
talkingContent: '继续',
type: 0,
id: _id
})
scrollToBottomNow()
getQuestionInfoUnStudy(info.pgrphId)
})
.finally(() => {
isGetting.value = false
})
} else if (type === 'nextGraph') {
talkingList.value.push({
crsId: info.crsId,
pgrphId: info.pgrphId,
talkingContent: '继续学',
type: 0,
id: _id
})
// 下个段落
getGraphInfoUnStudy(0, info.pgrphId)
overPgrhNow(info,getQuestionInfoUnStudy,_id)
} else if (type === 'overNextGraph') {
overPgrhNow(info,($id)=>{
getGraphInfoUnStudy(0, $id)
},_id)
} else if (type === 'nextGraph') {
talkingList.value.push({
crsId: info.crsId,
pgrphId: info.pgrphId,
talkingContent: '继续学',
type: 0,
id: _id
})
// 下个段落
getGraphInfoUnStudy(0, info.pgrphId)
} else if (type === 'reStart') {
talkingList.value.push({
crsId: info.crsId,
@@ -690,6 +671,35 @@ const nextQuestionSuccess = (info, type = 'next') => {
})
}
}
const overPgrhNow = (info,cb = ()=>{},_id) => {
unref(ajaxApi)({
processType: 'PRGH-OVER',
requestBody: JSON.stringify({
stdyId: unref(stdyId),
pgrphId: info?.pgrphId,
logId: info?.logId || logId.value,
oldStdyId: unref(oldStdyId),
isContinue: isContinue.value
})
})
.then(res => {
talkingList.value.push({
crsId: info.crsId,
pgrphId: info.pgrphId,
talkingContent: '继续',
type: 0,
id: _id
})
scrollToBottomNow(300)
setTimeout(()=>{
cb(info.pgrphId)
},500)
// cb(info.pgrphId)
})
.finally(() => {
isGetting.value = false
})
}
const scrollBoxRef = ref()
const scrollTop = ref(99999)
const scrollToBottomNow = (time = 500) => {
@@ -1141,7 +1151,9 @@ const getQuestionEvalateRequest = (id, data, num) => {
unref(ajaxApi)({
processType: 'ANSER-RESULT',
requestBody: JSON.stringify({
execLogId: loadingExecLogId.value
execLogId: loadingExecLogId.value,
pgrphId: data.pgrphId,
stdyId: stdyId.value
})
}).then(res => {
let _body = res.body || {}