时间:2021-05-26
1、要实现的效果如下图:
2、首先项目中引用vue2-highcharts
package.json中如下:
在命令行中输入:
cnpm install vue2-highcharts3、页面代码如下:
<template> <div > <div> <div id="transparent-header" class="rank-head container" > <img src="../assets/index/back.png" class="rank-head-back" @click="routerBack"/> <span >用能排名</span> </div> </div> <div > <div > <datepicker v-on:picked="picked" style="margin-left:10px;"></datepicker> </div> <div > </div> </div> <div > <div class="charts"> <vue-highcharts :options="options" ref="maxLineCharts"></vue-highcharts> </div> </div> <div > <div class="charts"> <vue-highcharts :options="options" ref="minLineCharts"></vue-highcharts> </div> </div> </div></template><script> import datepicker from '../components/datepicker.vue' import VueHighcharts from 'vue2-highcharts' export default { data() { return{ topHeight:240, freezeMon:'', ownerFreeData: [], options:{ credits: { enabled: false }, legend: { enabled: false }, global: { useUTC: false }, chart: { type: 'bar' }, title: { text: ' ' }, subtitle: { text: '' }, xAxis:[{ categories: ['1', '2', '3', '4', '5','6', '7', '8', '9', '10'], title: { text: null }, labels: { rotation: -45 } }], yAxis:[{ min: 0, labels:{ overflow: 'justify' }, title: { text: '单位 (kwh)', align: 'high' } }], tooltip: { formatter: function(){ return this.x+':'+this.y+'kwh'; } }, credits: { enabled: false }, plotOptions: { bar: { dataLabels: { enabled: true } }, series: [{ type: 'bar' }] } } } }, methods: { picked(year, month, date) { if(month < 10){ this.freezeMon = `${year}-0${month}`; }else{ this.freezeMon = `${year}-${month}`; } this.getList(); }, routerBack(){ this.$router.go(-1); }, getList(){ let maxLineCharts = this.$refs.maxLineCharts; let minLineCharts = this.$refs.minLineCharts; if(maxLineCharts != null && minLineCharts != null){ //移除所有Series maxLineCharts.removeSeries(); minLineCharts.removeSeries();//设置标题名 maxLineCharts.getChart().title.update({ text: '用能最大TOP10' }); minLineCharts.getChart().title.update({ text: '用能最小TOP10' }); var userType = sessionStorage.getItem('userType'); var areaCode = sessionStorage.getItem('areaCode'); this.$http.post(this.URLINFO + '/mobile/rankingMonitor/getDayFreezeApp.do',{yearMonth:this.freezeMon,userType:userType,areaCode:areaCode}) .then(function (res) { var seriesData = [] var categoriesData = [] for(var i = 0;i < res.data.max.length; i++) { //maxLineCharts.addSeries({name:res.data.max[i][1],data: [{name: res.data.max[i][1],y:res.data.max[i][2]}]}); seriesData.push([res.data.max[i][1],res.data.max[i][2]]); categoriesData.push(res.data.max[i][1]); } maxLineCharts.addSeries({name: '用能',data: seriesData}); maxLineCharts.getChart().xAxis[0].setCategories(categoriesData); seriesData = [] categoriesData = [] for(var i = 0;i < res.data.min.length; i++) { //minLineCharts.addSeries({name:res.data.min[i][1],data: [{name: res.data.min[i][1],y:res.data.min[i][2]}]}); seriesData.push([res.data.min[i][1],res.data.min[i][2]]); categoriesData.push(res.data.min[i][1]); } minLineCharts.addSeries({name: '用能',data: seriesData}); minLineCharts.getChart().xAxis[0].setCategories(categoriesData); }) .catch(function (error) { this.$toast('查询排名信息异常'); }); } } }, components: { datepicker, VueHighcharts }, mounted () { this.getList() } }</script><style>*{margin:0;padding:0; list-style:none }h1,h2,h3,h4,h5,h6{font-size:16px; font-weight:normal;}.rank-head{ width: 100%; height: 40px; position:fixed; background: -webkit-linear-gradient(top,rgba(0,0,0,.6),rgba(0,0,0,0)); z-index: 999; color: #fff; font-size: 16px; text-align: center; line-height: 40px;}.container{ width: 100%; overflow: hidden}.rank-head-back{ display: block; float: left; width: 40px; height: 40px; background: url("../assets/index/back.png") no-repeat center center; background-size: 100% 100%;}</style>以上这篇Vue 中使用vue2-highcharts实现top功能的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
highcharts是国外知名基于javascript的图表库。由于中文官网的vue中使用highcharts配置繁琐并且需要引入jquery作为依赖,所以弃用
常看到各种app应用中使用自定义的键盘,本例子中使用vue2实现个简单的键盘,支持在移动端和PC端使用实现效果:Keyboard.vue123符·{{key}}
Vue+ElementUI项目中使用vue-pdf实现简单预览,供大家参考,具体内容如下1、安装vue-pdfnpminstall--savevue-pdf2、
本文介绍了jquery在vue脚手架中的使用方式示例,分享给大家,具体如下:1:在各个vue文件中使用import'../assets/js/jquery-1.
本文实例讲述了vue.js中实现登录控制的方法。分享给大家供大家参考,具体如下:vue中使用vue-router实现登录的控制在做后台管理系统中很常见,但是不想