1. 程式人生 > >VUE 開發報表,非編碼方式

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

      

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

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

   微信: