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中,這樣就可以支持組件聯動。

      

  只要解決上面這些問題就可以輕而易舉的實現一個開放的報表工具

  如果你對該技術感興趣可以聯系開發者合作開發

   微信:

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM