案例中心 视频中心

基于Mobox对Gungho任务二次开发的实现 基于Mobox对Gungho任务二次开发的实现

基于Mobox对Gungho任务二次开发的实现

基于Mobox对Gungho任务二次开发的实现

 

Gungho项目管理软件在企业部署的时候因其业务的个性,很有可能需要对任务做各种各样的二次开发,从而适应企业需求

 

举例:

某检测检验中心,在做叉车整车检测的时候会分解出100多个的检测任务,每一个任务除了要求员工按时间要求完成以外,还需将每个检测任务所获取的数据等级下来。这个数据可能是一个表,而且每一个任务所对应的填写数据也都是不一样的。

这样一个需求,我们就必须对任务做二次开发

 

实现过程如下

用sa 登录Mobox平台,进入系统管理模块

  • 增加功能点 任务类型及二次开发 功能点编号(8203)

  • 字典里面增加:SysTaskType,里面定义任务类型的名称

定义的任务类型名称,在后面会用到

 

  • 进入二次开发 – gungho领域 – TASK任务 – 自定义事件

开发一个脚本:任务点击后 脚本 (目的是 任务点击后能将 prj_id,task_id 等设置到全局变量)

这个任务点击后(lua脚本)是标准的

 

json   = require(“json”)

mobox = require(“OILua_JavelinExt”)

require(“oi_basestrfunc”)

 

function AfterClickTask(strLuaDEID)

    local nRet, strRetInfo, strTaskID,strClsID

 

     –获取当前点中的任务对象标识

     nRet, strClsID, strTaskID = mobox.getCurEditDataObjID( strLuaDEID )

     if ( nRet ~=0 ) then

         mobox.error( strLuaDEID, “获取当前点中任务对象标识失败!” )

         return

     end

    –获取任务内容

    nRet, strRetInfo = mobox.getTaskAttr(strLuaDEID,strTaskID, “CN_G_PRJ_ID”)

    if (nRet ~= 0) then

        mobox.error(strLuaDEID, strRetInfo)

        return

    end

    local taskAttr = json.decode(strRetInfo)

    local strPrjID = taskAttr[1].value

 

    if (strPrjID == nil or strPrjID == nil) then

        mobox.error(strLuaDEID, “获取项目信息失败!”)

        return

    end

    –去掉空格

    strPrjID = trim_guid_str(strPrjID)

    — 把项目ID ,任务ID 加入全局变量

    local strGlobalAttrs = ‘{“attr”:”prj_id”,”value”:”‘ .. strPrjID .. ‘”}’

    strGlobalAttrs = strGlobalAttrs .. ‘,{“attr”:”task_id“,”value”:”‘ .. strTaskID .. ‘”}’

    local strAction = ‘[{“action_type”:”set_global_attr”,”value”:[‘ .. strGlobalAttrs .. ‘]}]’

    mobox.setAction(strLuaDEID, strAction)

end

 

这个脚本目的是生成 全局变量prj_id , task_id 。 这2个变量描述了当前任务所属项目唯一标识任务唯一标识。是Gungho系统向Mobox平台传递核心参数,Mobox后期二次开发的时候都需要用到。

注意,这里定义的全局变量 名称在后期调用的是要完全一样

这个脚本,会在后面文章的:任务分类定义 –  事件点击后事件用到) 参考

 

  • 数据模型定义 (用于任务扩展属性的定义)

按需分别定义数据模型,及模型里面的字段。这里不详细展开(需要有mobox二次开经验)

 

定义小窗口的时候需要注意,有一个窗口初始化脚本要执行(目的是个小窗口内设置prj_id, task_id)

 

  • 按功能定义各种需要的脚本

因为是与Gungho集成,前面描述过gungho的全局变量,这里开发的时候已经可以使用这些变量(prj_id , task_id)

根据需求,围绕数据模型做二次开发(可能有很多过个脚本,按需求开发)比如

1)查询事件 (我们的扩展属性,是与任务绑定的,所以需要查出与本任务有关的属性 如 任务ID过滤 )

因为是与Gungho集成,前面描述过gungho的全局变量,这里开发的时候已经可以使用这些变量(prj_id , task_id

2)初始化脚本 (因为需要与Gungho的任务集成,定义界面(小窗口的时候需要定义初始化脚本 如 设置项目及任务ID

 

  • 功能点定义,一般用 3000 功能定义

任务扩展属性信息的grid展示(查询事件)、小窗口数据的输入保存(需要绑定task_id等)

  • 进入 任务分类及二次开发 (功能点编号 8203) ,进行任务分类定义

任务分类定义,是gungho的任务与Mobox的功能点集合的一个过程

  • 任务分类(常规)配置

注意:数量限制 必须选择 多数据, 显示方式必须选择 自定义页面

  • 任务分类(事件)配置

注意:点击任务后事件 是必须选择( 来源: gungho领域 – TASK任务 – 某自定义事件)

  • 任务分类(自定义页面)配置

自定义里面是将任务与Mobox的功能点集合在一起

按上图,A2样品技术参数,这类任务,绑定了2个功能点

  • Gungho上任务执行的效果

绑定了2个功能点

  1 个用于技术参数输入 (可能是一个表)

1 个用于检测结果输入

 

标签:低代码手册 上一篇: 下一篇:
展开更多
预约软件体验

loading...