JMApp/pages/wangdian/wangdian.js
XiaoMo a3fcf0eac1 feat(帮洗服务): 新增帮洗服务页面及功能
新增帮洗服务相关页面和功能,包括页面配置、路由添加、API接口调整和样式实现
更新小程序基础库版本至3.8.8
调整API接口路径统一使用v2版本前缀
2025-06-24 16:56:02 +08:00

162 lines
3.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// pages/wangdian/wangdian.js
var t = require("../../utils/login.js");
Page({
/**
* 页面的初始数据
*/
data: {
banner: [],
info: {},
jiqilist: [],
number: '',
machineCount: 0,
freeMachineCount: 0,
timer: null,
},
onLoad(options) {
// 如果没有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);
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
// 页面卸载时清除定时器
if (this.data.timer) {
clearInterval(this.data.timer);
this.data.timer = null;
}
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
// 页面卸载时清除定时器
if (this.data.timer) {
clearInterval(this.data.timer);
this.data.timer = null;
}
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
// 获取网点详情信息
getBranchDetail() {
t.request('/v2/miniprogram/branch/detail', {
number: this.data.number,
latitude: wx.getStorageSync('latitude'),
longitude: wx.getStorageSync('longitude'),
method: 'GET',
}, !0).then((res) => {
if (res.code == 200) {
this.setData({
banner: res.data.banner || [],
info: res.data.info || {},
});
}
})
},
// 获取机器列表
getMachineList() {
t.request('/v2/miniprogram/branch/machine', {
number: this.data.number,
}).then((res) => {
if (res.code == 200) {
this.setData({
jiqilist: res.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
});
}
})
},
// 打开地图导航
openLocation() {
if (this.data.info.latitude && this.data.info.longitude) {
wx.openLocation({
latitude: Number(this.data.info.latitude),
longitude: Number(this.data.info.longitude),
name: this.data.info.name,
address: this.data.info.address,
scale: 18
})
} else {
wx.showToast({
title: '暂无位置信息',
icon: 'none'
})
}
},
})