{"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": [{"battery_count": 5, "park_name": "松山产业园"}, {"battery_count": 1, "park_name": "红山产业园"}], "sql": "SELECT `park_name`, COUNT(*) AS `battery_count` FROM `蓄电池组详情` GROUP BY `park_name` LIMIT 500"}