JLBA202505130001_关于吉林银行新建AI智能培训系统的需求_feat: 课程学习统计结果调整

This commit is contained in:
杨航
2026-01-14 14:54:33 +08:00
parent 68f1f9fd3f
commit 0349f39c6f
4 changed files with 50 additions and 25 deletions
+3 -2
View File
@@ -2,9 +2,9 @@
ENV = 'development.yh'
# 'development.yh'
# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.65:7001'
VITE_APP_BASE_H5_API_Url = 'http://25.18.122.65:7001'
VITE_APP_BASE_H5_API_Url = 'http://25.18.122.91:9786'
# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.91:9786'
# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.78:9786'
# VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002'
# VITE_APP_BASE_H5_API_Url_TRAEXAM = 'http://25.64.32.154:9604'
@@ -12,4 +12,5 @@ VITE_APP_BASE_H5_API_Url = 'http://25.18.122.91:9786'
# 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_TRAASK = 'http://25.64.32.157:9605'
+10 -9
View File
@@ -1,7 +1,8 @@
<template>
<view class="item" :class="{'no-touch':qnsTyp === 'ES' && !isDisabled && ['examination', 'practice', 'mistake_in', 'pk_in'].includes(props.mode)}">
<view class="top">
<view class="type">{{ subject_type_text }}</view>
<!-- v-if="!['study'].includes(props.mode)" -->
<view class="type" v-if="!['study_answer'].includes(props.mode)">{{ subject_type_text }}</view>
<view class="score" v-if="['settlement', 'examination', 'pk_in'].includes(props.mode)">
{{ item.tgtGrade }}
</view>
@@ -40,12 +41,12 @@
</template>
</view>
</view>
<view class="question_text">
<view class="question_text" v-if="!['study_answer'].includes(props.mode)">
{{ 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-if="!['study_answer'].includes(props.mode)">
<template v-if="qnsTyp === 'ES'">
@@ -72,7 +73,7 @@
class="option_div_button"
v-if="
qnsTyp === 'MU' &&
['practice', 'study', 'pk_in', 'mistake_in'].includes(props.mode) &&
['practice', 'study', 'study_answer', 'pk_in', 'mistake_in'].includes(props.mode) &&
!props.isPreview &&
clearResult
"
@@ -93,7 +94,7 @@
class="analysis_div"
v-if="
!clearResult &&
['study', 'mistake', 'settlement', 'practice', 'mistake_in', 'practice_record', 'pk_in'].includes(props.mode)
['study', 'study_answer', 'mistake', 'settlement', 'practice', 'mistake_in', 'practice_record', 'pk_in'].includes(props.mode)
"
>
<view class="analysis_title" v-if="qnsTyp !== 'ES'">
@@ -103,7 +104,7 @@
<text :class="right_or_wrong_class ? 'success' : 'error'">{{ myResultLabel.join('') }}</text>
</view>
</view>
<view class="reference_answer" v-if="qnsTyp === 'ES'">
<view class="reference_answer" v-if="qnsTyp === 'ES' && !['study', 'study_answer'].includes(props.mode)">
<view class="reference_answer_title">你的答案:</view>
{{ subject_data.anserResult ?? '' }}
</view>
@@ -167,7 +168,7 @@
// 学习: study
// 考试结算页 settlement
// 练习记录页 practice_record, 'practice_record'
return ['examination', 'practice', 'mistake', 'mistake_in', 'study', 'settlement', 'practice_record', 'pk_in'].includes(
return ['examination', 'practice', 'mistake', 'mistake_in', 'study', 'study_answer', 'settlement', 'practice_record', 'pk_in'].includes(
value
);
}
@@ -314,7 +315,7 @@
if (item_answer.value.includes(analysisVo.itemId)) {
item_answer.value = item_answer.value.filter((id) => id !== analysisVo.itemId);
modelValue.value = item_answer.value;
if (!['study'].includes(props.mode)) {
if (!['study','study_answer'].includes(props.mode)) {
muCheckbox('choose');
}
} else if (props.item.qnsTyp === 'SN') {
@@ -328,7 +329,7 @@
// 多选直接插入
item_answer.value.push(analysisVo.itemId);
modelValue.value = item_answer.value;
if (!['study'].includes(props.mode)) {
if (!['study','study_answer'].includes(props.mode)) {
muCheckbox('choose');
}
} else if (props.item.qnsTyp === 'JD') {
+32 -9
View File
@@ -33,11 +33,17 @@
<!-- 加载状态 -->
<CommonLoading color="#06f" v-show="dataInfo.isLoading" />
<!-- 参考答案 -->
<view class="talking-text" v-if="type === 5 && !dataInfo.isLoading" style="overflow: hidden">
<view class="talking-text" v-if="
false
//type === 5
&& !dataInfo.isLoading" style="overflow: hidden">
参考答案:{{ dataInfo.itemAnswer }}
</view>
<!-- 维度信息预览 -->
<view v-if="type === 5 && !dataInfo.isLoading" style="padding-top: 16rpx">
<view v-if="
false
//type === 5
&& !dataInfo.isLoading" style="padding-top: 16rpx">
<ChartFour v-if="dataInfo.evalDimens.length === 4" :dataList="dataInfo.evalDimens"
:score="dataInfo.asrGrade" />
<ChartThree v-if="dataInfo.evalDimens.length === 3" :dataList="dataInfo.evalDimens"
@@ -46,16 +52,17 @@
:score="dataInfo.asrGrade" />
</view>
<!-- 题干/段落内容 -->
<text class="talking-text" v-if="[3, 5, 6, 9].indexOf(type) >= 0 && !dataInfo.isLoading">
<text class="talking-text" v-if="[3,
// 5,
6, 9].indexOf(type) >= 0 && !dataInfo.isLoading">
{{ type === 5 ? '试题解析:' : '' }}{{ showContent }}
</text>
<view class="type-tag" v-if="[4].indexOf(type) >= 0 && dataInfo.qnsTyp === 'ES'">问答题</view>
<!-- <view class="type-tag" v-if="[4].indexOf(type) >= 0 && dataInfo.qnsTyp === 'ES'">问答题</view>
<text class="talking-text" v-if="[4].indexOf(type) >= 0 && dataInfo.qnsTyp === 'ES'">
<!-- 请您思考并作答:<br> -->
{{ showContent }}
</text>
</text> -->
<!-- 试题问题 -->
<Subject v-if="[4, 8].indexOf(type) >= 0 && dataInfo.qnsTyp !== 'ES'" :isPreview="!isLast" :item="subjectInfo"
<Subject v-if="[4, 5, 8].indexOf(type) >= 0 && !dataInfo.isLoading" :isPreview="!isLast" :item="subjectInfo"
: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" /> -->
@@ -324,10 +331,26 @@
return {
...dataInfo.value,
...(dataInfo.value?.traQnsInfoVo || {}),
my_answer: dataInfo.value?.traQnsInfoVo?.anserResult || ''
my_answer: dataInfo.value?.traQnsInfoVo?.anserResult || '',
...(props.type === 5?{
"qnsTyp": "ES",
my_answer: dataInfo.value,
itemVos: [{
...dataInfo.value,
"qnsTyp": "ES",
"qnsId": dataInfo.value.qnsId,
"itemAnswer": dataInfo.value.itemAnswer,
"relKeyword": dataInfo.value.relKeyword,
anserResult:dataInfo.value?.traQnsInfoVo?.anserResult || '',
"evalSettingVos": dataInfo.value?.essayEvalVo,
}]
}:{})
};
});
const mode = ref('study'); // 考试 examination 练习practice 学习study
const mode = computed(()=>{
return props.type == 5 ? 'study_answer' : 'study'
}); // 考试 examination 练习practice 学习study 学习结果study_answer
const imgAddrs = computed(()=>{
return (dataInfo.value.imageAddrs || [])
@@ -31,10 +31,10 @@
{{ 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" :isPreview="!isLast" :item="subjectInfo"
:mode="mode" :clearResult="type === 4" @subject_click="subject_click" />
<esQuestion v-if="[4, 8].indexOf(type) >= 0 && dataInfo.qnsTyp === 'ES'" @changePlay="changePlay"
:activeVoiceId="activeVoiceId" :dataInfo="esSubjectInfo" />
<!-- <esQuestion v-if="[4, 8].indexOf(type) >= 0 && dataInfo.qnsTyp === 'ES'" @changePlay="changePlay"
:activeVoiceId="activeVoiceId" :dataInfo="esSubjectInfo" /> -->
<!-- 试题问题反馈 -->
<!-- <RadioSubjectRequest v-if="[8].indexOf(type) >= 0 && dataInfo.qnsTyp !== 'ES'" :item="dataInfo" :mode="mode" @subject_click="subject_click" /> -->
<!-- 段落图片视频预览 -->
@@ -55,14 +55,14 @@
></VideoPreview>
</view>
<!-- 维度信息预览 -->
<view v-if="[4, 8].indexOf(type) >= 0 && dataInfo.qnsTyp === 'ES'" style="padding-top: 16rpx;">
<!-- <view v-if="[4, 8].indexOf(type) >= 0 && dataInfo.qnsTyp === 'ES'" style="padding-top: 16rpx;">
<ChartFour v-if="esSubjectInfo?.evalSettingVos?.length === 4" :dataList="esSubjectInfo.evalSettingVos"
:score="intrctGrade" />
<ChartThree v-if="esSubjectInfo?.evalSettingVos?.length === 3" :dataList="esSubjectInfo.evalSettingVos"
:score="intrctGrade" />
<ChartFive v-if="esSubjectInfo?.evalSettingVos?.length === 5" :dataList="esSubjectInfo.evalSettingVos"
:score="intrctGrade" />
</view>
</view> -->
<!-- 参考答案 -->
<view class="talking-text" v-if="type === 5 && !dataInfo.isLoading" style="overflow: hidden;">
参考答案{{ dataInfo.itemAnswer }}