jsy-app/pages/dev-ops/valve.vue

250 lines
7.3 KiB
Vue
Raw Normal View History

2024-12-28 21:29:59 +08:00
<template>
2024-12-31 19:42:29 +08:00
<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">
<u-button type="success" @click="editRolaFrequency(item)">修改频段</u-button>
</uni-col>
<uni-col :span="8">
<u-button type="success" @click="getConfig(item)" 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-col :span="8">
<u-button type="success" @click="" disabled>删除桥接</u-button>
</uni-col>
</uni-row>
</view>
</view>
</view>
</z-paging>
2024-12-28 21:29:59 +08:00
2024-12-31 19:42:29 +08:00
<u-popup :show="pop.rolaFrequency" mode="center" @close="close" closeable>
<view class="jz-info" style="width: 80vw;height:200px;padding: 15px 20px;">
<u-text :text="rolaFrequency.item.deviceCode"></u-text>
2025-01-02 13:16:03 +08:00
<uni-forms ref="baseForm" style="padding-top: 10px;">
2024-12-31 19:42:29 +08:00
<uni-forms-item label="原频段">
2025-01-02 13:16:03 +08:00
<uni-data-select v-model="rolaFrequency.old" :localdata="rolaFrequency.range" :clear="false" />
2024-12-31 19:42:29 +08:00
</uni-forms-item>
<uni-forms-item label="新频段" required>
2025-01-02 13:16:03 +08:00
<uni-data-select v-model="rolaFrequency.new" :localdata="rolaFrequency.range" :clear="false" />
2024-12-31 19:42:29 +08:00
</uni-forms-item>
</uni-forms>
</view>
<uni-row style="height: 40px;">
<uni-col :span="12" style="height: 40px;">
<u-button type="primary" plain :hairline="true" @click="editRolaFrequencyHandler"
style="width: 100%!important;height: 40px!important;border-radius: 0!important;">确定</u-button>
</uni-col>
<uni-col :span="12" style="height: 40px;">
<u-button type="info" plain :hairline="true" @click="close"
style="width: 100%!important;height: 40px!important;border-radius: 0!important;">取消</u-button>
</uni-col>
</uni-row>
</u-popup>
</template>
2024-12-28 21:29:59 +08:00
<script>
2024-12-31 19:42:29 +08:00
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, // 设备控制公共代码
pop: {
rolaFrequency: false,
},
rolaFrequency: {
item: null,
2025-01-02 13:16:03 +08:00
old: null,
new: null,
2024-12-31 19:42:29 +08:00
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) {
console.error("修改频段:", item);
this.pop.rolaFrequency = true;
this.rolaFrequency.item = item.device;
2025-01-02 13:16:03 +08:00
this.rolaFrequency.old = item.device.deviceExtendValve.rolaFrequency;
this.rolaFrequency.new = item.device.deviceExtendValve.rolaFrequency;
2024-12-31 19:42:29 +08:00
},
// 获取配置
getConfig(item) {
console.error("获取配置:", item);
},
// 关闭弹出层
close() {
for (var key in this.pop) {
this.pop[key] = false;
}
},
editRolaFrequencyHandler() {
// if (this.rolaFrequency.item.rolaFrequency == this.rolaFrequency.rolaFrequency) {
// this.$toast("新旧频段不能相同!")
// return;
// }
this.pop.rolaFrequency = false;
2025-01-02 13:16:03 +08:00
let msg = `您确定要修改【${this.rolaFrequency.item.deviceCode}】的频段为【${this.rolaFrequency.new}】?`;
2024-12-31 19:42:29 +08:00
this.$showConfirm(msg).then(res => {
if (res.confirm) {
DevOpsApi.updateVLF({
stationCode: this.station.deviceCode,
deviceCode: this.rolaFrequency.item.deviceCode,
2025-01-02 13:16:03 +08:00
oldFrequency: this.rolaFrequency.old,
newFrequency: this.rolaFrequency.new
2024-12-31 19:42:29 +08:00
}).then(res => {
this.$toast(res.msg)
})
} else {
this.pop.rolaFrequency = true;
}
})
},
}
}
2024-12-28 21:29:59 +08:00
</script>
2024-12-31 19:42:29 +08:00
<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;
}
}
}
2024-12-28 21:29:59 +08:00
</style>