Skip to content
本页目录

工作门户 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个分类,定义业务卡片时,可分别通过插槽 linksoperationschartstoolsothers插槽放入对应分类。如下:

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: [{
      ...
    }]
  }]
}

内部资料,请勿外传