|
@@ -44,6 +44,20 @@
|
|
<div class="dashboard_bottom_center">
|
|
<div class="dashboard_bottom_center">
|
|
<dv-border-box-7 :color="colors" v-loading="mapOverviewLoading" element-loading-text="拼命加载中" class="dashboard_bottom_center_box1">
|
|
<dv-border-box-7 :color="colors" v-loading="mapOverviewLoading" element-loading-text="拼命加载中" class="dashboard_bottom_center_box1">
|
|
<div class="box_title">机场行李跟踪系统建设总贤</div>
|
|
<div class="box_title">机场行李跟踪系统建设总贤</div>
|
|
|
|
+ <div class="mapOverview">
|
|
|
|
+ <div class="mapOverview_list">
|
|
|
|
+ <span class="mapOverview_list_icon icon1"></span>
|
|
|
|
+ <span class="mapOverview_list_txt">已建 {{mapOverviewItem.build}}家</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="mapOverview_list">
|
|
|
|
+ <span class="mapOverview_list_icon icon2"></span>
|
|
|
|
+ <span class="mapOverview_list_txt">在建 {{mapOverviewItem.building}}家</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="mapOverview_list">
|
|
|
|
+ <span class="mapOverview_list_icon icon3"></span>
|
|
|
|
+ <span class="mapOverview_list_txt">未建 {{mapOverviewItem.not_build}}家</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
<div class="box_content">
|
|
<div class="box_content">
|
|
<map-charts id="mapCharts" :option="mapOverview" />
|
|
<map-charts id="mapCharts" :option="mapOverview" />
|
|
</div>
|
|
</div>
|
|
@@ -62,8 +76,11 @@
|
|
<pie-charts id="stogCharts" :option="airportStog" />
|
|
<pie-charts id="stogCharts" :option="airportStog" />
|
|
</div>
|
|
</div>
|
|
</dv-border-box-7>
|
|
</dv-border-box-7>
|
|
- <dv-border-box-7 :color="colors" class="dashboard_bottom_left_box">
|
|
|
|
|
|
+ <dv-border-box-7 :color="colors" v-loading="overallAccessLoading" element-loading-text="拼命加载中" class="dashboard_bottom_left_box">
|
|
<div class="box_title">总体接入数据量</div>
|
|
<div class="box_title">总体接入数据量</div>
|
|
|
|
+ <div class="box_content">
|
|
|
|
+ <pie-charts id="stogChartss" :option="overallAccess" />
|
|
|
|
+ </div>
|
|
</dv-border-box-7>
|
|
</dv-border-box-7>
|
|
<dv-border-box-7 :color="colors" v-loading="luggageStackLoading" element-loading-text="拼命加载中" class="dashboard_bottom_left_box">
|
|
<dv-border-box-7 :color="colors" v-loading="luggageStackLoading" element-loading-text="拼命加载中" class="dashboard_bottom_left_box">
|
|
<div class="box_title">行李量</div>
|
|
<div class="box_title">行李量</div>
|
|
@@ -117,10 +134,17 @@ export default {
|
|
scatterPlotLoading: false,
|
|
scatterPlotLoading: false,
|
|
airportStog: _.cloneDeep(pieOption),
|
|
airportStog: _.cloneDeep(pieOption),
|
|
airportStogLoading: false,
|
|
airportStogLoading: false,
|
|
|
|
+ overallAccess: _.cloneDeep(pieOption),
|
|
|
|
+ overallAccessLoading: false,
|
|
luggageStack: _.cloneDeep(LuggageOption),
|
|
luggageStack: _.cloneDeep(LuggageOption),
|
|
luggageStackLoading: false,
|
|
luggageStackLoading: false,
|
|
fligtPlot: _.cloneDeep(scatterOption),
|
|
fligtPlot: _.cloneDeep(scatterOption),
|
|
fligtPlotLoading: false,
|
|
fligtPlotLoading: false,
|
|
|
|
+ mapOverviewItem: {
|
|
|
|
+ build: 0,
|
|
|
|
+ building: 0,
|
|
|
|
+ not_build: 0
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
@@ -351,7 +375,55 @@ export default {
|
|
formatNumberData (targetNum) {
|
|
formatNumberData (targetNum) {
|
|
return _.floor((Number(targetNum) / 10000), 4)
|
|
return _.floor((Number(targetNum) / 10000), 4)
|
|
},
|
|
},
|
|
- setMapOverview () { },
|
|
|
|
|
|
+ //机场行李跟踪系统建设总览
|
|
|
|
+ async setMapOverview () {
|
|
|
|
+ this.mapOverviewLoading = true
|
|
|
|
+ try {
|
|
|
|
+ const {
|
|
|
|
+ code,
|
|
|
|
+ returnData
|
|
|
|
+ } = await Query({
|
|
|
|
+ serviceId: SERVICE_ID.airportTotalId,
|
|
|
|
+ dataContent: { fd1: this.dateTimes[0], fd2: this.dateTimes[1], area: this.getChecksValue('checkAlls') || '全国' },
|
|
|
|
+ event: '0',
|
|
|
|
+ })
|
|
|
|
+ if (String(code) !== '0') {
|
|
|
|
+ throw new Error('获取数据失败')
|
|
|
|
+ }
|
|
|
|
+ const ndatas = [...returnData]
|
|
|
|
+ if (!ndatas.length) return
|
|
|
|
+ ndatas.map(item => {
|
|
|
|
+ item.name = item.province
|
|
|
|
+ item.value = item.out_bag
|
|
|
|
+ })
|
|
|
|
+ this.mapOverview.series[0].data = ndatas
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.log(error)
|
|
|
|
+ }
|
|
|
|
+ this.mapOverviewLoading = false
|
|
|
|
+ },
|
|
|
|
+ //机场行李跟踪系统建设总览-建立情况
|
|
|
|
+ async setMapOverviewTotals () {
|
|
|
|
+ try {
|
|
|
|
+ const {
|
|
|
|
+ code,
|
|
|
|
+ returnData
|
|
|
|
+ } = await Query({
|
|
|
|
+ serviceId: SERVICE_ID.pelestablishId,
|
|
|
|
+ dataContent: {},
|
|
|
|
+ event: '0',
|
|
|
|
+ })
|
|
|
|
+ if (String(code) !== '0') {
|
|
|
|
+ throw new Error('获取数据失败')
|
|
|
|
+ }
|
|
|
|
+ const ndatas = [...returnData]
|
|
|
|
+ if (!ndatas.length) return
|
|
|
|
+ this.mapOverviewItem = ndatas[0]
|
|
|
|
+ return
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.log(error)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
formatPlotData (times, arrs) {
|
|
formatPlotData (times, arrs) {
|
|
const ndatas = []
|
|
const ndatas = []
|
|
for (let i = 0; i < times.length; i++) {
|
|
for (let i = 0; i < times.length; i++) {
|
|
@@ -584,15 +656,71 @@ export default {
|
|
}
|
|
}
|
|
this.fligtPlotLoading = false
|
|
this.fligtPlotLoading = false
|
|
},
|
|
},
|
|
- setAirportStog () {
|
|
|
|
- this.airportStog.series[0].data = [{ name: '无行李航班量', value: 3000 }, { name: '有行李航班量', value: 1581 }]
|
|
|
|
- this.airportStog.series[0].color = ['#660066', '#993399']
|
|
|
|
- this.airportStog.series[1].data = [{ name: '正常航班量', value: 2000 }, { name: '延误航班量', value: 2000 }, { name: '取消航班量', value: 581 }]
|
|
|
|
- this.airportStog.series[1].color = ['#6666ff', '#3333ff', '#0000ff']
|
|
|
|
- this.airportStog.series[2].data = [{ name: '国内航班总量', value: 3000 }, { name: '国际航班总量', value: 1581 }]
|
|
|
|
- this.airportStog.series[2].color = ['#00cc33', '#33ff66']
|
|
|
|
- this.airportStog.series[3].data = [{ name: '航班总量', value: 4581 }]
|
|
|
|
- this.airportStog.series[3].color = ['#041741']
|
|
|
|
|
|
+ //航班量
|
|
|
|
+ async setAirportStog () {
|
|
|
|
+ this.airportStogLoading = true
|
|
|
|
+ try {
|
|
|
|
+ const {
|
|
|
|
+ code,
|
|
|
|
+ returnData
|
|
|
|
+ } = await Query({
|
|
|
|
+ serviceId: SERVICE_ID.pelFlightId,
|
|
|
|
+ dataContent: { fd1: this.dateTimes[0], fd2: this.dateTimes[1], area: this.getChecksValue('checkAlls') || '全国' },
|
|
|
|
+ event: '0',
|
|
|
|
+ })
|
|
|
|
+ if (String(code) !== '0') {
|
|
|
|
+ throw new Error('获取数据失败')
|
|
|
|
+ }
|
|
|
|
+ const ndatas = [...returnData]
|
|
|
|
+ if (!ndatas.length) return
|
|
|
|
+ const { canfly, dlyfly, domfly, havebagfly, intfly, nohavebagfly, norfly, totalfly } = ndatas[0]
|
|
|
|
+ this.airportStog.legend.data = ['国内航班总量', '国际航班总量', '正常航班量', '延误航班量', '取消航班量', '有行李航班量', '无行李航班量']
|
|
|
|
+ this.airportStog.series[0].data = [{ name: '无行李航班量', value: nohavebagfly }, { name: '有行李航班量', value: havebagfly }]
|
|
|
|
+ this.airportStog.series[0].color = ['#660066', '#993399']
|
|
|
|
+ this.airportStog.series[1].data = [{ name: '正常航班量', value: norfly }, { name: '延误航班量', value: dlyfly }, { name: '取消航班量', value: canfly }]
|
|
|
|
+ this.airportStog.series[1].color = ['#6666ff', '#3333ff', '#0000ff']
|
|
|
|
+ this.airportStog.series[2].data = [{ name: '国内航班总量', value: domfly }, { name: '国际航班总量', value: intfly }]
|
|
|
|
+ this.airportStog.series[2].color = ['#00cc33', '#33ff66']
|
|
|
|
+ this.airportStog.series[3].data = [{ name: '航班总量', value: totalfly }]
|
|
|
|
+ this.airportStog.series[3].color = ['#fff']
|
|
|
|
+
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.log(error)
|
|
|
|
+ }
|
|
|
|
+ this.airportStogLoading = false
|
|
|
|
+ },
|
|
|
|
+ //总体接入数据量
|
|
|
|
+ async setoverallAccess () {
|
|
|
|
+ this.overallAccessLoading = true
|
|
|
|
+ try {
|
|
|
|
+ const {
|
|
|
|
+ code,
|
|
|
|
+ returnData
|
|
|
|
+ } = await Query({
|
|
|
|
+ serviceId: SERVICE_ID.pelTotalId,
|
|
|
|
+ dataContent: { fd1: this.dateTimes[0], fd2: this.dateTimes[1], area: this.getChecksValue('checkAlls') || '全国' },
|
|
|
|
+ event: '0',
|
|
|
|
+ })
|
|
|
|
+ if (String(code) !== '0') {
|
|
|
|
+ throw new Error('获取数据失败')
|
|
|
|
+ }
|
|
|
|
+ const ndatas = [...returnData]
|
|
|
|
+ if (!ndatas.length) return
|
|
|
|
+ const { bpm_messages, bsm_messages, flight_messages, total_messages, exception_messages, non_standard_messages_total, standard_messages_total } = ndatas[0]
|
|
|
|
+ this.overallAccess.legend.data = ['BPM', 'BSM', '航班数据', '异常行李数据', '不符合规范数据', '符合规范数据']
|
|
|
|
+ this.overallAccess.series[0].data = [{ name: '不符合规范数据', value: non_standard_messages_total }, { name: '符合规范数据', value: standard_messages_total }]
|
|
|
|
+ this.overallAccess.series[0].color = ['#660066', '#993399']
|
|
|
|
+ this.overallAccess.series[1].data = [{ name: 'BPM', value: bpm_messages }, { name: 'BSM', value: bsm_messages }, { name: '航班数据', value: flight_messages }, { name: '异常行李数据', value: exception_messages }]
|
|
|
|
+ this.overallAccess.series[1].color = ['#0000ff', '#6666ff', '#3333ff', '#000066']
|
|
|
|
+ this.overallAccess.series[2].data = [{ name: '', value: 0 }]
|
|
|
|
+ this.overallAccess.series[2].color = ['#fff']
|
|
|
|
+ this.overallAccess.series[3].data = [{ name: '数据总量', value: total_messages }]
|
|
|
|
+ this.overallAccess.series[3].color = ['#fff']
|
|
|
|
+
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.log(error)
|
|
|
|
+ }
|
|
|
|
+ this.overallAccessLoading = false
|
|
},
|
|
},
|
|
pageInit () {
|
|
pageInit () {
|
|
this.setAirportAccess()
|
|
this.setAirportAccess()
|
|
@@ -602,6 +730,9 @@ export default {
|
|
this.setFligtPlot()
|
|
this.setFligtPlot()
|
|
this.setScatterPlot()
|
|
this.setScatterPlot()
|
|
this.setAirportStog()
|
|
this.setAirportStog()
|
|
|
|
+ this.setoverallAccess()
|
|
|
|
+ this.setMapOverview()
|
|
|
|
+ this.setMapOverviewTotals()
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted () {
|
|
mounted () {
|
|
@@ -621,6 +752,31 @@ $bg: #074fb8;
|
|
height: calc(100vh - 80px);
|
|
height: calc(100vh - 80px);
|
|
width: $w100;
|
|
width: $w100;
|
|
background-color: #fff;
|
|
background-color: #fff;
|
|
|
|
+ .mapOverview {
|
|
|
|
+ position: absolute;
|
|
|
|
+ left: 7%;
|
|
|
|
+ top: 10%;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ color: #696969;
|
|
|
|
+ &_list {
|
|
|
|
+ margin-top: 5px;
|
|
|
|
+ &_icon {
|
|
|
|
+ display: inline-block;
|
|
|
|
+ width: 11px;
|
|
|
|
+ height: 11px;
|
|
|
|
+ margin-right: 6px;
|
|
|
|
+ }
|
|
|
|
+ .icon1 {
|
|
|
|
+ background-color: #4fc267;
|
|
|
|
+ }
|
|
|
|
+ .icon2 {
|
|
|
|
+ background-color: #ffcc80;
|
|
|
|
+ }
|
|
|
|
+ .icon3 {
|
|
|
|
+ background-color: #656565;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
.box_title {
|
|
.box_title {
|
|
background-color: $bg;
|
|
background-color: $bg;
|
|
color: #fff;
|
|
color: #fff;
|