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

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

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

可视化操作:

数据联动:

使用技术: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

最新文章

  1. $(document).ready()方法的使用
  2. android 代码整体回退
  3. caffe中的Blob块
  4. Bootstrap 基本用法
  5. ie67 设置最小宽度最小高度
  6. 谈论C++当然结果
  7. 从ASP.NET传递参数给水晶报表
  8. DE1-SOC的sof文件无法下载解决办法
  9. 解决Gradle minifyEnabled无法找到错误
  10. Linux10分钟入门
  11. TCP的核心系列 — SACK和DSACK的实现(五)
  12. ConcurrentModificationException 异常处理
  13. Android图片选择---MultiImageSelector的使用
  14. qtp自动化测试-条件语句 if select case
  15. 如何打开.lxe文件
  16. [06] 利用mybatis-generator自动生成代码
  17. 全自动baidu云盘下载脚本
  18. Linux查看系统版本信息
  19. codeforces 691E 矩阵快速幂+dp
  20. jQuary总结5:传递一个dom对象

热门文章

  1. 斜率优化入门题题单$QwQ$
  2. delphi7 如何描述窗体上的全部控件
  3. 记录我的 python 学习历程-Day13 匿名函数、内置函数 II、闭包
  4. Java配置文件读取中文乱码问题
  5. 2018 CCPC 网络赛
  6. Gitlab应用——开发人员fetch分支,合并到master主分支申请
  7. ES.01.Elasticsearch安装配置
  8. python简易计算器
  9. css 透明度
  10. Django admin的简单使用