知方号

知方号

VUE报表开发

VUE报表开发

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

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

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

 可视化操作:

数据联动:

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。