变电近电作业,受限空间
This commit is contained in:
parent
c5517b019b
commit
1acf302d0b
|
|
@ -166,3 +166,52 @@ export const queryWarnConfigApi = (data) => {
|
|||
})
|
||||
}
|
||||
|
||||
// 查询有限空间监测设备 - 报警记录
|
||||
export const queryWarnSpaceListApi = (data) => {
|
||||
return request.get(`/base/screen/info/queryInfoWarnSpaceList`, {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询有限空间当年监测设备 - 报警记录
|
||||
export const queryWarnSpaceMonthApi = (data) => {
|
||||
return request.get(`/base/screen/info/queryInfoWarnSpaceMonth`, {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询有限空间当年违章类型占比监测设备 - 报警记录
|
||||
export const queryWarnSpaceTypeApi = (data) => {
|
||||
return request.get(`/base/screen/info/queryInfoWarnSpaceType`, {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除受限空间视频预警
|
||||
export const delWarnSpace = (data) => {
|
||||
return request.post('/base/screen/info/delWarnSpace', data)
|
||||
}
|
||||
|
||||
// 查询近电感应设备 - 报警记录
|
||||
export const queryWarnElectListApi = (data) => {
|
||||
return request.get(`/base/screen/info/queryInfoWarnElectList`, {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除近电感应预警
|
||||
export const delWarnElect = (data) => {
|
||||
return request.post('/base/screen/info/delWarnElect', data)
|
||||
}
|
||||
|
||||
// 查询近电感应参数配置数据
|
||||
export const getWarnElectConfigApi = (data) => {
|
||||
return request.get(`/base/screen/info/getWarnElectConfig`, {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改近电感应参数配置数据
|
||||
export const editConfig = (data) => {
|
||||
return request.post('/base/screen/info/editConfig', data)
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
|
|
@ -344,8 +344,8 @@
|
|||
</el-dialog>
|
||||
|
||||
<!-- 查看位移历史记录弹窗 -->
|
||||
<el-dialog :title="title" :visible.sync="showShift" width="1000px" height="800px" append-to-body @close="closeShift">
|
||||
<el-form :model="queryShift" ref="queryFormShift" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-dialog :title="title" :visible.sync="showShift" width="1000px" height="800px" append-to-body @close="closeShift">
|
||||
<el-form :model="queryShift" ref="queryFormShift" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="设备名称" prop="deviceName">
|
||||
<el-input
|
||||
v-model="queryShift.deviceName"
|
||||
|
|
@ -479,6 +479,7 @@ export default {
|
|||
showSearch: true,
|
||||
settleLoad: false,
|
||||
shiftLoad: false,
|
||||
tableShiftList: [],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
|
@ -549,31 +550,7 @@ export default {
|
|||
})
|
||||
this.detectShiftList = res.data.data
|
||||
},
|
||||
// async getTowerTodayData(proId) {
|
||||
// let res = await queryTowerTodayApi({
|
||||
// proId
|
||||
// })
|
||||
// res.data.forEach(item => {
|
||||
// if(item.devType === '117') {
|
||||
// item.angle = item.jcValue + '°'
|
||||
// } else if(item.dev === '118') {
|
||||
// item.pull = item.jcValue + 'N'
|
||||
// }
|
||||
// })
|
||||
// this.detectList = res.data
|
||||
// },
|
||||
// async getEnvironmentData(devId, type) {
|
||||
// let res = await queryEnvironmentInfoByIdApi({
|
||||
// devId
|
||||
// })
|
||||
// if(type === '117') {
|
||||
// this.angleFirst = res.data.data[0].jcValue
|
||||
// this.angleList = res.data.data.filter(item => item.jcUnit === '°')
|
||||
// } else if(type === '118') {
|
||||
// this.pullFirst = res.data.data[0].jcValue
|
||||
// this.pullList = res.data.data.filter(item => item.jcUnit === 'N')
|
||||
// }
|
||||
// },
|
||||
|
||||
selTowerAngle(val) {
|
||||
console.log(val)
|
||||
this.currentAngleTower = val.devId
|
||||
|
|
|
|||
|
|
@ -6,6 +6,22 @@
|
|||
<img src="../../assets/img/lef-badge.png" alt="" />
|
||||
GLL通管监测
|
||||
</div>
|
||||
<div style="display: flex; justify-content: right">
|
||||
<el-select
|
||||
v-model="deviceVal"
|
||||
clearable
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
@change="deviceChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in deviceRange"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="work-icons">
|
||||
<!-- <div
|
||||
|
|
@ -19,7 +35,7 @@
|
|||
</div>-->
|
||||
<div class="single-icon">
|
||||
<span style="color: #42c8e3"
|
||||
>{{environmentInfoList ? environmentInfoList[8].jcValue : '0'}}°C</span>
|
||||
>{{environmentInfoList ? environmentInfoList[0].jcValue : '0'}}°C</span>
|
||||
<span>温度</span>
|
||||
<img src="../../assets/img/temp.png" alt="" />
|
||||
</div>
|
||||
|
|
@ -38,7 +54,7 @@
|
|||
<span style="color: #87d674"
|
||||
>{{
|
||||
environmentInfoList
|
||||
? environmentInfoList[9].jcValue
|
||||
? environmentInfoList[1].jcValue
|
||||
: '0'
|
||||
}}%rh</span
|
||||
>
|
||||
|
|
@ -46,26 +62,15 @@
|
|||
<img src="../../assets/img/wet.png" alt="" />
|
||||
</div>
|
||||
<div class="single-icon">
|
||||
<span style="color: #f2ad49"
|
||||
<span style="color:cornflowerblue"
|
||||
>{{
|
||||
environmentInfoList
|
||||
? environmentInfoList[5].jcValue
|
||||
: '0'
|
||||
}}db</span
|
||||
>
|
||||
<span>噪声</span>
|
||||
<img src="../../assets/img/loud.png" alt="" />
|
||||
</div>
|
||||
<div class="single-icon">
|
||||
<span style="color:blue"
|
||||
>{{
|
||||
environmentInfoList
|
||||
? environmentInfoList[3].jcValue
|
||||
? environmentInfoList[2].jcValue
|
||||
: '0'
|
||||
}}/ugm3</span
|
||||
>
|
||||
<span>PM1.0</span>
|
||||
<img src="../../assets/img/pm2.5.png" alt="" />
|
||||
<img src="../../assets/img/pm1.0.png" alt="" />
|
||||
</div>
|
||||
<div class="single-icon">
|
||||
<span style="color: #9634cc"
|
||||
|
|
@ -238,7 +243,7 @@ export default {
|
|||
let res = await queryDeviceByProApi({
|
||||
powerId: this.sendMsg.gtId,
|
||||
proId,
|
||||
devType: 116,
|
||||
devType: 137,
|
||||
})
|
||||
if (res.data.data.length !== 0) {
|
||||
this.deviceVal = res.data.data[0].devId
|
||||
|
|
@ -257,7 +262,7 @@ export default {
|
|||
async getDevTypeCodeDetails(proId) {
|
||||
let param = {
|
||||
proId: proId,
|
||||
devTypeCode: 116,
|
||||
devTypeCode: 137,
|
||||
}
|
||||
let res = await getDevTypeCodeDetails(param)
|
||||
this.tableList = res.data
|
||||
|
|
@ -284,12 +289,12 @@ export default {
|
|||
console.log(res)
|
||||
this.deviceConfig = res.data
|
||||
},
|
||||
// deviceChange(e) {
|
||||
// console.log(e)
|
||||
// this.getEnvironmentData(e)
|
||||
// this.getChartsData(e)
|
||||
// this.getWarnConfig(e)
|
||||
// },
|
||||
deviceChange(e) {
|
||||
console.log(e)
|
||||
this.getEnvironmentData(e)
|
||||
this.getChartsData(e)
|
||||
this.getWarnConfig(e)
|
||||
},
|
||||
generateCharts(list) {
|
||||
console.log(list)
|
||||
|
||||
|
|
@ -307,10 +312,10 @@ export default {
|
|||
return item.xtime
|
||||
})
|
||||
|
||||
let loudArr = list['噪声'].map((item) => {
|
||||
let pm1Arr = list['pm1.0'].map((item) => {
|
||||
return Number(item.jcValue)
|
||||
})
|
||||
let loudXList = list['噪声'].map((item) => {
|
||||
let pm21XList = list['pm1.0'].map((item) => {
|
||||
return item.xtime
|
||||
})
|
||||
|
||||
|
|
@ -324,9 +329,6 @@ export default {
|
|||
let pm10Arr = list['pm10'].map((item) => {
|
||||
return Number(item.jcValue)
|
||||
})
|
||||
let windSpeedList = list['风速'].map((item) => {
|
||||
return Number(item.jcValue)
|
||||
})
|
||||
// 温度图表
|
||||
let tempOption = {
|
||||
grid: {
|
||||
|
|
@ -493,114 +495,6 @@ export default {
|
|||
let sdChart = echarts.init(document.querySelector('#sd-chart'))
|
||||
sdChart.setOption(sdOption)
|
||||
|
||||
|
||||
|
||||
// // 风速图表
|
||||
// let wetOption = {
|
||||
// grid: {
|
||||
// width: '80%',
|
||||
// height: '60%',
|
||||
// },
|
||||
// tooltip: {
|
||||
// trigger: 'axis',
|
||||
// axisPointer: {
|
||||
// type: 'shadow',
|
||||
// },
|
||||
// valueFormatter: (value) => {
|
||||
// return value + 'm/s'
|
||||
// },
|
||||
// },
|
||||
// xAxis: {
|
||||
// type: 'category',
|
||||
// data: wetXList,
|
||||
// },
|
||||
// yAxis: {
|
||||
// type: 'value',
|
||||
// name: 'm/s',
|
||||
// },
|
||||
// series: [
|
||||
// {
|
||||
// name: '风速',
|
||||
// data: windSpeedList,
|
||||
// type: 'line',
|
||||
// smooth: true,
|
||||
// lineStyle: {
|
||||
// color: '#FE8511',
|
||||
// },
|
||||
// itemStyle: {
|
||||
// normal: {
|
||||
// color: '#FE8511',
|
||||
// },
|
||||
// },
|
||||
// areaStyle: {
|
||||
// color: {
|
||||
// x: 0,
|
||||
// y: 0,
|
||||
// x2: 0,
|
||||
// y2: 1,
|
||||
// type: 'linear',
|
||||
// colorStops: [
|
||||
// { offset: 0, color: '#F5CC91' },
|
||||
// { offset: 1, color: '#F8F6F6' },
|
||||
// ],
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// ],
|
||||
// }
|
||||
// let wetChart = echarts.init(document.querySelector('#wet-chart'))
|
||||
// wetChart.setOption(wetOption)
|
||||
// // 噪声图表
|
||||
// let loudOption = {
|
||||
// grid: {
|
||||
// width: '80%',
|
||||
// height: '60%',
|
||||
// },
|
||||
// tooltip: {
|
||||
// trigger: 'axis',
|
||||
// axisPointer: {
|
||||
// type: 'shadow',
|
||||
// },
|
||||
// valueFormatter: (value) => {
|
||||
// return value + '分贝'
|
||||
// },
|
||||
// },
|
||||
// xAxis: {
|
||||
// type: 'category',
|
||||
// data: loudXList,
|
||||
// },
|
||||
// yAxis: {
|
||||
// type: 'value',
|
||||
// name: 'db',
|
||||
// },
|
||||
// series: [
|
||||
// {
|
||||
// name: '噪声',
|
||||
// data: loudArr,
|
||||
// type: 'line',
|
||||
// smooth: true,
|
||||
// symbol: 'none',
|
||||
// lineStyle: {
|
||||
// color: '#4781FC',
|
||||
// },
|
||||
// areaStyle: {
|
||||
// color: {
|
||||
// x: 0,
|
||||
// y: 0,
|
||||
// x2: 0,
|
||||
// y2: 1,
|
||||
// type: 'linear',
|
||||
// colorStops: [
|
||||
// { offset: 0, color: '#CCDBFF' },
|
||||
// { offset: 1, color: '#ECF2FF' },
|
||||
// ],
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// ],
|
||||
// }
|
||||
// let loudChart = echarts.init(document.querySelector('#loud-chart'))
|
||||
// loudChart.setOption(loudOption)
|
||||
// 空气质量图表
|
||||
let airOption = {
|
||||
grid: {
|
||||
|
|
@ -625,16 +519,31 @@ export default {
|
|||
name: 'ugm3',
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'PM1.0',
|
||||
data: pm1Arr,
|
||||
type: 'line',
|
||||
lineStyle: {
|
||||
color: 'cornflowerblue',
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: 'cornflowerblue',
|
||||
},
|
||||
},
|
||||
symbol: 'none',
|
||||
smooth: true,
|
||||
},
|
||||
{
|
||||
name: 'PM2.5',
|
||||
data: pm25Arr,
|
||||
type: 'line',
|
||||
lineStyle: {
|
||||
color: '#FC8B2D',
|
||||
color: '#9484FC',
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#FC8B2D',
|
||||
color: '#9484FC',
|
||||
},
|
||||
},
|
||||
symbol: 'none',
|
||||
|
|
@ -645,11 +554,11 @@ export default {
|
|||
data: pm10Arr,
|
||||
type: 'line',
|
||||
lineStyle: {
|
||||
color: '#4B84FC',
|
||||
color: '#1db1c0',
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#4B84FC',
|
||||
color: '#1db1c0',
|
||||
},
|
||||
},
|
||||
symbol: 'none',
|
||||
|
|
@ -825,7 +734,6 @@ export default {
|
|||
box-sizing: border-box;
|
||||
padding: 10px 20px;
|
||||
background-color: #eff4fe;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
color: #000;
|
||||
|
|
|
|||
|
|
@ -1,111 +1,113 @@
|
|||
<template>
|
||||
<div class="hole-page">
|
||||
<div class="tower-detect">
|
||||
<div class="inner-tit">
|
||||
<div class="inner-tit" style="display: flex; justify-content: space-between; align-items: center;">
|
||||
<div>
|
||||
<img src="../../assets/img/lef-badge.png" alt="">
|
||||
近电感应设备
|
||||
近电感应预警
|
||||
</div>
|
||||
|
||||
<el-button type="text" style="font-size: 18px;" @click="handleSignUp">参数配置</el-button>
|
||||
</div>
|
||||
<div class="tower-info">
|
||||
<div class="tower-lef">
|
||||
<div class="lef-spin">
|
||||
<div>
|
||||
<h4 style="background-color: #D8D8D8"></h4>
|
||||
离线
|
||||
</div>
|
||||
<div>
|
||||
<h4 style="background-color: #F31111"></h4>
|
||||
报警
|
||||
</div>
|
||||
<div>
|
||||
<h4 style="background-color: #39CE10"></h4>
|
||||
在线
|
||||
</div>
|
||||
</div>
|
||||
<div class="lef-tower-pic" >
|
||||
<div
|
||||
:class="['single-tower', getBorderColorClass(item)]"
|
||||
v-for="item in deviceList"
|
||||
:key="item.devId"
|
||||
:style="{ border: '2px solid', padding: '1px' }"
|
||||
>
|
||||
<img
|
||||
v-if="item.devStatus === 0 && item.devWarn === 0"
|
||||
src="../../assets/img/deForm1.png"
|
||||
|
||||
alt=""
|
||||
<el-form
|
||||
style="width: 100%;"
|
||||
:model="queryParams"
|
||||
ref="queryFormRef"
|
||||
size="small"
|
||||
:inline="true"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-form-item
|
||||
label="设备名称"
|
||||
prop="devName"
|
||||
>
|
||||
<el-input
|
||||
v-model="queryParams.devName"
|
||||
placeholder="请输入设备名称"
|
||||
clearable maxlength="20"
|
||||
style="width: 200px;"
|
||||
/>
|
||||
<img
|
||||
v-if="item.devWarn === 1"
|
||||
src="../../assets/img/deForm3.png"
|
||||
|
||||
alt=""
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="预警时间"
|
||||
prop="warnTime"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="background-color: #ECF3FE;">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-button
|
||||
style="margin-top: 3px"
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
size="mini"
|
||||
@click="handleQuery"
|
||||
>搜索</el-button>
|
||||
</el-form>
|
||||
<el-table
|
||||
:data="tableList"
|
||||
stripe
|
||||
style="width: 100%"
|
||||
:row-style="rowStyle"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
align="center"
|
||||
width="80"
|
||||
type="index"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="devName"
|
||||
label="设备名称"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="warnTime"
|
||||
label="预警时间"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="warnContent"
|
||||
label="预警内容"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button type="danger" size="mini" @click="handleWarn(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getTableList"
|
||||
style="background-color: #f3f7ff;"
|
||||
/>
|
||||
<img
|
||||
v-if="item.devStatus === 1 && item.devWarn === 0"
|
||||
src="../../assets/img/deForm2.png"
|
||||
|
||||
alt=""
|
||||
/>
|
||||
<div :class="['dev-name']" >{{ item.devName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="map">
|
||||
<div id="map-container"></div>
|
||||
</div>
|
||||
<div class="key-standby">
|
||||
<div class="inner-tit">
|
||||
<div>
|
||||
<img src="../../assets/img/lef-badge.png" alt="">
|
||||
近电感应预警
|
||||
</div>
|
||||
<span @click="handleSignUp">参数配置</span>
|
||||
</div>
|
||||
<el-table
|
||||
:data="keyPersonTable"
|
||||
stripe
|
||||
style="width: 100%"
|
||||
:row-style="rowStyle"
|
||||
>
|
||||
<el-table-column
|
||||
prop="postName"
|
||||
label="设备名称"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="relName"
|
||||
label="预警时间"
|
||||
align="center"
|
||||
width="80"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="relPhone"
|
||||
label="预警内容"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<!-- 查看参数配置弹窗 -->
|
||||
<el-dialog :title="title" :visible.sync="showConfig" width="800px" height="800px" append-to-body @close="closeConfig">
|
||||
<el-form :model="queryConfig" ref="queryFormConfig" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
||||
<div
|
||||
v-for="(item, index) in configItems"
|
||||
:key="index"
|
||||
class="dynamic-item"
|
||||
>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="线路属性:" prop="attribute">
|
||||
<el-radio-group v-model="item.attribute">
|
||||
<el-radio-group v-model="queryConfig.attribute">
|
||||
<el-radio
|
||||
v-for="(radioItem, radioIndex) in radioList"
|
||||
:key="radioIndex"
|
||||
|
|
@ -119,7 +121,7 @@
|
|||
<el-col :span="20">
|
||||
<el-form-item label="电压等级:" label-width="195px" prop="elecLevel" style="display: flex;margin-bottom: 30px;" >
|
||||
|
||||
<el-radio-group v-model="item.elecLevel" style="display: flex; flex-wrap: wrap; gap: 10px;margin-top: 0px;align-items: center;">
|
||||
<el-radio-group v-model="queryConfig.elecLevel" style="display: flex; flex-wrap: wrap; gap: 10px;margin-top: 0px;align-items: center;">
|
||||
<el-radio
|
||||
v-for="(radioItem, radioIndex) in radioLevelList"
|
||||
:key="radioIndex"
|
||||
|
|
@ -131,28 +133,6 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="17">
|
||||
<el-form-item
|
||||
label="报警距离:"
|
||||
prop="distinct"
|
||||
>
|
||||
<div style="display: flex; align-items: center;">
|
||||
<el-input
|
||||
v-model="item.distinct"
|
||||
placeholder="请输入"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<span style="margin-left: 10px;font-size: 16px;">米</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5" style="display: flex;justify-content: left;align-items: center;">
|
||||
<el-button size="mini" type="success" @click="addConfigItem" >添加配置</el-button>
|
||||
<el-button size="mini" type="danger" @click="removeConfigItem(index)" v-show="index!=0">删除配置</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
<div
|
||||
style="
|
||||
|
|
@ -180,9 +160,10 @@ import { dialogConfig } from './config-sign'
|
|||
import { commonMixin } from '@/views/mixins/common'
|
||||
import TableSign from './subComp/table-sign.vue'
|
||||
import {
|
||||
queryKeyArriveApi,
|
||||
queryCrewInfoApi,
|
||||
queryCrewCoordinateApi
|
||||
queryWarnElectListApi,
|
||||
delWarnElect,
|
||||
getWarnElectConfigApi,
|
||||
editConfig,
|
||||
} from '@/api/substation/substation'
|
||||
export default {
|
||||
components: {
|
||||
|
|
@ -200,35 +181,10 @@ export default {
|
|||
return {
|
||||
showSearch: true,
|
||||
showConfig: false,
|
||||
crewIpt: undefined,
|
||||
crewList: [
|
||||
/* {
|
||||
id: 1,
|
||||
crew: '第一班组',
|
||||
children: [
|
||||
{ name: '张三', phone: 13811111111, lon: 117.13805, lat: 31.8734 },
|
||||
{ name: '李四', phone: 13811111111, lon: 117.13505, lat: 31.8434 },
|
||||
{ name: '王五', phone: 13811111111, lon: 117.13205, lat: 31.8134 },
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
crew: '第二班组',
|
||||
children: [
|
||||
{ name: '胡汉三', phone: 13811111111 },
|
||||
{ name: '尉迟恭', phone: 13811111111 },
|
||||
{ name: '刘寄奴', phone: 13811111111 },
|
||||
]
|
||||
} */
|
||||
],
|
||||
coordList: [],
|
||||
activeCrew: [],
|
||||
crewName: undefined,
|
||||
keyPersonTable: [],
|
||||
sendId: undefined,
|
||||
configItems: [{ attribute: "", elecLevel: "", distinct: "" }],
|
||||
queryConfig: {
|
||||
isCharge: '',
|
||||
attribute: "",
|
||||
elecLevel: "",
|
||||
},
|
||||
title: '参数配置',
|
||||
radioList: [
|
||||
|
|
@ -247,68 +203,97 @@ export default {
|
|||
{ value: 8, label: '1000KV' },
|
||||
// 可以添加更多选项
|
||||
],
|
||||
deviceList: [
|
||||
{
|
||||
devId: 1,
|
||||
devName: '1号塔',
|
||||
devStatus: 1,
|
||||
devWarn: 0
|
||||
},
|
||||
{
|
||||
devId: 2,
|
||||
devName: '2号塔',
|
||||
devStatus: 0,
|
||||
devWarn: 1
|
||||
},
|
||||
{
|
||||
devId: 3,
|
||||
devName: '3号塔',
|
||||
devStatus: 0,
|
||||
devWarn: 0
|
||||
},
|
||||
],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
searchCrew() {
|
||||
if(!this.crewIpt) {
|
||||
return this.crewList
|
||||
} else {
|
||||
return this.crewList.map(item => ({
|
||||
teamId: item.teamId,
|
||||
teamName: item.teamName,
|
||||
peopleList: item.peopleList.filter(child => child.peopleName.includes(this.crewIpt))
|
||||
}))
|
||||
}
|
||||
queryParams: {
|
||||
devName: '',
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
},
|
||||
dateRange: [],
|
||||
tableList: [],
|
||||
total: 0,
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
this.sendId = this.sendMsg.projectId
|
||||
// this.createMap()
|
||||
this.getWarnElectList(this.sendMsg.projectId)
|
||||
},
|
||||
methods: {
|
||||
getBorderColorClass(item) {
|
||||
if (item.devStatus === 0 && item.devWarn === 0) {
|
||||
return 'gray-border';
|
||||
} else if (item.devWarn === 1) {
|
||||
return 'red-border';
|
||||
} else if (item.devStatus === 1 && item.devWarn === 0) {
|
||||
return 'green-border';
|
||||
}
|
||||
return 'default-border';
|
||||
//获取近电感应预警表格
|
||||
async getWarnElectList(proId) {
|
||||
let res = await queryWarnElectListApi({
|
||||
proId,
|
||||
})
|
||||
this.tableList = res.rows
|
||||
this.total = res.total
|
||||
},
|
||||
async getCrewData() {
|
||||
let res = await queryCrewInfoApi({
|
||||
|
||||
async getTableList() {
|
||||
this.queryParams.proId = this.sendMsg.projectId
|
||||
if (this.dateRange!=null&&this.dateRange.length>0) {
|
||||
const dateStart = new Date(this.dateRange[0])
|
||||
const dateEnd = new Date(this.dateRange[1])
|
||||
this.queryParams.startTime = dateStart.toLocaleDateString('en-CA')
|
||||
this.queryParams.endTime = dateEnd.toLocaleDateString('en-CA')
|
||||
} else {
|
||||
this.queryParams.startTime = null
|
||||
this.queryParams.endTime = null
|
||||
}
|
||||
let res = await queryWarnElectListApi(this.queryParams)
|
||||
this.tableList = res.rows
|
||||
this.total = res.total
|
||||
},
|
||||
|
||||
//搜索
|
||||
handleQuery() {
|
||||
this.getTableList()
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleWarn(row) {
|
||||
const id = row.id
|
||||
this.$modal.confirm('是否确认删除该条数据').then(function() {
|
||||
return delWarnElect({'id':id});
|
||||
}).then(() => {
|
||||
this.getTableList()
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {})
|
||||
},
|
||||
|
||||
// 查看参数配置
|
||||
async handleSignUp() {
|
||||
const res = await getWarnElectConfigApi({
|
||||
proId: this.sendMsg.projectId
|
||||
})
|
||||
this.crewList = res.data
|
||||
/* this.crewList.forEach((item, index) => {
|
||||
this.activeCrew.push(index + 1)
|
||||
}) */
|
||||
console.log('2222222', res)
|
||||
this.queryConfig.attribute = res.data.configElectValue
|
||||
this.queryConfig.elecLevel = res.data.configLevelValue
|
||||
this.showConfig = true
|
||||
},
|
||||
closeConfig() {
|
||||
this.showConfig = false
|
||||
},
|
||||
saveConfig() {
|
||||
let config = {
|
||||
configElectName: '线路属性',
|
||||
configLevelName: '电压等级',
|
||||
configElectValue: this.queryConfig.attribute,
|
||||
configLevelValue: this.queryConfig.elecLevel,
|
||||
}
|
||||
editConfig(config).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.showConfig = false;
|
||||
});
|
||||
},
|
||||
closeClick() {
|
||||
this.showConfig = false
|
||||
},
|
||||
|
||||
rowStyle(scope) {
|
||||
if(scope.rowIndex % 2 === 0) {
|
||||
return {
|
||||
|
|
@ -320,30 +305,6 @@ export default {
|
|||
}
|
||||
}
|
||||
},
|
||||
handleSignUp() {
|
||||
this.showConfig = true
|
||||
},
|
||||
|
||||
addConfigItem() {
|
||||
this.configItems.push({ attribute: "", elecLevel: "", distinct: ""});
|
||||
},
|
||||
removeConfigItem(index) {
|
||||
if (this.configItems.length > 1) {
|
||||
this.configItems.splice(index, 1);
|
||||
|
||||
}
|
||||
},
|
||||
closeConfig() {
|
||||
this.configItems=[{ attribute: "", elecLevel: "", distinct: "" }],
|
||||
this.showConfig = false
|
||||
},
|
||||
saveConfig() {
|
||||
|
||||
},
|
||||
closeClick() {
|
||||
this.configItems=[{ attribute: "", elecLevel: "", distinct: "" }],
|
||||
this.showConfig = false
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -375,130 +336,19 @@ export default {
|
|||
src: url("../../assets/iconfont/YouSheBiaoTiHei.ttf");
|
||||
}
|
||||
|
||||
.el-input__inner {
|
||||
background-color: #FFFF;
|
||||
}
|
||||
|
||||
.hole-page{
|
||||
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.crew{
|
||||
|
||||
width: 23%;
|
||||
height: 100%;
|
||||
background-color: #F3F7FF;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #EFF2FC;
|
||||
box-shadow: 2px 2px 2px #D9E0F3;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.crew-sel{
|
||||
|
||||
flex: 1;
|
||||
border: 1px solid #C6DAF8;
|
||||
background: linear-gradient(180deg, #E8F2FC, #D6E6F7);
|
||||
border-radius: 5px;
|
||||
|
||||
.sel-top{
|
||||
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 20px 35px;
|
||||
background-color: #D3E4FA;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
color: #000;
|
||||
|
||||
}
|
||||
|
||||
.single-crew{
|
||||
|
||||
box-sizing: border-box;
|
||||
padding: 15px 30px;
|
||||
border-top: 1px dashed #CFD8E5;
|
||||
background-color: transparent;
|
||||
cursor: pointer;
|
||||
|
||||
}
|
||||
|
||||
.crewActive{
|
||||
|
||||
background-color: #D3E4FA;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.map{
|
||||
|
||||
width: 40%;
|
||||
height: 100%;
|
||||
|
||||
#map-container{
|
||||
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.key-standby{
|
||||
|
||||
width: 28%;
|
||||
height: 100%;
|
||||
background-color: #F3F7FF;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #EFF2FC;
|
||||
box-shadow: 2px 2px 2px #D9E0F3;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.inner-tit{
|
||||
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 10px 20px;
|
||||
background-color: #EFF4FE;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
color: #000;
|
||||
font-size: 20px;
|
||||
font-family: 'YouShe', sans-serif;
|
||||
box-shadow: -3px -3px 2px #CBDCF6,
|
||||
2px 2px 2px #F8F9FE,
|
||||
-2px -2px 2px #CBDCF6,
|
||||
2px 2px 2px #F8F9FE;
|
||||
margin-bottom: 15px;
|
||||
|
||||
span{
|
||||
|
||||
color: #fff;
|
||||
box-sizing: border-box;
|
||||
padding: 5px 15px;
|
||||
background-color: #0297FC;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.radioLevelType{
|
||||
flex-basis: 25%;
|
||||
}
|
||||
|
||||
.tower-detect{
|
||||
|
||||
width: 28%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #F3F7FF;
|
||||
box-sizing: border-box;
|
||||
|
|
@ -635,21 +485,6 @@ export default {
|
|||
}
|
||||
|
||||
}
|
||||
.gray-border {
|
||||
border-color: gray !important;
|
||||
}
|
||||
|
||||
.red-border {
|
||||
border-color: red !important;
|
||||
}
|
||||
|
||||
.green-border {
|
||||
border-color: green !important;
|
||||
}
|
||||
|
||||
.default-border {
|
||||
border-color: gray !important;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@
|
|||
<el-date-picker
|
||||
v-model="yearValue"
|
||||
type="year"
|
||||
placeholder="选择年">
|
||||
placeholder="选择年"
|
||||
@change="yearChange"
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -21,7 +23,7 @@
|
|||
<span>告警统计</span>
|
||||
<span v-if="deviceConfig&&deviceConfig.tempThreshold" style="font-size: 14px;font-weight: 400;color: gray;">(温度阈值:{{deviceConfig.tempThreshold}},温度阈值:{{deviceConfig.tempThreshold}})</span>
|
||||
</div>
|
||||
<div id="temp-chart"></div>
|
||||
<div id="warn-chart"></div>
|
||||
</div>
|
||||
<div class="single-chart" style="margin-left: 40px;">
|
||||
<div class="inner-titWarn">
|
||||
|
|
@ -45,23 +47,12 @@
|
|||
:inline="true"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-form-item
|
||||
label="工程名称"
|
||||
prop="proName"
|
||||
>
|
||||
<el-input
|
||||
v-model="queryParams.proName"
|
||||
placeholder="请输入工程名称"
|
||||
clearable maxlength="20"
|
||||
style="width: 200px;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="设备名称"
|
||||
prop="deviceName"
|
||||
prop="devName"
|
||||
>
|
||||
<el-input
|
||||
v-model="queryParams.deviceName"
|
||||
v-model="queryParams.devName"
|
||||
placeholder="请输入设备名称"
|
||||
clearable maxlength="20"
|
||||
style="width: 200px;"
|
||||
|
|
@ -72,7 +63,7 @@
|
|||
prop="warnTime"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="queryParams.warnTime"
|
||||
v-model="dateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
|
|
@ -106,7 +97,7 @@
|
|||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="deviceName"
|
||||
prop="devName"
|
||||
label="预警设备名称"
|
||||
align="center"
|
||||
>
|
||||
|
|
@ -127,13 +118,16 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="warnTime"
|
||||
prop="warnUrl"
|
||||
label="违章照片"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.warnUrl != null && scope.row.warnUrl !=''" style="color: blue;" @click="showPicture(scope.row)">查看</span>
|
||||
<span v-else>无</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="warnType"
|
||||
label="操作"
|
||||
align="center"
|
||||
>
|
||||
|
|
@ -152,17 +146,27 @@
|
|||
/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 图片查看弹窗 -->
|
||||
<el-dialog title="查看" :visible.sync="pictureVisible" width="600px" append-to-body>
|
||||
<img width="100%" height="500px" :src="pictureUrl" alt />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="saveImg">保存图片</el-button>
|
||||
<el-button type="danger" @click="cancel">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as echarts from 'echarts'
|
||||
import {
|
||||
queryWarnSpaceListApi,
|
||||
queryWarnSpaceMonthApi,
|
||||
queryWarnSpaceTypeApi,
|
||||
delWarnSpace,
|
||||
queryDeviceByProApi,
|
||||
queryEnvironmentInfoByIdApi,
|
||||
queryChartsInfoByIdApi,
|
||||
queryWarnInfoByIdApi,
|
||||
getDevTypeCodeDetails,
|
||||
queryWarnConfigApi
|
||||
} from '@/api/substation/substation'
|
||||
export default {
|
||||
|
|
@ -177,59 +181,137 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
environmentInfoList: undefined,
|
||||
yearValue: undefined,
|
||||
yearValue: '', // 设置初始值为当前年份,
|
||||
deviceRange: [],
|
||||
deviceConfig:{},
|
||||
tableList: [
|
||||
{
|
||||
date: 'xxx工程',
|
||||
name: '2024.1.1 12:23',
|
||||
address: '明天有大风',
|
||||
},
|
||||
{
|
||||
date: 'xxx工程',
|
||||
name: '2024.1.1 12:23',
|
||||
address: '明天有大风',
|
||||
},
|
||||
{
|
||||
date: 'xxx工程',
|
||||
name: '2024.1.1 12:23',
|
||||
address: '明天有大风',
|
||||
},
|
||||
{
|
||||
date: 'xxx工程',
|
||||
name: '2024.1.1 12:23',
|
||||
address: '明天有大风',
|
||||
},
|
||||
{
|
||||
date: 'xxx工程',
|
||||
name: '2024.1.1 12:23',
|
||||
address: '明天有大风',
|
||||
},
|
||||
{
|
||||
date: 'xxx工程',
|
||||
name: '2024.1.1 12:23',
|
||||
address: '明天有大风',
|
||||
},
|
||||
],
|
||||
queryParams: {
|
||||
proName: '',
|
||||
deviceName: '',
|
||||
warnTime: [],
|
||||
devName: '',
|
||||
proId: '',
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
},
|
||||
dateRange: [],
|
||||
loading: false,
|
||||
tableListWarn: [],
|
||||
tableListDown: [],
|
||||
total: 0,
|
||||
|
||||
//图片弹窗
|
||||
pictureVisible: false,
|
||||
pictureUrl: '',
|
||||
monthData: [],
|
||||
TypeList: [],
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
created() {
|
||||
this.yearValue = (new Date().getFullYear()).toString()
|
||||
},
|
||||
mounted() {
|
||||
console.log(this.sendMsg)
|
||||
this.getWarnSpaceMonth(this.sendMsg.projectId, this.yearValue)
|
||||
this.getWarnSpaceType(this.sendMsg.projectId, this.yearValue)
|
||||
this.getDeviceData(this.sendMsg.projectId)
|
||||
this.getDevTypeCodeDetails(this.sendMsg.projectId)
|
||||
this.getWarnSpaceList(this.sendMsg.projectId)
|
||||
|
||||
},
|
||||
methods: {
|
||||
async yearChange(e) {
|
||||
this.yearValue = (e.getFullYear()).toString()
|
||||
|
||||
await this.getWarnSpaceMonth(this.sendMsg.projectId, this.yearValue)
|
||||
await this.getWarnSpaceType(this.sendMsg.projectId, this.yearValue)
|
||||
await this.getChartsData(this.deviceVal)
|
||||
},
|
||||
async getWarnSpaceMonth(proId, year) {
|
||||
queryWarnSpaceMonthApi({
|
||||
proId,
|
||||
year,
|
||||
}).then((res) => {
|
||||
this.monthData=Object.values(res.data)
|
||||
|
||||
})
|
||||
},
|
||||
async getWarnSpaceType(proId, year) {
|
||||
this.TypeList = []
|
||||
let res = await queryWarnSpaceTypeApi({
|
||||
proId,
|
||||
year,
|
||||
})
|
||||
if (res.data) {
|
||||
res.data.forEach(item => {
|
||||
this.TypeList.push({
|
||||
value: item.count,
|
||||
name: item.warnType,
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
//获取下方预警表格
|
||||
async getWarnSpaceList(proId) {
|
||||
let res = await queryWarnSpaceListApi({
|
||||
proId,
|
||||
})
|
||||
this.tableListDown = res.rows
|
||||
this.total = res.total
|
||||
},
|
||||
async getTableList() {
|
||||
this.queryParams.proId = this.sendMsg.projectId
|
||||
if (this.dateRange!=null&&this.dateRange.length>0) {
|
||||
const dateStart = new Date(this.dateRange[0])
|
||||
const dateEnd = new Date(this.dateRange[1])
|
||||
this.queryParams.startTime = dateStart.toLocaleDateString('en-CA')
|
||||
this.queryParams.endTime = dateEnd.toLocaleDateString('en-CA')
|
||||
} else {
|
||||
this.queryParams.startTime = null
|
||||
this.queryParams.endTime = null
|
||||
}
|
||||
let res = await queryWarnSpaceListApi(this.queryParams)
|
||||
this.tableListDown = res.rows
|
||||
this.total = res.total
|
||||
},
|
||||
//搜索按钮
|
||||
handleQuery() {
|
||||
this.getTableList()
|
||||
},
|
||||
|
||||
//查看图片
|
||||
showPicture(row) {
|
||||
this.pictureUrl = row.warnUrl
|
||||
this.pictureVisible = true
|
||||
},
|
||||
|
||||
//保存图片
|
||||
async saveImg() {
|
||||
try {
|
||||
const response = await fetch(this.pictureUrl);
|
||||
const blob = await response.blob();
|
||||
const link = document.createElement('a');
|
||||
link.href = URL.createObjectURL(blob);
|
||||
link.download = '违章图片.jpg'; // 你可以设置下载的文件名
|
||||
link.click();
|
||||
URL.revokeObjectURL(link.href); // 释放 URL 对象
|
||||
} catch (error) {
|
||||
console.error('下载图片失败', error);
|
||||
}
|
||||
},
|
||||
|
||||
//关闭
|
||||
cancel() {
|
||||
this.pictureVisible = false
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleWarn(row) {
|
||||
const id = row.id
|
||||
this.$modal.confirm('是否确认删除该条数据').then(function() {
|
||||
return delWarnSpace({'id':id});
|
||||
}).then(() => {
|
||||
this.getTableList()
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {})
|
||||
},
|
||||
|
||||
async getDeviceData(proId) {
|
||||
let res = await queryDeviceByProApi({
|
||||
powerId: this.sendMsg.gtId,
|
||||
|
|
@ -244,26 +326,9 @@ export default {
|
|||
value: item.devId,
|
||||
}
|
||||
})
|
||||
await this.getEnvironmentData(this.deviceVal)
|
||||
await this.getChartsData(this.deviceVal)
|
||||
await this.getWarnConfig(this.deviceVal)
|
||||
}
|
||||
},
|
||||
//预警信息
|
||||
async getDevTypeCodeDetails(proId) {
|
||||
let param = {
|
||||
proId: proId,
|
||||
devTypeCode: 116,
|
||||
}
|
||||
let res = await getDevTypeCodeDetails(param)
|
||||
this.tableList = res.data
|
||||
},
|
||||
async getEnvironmentData(devId) {
|
||||
let res = await queryEnvironmentInfoByIdApi({
|
||||
devId,
|
||||
})
|
||||
this.environmentInfoList = res.data.data
|
||||
},
|
||||
async getChartsData(devId) {
|
||||
let res = await queryChartsInfoByIdApi({
|
||||
devId,
|
||||
|
|
@ -288,42 +353,24 @@ export default {
|
|||
// },
|
||||
generateCharts(list) {
|
||||
console.log(list)
|
||||
let tempArr = this.monthData
|
||||
let tempXList = [
|
||||
'1月',
|
||||
'2月',
|
||||
'3月',
|
||||
'4月',
|
||||
'5月',
|
||||
'6月',
|
||||
'7月',
|
||||
'8月',
|
||||
'9月',
|
||||
'10月',
|
||||
'11月',
|
||||
'12月',
|
||||
]
|
||||
|
||||
let tempArr = list['温度'].map((item) => {
|
||||
return Number(item.jcValue)
|
||||
})
|
||||
let tempXList = list['温度'].map((item) => {
|
||||
return item.xtime
|
||||
})
|
||||
|
||||
let wetArr = list['湿度'].map((item) => {
|
||||
return Number(item.jcValue)
|
||||
})
|
||||
let wetXList = list['湿度'].map((item) => {
|
||||
return item.xtime
|
||||
})
|
||||
|
||||
let loudArr = list['噪声'].map((item) => {
|
||||
return Number(item.jcValue)
|
||||
})
|
||||
let loudXList = list['噪声'].map((item) => {
|
||||
return item.xtime
|
||||
})
|
||||
|
||||
let pm25Arr = list['pm25'].map((item) => {
|
||||
return Number(item.jcValue)
|
||||
})
|
||||
let pm25XList = list['pm25'].map((item) => {
|
||||
return item.xtime
|
||||
})
|
||||
|
||||
let pm10Arr = list['pm10'].map((item) => {
|
||||
return Number(item.jcValue)
|
||||
})
|
||||
let windSpeedList = list['风速'].map((item) => {
|
||||
return Number(item.jcValue)
|
||||
})
|
||||
// 温度图表
|
||||
// 告警统计图表
|
||||
let tempOption = {
|
||||
grid: {
|
||||
left: '3%',
|
||||
|
|
@ -349,16 +396,17 @@ export default {
|
|||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
name: '°C',
|
||||
},
|
||||
{
|
||||
type: 'value',
|
||||
name: '%rh',
|
||||
name: '次',
|
||||
minInterval:1,
|
||||
},
|
||||
// {
|
||||
// type: 'value',
|
||||
// name: '%rh',
|
||||
// },
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '温度',
|
||||
name: '告警次数',
|
||||
type: 'bar',
|
||||
barWidth: '40%',
|
||||
data: tempArr,
|
||||
|
|
@ -388,16 +436,17 @@ export default {
|
|||
type: 'shadow',
|
||||
},
|
||||
valueFormatter: (value) => {
|
||||
return value + '°C'
|
||||
return value + '次'
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
let tempChart = echarts.init(document.querySelector('#temp-chart'))
|
||||
let tempChart = echarts.init(document.querySelector('#warn-chart'))
|
||||
tempChart.setOption(tempOption)
|
||||
|
||||
|
||||
|
||||
//饼状图
|
||||
let gatheringSourceOption = {
|
||||
tooltip: {
|
||||
|
|
@ -425,7 +474,7 @@ export default {
|
|||
},
|
||||
series: [
|
||||
{
|
||||
name: '违章类型',
|
||||
name: '',
|
||||
type: 'pie',
|
||||
radius: '70%',
|
||||
center: ['45%', '40%'], // 将饼状图的中心位置上移
|
||||
|
|
@ -458,13 +507,7 @@ export default {
|
|||
],
|
||||
}
|
||||
|
||||
gatheringSourceOption.series[0].data = [
|
||||
{ value: 1048, name: '违章类型1' },
|
||||
{ value: 735, name: '违章类型2' },
|
||||
{ value: 580, name: '违章类型3' },
|
||||
{ value: 484, name: '违章类型4' },
|
||||
{ value: 300, name: '违章类型5' },
|
||||
]
|
||||
gatheringSourceOption.series[0].data = this.TypeList
|
||||
let gatheringSourceChart = echarts.init(document.querySelector('#violation-chart'))
|
||||
gatheringSourceChart.setOption(gatheringSourceOption);
|
||||
|
||||
|
|
@ -490,9 +533,6 @@ export default {
|
|||
font-family: 'YouShe';
|
||||
src: url('../../assets/iconfont/YouSheBiaoTiHei.ttf');
|
||||
}
|
||||
.el-input__inner {
|
||||
background-color: #FFFF;
|
||||
}
|
||||
.hole-page {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
|
@ -565,7 +605,7 @@ export default {
|
|||
|
||||
}
|
||||
|
||||
#temp-chart,
|
||||
#warn-chart,
|
||||
#violation-chart,
|
||||
#loud-chart {
|
||||
flex: 1;
|
||||
|
|
|
|||
|
|
@ -172,8 +172,8 @@ export default {
|
|||
{ title: '基坑检测类', id: 4 },
|
||||
{ title: '形变监测类', id: 5 },
|
||||
{ title: 'GLL通管监测类', id: 6 },
|
||||
{ title: '受限空间视频', id: 7 },
|
||||
{ title: '近电作业监控', id: 8 },
|
||||
{ title: '受限空间视频预警', id: 7 },
|
||||
{ title: '近电作业检测', id: 8 },
|
||||
],
|
||||
sendMsg: undefined,
|
||||
sendGeo: undefined
|
||||
|
|
|
|||
Loading…
Reference in New Issue