| | |
| | | openTimeText: "", |
| | | openTime: "", |
| | | irrigateProfile: [], //获取所选灌溉方式的详细数据 |
| | | dialog_mode: true, |
| | | dialog_time: false, |
| | | dialog_water: false, |
| | | group_time: false, //是否显示选择分钟或小时的单选框 |
| | | openTime: "", //计划开泵的开始时间 |
| | | openTimeText: "", |
| | | isShowOpenTime: "false", |
| | | showForceConfirm: false, |
| | | showErrorDialog: false, //错误提示 |
| | | errorData: "", |
| | | confirmBtn: { |
| | | content: '确认' |
| | | }, |
| | | radioValue: "0", //开阀方式选中的类型 |
| | | costiomTime: "", //自定义灌溉时间 |
| | | waterAmount: 0, //定量开阀的水量 |
| | | costiomWater: "", //输入的自定义水量 |
| | | isWXRefreshing: false, |
| | | irrigateProfile: [], //获取所选灌溉方式的详细数据 |
| | | datetimeVisible: false, |
| | | |
| | | }, |
| | | |
| | | // 切换 Tabs |
| | |
| | | choseCard(event) { |
| | | //显示二次确认弹窗 |
| | | this.setData({ |
| | | showConfirm: true, |
| | | // showConfirm: true, |
| | | choseItem: event.currentTarget.dataset.item, |
| | | allWaterPoints: [] |
| | | |
| | | }) |
| | | this.initDialogData(); |
| | | |
| | | // console.log(intakeId); |
| | | // wx.navigateTo({ |
| | | // url: '/pages/openCard/openCard?intakeId='+intakeId, |
| | |
| | | }); |
| | | const app = getApp(); |
| | | const data = { |
| | | intakeId: intakeId, //取水口ID |
| | | // vcId: vcId, //虚拟卡ID |
| | | intakeId: this.data.choseItem.intakeId, //取水口ID |
| | | // vcId: app.globalData.vcId, //虚拟卡ID |
| | | operator: app.globalData.clientId, //操作员 |
| | | forceOpen: !!isforce // 使用逻辑非操作符 !! 来确保 isForce 是布尔值 |
| | | }; |
| | |
| | | data: data, |
| | | timeout: 180000 |
| | | }).then(response => { |
| | | |
| | | // 处理成功响应 |
| | | console.log('请求成功:', response); |
| | | // 加载完成后隐藏加载动画 |
| | |
| | | wx.reLaunch({ |
| | | url: '/pages/home/home?param=true' // 首页的路径,根据实际情况填写 |
| | | }); |
| | | |
| | | }).catch(error => { |
| | | // 加载完成后隐藏加载动画 |
| | | wx.hideLoading(); |
| | |
| | | forceIntakeId: intakeId, |
| | | showForceConfirm: true |
| | | }) |
| | | } else if (error.code === "ECONNABORTED" || error.message?.includes('timeout')) { |
| | | // 处理超时错误 |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: "通信超时,请稍后再试", |
| | | errorDialogTitle: "开阀错误" |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: error.msg |
| | | errorData: error.msg, |
| | | errorDialogTitle: "开阀错误" |
| | | }) |
| | | } |
| | | }); |
| | |
| | | this.getcommonWaterPoints(); |
| | | }, |
| | | confirmDialog() { |
| | | // this.setData({ |
| | | // showConfirm: false |
| | | // }) |
| | | // this.postOpenValva(this.data.choseItem.intakeId); |
| | | this.setData({ |
| | | showConfirm: false |
| | | showConfirm: false |
| | | }) |
| | | this.postOpenValva(this.data.choseItem.intakeId); |
| | | this.initDialogData(); |
| | | }, |
| | | closeDialog() { |
| | | this.setData({ |
| | |
| | | mask: true // 是否显示透明蒙层,防止触摸穿透,默认为 false |
| | | }); |
| | | const data = { |
| | | intakeId: this.data.intakeId, //取水口ID |
| | | // vcId: this.data.vcId, //虚拟卡ID |
| | | intakeId: this.data.choseItem.intakeId, //取水口ID |
| | | minutes: this.data.postMinutes, //分钟 |
| | | operator: app.globalData.clientId, //操作员 |
| | | plannedOpenTime: this.data.openTime |
| | | }; |
| | | post({ |
| | | url: "wx/valve/planed_open_timed_close", |
| | | data: data |
| | | data: data, |
| | | timeout: 180000 |
| | | }).then(response => { |
| | | // 处理成功响应 |
| | | console.log('请求成功:', response); |
| | |
| | | wx.hideLoading(); |
| | | // 处理错误响应 |
| | | console.error('请求失败:', error); |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: error.msg |
| | | }) |
| | | if (error.code === "ECONNABORTED" || error.message?.includes('timeout')) { |
| | | // 处理超时错误 |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: "通信超时,请稍后再试", |
| | | errorDialogTitle: "开阀错误" |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: error.msg, |
| | | errorDialogTitle: "开阀错误" |
| | | }) |
| | | } |
| | | }); |
| | | }, |
| | | //定时关阀式开阀 |
| | |
| | | mask: true // 是否显示透明蒙层,防止触摸穿透,默认为 false |
| | | }); |
| | | const data = { |
| | | intakeId: this.data.intakeId, //取水口ID |
| | | // vcId: this.data.vcId, //虚拟卡ID |
| | | intakeId: this.data.choseItem.intakeId, //取水口ID |
| | | minutes: this.data.postMinutes, //分钟 |
| | | operator: app.globalData.clientId //操作员 |
| | | }; |
| | | post({ |
| | | url: "wx/valve/timed_close", |
| | | data: data |
| | | data: data, |
| | | timeout: 180000 |
| | | }).then(response => { |
| | | // 处理成功响应 |
| | | console.log('请求成功:', response); |
| | |
| | | wx.hideLoading(); |
| | | // 处理错误响应 |
| | | console.error('请求失败:', error); |
| | | if (error.code === "ECONNABORTED" || error.message?.includes('timeout')) { |
| | | // 处理超时错误 |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: "通信超时,请稍后再试", |
| | | errorDialogTitle: "开阀错误" |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: error.msg, |
| | | errorDialogTitle: "开阀错误" |
| | | }) |
| | | } |
| | | }); |
| | | }, |
| | | // 通过小时转换成分钟 |
| | | hourToMinutes(hours) { |
| | | // 检查输入是否合法 |
| | | if (isNaN(hours) || hours < 0) { |
| | | console.error('请输入有效的小时数'); |
| | | return null; |
| | | } |
| | | // 将小时转换为分钟 |
| | | const minutes = hours * 60; |
| | | return minutes; |
| | | }, |
| | | minutesToHours(minutes) { |
| | | // 检查输入是否合法 |
| | | if (isNaN(minutes) || hours < 0) { |
| | | console.error('请输入有效的小时数'); |
| | | return null; |
| | | } |
| | | // 将小时转换为分钟 |
| | | const hours = minutes / 60; |
| | | return hours; |
| | | }, |
| | | // 选择水量后的处理 |
| | | handleWaterWrapperTap(e) { |
| | | const index = e.currentTarget.dataset.index; |
| | | console.log(index) |
| | | if (index !== undefined) { |
| | | this.data.waterAmount = parseInt(this.data.irrigateProfile[index].defaultValue) |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: error.msg |
| | | activeIndex: parseInt(index), |
| | | costiomWater: "" |
| | | }); |
| | | } |
| | | }, //显示时间选择器 |
| | | showPicker(e) { |
| | | this.setData({ |
| | | datetime: new Date().getTime(), |
| | | datetimeVisible: true, |
| | | isShowOpenTime: true |
| | | }); |
| | | }, |
| | | onConfirm(e) { |
| | | const { |
| | | value |
| | | } = e?.detail; |
| | | console.log(value); |
| | | this.setData({ |
| | | openTime: value, |
| | | openTimeText: "计划开阀时间:" + value |
| | | }) |
| | | }, hidePicker() { |
| | | this.setData({ |
| | | isShowOpenTime: false, |
| | | isOpenTiming: false, |
| | | radioValue: "0" |
| | | }) |
| | | }, // 定量开泵按钮 |
| | | btnOpenOnWater() { |
| | | if (this.data.waterAmount > 0) { |
| | | if (this.data.isOpenTiming) { |
| | | this.quantifyOpenTime(); |
| | | } else { |
| | | this.quantifyOpen(); |
| | | } |
| | | } else { |
| | | wx.showToast({ |
| | | icon: 'error', |
| | | title: '请选择或输入灌溉时间!', |
| | | }) |
| | | } |
| | | },//定量开阀式计划开阀 |
| | | quantifyOpenTime() { |
| | | const app = getApp(); |
| | | wx.showLoading({ |
| | | title: '正在通信请稍候...', // 加载提示文字 |
| | | mask: true // 是否显示透明蒙层,防止触摸穿透,默认为 false |
| | | }); |
| | | const data = { |
| | | intakeId: this.data.choseItem.intakeId, //取水口ID |
| | | waterAmount: this.data.waterAmount, //水量 |
| | | operator: app.globalData.clientId, //操作员 |
| | | plannedOpenTime: this.data.openTime |
| | | }; |
| | | post({ |
| | | url: "wx/valve/planed_open_quantify_close", |
| | | data: data, |
| | | timeout: 180000 |
| | | }).then(response => { |
| | | // 处理成功响应 |
| | | console.log('请求成功:', response); |
| | | // 加载完成后隐藏加载动画 |
| | | wx.hideLoading(); |
| | | //完成后回到首页 |
| | | wx.reLaunch({ |
| | | url: '/pages/home/home?param=2' // 首页的路径,根据实际情况填写 |
| | | }); |
| | | }).catch(error => { |
| | | // 加载完成后隐藏加载动画 |
| | | wx.hideLoading(); |
| | | // 处理错误响应 |
| | | console.error('请求失败:', error); |
| | | if (error.code === "ECONNABORTED" || error.message?.includes('timeout')) { |
| | | // 处理超时错误 |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: "通信超时,请稍后再试", |
| | | errorDialogTitle: "开阀错误" |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: error.msg, |
| | | errorDialogTitle: "开阀错误" |
| | | }) |
| | | } |
| | | }); |
| | | },//定量开阀 |
| | | quantifyOpen() { |
| | | const app = getApp(); |
| | | wx.showLoading({ |
| | | title: '正在开阀请稍候...', // 加载提示文字 |
| | | mask: true // 是否显示透明蒙层,防止触摸穿透,默认为 false |
| | | }); |
| | | const data = { |
| | | intakeId: this.data.choseItem.intakeId, //取水口ID |
| | | waterAmount: this.data.waterAmount, //水量 |
| | | operator: app.globalData.clientId //操作员 |
| | | }; |
| | | post({ |
| | | url: "wx/valve/quantify_close", |
| | | data: data, |
| | | timeout: 180000 |
| | | }).then(response => { |
| | | // 处理成功响应 |
| | | console.log('请求成功:', response); |
| | | // 加载完成后隐藏加载动画 |
| | | wx.hideLoading(); |
| | | //完成后回到首页 |
| | | wx.reLaunch({ |
| | | url: '/pages/home/home?param=1' // 首页的路径,根据实际情况填写 |
| | | }); |
| | | }).catch(error => { |
| | | // 加载完成后隐藏加载动画 |
| | | wx.hideLoading(); |
| | | // 处理错误响应 |
| | | console.error('请求失败:', error); |
| | | if (error.code === "ECONNABORTED" || error.message?.includes('timeout')) { |
| | | // 处理超时错误 |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: "通信超时,请稍后再试", |
| | | errorDialogTitle: "开阀错误" |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | showErrorDialog: true, |
| | | errorData: error.msg, |
| | | errorDialogTitle: "开阀错误" |
| | | }) |
| | | } |
| | | }); |
| | | }, |
| | | }) |