|
@ -9,11 +9,13 @@ |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-select v-model="quarter" size="medium" v-if="type == 'quarter'" class="selectRoad-medium" placeholder="请选择"> |
|
|
<el-select v-model="quarter" size="medium" v-if="type == 'quarter'" class="selectRoad-medium" placeholder="请选择"> |
|
|
<el-option v-for="item in quarterOptions" :key="item.value" :label="item.label" :value="item.value"> |
|
|
<el-option v-for="item in quarterOptions" :key="item.value" :label="item.label" :value="item.value" |
|
|
|
|
|
style="width:140px;"> |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-date-picker size="mini" v-if="type != 'quarter'" class="selectRoad" v-model="dateTime" style="width:140px;" |
|
|
<el-date-picker size="mini" v-if="type != 'quarter'" class="selectRoad" v-model="dateTime" style="width:140px;" |
|
|
:type="type == 'date' ? 'date' : type == 'month' ? 'month' : type == 'year' ? 'year' : ''" placeholder="请选择" :clearable="false"/> |
|
|
:type="type == 'date' ? 'date' : type == 'month' ? 'month' : type == 'year' ? 'year' : ''" placeholder="请选择" |
|
|
|
|
|
:clearable="false" /> |
|
|
|
|
|
|
|
|
<el-button type="primary" size="mini" class="btnSearch" @click="searchQuery" icon="el-icon-search">查询</el-button> |
|
|
<el-button type="primary" size="mini" class="btnSearch" @click="searchQuery" icon="el-icon-search">查询</el-button> |
|
|
<el-button class="btnReset" size="mini" icon="el-icon-refresh-left" @click="onReset">重置</el-button> |
|
|
<el-button class="btnReset" size="mini" icon="el-icon-refresh-left" @click="onReset">重置</el-button> |
|
@ -23,16 +25,19 @@ |
|
|
<div class="body"> |
|
|
<div class="body"> |
|
|
<div> |
|
|
<div> |
|
|
<WgtTitle :title="'感知事件趋势分析'"></WgtTitle> |
|
|
<WgtTitle :title="'感知事件趋势分析'"></WgtTitle> |
|
|
<div id="chart1" class="btnChart" /> |
|
|
<Empty v-show="!chart1List || chart1List.length <= 0" text="暂无数据..."></Empty> |
|
|
|
|
|
<div v-show="chart1List || chart1List.length > 0" id="chart1" class="btnChart" /> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<WgtTitle :title="'感知事件类型分析'"></WgtTitle> |
|
|
<WgtTitle :title="'感知事件类型分析'"></WgtTitle> |
|
|
|
|
|
<Empty v-show="!chart2List || chart2List.length <= 0" text="暂无数据..."></Empty> |
|
|
<div id="chart2" class="btnChart" /> |
|
|
<div id="chart2" class="btnChart" /> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<WgtTitle :title="'桩号范围内事件分析趋势'"></WgtTitle> |
|
|
<WgtTitle :title="'桩号范围内事件分析趋势'"></WgtTitle> |
|
|
|
|
|
<Empty v-show="!chart3List || chart3List.length <= 0" text="暂无数据..."></Empty> |
|
|
<div id="chart3" class="btnChart" /> |
|
|
<div id="chart3" class="btnChart" /> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
@ -119,6 +124,9 @@ export default { |
|
|
selectIndex: 3, |
|
|
selectIndex: 3, |
|
|
selectId: 3, |
|
|
selectId: 3, |
|
|
type: "year", |
|
|
type: "year", |
|
|
|
|
|
chart1List: [], |
|
|
|
|
|
chart2List: [], |
|
|
|
|
|
chart3List: [], |
|
|
list: [ |
|
|
list: [ |
|
|
{ name: '大学城-长清', direction: '济南方向', state: "正常", speed: '108.14km/h', follow: '161' }, |
|
|
{ name: '大学城-长清', direction: '济南方向', state: "正常", speed: '108.14km/h', follow: '161' }, |
|
|
{ name: '大学城-长清', direction: '济南方向', state: "正常", speed: '108.14km/h', follow: '161' }, |
|
|
{ name: '大学城-长清', direction: '济南方向', state: "正常", speed: '108.14km/h', follow: '161' }, |
|
@ -175,6 +183,7 @@ export default { |
|
|
"quarter": this.quarter |
|
|
"quarter": this.quarter |
|
|
}).then(res => { |
|
|
}).then(res => { |
|
|
if (res.code == 200) { |
|
|
if (res.code == 200) { |
|
|
|
|
|
this.chart1List = res.data |
|
|
let data = res.data; |
|
|
let data = res.data; |
|
|
chart1.series[0].data = []; |
|
|
chart1.series[0].data = []; |
|
|
chart1.xAxis.data = []; |
|
|
chart1.xAxis.data = []; |
|
@ -247,7 +256,7 @@ export default { |
|
|
if (res.code == 200) { |
|
|
if (res.code == 200) { |
|
|
let types = []; |
|
|
let types = []; |
|
|
let numbers = []; |
|
|
let numbers = []; |
|
|
|
|
|
this.chart2List = res.data |
|
|
let data = res.data.warningTypeList; |
|
|
let data = res.data.warningTypeList; |
|
|
let total = res.data.total; |
|
|
let total = res.data.total; |
|
|
|
|
|
|
|
@ -307,22 +316,22 @@ export default { |
|
|
|
|
|
|
|
|
chart2.series[0].data = numbers; |
|
|
chart2.series[0].data = numbers; |
|
|
// 用户鼠标悬浮到某一图形时,停止自动切换并高亮鼠标悬浮的图形 |
|
|
// 用户鼠标悬浮到某一图形时,停止自动切换并高亮鼠标悬浮的图形 |
|
|
this.myChart2.on('mouseover', (params) => { |
|
|
// this.myChart2.on('mouseover', (params) => { |
|
|
if (params.componentType == 'graphic') { |
|
|
// if (params.componentType == 'graphic') { |
|
|
return |
|
|
// return |
|
|
} |
|
|
// } |
|
|
// console.log(params); |
|
|
// // console.log(params); |
|
|
chart2.title.text = `{zb|${Math.round(params.data.value / total * 100)}%}`; |
|
|
// chart2.title.text = `{zb|${Math.round(params.data.value / total * 100)}%}`; |
|
|
chart2.title.subtext = params.data.name; |
|
|
// chart2.title.subtext = params.data.name; |
|
|
this.myChart2.setOption(chart2); |
|
|
// this.myChart2.setOption(chart2); |
|
|
}) |
|
|
// }) |
|
|
|
|
|
|
|
|
// 用户鼠标移出时,重新开始自动切换 |
|
|
// 用户鼠标移出时,重新开始自动切换 |
|
|
this.myChart2.on('mouseout', (params) => { |
|
|
// this.myChart2.on('mouseout', (params) => { |
|
|
chart2.title.text = `{zb|${total}}`; |
|
|
// chart2.title.text = `{zb|${total}}`; |
|
|
chart2.title.subtext = "类型分析"; |
|
|
// chart2.title.subtext = "类型分析"; |
|
|
this.myChart2.setOption(chart2); |
|
|
// this.myChart2.setOption(chart2); |
|
|
}) |
|
|
// }) |
|
|
} |
|
|
} |
|
|
this.myChart2.setOption(chart2); |
|
|
this.myChart2.setOption(chart2); |
|
|
|
|
|
|
|
@ -339,6 +348,7 @@ export default { |
|
|
chart3.series[1].data = []; |
|
|
chart3.series[1].data = []; |
|
|
chart3.xAxis.data = []; |
|
|
chart3.xAxis.data = []; |
|
|
if (res.code == 200 && res.data.length > 0) { |
|
|
if (res.code == 200 && res.data.length > 0) { |
|
|
|
|
|
this.chart3List = res.data |
|
|
let data = res.data; |
|
|
let data = res.data; |
|
|
const maxObject = data.filter(it => it.sectionNumber > 0).reduce((prev, current) => (current.sectionNumber > prev.sectionNumber ? current : prev)); |
|
|
const maxObject = data.filter(it => it.sectionNumber > 0).reduce((prev, current) => (current.sectionNumber > prev.sectionNumber ? current : prev)); |
|
|
let zhs = []; |
|
|
let zhs = []; |
|
@ -562,7 +572,7 @@ export default { |
|
|
justify-content: space-between; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
|
|
|
--keep-ratio: scaleX(1); |
|
|
|
|
|
|
|
|
.searchPanel { |
|
|
.searchPanel { |
|
|
display: flex; |
|
|
display: flex; |
|
|