parent
f8967fd65f
commit
e620d7248b
After Width: | Height: | Size: 5.0 KiB |
@ -0,0 +1,110 @@
|
||||
// pages/course_join/course_invite.js
|
||||
const app = getApp();
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
|
||||
join_course: function(event) {
|
||||
const { invite_code, identities } = this.data;
|
||||
let data = { invite_code: invite_code, student: 1};
|
||||
console.log(data);
|
||||
console.log({ ...data });
|
||||
app.client.join_course({ ...data })
|
||||
.then(res => {
|
||||
if (res.data.status == 401) {
|
||||
wx.showToast({
|
||||
title: "请先登陆",
|
||||
icon: "none"
|
||||
});
|
||||
wx.navigateTo({
|
||||
url: '../login/login',
|
||||
})
|
||||
return;
|
||||
}
|
||||
console.log(res);
|
||||
wx.showToast({
|
||||
title: res.data.message
|
||||
})
|
||||
wx.navigateTo({
|
||||
url: "../course/course?course_id=" + res.data.course_id
|
||||
});
|
||||
})
|
||||
.catch(error => {
|
||||
wx.showToast({
|
||||
title: error.toString(),
|
||||
icon: "none"
|
||||
});
|
||||
console.warn(error);
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
console.log(options);
|
||||
this.invite_code = options.invite_code;
|
||||
this.deadline = options.deadline;
|
||||
this.inviter = options.inviter;
|
||||
this.course_name = options.course_name;
|
||||
this.setData(options);
|
||||
let current_time = new Date().getTime();
|
||||
this.setData({current_time: current_time});
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function () {
|
||||
|
||||
}
|
||||
})
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
<view class="container">
|
||||
<view class="course_info" style="text-align: center;padding: 18px; margin-bottom: 20px;">
|
||||
<image style="border-radius: 50%;overflow: hidden;width: 136rpx;height:136rpx;" src="{{avatar_url}}"></image>
|
||||
<text>\n{{inviter}}\n</text>
|
||||
<text>邀请你加入课程\n</text>
|
||||
<text style="font-size:24px;">{{course_name}}\n</text>
|
||||
</view>
|
||||
<view style="text-align:center;">
|
||||
<button type="primary" wx:if="{{current_time<=deadline}}" bindtap="join_course">加入
|
||||
</button>
|
||||
<view class="error" disabled="{{current_time>deadline}}">该邀请链接已失效</view>
|
||||
</view>
|
||||
</view>
|
@ -0,0 +1 @@
|
||||
/* pages/course_join/course_invite.wxss */
|
@ -0,0 +1,99 @@
|
||||
// pages/exercise_result/exercise_result.js
|
||||
const app = getApp();
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
results: [],
|
||||
page_status: 0,
|
||||
error:""
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
this.exercise_id = options.exercise_id;
|
||||
this.exercise_id = 2996;
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function () {
|
||||
app.client.get_exercise_result({ exercise_id: this.exercise_id })
|
||||
.then(res => {
|
||||
this.setData({ error: "" })
|
||||
console.log(res);
|
||||
if (res.data.commit_results) {
|
||||
let results = res.data.commit_results;
|
||||
for (var result of results) {
|
||||
if (result.ques_type == 4) {
|
||||
for (var detail of result.ques_details) {
|
||||
if (detail.choice_text == 1) detail.choice_text = "满分作答";
|
||||
else if (detail.choice_text == 2) detail.choice_text = "部分得分作答";
|
||||
else if (detail.choice_text == 3) detail.choice_text = "零分作答";
|
||||
else if (detail.choice_text == 4) detail.choice_text = "未批";
|
||||
}
|
||||
}
|
||||
if (result.ques_type == 3) {
|
||||
for (var detail of result.ques_details) {
|
||||
if (detail.choice_text == "wrong") detail.choice_text = "错误答案";
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(results);
|
||||
this.setData({ results, page_status: 1 })
|
||||
}
|
||||
|
||||
})
|
||||
.catch(error => {
|
||||
console.log(error);
|
||||
this.setData({ error: error.message })
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function () {
|
||||
|
||||
}
|
||||
})
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "试卷结果"
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
<view class="container">
|
||||
<view class="error" wx:if="{{page_status==1&&results.length==0}}">
|
||||
结果未公布
|
||||
</view>
|
||||
<view class="error" wx:if="{{error}}">
|
||||
{{error}}
|
||||
</view>
|
||||
<view class="result-list" style="margin:0 -12px;">
|
||||
<block wx:for="{{results}}" wx:for-item="result">
|
||||
<view class="question" style="margin:7px 2px; padding:4px 12px; background:white; border-radius: 10rpx;">
|
||||
<view class="question-title">
|
||||
<text class="hint">第{{result.ques_position}}题</text>
|
||||
<text>{{result.ques_title}}</text>
|
||||
<text class="hint">{{result.effictive_counts||0}}人作答</text>
|
||||
<text class="error">正确率:{{result.right_percent}}%</text>
|
||||
</view>
|
||||
<view wx:if="{{result.ques_type==0 || result.ques_type==1 || result.ques_type==2}}" class="choices">
|
||||
<block wx:for="{{result.ques_details}}" wx:for-item="detail">
|
||||
<view class="choice">
|
||||
<radio checked="{{detail.choice_right_boolean}}" disabled>
|
||||
<text class="choice-text">{{detail.choice_text}}</text>
|
||||
<text class="error">{{detail.choice_users_count}}人</text>
|
||||
</radio>
|
||||
<progress active show-info duration="7" border-radius="2" percent="{{detail.choice_percent*100}}"></progress>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view wx:elif="{{result.ques_type==3 || result.ques_type==4}}" class="choices">
|
||||
<block wx:for="{{result.ques_details}}" wx:for-item="detail">
|
||||
<view class="choice">
|
||||
<text class="choice-text">{{detail.choice_text}}</text>
|
||||
<text class="error">{{detail.choice_users_count}}人</text>
|
||||
<progress active show-info duration="7" border-radius="2" percent="{{detail.choice_percent*100}}"></progress>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view wx:else class="choices">
|
||||
暂不支持此类题目
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
@ -0,0 +1 @@
|
||||
/* pages/exercise_result/exercise_result.wxss */
|
Loading…
Reference in new issue