Appearance
工作门户 mas-panel
工作门户微应用,为平台增加工作门户能力,可以通过业务卡片,让用户自定义工作台页面内容和布局,实现个性化办公需求
工作台页面的布局方式
工作台采用自动向上对齐的网格化布局模式,默认将工作区分成网格结构,每行高30像素,平均分成12列,行列之间间隔20像素。业务卡片可占用 n×m 的网格,不同卡片不可重叠,如果上方网格没有被占用,下方的业务卡片将自动上浮。
为平台扩展的能力
- 工作门户及业务卡片拖拽排版
- 业务卡片开发与定义
对微应用能力的扩展
工作台页面路由
工作门户应用将应用内的任意地址都定义为工作台页面,也就是只要是以此因为名开头的 url
都是工作台页面,如 /mas-panel/index
工作台页面菜单
默认只定义了首页,具体定义如下:
js
navs: [
{
title: '首页',
icon: 'el-icon-s-home',
auth: 'r.default',
path: 'index'
}
],
如有需要,可以在其他微应用中定义工作台菜单,如:
js
navs: [
{
title: '数据中心',
icon: 'el-icon-s-home',
auth: 'r.default',
path: '/mas-panel/datacenter'
}
],
业务卡片
业务卡片可通过如下定义:
js
{
name: 'now',
title: '系统时间',
component: () => import(/* webpackChunkName: "cards" */ './cards/Now.vue'),
w: 2, // 宽度
h: 6, // 高度
resizable: true, // 是否支持大小调整
minWidth: 1, // 最小宽度
maxWidth: 4, // 最大宽度
minHeight: 4, // 最小高度
maxHeight: 10, // 最大高度
}
此处关于高度、宽度的单位都是网格列数或行数,实际宽度将自动计算所得。
另外,为了响应业务卡片的设置功能,component
引用的组件必须实现 setting()
方法,用于切换卡片的编辑模式或打开设置窗口。
内置实现页面链接卡片 page-linker
用于页面快速入口,需要使用此卡片,可如下定义:
js
{
i: '',
name: 'page-linker',
title: "",
path: "",
icon: "",
w: 1,
h: 2,
}
业务卡片分类
默认定义 页面链接、快捷操作、数据图表、系统工具和其他 5个分类,定义业务卡片时,可分别通过插槽 links
、operations
、charts
、tools
、others
插槽放入对应分类。如下:
js
{
i: '',
slot: 'links',
name: 'page-linker',
title: "",
path: "",
icon: "",
w: 1,
h: 2,
}
除了 5个默认分类外,可以通过以下方式注册新的分类:
js
{
name: 'czyw',
slot: 'root',
title: '财政业务',
children: [{
slot: true,
name: 'czyw'
}]
}
此处chidren节点下可直接定义卡片,不是一定需要定义插槽的
另外,可以在分类下定义一层目录,各应用定义的同名目录会合并,如下:
js
{
name: 'foa',
slot: 'charts',
children: [{
category: true,
title: '办公类图表',
name: 'foa-charts',
children: [{
...
}]
}]
}