examtest_mp/pages/cuoti/index.js

194 lines
4.3 KiB
JavaScript

// pages/lianxi/main.js
const api = require("../../utils/request.js");
var util = require('../../utils/util.js')
Page({
/**
* 页面的初始数据
*/
data: {
ctms: [],
tm_index: 0,
isright:false,
answerP:false,
tmtotal:0,
moShi:'看题模式',
isTest:true,
domain:getApp().globalData.mediahost,
},
radioChange: function (e) {
var that = this
that.data.currentTm['user_answer'] = e.detail.value
that.data.ctms[that.data.tm_index] = that.data.currentTm
that.showAnswer()
},
checkboxChange: function (e) {
var that = this
that.data.currentTm['user_answer'] = e.detail.value
that.data.ctms[that.data.tm_index] = that.data.currentTm
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function () {
var that = this
try {
var value = wx.getStorageSync('ctms')
if (value) {
that.data.ctms = value
that.setData({
tmtotal: value.length
})
}
} catch (e) { }
try {
const res = wx.getSystemInfoSync()
that.setData({
scrollHeight: res.windowHeight - 70
})
} catch (e) {
}
if (that.data.tmtotal== 0) {
wx.showModal({
title: '提示',
content: '无错题记录!',
confirmText:'返回',
cancelText:'前去练习',
success: function (res) {
if (res.confirm) {
wx.navigateBack({
})
}else{
wx.redirectTo({
url: '/pages/lianxi/index',
})
}
}
})
}else{
that.showTm(that.data.tm_index)
}
},
onUnload: function () {
try {
wx.setStorageSync('ctms', this.data.ctms)
} catch (e) { }
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
showTm: function (index) {
var that = this
var currentTm = that.data.ctms[index]
that.setData({
'tm_index': index,
'tmtotal':that.data.ctms.length,
'currentTm': currentTm
})
that.showOptions()
if (currentTm.user_answer && !that.data.isTest) {
that.showAnswer()
}
},
panTi: function () {
var that = this
let currentTm = that.data.currentTm
let isright = false
if (currentTm.type == '多选') {
if (currentTm.user_answer) {
if (currentTm.user_answer.sort().toString() == currentTm.right.sort().toString()) {
isright = true
}
}
} else {
isright = currentTm.right == currentTm.user_answer
}
return isright
},
showAnswer: function () {
let isright = this.panTi()
this.setData({
isright: isright,
answerP: true,
currentTm: this.data.currentTm
})
},
changeM: function () {
var that = this;
if(that.data.isTest){
that.setData({
isTest:false,
})
that.showOptions()
}else{
that.setData({
isTest:true,
answerP:false
})
}
},
next: function () {
var that = this
var tm_index = that.data.tm_index + 1
that.showTm(tm_index)
that.setData({
answerP:false
})
},
previous: function () {
var that = this
var tm_index = that.data.tm_index - 1
that.showTm(tm_index)
that.setData({
answerP:false
})
},
showOptions: function () {
let currentTm = this.data.currentTm
let options = []
for (let key in currentTm.options) {
let option = {}
option.key = key
option.value = '<p>' + currentTm.options[key].toString() + '</p>'
if (currentTm.user_answer && this.data.moShi == '看题模式') {
if (key == currentTm.user_answer || currentTm.user_answer.indexOf(key) != -1) {
option.checked = true
}
} else {
option.checked = false
}
options.push(option)
}
this.setData({
options: options
})
},
remove: function () {
var that = this
var index = that.data.tm_index
that.data.ctms.splice(index,1)
if(that.data.ctms.length>index){
that.showTm(index)
} else if (that.data.ctms.length > 0 && index > 1){
that.showTm(index-1)
}
else{
wx.navigateBack({
})
}
}
})