Files
qhmes/.trae/skills/jimureport/references/template-analysis.md

4.2 KiB
Raw Permalink Blame History

积木报表模板分析参考

模板报表查询

通过 getReportByUser 接口获取模板报表:

GET /jmreport/getReportByUser?reportId=&template=1

46个模板分类统计

分类 数量 示例
基础表格 30 信息采集表、简单分组报表
图表报表 9 全国各大城市化员数据、物业实时监控
循环报表 4 订单表循环打印、班级循环套打表
图片报表 4 员工信息表、证书打印
条码/二维码 3 实习证明、凭证条码报表

图表数据绑定

extData 数据类型 (dataType)

前端使用文本字符串,非数字:

  • "sql" - SQL数据集
  • "api" - API数据集
  • "json" - JSON数据集
  • "javabean" - JavaBean数据集
  • "files" - 文件数据集
  • null - 静态图表无数据绑定使用ECharts配置中的硬编码数据

字段映射规则

固定三个字段名映射:

extData = {
    "axisX": "name",    # X轴/分类字段
    "axisY": "value",   # Y轴/数值字段
    "series": "type"    # 系列/分组字段(多系列图表用)
}

SQL查询需要AS别名

SELECT category AS name, COUNT(*) AS value, '' AS type FROM table GROUP BY category

xText / yText 轴标题

工作正常的模板中这两个字段常常为空字符串轴标题主要通过ECharts配置设置

chart_config = {
    "xAxis": {
        "name": "表单类型",  # 轴标题
        "type": "category"
    },
    "yAxis": {
        "name": "数量",
        "type": "value"
    }
}

displayConfig 单元格组件

用于在普通单元格中渲染条码、二维码、图片。

配置结构

{
  "displayConfig": {
    "1": {"barcodeContent": "#{pop.id}", "format": "CODE128", "width": "50", "height": "100", "displayValue": false},
    "11": {"text": "#{uiu.tm}", "width": 227, "height": 227, "colorDark": "#000000", "colorLight": "#ffffff"},
    "111": {"barcodeContent": "固定值", "format": "QR", "width": "6", "height": 39}
  }
}

键名规则

  • 键名 = 列号从1开始
  • 行号通过cells中的display属性关联

条码配置 (barcodeContent)

{
  "barcodeContent": "#{字段变量}",  // 动态值
  "format": "CODE128|CODE39|QR",   // 条码格式
  "width": "2",                     // 条码宽度
  "height": 80,                    // 条码高度
  "displayValue": false             // 是否显示值
}

二维码配置 (text)

{
  "text": "#{字段变量}",           // 二维码内容
  "width": 112,                    // 宽度
  "height": 112,                   // 高度
  "colorDark": "#000000",          // 前景色
  "colorLight": "#ffffff"          // 背景色
}

循环报表 (loopBlockList)

结构

{
  "loopBlockList": [
    {
      "sci": 1,        // 起始列
      "sri": 2,        // 起始行
      "eci": 5,        // 结束列
      "eri": 5,        // 结束行
      "index": 1,      // 块索引
      "db": "jm",      // 数据集别名
      "loopTime": 3    // 循环次数(可选)
    }
  ]
}

单元格变量语法

#{数据集别名.字段名}
#{jm.name}
#{pop.group(id)}

常见图表类型数据要求

图表类型 dataType axisX axisY series 示例数据
bar.simple sql/api name value type 单系列柱状
bar.multi sql/api name value type 多系列柱状
line.simple sql/api name value type 单线折线
pie.simple sql/api name value - 饼图
gauge.simple sql/api name value - 仪表盘
radar.basic sql/api name value type 雷达图
map.scatter sql/api name value - 地图散点

模板报表ID参考

报表名称 ID 特点
全国各大城市化员数据 1339859143477039104 9个图表(sql+api混合)
图表数据联动示例 1356492523694067712 19个图表(静态+动态)
物业实时监控 1339478701846433792 9个图表+地图
凭证条码报表 1338370016550195200 displayConfig条码
实习证明 1350035590569136128 displayConfig二维码
图片展示平台 1334074491629867008 8个图片+4个图表