245 lines
6.9 KiB
Vue
245 lines
6.9 KiB
Vue
<template>
|
||
<z-paging ref="paging" @query="queryList" v-model="dataList" :auto-show-system-loading="true"
|
||
empty-view-text="抱歉,暂时还没有相关数据!">
|
||
<template #top>
|
||
<custom-nav-bar :left="true" title="阀门"></custom-nav-bar>
|
||
</template>
|
||
<view class="index-container">
|
||
<view class="item-container" v-for="item in dataList">
|
||
<view style="display: flex; align-items: center; justify-content: space-between;">
|
||
<view class="flex-text" style="margin: 15px;">
|
||
<view class="flex-text-one" style="color: black;">{{ item.wo.showName }}:</view>
|
||
<view>{{ item.device.deviceCode }}</view>
|
||
<view style="margin-left: 10px;">
|
||
<u-tag text="在线" type="success" plain v-if="dc.dataObj[item.device.deviceCode]?.online" />
|
||
<u-tag text="离线" type="error" plain v-else />
|
||
</view>
|
||
</view>
|
||
<view style="margin-right: 5px;">
|
||
<u-button type="success" text="刷新" icon="reload"
|
||
:loading="dc.dataObj[item.device.deviceCode]?.refresh"
|
||
@click="dc.refreshDeviceItem(item.device.deviceCode, item.device)" />
|
||
</view>
|
||
</view>
|
||
<u-gap height="1" bgColor="#D2D2D2"></u-gap>
|
||
<view style="display: flex;justify-content: space-between;align-items: center;">
|
||
<uni-row class="data">
|
||
<uni-col :span="12">
|
||
<view class="flex-text global-font-size-1">
|
||
<view class="flex-text-one">电量:</view>
|
||
<view>{{ dc.dataObj[item.device.deviceCode]?.adc.b || '-' }}%</view>
|
||
</view>
|
||
</uni-col>
|
||
<uni-col :span="12">
|
||
<view class="flex-text global-font-size-1">
|
||
<view class="flex-text-one">频段:</view>
|
||
<view>{{ item.device.deviceExtendValve.rolaFrequency }}</view>
|
||
</view>
|
||
</uni-col>
|
||
<uni-col :span="12">
|
||
<view class="flex-text global-font-size-1">
|
||
<view class="flex-text-one">软/硬件版本:</view>
|
||
<view>{{ item.device.softVer || '-'}} / {{ item.device.deviceVersion || '-' }}</view>
|
||
</view>
|
||
</uni-col>
|
||
<uni-col :span="12">
|
||
<view class="flex-text global-font-size-1">
|
||
<view class="flex-text-one">压力:</view>
|
||
<view>{{ dc.dataObj[item.device.deviceCode]?.adc.p || '-' }}</view>
|
||
</view>
|
||
</uni-col>
|
||
<uni-col :span="8">
|
||
<u-button type="success" @click="restart(item)" disabled>重启</u-button>
|
||
</uni-col>
|
||
<uni-col :span="8" v-hasPermi="['iot:dev-ops:vlf']">
|
||
<u-button type="success" @click="editRolaFrequency(item)">修改频段</u-button>
|
||
</uni-col>
|
||
<uni-col :span="8" v-hasPermi="['iot:dev-ops:gvc']">
|
||
<u-button type="success" @click="getConfig(item)">获取配置</u-button>
|
||
</uni-col>
|
||
<uni-col :span="8">
|
||
<u-button type="success" @click="" disabled>压力校准</u-button>
|
||
</uni-col>
|
||
<uni-col :span="8">
|
||
<u-button type="success" @click="" disabled>桥接</u-button>
|
||
</uni-col>
|
||
<uni-col :span="8">
|
||
<u-button type="success" @click="" disabled>删除桥接</u-button>
|
||
</uni-col>
|
||
</uni-row>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</z-paging>
|
||
|
||
<!-- 修改频段 -->
|
||
<custom-popup ref="refFrequency" :title="rolaFrequency.item?.deviceCode" :footer="true"
|
||
@confirm="editRolaFrequencyHandler">
|
||
<view class="jz-info" style="width: 80vw;height:150px;padding: 10px;">
|
||
<uni-forms ref="baseForm" style="padding-top: 10px;">
|
||
<uni-forms-item label="原频段" required>
|
||
<uni-data-select v-model="rolaFrequency.old" :localdata="rolaFrequency.range" :clear="false" />
|
||
</uni-forms-item>
|
||
<uni-forms-item label="新频段" required>
|
||
<uni-data-select v-model="rolaFrequency.new" :localdata="rolaFrequency.range" :clear="false" />
|
||
</uni-forms-item>
|
||
</uni-forms>
|
||
</view>
|
||
</custom-popup>
|
||
</template>
|
||
<script>
|
||
import * as DevOpsApi from "@/api/dev-ops/index.js"
|
||
|
||
export default {
|
||
data() {
|
||
return {
|
||
station: null,
|
||
queryParams: {
|
||
landId: null, //地块id
|
||
stationId: null, //基站id
|
||
},
|
||
dataList: [],
|
||
dc: getApp().dc, // 设备控制公共代码
|
||
rolaFrequency: {
|
||
item: null,
|
||
old: null,
|
||
new: null,
|
||
range: [],
|
||
},
|
||
}
|
||
},
|
||
onLoad(par) {
|
||
if (par.station) {
|
||
this.station = JSON.parse(par.station)
|
||
this.queryParams = {
|
||
landId: this.station.landId,
|
||
stationId: this.station.id,
|
||
}
|
||
} else {
|
||
this.queryParams = {
|
||
landId: -1,
|
||
stationId: -1,
|
||
}
|
||
}
|
||
// 频段
|
||
let list = [];
|
||
for (let i = 410; i < 491; i++) {
|
||
let lfObj = {
|
||
value: i,
|
||
text: i.toString()
|
||
}
|
||
list.push(lfObj);
|
||
}
|
||
this.rolaFrequency.range = list;
|
||
},
|
||
onShow() {},
|
||
mounted() {},
|
||
methods: {
|
||
queryList(pageNo, pageSize) {
|
||
DevOpsApi.getStationValvelist(this.queryParams.landId, this.queryParams.stationId).then(res => {
|
||
this.$refs.paging.completeByTotal(res.rows);
|
||
});
|
||
},
|
||
// 重启
|
||
restart(item) {
|
||
console.error("重启:", item);
|
||
},
|
||
// 修改频段
|
||
editRolaFrequency(item) {
|
||
this.$refs.refFrequency.show();
|
||
this.rolaFrequency.item = item.device;
|
||
this.rolaFrequency.old = item.device.deviceExtendValve.rolaFrequency;
|
||
this.rolaFrequency.new = item.device.deviceExtendValve.rolaFrequency;
|
||
},
|
||
// 获取配置
|
||
getConfig(item) {
|
||
this.$showConfirm("获取配置").then(res => {
|
||
if (res.confirm) {
|
||
DevOpsApi.gvc(item.device.deviceCode).then(res => {
|
||
this.$toast(res.msg)
|
||
})
|
||
}
|
||
})
|
||
},
|
||
// 关闭弹出层
|
||
close() {
|
||
for (var key in this.pop) {
|
||
this.pop[key] = false;
|
||
}
|
||
},
|
||
|
||
editRolaFrequencyHandler(e) {
|
||
if (!e) {
|
||
return;
|
||
}
|
||
// if (this.rolaFrequency.item.rolaFrequency == this.rolaFrequency.rolaFrequency) {
|
||
// this.$toast("新旧频段不能相同!")
|
||
// return;
|
||
// }
|
||
let msg = `您确定要修改【${this.rolaFrequency.item.deviceCode}】的频段为【${this.rolaFrequency.new}】?`;
|
||
this.$showConfirm(msg).then(res => {
|
||
if (res.confirm) {
|
||
DevOpsApi.vlf({
|
||
stationCode: this.station.deviceCode,
|
||
deviceCode: this.rolaFrequency.item.deviceCode,
|
||
oldFrequency: this.rolaFrequency.old,
|
||
newFrequency: this.rolaFrequency.new
|
||
}).then(res => {
|
||
this.$toast(res.msg)
|
||
})
|
||
} else {
|
||
this.pop.rolaFrequency = true;
|
||
}
|
||
})
|
||
},
|
||
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
.index-container {
|
||
.list {
|
||
margin: 0px 10px;
|
||
}
|
||
|
||
.list-size {
|
||
display: flex;
|
||
padding: 5px 5px;
|
||
background: white;
|
||
justify-content: center;
|
||
}
|
||
|
||
.search {
|
||
background-color: white;
|
||
padding: 10px;
|
||
}
|
||
|
||
.item-container {
|
||
margin: 10px 10px;
|
||
background-color: white;
|
||
padding-bottom: 10px;
|
||
border-radius: 10px;
|
||
box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.05);
|
||
}
|
||
|
||
.flex-text {
|
||
display: flex;
|
||
align-items: center;
|
||
|
||
.flex-text-one {
|
||
color: #939393;
|
||
font-weight: bold;
|
||
}
|
||
}
|
||
|
||
.data {
|
||
margin: 10px 20px !important;
|
||
width: 100%;
|
||
|
||
.uni-col {
|
||
margin-bottom: 5px;
|
||
}
|
||
}
|
||
}
|
||
</style> |