<template> <view class="page"> <u-navbar :title="title" :border-bottom="false" :background="bgc" title-color='#000' title-size='36' :title-bold='true' height='45' id="navbar"> </u-navbar> <view class="tit"> <image src="https://api.ccttiot.com/smartmeter/img/static/ufvwKG3vcJYtbkf0Oeij" mode=""></image> 除螨设置 </view> <view class="tit1"> <image src="https://api.ccttiot.com/smartmeter/img/static/utZh1saVjZgOBz3orDkL" mode=""></image> 间隔时长 </view> <view class="set_li"> 每隔<view class="ipt_box"><input type="text" class="ips" v-model="miteInterval" placeholder=" " placeholder-class="my-placeholder" /> </view>天/次 除螨工作 </view> <view class="tit"> <image src="https://api.ccttiot.com/smartmeter/img/static/ufvwKG3vcJYtbkf0Oeij" mode=""></image> 保护设置 </view> <view class="tit1"> <image src="https://api.ccttiot.com/smartmeter/img/static/utZh1saVjZgOBz3orDkL" mode=""></image> 电量保护(%) </view> <view class="set_li"> 电量少于<view class="ipt_box"><input type="text" class="ips" v-model="minPower" placeholder=" " placeholder-class="my-placeholder" /> </view>加热板/风扇停止工作 </view> <view class="tit1"> <image src="https://api.ccttiot.com/smartmeter/img/static/utZh1saVjZgOBz3orDkL" mode=""></image> 加热(℃) </view> <view class="set_li"> 箱外温度低于<view class="ipt_box"><input type="text" class="ips" v-model="minHeat" placeholder=" " placeholder-class="my-placeholder" /> </view>加热板工作 </view> <view class="set_li"> 箱内高于箱外<view class="ipt_box"><input type="text" class="ips" v-model="maxHeat" placeholder=" " placeholder-class="my-placeholder" /> </view>加热板停止工作 </view> <view class="tit1"> <image src="https://api.ccttiot.com/smartmeter/img/static/utZh1saVjZgOBz3orDkL" mode=""></image> 风扇(℃) </view> <view class="set_li"> 箱内温度高于<view class="ipt_box"><input type="text" class="ips" v-model="maxFan" placeholder=" " placeholder-class="my-placeholder" /> </view>风扇工作 </view> <!-- <view class="set_li"> 箱内温度降到<view class="ipt_box"><input type="text" class="ips" v-model="code" placeholder=" " placeholder-class="my-placeholder" /> </view>风扇停止工作 </view> --> <view class="set_li"> CO₂浓度高于<view class="ipt_box"><input type="text" class="ips" v-model="maxCo2" placeholder=" " placeholder-class="my-placeholder" /> </view>风扇工作 </view> <view class="set_li"> CO₂浓度低于<view class="ipt_box"><input type="text" class="ips" v-model="minCo2" placeholder=" " placeholder-class="my-placeholder" /> </view>风扇停止工作 </view> <view class="tit"> <image src="https://api.ccttiot.com/smartmeter/img/static/ufvwKG3vcJYtbkf0Oeij" mode=""></image> 震动通知 </view> <view class="tit1"> <image src="https://api.ccttiot.com/smartmeter/img/static/utZh1saVjZgOBz3orDkL" mode=""></image> 单次震动 </view> <view class="" style="padding-left: 50rpx;padding-top: 20rpx;box-sizing: border-box;"> <u-checkbox-group> <u-checkbox active-color="#FFCC25" @change="checkboxChange(item.type)" v-model="item.checked" v-for="(item, index) in list" :key="index" :name="item.name">{{item.name}}</u-checkbox> </u-checkbox-group> </view> <view class="tit1"> <image src="https://api.ccttiot.com/smartmeter/img/static/utZh1saVjZgOBz3orDkL" mode=""></image> 持续震动 </view> <view class="" style="padding-left: 50rpx;padding-top: 20rpx;box-sizing: border-box;"> <u-checkbox-group> <u-checkbox active-color="#FFCC25" @change="checkboxChanges(item.type)" v-model="item.checked" v-for="(item, index) in lists" :key="index" :name="item.name">{{item.name}}</u-checkbox> </u-checkbox-group> </view> <view class="btn_box"> <view class="btns" @click="btncz"> 重置 </view> <view class="btn1" @click="btnbc"> 保存 </view> </view> </view> </template> <script> export default { data() { return { bgc: { backgroundColor: " #F4FAF8", }, title: "设置", code: '', list: [{ name: '短信', disabled: false, checked: false, type: 1 }, { name: '电话', disabled: false, checked: false, type: 2 }, { name: '微信', disabled: false, checked: false, type: 3 } ], lists: [{ name: '短信', disabled: false, checked: false, type: 1 }, { name: '电话', disabled: false, checked: false, type: 2 }, { name: '微信', disabled: false, checked: false, type: 3 } ], value: [], values: [], miteInterval: '', //除螨间隔时间(天) minPower: '', //电量保护最低电量% minHeat: '', //加热板开始工作的最低箱外温度℃ maxHeat: '', //加热板停止工作的箱内外温差℃ maxFan: '', //风扇开始工作的最高箱内温度℃ minCo2: '', //风扇停止工作的最低二氧化碳浓度℃ maxCo2: '', //风扇开始工作的最高二氧化碳浓度℃ } }, onLoad() { this.getinfo() }, onShow() { }, methods: { btncz(){ this.miteInterval = '' this.minPower = '' this.minHeat = '' this.maxHeat = '' this.maxFan = '' this.minCo2 = '' this.maxCo2 = '' this.list.forEach(item => { if (item.checked) { item.checked = false; } }) this.lists.forEach(item => { if (item.checked) { item.checked = false; } }) }, checkboxChange(e) { let index = this.value.indexOf(e) if (index > -1) { this.value.splice(index, 1) } else { this.value.push(e) } console.log(this.value) }, checkboxChanges(e) { let index = this.values.indexOf(e) if (index > -1) { this.values.splice(index, 1) } else { this.values.push(e) } }, // 获取设置 getinfo() { this.$u.get(`farm/userSetting/my`).then(res => { if (res.code == 200) { this.miteInterval = res.data.miteInterval, this.minPower = res.data.minPower, this.minHeat = res.data.minHeat, this.maxHeat = res.data.maxHeat, this.maxFan = res.data.maxFan, this.minCo2 = res.data.minCo2, this.maxCo2 = res.data.maxCo2 this.list.forEach(item => { if (res.data.singleNotice.includes(item.type.toString())) { item.checked = true; } }) this.value = res.data.singleNotice this.lists.forEach(item => { if (res.data.multipleNotice.includes(item.type.toString())) { item.checked = true; } }) this.values = res.data.multipleNotice } }) }, btnbc() { let data = { miteInterval: this.miteInterval, minPower: this.minPower, minHeat: this.minHeat, maxHeat: this.maxHeat, maxFan: this.maxFan, minCo2: this.minCo2, maxCo2: this.maxCo2, singleNotice: this.value, multipleNotice: this.values } this.$u.put(`farm/userSetting/user`, data).then(res => { if (res.code == 200) { uni.showToast({ title: '保存成功', icon: 'success', duration: 1000 }) }else if(res.code == 401){ uni.navigateTo({ url:'/pages/login/login' }) } else { uni.showToast({ title: res.msg, icon: 'none', duration: 2000 }); } }) } } } </script> <style lang="scss"> page { background-color: #F4FAF8; } .page { // position: relative; width: 750rpx; padding: 40rpx; .btn_box { margin-top: 136rpx; display: flex; flex-wrap: nowrap; align-items: center; .btns { display: flex; align-items: center; justify-content: center; width: 322rpx; height: 88rpx; background: #FFF5D6; border-radius: 20rpx 20rpx 20rpx 20rpx; border: 2rpx solid #FFC107; font-weight: 500; font-size: 32rpx; color: #FFC107; } .btn1 { display: flex; align-items: center; justify-content: center; margin-left: 30rpx; width: 322rpx; height: 88rpx; background: #FFCC25; border-radius: 20rpx 20rpx 20rpx 20rpx; font-weight: 500; font-size: 32rpx; color: #3D3D3D; } } .tit { display: flex; flex-wrap: nowrap; align-items: center; image { margin-right: 22rpx; width: 52rpx; height: 52rpx; } font-weight: 600; font-size: 36rpx; color: #3D3D3D; } .tit1 { margin-top: 32rpx; display: flex; flex-wrap: nowrap; align-items: center; image { margin-right: 18rpx; width: 46rpx; height: 46rpx; } font-weight: 400; font-size: 32rpx; color: #3D3D3D; } .set_li { margin-top: 34rpx; margin-left: 104rpx; display: flex; flex-wrap: nowrap; align-items: center; font-weight: 400; font-size: 32rpx; color: #808080; .ipt_box { display: flex; align-items: center; justify-content: center; margin: 0 16rpx; // width: 98rpx; height: 88rpx; background: #FFFFFF; box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.15); border-radius: 20rpx 20rpx 20rpx 20rpx; .ips { margin-left: 15rpx; width: 100rpx; } .my-placeholder { font-weight: 400; font-size: 32rpx; color: #808080; } } } } </style>