532 lines
11 KiB
Vue
532 lines
11 KiB
Vue
<template>
|
|
<view class="page">
|
|
<u-navbar title="设置" :border-bottom="false" :background="bgc" title-color='#2E4975' title-size='36'
|
|
height='36'></u-navbar>
|
|
<view class="card">
|
|
<view class="li" @click.stop="sremake()">
|
|
<view class="tit">
|
|
备注
|
|
</view>
|
|
<view class="info">
|
|
<view class="txt">
|
|
{{deviceInfo.remark}}
|
|
</view>
|
|
<view class="iconfont icon-xiangyou1"></view>
|
|
</view>
|
|
</view>
|
|
<view class="li" @click="showfz=true">
|
|
<view class="tit">
|
|
分组
|
|
</view>
|
|
<view class="info">
|
|
<view class="txt">
|
|
{{deviceInfo.groupName}}
|
|
</view>
|
|
<view class="iconfont icon-xiangyou1"></view>
|
|
</view>
|
|
</view>
|
|
<view class="li" @click="sprice()">
|
|
<view class="tit">
|
|
电价设置
|
|
</view>
|
|
<view class="info">
|
|
<view class="txt">
|
|
{{deviceInfo.price}}元/度
|
|
</view>
|
|
<view class="iconfont icon-xiangyou1"></view>
|
|
</view>
|
|
</view>
|
|
<view class="li" @click="show=true">
|
|
<view class="tit">
|
|
欠费断电
|
|
</view>
|
|
<view class="info">
|
|
<view class="txt" v-if="deviceInfo.outageWay==1">
|
|
欠费断电
|
|
</view>
|
|
<view class="txt" v-if="deviceInfo.outageWay==0">
|
|
欠费不断电
|
|
</view>
|
|
<view class="iconfont icon-xiangyou1"></view>
|
|
</view>
|
|
</view>
|
|
<view class="li">
|
|
<view class="tit">
|
|
S/N
|
|
</view>
|
|
<view class="info">
|
|
<view class="txt">
|
|
{{deviceInfo.mac}}
|
|
</view>
|
|
<!-- <view class="iconfont icon-xiangyou1"></view> -->
|
|
</view>
|
|
</view>
|
|
<view class="li">
|
|
<view class="tit">
|
|
类型
|
|
</view>
|
|
<view class="info">
|
|
<view class="txt">
|
|
{{deviceInfo.model}}
|
|
</view>
|
|
<!-- <view class="iconfont icon-xiangyou1"></view> -->
|
|
</view>
|
|
</view>
|
|
<view class="li">
|
|
<view class="tit">
|
|
Wifi配网
|
|
</view>
|
|
<view class="info">
|
|
<view class="txt">
|
|
{{deviceInfo.wifi}}
|
|
</view>
|
|
<!-- <view class="iconfont icon-xiangyou1"></view> -->
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<u-mask :show="showloading"></u-mask>
|
|
<u-mask :show="showfz"></u-mask>
|
|
<view class="fz" v-show="showfz" >
|
|
<view class="fz_top">
|
|
<view class="iconfont icon-shanchu" @click="showfz=false">
|
|
|
|
</view>
|
|
<view class="tit">
|
|
设备分组
|
|
</view>
|
|
<view class="txt" @click="tosetpage()">
|
|
管理
|
|
</view>
|
|
</view>
|
|
<view class="card_cont">
|
|
<view class="cards" v-for="(item,index) in groupList" :key="index" @click="changeGp(item)">
|
|
<view class="txt">
|
|
{{item.groupName}}
|
|
</view>
|
|
<view class="num">
|
|
{{item.deviceCount}}
|
|
</view>
|
|
</view>
|
|
<view class="zhanwei" style="width: 100%;height: 100rpx;">
|
|
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="dd">
|
|
<u-select v-model="show" :list="list" title='欠费断电' @confirm="confirm" ></u-select>
|
|
</view>
|
|
<u-popup v-model="showpopup" mode="center" border-radius='20'>
|
|
<view class="popcard" v-if="showremake">
|
|
<view class="tit">
|
|
修改备注
|
|
</view>
|
|
<view class="ipt">
|
|
<u-input v-model="remake" placeholder=" " border='surround' placeholder-style='font-size: 24rpx;' />
|
|
</view>
|
|
<view class="btnbox">
|
|
<view class="btn2" @click="close()">
|
|
取消
|
|
</view>
|
|
<view class="btn1" @click="sub(1)">
|
|
确定
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
<view class="popcard" v-if="showpeice" >
|
|
<view class="tit">
|
|
修改备注
|
|
</view>
|
|
<view class="ipt">
|
|
<u-input v-model="price" placeholder=" " border='surround' placeholder-style='font-size: 24rpx;'/>
|
|
</view>
|
|
<view class="btnbox">
|
|
<view class="btn2" @click="close()">
|
|
取消
|
|
</view>
|
|
<view class="btn1" @click="sub(2)">
|
|
确定
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
</u-popup>
|
|
<view class="btn" @click="deldevice()">
|
|
解除绑定
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
bgc: {
|
|
backgroundColor: "#F7FAFE",
|
|
},
|
|
showloading: false,
|
|
showfz: false,
|
|
show: false,
|
|
list: [{
|
|
value: '1',
|
|
label: '欠费立即断电'
|
|
},
|
|
{
|
|
value: '0',
|
|
label: '欠费不断电'
|
|
}
|
|
],
|
|
id:'',
|
|
deviceInfo:{},
|
|
groupList:{},
|
|
showpopup:false,
|
|
remake:'',
|
|
price:'',
|
|
showpeice:false,
|
|
showremake:false,
|
|
}
|
|
},
|
|
onLoad(option) {
|
|
|
|
let id = option.id
|
|
this.id=id
|
|
this.getDevice(id)
|
|
|
|
},
|
|
onShow() {
|
|
this.getgroup()
|
|
},
|
|
methods: {
|
|
changeGp(item){
|
|
console.log(item,'changeGp');
|
|
let data ={
|
|
deviceId:this.id,
|
|
groupId: item.groupId
|
|
}
|
|
this.putdevice(data)
|
|
this.showfz=false
|
|
|
|
setTimeout(()=>{
|
|
this.getgroup()
|
|
},1000)
|
|
|
|
},
|
|
tosetpage(){
|
|
this.showfz=false
|
|
uni.navigateTo({
|
|
url:'/pages/shebei/fenzu'
|
|
})
|
|
},
|
|
sub(num){
|
|
if(num==1){
|
|
let data ={
|
|
deviceId:this.id,
|
|
remark:this.remake
|
|
}
|
|
this.showpopup=false
|
|
this.showremake=false
|
|
this.putdevice(data)
|
|
|
|
}else if(num==2){
|
|
let data ={
|
|
deviceId:this.id,
|
|
price:this.price
|
|
}
|
|
this.showpopup=false
|
|
this.showpeice=false
|
|
this.putdevice(data)
|
|
}
|
|
},
|
|
deldevice(){
|
|
this.$u.delete('/app/device/landlord/unbind/'+this.id).then((res) => {
|
|
if (res.code == 200) {
|
|
|
|
uni.showToast({
|
|
title: '解除成功',
|
|
icon: 'none',
|
|
duration: 2000
|
|
});
|
|
uni.navigateBack({
|
|
delta: 1 // 返回上级页面
|
|
});
|
|
|
|
}
|
|
})
|
|
},
|
|
confirm(e){
|
|
let data ={
|
|
deviceId:this.id,
|
|
outageWay: e[0].value
|
|
}
|
|
this.putdevice(data)
|
|
},
|
|
putdevice(data){
|
|
this.$u.put('/app/device',data).then((res) => {
|
|
if (res.code == 200) {
|
|
this.getDevice()
|
|
uni.showToast({
|
|
title: '修改成功',
|
|
icon: 'none',
|
|
duration: 2000
|
|
});
|
|
|
|
}
|
|
})
|
|
},
|
|
sremake(){
|
|
this.showpopup=true
|
|
this.showremake=true
|
|
},
|
|
sprice(){
|
|
this.showpopup=true
|
|
this.showpeice=true
|
|
},
|
|
close() {
|
|
this.showpeice=false
|
|
this.showremake=false
|
|
this.showpopup=false
|
|
|
|
},
|
|
getDevice(id){
|
|
this.$u.get("/app/device/"+this.id).then((res) => {
|
|
// this.$forceUpdate()
|
|
if (res.code == 200) {
|
|
this.deviceInfo=res.data
|
|
console.log(this.deviceInfo,'resres');
|
|
this.price=this.deviceInfo.price
|
|
this.remake=this.deviceInfo.remark
|
|
// this.loadings=true
|
|
// this.initChart()
|
|
}
|
|
});
|
|
|
|
},
|
|
getgroup(){
|
|
this.$u.get("/app/group/list").then((res) => {
|
|
// this.$forceUpdate()
|
|
if (res.code == 200) {
|
|
this.groupList=res.rows
|
|
|
|
// this.loadings=true
|
|
// this.initChart()
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
page {
|
|
background-color: #F7FAFE;
|
|
}
|
|
|
|
.page {
|
|
width: 750rpx;
|
|
.popcard{
|
|
display: flex;
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
// padding: 40rpx;
|
|
width: 550rpx;
|
|
height: 400rpx;
|
|
border-radius: 20rpx;
|
|
.tit{
|
|
display: flex;
|
|
justify-content: center;
|
|
width: 100%;
|
|
align-items: center;
|
|
font-size: 28rpx;
|
|
font-weight: 700;
|
|
}
|
|
.ipt{
|
|
margin-top: 60rpx;
|
|
width: 80%;
|
|
// width: 60%;
|
|
.u-input::placeholder {
|
|
font-size: 20px;
|
|
color: red;
|
|
}
|
|
}
|
|
.btnbox{
|
|
width: 100%;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
border-radius: 0 0 20rpx 20rpx;
|
|
.btn2{
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 50%;
|
|
// justify-content: center;
|
|
|
|
// width: 200rpx;
|
|
// height: 70rpx;
|
|
// border-radius: 20rpx;
|
|
font-size: 32rpx;
|
|
font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
|
|
font-weight: 400;
|
|
color: #FFFFFF;
|
|
background-color: #2A82E4;
|
|
}
|
|
.btn1{
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 50%;
|
|
// justify-content: center;
|
|
|
|
// width: 200rpx;
|
|
// height: 70rpx;
|
|
// border-radius: 20rpx;
|
|
font-size: 32rpx;
|
|
font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
|
|
font-weight: 400;
|
|
color: #000;
|
|
background-color: #fff;
|
|
border: 1rpx solid #ccc;
|
|
}
|
|
}
|
|
|
|
}
|
|
.card {
|
|
padding: 16rpx 38rpx;
|
|
margin: 60rpx auto 0;
|
|
width: 654rpx;
|
|
// height: 734rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 30rpx;
|
|
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1);
|
|
opacity: 1;
|
|
|
|
.li {
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
height: 94rpx;
|
|
border-bottom: #E5E5E5 solid 2rpx;
|
|
|
|
.tit {
|
|
font-size: 32rpx;
|
|
font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
|
|
font-weight: 400;
|
|
color: #000000;
|
|
}
|
|
|
|
.info {
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
|
|
.txt {
|
|
font-size: 32rpx;
|
|
font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
|
|
font-weight: 400;
|
|
color: #95989D;
|
|
}
|
|
|
|
.icon-xiangyou1 {
|
|
margin-left: 6rpx;
|
|
color: #95989D;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin: 52rpx auto 0;
|
|
width: 654rpx;
|
|
height: 100rpx;
|
|
background: #FF4F4F;
|
|
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1);
|
|
opacity: 1;
|
|
border-radius: 30rpx;
|
|
font-size: 32rpx;
|
|
font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
|
|
font-weight: 400;
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
.fz {
|
|
|
|
position: fixed;
|
|
bottom: 0;
|
|
width: 750rpx;
|
|
height: 1152rpx;
|
|
background: #F7FAFE;
|
|
border-radius: 30rpx 30rpx 0 0;
|
|
z-index: 10071;
|
|
|
|
.fz_top {
|
|
margin: 18rpx 0 auto;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
justify-content: space-between;
|
|
|
|
.icon-shanchu {
|
|
margin-left: 40rpx;
|
|
font-size: 50rpx;
|
|
}
|
|
|
|
.tit {
|
|
font-size: 36rpx;
|
|
font-family: Source Han Sans, Source Han Sans;
|
|
font-weight: 400;
|
|
color: #000000;
|
|
}
|
|
|
|
.txt {
|
|
margin-right: 40rpx;
|
|
font-size: 36rpx;
|
|
font-family: Source Han Sans, Source Han Sans;
|
|
font-weight: 400;
|
|
color: #2A82E4;
|
|
|
|
}
|
|
}
|
|
|
|
.card_cont {
|
|
width: 750rpx;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: baseline;
|
|
justify-content: center;
|
|
height: 1030rpx;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
|
|
.cards {
|
|
margin-top: 32rpx;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0 40rpx;
|
|
width: 682rpx;
|
|
border-radius: 30rpx;
|
|
height: 114rpx;
|
|
background: #FFFFFF;
|
|
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1);
|
|
|
|
.txt {
|
|
font-size: 36rpx;
|
|
font-family: Source Han Sans, Source Han Sans;
|
|
font-weight: 400;
|
|
color: #000000;
|
|
}
|
|
|
|
.num {
|
|
font-size: 36rpx;
|
|
font-family: Source Han Sans, Source Han Sans;
|
|
font-weight: 400;
|
|
color: #000000;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style> |