效果图:
HTML代码:
<div class="chart-dis-area" style="display: flex; background-color:#0B1837 ;"> <div v-for="(item,index) in chartList" class="chart-item-area" style="width: 20%;"> <div class="echartsList" :id="item.id" style="height: 225px;"></div> </div> </div>
JS:
// 引入基本模板 let echarts = require(\'echarts/lib/echarts\') // 引入柱状图等组件 require(\'echarts/lib/chart/bar\') require(\'echarts/lib/chart/line\') require(\'echarts/lib/chart/pie\') require(\'echarts/lib/chart/gauge\') // 引入提示框和title等组件 require(\'echarts/lib/component/tooltip\') require(\'echarts/lib/component/title\') require(\'echarts/lib/component/legend\') require(\'echarts/lib/component/graphic\') //引入水球图组件 import echartsLiquidfill from \'echarts-liquidfill\' export default { data() { return { chartList: [], // HardDisklength: 0 //获取硬盘数组的数量 } }, mounted() { this.init(); }, methods: { init() { //生成对应数量的硬盘echarts图 var data = [{"a": 68,"b": "C"}, {"a": 12,"b": "D"}, {"a": 5,"b": "E"}, {"a": 20,"b": "F"}] var alist = []; var blist = []; let arr = []; this.HardDisklength = data.length;for (let i = 0; i < this.HardDisklength; i++) { let item = { barChart: \'\', // chart 对象实例 id: \'id\' + i, // 为了标示 id 不同 } arr.push(item); alist.push(data[i].a); blist.push(data[i].b); } console.log(arr); this.chartList = arr; this.$nextTick(() => { for (let i = 0; i < this.chartList.length; i++) { this.chartList[i].barChart = echarts.init(document.getElementById(this.chartList[i].id)); window.onresize = this.chartList[i].barChart.resize; this.chartList[i].barChart.setOption(this.HardDiskOption(alist[i], blist[i])); //设置option } }) }, //已使用率 盘符 HardDiskOption(a, b) {return { backgroundColor: "#0B1837", title: { text: a + \'%\', subtext: b + \'盘\', subtextStyle: { fontSize: \'15\' }, x: \'center\', y: \'center\', textStyle: { fontWeight: \'normal\', color: \'#0580f2\', fontSize: \'30\' } }, color: [\'rgba(176, 212, 251, 1)\'], series: [{ name: \'Line 1\', type: \'pie\', clockWise: true, radius: [\'50%\', \'66%\'], itemStyle: { normal: { label: { show: false }, labelLine: { show: false } } }, hoverAnimation: false, data: [{ value: a, name: \'01\', itemStyle: { normal: { color: { // 完成的圆环的颜色 colorStops: [{ offset: 0, color: \'#00cefc\' // 0% 处的颜色 }, { offset: 1, color: \'#367bec\' // 100% 处的颜色 }] }, label: { show: false }, labelLine: { show: false } } } }, { name: \'02\', value: 100-a }] }] } }, } }