因为在项目中经常开发一些报表,并且业务、逻辑其实都有大部分的重复部分。

所以将这些常用的模块抽象出来、并且可视化操作。封装成一款报表开发工具。

先看一下项目的一些效果:数据单项绑定

可视化操作:

数据联动:

使用技术:vue全家桶

项目结构:

│ App.vue   #主要组件
│ main.js

├─assets
│ logo.png

├─axios  #网络,用于执行远程计算机上的sql,或者接口、实现数据绘制到页面上
│ http.js

├─components
│ │ Canvas.vue #基础画布组件
│ │ ComSougnBaseAssemblyCheckbox.vue  #基础组件
│ │ ComSougnBaseAssemblyDatePicker.vue #基础组件
│ │ ComSougnBaseAssemblyDateTimePicker.vue #基础组件
│ │ ComSougnBaseAssemblyFont.vue #基础组件
│ │ ComSougnBaseAssemblyInputText.vue #基础组件
│ │ ComSougnBaseAssemblyLine.vue #基础组件
│ │ ComSougnBaseAssemblyRadio.vue #基础组件
│ │ ComSougnBaseAssemblySelect.vue #基础组件
│ │ ComSougnBaseAssemblySlider.vue #基础组件
│ │ ComSougnBaseAssemblySwitch.vue #基础组件
│ │ ComSougnBaseAssemblyTimePicker.vue #基础组件
│ │ ComSougnBaseAssemblyTimeSelect.vue #基础组件
│ │ ComSougnBaseBi.vue #可视化操作主要实现的组件,使用遍历,绘制所有组件
│ │ ComSougnBaseLayoutCenter.vue #基础布局组件
│ │ ComSougnBaseLayoutRow.vue #基础布局组件
│ │ Config.vue #基础组件
│ │
│ └─mixins  #无用
│ GetValue.js 

├─router
│ index.js #无用

└─store #无用
│ index.js

└─stage
canvas.js #画布,保存所有组件的布局,以及样式、配置选项
data.js #数据,保存数据源
type.js #组件可以配置的样式

实现算法:

树的广度优先遍历,依据画布中保存的组件布局,来重绘所需要的组件。并寻找依据的配置选项和数据源实现联动

联动实现:

vuex,每次修改配置,以及数据源时。对整个vuex中的数据强制更新指针。实现联动。

github:bug??

https://github.com/ututuut/bi.git

VUE报表开发的更多相关文章

  1. 使用C#和Excel进行报表开发(三)-生成统计图(Chart)

    有的Web项目选用Excel作为报表方案,在服务器端生成Excel文件,然后传送到客户端,由客户端进行打印.在国内的环境下,相对PDF方式,Excel的安装率应该比pdf阅读器的安装率要高,同时,微软 ...

  2. 犀利的报表系统,发票据与报表开发的快速利器,AgileEAS.NET SOA中间件GReport使用指南

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  3. 如何优雅的使用vue+vux开发app -03

    如何优雅的使用vue+vux开发app -03 还是一个错误的示范,但是离优雅差的不远了... <!DOCTYPE html> <html> <head> < ...

  4. 如何优雅的使用vue+vux开发app -02

    如何优雅的使用vue+vux开发app -02 很明显这又是一个错误的示范,请勿模仿 使用动态组件实现保留状态的路由 <!DOCTYPE html> <html> <he ...

  5. 如何优雅的使用vue+vux开发app -01

    如何优雅的使用vue+vux开发app -01 很明显下面是个错误的示范: <!DOCTYPE html> <html> <head> <title>v ...

  6. ReportingServies——SQLServer报表开发综合实例

    如果我们安装了sqlserver2008 R2,将会自动安装一个报表开发工具 不要以为此报表开发工具只适合于sqlserver2008,其实在sqlserver2012中也是支持的,事实上我现在项目中 ...

  7. 报表开发工具中开放的部分图表js接口列表

    1.. 描述 报表开发工具FineReport 8.0版本中开放了部分图表js接口,在具体应用的过程中很多人都不知道这些接口到底有什么作用,该怎么应用,所以根据我自己的应用在下面归纳了这些新开放js接 ...

  8. 报表开发工具中mysql数据库连接编码转化失效解决方案

    1. 问题描述 在报表开发工具FineReport中,mysql数据库连接通过数据连接编码转换进行编码的转换,在通过报表录入往数据库中录入中文数据的时候,总是出现乱码,这个该怎么解决呢? 2. 解决方 ...

  9. BIEE报表开发

    (1)报表开发实例结果图 (2)开发报表步骤: (1)创建分析 (2)创建仪表盘提示 (3)创建仪表盘并发布 登录网址,输入用户名和密码 1) 新建——>分析——>选择主题区域——> ...

随机推荐

  1. 洛谷$P2523\ [HAOI2011]\ Problem\ c$ $dp$

    正解:$dp$ 解题报告: 传送门$QwQ$ 首先港下不合法的情况.设$sum_i$表示$q\geq i$的人数,当且仅当$sum_i>n-i+1$时无解. 欧克然后考虑这题咋做$QwQ$. 一 ...

  2. JVM探秘:Java对象

    本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. 对象的创建 虚拟机遇到一条 new 指令时,首先去检查这个指令的参数是否能在方法区常量 ...

  3. 钱包开发经验分享:ETH篇

    # 钱包开发经验分享:ETH篇 [TOC] ## 开发前的准备 > 工欲善其事,必先利其器 一路开发过来,积累了一些钱包的开发利器和网站,与大家分享一下.这些东西在这行开发过的人都知道,只是给行 ...

  4. python django 基本环境配置

    创建虚拟环境: python -m venv django启动虚拟环境: .\venv\Scripts\activate下载django: pip install django查看django命令: ...

  5. Ubuntu管理软件源

    在Ubuntu环境下,我们经常会使用apt-get(apt)命令下载各种软件,当所需软件在官方软件库中找不到时,我们需要添加第三方的软件源,或者由于位于海外的官方软件源下载速度过于感人时,需要添加国内 ...

  6. DevExpress 控件用法笔记(VB)

    1.ChartControl 显示条形图 ChartControl1.Titles.Clear() ChartControl1.Series.Clear() Dim db As DataTable S ...

  7. 案例分析丨H&M用设计冲刺将App研发周期缩短为6个月

    案例背景 H&M是一家来自瑞典的时装公司,1947年成立.截至2018年6月,H&M 分店遍布全球 68 个国家和地区,分店数目为 4338 间. 作为快速服装生产商,H&M的 ...

  8. lldb调试器知多少

    lldb调试器简介   lldb 是一个有着 REPL 的特性和 C++ .Python 插件的开源调试器.lldb调试器的由来是伴随着Xcode的版本升级而来. Xcode4.3之前使用的默认调试器 ...

  9. Linux删除文件 清除缓存

    相信很多测试 经常会经历开发叫你清除缓存这种事. 那我们要怎么清呢? 一.首先,确认你要清除的缓存在哪个目录下,然后切换到该目录下,比如 我现在知道我的的缓存目录是在newerp这个目录下,则如图 二 ...

  10. springcloud复习1

    1.SpringCloud是什么?SpringCloud=分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶. 2.SpringCloud和SpringBoot是什 ...