初试vue写echarts可视化布局

初试vue写echarts可视化布局

  • 项目初始化
    • 创建全局样式表并导入iconfont字体文件
    • 全局挂载echarts对象
    • 初始化ScreenPage主体视图页面和各个组件
    • 配置路由
  • 主屏幕的布局分析
    • 期望最终效果图
    • 修改全局样式global.less
    • 页面布局分析
  • @jiaminghi/data-view大屏数据可视化开源组件的使用
    • 安装并引入
    • 边框组件的使用
      • 效果图
      • 如何使用
  • echarts组件
    • template代码
    • 生成echarts图表
    • 为了更方便操作echarts,将echarts的option配置进行拆分

项目初始化

创建全局样式表并导入iconfont字体文件

在src下面的assets里新建css文件夹,创建global.less全局样式文件,然后在main.js中引入。
在src下面的assets里新建font文件夹用于存放iconfont字体库文件,一样在main.js中引入。

// 引入字体文件
import './assets/font/iconfont.css'
// 引入全局css
import './assets/css/global.less'

全局挂载echarts对象

在main.js中

// 将全局的echarts对象挂载到vue的原型对象上
Vue.prototype.$echarts = window.echarts

初始化ScreenPage主体视图页面和各个组件

配置路由

在router/index.js中

import ScreenPage from '@/views/ScreenPage.vue'
const routes = [
  { path: '/', redirect: '/screen' },
  { path: '/screen', component: ScreenPage },
]

主屏幕的布局分析

期望最终效果图

初试vue写echarts可视化布局_第1张图片

修改全局样式global.less

html,body,#app{
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

页面布局分析

从原型图可以看出页面主要分头部标题screen-header区域以及存放各个图表的内容screen-body区域,而图表内容区域又分成了左screen-left,中screen-middle,右screen-right三个中等区域,每个中等区域又另分上下俩块小区域。
于是便确定了ScreenPage主体视图页面的整体布局以及各个图表组件所要摆放的区域。

@jiaminghi/data-view大屏数据可视化开源组件的使用

DataV组件库是基于Vue编写的,主要用于构建大屏数据展示页面的开发组件
官方文档

安装并引入

npm install @jiaminghi/data-view

在main.js中

// 将自动注册所有组件为全局组件
import dataV from '@jiaminghi/data-view';
// 全局注册
Vue.use(dataV);

边框组件的使用

效果图

初试vue写echarts可视化布局_第2张图片

如何使用

以最右侧的screen-right为例

 

css样式为

.screen-right {
    height: 100%;
    width: 20%;
    #right-top {
      height: 45%;
      position: relative;
    }
    #right-bottom {
      height: 45%;
      position: relative;
      margin-top: 10px;
    }
  }

如果在父组件里面,俩个小容器外面设置边框组件,如下图可以看出边框组件是以父组件screen-right的宽高来渲染的

 

初试vue写echarts可视化布局_第3张图片
接下来把边框组件分别放置到俩个小容器里边,效果如下图,因此可知道边框组件是相对于其父元素来进行边框的美化渲染

 

初试vue写echarts可视化布局_第4张图片
因此,待会的各个echarts图表组件直接放置于dataV边框组件内部即可。

echarts组件

template代码


在global.less中增加

.com-container{
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.com-chart{
    width: 100%;
    height: 100%;
    overflow: hidden;
}

生成echarts图表

包括初始化图表initChart(),获取数据getData(),更新图表updateChart()和屏幕大小适配screenAdapter()四个方法

为了更方便操作echarts,将echarts的option配置进行拆分

涉及到数据的option配置放到updateChart()中进行配置,涉及到屏幕适配的例如标题字体的大小放到screenAdapter()中进行配置,其余配置就正常初始化的时候进行配置。初试vue写echarts可视化布局_第5张图片

你可能感兴趣的:(前端学习记录笔记,echarts,vue.js)