diff --git a/components/kz-question/kz-question.vue b/components/kz-question/kz-question.vue
index c3f11af..528495f 100644
--- a/components/kz-question/kz-question.vue
+++ b/components/kz-question/kz-question.vue
@@ -107,7 +107,8 @@
-
提交
@@ -640,6 +641,8 @@
},
data() {
return {
+ //多选按钮提交按钮
+ DxSubmitShow:true,
// swiper当前下标
swiperIndex: 1,
// 总题数
@@ -930,7 +933,7 @@
// 显示答案和解析
questionItem.show_answer = true
-
+ this.DxSubmitShow=false;
// 计算答题正确性
let isRight = true
let answer_arr = questionItem.answer.split(',')
@@ -964,9 +967,26 @@
}
}
- // 更新选项样式以显示正确答案
+ // 更新选项样式
questionItem.options_json.forEach((optionItem, optionIndex) => {
- questionItem.options_json[optionIndex].classes = questionItem.answer.indexOf(optionItem.key) > -1 ? 'active_true' : (optionItem.click_index ? 'active' : '')
+ const isCorrectAnswer = questionItem.answer.indexOf(optionItem.key) > -1
+ const isUserSelected = optionItem.click_index
+
+ if (isRight) {
+ // 答案完全正确时,显示所有正确答案
+ if (isCorrectAnswer) {
+ questionItem.options_json[optionIndex].classes = 'active_true'
+ } else {
+ questionItem.options_json[optionIndex].classes = ''
+ }
+ } else {
+ // 答案不完全正确时,只显示用户选择的选项为错误
+ if (isUserSelected) {
+ questionItem.options_json[optionIndex].classes = 'active'
+ } else {
+ questionItem.options_json[optionIndex].classes = ''
+ }
+ }
})
// 更新题目数据
@@ -1054,6 +1074,9 @@
// console.log('swiperChange', this.list.length, this.swiperIndex, e.detail.current)
// 当前题标
this.swiperIndex = e.detail.current + 1
+ // 根据当前题目是否已回答来设置多选题提交按钮显示状态
+ let currentItem = this.list[e.detail.current]
+ this.DxSubmitShow = currentItem && !currentItem.show_answer
// 材料题处理
this.showFullMaterialTitle(e.detail.current)
// 填空题处理
@@ -1067,6 +1090,9 @@
prev() {
if (this.swiperIndex > 1) {
this.swiperIndex--
+ // 根据当前题目是否已回答来设置多选题提交按钮显示状态
+ let currentItem = this.list[this.swiperIndex - 1]
+ this.DxSubmitShow = currentItem && !currentItem.show_answer
}
},
// 下一题
@@ -1076,6 +1102,9 @@
// 填空题处理
this.splitFillTitle(this.swiperIndex)
this.swiperIndex++
+ // 根据当前题目是否已回答来设置多选题提交按钮显示状态
+ let currentItem = this.list[this.swiperIndex - 1]
+ this.DxSubmitShow = currentItem && !currentItem.show_answer
} else {
let title = '没有更多题了~'
if (this.mode == 'EXAM') {
@@ -1163,7 +1192,8 @@
// 多选题在未提交时只显示选择状态,不显示正确答案
if (questionItem.show_answer) {
// 已提交,显示正确答案样式
- result = questionItem.answer.indexOf(optionItem.key) > -1 ? 'active_true' : (optionItem.click_index ? 'active' : '')
+ result = questionItem.answer.indexOf(optionItem.key) > -1 ? 'active_true' : (optionItem
+ .click_index ? 'active' : '')
} else {
// 未提交,只显示选择状态
result = optionItem.click_index ? 'active_true' : ''
@@ -1411,29 +1441,49 @@
// 删除错题
wrongDel(showDialog = true) {
// 弹窗提示
- if (showDialog) {
- this.showDeleteDialog = true
- this.wrongDeleteType = 'single'
- return
- }
+ // if (showDialog) {
+ // this.showDeleteDialog = true
+ // this.wrongDeleteType = 'single'
+ // return
+ // }
- this.hideModal()
-
- // 执行删除
- this.http('question/wrongDelete', {
- question_id: this.list[this.swiperIndex - 1].id
- }, 'get').then(res => {
- uni.showToast({
- icon: 'none',
- title: res.msg
- })
-
- if (res.code == 1) {
- setTimeout(() => {
- this.$emit('refresh')
- }, 1200)
+ this.wrongDeleteType = 'single'
+ uni.showModal({
+ title: '提示',
+ content: '确定删除该错题吗?',
+ confirmText: '确定',
+ success: (c) => {
+ if (c.confirm) {
+ // 执行删除
+ this.http('question/wrongDelete', {
+ question_id: this.list[this.swiperIndex - 1].id
+ }, 'get').then(res => {
+ uni.showToast({
+ icon: 'none',
+ title: res.msg
+ })
+ if (res.code == 1) {
+ // 如果是错题页面,需要特殊处理
+ if (this.pageType === 'WRONG') {
+ // 检查是否是最后一题
+ if (this.swiperIndex === this.list.length) {
+ // 如果是最后一题且不是第一题,跳转到前一题
+ if (this.swiperIndex > 1) {
+ this.swiperIndex--
+ }
+ }
+ }
+ this.$emit('refresh')
+ }
+ });
+ }
}
});
+
+
+ //this.hideModal()
+
+
},
// 清空错题
wrongClear(showDialog = true) {
@@ -1510,6 +1560,18 @@
if (res.code == 1) {
this.list[index]['collected'] = false
this.$forceUpdate()
+ console.log(this.pageType);
+ // 如果是收藏页面,需要特殊处理
+ if (this.pageType === 'COLLECT') {
+ // 检查是否是最后一题
+ if (this.swiperIndex === this.list.length) {
+ // 如果是最后一题且不是第一题,跳转到前一题
+ if (this.swiperIndex > 1) {
+ this.swiperIndex--
+ }
+ }
+ }
+
this.$emit('refresh')
}
});
@@ -1790,6 +1852,7 @@
.questions {
height: 100%;
position: relative;
+
.test-header {
width: 100%;
padding: 0 30rpx;
@@ -1838,6 +1901,7 @@
display: flex;
flex-wrap: nowrap;
transition: all 0.5s;
+ padding-bottom: 220rpx;
.swiper-item {
width: 100vw;
@@ -2258,8 +2322,9 @@
}
.fix-bottom {
- bottom: calc(constant(safe-area-inset-bottom) + 30rpx);
- bottom: calc(env(safe-area-inset-bottom) + 30rpx);
+ // bottom: calc(constant(safe-area-inset-bottom));
+ // bottom: calc(env(safe-area-inset-bottom));
+ bottom: 50rpx;
width: 95%;
position: fixed;
margin: 0 auto;
diff --git a/pages/collect/index.vue b/pages/collect/index.vue
index f0e2e47..cbd5e34 100644
--- a/pages/collect/index.vue
+++ b/pages/collect/index.vue
@@ -1,7 +1,7 @@
-
+
暂无数据