{"is_fixed_template": false, "template_name": "dataTable", "template_doc": "## dataTable.html — 数据表格通用模板\n\n### 适用场景\n用于展示任何需要表格形式呈现的列表数据，如企业列表、设备列表、能耗记录、用户列表等。\n**表头列数完全动态**，根据 `TABLE_COLUMNS` 自动生成；分页、每页条数切换、页码跳转均由 JS 自动处理，无需手动生成 HTML。\n\n### 所需 JSON 数据格式\n\n```json\n{\n  \"page_title\": \"企业列表\",\n  \"data\": {\n    \"js_variables\": {\n      \"TABLE_TITLE\": \"企业列表\",\n      \"TABLE_COLUMNS\": [\n        { \"label\": \"企业名称\",   \"key\": \"enterprise_name\" },\n        { \"label\": \"行业类型\",   \"key\": \"industry_type\" },\n        { \"label\": \"法定代表人\", \"key\": \"legal_person\" },\n        { \"label\": \"联系电话\",   \"key\": \"contact_phone\" },\n        { \"label\": \"智能管理设备数\", \"key\": \"device_count\" },\n        { \"label\": \"在线设备数\", \"key\": \"online_device_count\" },\n        { \"label\": \"企业状态\",   \"key\": \"status\" }\n      ],\n      \"TABLE_ROWS_DATA\": [\n        {\n          \"enterprise_name\": \"测试企业A\",\n          \"industry_type\": \"制造业\",\n          \"legal_person\": \"张三\",\n          \"contact_phone\": \"13800000001\",\n          \"device_count\": 18,\n          \"online_device_count\": 18,\n          \"status\": \"正常\"\n        },\n        {\n          \"enterprise_name\": \"测试企业B\",\n          \"industry_type\": \"采矿业\",\n          \"legal_person\": \"李四\",\n          \"contact_phone\": \"13800000002\",\n          \"device_count\": 4,\n          \"online_device_count\": 4,\n          \"status\": \"正常\"\n        }\n      ],\n      \"DEFAULT_PAGE_SIZE\": 10\n    }\n  }\n}\n```\n\n### 字段说明\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| TABLE_TITLE | 字符串 | 表格卡片标题 |\n| TABLE_COLUMNS | 数组 | 列定义，每个元素包含 `label`（表头显示文字）和 `key`（对应 TABLE_ROWS_DATA 中的字段名） |\n| TABLE_ROWS_DATA | 数组 | 所有数据行，每个元素是一个对象，字段名与 TABLE_COLUMNS 中的 key 对应 |\n| DEFAULT_PAGE_SIZE | 整数 | 默认每页显示条数，建议值：10、20、50、100 |\n\n### 关键规则\n\n1. **TABLE_COLUMNS 的 key 必须与 TABLE_ROWS_DATA 中的字段名完全一致**（区分大小写）\n2. **TABLE_ROWS_DATA 包含全部数据行**，分页由前端 JS 自动处理，无需手动截断\n3. **不需要**填写 TABLE_HEADERS、TABLE_ROWS、PAGE_BUTTONS 等 HTML 字符串，模板完全由 JS 动态生成\n4. 列数不限，JS 会根据 TABLE_COLUMNS 的长度自动生成对应数量的表头和单元格\n5. 如果某行某字段值为 null 或 undefined，自动显示为 `-`\n\n### 分页功能说明\n\n模板内置完整分页功能，无需额外配置：\n- 支持每页 10 / 20 / 50 / 100 条切换（下拉选择器）\n- 自动生成页码按钮（超过 7 页时显示省略号）\n- 支持输入页码直接跳转（按 Enter 确认）\n- 显示\"共 N 条，显示第 X–Y 条\"信息\n\n---\n", "rows": [{"观测值": 14.69, "上报时间": "2026-03-31 01:11:00", "故障名称": "电芯过压", "阈值": 14.4, "根因": "充电器限压失效、BMS 充电截止逻辑异常", "故障代码": "CELL_OV", "电池组名称": "蓄电池测试-1", "处置建议": "预警：检查充电参数设置；告警：立即停止充电，排查 BMS 充电保护回路"}, {"观测值": 14.77, "上报时间": "2026-03-31 01:11:00", "故障名称": "电芯过压", "阈值": 14.4, "根因": "充电器限压失效、BMS 充电截止逻辑异常", "故障代码": "CELL_OV", "电池组名称": "蓄电池测试-1", "处置建议": "预警：检查充电参数设置；告警：立即停止充电，排查 BMS 充电保护回路"}, {"观测值": 11.74, "上报时间": "2026-03-31 01:11:00", "故障名称": "电芯欠压", "阈值": 11.8, "根因": "过度放电、单体容量衰减严重、采样线接触不良", "故障代码": "CELL_UV", "电池组名称": "蓄电池测试-3", "处置建议": "预警：限制放电深度；告警：立即停止放电，检查单体容量及采样回路"}, {"观测值": 56.12, "上报时间": "2026-03-31 01:12:00", "故障名称": "单体过温", "阈值": 55.0, "根因": "散热不良、充放电倍率过高、环境温度过高、内部短路", "故障代码": "CELL_OT", "电池组名称": "蓄电池测试-1", "处置建议": "预警：降低充放电功率，检查散热系统；告警：立即停机，启动散热，排查内短路风险"}, {"观测值": 45.95, "上报时间": "2026-03-31 01:12:00", "故障名称": "单体过温", "阈值": 45.0, "根因": "散热不良、充放电倍率过高、环境温度过高、内部短路", "故障代码": "CELL_OT", "电池组名称": "蓄电池测试-1", "处置建议": "预警：降低充放电功率，检查散热系统；告警：立即停机，启动散热，排查内短路风险"}, {"观测值": 55.98, "上报时间": "2026-03-31 01:12:00", "故障名称": "单体过温", "阈值": 55.0, "根因": "散热不良、充放电倍率过高、环境温度过高、内部短路", "故障代码": "CELL_OT", "电池组名称": "蓄电池测试-3", "处置建议": "预警：降低充放电功率，检查散热系统；告警：立即停机，启动散热，排查内短路风险"}, {"观测值": 14.92, "上报时间": "2026-03-31 01:13:00", "故障名称": "深度放电风险", "阈值": 15.0, "根因": "负载过大、SOC 估算偏差、长期搁置自放电", "故障代码": "CELL_OD", "电池组名称": "蓄电池测试-2", "处置建议": "预警：限制放电，尽快补充电量；告警：立即停止放电，防止电池永久性损坏"}, {"观测值": 54.8, "上报时间": "2026-03-31 01:13:00", "故障名称": "单体过温", "阈值": 45.0, "根因": "散热不良、充放电倍率过高、环境温度过高、内部短路", "故障代码": "CELL_OT", "电池组名称": "蓄电池测试-3", "处置建议": "预警：降低充放电功率，检查散热系统；告警：立即停机，启动散热，排查内短路风险"}, {"观测值": 11.74, "上报时间": "2026-03-31 01:14:00", "故障名称": "电芯欠压", "阈值": 11.8, "根因": "过度放电、单体容量衰减严重、采样线接触不良", "故障代码": "CELL_UV", "电池组名称": "蓄电池测试-1", "处置建议": "预警：限制放电深度；告警：立即停止放电，检查单体容量及采样回路"}, {"观测值": 54.67, "上报时间": "2026-03-31 01:14:00", "故障名称": "单体过温", "阈值": 45.0, "根因": "散热不良、充放电倍率过高、环境温度过高、内部短路", "故障代码": "CELL_OT", "电池组名称": "蓄电池测试-2", "处置建议": "预警：降低充放电功率，检查散热系统；告警：立即停机，启动散热，排查内短路风险"}], "sql": "SELECT `电池组名称`, `故障名称`, `故障代码`, `观测值`, `阈值`, `根因`, `处置建议`, `上报时间` FROM `蓄电池告警记录` WHERE DATE(`上报时间`) = '2026-03-31' LIMIT 500"}