VUE 开发报表,非编码方式
官网:http://doc.sougn.com
下载地址:https://pan.baidu.com/share/init?surl=P0O9sjfzC8nuQxirDfjW1A 密码:4oev
先看一段视屏,了解一下系统
视屏地址:https://sougn-test.oss-cn-beijing.aliyuncs.com/media/kk%202020-02-12%2019-06-35.mp4
拖拽式生成报表
看一张比较典型的大屏报表,如下图所示
我们进行报表开发往往经过一下几步
首先:业务专家对客户业务进行分析,给出满意的需求报告
然后:更近需求报告出业务原型图
最后:前端开发工程师拿到的如上图所示的美工图,以及切图,后端开发工程师进行接口开发,或者使用专业工具建立语义层(Universe)
项目中最耗时以及人力资源消耗最大的,往往在于业务的不确定(反复的变更:向领导请示一回,修改一次业务。)以及客户的要求高(客户往往会自己创造一些极度有创造力的图形,highcharts,fusioncharts,echarts。轮番用都不够。手写原生图形)
例如上面的一张大屏,也经过了大量的反复修改以及业务变动。而且部分图形也不是找个插件就可以使用。
先对上图所示的大屏进行分析
主要分为以下几部分:
背景图:
标题:
表格:
横向柱形图:
折线图:
饼图:
文本:
关联图:
地图:
进行技术选型:
方案一:vue+echarts+spring boot
方案二:帆软、ireport
方案一是比较传统的报表开发方式。手写编码,基本可以100%实现美工图效果。开发成本极大
方案二可以实现业务需求,但是特殊图形无法实现。开发成本小。软件要钱,最终显示效果不好
如何解决这两种方案的问题
需要一种不用钱,显示效果好。还可以自己扩展报表图形的方案,并且人工成本低
博客开始视屏里所示的报表开发工具,免费,超强扩展性,降级方案,支持联动,支持多数据源
实现原理:
如何将各种报表图形组件化?
目前前端组件化的方式:vue,react,angular这三种。但是react与angular,学习成本太高。国内用的人较少。主要选择vue
vue组件方式:
方式一:
Vue.component('button-counter', { data: function () { return { count: 0 } }, template: '<button v-on:click="count++">You clicked me {{ count }} times.</button>' })
方式二:
<template>
<button v-on:click="count++">You clicked me {{ count }} times.</button>
</template>
<script>
export default { name: 'button-counter'}
</script>
方案二依赖node进行编译,无法采用
方案一正好适合我们的技术要求
如果我们可以在后端后端解决vue的布局问题,那一样可以生产出上图所示的报表
如何让后端生产出布局?
网页的dom节点格式为一颗树,那我们就需要让布局方式也转换成树。这样后端才可以解析布局输出报表了
如何进行数据联动?
在报表开发中,我们一定会遇到数据联动问题,如何不采取编码方式,进行数据联动
从vue中得知vuex正好可以实现全局的数据联动,我们只需要将数据放在vuex中,这样就可以支持组件联动。
只要解决上面这些问题就可以轻而易举的实现一个开放的报表工具
如果你对该技术感兴趣可以联系开发者合作开发
微信:

VUE 开发报表,非编码方式的更多相关文章
- 浏览器中直接是使用react系列包开发,非打包方式。
直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- 非接触IC卡中typeA卡和typeB卡的区别--总结,二者的调制方式和编码方式不同
非接触IC卡中typeA卡和typeB卡的区别--总结,二者的调制方式和编码方式不同 1.非接触式IC卡的国际规范ISO/IEC14443的由来? 在非接触式IC卡的发展过程中,这些问题逐渐被解决并形 ...
- 从Qt5开始只剩下setCodecForLocale这一个了,只是影响Qt对toLocal8Bit相关函数的编码方式(在源码里写非英文,官方推荐“\xE4\xBD...”这种)good
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecFo ...
- 使用vue开发输入型组件更好的一种解决方式(子组件向父组件传值,基于2.2.0)
(本人想封装一个带有input输入框的组件) 之前使用vue开发组件的时候,在遇到子组件向父组件传递值时我采用的方法是这样的: 比如子组件是一个输入框,父组件调用时需要获取到子组件输入的值,子组件通过 ...
- Web前端开发最佳实践(11):使用更严格的JavaScript编码方式,提高代码质量
前言 JavaScript语言由于其固有的灵活性,所以导致开发者可以写出很多诡异的代码,甚至一些较为正常的特性,如类型隐式转换.this的指代等等,也会让刚接触此语言的开发者头大不已.尤其是那些熟知其 ...
- 【开发笔记】- 修改tomcat默认的编码方式
tomcat8以后默认编码格式是utf-8:7之前的都是iso8859-1 如果默认情况下,tomcat使用的的编码方式:iso8859-1 修改tomcat下的conf/server.xml文件 找 ...
- C#操作Excel开发报表系列整理(转)
C#操作Excel进行报表开发系列共写了七篇,也已经有很久没有新东西了,现在整理一下,方便以后查阅,如果有写新的,会同时更新.需要注意的是因为Office的版本不同,实际的代码可能会有所不同,但是都是 ...
- C#操作Excel开发报表系列整理
C#操作Excel进行报表开发系列共写了八篇,也已经有很久没有新东西了,现在整理一下,方便以后查阅,如果有写新的,会同时更新.需要注意的是因为Office的版本不同,实际的代码可能会有所不同,但是都是 ...
- JavaScript是如何工作的:事件循环和异步编程的崛起 + 5种使用 async/await 更好地编码方式!
摘要: 深度理解JS事件循环!!! 原文:JavaScript是如何工作的:事件循环和异步编程的崛起+ 5种使用 async/await 更好地编码方式! 作者:前端小智 Fundebug经授权转载, ...
随机推荐
- 洛谷$P4099\ [HEOI2013]\ SAO\ dp$
正解:树形$dp$ 解题报告: 传送门$QwQ$. 考虑设$f_i$表示点$i$的子树内的拓扑序排列方案数有多少个. 发现这样不好合并儿子节点和父亲节点.于是加一维,设$f_{i,j}$表示点$i$的 ...
- Win10系统服务器搭建--服务器管理
Win10系统中的Web服务器是什么? 在局域网中进行资源共享,以便Win10使用者时刻都能将个人数据传达服务器端中,快速执行数据的同步. 如何搭建Web服务器呢? 我分享的第二种解决Web服务器怎样 ...
- 关于Mac VMFusion Centos7虚拟机网络的配置
1.环境配置: 创建完快照后启动虚拟机,使用root用户和root密码登录系统 1.1 停止防火墙 #停止防火墙 [root@localhost ~]#systemctl stop firewalld ...
- 我的代码真的没有bug,稍等,先试试小黄鸭调试法
今天测试同学为了赶进度,加班去测试我的功能. 因为我的代码都写完了,也没有陪测的必要,所以就没去了~ 下午第一个问题提过来,根据经验,这个应该是测试的逻辑问题,最后他自己也发现了. 过了一会,提了第二 ...
- Java事务失效
问题复现,用伪代码复现问题! 事务配置文件 <tx:advice id="txAdvice" transaction-manager="transactionMan ...
- 【5min+】 什么?原来C#还有这两个关键字
系列介绍 简介 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的. ...
- 1047 编程团体赛 (20 分)C语言
编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出冠军队. 输入格式: 输入第一行给出一个正 ...
- Oracle数据库设计省市区小区数据库建表
省CREATE TABLE "SF_JECF_BASE"."SF_PROVINCE" ( "id" VARCHAR2(64 BYTE) NO ...
- 关于Springboot找不到mapper.xml问题
今天在写springboot项目时报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found),找 ...
- Shell水平测试-想学习Shell的童鞋必选必看文章
[SHELL水平测试] [OVERVIEW 篇] 有很多种 shell, 你熟悉几种? 各个 shell 的 home page 在那里? 为什么说 zsh 是目前为止功能最为强大的 shell. 为 ...