JMApp/pages/wangdian/wangdian.js

152 lines
3.1 KiB
JavaScript
Raw Normal View History

2025-04-05 23:47:00 +08:00
// pages/wangdian/wangdian.js
Page({
/**
* 页面的初始数据
*/
data: {
2025-04-09 23:29:51 +08:00
banner: [],
info: {},
jiqilist: [],
number: '',
machineCount: 0,
freeMachineCount: 0,
timer: null,
2025-04-05 23:47:00 +08:00
},
onLoad(options) {
2025-04-09 23:29:51 +08:00
// 如果没有wx.getStorageSync('latitude') 或者 wx.getStorageSync('longitude') 则获取当前位置
if (!wx.getStorageSync('latitude') || !wx.getStorageSync('longitude')) {
wx.getLocation({
type: 'wgs84',
success: (res) => {
wx.setStorageSync('latitude', res.latitude);
wx.setStorageSync('longitude', res.longitude);
this.getBranchDetail();
}
});
}
this.setData({
number: options.number || ''
});
this.getBranchDetail();
this.getMachineList();
// 设置定时器每10秒刷新一次机器状态
this.data.timer = setInterval(() => {
this.getMachineList();
}, 10000);
2025-04-05 23:47:00 +08:00
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
2025-04-09 23:29:51 +08:00
// 页面卸载时清除定时器
if (this.data.timer) {
clearInterval(this.data.timer);
this.data.timer = null;
}
2025-04-05 23:47:00 +08:00
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
2025-04-09 23:29:51 +08:00
// 页面卸载时清除定时器
if (this.data.timer) {
clearInterval(this.data.timer);
this.data.timer = null;
}
2025-04-05 23:47:00 +08:00
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
2025-04-09 23:29:51 +08:00
},
// 获取网点详情信息
getBranchDetail() {
wx.request({
url: 'https://t-jm.v0750.com/miniprogram/branch/detail',
data: {
number: this.data.number,
latitude: wx.getStorageSync('latitude'),
longitude: wx.getStorageSync('longitude'),
},
method: 'GET',
success: (res) => {
if (res.data && res.data.code == 200) {
this.setData({
banner: res.data.data.banner || [],
info: res.data.data.info || {}
});
}
}
});
},
// 获取机器列表
getMachineList() {
wx.request({
url: 'https://t-jm.v0750.com/miniprogram/branch/machine',
data: {
number: this.data.number,
},
method: 'POST',
success: (res) => {
if (res.data && res.data.code == 200) {
this.setData({
jiqilist: res.data.data || []
});
// 计算机器数量, 与空闲机器数量 free machine
let machineCount = this.data.jiqilist.length;
let freeMachineCount = 0;
for (let i = 0; i < this.data.jiqilist.length; i++) {
if (this.data.jiqilist[i].devicestatus == 0) {
freeMachineCount++;
}
}
// 更新数据
this.setData({
machineCount,
freeMachineCount
});
}
}
});
},
2025-04-05 23:47:00 +08:00
})