<!-- 车流量分析 --> <template> <view class="revenue"> <view class="revenue-line"> <LineChart v-if="chartData.series[0].data.length || chartData.series[1].data.length" :chartData="chartData" :title="title" :opts="opts"/> <view class="empty" v-else> <u-empty></u-empty> </view> </view> </view> </template> <script> import LineChart from '@/components/lineChart.vue' export default { components: { LineChart }, props: { title: { type: String, default: '' }, opts: { type: Object, default: () => { return { enableScroll: true, xAxis: { rotateLabel: true, scrollShow: true, itemCount: 8 }, yAxis: { showTitle: true, splitNumber: 5, data: [{ title: '辆', titleOffsetY: -3 }] }, legend: { show: false }, dataLabel: false, padding: [10, 0, 10, 0], extra: { column: { width: 20 } } } } } }, data() { return { chartData: { categories: [], series: [{ name: '路段', data: [] }, { name: '停车场', data: [] }] } } }, methods: { getData({ reportType, queryDate }) { this.chartData.categories = [] this.chartData.series[0].data = [] this.chartData.series[1].data = [] uni.$u.api.operationalAnalysisApi.getTrafficFlowDataApi({ reportType, queryDate }).then(res => { if (res.code === 200) { if (res.data.itemList && res.data.itemList.length) { this.chartData.categories = res.data.itemList.map(item => { return item.statisTime }) this.chartData.series[0].data = res.data.itemList.map(item => { return item.vehicleCount }) } } }) uni.$u.api.operationalAnalysisApi.getParkingTrafficFlowDataApi({ reportType, queryDate }).then(res => { if (res.code === 200) { if (res.data.itemList && res.data.itemList.length) { this.chartData.categories = res.data.itemList.map(item => { return item.statisTime }) this.chartData.series[1].data = res.data.itemList.map(item => { return item.vehicleCount }) } } }) } } } </script> <style lang="scss" scoped> .revenue { background-color: #fff; border-radius: 5px; .empty { padding: 15px; } } </style>