diff --git a/.env.development b/.env.development
index af51f93e..5c9bc531 100644
--- a/.env.development
+++ b/.env.development
@@ -23,7 +23,8 @@ VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7001'
# VITE_APP_BASE_H5_API_Url = 'http://25.64.16.130:9602'
# 线上
-VITE_APP_BASE_H5_API_Url = 'https://aitstest.jlbank.com.cn:7001'
+# VITE_APP_BASE_H5_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.140:9602'
-VITE_APP_BASE_H5_API_Url_TRASTUDY = 'http://25.64.16.130:9602'
+#VITE_APP_BASE_H5_API_Url_TRAAPP = 'http://25.64.16.130:9601'
+#VITE_APP_BASE_H5_API_Url_TRASTUDY = 'http://25.64.16.138:9602'
diff --git a/certificate/ios/jiaixuedev.mobileprovision b/certificate/ios/jiaixuedev.mobileprovision
index e3cc651a..f72974ab 100644
Binary files a/certificate/ios/jiaixuedev.mobileprovision and b/certificate/ios/jiaixuedev.mobileprovision differ
diff --git a/package.json b/package.json
index 55dffad4..dbc667a0 100644
--- a/package.json
+++ b/package.json
@@ -8,6 +8,7 @@
"dev:h5:uat": "uni -p h5 --mode uat",
"dev:h5:production": "uni -p h5 --mode production",
"build:app-plus:dev": "uni build -p app-plus --mode development",
+ "build:app-plus:develop": "uni build -p app-plus --mode development",
"build:app-plus:sit": "uni build -p app-plus --mode sit",
"build:app-plus:uat": "uni build -p app-plus --mode uat",
"build:app-plus:prod": "uni build -p app-plus",
diff --git a/src/App.vue b/src/App.vue
index dce6f91d..47a12d48 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -53,7 +53,7 @@
.pt-8 {
padding-top: 8rpx;
}
- .mb- {
+ .mb-10 {
margin-bottom: 10rpx;
}
.mb-18 {
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 b759e79b..2a9bf5d9 100644
--- a/src/common/imgSvg.ts
+++ b/src/common/imgSvg.ts
@@ -32,3 +32,28 @@ export const feedbackIcon = () : string => {
`.trim();
return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`;
};
+
+// 通过考试
+export const passTheExamIcon = (color: string) : string => {
+ const svgXml = `
+
+`.trim();
+ return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`;
+};
+
+// 完成练习
+export const completeTheExercisesIcon = (color: string) : string => {
+ const svgXml = `
+
+`.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,22 @@
required: false,
},
my_answer: {
- type: Array,
- required: true,
- },
- backend_answer: {
- type: Array,
- required: true,
- },
+ type: Array,
+ default: () => []
+ }
});
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;
+ 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 +60,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..2aaeddf3 100644
--- a/src/components/examination/radio-subject.vue
+++ b/src/components/examination/radio-subject.vue
@@ -24,10 +24,10 @@
+ :analysisVo="analysisVo" :my_answer="props.item.my_answer" :mode="props.mode">
-
+
确定
@@ -65,6 +65,11 @@
mode: {
type: String,
required: true,
+ },
+ // 是否预览模式
+ isPreview:{
+ type: Boolean,
+ default: false
}
});
@@ -81,8 +86,6 @@
qnsTyp: '',
itemVos: props.item.itemVos.map(res => ({
...res,
- // 选择状态, 'info表示未选' , primary 表示蓝色, sunccess 表示绿色, error 表示红色
- select_status: 'info'
})),
})
Object.assign(subject_data, {
@@ -90,27 +93,30 @@
qnsContent: props.item.qnsContent,
qnsTyp: props.item.qnsTyp,
})
-
+ const item_answer = ref(props.item?.my_answer.split(','))
// 题类型
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);
+ // 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
+ // props.item.my_answer[0] = analysisVo.itemId
muCheckbox()
} else if (props.item.qnsTyp === 'MU') { // 多选题
// 多选直接插入
- props.item.my_answer.push(analysisVo.itemId)
+ // props.item.my_answer.push(analysisVo.itemId)
} else if (props.item.qnsTyp === 'JD') { // 判断题
// 判断插入,并且移除其他
- props.item.my_answer = [analysisVo.itemId]
+ // props.item.my_answer = [analysisVo.itemId]
muCheckbox()
}
+
}
+
const muCheckbox = () => {
emit('subject_click', 'answer', {
qnsTyp: props.item.qnsTyp,
diff --git a/src/components/examination/subject.vue b/src/components/examination/subject.vue
new file mode 100644
index 00000000..68ee2a94
--- /dev/null
+++ b/src/components/examination/subject.vue
@@ -0,0 +1,303 @@
+
+
+
+ {{ subject_type_text }}
+ {{ item.tgtGrade }}分
+
+
+
+
+
+
+
+
+ 展开
+
+
+
+
+
+ {{ subject_data.qnsContent }}
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+ 正确答案:{{ correctResultLabel.join('') }}
+
+ 你的答案:
+ {{ myResultLabel.join('') }}
+
+
+ 题目解析:{{ subject_data?.analyContent }}
+
+
+
+
+
+
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/nav-bar/nav-bar.vue b/src/components/nav-bar/nav-bar.vue
index 8fd5ca5f..dd29ac32 100644
--- a/src/components/nav-bar/nav-bar.vue
+++ b/src/components/nav-bar/nav-bar.vue
@@ -1,13 +1,11 @@
-
+
+
+
+
+
+
diff --git a/src/pages.json b/src/pages.json
index bd277d37..0a5b0b96 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -182,7 +182,7 @@
}
},
{
- "path": "pages/wrong_question_record/index",
+ "path": "pages/wrongQuestionRecord/index",
"style": {
"navigationBarTitleText": "错题本",
"app-plus": {
diff --git a/src/pages/course/components/talkingItem.vue b/src/pages/course/components/talkingItem.vue
index 7b7b6e08..4b23e9f1 100644
--- a/src/pages/course/components/talkingItem.vue
+++ b/src/pages/course/components/talkingItem.vue
@@ -1,6 +1,17 @@
-
+
-
+
+
@@ -10,12 +21,16 @@
{{teacherInfo?.teacherDesc}}
+
-
+
+
+
+
{{ showContent }}
@@ -23,25 +38,38 @@
{{ showContent }}
-
+
+
+
+
+
+
-
+
+
举例:{{ dataInfo.knoExampie }}
-
+
+
-
+
+
重新学
@@ -66,7 +94,7 @@
重新答
@@ -74,7 +102,7 @@
继续学
@@ -83,6 +111,7 @@
继续
+
{{ changeBr(dataInfo.suggestContent || '--') }}
@@ -90,6 +119,7 @@
+
@@ -108,6 +138,7 @@
+
@@ -200,7 +231,8 @@ import { getUserInfo } from '@/common/common';
import { useStorageStore } from "@/store/storage.js"
import { onUnload } from '@dcloudio/uni-app'
-import RadioSubject from '@/components/examination/radio-subject.vue'
+import Subject from '@/components/examination/subject.vue'
+// import RadioSubjectRequest from '@/pages/wrong_question_record/components/radio-subject.vue'
const storageStore = useStorageStore()
const audioCacheObj = computed(() => storageStore.audioObj)
@@ -258,7 +290,13 @@ const audioCacheObj = computed(() => storageStore.audioObj)
talkVoiceObj.value.playbackRate = Number(props.voiceRate)
const userInfo = computed(() => getUserInfo())
const itemVoice = ref('')
-
+ const subjectInfo = computed(()=>{
+ return {
+ ...dataInfo.value,
+ ...(dataInfo.value?.traQnsInfoVo||{}),
+ my_answer: dataInfo.value?.traQnsInfoVo?.anserResult||''
+ }
+ })
const mode = ref('study') // 考试 examination 练习practice 学习study
const showWithdraw = computed(()=>{
@@ -323,7 +361,6 @@ const audioCacheObj = computed(() => storageStore.audioObj)
const voiceTime = ref('')
const itemInfo = ref({})
onMounted(()=>{
- console.log()
initVoice()
})
onUnload(()=>{
@@ -378,7 +415,6 @@ const audioCacheObj = computed(() => storageStore.audioObj)
voiceLoading.value = true
let _type = props.type == 2 ? 'ans' : props.type == 3 ? 'pgrh' : props.type == 4 ? 'qns' : ''
let _readId = props.type == 2 ? unref(dataInfo)?.intrctId : props.type == 3 ? unref(dataInfo)?.pgrphId : props.type == 4 ? unref(dataInfo)?.qnsId : ''
- console.log(unref(dataInfo))
let _params = {
crsId: unref(dataInfo)?.crsId || '',
pgrphId: unref(dataInfo)?.pgrphId || '',
@@ -427,7 +463,6 @@ const audioCacheObj = computed(() => storageStore.audioObj)
success: cb,
file: ()=>{
voiceLoading.value = false
- console.log('文件保存失败!')
}
})
}
@@ -486,7 +521,7 @@ const audioCacheObj = computed(() => storageStore.audioObj)
return showNextBtn.value && [3, 6].indexOf(props.type) >= 0 && isLast.value // && !isPlaying.value
})
const goOnGetQues = () => {
- if(props.type === 5){
+ if([5,8].indexOf(props.type) >= 0){
// 完成问题
emit('nextQuestion', unref(dataInfo))
}else if(props.type === 3){
@@ -503,7 +538,6 @@ const audioCacheObj = computed(() => storageStore.audioObj)
}
// 撤回
const withdraw = () => {
- console.log(unref(dataInfo))
emit('withdraw', unref(dataInfo))
}
// 完成
@@ -511,9 +545,12 @@ const audioCacheObj = computed(() => storageStore.audioObj)
emit('finishQuestion',data)
}
// 答题 选择
- const subject_click = (type,data) => {
- if(type === 'answer'){
- emit('answerQuestion', data)
+ const subject_click = (type, data) => {
+ if(['answer', 'choose'].includes(type)){
+ emit('answerQuestion', {
+ ...data,
+ ...unref(dataInfo)
+ })
}
}
diff --git a/src/pages/course/study.vue b/src/pages/course/study.vue
index fe4a82ed..93611c61 100644
--- a/src/pages/course/study.vue
+++ b/src/pages/course/study.vue
@@ -8,33 +8,40 @@
-
+
语言选择,开启学习之旅
-
+
-
+
+
{{item.teacherName}}
描述:{{item.voiceDesc || '--'}}
-
-
+
+
+
-
-
+
+
-
+
-
- 开启学习之旅
-
+
+
+ 开启学习之旅
@@ -45,53 +52,27 @@
-
+
课程学习
{{ showOrder }} / {{ pgrphNum }}
-
-
-
-
-
+
+
+
+
+
-
+
@@ -99,11 +80,8 @@
倍速
- {{item}}
+
+ {{item}}
@@ -117,12 +95,14 @@
音色
-
+
-
+
{{item.teacherName}}
-
+
@@ -134,363 +114,388 @@
+
\ No newline at end of file
diff --git a/src/pages/courseDetail/index.vue b/src/pages/courseDetail/index.vue
index 4923ee0c..133a1c24 100644
--- a/src/pages/courseDetail/index.vue
+++ b/src/pages/courseDetail/index.vue
@@ -32,7 +32,7 @@
已学
{{ form.styParaGraphNum || 0 }}
-
+
发布评价
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/examRanking/index.vue b/src/pages/examRanking/index.vue
index 8183fd03..1a8e5f36 100644
--- a/src/pages/examRanking/index.vue
+++ b/src/pages/examRanking/index.vue
@@ -1,6 +1,61 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ 吾日三省吾身,传不习乎?
+
+
+
+
+
+
+
+
+ {{index + 1}}
+
+
+
+
+
+ {{'李想'}}
+ {{'吉林银行白城分行'}}
+
+ {{100 - index}}
+
+
+
+
+
+
+
+ {{21}}
+
+
+
+
+
+ {{'李想'}}
+ {{'吉林银行白城分行'}}
+
+ {{22}}
+
+
+
@@ -8,15 +63,272 @@
export default {
data() {
return {
-
+
}
},
methods: {
-
+
}
}
-
+ .exam-ranking {
+ position: relative;
+ height: 100vh;
+ width: 100vw;
+ overflow: hidden;
+ box-sizing: border-box;
+ padding-top: $top-height;
+
+ // background:url(@/static/images/examRanking/bg.png) no-repeat top center;
+ .bg-box {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100vw;
+ height: 412rpx;
+ z-index: 1;
+ }
+
+ .ranking-box {
+ height: calc(100% - $top-height);
+ overflow: hidden;
+ position: absolute;
+ top: $top-height;
+ width: 100%;
+ z-index: 2;
+ }
+
+ .nav-div {
+ position: relative;
+ overflow: hidden;
+ height: 70rpx;
+
+ .back_div {
+ margin-right: 10rpx;
+ position: absolute;
+ left: 25rpx;
+ top: 0;
+ padding: 15rpx;
+
+ .back-icon {
+ position: relative;
+ width: 40rpx;
+ height: 40rpx;
+ cursor: pointer;
+ }
+
+ .back-icon::before,
+ .back-icon::after {
+ content: '';
+ position: absolute;
+ transition: all 0.3s ease;
+ }
+
+ .back-icon::after {
+ top: 25%;
+ left: 25%;
+ width: 40%;
+ height: 40%;
+ border-top: 4rpx solid #000;
+ border-left: 4rpx solid #000;
+ transform: rotate(-45deg);
+ }
+ }
+ }
+
+ .title-view {
+ height: 180rpx;
+ position: relative;
+ padding-left: 79rpx;
+ padding-top: 20rpx;
+
+ .cup-image {
+ position: absolute;
+ right: 90rpx;
+ bottom: 0;
+ width: 178rpx;
+ height: 159rpx;
+ }
+
+ .title-desc {
+ color: #666;
+ line-height: 34rpx;
+ font-size: 25rpx;
+ }
+
+ .title-image {
+ width: 308rpx;
+ height: 88rpx;
+ }
+ }
+
+ .ranking-body {
+ height: calc(100% - 170rpx - 180rpx - 70rpx);
+ overflow: hidden;
+ background-color: #fff;
+ border-radius: 31rpx 31rpx 0 0;
+ padding-top: 20rpx;
+ box-sizing: border-box;
+ .scroll-items-view{
+ height: calc(100% - 54rpx);
+ }
+ }
+
+ .list-item {
+ height: 108rpx;
+ border-bottom: 2rpx solid #efefef;
+ overflow: hidden;
+
+ &.list-header {
+ height: 54rpx;
+ line-height: 54rpx;
+ color: #999;
+ font-size: 25rpx;
+ border-bottom: 0;
+ .rank-column {
+ height: 54rpx;
+ line-height: 54rpx;
+ color: #999;
+ font-weight: normal;
+ font-size: 25rpx;
+ font-style: initial;
+ text-indent: 0;
+ }
+ .user-column {
+ padding: 0;
+ }
+ .score-column {
+ line-height: 54rpx;
+ color: #999;
+ font-weight: normal;
+ font-size: 25rpx;
+ }
+ }
+
+ &.item-1 {
+ border-bottom: 0;
+ margin-bottom: 8rpx;
+ background: linear-gradient(90deg, #fbf9f5 0%, #fffffd 100%);
+ .rank-column{
+ color: #ffffff00;
+ background: url(@/static/images/examRanking/no-1.png) no-repeat ;
+ background-position: 40rpx center;
+ background-size: 44rpx 66rpx;
+ text-indent: 8rpx;
+ }
+ }
+
+ &.item-2 {
+ border-bottom: 0;
+ margin-bottom: 8rpx;
+ background: linear-gradient(90deg, #f4f8f9 0%, #f7fbfe 100%);
+ .rank-column{
+ color: #ffffff00;
+ background: url(@/static/images/examRanking/no-2.png) no-repeat ;
+ background-position: 40rpx center;
+ background-size: 44rpx 66rpx;
+ text-indent: 8rpx;
+ }
+ }
+
+ &.item-3 {
+ border-bottom: 0;
+ margin-bottom: 8rpx;
+ background: linear-gradient(90deg, #faf6f5 0%, #fcfbfc 100%);
+ .rank-column{
+ color: #ffffff00;
+ background: url(@/static/images/examRanking/no-3.png) no-repeat ;
+ background-position: 40rpx center;
+ background-size: 44rpx 66rpx;
+ text-indent: 8rpx;
+ }
+ }
+
+ &.item-me{
+ border-bottom: 0;
+ .rank-column {
+ color: #06f;
+ }
+ }
+
+ .rank-column {
+ width: 170rpx;
+ padding-left: 40rpx;
+ float: left;
+ font-weight: 600;
+ line-height: 92rpx;
+ height: 108rpx;
+ color: #333;
+ font-size: 38rpx;
+ font-style: italic;
+ text-indent: 8rpx;
+ }
+
+ .user-column {
+ width: 450rpx;
+ float: left;
+ padding: 15rpx 0;
+
+ .avatar-box{
+ width: 77rpx;
+ height: 77rpx;
+ overflow: hidden;
+ float: left;
+ background-color: #eee;
+ border-radius: 50%;
+ .avatar-image{
+ width: 77rpx;
+ height: 77rpx;
+ }
+ }
+ .user-name{
+ float: left;
+ width: calc(100% - 77rpx);
+ padding-left: 18rpx;
+ padding-right: 18rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ height: 40rpx;
+ line-height: 40rpx;
+ font-size: 29rpx;
+ color: #000;
+ font-weight: 500;
+ }
+ .user-org{
+ float: left;
+ width: calc(100% - 77rpx);
+ padding-left: 18rpx;
+ padding-right: 18rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ height: 34rpx;
+ line-height: 34rpx;
+ font-size: 25rpx;
+ color: #999;
+ }
+ }
+
+ .score-column {
+ width: 75rpx;
+ text-align: right;
+ float: left;
+ font-weight: 600;
+ line-height: 108rpx;
+ color: #333;
+ font-size: 31rpx;
+ }
+ }
+ .ranking-self {
+ height: 170rpx;
+ overflow: hidden;
+ background-color: #f5f9ff;
+ padding-top: 4rpx;
+ }
+ }
+
\ No newline at end of file
diff --git a/src/pages/examination/index.vue b/src/pages/examination/index.vue
index 9f4760af..f0da6b7e 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 079497bf..0c9a0bf9 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,42 @@
-
-
+
-
-
+
-
- 你的等待会有更精确的结果,要耐心哦~
-
+ 你的等待会有更精确的结果,要耐心哦~
-
-
-
-
-
-
- 单选题
-
-
- 5分
-
-
-
-
-
-
-
- 属于商业银行风险管理“三道防线”的哪些风险管理部门,为什么?
-
-
-
-
+
+
-
@@ -223,15 +207,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 +227,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 +258,6 @@
text-align: left;
font-style: normal;
}
-
}
}
@@ -292,11 +271,10 @@
font-style: normal;
margin-top: 20rpx;
}
-
}
- .sticky {}
-
+ .sticky {
+ }
.sheet_table_div_fixed {
position: absolute;
@@ -318,9 +296,9 @@
z-index: 600;
background-color: #fff;
}
-
+
.sheet_swiper {
- height: 230rpx;
+ // max-height: 230rpx;
}
.swiper-dots {
@@ -339,41 +317,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 +396,10 @@
font-style: normal;
}
}
-
-
}
// 信息框
.information-details-div {
-
display: flex;
flex-direction: column;
padding: 34rpx 20rpx 30rpx 48rpx;
@@ -433,15 +407,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 +428,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 +449,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 +498,7 @@
.examination {
display: flex;
align-items: center;
- color: #0066FF;
+ color: #0066ff;
.back-icon {
position: relative;
@@ -538,8 +519,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 +528,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 +590,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 +607,4 @@
overflow: hidden;
position: relative;
}
-
\ No newline at end of file
+
diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
index b9791af6..94f5ca1e 100644
--- a/src/pages/index/index.vue
+++ b/src/pages/index/index.vue
@@ -107,7 +107,7 @@
竞赛练习
-
+
错题本
diff --git a/src/pages/learningTasks/components/list-item.vue b/src/pages/learningTasks/components/list-item.vue
index d69875de..f1d07fc0 100644
--- a/src/pages/learningTasks/components/list-item.vue
+++ b/src/pages/learningTasks/components/list-item.vue
@@ -1,125 +1,125 @@
-
-
+
+
-
- 进行中
-
-
- 已完成
-
-
- 已超时
-
+ 未完成
+ 已完成
- {{item.taskName}}
+ {{ item.taskName }}
-
- 起止时间:{{item.startTm?.substr(0, 10)}}至{{item.endTm?.substr(0, 10)}}
+
+ 起止时间:
+ {{ item.startTm?.substr(0, 10) }}至{{ item.endTm?.substr(0, 10) }}
- 完成人数:{{item.taskFinishSums ?? 0}}/{{item.taskSums ?? 0}}
+ 完成人数:
+ {{ item.taskFinishSums ?? 0 }}/{{ item.taskSums ?? 0 }}
- 进度:{{item.sumCrs ?? 0}}/{{item.sumCrs ?? 0}}门课程
+ 进度:
+ {{ item.finishCrs ?? 0 }}/{{ item.sumCrs ?? 0 }}门课程
-
+
\ No newline at end of file
+
diff --git a/src/pages/learningTasks/details.vue b/src/pages/learningTasks/details.vue
index 792a96f0..0675ef69 100644
--- a/src/pages/learningTasks/details.vue
+++ b/src/pages/learningTasks/details.vue
@@ -1,6 +1,6 @@
-
+
@@ -8,92 +8,316 @@
任务详情
- 未完成
- 已完成
- JBank银行服诉旦撒大银行服诉旦撒大银行服诉旦撒大银行服诉旦撒大银行服诉旦撒大银行服诉旦撒大
+ {{ 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 }}门课程
-
+
+
+
+ 试卷信息
+
+
+
+
+
+
+
+
+
+ 进行中
+ 已完成
+ 未解锁
+
+
+
+ {{ item.crsName }}
+
+
+
+
+ 暂无通过条件,可自动解锁
+
+
+
+ 完成练习
+
+
+
+ 通过考试
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/wrong_question_record/index.vue b/src/pages/wrongQuestionRecord/index.vue
similarity index 63%
rename from src/pages/wrong_question_record/index.vue
rename to src/pages/wrongQuestionRecord/index.vue
index 74fe2eb7..95fdaae5 100644
--- a/src/pages/wrong_question_record/index.vue
+++ b/src/pages/wrongQuestionRecord/index.vue
@@ -9,11 +9,17 @@
-
+
@@ -26,43 +32,47 @@
+
+
+
+
+
\ No newline at end of file
+
diff --git a/src/pages/wrong_question_record/components/favorites-course.vue b/src/pages/wrong_question_record/components/favorites-course.vue
deleted file mode 100644
index f02e3e44..00000000
--- a/src/pages/wrong_question_record/components/favorites-course.vue
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
-
- 单选题
-
-
- 5分
-
-
-
-
-
-
- 展开
-
-
-
-
-
- 属于商业银行风险管理“三道防线”的哪些风险管理部门,为什么?
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/pages/wrong_question_record/components/radio-subject.vue b/src/pages/wrong_question_record/components/radio-subject.vue
deleted file mode 100644
index fbc7eb26..00000000
--- a/src/pages/wrong_question_record/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
diff --git a/src/pagesA.json b/src/pagesA.json
index 3b7ce420..15fc7fe1 100644
--- a/src/pagesA.json
+++ b/src/pagesA.json
@@ -118,7 +118,7 @@
}
},
{
- "path": "pages/wrong_question_record/index",
+ "path": "pages/wrongQuestionRecord/index",
"style": {
"navigationBarTitleText": "错题本",
"app-plus": {
diff --git a/src/static/images/examRanking/bg.png b/src/static/images/examRanking/bg.png
new file mode 100644
index 00000000..a6e313c3
Binary files /dev/null and b/src/static/images/examRanking/bg.png differ
diff --git a/src/static/images/examRanking/cup.png b/src/static/images/examRanking/cup.png
new file mode 100644
index 00000000..acf36b85
Binary files /dev/null and b/src/static/images/examRanking/cup.png differ
diff --git a/src/static/images/examRanking/no-1.png b/src/static/images/examRanking/no-1.png
new file mode 100644
index 00000000..9896fd58
Binary files /dev/null and b/src/static/images/examRanking/no-1.png differ
diff --git a/src/static/images/examRanking/no-2.png b/src/static/images/examRanking/no-2.png
new file mode 100644
index 00000000..711edf2f
Binary files /dev/null and b/src/static/images/examRanking/no-2.png differ
diff --git a/src/static/images/examRanking/no-3.png b/src/static/images/examRanking/no-3.png
new file mode 100644
index 00000000..11871aa0
Binary files /dev/null and b/src/static/images/examRanking/no-3.png differ
diff --git a/src/static/images/examRanking/no1.png b/src/static/images/examRanking/no1.png
new file mode 100644
index 00000000..3e6e3f52
Binary files /dev/null and b/src/static/images/examRanking/no1.png differ
diff --git a/src/static/images/examRanking/no2.png b/src/static/images/examRanking/no2.png
new file mode 100644
index 00000000..d97f0d0b
Binary files /dev/null and b/src/static/images/examRanking/no2.png differ
diff --git a/src/static/images/examRanking/no3.png b/src/static/images/examRanking/no3.png
new file mode 100644
index 00000000..d3fa9493
Binary files /dev/null and b/src/static/images/examRanking/no3.png differ
diff --git a/src/static/images/examRanking/title.png b/src/static/images/examRanking/title.png
new file mode 100644
index 00000000..0f70b9be
Binary files /dev/null and b/src/static/images/examRanking/title.png differ