当前位置: 首页 > news >正文

报表/报告组件(二)-实例与实现解释

        上篇《报表/报告组件(一)-指标/属性组件设计》介绍了组件核心指标/属性设计,本文以实例介绍各个特性的实现和效果,实例是多个报告融合,显示所有的特性。

设计

        指标/属性组件是报告/报表关键部分,上篇已介绍过,本节回顾一下

指标模型 指标可有多个测量字段,满足专业和挑剔的显示样式,格式,数值精度和范围需要

> 格式(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,每个序列有两个数据,本次和上次

图表没有数据写入,使用的是报告内的数据,上面数据是引用"指标数据

>  输出效果

下一篇 导出器的实现解释

相关文章:

  • java-spring
  • Linux下使用nmcli连接网络
  • Python 数据分析与可视化实战:从数据清洗到图表呈现
  • DApp 开发:开启去中心化应用新时代
  • IP查询与网络风险的关系
  • 基于 ThreadContext 封装多个“业务上下文类”以实现可复用、易拓展
  • PH热榜 | 2025-06-03
  • 从0到1认识EFK
  • MATLAB实战:四旋翼姿态控制仿真方案
  • ARP (Address Resolution Protocol,地址解析协议)将IP地址解析为物理地址(MAC地址)
  • 痉挛性斜颈日常养护小贴士
  • 如何构建自适应架构的镜像
  • 手机邮箱APP操作
  • Diffusion Models: A Comprehensive Survey of Methods and Applications
  • JWTの求生记录
  • 学习STC51单片机26(芯片为STC89C52RCRC)
  • Freemarker快速入门
  • js实现可折叠的列表或菜单
  • 【亲测有效 | Cursor Pro每月500次快速请求扩5倍】(Windows版)Cursor中集成interactive-feedback-mcp
  • Java:跨越时代的编程语言,持续引领技术革新
  • 离退休干部网站建设/无锡百度快速优化排名
  • 昆明企业网站开发/bing搜索
  • 室内装修风格/seo网站推广方式
  • 门户网站上的广告怎么做/东莞百度快速优化排名
  • 郑州网站建设及托管/全国疫情最新名单
  • 宿州网站建设/最新的域名网站