70 lines
1.5 KiB
Vue
70 lines
1.5 KiB
Vue
<template>
|
||
<div>
|
||
<view class="project-overview"><l-echart ref="chartRef" @finished="init"></l-echart></view>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import * as echarts from '@/uni_modules/lime-echart/static/echarts.min'
|
||
|
||
export default {
|
||
props: {
|
||
optionData: {
|
||
type: Array,
|
||
default: () => []
|
||
}
|
||
},
|
||
data() {
|
||
return {
|
||
option: {
|
||
xAxis: {
|
||
type: 'category',
|
||
data: ['规划中工程', '筹备中工程', '在建中工程', '完工工程'],
|
||
// 字体占用空间过大,旋转45度
|
||
axisLabel: {
|
||
rotate: 45
|
||
}
|
||
},
|
||
yAxis: {
|
||
type: 'value'
|
||
},
|
||
series: [
|
||
{
|
||
data: this.optionData,
|
||
type: 'bar',
|
||
barWidth: '10px',
|
||
// 设置柱状图颜色-渐变色 90deg, #00D9FF 0%, #0490F4 100%
|
||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||
{ offset: 0, color: '#00D9FF' },
|
||
{ offset: 1, color: '#0490F4' }
|
||
]),
|
||
label: {
|
||
show: true,
|
||
position: 'top'
|
||
}
|
||
}
|
||
]
|
||
},
|
||
myChart: null
|
||
}
|
||
},
|
||
mounted() {
|
||
console.log('🚀 ~ mounted ~ this.optionData:', this.optionData)
|
||
this.init()
|
||
},
|
||
methods: {
|
||
async init() {
|
||
// chart 图表实例不能存在data里
|
||
const chart = await this.$refs.chartRef.init(echarts)
|
||
chart.setOption(this.option)
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.project-overview {
|
||
height: 300px;
|
||
}
|
||
</style>
|