功能区扩展

前面的章节描述的主要是通过配置来实现功能(hook需要编写少量代码)。

真实的业务需求是难以预料的,接下来的章节完全需要编写代码来实现功能扩展。

例如: 在新增记录的时候,有个字段的内容不是简单数据类型而是个对象,这是时候【新增页面】无法满足这种输入要求,这时候我们可以对该字段进行单独输入。

真实例子:部门需要加一个人数限制(min:最少人数,max:最多人数)

  • 在功能区新增个按钮[人数限制]
  • 点击按钮【人数限制】,弹出一个新对话框用

原来部门的数据结构:



{_id:'1',name:'人力资源部',memo:'备注'}

增加【人数配置】后:



{_id:'1',name:'人力资源部',memo:'备注',config:{max:10,min:4}}

具体步骤

  • 在 /src/client/component/extend目录创建一个目录:department
  • 创建按钮组件:index.vue
  • 创建表单组件:MaxMinForm.vue
  • 在部门通用元配置文件:/src/shared/meta/company/Department.js 增加导出变量:extendActionButtons:"department_buttons"
  • 在文件 /src/client/components/extend/index.js 增加内容:




 
import department_buttons from './department/index.vue';
let components = {
  "department_buttons": department_buttons,
};

并在components变量增加属性:





let components = {
  "department_buttons": department_buttons,
};

刷新页面查看结果

  • 功能区多出了一个按钮:人数设置
  • 选择一行,点击按钮:人数设置
  • 弹出一个对话框,这对话和双击弹出的对话框时不同的