修改水质设备
parent
86ba0f6785
commit
bf18b4a295
|
|
@ -3,48 +3,75 @@
|
||||||
<view class="content-box">
|
<view class="content-box">
|
||||||
<view class="secreen-section">
|
<view class="secreen-section">
|
||||||
<u-dropdown ref="uDropdown" @open="openDropDown">
|
<u-dropdown ref="uDropdown" @open="openDropDown">
|
||||||
<u-dropdown-item v-model="addressValue" title="基地"
|
<u-dropdown-item
|
||||||
:options="deviceAddressList" @change="change"></u-dropdown-item>
|
v-model="addressValue"
|
||||||
<u-dropdown-item v-model="device_id" title="检测点"
|
title="基地"
|
||||||
:options="options2" @change="change2"></u-dropdown-item>
|
:options="deviceAddressList"
|
||||||
|
@change="change"
|
||||||
|
></u-dropdown-item>
|
||||||
|
<u-dropdown-item
|
||||||
|
v-model="device_id"
|
||||||
|
title="检测点"
|
||||||
|
:options="options2"
|
||||||
|
@change="change2"
|
||||||
|
></u-dropdown-item>
|
||||||
<u-dropdown-item title="日期">
|
<u-dropdown-item title="日期">
|
||||||
<view class="slot-content" style="background-color: #FFFFFF;">
|
<view class="slot-content" style="background-color: #ffffff">
|
||||||
<view class="select-date u-border-bottom">
|
<view class="select-date u-border-bottom">
|
||||||
<view class="name" @click="calendarShow = true">
|
<view class="name" @click="calendarShow = true">
|
||||||
<u-icon name="calendar" color="#333" size="32"></u-icon>
|
<u-icon name="calendar" color="#333" size="32"></u-icon>
|
||||||
<text style="margin-left: 6rpx;">选择日期:</text>
|
<text style="margin-left: 6rpx">选择日期:</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="time_box">
|
<view class="time_box">
|
||||||
<view class="tip_txt" v-if="!start_date_c"
|
<view
|
||||||
@click="calendarShow = true">开始日期-结束日期</view>
|
class="tip_txt"
|
||||||
<view class="tile_val" v-else
|
v-if="!start_date_c"
|
||||||
@click="calendarShow = true">{{start_date_c}} ~ {{end_date_c}}</view>
|
@click="calendarShow = true"
|
||||||
<view class="delete_btn" v-if="start_date_c" @click="deleteDateFn()">
|
>开始日期-结束日期</view
|
||||||
|
>
|
||||||
|
<view class="tile_val" v-else @click="calendarShow = true"
|
||||||
|
>{{ start_date_c }} ~ {{ end_date_c }}</view
|
||||||
|
>
|
||||||
|
<view
|
||||||
|
class="delete_btn"
|
||||||
|
v-if="start_date_c"
|
||||||
|
@click="deleteDateFn()"
|
||||||
|
>
|
||||||
<u-icon name="close-circle" color="#333" size="34"></u-icon>
|
<u-icon name="close-circle" color="#333" size="34"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<u-button type="primary" @click="selectedDateConform()">确定</u-button>
|
<u-button type="primary" @click="selectedDateConform()"
|
||||||
|
>确定</u-button
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
</u-dropdown-item>
|
</u-dropdown-item>
|
||||||
</u-dropdown>
|
</u-dropdown>
|
||||||
<view class="quick_times">
|
<view class="quick_times">
|
||||||
<view class="tab-section">
|
<view class="tab-section">
|
||||||
<view class="tab-item" :class="currentIndex==index?'active':''"
|
<view
|
||||||
|
class="tab-item"
|
||||||
|
:class="currentIndex == index ? 'active' : ''"
|
||||||
v-for="(item, index) in sublist"
|
v-for="(item, index) in sublist"
|
||||||
@click="subChange1(index)" :key="index" >
|
@click="subChange1(index)"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
<view class="name">{{ item.name }}</view>
|
<view class="name">{{ item.name }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="warning-section">
|
<view class="warning-section">
|
||||||
<view class="top_box">
|
<view class="top_box">
|
||||||
<view class="tit">预警数据统计</view>
|
<view class="tit">预警数据统计</view>
|
||||||
<view class="set_warning">
|
<view class="set_warning">
|
||||||
<u-button v-auth="['endpoint.water.setting','endpoint.water.setting_edit']" class="set_btn" @click="setWarnInfo()" size="mini">设置</u-button>
|
<u-button
|
||||||
|
v-auth="['endpoint.water.setting', 'endpoint.water.setting_edit']"
|
||||||
|
class="set_btn"
|
||||||
|
@click="setWarnInfo()"
|
||||||
|
size="mini"
|
||||||
|
>设置</u-button
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="mb-20rpx">
|
<view class="mb-20rpx">
|
||||||
|
|
@ -53,25 +80,37 @@
|
||||||
<view class="cont-box">
|
<view class="cont-box">
|
||||||
<view class="warning-item" @click="warningClickFn(1)">
|
<view class="warning-item" @click="warningClickFn(1)">
|
||||||
<view class="name">Ⅰ级预警</view>
|
<view class="name">Ⅰ级预警</view>
|
||||||
<view class="val">{{deviceWarning[1]?deviceWarning[1]:0}}<text class="unit">个</text></view>
|
<view class="val"
|
||||||
|
>{{ deviceWarning[1] ? deviceWarning[1] : 0
|
||||||
|
}}<text class="unit">个</text></view
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
<view class="warning-item" @click="warningClickFn(2)">
|
<view class="warning-item" @click="warningClickFn(2)">
|
||||||
<view class="name">Ⅱ级预警</view>
|
<view class="name">Ⅱ级预警</view>
|
||||||
<view class="val">{{deviceWarning[2]?deviceWarning[2]:0}}<text class="unit">个</text></view>
|
<view class="val"
|
||||||
|
>{{ deviceWarning[2] ? deviceWarning[2] : 0
|
||||||
|
}}<text class="unit">个</text></view
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
<view class="warning-item" @click="warningClickFn(3)">
|
<view class="warning-item" @click="warningClickFn(3)">
|
||||||
<view class="name">Ⅲ级预警</view>
|
<view class="name">Ⅲ级预警</view>
|
||||||
<view class="val">{{deviceWarning[3]?deviceWarning[3]:0}}<text class="unit">个</text></view>
|
<view class="val"
|
||||||
|
>{{ deviceWarning[3] ? deviceWarning[3] : 0
|
||||||
|
}}<text class="unit">个</text></view
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
<view class="warning-item" @click="warningClickFn(4)">
|
<view class="warning-item" @click="warningClickFn(4)">
|
||||||
<view class="name">Ⅳ级预警</view>
|
<view class="name">Ⅳ级预警</view>
|
||||||
<view class="val">{{deviceWarning[4]?deviceWarning[4]:0}}<text class="unit">个</text></view>
|
<view class="val"
|
||||||
|
>{{ deviceWarning[4] ? deviceWarning[4] : 0
|
||||||
|
}}<text class="unit">个</text></view
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<template v-if="loadingType != 0">
|
<template v-if="loadingType != 0">
|
||||||
<!-- 氯 -->
|
<!-- 氯 -->
|
||||||
<view class="chart_section">
|
<view class="chart_section" v-if="chart_chlorine">
|
||||||
<view class="top_box">
|
<view class="top_box">
|
||||||
<view class="tit">氯<text class="unit">mg/L</text></view>
|
<view class="tit">氯<text class="unit">mg/L</text></view>
|
||||||
<view class="name">{{ addressName }}</view>
|
<view class="name">{{ addressName }}</view>
|
||||||
|
|
@ -89,7 +128,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 电导率 -->
|
<!-- 电导率 -->
|
||||||
<view class="chart_section">
|
<view class="chart_section" v-if="chart_conductivity">
|
||||||
<view class="top_box">
|
<view class="top_box">
|
||||||
<view class="tit">电导率<text class="unit">us/cm</text></view>
|
<view class="tit">电导率<text class="unit">us/cm</text></view>
|
||||||
<view class="name">{{ addressName }}</view>
|
<view class="name">{{ addressName }}</view>
|
||||||
|
|
@ -108,7 +147,7 @@
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 氧气 -->
|
<!-- 氧气 -->
|
||||||
<view class="chart_section">
|
<view class="chart_section" v-if="chart_oxygen">
|
||||||
<view class="top_box">
|
<view class="top_box">
|
||||||
<view class="tit">氧气<text class="unit">mg/L</text></view>
|
<view class="tit">氧气<text class="unit">mg/L</text></view>
|
||||||
<view class="name">{{ addressName }}</view>
|
<view class="name">{{ addressName }}</view>
|
||||||
|
|
@ -126,7 +165,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- PH -->
|
<!-- PH -->
|
||||||
<view class="chart_section">
|
<view class="chart_section" v-if="chart_ph">
|
||||||
<view class="top_box">
|
<view class="top_box">
|
||||||
<view class="tit">PH<text class="unit"></text></view>
|
<view class="tit">PH<text class="unit"></text></view>
|
||||||
<view class="name">{{ addressName }}</view>
|
<view class="name">{{ addressName }}</view>
|
||||||
|
|
@ -144,7 +183,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 温度 -->
|
<!-- 温度 -->
|
||||||
<view class="chart_section">
|
<view class="chart_section" v-if="chart_temperature">
|
||||||
<view class="top_box">
|
<view class="top_box">
|
||||||
<view class="tit">温度<text class="unit">℃</text></view>
|
<view class="tit">温度<text class="unit">℃</text></view>
|
||||||
<view class="name">{{ addressName }}</view>
|
<view class="name">{{ addressName }}</view>
|
||||||
|
|
@ -162,7 +201,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 浊度 -->
|
<!-- 浊度 -->
|
||||||
<view class="chart_section">
|
<view class="chart_section" v-if="chart_turbidity">
|
||||||
<view class="top_box">
|
<view class="top_box">
|
||||||
<view class="tit">浊度<text class="unit">NTU</text></view>
|
<view class="tit">浊度<text class="unit">NTU</text></view>
|
||||||
<view class="name">{{ addressName }}</view>
|
<view class="name">{{ addressName }}</view>
|
||||||
|
|
@ -182,8 +221,16 @@
|
||||||
</template>
|
</template>
|
||||||
</view>
|
</view>
|
||||||
<!-- 设置预警值 -->
|
<!-- 设置预警值 -->
|
||||||
<u-popup v-model="warningShow" border-radius="28" width="94%" height="70%"
|
<u-popup
|
||||||
mode="center" :closeable="true" :mask-close-able="false" z-index="910">
|
v-model="warningShow"
|
||||||
|
border-radius="28"
|
||||||
|
width="94%"
|
||||||
|
height="70%"
|
||||||
|
mode="center"
|
||||||
|
:closeable="true"
|
||||||
|
:mask-close-able="false"
|
||||||
|
z-index="910"
|
||||||
|
>
|
||||||
<view class="u-popup-section">
|
<view class="u-popup-section">
|
||||||
<view class="top_box">
|
<view class="top_box">
|
||||||
<view class="title">设置预警值</view>
|
<view class="title">设置预警值</view>
|
||||||
|
|
@ -192,39 +239,67 @@
|
||||||
<view class="form_cont">
|
<view class="form_cont">
|
||||||
<u-form v-for="(info, k) in formInfo" :key="k">
|
<u-form v-for="(info, k) in formInfo" :key="k">
|
||||||
<view class="title2 u-border-bottom">{{ keyToName[k] }}</view>
|
<view class="title2 u-border-bottom">{{ keyToName[k] }}</view>
|
||||||
<u-form-item v-for="(cd2,k2) in info"
|
<u-form-item
|
||||||
:label="numberToString[k2]+'级预警'" label-width="140" :key="k2">
|
v-for="(cd2, k2) in info"
|
||||||
|
:label="numberToString[k2] + '级预警'"
|
||||||
|
label-width="140"
|
||||||
|
:key="k2"
|
||||||
|
>
|
||||||
<view class="row">
|
<view class="row">
|
||||||
<view class="input_box flex-row u-margin-bottom-20"
|
<view
|
||||||
v-for="(item,index) in cd2" :key="index">
|
class="input_box flex-row u-margin-bottom-20"
|
||||||
|
v-for="(item, index) in cd2"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
<view class="input_unit_ibox flex-row u-border">
|
<view class="input_unit_ibox flex-row u-border">
|
||||||
<u-input type="number" v-model="item.min" placeholder="请输入" :clearable="false"/>
|
<u-input
|
||||||
|
type="number"
|
||||||
|
v-model="item.min"
|
||||||
|
placeholder="请输入"
|
||||||
|
:clearable="false"
|
||||||
|
/>
|
||||||
<view class="unit">{{ keyToUnit[k] }}</view>
|
<view class="unit">{{ keyToUnit[k] }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="pdlr12">~</view>
|
<view class="pdlr12">~</view>
|
||||||
<view class="input_unit_ibox flex-row u-border">
|
<view class="input_unit_ibox flex-row u-border">
|
||||||
<u-input type="number" v-model="item.max" placeholder="请输入" :clearable="false"/>
|
<u-input
|
||||||
|
type="number"
|
||||||
|
v-model="item.max"
|
||||||
|
placeholder="请输入"
|
||||||
|
:clearable="false"
|
||||||
|
/>
|
||||||
<view class="unit">{{ keyToUnit[k] }}</view>
|
<view class="unit">{{ keyToUnit[k] }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</u-form>
|
</u-form>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
<view class="buttom_section">
|
<view class="buttom_section">
|
||||||
<u-button class="btn" type="default" @click="warningShow = false">取消</u-button>
|
<u-button class="btn" type="default" @click="warningShow = false"
|
||||||
<u-button class="btn" @click="warningInfoBtn()" type="primary">确定</u-button>
|
>取消</u-button
|
||||||
|
>
|
||||||
|
<u-button class="btn" @click="warningInfoBtn()" type="primary"
|
||||||
|
>确定</u-button
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</u-popup>
|
</u-popup>
|
||||||
<u-calendar v-model="calendarShow" :mode="'range'" @change="calendarChange"></u-calendar>
|
<u-calendar
|
||||||
|
v-model="calendarShow"
|
||||||
|
:mode="'range'"
|
||||||
|
@change="calendarChange"
|
||||||
|
></u-calendar>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {showLoading,getLastWeekRange,getLastMonthRange} from '@/com/utils.js'
|
import {
|
||||||
|
showLoading,
|
||||||
|
getLastWeekRange,
|
||||||
|
getLastMonthRange,
|
||||||
|
} from '@/com/utils.js'
|
||||||
import QiunDataCharts from '@/components/qiun-data-charts/qiun-data-charts.vue'
|
import QiunDataCharts from '@/components/qiun-data-charts/qiun-data-charts.vue'
|
||||||
export default {
|
export default {
|
||||||
components: { QiunDataCharts },
|
components: { QiunDataCharts },
|
||||||
|
|
@ -238,24 +313,23 @@
|
||||||
xAxis: {
|
xAxis: {
|
||||||
disableGrid: true,
|
disableGrid: true,
|
||||||
labelCount: 5,
|
labelCount: 5,
|
||||||
|
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
gridType: "dash",
|
gridType: 'dash',
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
min:0
|
min: 0,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
extra: {
|
extra: {
|
||||||
area: {
|
area: {
|
||||||
type: "curve",
|
type: 'curve',
|
||||||
opacity: 0.9,
|
opacity: 0.9,
|
||||||
addLine: true,
|
addLine: true,
|
||||||
gradient: true,
|
gradient: true,
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
chart_conductivity: {}, //电导率
|
chart_conductivity: {}, //电导率
|
||||||
chart_chlorine: {}, //氯
|
chart_chlorine: {}, //氯
|
||||||
|
|
@ -276,13 +350,13 @@
|
||||||
end_date_c: '',
|
end_date_c: '',
|
||||||
sublist: [
|
sublist: [
|
||||||
{
|
{
|
||||||
name: '今天'
|
name: '今天',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '近一周'
|
name: '近一周',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '近一月'
|
name: '近一月',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
currentIndex: 0,
|
currentIndex: 0,
|
||||||
|
|
@ -309,182 +383,183 @@
|
||||||
1: 'Ⅰ',
|
1: 'Ⅰ',
|
||||||
2: 'Ⅱ',
|
2: 'Ⅱ',
|
||||||
3: 'Ⅲ',
|
3: 'Ⅲ',
|
||||||
4:'Ⅳ'
|
4: 'Ⅳ',
|
||||||
},
|
},
|
||||||
device_type: 3,
|
device_type: 3,
|
||||||
};
|
}
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
this.queryDeviceBasics();
|
this.queryDeviceBasics()
|
||||||
this.optsc = JSON.parse(JSON.stringify(this.opts));
|
this.optsc = JSON.parse(JSON.stringify(this.opts))
|
||||||
},
|
|
||||||
onShow(){
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
onShow() {},
|
||||||
methods: {
|
methods: {
|
||||||
warningClickFn(lv) {
|
warningClickFn(lv) {
|
||||||
|
let urlparams = `?lv=${lv}&base=${this.addressValue}&device=${this.device_id}&title=水质监控`
|
||||||
let urlparams = `?lv=${lv}&base=${this.addressValue}&device=${this.device_id}&title=水质监控`;
|
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:`/pages/index/warning-list${urlparams}`
|
url: `/pages/index/warning-list${urlparams}`,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//设置预警值
|
//设置预警值
|
||||||
setWarnInfo() {
|
setWarnInfo() {
|
||||||
this.getDeviceWarningRules();
|
this.getDeviceWarningRules()
|
||||||
this.warningShow = true;
|
this.warningShow = true
|
||||||
},
|
},
|
||||||
//地区
|
//地区
|
||||||
change(val) {
|
change(val) {
|
||||||
console.log(val);
|
console.log(val)
|
||||||
let narray = this.deviceAddressList.filter(item=>{
|
let narray = this.deviceAddressList.filter((item) => {
|
||||||
return item.value==val;
|
return item.value == val
|
||||||
})
|
})
|
||||||
console.log(narray);
|
console.log(narray)
|
||||||
this.addressName = narray[0].name;
|
this.addressName = narray[0].name
|
||||||
this.$refs.uDropdown.highlight(0);
|
this.$refs.uDropdown.highlight(0)
|
||||||
this.queryAddressDevicePoints(val);
|
this.queryAddressDevicePoints(val)
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
//地区下设备id
|
//地区下设备id
|
||||||
change2(val) {
|
change2(val) {
|
||||||
this.$refs.uDropdown.highlight(1);
|
this.$refs.uDropdown.highlight(1)
|
||||||
this.queryMonitoringData();
|
this.queryMonitoringData()
|
||||||
this.getDeviceWarningNums();//报警查询
|
this.getDeviceWarningNums() //报警查询
|
||||||
},
|
},
|
||||||
//日期范围
|
//日期范围
|
||||||
calendarChange(e) {
|
calendarChange(e) {
|
||||||
console.log(e, '日期范围')
|
console.log(e, '日期范围')
|
||||||
this.start_date_c = e.startDate;
|
this.start_date_c = e.startDate
|
||||||
this.end_date_c = e.endDate;
|
this.end_date_c = e.endDate
|
||||||
},
|
},
|
||||||
selectedDateConform() {
|
selectedDateConform() {
|
||||||
this.q_start_time = this.start_date_c;
|
this.q_start_time = this.start_date_c
|
||||||
this.q_end_time = this.end_date_c;
|
this.q_end_time = this.end_date_c
|
||||||
this.queryMonitoringData();
|
this.queryMonitoringData()
|
||||||
this.$refs.uDropdown.close();
|
this.$refs.uDropdown.close()
|
||||||
if (this.q_start_time != this.q_end_time) {
|
if (this.q_start_time != this.q_end_time) {
|
||||||
this.currentIndex = -1;
|
this.currentIndex = -1
|
||||||
} else {
|
} else {
|
||||||
this.currentIndex = 0;
|
this.currentIndex = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//删除选择的时间
|
//删除选择的时间
|
||||||
deleteDateFn() {
|
deleteDateFn() {
|
||||||
this.start_date_c = '';
|
this.start_date_c = ''
|
||||||
this.end_date_c = '';
|
this.end_date_c = ''
|
||||||
},
|
},
|
||||||
//时间筛选
|
//时间筛选
|
||||||
openDropDown(index) {
|
openDropDown(index) {
|
||||||
console.log(index,'openDropDown');
|
console.log(index, 'openDropDown')
|
||||||
if(index==2){//日期
|
if (index == 2) {
|
||||||
this.start_date_c = this.q_start_time;
|
//日期
|
||||||
this.end_date_c = this.q_end_time;
|
this.start_date_c = this.q_start_time
|
||||||
|
this.end_date_c = this.q_end_time
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//快捷时间
|
//快捷时间
|
||||||
subChange1(index) {
|
subChange1(index) {
|
||||||
console.log(index)
|
console.log(index)
|
||||||
this.currentIndex = index;
|
this.currentIndex = index
|
||||||
if (index == 1) {
|
if (index == 1) {
|
||||||
|
let lastWeekDate = getLastWeekRange()
|
||||||
let lastWeekDate = getLastWeekRange();
|
let startDate = this.$u.timeFormat(lastWeekDate.startDate, 'yyyy-mm-dd')
|
||||||
let startDate = this.$u.timeFormat(lastWeekDate.startDate, 'yyyy-mm-dd');
|
let endDate = this.$u.timeFormat(lastWeekDate.endDate, 'yyyy-mm-dd')
|
||||||
let endDate = this.$u.timeFormat(lastWeekDate.endDate, 'yyyy-mm-dd');
|
console.log(startDate, endDate)
|
||||||
console.log(startDate,endDate);
|
this.q_start_time = startDate
|
||||||
this.q_start_time = startDate;
|
this.q_end_time = endDate
|
||||||
this.q_end_time = endDate;
|
|
||||||
} else if (index == 2) {
|
} else if (index == 2) {
|
||||||
let lastMonthRange = getLastMonthRange();
|
let lastMonthRange = getLastMonthRange()
|
||||||
let startDate = this.$u.timeFormat(lastMonthRange.startDate, 'yyyy-mm-dd');
|
let startDate = this.$u.timeFormat(
|
||||||
let endDate = this.$u.timeFormat(lastMonthRange.endDate, 'yyyy-mm-dd');
|
lastMonthRange.startDate,
|
||||||
console.log(startDate,endDate);
|
'yyyy-mm-dd'
|
||||||
this.q_start_time = startDate;
|
)
|
||||||
this.q_end_time = endDate;
|
let endDate = this.$u.timeFormat(lastMonthRange.endDate, 'yyyy-mm-dd')
|
||||||
|
console.log(startDate, endDate)
|
||||||
|
this.q_start_time = startDate
|
||||||
|
this.q_end_time = endDate
|
||||||
} else {
|
} else {
|
||||||
this.q_start_time = '';
|
this.q_start_time = ''
|
||||||
this.q_end_time = '';
|
this.q_end_time = ''
|
||||||
}
|
}
|
||||||
this.queryMonitoringData();
|
this.queryMonitoringData()
|
||||||
|
|
||||||
},
|
},
|
||||||
//设置警戒值
|
//设置警戒值
|
||||||
warningInfoBtn() {
|
warningInfoBtn() {
|
||||||
let params = {
|
let params = {
|
||||||
slug: "device_warning_rule_waterquality",
|
slug: 'device_warning_rule_waterquality',
|
||||||
value:this.formInfo
|
value: this.formInfo,
|
||||||
}
|
}
|
||||||
this.$http.put('/api/device-warning-rules',params).then(({data})=>{
|
this.$http
|
||||||
this.warningShow = false;
|
.put('/api/device-warning-rules', params)
|
||||||
|
.then(({ data }) => {
|
||||||
|
this.warningShow = false
|
||||||
if (data.code == 200) {
|
if (data.code == 200) {
|
||||||
uni.showToast({ title: '设置成功', icon: 'none' });
|
uni.showToast({ title: '设置成功', icon: 'none' })
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({ title: '设置失败', icon: 'none' });
|
uni.showToast({ title: '设置失败', icon: 'none' })
|
||||||
}
|
}
|
||||||
}).catch(()=>{
|
})
|
||||||
uni.showToast({ title: '设置失败', icon: 'none' });
|
.catch(() => {
|
||||||
|
uni.showToast({ title: '设置失败', icon: 'none' })
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//查询地址筛选
|
//查询地址筛选
|
||||||
queryDeviceBasics() {
|
queryDeviceBasics() {
|
||||||
let params = {
|
let params = {
|
||||||
device_type: this.device_type,
|
device_type: this.device_type,
|
||||||
_t: new Date().getTime()
|
_t: new Date().getTime(),
|
||||||
}
|
}
|
||||||
this.$http.get('/api/agricultural-device-basic',{params:params}).then(({data})=>{
|
this.$http
|
||||||
console.log(data);
|
.get('/api/agricultural-device-basic', { params: params })
|
||||||
|
.then(({ data }) => {
|
||||||
if (data.code == 200) {
|
if (data.code == 200) {
|
||||||
let _data = data.data;
|
let _data = data.data
|
||||||
if (_data.length == 0) {
|
if (_data.length == 0) {
|
||||||
this.loadingType = 0
|
this.loadingType = 0
|
||||||
return this.$u.toast('没有关联基地');
|
return this.$u.toast('没有关联基地')
|
||||||
}
|
}
|
||||||
for (let item of _data) {
|
for (let item of _data) {
|
||||||
item['label'] = item.name;
|
item['label'] = item.name
|
||||||
item['value'] = item.id;
|
item['value'] = item.id
|
||||||
}
|
}
|
||||||
this.deviceAddressList = _data;
|
this.deviceAddressList = _data
|
||||||
this.addressValue = _data[0].id;
|
this.addressValue = _data[0].id
|
||||||
this.addressName = _data[0].name;
|
this.addressName = _data[0].name
|
||||||
|
|
||||||
this.queryAddressDevicePoints(this.addressValue);
|
this.queryAddressDevicePoints(this.addressValue)
|
||||||
}
|
}
|
||||||
}).catch(()=>{
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
.catch(() => {})
|
||||||
},
|
},
|
||||||
//查询地址下的设备监控点
|
//查询地址下的设备监控点
|
||||||
queryAddressDevicePoints(id) {
|
queryAddressDevicePoints(id) {
|
||||||
let params = {
|
let params = {
|
||||||
device_type: this.device_type,
|
device_type: this.device_type,
|
||||||
agricultural_basic: id,
|
agricultural_basic: id,
|
||||||
_t: new Date().getTime()
|
_t: new Date().getTime(),
|
||||||
}
|
}
|
||||||
this.$http.get(`/api/agricultural-device-point/${id}`,{params:params}).then(({data})=>{
|
this.$http
|
||||||
console.log(data);
|
.get(`/api/agricultural-device-point/${id}`, { params: params })
|
||||||
|
.then(({ data }) => {
|
||||||
|
console.log(data)
|
||||||
if (data.code == 200) {
|
if (data.code == 200) {
|
||||||
let _data = data.data;
|
let _data = data.data
|
||||||
if (_data.length == 0) {
|
if (_data.length == 0) {
|
||||||
// return this.$u.toast('监测点为空');
|
// return this.$u.toast('监测点为空');
|
||||||
}
|
}
|
||||||
let options = [];
|
let options = []
|
||||||
for (let k in _data) {
|
for (let k in _data) {
|
||||||
let item = {};
|
let item = {}
|
||||||
item['label'] = _data[k];
|
item['label'] = _data[k]
|
||||||
item['value'] = k;
|
item['value'] = k
|
||||||
options.push(item);
|
options.push(item)
|
||||||
}
|
}
|
||||||
this.options2 = options;
|
this.options2 = options
|
||||||
this.device_id = options[0].value;
|
this.device_id = options[0].value
|
||||||
console.log(this.options2, this.device_id, 'this.options2')
|
console.log(this.options2, this.device_id, 'this.options2')
|
||||||
this.queryMonitoringData();
|
this.queryMonitoringData()
|
||||||
this.getDeviceWarningNums();//报警查询
|
this.getDeviceWarningNums() //报警查询
|
||||||
}
|
}
|
||||||
}).catch(()=>{
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
.catch(() => {})
|
||||||
},
|
},
|
||||||
//查询监测数据
|
//查询监测数据
|
||||||
queryMonitoringData() {
|
queryMonitoringData() {
|
||||||
|
|
@ -492,67 +567,81 @@
|
||||||
device_id: this.device_id,
|
device_id: this.device_id,
|
||||||
start_time: this.q_start_time,
|
start_time: this.q_start_time,
|
||||||
end_time: this.q_end_time,
|
end_time: this.q_end_time,
|
||||||
_t: new Date().getTime()
|
_t: new Date().getTime(),
|
||||||
}
|
}
|
||||||
this.$http.get('/api/monitoring-data',{params:params}).then(({data})=>{
|
this.$http
|
||||||
|
.get('/api/monitoring-data', { params: params })
|
||||||
|
.then(({ data }) => {
|
||||||
if (data.code == 200) {
|
if (data.code == 200) {
|
||||||
let info = data.data;
|
let info = data.data
|
||||||
let chartInfo = {};
|
|
||||||
|
let chartInfo = {}
|
||||||
|
|
||||||
for (let fk in info) {
|
for (let fk in info) {
|
||||||
let _item = {
|
let _item = {
|
||||||
categories: [],
|
categories: [],
|
||||||
data:[]
|
data: [],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (info[fk]) {
|
||||||
for (let k in info[fk]) {
|
for (let k in info[fk]) {
|
||||||
|
_item.data.push(info[fk][k])
|
||||||
|
|
||||||
_item.data.push(info[fk][k]);
|
let timestamp = new Date(k).getTime()
|
||||||
|
|
||||||
let timestamp = new Date(k).getTime();
|
|
||||||
// let time1 = k.split(/\s+/);
|
// let time1 = k.split(/\s+/);
|
||||||
if (params.start_time != params.end_time) {
|
if (params.start_time != params.end_time) {
|
||||||
let time1 = this.$u.timeFormat(timestamp, 'yyyy-mm-dd');
|
let time1 = this.$u.timeFormat(timestamp, 'yyyy-mm-dd')
|
||||||
_item.categories.push(time1);
|
_item.categories.push(time1)
|
||||||
} else {
|
} else {
|
||||||
let time2 = this.$u.timeFormat(timestamp, 'hh:ss');
|
let time2 = this.$u.timeFormat(timestamp, 'hh:ss')
|
||||||
_item.categories.push(time2);
|
_item.categories.push(time2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
chartInfo[fk] = _item;
|
chartInfo[fk] = _item
|
||||||
|
}
|
||||||
}
|
}
|
||||||
console.log(chartInfo, 'chartDatas--')
|
console.log(chartInfo, 'chartDatas--')
|
||||||
if(params.start_time!=params.end_time){//不是当天
|
if (params.start_time != params.end_time) {
|
||||||
this.opts.xAxis.labelCount = 3;
|
//不是当天
|
||||||
this.optsc.xAxis.labelCount = 3;
|
this.opts.xAxis.labelCount = 3
|
||||||
|
this.optsc.xAxis.labelCount = 3
|
||||||
} else {
|
} else {
|
||||||
|
let len = chartInfo.oxygen.categories.length - 1
|
||||||
|
let v = 5
|
||||||
|
let aw = len > 10 ? len % 6 : len % 5
|
||||||
|
|
||||||
let len = chartInfo.conductivity.categories.length-1;
|
|
||||||
let v = 5;
|
|
||||||
let aw = len>10?len%6:len%5;
|
|
||||||
if (aw == 3 || aw == 0 || aw == 1) {
|
if (aw == 3 || aw == 0 || aw == 1) {
|
||||||
v = 4;
|
v = 4
|
||||||
} else if (aw == 2) {
|
} else if (aw == 2) {
|
||||||
v = 3;
|
v = 3
|
||||||
}else{v=5}
|
} else {
|
||||||
this.opts.xAxis.labelCount = v;
|
v = 5
|
||||||
this.optsc.xAxis.labelCount = v;
|
}
|
||||||
|
this.opts.xAxis.labelCount = v
|
||||||
|
this.optsc.xAxis.labelCount = v
|
||||||
console.log(this.opts, v, len, '配置', aw)
|
console.log(this.opts, v, len, '配置', aw)
|
||||||
}
|
}
|
||||||
|
|
||||||
//start 氯
|
//start 氯
|
||||||
|
if (chartInfo.chlorine) {
|
||||||
let res2 = {
|
let res2 = {
|
||||||
categories: chartInfo.chlorine.categories,
|
categories: chartInfo.chlorine.categories,
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: '氯',
|
name: '氯',
|
||||||
legendShape: 'circle',
|
legendShape: 'circle',
|
||||||
data: chartInfo.chlorine.data
|
data: chartInfo.chlorine.data,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
this.chart_chlorine = JSON.parse(JSON.stringify(res2))
|
||||||
|
}else{
|
||||||
|
this.chart_chlorine = null
|
||||||
}
|
}
|
||||||
]
|
|
||||||
};
|
|
||||||
this.chart_chlorine = JSON.parse(JSON.stringify(res2));
|
|
||||||
//end 氯
|
//end 氯
|
||||||
|
|
||||||
//start 电导率 conductivity
|
//start 电导率 conductivity
|
||||||
|
if (chartInfo.conductivity) {
|
||||||
let res = {
|
let res = {
|
||||||
categories: chartInfo.conductivity.categories,
|
categories: chartInfo.conductivity.categories,
|
||||||
series: [
|
series: [
|
||||||
|
|
@ -560,30 +649,37 @@
|
||||||
name: '电导率',
|
name: '电导率',
|
||||||
legendShape: 'circle',
|
legendShape: 'circle',
|
||||||
data: chartInfo.conductivity.data,
|
data: chartInfo.conductivity.data,
|
||||||
|
},
|
||||||
|
],
|
||||||
}
|
}
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
this.chart_conductivity = JSON.parse(JSON.stringify(res));
|
this.chart_conductivity = JSON.parse(JSON.stringify(res))
|
||||||
console.log(this.chart_conductivity, '电导率')
|
console.log(this.chart_conductivity, '电导率')
|
||||||
|
}else{
|
||||||
|
this.chart_conductivity = null
|
||||||
|
}
|
||||||
//end 电导率 conductivity
|
//end 电导率 conductivity
|
||||||
|
|
||||||
//start 氧气 oxygen
|
//start 氧气 oxygen
|
||||||
|
if (chartInfo.oxygen) {
|
||||||
let res3 = {
|
let res3 = {
|
||||||
categories: chartInfo.oxygen.categories,
|
categories: chartInfo.oxygen.categories,
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: '氧气',
|
name: '氧气',
|
||||||
legendShape: 'circle',
|
legendShape: 'circle',
|
||||||
data: chartInfo.oxygen.data
|
data: chartInfo.oxygen.data,
|
||||||
|
},
|
||||||
|
],
|
||||||
}
|
}
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
this.chart_oxygen = JSON.parse(JSON.stringify(res3));
|
this.chart_oxygen = JSON.parse(JSON.stringify(res3))
|
||||||
|
}else{
|
||||||
|
this.chart_oxygen = null
|
||||||
|
}
|
||||||
//end 氧气
|
//end 氧气
|
||||||
//start PH
|
//start PH
|
||||||
|
if (chartInfo.ph) {
|
||||||
let res4 = {
|
let res4 = {
|
||||||
categories: chartInfo.ph.categories,
|
categories: chartInfo.ph.categories,
|
||||||
series: [
|
series: [
|
||||||
|
|
@ -591,11 +687,15 @@
|
||||||
name: 'PH',
|
name: 'PH',
|
||||||
legendShape: 'circle',
|
legendShape: 'circle',
|
||||||
data: chartInfo.ph.data,
|
data: chartInfo.ph.data,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
this.chart_ph = JSON.parse(JSON.stringify(res4))
|
||||||
|
}else{
|
||||||
|
this.chart_ph = null
|
||||||
}
|
}
|
||||||
]
|
|
||||||
};
|
|
||||||
this.chart_ph = JSON.parse(JSON.stringify(res4));
|
|
||||||
//start 温度 temperature
|
//start 温度 temperature
|
||||||
|
if (chartInfo.temperature) {
|
||||||
let res5 = {
|
let res5 = {
|
||||||
categories: chartInfo.temperature.categories,
|
categories: chartInfo.temperature.categories,
|
||||||
series: [
|
series: [
|
||||||
|
|
@ -603,21 +703,25 @@
|
||||||
name: '温度',
|
name: '温度',
|
||||||
legendShape: 'circle',
|
legendShape: 'circle',
|
||||||
data: chartInfo.temperature.data,
|
data: chartInfo.temperature.data,
|
||||||
|
},
|
||||||
|
],
|
||||||
}
|
}
|
||||||
]
|
let min_temperature = 0
|
||||||
};
|
|
||||||
let min_temperature = 0;
|
|
||||||
for (let val of chartInfo.temperature.data) {
|
for (let val of chartInfo.temperature.data) {
|
||||||
if (val < 0) {
|
if (val < 0) {
|
||||||
min_temperature = val;
|
min_temperature = val
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (min_temperature < 0) {
|
if (min_temperature < 0) {
|
||||||
this.optsc.yAxis.data = [];
|
this.optsc.yAxis.data = []
|
||||||
|
}
|
||||||
|
this.chart_temperature = JSON.parse(JSON.stringify(res5))
|
||||||
|
}else{
|
||||||
|
this.chart_temperature = null
|
||||||
}
|
}
|
||||||
this.chart_temperature = JSON.parse(JSON.stringify(res5));
|
|
||||||
//end 温度 temperature
|
//end 温度 temperature
|
||||||
//start 浊度 turbidity
|
//start 浊度 turbidity
|
||||||
|
if (chartInfo.turbidity) {
|
||||||
let res6 = {
|
let res6 = {
|
||||||
categories: chartInfo.turbidity.categories,
|
categories: chartInfo.turbidity.categories,
|
||||||
series: [
|
series: [
|
||||||
|
|
@ -625,17 +729,17 @@
|
||||||
name: '浊度',
|
name: '浊度',
|
||||||
legendShape: 'circle',
|
legendShape: 'circle',
|
||||||
data: chartInfo.turbidity.data,
|
data: chartInfo.turbidity.data,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
this.chart_turbidity = JSON.parse(JSON.stringify(res6))
|
||||||
|
}else{
|
||||||
|
this.chart_turbidity = null
|
||||||
}
|
}
|
||||||
]
|
|
||||||
};
|
|
||||||
this.chart_turbidity = JSON.parse(JSON.stringify(res6));
|
|
||||||
//end 浊度 turbidity
|
//end 浊度 turbidity
|
||||||
|
|
||||||
}
|
}
|
||||||
}).catch(()=>{
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
.catch(() => {})
|
||||||
},
|
},
|
||||||
//预警查询
|
//预警查询
|
||||||
getDeviceWarningNums() {
|
getDeviceWarningNums() {
|
||||||
|
|
@ -643,35 +747,38 @@
|
||||||
base: this.addressValue,
|
base: this.addressValue,
|
||||||
device: this.device_id,
|
device: this.device_id,
|
||||||
status: 0,
|
status: 0,
|
||||||
_t: new Date().getTime()
|
_t: new Date().getTime(),
|
||||||
}
|
}
|
||||||
this.$http.get('/api/device-warning-nums',{params:params}).then(({data})=>{
|
this.$http
|
||||||
|
.get('/api/device-warning-nums', { params: params })
|
||||||
|
.then(({ data }) => {
|
||||||
if (data.code == 200) {
|
if (data.code == 200) {
|
||||||
this.deviceWarning = data.data;
|
this.deviceWarning = data.data
|
||||||
}
|
}
|
||||||
}).catch(()=>{
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
.catch(() => {})
|
||||||
},
|
},
|
||||||
//预警规则
|
//预警规则
|
||||||
getDeviceWarningRules() {
|
getDeviceWarningRules() {
|
||||||
this.$http.get('/api/device-warning-rules',{params:{}}).then(({data})=>{
|
this.$http
|
||||||
|
.get('/api/device-warning-rules', { params: {} })
|
||||||
|
.then(({ data }) => {
|
||||||
if (data.code == 200) {
|
if (data.code == 200) {
|
||||||
let _data = data.data;
|
let _data = data.data
|
||||||
let info = {};
|
let info = {}
|
||||||
for (let item of _data) {
|
for (let item of _data) {
|
||||||
if(item.slug=='device_warning_rule_waterquality'){//警报
|
if (item.slug == 'device_warning_rule_waterquality') {
|
||||||
info = item;
|
//警报
|
||||||
break;
|
info = item
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.formInfo = info.value;
|
this.formInfo = info.value
|
||||||
}
|
}
|
||||||
}).catch(()=>{
|
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
.catch(() => {})
|
||||||
}
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
@ -702,7 +809,6 @@
|
||||||
.cont-box {
|
.cont-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
padding-bottom: 12rpx;
|
padding-bottom: 12rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
.warning-item {
|
.warning-item {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue