DWF功能模型包括:应用功能创建、模块的创建和操作的创建,DWF功能模型具有如下的特点:

前几讲中,我们对设备管理系统案例的数据创建了功能界面,现在,我们介绍如何通过功能模型将定制的界面组织起来。

1.  基本概念

1.1 功能模型

功能模型包括如下几部分:

操作的分类:

全局操作除了建模者自定义的全局操作,还包含系统内置的基本操作(未显示在全局操作列表)。

  • 其中实体类表单中内置四个基本操作:新增、编辑、删除和刷新。
  • 关联类表单中内置六个基本操作,除同实体类相同的四个基本操作外,因为关联类的特殊性,DWF还提供了删除左对象和删除右对象操作。

图-操作的分类

操作的含义:

表-操作动作的含义

创建create表示操作激活时,以创建状态打开某个实体类/关联类表单。
级联创建next_create级联创建,单对象表单中级联创建其他类的对象。例如创建工单类对象时,同时创建工单-零件的关联类对象。
编辑edit表示操作激活时,以编辑状态打开某个实体类/关联类表单。
浏览visit表示操作激活时,以浏览状态打开某个实体类/关联类表单。
实现implement表示操作激活时,调用一个程序实现其对应的功能,可以是前端脚本、后端脚本、插件调用和存储过程。
链接url表示打开某个指定的网页,一般用于界面集成。

操作表现形式:

根据操作的表现形式不同,可以分为一下几种形式:

图-操作的表现形式

2.基本功能

功能模型处主要提供以下几个功能:

3. 建模过程

根据培训案例及功能模型提供的基本功能,我们可以搭建一个设备管理应用,应用结构如下:

图-设备管理系统预览

3.1 创建应用

DWF系统提供了一个默认应用,默认应用不可删除。建模者可以基于默认应用进行应用的基本设置。也可以点击页面的“新增应用”按钮后输入应用的英文名,显示名,上传LOGO,图标等必填项,实现新增应用。其他应用设置项含义解释如下:

根据上述介绍,大家可以尝试创建一个设备管理应用。

图-应用编辑框

3.2 创建模块与模块操作

3.2.1 创建模块

应用创建完成,接下来需要创建模块。模块是前端应用功能的入口。建模步骤如下:

  1. 点击新创建应用卡片右侧的“应用模块管理”按钮,进入应用模块管理页面;
  2. 点击”新增模块“按钮,输入模块英文名、显示名等必填项即可完成创建。

模块操作的步骤比较简单,大家可以根据功能树创建设备管理、零件管理和工单管理模块。

图-新增模块

3.2.2 创建模块操作

模块创建成功后,还需要为模块绑定操作,才能实现一个具体的功能。建模步骤如下:

  1. 点击上一步新增的模块右侧的“+”按钮,弹窗模块操作配置页面;
  2. 模块操作信息编辑弹窗同表单操作,根据该子菜单需要实现的业务,明确操作的动作、目标类及表单即可完成模块操作的创建。

大家可以根据功能树为不同功能模块绑定不同的模块操作。

图-新增模块操作

3.3 创建全局操作

全局操作也属于操作,只是作用的范围是全局。包括系统内置的四个基本操作新增、编辑、删除、刷新,以及关联类特有的删除左对象、删除右对象。用户还可以在功能模型-全局操作管理页面,新增全局操作。同模块操作,全局操作信息编辑页面同表单中的操作。根据业务功能,设置操作具体信息即可完成全局操作的创建。创建好的全局操作会出现在实体类表单、关联类表单的操作列表中,用户可以通过按钮或者控件事件绑定全局操作,实现具体功能。

图-新增全局操作

3.4 删除实体类操作

在实体类表单定制页面,只能对实体类操作(例如新增设备、编辑设备等)进行新增或者编辑,无法删除。功能模型-实体类操作提供了删除实体类操作的页面,建模者可以在该页面删除实体类操作。

图-删除实体类操作

3.5 删除关联类操作

同理,功能模型还提供了删除关联类操作的入口。

图-删除关联操作

4. 扩展内容:查询条件优先级

案例中,为了方便维修工程师找到自己的工单,可以在工单管理模块下新增“我的工单”模块操作,只显示当前登录的维修工程师负责的工单列表。我们可以利用前处理脚本向表单提供过滤条件,模块操作设置信息入下图。

图-表单过滤

前处理脚本代码参考如下:

var userId = this.store.state.user.userId;
 
return {
    query: `and ( obj.engineerOid = '${userId}')`
}


现在已经介绍了两种查询(过滤)条件:

如果这两种情况同时存在,比如在访问我的工单中的列表时,我们对该列表本身还设置了一定的查询或排序条件,根据DWF查询条件优先级,此时的查询流程是:控件本身查询条件>外部查询条件。而如果控件和外部都没有设置任何查询条件,则默认全部查询。

5.小结

应用是指一个独立完整的功能系统。应用由模块和模块操作构成,模块操作相当于于应用左侧的功能菜单,模块是应用前端功能的入口,用于分类管理这些功能菜单。

操作是DWF功能最小粒度的单位。操作根据作用范围分类可分为全局操作、模块操作、实体类操作和关联类操作。

操作根据表现形式不同可分为按钮、功能菜单和事件。

6.附件

功能模型.zip