// 开卡选择虚拟卡 const { get, post } = require('../../api/request.js'); Page({ /** * 页面的初始数据 */ data: { intakeId: 0, showDialog: true, vcId: "", activeIndex: -1, datetimeVisible: false, datetime: new Date().getTime(), datetimeText: '', allCardPoints: [], // 所有虚拟卡 irrigateProfile: [], //获取所选灌溉方式的详细数据 dialog_mode: true, dialog_time: false, dialog_water: false, group_time: false, openTime: "", isShowOpenTime: "false" }, openValva(event) { const { item } = event.currentTarget.dataset; // 获取当前点击的 item if (item.isAlarmValue === true) { //金额报警 wx.navigateTo({ url: '/pages/rechargeMoney/rechargMoney?vcId=' + item.vcId, }) } else if (item.inUse === false) { // 选择虚拟卡后 this.setData({ vcId: item.vcId, showDialog: true, dialog_mode: true, dialog_time: false, dialog_water: false }) } }, handleAutoIrrigation() {}, //立即开泵 postOpenValva() { const app = getApp(); const data = { intakeId: this.data.intakeId, //取水口ID vcId: this.data.vcId, //虚拟卡ID operator: app.globalData.sessionId //操作员 }; post({ url: "wx/valve/open_wx", data: data }).then(response => { // 处理成功响应 console.log('请求成功:', response); // 加载完成后隐藏加载动画 wx.hideLoading(); //完成后回到首页 wx.reLaunch({ url: '/pages/home/home?param=true' // 首页的路径,根据实际情况填写 }); }).catch(error => { // 加载完成后隐藏加载动画 wx.hideLoading(); // 处理错误响应 console.error('请求失败:', error); if (error.code === "1002") { wx.showToast({ title: '开泵失败', icon: 'error', duration: 3000 // 提示的持续时间,单位毫秒 }) } }); }, postTimeOpen() {}, /** * 生命周期函数--监听页面加载 */ onLoad(options) { const { intakeId } = options; this.setData({ intakeId }) console.log('intakeId:' + this.data.intakeId); this.getCardList(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { }, //获取虚拟卡列表 getCardList() { get({ url: 'wx/virtual_card/get', data: { clientId: getApp().globalData.clientId } }) .then((data) => { if (data.success && data.code === "0001") { this.setData({ allCardPoints: data.content }); this.updateDisplayText(); } else { wx.showToast({ title: data.msg, }) } console.log('Failed to add item:'); }) .catch((error) => { console.error('Failed to add item:', error); }); }, updateDisplayText() { const updatedList = this.data.allCardPoints.map(item => { let displayText = ''; if (item.inUse) { displayText = '使用中'; } else { if (item.isAlarmValue) { displayText = '充值'; } else { displayText = '选择'; } } return { ...item, displayText }; // 保留所有其他字段,并添加 displayText 字段 }); // 更新列表数据 this.setData({ allCardPoints: updatedList }); }, handleClost() { this.setData({ showDialog: false }) }, handleMoneyWrapperTap: function (e) { const index = e.currentTarget.dataset.index; console.log(index) if (index !== undefined) { this.setData({ activeIndex: parseInt(index), }); } }, //获取常用用水时长及用水量 getIrrigateProfileData(type) { get({ url: 'wx/valve/irrigate_profile', data: { type: type } }) .then((data) => { if (data.success && data.code === "0001") { const items = data.content.obj.map(item => { return { defaultValue: item.defaultValue, unit: item.unit, unitText: item.unit === "1" ? "小时" : item.unit === "2" ? "分钟" : "立方米" }; }); this.setData({ dialog_mode: false, dialog_time: type === 1, dialog_water: type === 2, irrigateProfile: items }); } else { wx.showToast({ title: data.msg, }) } console.log('Failed to add item:'); }) .catch((error) => { console.error('Failed to add item:', error); }); }, handleSetDuration() { this.getIrrigateProfileData(1); }, onGroupChange(event) { const { value } = event.detail; console.log('Failed to add item:' + value); if (value == 1) { this.showPicker(); } else { this.setData({ isShowOpenTime: false }) } }, showPicker(e) { this.setData({ datetimeVisible: true, isShowOpenTime: true }); }, onTimeInputChange() { this.setData({ group_time: true }) }, onConfirm(e) { const { value } = e?.detail; this.setData({ openTime: "开阀时间:" + value }) }, handleSetWaterVolume() { this.getIrrigateProfileData(2); }, dialogBack() { this.setData({ dialog_time: false, dialog_water: false, dialog_mode: true, group_time: false }) } })