180 lines
4.1 KiB
JavaScript
180 lines
4.1 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:false,
|
|
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) { }
|
|
},
|
|
|
|
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,
|
|
})
|
|
}else{
|
|
that.setData({
|
|
isTest:true,
|
|
answerP:false
|
|
})
|
|
}
|
|
debugger;
|
|
that.showOptions()
|
|
},
|
|
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;
|
|
if(currentTm.right==option.key){
|
|
option.right = true;
|
|
}else{
|
|
option.right = false;
|
|
}
|
|
option.checked = false;
|
|
option.value = '<p>' + currentTm.options[key].toString() + '</p>'
|
|
if (!this.data.isTest) {
|
|
if (key == currentTm.user_answer || currentTm.user_answer.indexOf(key) != -1) {
|
|
option.checked = true
|
|
}
|
|
} else {
|
|
option.checked = false
|
|
}
|
|
console.log(option)
|
|
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({
|
|
})
|
|
}
|
|
}
|
|
}) |