diff --git a/src/api/learningTasks.js b/src/api/learningTasks.js
index 63794ae1..293dfee6 100644
--- a/src/api/learningTasks.js
+++ b/src/api/learningTasks.js
@@ -6,7 +6,16 @@ export const queryAllTraTaskInfoByUserId = (data) => {
return request({
url: base_url + '/traTaskInfo/queryAllTraTaskInfoByUserId',
method: 'post',
- toastErrors: true,
+ data
+ });
+};
+
+
+// 查询当前用户的课程完成情况
+export const queryAllTraTaskCrsInfo = (data) => {
+ return request({
+ url: base_url + '/traTaskInfo/queryAllTraTaskCrsInfo',
+ method: 'post',
data
});
};
diff --git a/src/api/wrong_question_record.js b/src/api/wrongQuestionRecord.js
similarity index 100%
rename from src/api/wrong_question_record.js
rename to src/api/wrongQuestionRecord.js
diff --git a/src/common/imgSvg.ts b/src/common/imgSvg.ts
index c48d3853..2a9bf5d9 100644
--- a/src/common/imgSvg.ts
+++ b/src/common/imgSvg.ts
@@ -48,3 +48,12 @@ export const completeTheExercisesIcon = (color: string) : string => {
`.trim();
return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`;
};
+
+// 锁定
+export const lockIcon = (color: string) : string => {
+ const svgXml = `
+
+`.trim();
+ return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`;
+};
+
diff --git a/src/components/examination/characters-subject.vue b/src/components/examination/characters-subject.vue
index 03e8cc6a..240788dd 100644
--- a/src/components/examination/characters-subject.vue
+++ b/src/components/examination/characters-subject.vue
@@ -2,17 +2,17 @@
- {{subject_type_text}}
-
-
- 5分
-
-
-
+ {{ subject_type_text }}
+ 5分
+
-
+
@@ -37,21 +31,21 @@
required: false,
},
my_answer: {
- type: Array,
- required: true,
- },
- backend_answer: {
- type: Array,
- required: true,
- },
+ type: String,
+ defauft:''
+ }
});
const select_status = computed(() => {
- if (props.backend_answer.length === 0) {
- return (props.my_answer||[]).includes(props.analysisVo.itemId) ? 'primary' : 'info';
- } else {
- return (props.my_answer||[]).includes(props.analysisVo.itemId) ? 'success' :
- 'error';
- }
+ // 只要是正确答案 就是绿色
+ if (props.analysisVo.correctFlag === 'R') return 'success';
+ // 是错误答案但是被用户错误选中的为红
+ console.log('props.my_answer', props.my_answer);
+ const my_answer_array = props.my_answer.split(',');
+ if(my_answer_array.includes(props.analysisVo.itemId) && props.analysisVo.correctFlag === 'E') return 'error';
+ // 只有被我选中,不知是正确还是错误的为蓝
+ if(my_answer_array.includes(props.analysisVo.itemId)) return 'primary';
+ // 什么都不是者为灰色
+ return 'info';
})
const select_status_icon = computed(() => {
if (select_status.value === 'primary') {
@@ -65,7 +59,6 @@
})
const click_option = () => {
emit('click_option', props.analysisVo)
-
}
diff --git a/src/components/examination/radio-subject.vue b/src/components/examination/radio-subject.vue
index a1c85507..ebd56cfc 100644
--- a/src/components/examination/radio-subject.vue
+++ b/src/components/examination/radio-subject.vue
@@ -24,7 +24,7 @@
+ :analysisVo="analysisVo" :my_answer="props.item.my_answer">
@@ -81,8 +81,6 @@
qnsTyp: '',
itemVos: props.item.itemVos.map(res => ({
...res,
- // 选择状态, 'info表示未选' , primary 表示蓝色, sunccess 表示绿色, error 表示红色
- select_status: 'info'
})),
})
Object.assign(subject_data, {
@@ -95,21 +93,21 @@
const subject_type_text = computed(() => SUBJECT_TYPE.find(res => subject_data.qnsTyp === res.value)?.label || '')
// 点击答题
const click_option = (analysisVo) => {
- // // 无论什么类型如果表里已经有了,再次点击就是弹出
- if (props.item.my_answer.includes(analysisVo.itemId)) {
- props.item.my_answer = props.item.my_answer.filter(id => id !== analysisVo.itemId);
- } else if (props.item.qnsTyp === 'SN') { // 单选
- // 单选插入,并且移除其他
- props.item.my_answer[0] = analysisVo.itemId
- muCheckbox()
- } else if (props.item.qnsTyp === 'MU') { // 多选题
- // 多选直接插入
- props.item.my_answer.push(analysisVo.itemId)
- } else if (props.item.qnsTyp === 'JD') { // 判断题
- // 判断插入,并且移除其他
- props.item.my_answer = [analysisVo.itemId]
- muCheckbox()
- }
+ // // // 无论什么类型如果表里已经有了,再次点击就是弹出
+ // if (props.item.my_answer.includes(analysisVo.itemId)) {
+ // props.item.my_answer = props.item.my_answer.filter(id => id !== analysisVo.itemId);
+ // } else if (props.item.qnsTyp === 'SN') { // 单选
+ // // 单选插入,并且移除其他
+ // props.item.my_answer[0] = analysisVo.itemId
+ // muCheckbox()
+ // } else if (props.item.qnsTyp === 'MU') { // 多选题
+ // // 多选直接插入
+ // props.item.my_answer.push(analysisVo.itemId)
+ // } else if (props.item.qnsTyp === 'JD') { // 判断题
+ // // 判断插入,并且移除其他
+ // props.item.my_answer = [analysisVo.itemId]
+ // muCheckbox()
+ // }
}
const muCheckbox = () => {
emit('subject_click', 'answer', {
diff --git a/src/components/examination/subject.vue b/src/components/examination/subject.vue
new file mode 100644
index 00000000..abd58d6a
--- /dev/null
+++ b/src/components/examination/subject.vue
@@ -0,0 +1,213 @@
+
+
+
+
+ {{subject_type_text}}
+
+
+ 5分
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{subject_data.qnsContent}}
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/examination/touchBtn.vue b/src/components/examination/touchBtn.vue
index 14644e75..ae943aac 100644
--- a/src/components/examination/touchBtn.vue
+++ b/src/components/examination/touchBtn.vue
@@ -154,6 +154,7 @@
};
onMounted(async () => {
+ // #ifdef APP-PLUS
recorderManager.onStop(function (res) {
console.log('recorder stop' + JSON.stringify(res));
console.log('录音文件临时位置', res.tempFilePath, isOut.value);
@@ -177,6 +178,7 @@
startTime = Date.now();
recordingStatus.value = 'in_recording';
});
+ // #endif
});
const touchY = ref(0);
diff --git a/src/components/topic-display/topic-display.vue b/src/components/topic-display/topic-display.vue
index fbc7eb26..c5801d9e 100644
--- a/src/components/topic-display/topic-display.vue
+++ b/src/components/topic-display/topic-display.vue
@@ -1,63 +1,120 @@
-
-
-
-
- A.这里是选项 A 的内容
-
-
-
-
-
- B.这里是选项 B 的内容
-
-
-
-
-
- C.这里是选项 C 的内容
-
-
-
-
- D.这里是选项D的内容
+
+
+ {{ subject_type_text }}
+ {{ item.tgtGrade }}分
+
+
+ 展开
+
-
-
-
- 正确答案:ABC
-
+ {{ item.qnsContent }}
+
+
+
+
-
- 你的答案:AB
+
-
- 题目解析:属于商业银行风险管理“三道防线的是A部门,B部门和C部门银行风险管理“三道防线的是A部门,B部,银行风险管理“三道防线的是A部门,B部银行风险管理“三道防线的是A部门,B部
+
+
+ 正确答案:{{ correctResultLabel.join('') }}
+
+
+ 你的答案:
+ {{ myResultLabel.join('') }}
+
+
+
+ 题目解析:{{item.analyContent}}
+
-
\ No newline at end of file
+
+ .item {
+ // height: 170rpx;
+ border-radius: 16rpx;
+ margin: 12rpx 0 50rpx 0;
+ padding: 34rpx 30rpx 34rpx 36rpx;
+ background-color: #fff;
+ display: flex;
+ flex-direction: column;
+
+ .top {
+ display: flex;
+ align-items: center;
+
+ .type {
+ width: 108rpx;
+ height: 46rpx;
+ background: #267eff;
+ border-radius: 8rpx;
+ font-family: PingFangSC;
+ font-weight: 500;
+ font-size: 25rpx;
+ color: #ffffff;
+ text-align: center;
+ line-height: 46rpx;
+ }
+
+ .score {
+ margin-left: 24rpx;
+ font-family: ArialMT;
+ font-size: 30rpx;
+ color: #333333;
+ text-align: left;
+ }
+
+ .right {
+ display: flex;
+ align-items: center;
+
+ .right_text {
+ font-family: PingFangSC;
+ font-weight: 600;
+ font-size: 28rpx;
+ color: #333;
+ line-height: 40rpx;
+ text-align: left;
+ font-style: normal;
+ }
+ }
+ }
+
+ .text {
+ font-family: PingFangSC;
+ font-weight: 500;
+ font-size: 30rpx;
+ color: #333333;
+ line-height: 48rpx;
+ text-align: left;
+ font-style: normal;
+ margin-top: 20rpx;
+ }
+ }
+
diff --git a/src/pages/courseDetail/index.vue b/src/pages/courseDetail/index.vue
index 4716f34b..133a1c24 100644
--- a/src/pages/courseDetail/index.vue
+++ b/src/pages/courseDetail/index.vue
@@ -104,7 +104,7 @@
发布评价
diff --git a/src/pages/courseDetail/submit.vue b/src/pages/courseDetail/submit.vue
index 6f4cee57..4869339b 100644
--- a/src/pages/courseDetail/submit.vue
+++ b/src/pages/courseDetail/submit.vue
@@ -62,7 +62,7 @@
import common from '@/common/common';
const formData = reactive({
- "crsNum": null,
+ "crsId": null,
"imgIdList": [], // 发表图片ID列表,文件ID集
"bbsGrade": 10, // 综合评分(最高10分)
"bbsTag": 'SUG', // 评价标签 (SUG 建议 ASK 提问 )
@@ -92,7 +92,7 @@
})
}
onLoad((params) => {
- formData.crsNum = params.crsNum;
+ formData.crsId = params.crsId;
from.value = params.from;
imgId.value = params.imgId;
});
diff --git a/src/pages/examination/index.vue b/src/pages/examination/index.vue
index 9f4760af..f858381f 100644
--- a/src/pages/examination/index.vue
+++ b/src/pages/examination/index.vue
@@ -3,15 +3,16 @@
- {{paperData.papersName}}
+ {{ paperData.papersName }}
- 答题进度 {{questionNumber + 1}}/{{topicList.length}}
+ 答题进度
+ {{ questionNumber + 1 }}
+ /{{ topicList.length }}
剩余时间
@@ -19,164 +20,178 @@
-
+
-
-
+
+
-
-
-
+
-
+
答题卡
-
-
-
+
+
+ @click="button_tab(1)"
+ >
-
-
+
+
-
+
\ No newline at end of file
+
diff --git a/src/pages/examination/result.vue b/src/pages/examination/result.vue
index dd179f64..234a4913 100644
--- a/src/pages/examination/result.vue
+++ b/src/pages/examination/result.vue
@@ -2,56 +2,60 @@
-
- 考试结算
-
+ 考试结算
-
-
+
得分
- --
- 40
- 50
-
+ --
+ {{ result.examGrade }}
+ {{ result.examGrade }}
- 失败乃成功之母,继续努力
- 考的不错啊,继续加油
- 考试结果计算中...
-
+ 失败乃成功之母,继续努力
+ 考的不错啊,继续加油
+ 考试结果计算中...
+
-
-
-
-
+
+
+
+
@@ -59,41 +63,44 @@
-
-
-
-
- 考试:这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称这里是考试名称
+
+ 考试:{{ result.papersName }}
-
-
+
- 时长:12 分 15 秒
-
-
-
+
+ 时长:{{ result.examLenTm }}
+
考试排行榜
-
-
-
-
+
+
-
+
{{ groupIndex * 10 + index + 1 }}
@@ -101,70 +108,57 @@
-
-
+
-
-
+
-
- 你的等待会有更精确的结果,要耐心哦~
-
+ 你的等待会有更精确的结果,要耐心哦~
-
-
-
-
-
-
- 单选题
+
-
-
- 属于商业银行风险管理“三道防线”的哪些风险管理部门,为什么?
-
-
-
-
+
+
+
+ 属于商业银行风险管理“三道防线”的哪些风险管理部门,为什么?
+
+
+ -->
+
+
+
+
-
@@ -223,15 +222,11 @@
$bg-margin-left: 30rpx;
.scroll-Y {
-
// max-height: calc(100vh - var(--status-bar-height) - 70rpx - 70rpx - 40rpx - 64rpx - 68rpx - 60rpx);
height: calc(100vh - var(--status-bar-height) - 70rpx - 10rpx);
// background-color: red;
-
}
-
-
.item {
border-radius: 16rpx;
margin: 18rpx 0;
@@ -247,12 +242,12 @@
.type {
width: 108rpx;
height: 46rpx;
- background: #267EFF;
+ background: #267eff;
border-radius: 8rpx;
font-family: PingFangSC;
font-weight: 500;
font-size: 25rpx;
- color: #FFFFFF;
+ color: #ffffff;
text-align: center;
line-height: 46rpx;
}
@@ -278,7 +273,6 @@
text-align: left;
font-style: normal;
}
-
}
}
@@ -292,11 +286,10 @@
font-style: normal;
margin-top: 20rpx;
}
-
}
- .sticky {}
-
+ .sticky {
+ }
.sheet_table_div_fixed {
position: absolute;
@@ -318,9 +311,9 @@
z-index: 600;
background-color: #fff;
}
-
+
.sheet_swiper {
- height: 230rpx;
+ // max-height: 230rpx;
}
.swiper-dots {
@@ -339,41 +332,40 @@
display: flex;
align-items: center;
justify-content: center;
- border: 2rpx solid #E5E5E5;
+ border: 2rpx solid #e5e5e5;
margin: 20rpx;
}
.current {
background-color: rgba(0, 102, 255, 0.6);
- border-color: #0066FF;
- color: #FFFFFF;
+ border-color: #0066ff;
+ color: #ffffff;
}
.completed {
// 已完成
background-color: rgba(0, 102, 255, 0.1);
- border-color: #0066FF;
- color: #0066FF;
+ border-color: #0066ff;
+ color: #0066ff;
}
.mark,
.completed.mark {
background-color: rgba(232, 181, 49, 0.1);
- color: #E8B531;
- border-color: #E8B531;
+ color: #e8b531;
+ border-color: #e8b531;
}
.current.mark {
// 已完成
background-color: rgba(0, 102, 255, 0.6);
- color: #FFFFFF;
- border-color: #E8B531;
+ color: #ffffff;
+ border-color: #e8b531;
}
}
// 主内容框
.main-div {
-
display: flex;
flex-direction: column;
padding: 34rpx 0 30rpx 0;
@@ -419,13 +411,10 @@
font-style: normal;
}
}
-
-
}
// 信息框
.information-details-div {
-
display: flex;
flex-direction: column;
padding: 34rpx 20rpx 30rpx 48rpx;
@@ -433,15 +422,18 @@
border-radius: 16rpx;
position: relative;
background-color: #fff;
- opacity: .8;
+ opacity: 0.8;
box-shadow: 2rpx -2rpx 2rpx #fff;
- &>.top {
+ & > .top {
display: flex;
justify-content: space-between;
- &>.left {
- &>.top {
+ & > .left {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ & > .top {
font-family: PingFangSC;
font-weight: 700;
font-size: 34rpx;
@@ -451,17 +443,18 @@
font-style: normal;
}
- &>.mid {
+ & > .mid {
font-weight: 700;
font-size: 66rpx;
line-height: 66rpx;
text-align: left;
font-style: normal;
- margin-top: 34rpx;
- margin-bottom: 30rpx;
+ height: 100rpx;
+ // margin-top: 34rpx;
+ // margin-bottom: 30rpx;
}
- &>.bottom {
+ & > .bottom {
display: flex;
align-items: center;
font-family: PingFangSC;
@@ -471,18 +464,21 @@
line-height: 24rpx;
text-align: left;
font-style: normal;
-
}
}
- &>.right {
+ & > .right {
margin-left: 20rpx;
+ .img_div {
+ .img {
+ width: 270rpx;
+ height: 190rpx;
+ }
+ }
}
-
}
- &>.bottom {
-
+ & > .bottom {
font-family: PingFangSC;
font-weight: 400;
font-size: 26rpx;
@@ -517,7 +513,7 @@
.examination {
display: flex;
align-items: center;
- color: #0066FF;
+ color: #0066ff;
.back-icon {
position: relative;
@@ -538,8 +534,8 @@
left: 25%;
width: 40%;
height: 40%;
- border-top: 4rpx solid #0066FF;
- border-left: 4rpx solid #0066FF;
+ border-top: 4rpx solid #0066ff;
+ border-left: 4rpx solid #0066ff;
transform: rotate(135deg);
}
}
@@ -547,25 +543,23 @@
}
.loading-pass {
- color: #0066FF;
+ color: #0066ff;
font-family: DINAlternate, DINAlternate;
font-weight: bold;
font-size: 65rpx;
- color: #0066FF;
- letter-spacing: 12rpx
+ color: #0066ff;
+ letter-spacing: 12rpx;
}
.no-pass {
- color: #D70C18;
+ color: #d70c18;
}
.pass {
- color: #0066FF;
+ color: #0066ff;
}
}
-
-
.nav-div {
position: relative;
@@ -611,15 +605,14 @@
transform: rotate(-45deg);
}
}
-
}
.main_div {
display: flex;
flex-direction: column;
- background-color: #F0F5F9;
+ background-color: #f0f5f9;
/* 添加30度角的斜向上渐变,高度限制为400px */
- background-image: linear-gradient(30deg, #F0F5F9, #EBF1FF);
+ background-image: linear-gradient(30deg, #f0f5f9, #ebf1ff);
/* 渐变背景高度400px,宽度充满容器 */
background-size: 100% 600rpx;
/* 防止渐变背景重复 */
@@ -629,4 +622,4 @@
overflow: hidden;
position: relative;
}
-
\ No newline at end of file
+
diff --git a/src/pages/learningTasks/components/list-item.vue b/src/pages/learningTasks/components/list-item.vue
index 190d99dc..b5b49f9e 100644
--- a/src/pages/learningTasks/components/list-item.vue
+++ b/src/pages/learningTasks/components/list-item.vue
@@ -1,10 +1,10 @@
-
+
- 未完成
+ 进行中
已完成
@@ -22,7 +22,7 @@
进度:
- {{ item.sumCrs ?? 0 }}/{{ item.sumCrs ?? 0 }}门课程
+ {{ item.finishCrs ?? 0 }}/{{ item.sumCrs ?? 0 }}门课程
@@ -38,6 +38,10 @@
const total = ref(-1);
const page = ref(0);
const data_list = reactive([]);
+ import {
+ setPageCache
+ } from '@/common/common';
+ import common from '@/common/common';
import { ref, reactive, onMounted, nextTick } from 'vue';
import { queryAllTraTaskInfoByUserId } from '@/api/learningTasks.js';
@@ -89,6 +93,12 @@
if (isFinish === '01') return 'completed';
return 'expired';
};
+
+ // 跳转到详情
+ const click_item = (item) => {
+ setPageCache('learning_tasks_details', item)
+ common.navigateTo('/pages/learningTasks/details');
+ }
const scrolltolower = (item) => {
getData();
};
diff --git a/src/pages/learningTasks/details.vue b/src/pages/learningTasks/details.vue
index 011e283c..587bab39 100644
--- a/src/pages/learningTasks/details.vue
+++ b/src/pages/learningTasks/details.vue
@@ -14,16 +14,18 @@
- JBank银行服诉旦撒大银行服诉旦撒大1233333213银行服诉旦撒大银行服诉旦撒大银行服诉旦撒大
+ {{ detailData.taskName }}
起止时间:
- 2025-05-13至2025-05-13
+
+ {{ detailData.startTm?.substr(0, 10) }}至{{ detailData.endTm?.substr(0, 10) }}
+
-
+
完成人数:
- 34/125
+ {{ detailData.taskFinishSums ?? 0 }}/{{ detailData.taskSums ?? 0 }}
进度:
- 2/4门课程
+ {{ detailData.finishCrs ?? 0 }}/{{ detailData.sumCrs ?? 0 }}门课程
@@ -60,20 +62,35 @@
:show-scrollbar="false"
@scrolltolower="scrolltolower"
>
-
+
- 已结束
+
+ 进行中
+ 已完成
+ 未解锁
+
- 中国银行业的监管机构有哪些中国银行业的监管机构有哪些中国银行业的监管机构有哪些中国银行业的监管机构有哪些中国银行业的监管机构有哪些
+
+ {{item.crsName}}
+
-
- 完成练习
+
+
+ 暂无通过条件,可自动解锁
+
+
+
+ 完成练习
+
+
通过考试
+
+
@@ -85,44 +102,56 @@
@@ -250,15 +283,15 @@
}
}
.scroll-div {
- background: linear-gradient( 180deg, #EBF2FE 0%, #F3F7FE 6%, #F9FBFF 12%, #F4F6F8 100%);
-
+ background: linear-gradient(180deg, #ebf2fe 0%, #f3f7fe 6%, #f9fbff 12%, #f4f6f8 100%);
+
// background: linear-gradient(180deg, #ebf2fe 0%, #f3f7fe 6%, #fafbfc 12%, #fafbfc 100%);
border-radius: 16rpx;
margin-top: -20rpx;
z-index: 2;
- box-shadow: 0 0 10rpx #F9FBFF;
-
- border: 2rpx solid #F9F9FA;
+ box-shadow: 0 0 10rpx #f9fbff;
+
+ border: 2rpx solid #f9f9fa;
margin: 0 auto;
width: calc(100% - 52rpx);
}
@@ -327,13 +360,13 @@
.right {
overflow: hidden;
margin-left: 24rpx;
+ width: 100%;
.title_div {
display: flex;
justify-content: space-between;
flex: 1;
-
+
.title {
-
font-family: PingFangSC;
font-weight: 600;
color: #000000;
@@ -359,21 +392,20 @@
height: 54rpx;
display: flex;
align-items: center;
-
-
+
.num-item {
display: flex;
align-items: center;
font-size: 30rpx;
color: #666666;
-
+
.collect-icon {
width: 36rpx;
height: 36rpx;
}
}
}
-
+
.num_div {
font-family: PingFangSC;
font-weight: 400;
diff --git a/src/pages/learningTasks/index.vue b/src/pages/learningTasks/index.vue
index ccd8f4b5..db0e1675 100644
--- a/src/pages/learningTasks/index.vue
+++ b/src/pages/learningTasks/index.vue
@@ -44,7 +44,6 @@
\ No newline at end of file
+
diff --git a/src/pages/wrongQuestionRecord/components/radio-subject.vue b/src/pages/wrongQuestionRecord/components/radio-subject.vue
deleted file mode 100644
index fbc7eb26..00000000
--- a/src/pages/wrongQuestionRecord/components/radio-subject.vue
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
- A.这里是选项 A 的内容
-
-
-
-
-
- B.这里是选项 B 的内容
-
-
-
-
-
- C.这里是选项 C 的内容
-
-
-
-
- D.这里是选项D的内容
-
-
-
-
-
- 正确答案:ABC
-
-
-
- 你的答案:AB
-
-
-
- 题目解析:属于商业银行风险管理“三道防线的是A部门,B部门和C部门银行风险管理“三道防线的是A部门,B部,银行风险管理“三道防线的是A部门,B部银行风险管理“三道防线的是A部门,B部
-
-
-
-
-
-
-
-
\ No newline at end of file