【项目】新建业务数据页面-添加“保存并提交审批”按钮

34 篇文章 2 订阅
2 篇文章 0 订阅

前言

  项目版本迭代中,小编分到了这样一个功能:新增按钮-配置审批流的业务对象在创建业务数据时,显示一个“保存并提交”的按钮,点击后数据正常保存、满足审批条件提交审批。
  小编在实现过程中,出现了一些业务实现方面的漏洞,并从中收获到一些开发中的经验。

需求理解开发

一、个人理解开发

  1.预先创建“标准应用”按钮

   //调用工具接口installApp,安装std应用的按钮
   // 1.参数结构
   {
    "metaType": 1,
    "appInfo": {
        "name": "std",
        "label":"标准"
    },
    "actions": [
        {
            "label": "保存并提交",
            "icon": "ec7f",
            "std": 0,
            "action": "saveAndSubmit",
            "type": 1,
            "path": "",
            "description": "保存并提交审批",
            "disabled": 0,
            "hasScope": 0,
            "authRequired": 1,
            "isPlugin": 1,
            "filter": "",
            "num": 80
        }
    ],
    "pluginButtons": [
        {
            "name": "saveAndSubmit",
            "label": "保存并提交",
            "action": "saveAndSubmit",
            "icon": "ec7f",
            "metaId": 0,
            "description": "保存并提交审批",
            "viewType": 0,
            "disabled": 0,
            "pageType": 4
        }
    ]
}
// 2. 调用流程
//(1)安装权限 PApp查询已有记录审批流应用、PAppAction插入一条记录
//(2)安装插件按钮 PAppButton插入一条记录

  2.配置审批流时,点击保存即可创建业务对象按钮

//调用接口installAppsByMetaId,业务对象安装std应用的所有按钮
// 1.安装业务对象的权限操作 saveMetaAction 查询PAppAction,获取按钮列表,PAction插入记录
// 2.安装业务对象的按钮 saveMetaButton 查询PAppButton,获取按钮列表,PMetaButton插入记录
// 3.保存业务对象与APP的对应关系记录 PMetaAppRef插入记录

  3.旧接口提交审批,校验条件

// 调用旧接口getApprovalFlowComponent,增加字段resultMsg,
// 返回校验条件结果的信息

二、前后端技术方案讨论后调整

  1.预先创建“审批流应用”按钮(调整)

// 创建审批流应用按钮-调整按钮安装的应用名称,即可(安装流程同上)

  2.配置审批流时,点击保存即可创建业务对象按钮(不调整)

  3.新接口提交审批,校验条件(调整)

   符合接口单一性原则,新接口verifyApprovalFlow,只是查询新流程,旧接口会查询各个状态的流程。

三、测试组测试后调整

  1.预先创建“审批流应用”按钮

  2.配置审批流时,点击“保存并启用”创建业务对象按钮,删除审批流草稿时,删除业务对象按钮(调整)

  3.新接口提交审批,校验条件

最终的实现方案

在这里插入图片描述

小结

  在实现这个功能的过程中,小编发现自己思维闭环没有形成,既然有创建按钮的情况,那么删除按钮也是必不可少的。接口的单一性也是很重要,不能图省事去利用旧接口,需要考虑接口的复杂性以及接口开发中的耦合性。
感谢您的访问!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值