Skip to content

BizDashboardGrid 仪表盘网格 ​

可配置仪表盘网格:卡片以 x/y/w/h 网格单位布局(v-model),editable 开启后支持拖拽移动(标题栏)与右下角拉伸缩放(pointer events 实现,零第三方依赖),落点与其他卡片碰撞自动回弹;布局变化不可变回写。数据可视化首页、监控大屏、个人工作台的可配置卡片底座——内容经 #item 插槽渲染。

基础布局 ​

核心指标
核心指标(4×2)
销售趋势
销售趋势(8×2)
区域排行
区域排行(6×3)
待办
待办(6×3)
静态布局:卡片按 x/y/w/h 网格单位摆放,内容走 #item 插槽。

编辑态拖拽缩放 ​

卡片 A拖拽移动
卡片 A
卡片 B拖拽移动
卡片 B
卡片 C拖拽移动
卡片 C
editable 开启后拖标题栏移动、拉右下角缩放;碰撞回弹。

布局持久化 ​

看板 A拖拽移动
看板 A
看板 B拖拽移动
看板 B
保存后刷新页面布局仍在
change 后存 localStorage,刷新还原(resetLayout 恢复初始)。

卡片内容 ​

今日 GMV
¥ 1,286,430↑ 12.6% 环比昨日
渠道占比
实时订单
  • SO-58231 · 已支付
  • SO-58230 · 已发货
  • SO-58229 · 待审核
#item 插槽渲染任意卡片内容(作用域 card 含位置尺寸与业务字段)。

编辑开关 ​

指标卡
指标卡
图表卡
图表卡
预览 / 编辑双态切换的典型工作台用法。

事件 ​

卡片 A拖拽移动
卡片 A
卡片 B拖拽移动
卡片 B
change / drag-end 事件日志。

网格参数 ​

卡片 A拖拽移动
卡片 A
卡片 B拖拽移动
卡片 B
卡片 C拖拽移动
卡片 C
卡片 D拖拽移动
卡片 D
col-count=6 / row-height=60 / gap=6 紧凑网格,min-w 约束最小占列。

动态卡片 ​

当前 2 张
指标卡拖拽移动
指标卡
图表卡拖拽移动
图表卡
外部按钮新增 / 移除卡片:布局数据驱动,画布高度自动扩展。

Props ​

属性名类型默认值说明
v-modelBizDashboardCard[][]卡片布局(id / title / x / y / w / h)
editablebooleanfalse编辑态(可拖拽缩放)
col-countnumber12网格列数
row-heightnumber80单行高度 px
gapnumber8间隙 px
min-w / min-hnumber2 / 1最小占列 / 行

Events ​

事件名参数说明
update:modelValue(cards)布局变化(拖拽 / 缩放落定后)
change(cards)同 update
drag-end(card)单卡片操作落定(含最终 x/y/w/h)

Slots ​

插槽名作用域说明
item{ card, editable }卡片内容

Expose ​

名称类型说明
getLayout() => BizDashboardCard[]取布局(深拷贝)
setLayout(cards) => void整表写入
resetLayout(initial) => void恢复初始布局快照

TIP

布局为纯数据(网格单位而非像素),持久化直接 JSON 存储;拖拽落点与其他卡片重叠时放弃本次操作(不做自动挤压),复杂碰撞编排建议叠加栅格参考线由业务层处理。