信息发布→ 登录 注册 退出

dataV大屏在vue中的使用方式

发布时间:2026-01-11

点击量:
目录
  • 前言
  • 一、dataV可以实现什么效果?
  • 二、使用步骤
    • 1.安装依赖
    • 2.引入
    • 3.使用
  • 三、效果

    前言

    随着信息化的发展,大屏展示的需求越来越多,使用e-charts一个一个的做配置太麻烦,于是找到了封装好的dataV,直接拿来用就可以实现酷炫的大屏效果。

    (画外音:部门接了几个搞大屏的项目,技术总监让研究一下大屏项目通用性,然后我研究了一下dataV)附上官方API链接

    一、dataV可以实现什么效果?

    答:各种图表大屏效果。(以下图是从dataV可视化官网截出来的,此文章不讲dataV可视化——拖拽+图层类似PS,官网有教程,不需要编码基础,需要钱)

    二、使用步骤

    1.安装依赖

    npm install @jiaminghi/data-view
    

    2.引入

    (1)全局引入

    在main.js中:

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

    哈哈,这篇和上一篇vue3一起写的,用的同一个demo,不会vue3的看下我的上一篇文章,可以改成vue2使用:

    (2)按需引入

    import { borderBox1 } from '@jiaminghi/data-view'
    Vue.use(borderBox1)
    

    3.使用

    test1.vue文件中:(在下面的demo中我使用了边框、飞线图增强版、锥形柱图、胶囊柱图、轮播表、排名轮播表等,在实际开发中看情况使用,以及布局均需根据实际开发情况调整)

    <template>
        <dv-full-screen-container class="container">
            <div class="box left">
                <dv-border-box-1 class="border-box">
                    <dv-capsule-chart :config="config7" class="charts" style="height:300px" />
                </dv-border-box-1>
                <dv-border-box-8 class="border-box">
                    <dv-scroll-board :config="config2" class="charts" style="height:380px" />
                </dv-border-box-8>
                <dv-border-box-1 class="border-box">
                    <dv-scroll-ranking-board :config="config3" class="charts" style="height:300px"/>
                </dv-border-box-1>
                
            </div>
            <div class="box center">
                <dv-border-box-1 class="border-box">
                    <dv-flyline-chart-enhanced :config="config5" :dev="true" class="charts" style="height:800px"/>
                </dv-border-box-1>
            </div>
            <div class="box right">
                <dv-border-box-1 class="border-box">
                    <dv-scroll-ranking-board :config="config3" class="charts" style="height:300px" />
                </dv-border-box-1>
                 <dv-border-box-8 :reverse="true" class="border-box">
                    <dv-conical-column-chart :config="config6" class="charts" style="height:350px;" />
                </dv-border-box-8>
                <dv-border-box-1 class="border-box">
                    <dv-capsule-chart :config="config7" class="charts" style="height:300px" />
                </dv-border-box-1>
            </div>
        </dv-full-screen-container>
    </template>
    <script>
    import {config1,config2,config3,config4,config5,config6,config7} from "./config.js"
    export default {
      name: "test1",
      data: function() {
        return {
            config1,
            config2,
            config3,
            config4,
            config5,
            config6,
            config7
            
        }
      },
    }
    </script>
    <style scoped>
    .container{
        display: flex;
        flex-direction: row;
        background-color: #01132C;    
    }
    .left,.right{
        width: 25%;
    }
    .center{
        width: 50%;
    }
    .box{
        display: flex;
        flex-direction: column;
    }
    .charts{
        width: 90%;
        margin: 5%;   
    }
    </style>

    config.js文件中:(静态数据文件,在实际开发中可以换成从后台获取的数据;注意图片的引用)

    const config1={} 
    const config2={
        header: ['列1', '列2', '列3'],
        data: [
          ['行1列1', '行1列2', '行1列3'],
          ['行2列1', '行2列2', '行2列3'],
          ['行3列1', '行3列2', '行3列3'],
          ['行4列1', '行4列2', '行4列3'],
          ['行5列1', '行5列2', '行5列3'],
          ['行6列1', '行6列2', '行6列3'],
          ['行7列1', '行7列2', '行7列3'],
          ['行8列1', '行8列2', '行8列3'],
          ['行9列1', '行9列2', '行9列3'],
          ['行10列1', '行10列2', '行10列3']
        ],
        index: true,
        columnWidth: [50],
        align: ['center'],
        carousel: 'page'
    }
    const config3={
      data: [
        {
          name: '周口',
          value: 55
        },
        {
          name: '南阳',
          value: 120
        },
        {
          name: '西峡',
          value: 78
        },
        {
          name: '驻马店',
          value: 66
        },
        {
          name: '新乡',
          value: 80
        },
        {
          name: '信阳',
          value: 45
        },
        {
          name: '漯河',
          value: 29
        }
      ]
    }
    const config4={}
    const config5={
      points: [
        {
          name: '郑州',
          coordinate: [0.48, 0.35],
          icon: {
            src: require('@/assets/mapCenterPoint.png'),
            width: 30,
            height: 30
          },
          text: {
            color: '#fb7293'
          }
        },
        {
          name: '新乡',
          coordinate: [0.52, 0.23]
        },
        {
          name: '焦作',
          coordinate: [0.43, 0.29]
        },
        {
          name: '开封',
          coordinate: [0.59, 0.35]
        },
        {
          name: '许昌',
          coordinate: [0.53, 0.47]
        },
        {
          name: '平顶山',
          coordinate: [0.45, 0.54]
        },
        {
          name: '洛阳',
          coordinate: [0.36, 0.38]
        },
        {
          name: '周口',
          coordinate: [0.62, 0.55]
        },
        {
          name: '漯河',
          coordinate: [0.56, 0.56]
        },
        {
          name: '南阳',
          coordinate: [0.37, 0.66]
        },
        {
          name: '信阳',
          coordinate: [0.55, 0.81]
        },
        {
          name: '驻马店',
          coordinate: [0.55, 0.67]
        },
        {
          name: '济源',
          coordinate: [0.37, 0.29]
        },
        {
          name: '三门峡',
          coordinate: [0.20, 0.36]
        },
        {
          name: '商丘',
          coordinate: [0.76, 0.41]
        },
        {
          name: '鹤壁',
          coordinate: [0.59, 0.18]
        },
        {
          name: '濮阳',
          coordinate: [0.68, 0.17]
        },
        {
          name: '安阳',
          coordinate: [0.59, 0.10]
        }
      ],
      lines: [
        {
          source: '新乡',
          target: '郑州'
        },
        {
          source: '焦作',
          target: '郑州'
        },
        {
          source: '开封',
          target: '郑州'
        },
        {
          source: '许昌',
          target: '郑州'
        },
        {
          source: '平顶山',
          target: '郑州'
        },
        {
          source: '洛阳',
          target: '郑州'
        },
        {
          source: '周口',
          target: '郑州'
        },
        {
          source: '漯河',
          target: '郑州'
        },
        {
          source: '南阳',
          target: '郑州'
        },
        {
          source: '信阳',
          target: '郑州'
        },
        {
          source: '驻马店',
          target: '郑州'
        },
        {
          source: '济源',
          target: '郑州'
        },
        {
          source: '三门峡',
          target: '郑州'
        },
        {
          source: '商丘',
          target: '郑州'
        },
        {
          source: '鹤壁',
          target: '郑州'
        },
        {
          source: '濮阳',
          target: '郑州'
        },
        {
          source: '安阳',
          target: '郑州'
        }
      ],
      icon: {
        show: true,
        src: require('@/assets/mapPoint.png')
      },
      text: {
        show: true,
      },
      bgImgSrc: require('@/assets/map.jpg')
    }
    const config6={
      data: [
        {
          name: '周口',
          value: 55
        },
        {
          name: '南阳',
          value: 120
        },
        {
          name: '西峡',
          value: 71
        },
        {
          name: '驻马店',
          value: 66
        },
        {
          name: '新乡',
          value: 80
        },
        {
          name: '信阳',
          value: 35
        },
        {
          name: '漯河',
          value: 15
        }
      ],
      img: [
        require('@/assets/mapPoint.png'),
        require('@/assets/mapPoint.png'),
        require('@/assets/mapPoint.png'),
        require('@/assets/mapPoint.png'),
        require('@/assets/mapPoint.png'),
        require('@/assets/mapPoint.png'),
        require('@/assets/mapPoint.png')
      ],
      showValue: true
    }
    const config7={
      data: [
        {
          name: '南阳',
          value: 167
        },
        {
          name: '周口',
          value: 67
        },
        {
          name: '漯河',
          value: 123
        },
        {
          name: '郑州',
          value: 55
        },
        {
          name: '西峡',
          value: 98
        },
      ],
      unit: 'ml'
    }
    export { config1,config2,config3,config4,config5,config6,config7}
    

    三、效果

    具体布局可以继续优化,再添加各种 元素使页面更丰满,这里只是做一个demo。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!