1
This commit is contained in:
+1
-1
@@ -27,4 +27,4 @@ VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7001'
|
||||
VITE_APP_BASE_H5_API_Url = 'http://25.18.122.65:7001'
|
||||
|
||||
#VITE_APP_BASE_H5_API_Url_TRAAPP = 'http://25.64.16.130:9601'
|
||||
VITE_APP_BASE_H5_API_Url_TRASTUDY = 'http://25.64.16.130:9602'
|
||||
#VITE_APP_BASE_H5_API_Url_TRASTUDY = 'http://25.64.16.138:9602'
|
||||
|
||||
Binary file not shown.
@@ -2,7 +2,7 @@
|
||||
<view class="item">
|
||||
<view class="top">
|
||||
<view class="type">{{ subject_type_text }}</view>
|
||||
<view class="score" v-if="[''].includes(props.mode)">{{ item.tgtGrade }}分</view>
|
||||
<view class="score" v-if="['settlement', 'examination'].includes(props.mode)">{{ item.tgtGrade }}分</view>
|
||||
<view class="fl1"></view>
|
||||
<view class="right">
|
||||
<!-- 反馈中心 -->
|
||||
@@ -14,9 +14,9 @@
|
||||
></image>
|
||||
<image :src="feedbackIcon()" class="img" @click="feedback_click()"></image>
|
||||
</view>
|
||||
<template v-if="[''].includes(props.mode)">
|
||||
<template v-if="['mistake'].includes(props.mode)">
|
||||
<view class="right_text">展开</view>
|
||||
<uv-icon class="arrow-icon" name="arrow-right"></uv-icon>
|
||||
<uv-icon class="arrow-icon" name="arrow-right" color="#0066FF"></uv-icon>
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
@@ -52,17 +52,15 @@
|
||||
确定
|
||||
</uv-button>
|
||||
</view>
|
||||
<view class="analysis_div" v-if="!clearResult && ['study', 'mistake'].includes(props.mode)">
|
||||
<view class="analysis_div" v-if="!clearResult && ['study', 'mistake', 'settlement'].includes(props.mode)">
|
||||
<view class="analysis_title">
|
||||
<view class="success_answer">正确答案:{{ correctResultLabel.join('') }}</view>
|
||||
<view class="your_answer">
|
||||
你的答案:
|
||||
<text class="red_color">{{ myResultLabel.join('') }}</text>
|
||||
<text :class="right_or_wrong_class ? 'success' : 'error'">{{ myResultLabel.join('') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="analysis_note">
|
||||
题目解析:{{subject_data?.analyContent}}
|
||||
</view>
|
||||
<view class="analysis_note">题目解析:{{ subject_data?.analyContent }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -77,7 +75,7 @@
|
||||
backgroundColor: '#0066FF',
|
||||
border: '1rpx solid rgb(12, 123, 245)'
|
||||
};
|
||||
|
||||
|
||||
const emit = defineEmits(['subject_click']);
|
||||
const props = defineProps({
|
||||
modelValue: {
|
||||
@@ -92,8 +90,8 @@
|
||||
type: String,
|
||||
required: true,
|
||||
validator: (value) => {
|
||||
// 考试: examination 练习: practice 错题本: mistake 学习: study
|
||||
return ['examination', 'practice', 'mistake', 'study'].includes(value);
|
||||
// 考试: examination 练习: practice 错题本: mistake 学习: study 考试结算页 settlement
|
||||
return ['examination', 'practice', 'mistake', 'study', 'settlement'].includes(value);
|
||||
}
|
||||
},
|
||||
// 是否预览模式
|
||||
@@ -105,13 +103,13 @@
|
||||
clearResult: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
}
|
||||
});
|
||||
const modelValue = computed({
|
||||
get: () => props.modelValue,
|
||||
set: (val) => emit('update:modelValue', val)
|
||||
});
|
||||
let answerText = props.item?.my_answer
|
||||
let answerText = props.item?.my_answer;
|
||||
const item_answer = ref(typeof answerText === 'string' ? answerText.split(',') : []);
|
||||
const feedback_click = () => {
|
||||
emit('subject_click', 'feedback', props.item);
|
||||
@@ -130,12 +128,18 @@
|
||||
const anserResultArray = props.item.anserResult.split(',');
|
||||
return subject_data.itemVos.filter((res) => anserResultArray.includes(res.itemId)).map((res) => res.itemNo);
|
||||
});
|
||||
// 判断选项是否完全正确
|
||||
const right_or_wrong_class = computed(
|
||||
() =>
|
||||
correctResultLabel.value.length === myResultLabel.value.length &&
|
||||
myResultLabel.value.every((res) => correctResultLabel.value.includes(res))
|
||||
);
|
||||
const subject_data = reactive({
|
||||
qnsId: props.item.qnsId,
|
||||
qnsContent: props.item.qnsContent,
|
||||
qnsTyp: props.item.qnsTyp,
|
||||
analyContent: props.item.analyContent,
|
||||
itemVos: (props.item.itemVos??[]).map((res) => ({
|
||||
itemVos: (props.item.itemVos ?? []).map((res) => ({
|
||||
...res,
|
||||
correctFlag: props.clearResult ? '' : res.correctFlag
|
||||
}))
|
||||
@@ -212,18 +216,20 @@
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin: 32rpx 0 28rpx 0;
|
||||
|
||||
|
||||
.success_answer {
|
||||
}
|
||||
|
||||
|
||||
.your_answer {
|
||||
}
|
||||
|
||||
.red_color {
|
||||
color: #f5212d;
|
||||
.success {
|
||||
color: #15b859;
|
||||
}
|
||||
.error {
|
||||
color: #f5212d;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.analysis_note {
|
||||
font-family: PingFangSC;
|
||||
font-weight: 500;
|
||||
@@ -272,11 +278,13 @@
|
||||
|
||||
.right_text {
|
||||
font-family: PingFangSC;
|
||||
font-weight: 600;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
color: #333333;
|
||||
line-height: 40px;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<nav-bar :is_seat="true"></nav-bar>
|
||||
<view class="nav-div">
|
||||
<view class="title ellipsis-text">考试结算</view>
|
||||
<view class="back_div">
|
||||
<view class="back_div" @click="common.navigateBack()">
|
||||
<view class="back-icon"></view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -116,25 +116,8 @@
|
||||
<image src="@/static/images/examination/getting_robot.png" mode="widthFix" class="img"></image>
|
||||
<view class="tip">你的等待会有更精确的结果,要耐心哦~</view>
|
||||
</view>
|
||||
<!-- <view class="top">
|
||||
<view class="type">单选题</view>
|
||||
<view class="score">5分</view>
|
||||
<view class="fl1"></view>
|
||||
<view class="right">
|
||||
<view class="right_text">
|
||||
展开
|
||||
</view>
|
||||
<uv-icon class="arrow-icon" name="arrow-right"></uv-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view class="text">属于商业银行风险管理“三道防线”的哪些风险管理部门,为什么?</view>
|
||||
<view class="additional_div">
|
||||
<RadioSubject></RadioSubject>
|
||||
</view> -->
|
||||
|
||||
<view class="" :id="'id_' + index" :class="getStatusClass(index)" v-for="(item, index) in topicList">
|
||||
|
||||
<topic-display :item="item" mode="mistake"></topic-display>
|
||||
<Subject :item="item" mode="settlement" :clearResult="false" :isPreview="true"></Subject>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
@@ -145,6 +128,8 @@
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import { ref, reactive, computed, onMounted, nextTick, getCurrentInstance } from 'vue';
|
||||
import { queryPaperExamScore } from '@/api/examination.js';
|
||||
import Subject from '@/components/examination/subject.vue';
|
||||
import common from '@/common/common';
|
||||
const pass_status = ref(0);
|
||||
const sheet_swiper_index = ref(0);
|
||||
const result = reactive({
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<view class="item" :class="getStatusClass(item.isFinish)" v-for="(item, index) in data_list" @click="click_item(item)">
|
||||
<view class="img_div">
|
||||
<image-preview class="img" :src="item.ossAddr" mode="scaleToFill"></image-preview>
|
||||
<view class="subscript" v-if="item.isFinish === '00'">进行中</view>
|
||||
<view class="subscript" v-if="item.isFinish === '00'">未完成</view>
|
||||
<view class="subscript" v-if="item.isFinish === '01'">已完成</view>
|
||||
</view>
|
||||
<view class="right_div">
|
||||
@@ -147,7 +147,7 @@
|
||||
}
|
||||
|
||||
.blod_color {
|
||||
color: #0066ff;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -223,6 +223,7 @@
|
||||
flex-wrap: nowrap;
|
||||
height: 23rpx;
|
||||
overflow: hidden;
|
||||
|
||||
}
|
||||
|
||||
.people_progress_div {
|
||||
|
||||
@@ -69,32 +69,38 @@
|
||||
</view>
|
||||
<view class="content_div">
|
||||
<view class="status_div">
|
||||
<text v-if="item.status==='01'">进行中</text>
|
||||
<text v-if="item.status==='02'">已完成</text>
|
||||
<text v-if="item.status==='03'">未解锁</text>
|
||||
<text v-if="item.status === '01'">进行中</text>
|
||||
<text v-if="item.status === '02'">已完成</text>
|
||||
<text v-if="item.status === '03'">未解锁</text>
|
||||
</view>
|
||||
<view class="main_body_div">
|
||||
<view class="title">
|
||||
{{item.crsName}}
|
||||
{{ item.crsName }}
|
||||
</view>
|
||||
<view class="button_div">
|
||||
<template v-if="item.isFinishStudy==='01' && item.isFinishExam==='01'">
|
||||
<template v-if="item.isFinishStudy === '01' && item.isFinishExam === '01'">
|
||||
<image class="img" :src="lockIcon('#999999')"></image>
|
||||
<view class="button_text">暂无通过条件,可自动解锁</view>
|
||||
</template>
|
||||
<template v-if="item.isFinishStudy!=='01'">
|
||||
<template v-if="item.isFinishStudy !== '01'">
|
||||
<image class="img" :src="passTheExamIcon('#0066FF')"></image>
|
||||
<view class="button_text">完成练习</view>
|
||||
</template>
|
||||
<template v-if="item.isFinishExam!=='01'">
|
||||
<image class="img" :src="completeTheExercisesIcon('#0066FF')"></image>
|
||||
<view class="button_text">通过考试</view>
|
||||
|
||||
<template v-if="item.isFinishExam !== '01'">
|
||||
<image class="img" :src="completeTheExercisesIcon('#0066FF')"></image>
|
||||
<view class="button_text">通过考试</view>
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<list-no-data v-if="total == 0 && status == 'nomore'"></list-no-data>
|
||||
<uv-load-more
|
||||
v-if="status === 'loading'"
|
||||
:status="status"
|
||||
loadmore-text="轻轻上拉加载"
|
||||
:height="30"
|
||||
></uv-load-more>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -102,7 +108,7 @@
|
||||
|
||||
<script setup>
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import { reactive, computed, nextTick } from 'vue';
|
||||
import { ref, reactive, computed, nextTick } from 'vue';
|
||||
import { queryAllTraTaskCrsInfo } from '@/api/learningTasks.js';
|
||||
import { passTheExamIcon, completeTheExercisesIcon, lockIcon } from '@/common/imgSvg';
|
||||
import { insertTraPersonalCollectionTask, deleteTraPersonalCollectionById } from '@/api/favorites.js';
|
||||
@@ -117,8 +123,14 @@
|
||||
finishCrs: '',
|
||||
sumCrs: ''
|
||||
});
|
||||
|
||||
const total = ref(-1);
|
||||
const status = ref('loading'); // loadmore - 加载前,loading - 加载中,nomore - 没有数据
|
||||
const data_list = reactive([]);
|
||||
|
||||
const getData = () => {
|
||||
status.value = 'loading';
|
||||
|
||||
queryAllTraTaskCrsInfo({
|
||||
taskId: detailData.taskId
|
||||
// taskId: 'TASKINFO02506401613920250820161715000008095'
|
||||
@@ -126,13 +138,18 @@
|
||||
.then((res) => {
|
||||
data_list.push(...res.body);
|
||||
})
|
||||
.finally(() => {});
|
||||
.finally(() => {
|
||||
total.value = data_list.length;
|
||||
if (total.value === 0) {
|
||||
status.value = 'nomore';
|
||||
} else {
|
||||
status.value = 'loadmore';
|
||||
}
|
||||
});
|
||||
};
|
||||
const scrolltolower = () => {};
|
||||
|
||||
const item_click = (item) => {
|
||||
|
||||
};
|
||||
|
||||
const item_click = (item) => {};
|
||||
const collect_click = async (collectId) => {
|
||||
console.log('学习', collectId);
|
||||
try {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<!-- <view class="item" :class="getStatusClass(index)" v-for="(item, index) in data_list">
|
||||
|
||||
</view> -->
|
||||
<topic-display v-for="(item, index) in data_list" :item="item" mode="mistake"></topic-display>
|
||||
<subject v-for="(item, index) in data_list" :item="item" mode="mistake"></subject>
|
||||
<uv-load-more v-if="total != 0" :status="status" loadmore-text="轻轻上拉加载" :height="30"></uv-load-more>
|
||||
</scroll-view>
|
||||
</view>
|
||||
@@ -18,6 +18,7 @@
|
||||
import { ref, reactive, onMounted, nextTick } from 'vue';
|
||||
import { queryTraCrsBbsInfoByCrsId } from '@/api/courseDetail.js';
|
||||
import { queryTraMistakesCollectionPaging } from '@/api/wrongQuestionRecord.js';
|
||||
import Subject from '@/components/examination/subject.vue';
|
||||
const getData = (from = '') => {
|
||||
if (from == 'first') {
|
||||
if (total.value !== -1) {
|
||||
|
||||
Reference in New Issue
Block a user