activiti 动态表单+easyui 实现审核流程功能

               

之前实现的动态表单的启动功能,现在把审核功能也做个总结。

审核流程界面 最终效果图:


主要需要实现的是一下功能点:

1.  列表页面

     1.1.待办任务页面。列表中显示当前用户可以处理的流程。

     1.2.运行中的流程。列表中显示当前用户  待办  或者 参与过并且未结束   的流程。

     1.3.已结束的流程。列表中显示当前用户  参与过并且已结束 的流程。

2.审核页面

     2.1 审核列表。  显示流程审核节点的流程中相关审核情况。根据是是待办人决定是否显示 审核操作里的 【通过】 【退回】等按钮。非待办人不能操作流程。

     2.2 具体业务的动态表单。根据节点配置的表单属性配置显示动态表单。类是启动流程功能里的start节点配置。同一流程实例不同审核人可以根据配置的不同显示不同的业务表单。如上面图片中的任务分配节点可以配置一个任务分配的下拉框。这个下拉框控件只在任务分配节点显示,其他节点则不会显示。


待办任务页面点击任务连接进入审核页面具体实现:


ProcInstController.java

/**     * 审核流程页面     */    @RequestMapping(value = "index")    public String index(Model model,String pid,RedirectAttributes attr) {     String pageUrl = "";     ProcInst pi = procInstService.getEntityById(pid);     //动态表单,外置表单,普通表单(普通表单使用c_前缀,外置表单使用ex_前缀,其他的是动态表单)。参考procDefList.jsp页面     ProcDef pd = procDefService.getEntityById(pi.getProcDefId());     pi.setProcDef(pd);     if(pd.getKey().indexOf("c_") == 0){
   //普通表单     }else if(pd.getKey().indexOf("ex_") == 0){
   //外置表单      //外置表单, 与动态表单不同的是根据表单key获取事先定义好的表单,不需要系统自动生成。     }else {      //动态表单      List<FormAttr> formAttrlist = procInstService.getFormAttrList(pi);         model.addAttribute("pi", pi);      model.addAttribute("formAttrlist", formAttrlist);      //审核流程列表   List<TaskInst> tasks = taskInstService.getTaskList(pi.getId());   model.addAttribute("tasks",tasks);   model.addAttribute("tasksSize",tasks.size());   //流程变量   List<HistoricVariableInstance> varList = historyService.createHistoricVariableInstanceQuery().processInstanceId(pi.getId()).list();   Map<String,Object> varMap = new HashMap<String,Object>();    for (HistoricVariableInstance variableInstance : varList) {    varMap.put(variableInstance.getVariableName(), variableInstance.getValue());      }     model.addAttribute("varMap",varMap);   pageUrl = "/system/workflow/hi/reviewed";     }     return pageUrl;    }


reviewed.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%><!DOCTYPE html ><html><head><title>启动流程</title><%@include file="/common/base.jsp"%><script type="text/javascript"> $(function(){  $('input[type="checkbox"]').each(function(index,element){   $(element).click(function(){    element.value = element.checked;   });  })    $('.easyui-datebox').each(function(index,element){   if($(element).attr("defaultVal")){    $(element).datebox('setValue', $(element).attr("defaultVal"));    }     })    $('#dg').datagrid();  $('#dg').remove(); }) function startProc(){  $('#fm').mySubmit({   url : 'backstage/workflow/hi/startProc',   success: function(res){    closeWin();   }  }); } function completeTask(){  $('#fm').mySubmit({   url : 'workflow/hi/ProcInstController/completeTask',   success: function(res){    closeWin();   }  }); }  function closeWin(){  //关闭easyui弹出窗口  parent.window.$(".panel-tool-close").click();  //关闭layer弹出窗口  var index = parent.layer.getFrameIndex(window.name); //获取窗口索引        parent.layer.close(index); }</script><style type="text/css">.fitemmargin: 5px;}.fitem labeldisplay: inline-block; width: 120pxtext-align: right;}</style></head><body> <div class="ftitle"  style="text-align: center; font-size: 26px; padding: 5px;">${pd.name }</div> <form id="fm" method="post">  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值