数据分析报警日志管理页面创建及接口调试
This commit is contained in:
parent
41e97ed2e9
commit
6b933e1b6e
|
@ -188,7 +188,7 @@ export default {
|
||||||
this.alarmBar = echarts.init(document.getElementById("alarmChartBar"))
|
this.alarmBar = echarts.init(document.getElementById("alarmChartBar"))
|
||||||
let options = {
|
let options = {
|
||||||
grid: {
|
grid: {
|
||||||
left: '0%',
|
left: '12',
|
||||||
right: '0%',
|
right: '0%',
|
||||||
bottom: '15',
|
bottom: '15',
|
||||||
top:15,
|
top:15,
|
||||||
|
|
312
src/views/abnormalAlarm/analysisMonitor/alarmAnalysis/index.vue
Normal file
312
src/views/abnormalAlarm/analysisMonitor/alarmAnalysis/index.vue
Normal file
|
@ -0,0 +1,312 @@
|
||||||
|
<template>
|
||||||
|
<div style="height: 100%;">
|
||||||
|
<SearchBar type="alarmAnalysis" @search="handleSearch"></SearchBar>
|
||||||
|
<div class="chart-layout" id="analysisChartBar"></div>
|
||||||
|
<div class="chart-box">
|
||||||
|
<div class="chart-box-left">
|
||||||
|
<BoxTitle title="Station Alarm number"></BoxTitle>
|
||||||
|
<div class="chart-box-left-bar" id="chartLeft"></div>
|
||||||
|
</div>
|
||||||
|
<div class="chart-box-right">
|
||||||
|
<BoxTitle title="Anaysis Sources Alarms"></BoxTitle>
|
||||||
|
<div class="chart-box-right-pie" id="chartRight"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import dateFormat from '@/components/jeecg/JEasyCron/format-date'
|
||||||
|
import SearchBar from '../../components/searchBar';
|
||||||
|
import BoxTitle from '../../components/boxTitle.vue';
|
||||||
|
import { getAction, postAction } from '@/api/manage'
|
||||||
|
import * as echarts from 'echarts'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
SearchBar,
|
||||||
|
BoxTitle
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
xData: [],
|
||||||
|
yData: [],
|
||||||
|
xData_left: [],
|
||||||
|
yData_left: [],
|
||||||
|
pieData: [],
|
||||||
|
pieColors:["#00bcd4","#14b2a3","#97b94b","#47b55d"],
|
||||||
|
pieTotal: 0,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.handleSearch({startDate:dateFormat(new Date(), 'yyyy-MM-dd'),endDate:dateFormat(new Date(), 'yyyy-MM-dd')})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleSearch({ startDate, endDate, types }) {
|
||||||
|
this.paramsArg = {
|
||||||
|
startDate,
|
||||||
|
endDate,
|
||||||
|
types
|
||||||
|
}
|
||||||
|
this.getAnalysisLogBar({ startDate, endDate })
|
||||||
|
this.getStationNum({ startDate, endDate })
|
||||||
|
this.getAnalysisSource({ startDate, endDate })
|
||||||
|
},
|
||||||
|
getAnalysisLogBar(obj) {
|
||||||
|
let params = {
|
||||||
|
startDate:obj.startDate,
|
||||||
|
endDate:obj.endDate,
|
||||||
|
}
|
||||||
|
getAction("/alarmAnalysisLog/byTime", params).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.xData = res.result.xData
|
||||||
|
this.yData = res.result.yData
|
||||||
|
this.drawAnalysis_bar()
|
||||||
|
} else {
|
||||||
|
this.$message.warning("This operation fails. Contact your system administrator")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getStationNum(obj) {
|
||||||
|
let params = {
|
||||||
|
startDate:obj.startDate,
|
||||||
|
endDate:obj.endDate,
|
||||||
|
}
|
||||||
|
getAction("/alarmAnalysisLog/byStatoin", params).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.xData_left = res.result.xData
|
||||||
|
this.yData_left = res.result.yData
|
||||||
|
this.drawLeftChart()
|
||||||
|
} else {
|
||||||
|
this.$message.warning("This operation fails. Contact your system administrator")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getAnalysisSource(obj) {
|
||||||
|
let params = {
|
||||||
|
startDate:obj.startDate,
|
||||||
|
endDate:obj.endDate,
|
||||||
|
}
|
||||||
|
getAction("/alarmAnalysisLog/bySource", params).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.pieData = res.result.pieData
|
||||||
|
this.pieTotal = res.result.pieTotal
|
||||||
|
this.drawRightChart()
|
||||||
|
} else {
|
||||||
|
this.$message.warning("This operation fails. Contact your system administrator")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
drawAnalysis_bar() {
|
||||||
|
let myChart = echarts.init(document.getElementById("analysisChartBar"))
|
||||||
|
let options = {
|
||||||
|
grid: {
|
||||||
|
left: '12',
|
||||||
|
right: '0%',
|
||||||
|
bottom: '15',
|
||||||
|
top:15,
|
||||||
|
containLabel: true
|
||||||
|
},
|
||||||
|
xAxis: {
|
||||||
|
type: 'category',
|
||||||
|
axisTick: {
|
||||||
|
show:false
|
||||||
|
},
|
||||||
|
axisLine: {
|
||||||
|
lineStyle: {
|
||||||
|
color: "rgba(119, 181, 213, 0.5)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
color: "rgba(173, 230, 238, 1)"
|
||||||
|
},
|
||||||
|
data: this.xData
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
type: 'value',
|
||||||
|
axisLine: {
|
||||||
|
show:true,
|
||||||
|
lineStyle: {
|
||||||
|
color: "rgba(119, 181, 213, 0.5)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
splitLine: {
|
||||||
|
show: true,
|
||||||
|
lineStyle: {
|
||||||
|
color: "rgba(119, 181, 213, 0.2)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
color: "rgba(173, 230, 238, 1)"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
type: 'bar',
|
||||||
|
barMaxWidth: 30,
|
||||||
|
itemStyle: {
|
||||||
|
color: "#b87b1b"
|
||||||
|
},
|
||||||
|
data: this.yData,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
myChart.setOption(options)
|
||||||
|
window.addEventListener("resize", function () {
|
||||||
|
myChart.resize();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
drawLeftChart() {
|
||||||
|
let myChart = echarts.init(document.getElementById("chartLeft"))
|
||||||
|
let options = {
|
||||||
|
grid: {
|
||||||
|
left: '12',
|
||||||
|
right: '0%',
|
||||||
|
bottom: '15',
|
||||||
|
top:15,
|
||||||
|
containLabel: true
|
||||||
|
},
|
||||||
|
xAxis: {
|
||||||
|
type: 'category',
|
||||||
|
axisTick: {
|
||||||
|
show:false
|
||||||
|
},
|
||||||
|
axisLine: {
|
||||||
|
lineStyle: {
|
||||||
|
color: "rgba(119, 181, 213, 0.5)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
color: "rgba(173, 230, 238, 1)"
|
||||||
|
},
|
||||||
|
data: this.xData_left
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
type: 'value',
|
||||||
|
axisLine: {
|
||||||
|
show:true,
|
||||||
|
lineStyle: {
|
||||||
|
color: "rgba(119, 181, 213, 0.5)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
splitLine: {
|
||||||
|
show: true,
|
||||||
|
lineStyle: {
|
||||||
|
color: "rgba(119, 181, 213, 0.2)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
color: "rgba(173, 230, 238, 1)"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
type: 'bar',
|
||||||
|
barMaxWidth: 30,
|
||||||
|
itemStyle: {
|
||||||
|
color: "#2e83cc"
|
||||||
|
},
|
||||||
|
data: this.yData_left,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
myChart.setOption(options)
|
||||||
|
window.addEventListener("resize", function () {
|
||||||
|
myChart.resize();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
drawRightChart() {
|
||||||
|
let myChart = echarts.init(document.getElementById("chartRight"))
|
||||||
|
let options = {
|
||||||
|
graphic: [
|
||||||
|
{
|
||||||
|
type: "text",
|
||||||
|
left: "center",
|
||||||
|
top: "40%",
|
||||||
|
style: {
|
||||||
|
text: this.pieTotal,
|
||||||
|
textAlign: "center",
|
||||||
|
fill: "#ffffff",
|
||||||
|
font: '32px "MicrogrammaD-MediExte"'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "text",
|
||||||
|
left: "center",
|
||||||
|
top: "50%",
|
||||||
|
style: {
|
||||||
|
text: "Alarm Total",
|
||||||
|
textAlign: "center",
|
||||||
|
fill: "#ade6ee",
|
||||||
|
font: '22px "ArialMT"'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: 'Access From',
|
||||||
|
type: 'pie',
|
||||||
|
radius: ['50%', '75%'],
|
||||||
|
data: this.pieData.map((item, index) => {
|
||||||
|
item.label = {
|
||||||
|
color: this.pieColors[index]
|
||||||
|
}
|
||||||
|
return item;
|
||||||
|
}),
|
||||||
|
itemStyle: {
|
||||||
|
borderColor: '#02282b',
|
||||||
|
borderWidth: 5,
|
||||||
|
color: (params) => {
|
||||||
|
var index = params.dataIndex;
|
||||||
|
return this.pieColors[index];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
label:{
|
||||||
|
formatter:'{q|{b}}\n{q|{c}} {q|({d})%}',
|
||||||
|
rich: {
|
||||||
|
q: {
|
||||||
|
fontSize: 16,
|
||||||
|
fontFamily: 'ArialMT',
|
||||||
|
lineHeight: 22
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
myChart.setOption(options)
|
||||||
|
window.addEventListener("resize", function () {
|
||||||
|
myChart.resize();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.chart-layout{
|
||||||
|
height: 400px;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
.chart-box{
|
||||||
|
height: calc(100% - 450px);
|
||||||
|
margin-left: 20px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
&-left{
|
||||||
|
width: calc(100% - 545px);
|
||||||
|
height: 100%;
|
||||||
|
&-bar{
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100% - 40px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-right{
|
||||||
|
width: 525px;
|
||||||
|
height: 100%;
|
||||||
|
&-pie{
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100% - 40px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -10,7 +10,6 @@
|
||||||
<a-col flex="380px">
|
<a-col flex="380px">
|
||||||
<span class="item-label">Cacl date</span>
|
<span class="item-label">Cacl date</span>
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
dropdownClassName="asd"
|
|
||||||
:default-value="[moment(queryParams.startDate), moment(queryParams.endDate)]"
|
:default-value="[moment(queryParams.startDate), moment(queryParams.endDate)]"
|
||||||
@change="onRangeDateChange"
|
@change="onRangeDateChange"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col flex="310px" v-if="type!=='alarmCenter' && type!=='analysisMonitor'">
|
<a-col flex="310px" v-if="type!=='alarmCenter' && type!=='analysisMonitor'&& type!=='alarmAnalysis'">
|
||||||
<a-form-model-item label="Name">
|
<a-form-model-item label="Name">
|
||||||
<a-select
|
<a-select
|
||||||
:value="queryParams.names"
|
:value="queryParams.names"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user