|
|
@@ -99,7 +99,7 @@
|
|
|
import Layout from '@/components/layout.vue'
|
|
|
import Box from '@/components/box.vue'
|
|
|
import Echart from '@/components/chart.vue'
|
|
|
-import { ref } from 'vue'
|
|
|
+import { onUnmounted, ref } from 'vue'
|
|
|
import { graphic } from 'echarts'
|
|
|
import PassengerFlowService from '../services/passengerFlow.service'
|
|
|
|
|
|
@@ -283,11 +283,26 @@ const leftContent = ref({
|
|
|
)
|
|
|
}
|
|
|
},
|
|
|
- barWidth: 30,
|
|
|
+ barMaxWidth: 30,
|
|
|
data: [ 200, 108, 200, 40, 210, 100 ]
|
|
|
}
|
|
|
],
|
|
|
- dataZoom: {}
|
|
|
+ dataZoom: {
|
|
|
+ type: 'slider',
|
|
|
+ height: 20,
|
|
|
+ bottom: 8,
|
|
|
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
|
|
|
+ handleSize: '140%',
|
|
|
+ handleStyle: {
|
|
|
+ color: '#fff'
|
|
|
+ },
|
|
|
+ moveHandleSize: 0,
|
|
|
+ textStyle: {
|
|
|
+ color: '#666'
|
|
|
+ },
|
|
|
+ fillerColor: 'rgba(24,38,73,.3)',
|
|
|
+ borderColor: 'none'
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
],
|
|
|
@@ -650,7 +665,7 @@ const rightContent = ref({
|
|
|
} ],
|
|
|
series: [ { // 内
|
|
|
type: 'bar',
|
|
|
- barWidth: 30,
|
|
|
+ barMaxWidth: 30,
|
|
|
barGap: 0.5,
|
|
|
name: '客流量',
|
|
|
label: {
|
|
|
@@ -837,7 +852,22 @@ const rightContent = ref({
|
|
|
data: [ 220, 182, 191, 234, 290, 330, 310, 201, 154, 190, 330, 410 ]
|
|
|
}
|
|
|
],
|
|
|
- dataZoom: {}
|
|
|
+ dataZoom: {
|
|
|
+ type: 'slider',
|
|
|
+ height: 20,
|
|
|
+ bottom: 8,
|
|
|
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
|
|
|
+ handleSize: '140%',
|
|
|
+ handleStyle: {
|
|
|
+ color: '#fff'
|
|
|
+ },
|
|
|
+ moveHandleSize: 0,
|
|
|
+ textStyle: {
|
|
|
+ color: '#666'
|
|
|
+ },
|
|
|
+ fillerColor: 'rgba(24,38,73,.3)',
|
|
|
+ borderColor: 'none'
|
|
|
+ }
|
|
|
},
|
|
|
center: {
|
|
|
grid: {
|
|
|
@@ -1018,7 +1048,22 @@ const rightContent = ref({
|
|
|
data: [ 220, 182, 191, 234, 290, 330, 310, 201, 154, 190, 330, 410 ]
|
|
|
}
|
|
|
],
|
|
|
- dataZoom: {}
|
|
|
+ dataZoom: {
|
|
|
+ type: 'slider',
|
|
|
+ height: 20,
|
|
|
+ bottom: 8,
|
|
|
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
|
|
|
+ handleSize: '140%',
|
|
|
+ handleStyle: {
|
|
|
+ color: '#fff'
|
|
|
+ },
|
|
|
+ moveHandleSize: 0,
|
|
|
+ textStyle: {
|
|
|
+ color: '#666'
|
|
|
+ },
|
|
|
+ fillerColor: 'rgba(24,38,73,.3)',
|
|
|
+ borderColor: 'none'
|
|
|
+ }
|
|
|
},
|
|
|
bottom: {
|
|
|
grid: {
|
|
|
@@ -1199,7 +1244,22 @@ const rightContent = ref({
|
|
|
data: [ 220, 182, 191, 234, 290, 330, 310, 201, 154, 190, 330, 410 ]
|
|
|
}
|
|
|
],
|
|
|
- dataZoom: {}
|
|
|
+ dataZoom: {
|
|
|
+ type: 'slider',
|
|
|
+ height: 20,
|
|
|
+ bottom: 8,
|
|
|
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
|
|
|
+ handleSize: '140%',
|
|
|
+ handleStyle: {
|
|
|
+ color: '#fff'
|
|
|
+ },
|
|
|
+ moveHandleSize: 0,
|
|
|
+ textStyle: {
|
|
|
+ color: '#666'
|
|
|
+ },
|
|
|
+ fillerColor: 'rgba(24,38,73,.3)',
|
|
|
+ borderColor: 'none'
|
|
|
+ }
|
|
|
}
|
|
|
})
|
|
|
|
|
|
@@ -1271,6 +1331,22 @@ async function getTrafficFlowRank() {
|
|
|
rightContent.value.top1!.series[0].data = seriesData
|
|
|
}
|
|
|
getTrafficFlowRank()
|
|
|
+
|
|
|
+const timer = setInterval(() => {
|
|
|
+ getTrafficAreaFlow()
|
|
|
+
|
|
|
+ getTrafficRidingDistance()
|
|
|
+ getTrafficTransferProportion()
|
|
|
+ getTrafficTypeNumber()
|
|
|
+ getTrafficCommutingTime()
|
|
|
+ getTrafficConsumeType()
|
|
|
+
|
|
|
+ getTrafficFlowRank()
|
|
|
+}, 5 * 1000)
|
|
|
+
|
|
|
+onUnmounted(() => {
|
|
|
+ clearInterval(timer)
|
|
|
+})
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|