|
|
|
const AV = require("../../lib/av-live-query-weapp-min")
|
|
|
|
const Presence = require("../../model/presence")
|
|
|
|
const Class = require("../../model/class")
|
|
|
|
const { jsonify } = require('../../utils/leancloudutils');
|
|
|
|
// pages/classsetting/classsetting.js
|
|
|
|
Page({
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 页面的初始数据
|
|
|
|
*/
|
|
|
|
class: null,
|
|
|
|
data: {
|
|
|
|
classname:"",
|
|
|
|
new_classname:"",
|
|
|
|
presences:[],
|
|
|
|
teacher_id: ""
|
|
|
|
},
|
|
|
|
update_classname: function({detail: {value}}){
|
|
|
|
this.setData({new_classname:value})
|
|
|
|
},
|
|
|
|
change_name:function(event){
|
|
|
|
let {new_classname} =this.data
|
|
|
|
this.class.set("name", new_classname).save().then(()=>{
|
|
|
|
wx.showToast({
|
|
|
|
title:"更新成功"
|
|
|
|
});
|
|
|
|
this.setData({classname: new_classname, new_classname: ""});
|
|
|
|
},()=>{
|
|
|
|
wx.showToast({
|
|
|
|
title:"操作失败",
|
|
|
|
icon:"none"
|
|
|
|
})
|
|
|
|
});
|
|
|
|
},
|
|
|
|
del_class:function(event){
|
|
|
|
class_ = this.class;
|
|
|
|
wx.showModal({
|
|
|
|
title: '确认',
|
|
|
|
content: '删除课程会删除该课程相关的一切数据',
|
|
|
|
success: res=>{
|
|
|
|
if(res.confirm){
|
|
|
|
wx.showLoading({
|
|
|
|
title: '请稍候',
|
|
|
|
})
|
|
|
|
query_presence = new AV.Query("Presence");
|
|
|
|
query_presence.equalTo("class", class_);
|
|
|
|
query_presence.find().then(AV.Object.destroyAll);
|
|
|
|
query_message = new AV.Query("Message");
|
|
|
|
query_message.equalTo("class", class_);
|
|
|
|
query_message.find().then(AV.Object.destroyAll);
|
|
|
|
query_file = new AV.Query("File_");
|
|
|
|
query_file.equalTo("class", class_);
|
|
|
|
query_file.find().then(files=>{
|
|
|
|
filelist = files.map(file=>file.get("fileid"));
|
|
|
|
wx.cloud.deleteFile({
|
|
|
|
fileList: filelist,
|
|
|
|
success: res => {
|
|
|
|
// handle success
|
|
|
|
console.log(res.fileList)
|
|
|
|
},
|
|
|
|
fail: console.error
|
|
|
|
})
|
|
|
|
AV.Object.destroyAll(files)});
|
|
|
|
class_.destroy().then(()=>{
|
|
|
|
wx.hideLoading();
|
|
|
|
wx.showToast({
|
|
|
|
title: '删除成功',
|
|
|
|
});
|
|
|
|
wx.navigateBack({
|
|
|
|
delta: 2
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
del_student:function(event){
|
|
|
|
presence_id = event.currentTarget.dataset.id;
|
|
|
|
pull_presences = this.pull_presences.bind(this);
|
|
|
|
wx.showModal({
|
|
|
|
title: '确认',
|
|
|
|
content: '是否将该学员从课程中移除?',
|
|
|
|
success: res => {
|
|
|
|
if (res.confirm) {
|
|
|
|
AV.Object.createWithoutData("Presence", presence_id).destroy().then(()=>{
|
|
|
|
pull_presences();
|
|
|
|
wx.showToast({
|
|
|
|
title: '移除成功',
|
|
|
|
})}, ()=>{
|
|
|
|
wx.showToast({
|
|
|
|
title: '移除失败',
|
|
|
|
icon:"none"
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
pull_presences:function(){
|
|
|
|
query = new AV.Query("Presence");
|
|
|
|
query.equalTo("class", this.class);
|
|
|
|
query.include("user");
|
|
|
|
query.find().then(this.set_presences);
|
|
|
|
},
|
|
|
|
|
|
|
|
set_presences:function(presences){
|
|
|
|
presences = presences.map(presence=>{
|
|
|
|
user = presence.get("user");
|
|
|
|
presence.set("student_username", user.get("username"));
|
|
|
|
presence.set("student_name", user.get("name"));
|
|
|
|
presence.set("student_id", user.get("objectId"))
|
|
|
|
return presence;
|
|
|
|
})
|
|
|
|
this.setData(jsonify({presences}));
|
|
|
|
},
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面加载
|
|
|
|
*/
|
|
|
|
onLoad: function (options) {
|
|
|
|
classname = options.classname;
|
|
|
|
class_id = options.class_id;
|
|
|
|
teacher_id = options.teacher_id;
|
|
|
|
console.log(teacher_id);
|
|
|
|
this.class = AV.Object.createWithoutData("Class_", class_id);
|
|
|
|
this.setData({
|
|
|
|
teacher_id: teacher_id,
|
|
|
|
classname:classname
|
|
|
|
});
|
|
|
|
this.pull_presences();
|
|
|
|
console.log(this.data);
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
|
|
*/
|
|
|
|
onReady: function () {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面显示
|
|
|
|
*/
|
|
|
|
onShow: function () {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面隐藏
|
|
|
|
*/
|
|
|
|
onHide: function () {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面卸载
|
|
|
|
*/
|
|
|
|
onUnload: function () {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
|
|
*/
|
|
|
|
onPullDownRefresh: function () {
|
|
|
|
this.pull_presences();
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 页面上拉触底事件的处理函数
|
|
|
|
*/
|
|
|
|
onReachBottom: function () {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 用户点击右上角分享
|
|
|
|
*/
|
|
|
|
onShareAppMessage: function () {
|
|
|
|
|
|
|
|
}
|
|
|
|
})
|