feat:图表交互

This commit is contained in:
2026-10-15 03:38:20 -07:00
parent 565ecf4558
commit 9b64f9fc0b
43 changed files with 1537 additions and 727 deletions
+39 -39
View File
@@ -23,7 +23,9 @@
"成本、退款率、投诉量等越低越好的指标把 downIsGood 设为 true,涨跌颜色随之反过来",
"数值、对比的变化量和趋势数据可以写 $query:数值和变化量的结果要一行一列,趋势数据只选一列",
"迷你趋势线的 trend.data 是按时间先后排列的一组数字;trend.show 设为 true 才显示",
"前缀、后缀、说明为空字符串时不显示;对比用 show 控制是否显示"
"前缀、后缀、说明为空字符串时不显示;对比用 show 控制是否显示",
"明细指标卡:rows 写按筛选字段汇总好的数据行(可写 $query),bind 把列绑定到字段,例如 {\"value\": \"calls\", \"compare.value\": \"calls_mom\", \"trend.data\": \"trend\"};先按 filters 筛选,取第一行按 bind 覆盖对应字段",
"rows 里每个筛选值只对应一行;趋势用数组列,例如 DuckDB 的 list(calls ORDER BY day) AS trend"
],
"field_groups": [
"node-base",
@@ -488,46 +490,42 @@
]
}
]
},
{
"key": "stat-rows",
"label": "数据行",
"description": "按数据行显示指标:rows 是数据行,bind 把列绑定到指标卡字段,配合 filters 按变量取对应的一行",
"fields": [
{
"path": "props.rows",
"label": "数据行",
"description": "对象数组,每行一组指标值,按 filters 的字段汇总好,每个筛选值一行;可以写 $query",
"value_type": "array",
"item_type": "object",
"panel": false,
"aliases": [
"明细数据",
"行数据"
]
},
{
"path": "props.bind",
"label": "列绑定",
"description": "键是 props 下的字段路径(value、compare.value、compare2.value、trend.data 等),值是数据行的列名;有数据行时取筛选后的第一行,按它覆盖这些字段",
"value_type": "object",
"panel": false,
"aliases": [
"绑定",
"字段绑定"
]
}
]
}
],
"eventOptions": [
{
"label": "点击事件",
"value": "click"
},
{
"label": "双击事件",
"value": "dblclick"
},
{
"label": "鼠标进入事件",
"value": "mouseenter"
},
{
"label": "鼠标离开事件",
"value": "mouseleave"
},
{
"label": "鼠标按下事件",
"value": "mousedown"
},
{
"label": "鼠标抬起事件",
"value": "mouseup"
},
{
"label": "鼠标移动事件",
"value": "mousemove"
},
{
"label": "鼠标滚轮事件",
"value": "mousewheel"
},
{
"label": "生命周期事件",
"value": "vnodeMounted"
}
"event_groups": [
"dom-events"
],
"rows_path": "props.rows",
"schema": {
"type": "stat-card",
"name": "指标卡",
@@ -565,7 +563,9 @@
"type": "area",
"position": "right",
"data": []
}
},
"rows": [],
"bind": {}
},
"style": {
"textAlign": "left",