報表/報告組件(二)-實例與實現解釋

? ? ? ? 上篇《報表/報告組件(一)-指標/屬性組件設計》介紹了組件核心指標/屬性設計,本文以實例介紹各個特性的實現和效果,實例是多個報告融合,顯示所有的特性。

設計

? ? ? ? 指標/屬性組件是報告/報表關鍵部分,上篇已介紹過,本節回顧一下

指標模型 指標可有多個測量字段,滿足專業和挑剔的顯示樣式,格式,數值精度和范圍需要

> 格式(format) 支持多個字段合并顯示的格式,例如,顏色指標RGB,錄入3個字段,顯示使用格式 R/G/B 或?R-G-B等,帶上樣式,R/G/B

> 單位

> 類型 TEXT/NUMBER/DATETIME, ... 可擴展

> 參考范圍, 精度

參考范圍 數值的合理值/正常值,分為基準參考和范圍參考

精度 測量的有效值,通常超過精度適用>xxx, <yyy展示,不使用原本值

> 驗證指標數值

> 樣式規范,底色/圖標資源/字體,設定與精度范圍相關

> 圖片類型字段,圖表類型字段

> list類型字段,支持多行表格

> 圖表類型,生成圖表,導出圖片

本組件使用MVC模式,M 模型,數據和數據存儲;C 指輸出器,承上(模型)啟下(視圖),一個數據可以輸出docx,pdf,xlsx。。。;V 視圖,如本文的示例,docx文檔模板

實現解釋

? ? ?本節以實例說明各特性,實例是真實客戶設備檢測報告,為了介紹所有特性融合了多個報告內容,因此實例數據內容可能不是很相關。

數據模型

?本節以單元測試解釋數據模型的實現

?回顧一下設計圖,數據模型分兩部分,左側紅圈部分指標/屬性數據,右側籃圈是指標/屬性定義,包括報告類型,報告類型關聯zhib/屬性,指標,指標屬性,下面以時間屬性介紹

1. 指標/屬性定義

> 指標組

下圖新建指標組

> 指標和指標字段?

下圖新建指標和指標字段

上圖構建指標,groupCode是上面的指標組,該指標有兩個字段,均為日期類型,用于合并顯示,組合出報告需要的日期格式?

2. 報告類型,關聯指標/屬性

報告分類

關聯指標

?3. 報告,指標/屬性數據

數據選擇需要屬于報告,也即需先新建報告,再寫入數據

下圖新建報告

報告對象也是三板斧,編碼,名稱,描述

報告數據分兩部分,記錄,對應指標,下圖新建記錄(Record),其中的reportId是上面新建的報告id

IndicatorCode對應的指標,實現記錄是指標負責構建

下圖是數據,指標報告時間(REPORT-DATETIME)的數據?

上面通過單元測試構建核心對象,解釋了各類對象的結構,下面詳細解釋不同類型的指標?

合并顯示

? ? ? 合并顯示是一個指標多個字段合成一個字段顯示,例如上面的RGB,錄入的時候3個數值,R/G/B,顯示是合為一個字段,RGB這是顏色的常用的顯示方式。

> 指標模板

上圖是報告模板, {{REPORT-DATETIME.報告日期}} 是替代符,REPORT-DATETIME是屬性/指標編碼,全局唯一,"報告日期"是屬性/指標下的item。

> 數據

該指標和數據在上面數據模型介紹過,這里不重復

> 導出效果

報告日期的格式通過合并顯示的format定義?

段落文本/表格文本

這兩類是最簡單的文本顯示,區別只是識別是段落,還是表格的段落

> 指標模板

> 數據

下圖對應的指標和數據

> 導出效果

樣式

樣式大致分兩類,一是顯示狀態,支持狀態文本域聯動;二是直接指定顏色

> 指標模板

下圖指標模板定義,看著都一樣,其實有三類的字段,翼根前面的葉片123是顯示狀態,顏色聯動,前緣粘接是指定顏色,備注是圖片類型

> 數據

1. 文本,文本與背景色聯動

下圖首先創建背景色感應器實現,BgAware,目前有兩個實現,TextValueBgAware,支持背景色與文本聯動;ConstBgAware,指定背景色

下圖構建指標和指標字段項,字段項使用TextValueBgAware實現文本與顏色聯動

下圖數值,數值也可以設置TextValueBgAware,數值設置的優先級高?

2. 指定背景色?

下圖構建指定背景色的數值

> 導出效果

測量數據

指標是設備的檢測數據,該數據是周期性的,如,一天一測,有著嚴謹的數值表示,樣式要求,例如,超限,超精度,要所見即所得

> 指標模板

?> 數據

下圖是測量指標字段項,可設置上下限,是否包括邊界;上精度,下精度

指標/屬性定義4個樣式,分別是超上限,超下限,超上精度,超下精度?

> 導出示例

圖片

圖片樣式那節已經展示過

上圖定義圖片類型字段項,PNG類型,還有寬和高

相應地,數據是PicValue類型,itemName對應的item名稱,value是地址,當然也可以支持minio,ftp等?

列表

列表數據支持用戶輸入不定行的表格行,實例的列表數據是設備檢測發現的損傷問題,不定行數,多少項填報多少項

>? 指標定義

其中,@@是特殊符號,生成序列號?

>? 數據

下圖列表行指標,行的列是字段項,listType設為true,標識此指標是列表指標

>? 導出效果

圖表

圖表也屬于計算指標/屬性,使用報告的其他指標/屬性,生成圖表,本節以柱狀圖為例

> 指標/屬性模板定義

圖表的指標/屬性的模板定義

> 數據

下圖構建圖表指標/屬性,本文的示例圖表都在一個指標下,一個字段對應一個圖表

下圖 柱狀圖圖表字段項,圖表有兩個序列,Fe,Cu,每個序列有兩個數據,本次和上次

圖表沒有數據寫入,使用的是報告內的數據,上面數據是引用"指標數據"?

>? 輸出效果

下一篇 導出器的實現解釋

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/85857.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/85857.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/85857.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Flutter嵌入式開發實戰 ——從樹莓派到智能家居控制面板,打造工業級交互終端

一、為何選擇Flutter開發嵌入式設備&#xff1f; 1. 跨平臺能力降維打擊 特性傳統方案Flutter方案開發效率需分別開發Android/Linux一套代碼多端部署內存占用200MB (QtWeb引擎)<80MB (Release模式)熱重載支持不支持支持 2. 工業級硬件支持實測 樹莓派4B&#xff1a;1080…

[藍橋杯]機器人塔

題目描述 X 星球的機器人表演拉拉隊有兩種服裝&#xff0c;A 和 B。 他們這次表演的是搭機器人塔。 類似&#xff1a; A B B A B A A A B B B B B A B A B A B B A 隊內的組塔規則是&#xff1a; A 只能站在 AA 或 BB 的肩上。 B 只能站在 AB 或 BA 的肩上。 你的…

語雀文檔保存失敗URI malformed

原因 原因未知&#xff0c;我用deekseek將回答的答案復制到語雀文檔時出現了這個異常&#xff0c;在知識庫里面一直保存失敗 語雀文檔保存失敗URI malformed 解決方案 使用小記&#xff0c;將里面的內容轉移到小記里&#xff0c;將小記移到知識庫中即可

小明的Java面試奇遇之互聯網保險系統架構與性能優化

一、文章標題 小明的Java面試奇遇之互聯網保險系統架構與性能優化&#x1f680; 二、文章標簽 Java,Spring Boot,MyBatis,Redis,Kafka,JVM,多線程,互聯網保險,系統架構,性能優化 三、文章概述 本文模擬了程序員小明在應聘互聯網保險系統開發崗位時&#xff0c;參與的一場深…

從零開始的嵌入式學習day33

網絡編程及相關概念 UDP網絡通信程序 UDP網絡通信操作 一、網絡編程及相關概念 1. 網絡編程概念&#xff1a; 指通過計算機網絡實現程序間通信的技術&#xff0c;涉及協議、套接字、數據傳輸等核心概念。常見的應用場景包括客戶端-服務器模型、分布式系統、實時通信等。…

Kotlin 1. 搭建Kotlin開發環境

本實戰概述旨在指導用戶搭建Kotlin開發環境&#xff0c;并進行簡單的編程實踐。首先&#xff0c;用戶需安裝IntelliJ IDEA&#xff0c;并進行基本設置&#xff0c;如選擇主題、調整字體和安裝插件等。接著&#xff0c;創建Kotlin項目&#xff0c;設置項目名稱、位置和JDK版本&a…

Mysql的B-樹和B+樹的區別總結

B 樹也稱 B- 樹&#xff0c;全稱為 多路平衡查找樹&#xff0c;B 樹是 B 樹的一種變體。B 樹和 B 樹中的 B 是 Balanced&#xff08;平衡&#xff09;的意思。 目前大部分數據庫系統及文件系統都采用 B-Tree 或其變種 BTree 作為索引結構。 B 樹& B 樹兩者有何異同呢&…

COMSOL學習筆記-靜電場仿真

最近在學習COMSOL&#xff0c;做了一個靜電場仿真的例子&#xff0c;分享一下。 參考了下面的官方案例 計算電容 電容式位置傳感器的邊界元建模 三維模型 首先對靜電測試儀進行三維建模。 Comsol靜電場仿真 使用comsol進行靜電場仿真&#xff0c;控制方程為泊松方程&#…

JavaScript 循環方法對比指南

JavaScript 循環方法對比指南 1. 標準 for 循環 語法&#xff1a; for (let i 0; i < arr.length; i) {console.log(arr[i]); }優點 ? 完全控制索引&#xff0c;適合需要精確控制遍歷順序或步長的場景。 ? 性能最優&#xff0c;在超大規模數據遍歷時比高階方法&#x…

【快餐點餐簡易軟件】佳易王快餐店點餐系統軟件功能及操作教程

一、軟件概述與核心優勢 &#xff08;一&#xff09;試用版獲取方式 資源下載路徑&#xff1a;進入博主頭像主頁第一篇文章末尾&#xff0c;點擊卡片按鈕&#xff1b;或訪問左上角博客主頁&#xff0c;通過右側按鈕獲取詳細資料。 說明&#xff1a;下載文件為壓縮包&#xff…

智慧園區數字孿生全鏈交付方案:降本增效30%,多案例實踐驅動全周期交付

在智慧園區建設浪潮中&#xff0c;數字孿生技術正成為破解傳統園區管理難題的核心引擎。通過構建與物理園區1:1映射的數字模型&#xff0c;實現數據集成、狀態同步與智能決策&#xff0c;智慧園區數字孿生全鏈交付方案已在多個項目中驗證其降本增效價值——某物流園區通過該方案…

從0開始學vue:Element Plus詳解

一、核心架構解析二、技術實現指南三、高級特性實現四、性能優化方案五、生態擴展方案六、調試與測試七、版本演進路線 Element Plus 是專為 Vue 3 設計的桌面端 UI 組件庫&#xff0c;基于 Vue 3 的 Composition API 重構&#xff0c;在保持與 Element UI 兼容性的同時&#x…

Ubuntu系統配置C++的boost庫(含filesystem模塊)的方法

本文介紹在具有sudo權限的Ubuntu操作系統中&#xff0c;配置C 的boost庫的方法。 boost庫是一個廣受歡迎的C 庫集合&#xff0c;提供了許多強大的功能擴展——例如其中的filesystem模塊&#xff0c;可簡化文件和目錄操作&#xff0c;讓開發者可以輕松處理跨平臺的文件系統任務。…

Java集合中Stream流的使用

前言 Java 8 引入了 Stream API&#xff0c;它是一種用于處理集合&#xff08;Collection&#xff09;數據的強大工具。Stream 不是數據結構&#xff0c;而是對數據源進行操作的一種方式&#xff0c;支持聲明式、函數式的操作&#xff0c;如過濾、映射、排序等。 Stream 操作…

.Net Framework 4/C# 屬性和方法

一、屬性的概述 屬性是對實體特征的抽象&#xff0c;用于提供對類或對象的訪問&#xff0c;C# 中的屬性具有訪問器&#xff0c;這些訪問器指定在它們的值被讀取或寫入時需要執行的語句&#xff0c;因此屬性提供了一種機制&#xff0c;用于把讀取和寫入對象的某些特征與一些操作…

asp.net mvc如何簡化控制器邏輯

在ASP.NET MVC中&#xff0c;可以通過以下方法簡化控制器邏輯&#xff1a; ASP.NET——MVC編程_aspnet mvc-CSDN博客 .NET/ASP.NET MVC Controller 控制器&#xff08;IController控制器的創建過程&#xff09; https://cloud.tencent.com/developer/article/1015115 【轉載…

flask功能使用總結和完整示例

Flask 功能使用總結與完整示例 一、Flask 核心功能總結 Flask 是輕量級 Web 框架&#xff0c;核心功能包括&#xff1a; 路由系統&#xff1a;通過 app.route 裝飾器定義 URL 與函數的映射。模板引擎&#xff1a;默認使用 Jinja2&#xff0c;支持動態渲染 HTML。請求處理&…

HarmonyOS應用基礎階段- 09、綜合案例-仿攜程旅行口碑榜

文章目錄 攜程-口碑榜1、banner 區域1.1 區域部分1.2 口碑榜 Logo1.3 推薦榜單1.4 評分規則1.5 底部 Line 2、選擇城市和目的地2.1 區域布局2.2 選擇城市2.3 口碑目的地 3、商業選項菜單4、熱門項目選項4.1 區域布局4.2 熱門標題4.3 選項 5、熱門榜標題6、熱門景點列表6.1 區域…

中小制造企業轉型:低成本國產工業軟件替代方案實踐

在數字經濟浪潮席卷全球的當下&#xff0c;制造業數字化轉型已成為企業提升競爭力、實現可持續發展的必由之路。然而&#xff0c;高昂的成本與復雜的技術門檻&#xff0c;卻讓眾多中小制造企業陷入 “不能轉、不想轉、不會轉、不敢轉” 的困局。幸運的是&#xff0c;一批具有自…

Kafka 核心架構與消息模型深度解析(二)

案例實戰&#xff1a;Kafka 在實際場景中的應用 &#xff08;一&#xff09;案例背景與需求介紹 假設我們正在為一個大型電商平臺構建數據處理系統。該電商平臺擁有龐大的用戶群體&#xff0c;每天會產生海量的訂單數據、用戶行為數據&#xff08;如瀏覽、點擊、收藏等&#…