const app = getApp();
|
|
Page({
|
/**
|
* 页面的初始数据
|
*/
|
data: {
|
projectName: '',
|
groupName: '',
|
groupId: '',
|
waterOutletList: [],
|
refreshing: false,
|
isIrrigating: false // 是否正在灌溉中
|
},
|
|
/**
|
* 生命周期函数--监听页面加载
|
*/
|
onLoad: function (options) {
|
console.log('接收到的参数:', options);
|
|
if (options) {
|
// 直接使用传递的isIrrigating参数,而不是根据status判断
|
const isIrrigating = options.isIrrigating === 'true';
|
console.log('灌溉状态判断:', options.status, '是否正在灌溉:', isIrrigating);
|
|
// 处理接收到的参数
|
this.setData({
|
projectName: options.projectName || '',
|
groupName: options.groupName || '',
|
groupId: options.groupId || '',
|
isIrrigating: isIrrigating
|
});
|
|
console.log('设置后的数据:', this.data);
|
|
this.loadWaterOutletData();
|
}
|
},
|
|
/**
|
* 加载取水口数据
|
*/
|
loadWaterOutletData: function() {
|
this.setData({
|
refreshing: true
|
});
|
|
console.log('开始加载轮灌组详情,groupId:', this.data.groupId);
|
|
// 检查apiBaseUrl是否存在
|
if (!app.globalData.apiBaseUrl) {
|
try {
|
// 从config模块获取基础URL
|
const config = require('../../api/config');
|
const { PROJECT_CONFIG } = require('../../utils/projectConfig');
|
|
// 获取当前选中的项目标识
|
const tag = wx.getStorageSync('projectTag') || app.globalData.tag || 'mq';
|
|
// 根据tag找到对应项目配置
|
let selectedProject = 'MQ'; // 默认为民勤项目
|
for (const key in PROJECT_CONFIG) {
|
if (PROJECT_CONFIG[key].tag === tag) {
|
selectedProject = key;
|
break;
|
}
|
}
|
|
// 设置apiBaseUrl
|
app.globalData.apiBaseUrl = PROJECT_CONFIG[selectedProject].serverUrl;
|
console.log('从配置中获取apiBaseUrl:', app.globalData.apiBaseUrl);
|
} catch (error) {
|
console.error('获取apiBaseUrl失败:', error);
|
// 使用请求库中的方法
|
const { get } = require('../../api/request');
|
|
get({
|
url: '/wx/irrigation/getGroupDetails',
|
data: { groupId: this.data.groupId },
|
isShowLoding: true
|
}).then(res => {
|
if (res.success) {
|
this.handleGroupDetailsResponse(res);
|
} else {
|
wx.showToast({
|
title: res.msg || '获取数据失败',
|
icon: 'none'
|
});
|
}
|
}).catch(err => {
|
console.error('请求失败:', err);
|
wx.showToast({
|
title: '网络错误',
|
icon: 'none'
|
});
|
}).finally(() => {
|
this.setData({
|
refreshing: false
|
});
|
});
|
|
return; // 已经使用请求库处理,直接返回
|
}
|
}
|
|
// 使用wx.request发送请求
|
wx.request({
|
url: `${app.globalData.apiBaseUrl}/wx/irrigation/getGroupDetails`,
|
method: 'GET',
|
data: {
|
groupId: this.data.groupId
|
},
|
header: {
|
'content-type': 'application/json',
|
'Authorization': wx.getStorageSync('token') || '',
|
'tag': wx.getStorageSync('projectTag') || app.globalData.tag || '',
|
'appId': app.globalData.AppID || ''
|
},
|
success: (res) => {
|
console.log('轮灌组详情接口返回:', res.data);
|
|
if (res.data && res.data.success) {
|
this.handleGroupDetailsResponse(res.data);
|
} else {
|
wx.showToast({
|
title: res.data.msg || '获取数据失败',
|
icon: 'none'
|
});
|
this.setData({
|
refreshing: false
|
});
|
}
|
},
|
fail: (err) => {
|
console.error('请求失败:', err);
|
// 尝试使用请求库重试
|
this.retryUsingRequestLib();
|
}
|
});
|
},
|
|
/**
|
* 使用请求库重试获取数据
|
*/
|
retryUsingRequestLib: function() {
|
console.log('使用请求库重试获取数据');
|
const { get } = require('../../api/request');
|
|
get({
|
url: '/wx/irrigation/getGroupDetails',
|
data: { groupId: this.data.groupId },
|
isShowLoding: true
|
}).then(res => {
|
if (res.success) {
|
this.handleGroupDetailsResponse(res);
|
} else {
|
wx.showToast({
|
title: res.msg || '获取数据失败',
|
icon: 'none'
|
});
|
}
|
}).catch(err => {
|
console.error('请求库重试失败:', err);
|
wx.showToast({
|
title: '网络错误',
|
icon: 'none'
|
});
|
}).finally(() => {
|
this.setData({
|
refreshing: false
|
});
|
});
|
},
|
|
/**
|
* 处理轮灌组详情响应数据
|
*/
|
handleGroupDetailsResponse: function(response) {
|
const data = response.content;
|
|
// 处理取水口数据
|
const waterOutletList = data.intakes.map(item => {
|
return {
|
id: item.rtuAddr, // 使用rtuAddr作为ID
|
name: item.intakeName,
|
rtuAddr: item.rtuAddr,
|
status: item.isOnLine ? 'online' : 'offline'
|
};
|
});
|
|
this.setData({
|
projectName: data.projectName || this.data.projectName,
|
groupName: data.groupName || this.data.groupName,
|
waterOutletList: waterOutletList,
|
refreshing: false
|
});
|
|
console.log('设置取水口数据完成:', this.data.waterOutletList);
|
},
|
|
/**
|
* 下拉刷新处理函数
|
*/
|
onRefresh: function() {
|
this.loadWaterOutletData();
|
},
|
|
/**
|
* 生命周期函数--监听页面初次渲染完成
|
*/
|
onReady: function () {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面显示
|
*/
|
onShow: function () {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面隐藏
|
*/
|
onHide: function () {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面卸载
|
*/
|
onUnload: function () {
|
|
},
|
|
/**
|
* 页面相关事件处理函数--监听用户下拉动作
|
*/
|
onPullDownRefresh: function () {
|
|
},
|
|
/**
|
* 页面上拉触底事件的处理函数
|
*/
|
onReachBottom: function () {
|
|
},
|
|
/**
|
* 用户点击右上角分享
|
*/
|
onShareAppMessage: function () {
|
|
},
|
|
/**
|
* 返回上一页
|
*/
|
goBack: function () {
|
wx.navigateBack();
|
}
|
});
|