工作流activiti 6 学习笔记十五 实践制定待办集成规范
开发审批流平台,实现公共审批流,需要满足的规范,业务与流程解耦,按照如下步骤可以实现解耦。
第一步:注册工单类型
在数据字典工单类型(biz_order_type)下添加一个子项,要求和业务相关,并且唯一,此子项是关联流程引擎使用。
第二步:画流程图,此版本只支持没有分支的流程,审批人选中组或者人都可以
第三步:流程与工单进行关联,备注列填入实现了IWorkflowBizDeal 接口的业务实现类,进行更改业务状态, getProcessdefid 字段存放实现类。
第四步: 弹出审批人,改造需要引入流程的vue页面
1.template内增加组件
<!-- 弹出审批人窗口 -->
<popUsers ref="popUsers" ></popUsers>
2.script 引入公共页面
import popUsers from '@/views/workflow/config/popUsers'
3.script 的 export 注册组件
components: {
popUsers
},
页面示例:
确定后,进入待办页面
第五步:需要弹出审批人窗口的地方写函数进行触发
<el-button
size="mini"
type="text"
icon="el-icon-info"
@click="handleSubmit2(scope.row)"
v-hasPermi="['leavedemo:demo:remove']"
>提交审批2</el-button>
Script 函数
handleSubmit2(row){
this.reset();
const id = row.id || this.ids;
//this.$refs.popUsers.openApprove=true;
this.$refs.popUsers.handleSubmit(id);
},
第六步:写回调函数,更改业务状态,审批中,已批准
- 提供url 进行调用, httpclint 进行调用
- 实现接口
public interface IWorkflowBizDeal {
/**
* status = 0 ,审批中 =1 审批完成
* @param orderType
* @param bizId
* @param status
* @return
*/
public String changeBizStatus(String orderType,String bizId,String status);
}
第七步:查询业务是否产生流程,判断能否删除业务,和是否能再次提交流程。
/workflow/config/isWorkflow
第八步:进入待办详情页面实现
需要业务模块提供相关入口。
- 点赞
- 收藏
- 关注作者
评论(0)