...
- 多应用通道设计,在最大限度的共享现有数据资产的同时,让用户工作更加专注自身工作。
- 多样化动作配置,可以实现弹窗,滑动,气泡,页签等不同类型的多样化交互效果。
- 功能切换和数据之间支持丰富的互动方式,并且让上下游信息得到有效复用。
...
基本概念
1.1 功能模型
术语:应用(Application)、模块(Module)、操作(Operation)、全局操作(Global Operation)、模块操作(Model Operation)、实体类操作(Entity Operation)、关联类操作(Relation Operation)、操作的动作类型(Action Type)、操作的表单(TargetForm)、操作的过滤条件(Condition)、前后处理脚本(PreScript / PostScript)
...
- 操作的表单(TargetForm):当选择操作的动作为创建、编辑、浏览时,DWF会按照对应的方式打开一个表单,这时需要指定一个具体的表单,因此在操作的配置界面里存在一个目标类和表单的设置。在操作配置界面,还可以选择用弹框的方式还是弹出页签的方式打开表单。
- 操作的过滤条件(Condition):当选择动作类型为创建、编辑、浏览时,可以输入一个过滤条件来确认是打开哪个或者哪些对象,这个查询条件遵循DWF内部查询条件语法,例如:and obj.state = '已创建';查询条件的概念是在DWF 2.0提出的,在DWF 3.0中推荐使用前处理脚本来限定被显示的对象。
- 前后处理脚本(PreScript / PostScript):当需要弹框向下一个即将被打开的表单传递数据或者查询条件的时候,可以通过前处理脚本完成参数传递。当弹框关闭,需要向上一级菜单返回结果时,可以使用后处理脚本完成工作。
- 前处理脚本:可以通过return {obj:obj}的形式给即将被打开的表单传参
- 后处理脚本:当表单以弹窗形式打开,如果弹窗关闭,DWF会将弹窗打开表单的数据回传到父表单,在后处理脚本中可以通过this.comfirmData获取到,用户可以利用回传数据实现特定的逻辑如刷新表格数据等
操作表现形式:
根据操作的表现形式不同,可以分为一下几种形式:
- 功能菜单
- 按钮
- 事件
图-操作的表现形式
...
基本功能
功能模型处主要提供以下几个功能:
- 应用管理:功能应用系统、模块和模块操作的创建、维护。
- 全局操作:创建和维护可以作用到全局表单的操作。
- 实体类操作:提供删除实体类操作的入口。
- 关联类:提供删除关联类操作的入口。
...
建模过程
根据培训案例及功能模型提供的基本功能,我们可以搭建一个设备管理应用,应用结构如下:
- 设备管理(AssetMgn)
- 设备列表(MultiAssets)
- 设备地图(LandingMap)
- 零部件管理(PartMgn)
- 零件列表(MultiParts)
- 产品结构(PartToPartTree)
- 工单管理(WorkOrderMgn)
- 工单列表(MultiWO)
图-设备管理系统预览
...
(一)创建应用
DWF系统提供了一个默认应用,默认应用不可删除。建模者可以基于默认应用进行应用的基本设置。也可以点击页面的“新增应用”按钮后输入应用的英文名,显示名,上传LOGO,图标等必填项,实现新增应用。其他应用设置项含义解释如下:
...
根据上述介绍,大家可以尝试创建一个设备管理应用。
图-应用编辑框
3.2 创建模块与模块操作
...
(二)创建模块与模块操作
1)创建模块
应用创建完成,接下来需要创建模块。模块是前端应用功能的入口。建模步骤如下:
...
模块操作的步骤比较简单,大家可以根据功能树创建设备管理、零件管理和工单管理模块。
图-新增模块
...
2)创建模块操作
模块创建成功后,还需要为模块绑定操作,才能实现一个具体的功能。建模步骤如下:
...
大家可以根据功能树为不同功能模块绑定不同的模块操作。
图-新增模块操作
...
(三) 创建全局操作
全局操作也属于操作,只是作用的范围是全局。包括系统内置的四个基本操作新增、编辑、删除、刷新,以及关联类特有的删除左对象、删除右对象。用户还可以在功能模型-全局操作管理页面,新增全局操作。同模块操作,全局操作信息编辑页面同表单中的操作。根据业务功能,设置操作具体信息即可完成全局操作的创建。创建好的全局操作会出现在实体类表单、关联类表单的操作列表中,用户可以通过按钮或者控件事件绑定全局操作,实现具体功能。
图-新增全局操作
...
(四)删除实体类操作
在实体类表单定制页面,只能对实体类操作(例如新增设备、编辑设备等)进行新增或者编辑,无法删除。功能模型-实体类操作提供了删除实体类操作的页面,建模者可以在该页面删除实体类操作。
图-删除实体类操作
...
(五)删除关联类操作
同理,功能模型还提供了删除关联类操作的入口。
图-删除关联操作
...
扩展内容:查询条件优先级
案例中,为了方便维修工程师找到自己的工单,可以在工单管理模块下新增“我的工单”模块操作,只显示当前登录的维修工程师负责的工单列表。我们可以利用前处理脚本向表单提供过滤条件,模块操作设置信息入下图。
...
如果这两种情况同时存在,比如在访问我的工单中的列表时,我们对该列表本身还设置了一定的查询或排序条件,根据DWF查询条件优先级,此时的查询流程是:控件本身查询条件>外部查询条件。而如果控件和外部都没有设置任何查询条件,则默认全部查询。
...
小结
应用是指一个独立完整的功能系统。应用由模块和模块操作构成,模块操作相当于于应用左侧的功能菜单,模块是应用前端功能的入口,用于分类管理这些功能菜单。
操作是DWF功能最小粒度的单位。操作根据作用范围分类可分为全局操作、模块操作、实体类操作和关联类操作。
操作根据表现形式不同可分为按钮、功能菜单和事件。
...