const db=wx.cloud.database();
var app=getApp();
Page({
data: {
full_name:'',
// rooms:[], //自习室
seats:'', //座位号
img_src:'', //自习室图片
tableList:[],
table_index:0,
seat_index:0,
userinfo:{},
status:0,
startTime:'',
signEndTime:'',
endTime:"22:30"
},
onShow: function () {
if(this.data.status==undefined){
wx.showToast({
title: '请重新登录',
icon:'none',
duration:2000
})
}
let pages = getCurrentPages();
let currentPage = pages[pages.length - 1];
let e = currentPage.options;
wx.showLoading({
title: '加载中',
})
//判断是否预约
let status=wx.getStorageSync('userInfo').data.status;
let userinfo=wx.getStorageSync('userInfo').data;
let signEndTime=wx.getStorageSync('userInfo').data.signEndTime;
this.setData({
status,userinfo,signEndTime
})
if(status!=0){
if(this.data.status!=3){
this.judgeIfOutTime();
}
this.getData();
}else{
wx.hideLoading()
}
},
onUnload(){
var pages=getCurrentPages();
if(pages.length>=4){
wx.switchTab({
url: 'http://222.178.203.72:19005/whst/63/=cnvmknZczbrcmzmds//pages/appointment/appointment',
})
}else{
wx.switchTab({
url: 'http://222.178.203.72:19005/whst/63/=cnvmknZczbrcmzmds//pages/user/user',
})
}
},
//拿数据
getData(){
//从缓存中取
const tableList=wx.getStorageSync('seats');
const userinfo=wx.getStorageSync('userInfo');
if(Date.now()-tableList.time>1000||Date.now()-userinfo.time>1000*300||!tableList||!userinfo){
//请求数据库
db.collection('user').where({
_openid: app.globalData.openid,
})
.get().then(res=>{
this.setData({
userinfo:res.data[0],
full_name:res.data[0].full_name,
seats:res.data[0].seats,
img_src:res.data[0].img_src,
table_index:res.data[0].table_index,
seat_index:res.data[0].seat_index,
startTime:res.data[0].startTime,
signEndTime:res.data[0].signEndTime
})
}).then(res=>{
db.collection('meeting_seat').where({
full_name:this.data.full_name
})
.get().then(result=>{
let tableList=result.data[0].tableList
this.setData({
tableList
})
})
})
}else{
this.setData({
tableList:tableList.data[0],
full_name:userinfo.data.full_name,
seats:userinfo.data.seats,
img_src:userinfo.data.img_src,
table_index:userinfo.data.table_index,
seat_index:userinfo.data.seat_index,
startTime:userinfo.data.startTime,
signEndTime:userinfo.data.signEndTime
})
}
wx.hideLoading();
},
//点击签到事件
handleSignIn(){
if(getCurrentPages().length!=0){
getCurrentPages()[getCurrentPages().length-1].onShow()
}
if(this.data.status!=3){
wx.scanCode({
onlyFromCamera: true,
success :res=> {
if(res.rawData=='562+5Yiw5oiQ5Yqf'){
wx.showToast({
title: '签到成功',
icon:'success',
duration:2000,
mask:true
})
// setTimeout(function(){
// if(getCurrentPages().length!=0){
// getCurrentPages()[getCurrentPages().length-1].onShow()
// }
// },2500)
//修改用户状态
if(this.data.status==1){
//data中
this.setData({
status:2 //已签到
})
//缓存中
const userinfo=wx.getStorageSync('userInfo').data;
userinfo.status=2;
wx.setStorageSync('userInfo', {time:Date.now(),data:userinfo})
//数据库中
db.collection('user').where({
_openid: app.globalData.openid,
}).update({
data:{
status:2, //已签到
}
})
}
}else{
wx.showToast({
title: '不是该二维码',
})
}
}
})
}
},
//点击取消预约
handleCancel(){
if(getCurrentPages().length!=0){
getCurrentPages()[getCurrentPages().length-1].onShow()
}
if(this.data.status!=3){
if(this.data.userinfo.status==1){
wx.showModal({
title: '您确定要取消预约吗?',
success :res=> {
if (res.confirm) {
wx.showToast({title:'取消成功',icon:'success',duration:2000,mask:true})
// 修改座位表status,并更新meeting_seat数据
let tableList=this.data.tableList;
let table_index=this.data.table_index;
let seat_index=this.data.seat_index;
tableList[table_index].seatList[seat_index].status=1;
this.setData({
tableList:tableList
})
wx-wx.setStorageSync('seats', {time:Date.now(),data:this.data.tableList});
db.collection('meeting_seat').where({
full_name:this.data.full_name
}).update({
data:{
'tableList':this.data.tableList
}
})
// 修改用户status,并添加数据
// 缓存中
this.data.userinfo.seats='';
this.data.userinfo.full_name='';
this.data.userinfo.table_index=0;
this.data.userinfo.seat_index=0;
this.data.userinfo.img_src='';
this.data.userinfo.status=0; //未预约
this.data.userinfo.startTime='';
this.data.userinfo.signEndTime='';
this.data.userinfo.nowTime=0
wx.setStorageSync('userInfo', {time:Date.now(),data:this.data.userinfo})
// 数据库中
db.collection('user').where({
_openid: app.globalData.openid,
}).update({
data:{
status:0,
seats:'',
full_name:'',
table_index:0,
seat_index:0,
img_src:'',
startTime:'',
signEndTime:'',
nowTime:0
}
})
//修改数据库meeting_room的current
const current = db.command
db.collection('meeting_room').where({
full_name:this.data.full_name
}).update({
data:{
current:current.inc(1)
}
}).then(res=>{
//成功以后更新缓存
db.collection('meeting_room').get().then(res=>{
wx-wx.setStorageSync('rooms', {time:Date.now(),data:res.data});
})
})
setTimeout(function(){
if(getCurrentPages().length!=0){
getCurrentPages()[getCurrentPages().length-1].onShow()
}
},2500)
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
}
}
},
//点击签退事件
handleSignOut(){
if(getCurrentPages().length!=0){
getCurrentPages()[getCurrentPages().length-1].onShow()
}
if(this.data.userinfo.status==3){
return
}else{
wx.scanCode({
onlyFromCamera: true,
success :res=> {
if(res.rawData=='562+6YCA5oiQ5Yqf'){
wx.showToast({
title: '签退成功',
icon:'success',
duration:2000,
mask:true
})
setTimeout(function(){
if(getCurrentPages().length!=0){
getCurrentPages()[getCurrentPages().length-1].onShow()
}
},2500)
mon_star°
- 粉丝: 869
- 资源: 8
最新资源
- 使用深度学习预测低压网络的电压分布 低电压(LV)电路的能量分布将发生变化,而以前的被动适应和-“忘记”的网络管理方法将是低效的,以确保其有效运行 需要一种自适应的方法,包括对电路风险的预测
- 小型六轴机器人样机,可二次开发,脉冲加方向,仪嘉控制器,
- 基于扩展卡尔曼滤波EKF和模型预测控制MPC,自动泊车场景建模开发,文复现 MATLAB(工程项目线上支持)
- (工程项目线上支持)横向控制,稳定性控制,直接横摆力矩控制 汽车电子稳定性控制建模仿真 包括模型和说明书 DYC, ESP
- 低成本dsp变频器方案,有C语言源码,编译码,PCB图纸,物料清单
- 三维重建程序~基于多视图几何的三维重建 代码特点: 1.使用osmbundler进行特征点提取与匹配; 2.使用cmvs进行稀疏点云的生成; 3.使用pmvs进行稠密点云的生成; 4.用户界面使用py
- 电动汽车动力系统整车仿真,具有双向DCDC变器实现能量反馈,可带异步电机,永磁同步电机仿真,应用最大转矩电流比控制加独特的弱磁控制策略
- 基于OpenCV的口罩识别系统 相关技术:python,opencv,pyqt (请自行安装向日葵远程软件,以便提供远程帮助) 软件说明:读取用户设备的摄像头,可实时检测画面中的人的口罩佩戴情况,并给
- matlab程序 研究方向:综合能源系统,微电网,主从博弈,合作,非合作博弈相关方向,多时间尺度
- 研究考虑综合需求响应和碳交易机制的冷、热、电、气4种能源形式的综合能源系统,系统内含能源设备主要包括光伏电源、风力机组、燃气轮机和燃气锅炉;储能系统主要包括储电设备蓄电池、储热设备蓄热槽;能量转设备包
- 研究考虑综合需求响应和碳交易机制的冷、热、电、气4种能源形式的综合能源系统,系统内含能源设备主要包括光伏电源、风力机组、燃气轮机和燃气锅炉;储能系统主要包括储电设备蓄电池、储热设备蓄热槽;能量转设备包
- labview自动化贴合设备程序 labview自动化贴合设备程序,包括上下CCD标定算法,9点标定,整机贴合精度0.1mm,边缘抓取全套源代码,标准架构,快速上手,其他项目快速适用
- system_ftnn_gbid.mp3
- stm32真实企业项目1,源码原理图PCB图,感谢已经拿后的多位客户,你们愿意为学习投资,节省时间 包含源码,原理图设计和pcb 项目要求与网上搜的那些开发板的例程完全不在一个级别,也不是那些凑合性质
- 提供基于comsol中相场方法模拟多孔介质两相驱替(水气、油水等等)的算例(也可以定做水平集驱替的算例),可在此基础上学会利用comsol软件进行两相流驱替的模拟,拓展研究,具体参考算例附后 附赠基
- C#,C#程序实例,C#与西门子,C#与西门子PLC通讯,C#与S7-200SMART以太网通讯,C#与西门子PLC通讯,原生Socket通讯,异步通讯,多线程操作,连接PLC数量没有限制,占用内存少
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈