You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

137 lines
3.1 KiB

const app = getApp()
Page({
allnavData: [
{
text: "全部",
exercise_status: "all",
course_identities: [2, 5, 6]
},
{
text: "未发布",
exercise_status: 1,
course_identities: [2]
},
{
text: '提交中',
exercise_status: 2,
course_identities: [2, 5, 6]
},
{
text: '已截止',
exercise_status: 3,
course_identities: [2, 5, 6]
},
],
data: {
loading: true,
require_login: false,
page_status: 0, // 0=>loading 1=>success 2=>fail
exercises: [],
navData: [
{
text: "全部",
exercise_status: "all",
course_identities: [2, 5, 6]
},
{
text: '提交中',
exercise_status: 2,
course_identities: [2, 5, 6]
},
{
text: '已截止',
exercise_status: 3,
course_identities: [2, 5, 6]
},
],
currentTab: 0,
navScrollLeft: 0
},
pull_courses_info: function(){
app.client.get_user_info()
.then();
/**@todo */
},
pull_exercise: function(){
app.client.search_exercises({ course_id: this.course_id })
.then(res => {
console.log("pull_exercise");
console.log(res);
if(res.data.exercises){
this.setData({exercises: res.data.exercises, loading: false});
}else if(res.data.status==401){
this.setData({require_login: true});
wx.showToast({
title: '请登陆后重试',
icon: "none"
});
}
console.log(this.data)
})
.catch(error=>{
console.error(error);
wx.showToast({
title: error.toString(),
icon: "none",
duration: 5000
})
});
},
see_exercise: function ({ currentTarget: { dataset } }){
wx.navigateTo({
url: '../exercise/exercise?exercise_id=' + dataset.exercise_id,
});
},
enter_exercise: function({currentTarget:{dataset}}){
wx.showModal({
title: '确认',
content: '开始作答吗?',
success: res=>{
if(res.confirm){
wx.navigateTo({
url: '../exercise/exercise?exercise_id='+dataset.exercise_id,
});
}
}
});
},
//事件处理函数
onLoad: function (options) {
this.course_id = options.id;
},
onShow: function(){
this.setData({require_login: false});
this.pull_exercise();
},
switchNav(event) {
var cur = event.currentTarget.dataset.current;
//每个tab选项宽度占1/5
var singleNavWidth = this.data.windowWidth / 3;
//tab选项居中
this.setData({
navScrollLeft: (cur - 1) * singleNavWidth
})
if (this.data.currentTab == cur) {
return false;
} else {
this.setData({
currentTab: cur
})
}
},
switchTab(event) {
var cur = event.detail.current;
var singleNavWidth = this.data.windowWidth / 5;
this.setData({
currentTab: cur,
navScrollLeft: (cur - 1) * singleNavWidth
});
},
onPullDownRefresh: function(){
this.pull_exercise();
},
onShareAppMessage:function(){
}
})