This commit is contained in:
hanjian
2024-08-14 15:17:51 +08:00
parent 20a221c1a2
commit b610f94b2e
3483 changed files with 650965 additions and 0 deletions

View File

@@ -0,0 +1,176 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.engine.repository.Model"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@page import="com.blueland.bpm.common.page.*"%>
<%@page import="com.blueland.bpm.common.util.*"%>
<%@page import="com.blueland.bpm.manage.util.*"%>
<%@page import="java.util.*"%>
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
<%@ include file="/commons/taglibs.jsp"%>
<jsp:include page="/pages/sysGlType/selectTypeTree.jsp" flush="false" />
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<title>选择流程模型</title>
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
<link href="${ctx_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// 分页需要依赖的初始化动作
window.simpleTable = new SimpleTable('procDefForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
});
function getItemsProcDefId(){
var chk_value =[];
var procDefId="";
$("input[name='items']:checkbox:checked").each(function(){
chk_value.push($(this).val());
})
if(chk_value.length==0){
alert("请选择一项流程定义数据!");
}else{
if(chk_value.length>1){
alert("不能同时查看多条记录的流程图!");
return false;
}
var items=chk_value[0].split("=");
for(var i=0;i<items.length;i++){
if(items[0]=="processDefinitionId"){
procDefId=items[1];
}
}
}
return procDefId;
}
//获取选中的所有流程定义id值,返回的流程定义id数组
function chooseFlowModel(){
var chk_value =[];
var procDefKey=new Array();
$("input[name='items']:radio:checked").each(function(){
chk_value.push($(this).val());
})
if(chk_value.length==0){
alert("请选择一条流程数据!");
return;
}else{
var items=chk_value[0].split("=");
for(var i=0;i<items.length;i++){
if(items[0]=="procDefKey"){
procDefKey=items[1];
}
}
}
//发给父页面消息
window.parent.postMessage(
{
cmd: "flow",
params: {"procDefKey":procDefKey}
},
'*'
)
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="procDefForm" name="procDefForm"
action="${ctx}/procDefModelMgr/model/list.do?appId=${appId}" method="post"
style="display: inline;">
<!-- <input value="${query.processTypeId}" id="processTypeId"
name="processTypeId" maxlength="30" type="hidden" /> -->
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body" id="panel-body" style="padding:3px;">
<div class="well well-sm" style="margin-bottom: 2px;">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td>流程定义KEY</td>
<td><input value="${query.processDefKey}"
id="processDefKey" name="processDefKey" maxlength="30" /></td>
<td>流程定义名称:</td>
<td><input value="${query.processDefName}"
id="processDefName" name="processDefName" maxlength="30" /></td>
<td><button type="submit" class="btn btn-xs btn-primary">查&nbsp;&nbsp;询
<i class="ace-icon fa fa-search bigger-110"></i></button></td>
</tr>
<tr>
<td colspan="7">
<button type="button" onclick="chooseFlowModel();"
class="btn btn-xs btn-yellow">选择流程流程模型
<i class="ace-icon fa fa-cloud-download bigger-110"></i></button>
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<table id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th style="width: 25px;">
<!-- <input type="checkbox" id="selectAll"
onclick="setAllCheckboxState('items',this.checked)"> -->
</th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th>流程定义KEY</th>
<th style="width: 60px;">版本号</th>
<th sortColumn="procDefName" style="width: 150px"> 流程定义名称</th>
<!-- <th style="width: 150px;">流程类型</th> -->
<th sortColumn="deployTime" style="width: 120px;">创建时间</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="radio" name="items" id="items"
value="procDefKey=${fn:split(item.processDefId,":")[0]}"></td>
<td class="td" title="${fn:split(item.processDefId,":")[0]}">${fn:split(item.processDefId,":")[0]}&nbsp;</td>
<td class="td" title="${fn:split(item.processDefId,":")[1]}" align="center">${fn:split(item.processDefId,":")[1]}&nbsp;</td>
<td>${item.processDefName}&nbsp;</td>
<%-- <td>${item.processTypeName}&nbsp;</td> --%>
<td><fmt:formatDate value="${item.createTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
</tr>
</c:forEach>
</tbody>
</table>
<simpletable:pageToolbar page="${page}">
</simpletable:pageToolbar>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,155 @@
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="/commons/taglibs.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<title>流程设置</title>
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css"
rel="stylesheet" type="text/css" />
<script type='text/javascript'
src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
<script>
$(document).ready(function() {
var key = $("#key").val();
});
function changeHref(id, srcStr) {
var currentId = $(".active").find("a").attr("id");
var isChange = $("#isChange").val();
var isRedirect = true;//是否跳转页面
if("UserContract"==currentId){//当前是基础配置,点击别的菜单会出现提示是否保存的按钮
if("1"==isChange){//内容有更改
//提示是否保存前面的操作
if(confirm("是否保存当前数据?")){
document.getElementById(id).contentWindow.save();
isRedirect = false;//当选择确认保存后 留在当前页面
$("#"+currentId).parent().addClass("active");
}else{
$("#isChange").val("0");//保存完毕后把是否已修改还原成未修改
}
}
}
//if(isRedirect){
//返回时跳转步数+1
var backSteps = $("#backSteps").val();
$("#backSteps").val(parseInt(backSteps)+1);
document.getElementById(id).src = srcStr;
//}
//$("#myTab3").find('li').removeClass("active");
}
function iframeHeight(down){
var height = "";
var imgHeight = $("#imgHeight").val();
if(imgHeight==""){
height = $("#"+down).contents().find("body").height();
if(height==0){
height=800;
}
}else{
height = imgHeight;
}
if(height==0){
height=$("#"+down).height();
}
$("#"+down).height(height+20);
}
function gobacktolist(){
var isRedirect = true;//是否跳转页面
var isChange = $("#isChange").val();
if("1"==isChange){//内容有更改
//提示是否保存前面的操作
if(confirm("是否保存当前数据?")){
document.getElementById(id).contentWindow.save();
isRedirect = false;//当选择确认保存后 留在当前页面
}else{
$("#isChange").val("0");//保存完毕后把是否已修改还原成未修改
}
}
document.getElementById(id).src = srcStr;
}
function goback(){
var backSteps = $("#backSteps").val();
history.go(-parseInt(backSteps));
}
function publishProcess(url){
postAjax(url,'发布成功!',false,true);
}
</script>
</head>
<body>
<input type="hidden" id="imgHeight" value="" />
<input type="hidden" id="backSteps" value="1" />
<input type="hidden" id="formName" value="${formName }" />
<input type="hidden" id="formId" value="${formId }" />
<input type="hidden" id="key" value="${key }" />
<input type="hidden" id="modelId" value="${modelId }" />
<input type="hidden" id="procDefIdFlag" value="${processDefinition.procDefId }" />
<input type="hidden" id="modelPath" value="${modelPath }" />
<input type="hidden" id="appId" value="${appId }" />
<input type="hidden" id="mAppId" value="${mAppId }" />
<div class="main-container" id="main-container">
<div class="panel-heading"
style="color: #FFF; background-color: #428BCA; border-color: #428BCA;">
<span style="font-size: 14px;">流程名称:${formName}</span>
</div>
<div class="row" style="margin-right: 0;">
<div class="col-xs-12">
<div class="tabbable">
<input type="hidden" id="isChange" value="0" />
<ul class="nav nav-tabs padding-12 tab-color-blue background-blue"
id="myTab3">
<li class="active"><a id="createModel" data-toggle="tab"
onclick="changeHref('frmrightChild','${modelPath}');"
href="" target="frmrightChild" class="current">流程建模</a></li>
<c:if test="${processDefinition!=null}">
<li><a id="UserContract" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/processInfo/edit.do?userId=&procDefId=${processDefinition.procDefId }&sys=${appId}');"
href="" target="frmrightChild">基础配置</a></li>
<li><a id="UserEvent" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/activityInfo/actSet.do?processDefId=${processDefinition.procDefId }&formId=${formId}&procDefKey=${key}&modelId=${modelId}&appId=${appId }&formCode=${key}&mAppId=${mAppId}');"
target="frmrightChild">环节配置</a></li>
<li><a id="UserEducation" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/dataObjectRelation/processList.do?processDefId=${processDefinition.procDefId }')"
target="frmrightChild">扩展属性配置</a></li>
<li><a id="UserPersonn" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/actInfo/setActResource/setAllResourcelist.do?processDefId=${processDefinition.procDefId}')"
target="frmrightChild">环节人员配置</a></li>
<!--
<li><a id="NoticeRemind" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/noticeRemindConfig/edit.do?procDefId=${processDefinition.procDefId}')"
target="frmrightChild">通知提醒规则配置</a></li>
-->
<li><a id="UserPersonn" href="" data-toggle="tab"
style="background-color: #87B97F;"
onclick="publishProcess('${ctx}/procDefModelMgr/releaseProcess.do?procDefId=${processDefinition.procDefId}');"
target="frmrightChild"> <i
class="ace-icon fa fa-check-square-o bigger-110"></i>发布流程
</a></li>
</c:if>
</ul>
<div class="tab-content" style="width: 100%; height: 100%;">
<IFRAME style="width: 100%; height: 800px;" scrolling="no" src="${modelPath}"
frameBorder="0" id="frmrightChild" name="frmrightChild"
onload="iframeHeight('frmrightChild')" allowTransparency="true"></IFRAME>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,127 @@
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/commons/taglibs.jsp" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<title>创建模型</title>
<script>
function submitForm(){
try{
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type: "POST",
url: "${ctx}/procDefModelMgr/create.do",
data: $('#modelForm').serialize(),
success: function(resp)
{
if(resp.errorMsg.length==0){
alert("操作成功!请您在新窗体设计流程!");
openWindow(resp.path, '流程在线设计');
art.dialog.opener.location.reload();
}else{
alert(resp.errorMsg);
}
}
});
}catch(e){}
return false;
}
$(document).ready(function() {
$('#id-input-file-1 , #id-input-file-2').ace_file_input({
no_file:'No File ...',
btn_choose:'Choose',
btn_change:'Change',
droppable:false,
onchange:null,
thumbnail:false //| true | large
//whitelist:'gif|png|jpg|jpeg'
//blacklist:'exe|php'
//onchange:''
//
});
$.Tipmsg.r=null;
$("#modelForm").Validform({
tiptype:function(msg){
alert(msg);//验证提示信息
},
tipSweep:true,
datatype:{
"zh1-10":/^[\u4E00-\u9FA5\uf900-\ufa2d\a-zA-Z_]{1}[\u4E00-\u9FA5\uf900-\ufa2d\a-zA-Z_0-9()-]{1,20}$/,
"en1-10":/^[a-zA-Z_]{1}[a-zA-Z_0-9-]{1,20}$/
},
btnSubmit:"#submitButton",//提交按钮
callback:submitForm//验证通过后提交函数
});
/* $('#key').keyup(trimkeyup); */
});
</script>
</head>
<body>
<form action="${ctx}/procDefModelMgr/create.do" method="post" id="modelForm">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放表单的区域 -->
<tr>
<th>
模型名称<font color="red">*</font>
</th>
<td>
<input type="text" name="name" value="" datatype="zh1-10" errormsg="模型名称不能以数字开头,且不能包含空格,请您重新填写!" nullmsg="请您填写模型名称" style="width:300px" id="name" class="validate[required,length[0,100]]"/>
</td>
</tr>
<tr>
<th>
模型KEY<font color="red">*</font>
</th>
<td>
<input type="text" name="key" value="" datatype="en1-10"
errormsg="模型KEY不能以数字开头且不能包括空格和汉字请您重新填写!" nullmsg="请您填写模型KEY" style="width:300px"
id="key" class="validate[length[0,100]]"
onKeypress="javascript:if(event.keyCode == 32)event.returnValue = false;"/>
</td>
</tr>
<tr>
<th>
模型描述:
</th>
<td>
<textarea id="description" name="description" style="width:300px;height: 50px;"></textarea>
</td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button type="button" class="btn btn-sm btn-primary"
id="submitButton" >
保存
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,97 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.engine.repository.Deployment"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@page import="com.blueland.bpm.common.page.*"%>
<%@page import="com.blueland.bpm.common.util.*"%>
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/commons/taglibs.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
<title>导入流程模型</title>
<script>
$(document).ready(function() {
$('#file').ace_file_input({
no_file : '请您选择本地BPMN文件 ...',
btn_choose : '选 择',
btn_change : '选 择',
droppable : false,
onchange : null,
thumbnail : false
//| true | large
//whitelist:'gif|png|jpg|jpeg'
//blacklist:'exe|php'
//onchange:''
//
});
var flashSuccess = $("#flashSuccess").attr("value");
if (flashSuccess == "导入成功!") {
alert(flashSuccess);
art.dialog.opener.location.reload();
art.dialog.close();
} else {
if (flashSuccess != "") {
alert(flashSuccess);
}
//bindMask();
}
});
function onSubmit() {
if ($("#file").val() == "" || $("#file").val().length == 0) {
//unBindMask();
alert("请您选择本地文件!");
return false;
}
if(confirm("您确认导入流程吗?")){
setMask("main-container");
document.getElementById("deployFieldForm").submit();
}
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<div class="main-container" id="main-container">
<div class="widget-box">
<div class="widget-body">
<div class="widget-main no-padding">
<form id="deployFieldForm" name="deployFieldForm" action="${ctx}/procDefModelMgr/deploy.do" method="post" enctype="multipart/form-data">
<!-- <legend>Form</legend> -->
<fieldset>
<ol>
<li class="text-success"><b>暂只支持导入格式为*.zip、*.bar、*.bpmn\bpmn20.xml的模型文件不支持批量导入。</b></li>
<li class="text-success"><b>导入成功后可在(流程定义->已部署流程定义)菜单中管理该流程。</b></li>
</ol>
<div class="space-18"></div>
<input type="hidden" id="flashSuccess" value="${flashSuccess }" />
<input type="file" id="file" name="file"/>
</fieldset>
<div class="form-actions center">
<input type="button" class="btn btn-sm btn-primary"
id="submitButton" value="导 入" onclick="onSubmit();"/> <input
onclick="art.dialog.close();" type="button"
class="btn btn-sm btn-primary" value="关 闭" />
</div>
</form>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,76 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.engine.repository.Deployment"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@page import="com.blueland.bpm.common.page.*" %>
<%@page import="com.blueland.bpm.common.util.*" %>
<%@page import="java.util.*"%>
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ include file="/commons/taglibs.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<title>修改流程模型XML</title>
<script type="text/javascript">
$(document).ready(function() {
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type: "POST",
url: "${ctx}/procDefModelMgr/updateBpmnFile.do",
data: $('#updateBpmnFileForm').serialize(),
success: function(resp)
{
alert(resp);
}
});
});
});
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="updateBpmnFileForm" name="updateBpmnFileForm" action="${ctx}/procDefModelMgr/updateBpmnFile.do" method="post">
<input name="procDefId" value="${procDefId }" type="hidden"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div>
<h8>只允许管理员修改 </h8>
</div>
<div class="panel-body">
<table class='table table-bordered' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<textarea name="bpmnXml" id="bpmnXml" style="width:920px;height:470px;">${bpmnXml }</textarea>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button type="button" class="btn btn-sm btn-primary"
id="submitButton">
保存
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button onclick="art.dialog.close();" type="button"
class="btn btn-sm btn-primary">
关闭
<i class="ace-icon fa fa-times bigger-110"></i>
</button>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,156 @@
<%@page
import="com.blueland.bpm.engine.core.model.ProcessDefinitionModel"%>
<%@page import="com.blueland.bpm.engine.config.model.ProcessInfoConfig"%>
<%@page import="com.blueland.bpm.common.page.*"%>
<%@page import="com.blueland.bpm.common.util.*"%>
<%@page import="java.util.*"%>
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
<%@ include file="/commons/taglibs.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<title>流程配置</title>
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
<link href="${ctx_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
<script type="text/javascript">
function changeImage(procDefId){
var url ="${ctx}/procDefModelMgr/getProcessImageWidthAndHeight.do";
//获取图片的宽高
$.ajax({
url : url,
data:{"procDefId":procDefId},
type : "POST",
dataType: "json",
success : function (data){
var imageWidth=parseInt(data.imageWidth)+20;
var imageHeight=parseInt(data.imageHeight)+30;
$("#processImage").attr("style","padding-left: 30px; display: inline; float: left; margin:20px auto 0;position: relative;background:url('${ctx}/procDefModelMgr/resource.do?resourceType=image&procDefId="+procDefId
+"') no-repeat;width:"+imageWidth+"px; height:"+
imageHeight+"px;");
$("#versionnumber").text(data.version);
}
});
}
function deleteDeploy(url,procDefId,deploymentId,cascode){
if(window.confirm("删除流程会级联删除该流程定义和运行数据,请谨慎操作!为了避免误操作,在删除操作的同时会要求您导出流程作为备份!")){
var downloadUrl="${ctx}/procDefMgr/exportProcessAllFile.do?resourceType=xml&procDefIds="+procDefId+"&exportall=1";
var winObj = window.open(downloadUrl);
var loop = setInterval(function() {
if(winObj.closed) {
clearInterval(loop);
setMask("main-container");
$.ajax({
url : url,
data:{"procDefId":procDefId,"deploymentId":deploymentId,"cascode":cascode},
type : "POST",
dataType: "json",
success : function (data){
//alert(data);
if(data.success){
alert("删除成功");
var procDefId1 = data.returnProcDefId;
if("" != procDefId1){
$("#procDefId").val(procDefId1);
$("#historyForm").submit();
}else{
var win = art.dialog.open.origin;
$("#procDefForm", win.document).submit();
}
}else{
alert("删除失败,原因是:"+data.reason);
}
}
});
}
}, 3000);
}
}
function exportProcessAllFile(processDefIds){
var url="${ctx}/procDefModelMgr/exportProcessAllFile.do?resourceType=xml&procDefIds="+processDefIds+"&exportall=1";
window.open(url);
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="historyForm" name="historyForm"
action="${ctx}/procDefModelMgr/getHistoryProcessDefModel.do" method="post"
style="display: inline;">
<input type="hidden" name="procDefId" id="procDefId"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body" id="panel-body" style="padding:3px;">
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<table id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>流程定义版本号</th>
<th>最后更新时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${result}" var="item"
varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><a href="javascript:void(0);" onclick="changeImage('${item.procDefId}');">${item.version}</a></td>
<td><fmt:formatDate value="${item.pdCreateTime}" pattern="yyyy-MM-dd hh:mm:ss"/></td>
<td>
<a href="javascript:void(0);" onclick="deleteDeploy('${ctx}/procDefModelMgr/history/delete.do','${item.procDefId}','${item.deploymentId}','true');">删除流程</a>&nbsp;&nbsp;
<c:if test="${ebpmAdmin}">
<a href="javascript:void(0)" onclick="showDiaLog('${ctx}/procDefModelMgr/editProcessFile.do?procDefId=${item.procDefId}','修改流程XML','1024px','600px');">修改流程XML</a>&nbsp;&nbsp;
<a onclick="showDiaLog('${ctx}/procDefModelMgr/config.do?procDefId=${item.procDefId}','配置','1224px','600px');" href="javascript:void(0);">配置流程</a>
<a href="javascript:void(0)" onclick="exportProcessAllFile('${item.procDefId}');">导出流程</a>&nbsp;&nbsp;
</c:if>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div id=con >
<span></span>
<ul id=tags>
<li class="selectTag">当前版本<span id="versionnumber">${result[0].version}</span>的流程图如下:</li>
</ul>
<div id=tagContent>
<div class="tagContent selectTag" id="tagContent0" >
<div id="processImage" style="padding-left: 30px; display: inline; float: left; margin:20px auto 0;position: relative;background:url('${ctx}/procDefModelMgr/resource.do?resourceType=image&procDefId=${result[0].procDefId}') no-repeat;width:${imageWidth+20}px; height:${imageHeight+30}px;">
</div>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,130 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.engine.repository.Deployment"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@page import="com.blueland.bpm.common.page.*"%>
<%@page import="com.blueland.bpm.common.util.*"%>
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/commons/taglibs.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ include file="/commons/meta.jsp"%>
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
<base href="<%=basePath%>">
<title>导入流程模型</title>
<script>
$(document).ready(function() {
$('#file').ace_file_input({
no_file : '请您选择本地zip文件 ...',
btn_choose : '选 择',
btn_change : '选 择',
droppable : false,
onchange : null,
thumbnail : false
//| true | large
//whitelist:'gif|png|jpg|jpeg'
//blacklist:'exe|php'
//onchange:''
//
});
var flashSuccess = $("#flashSuccess").attr("value");
//alert(flashSuccess == "导入成功");
//alert(flashSuccess.indexOf("导入成功")!=-1);
if (flashSuccess == "导入成功") {
alert(flashSuccess);
// alert(1);
art.dialog.opener.location.reload();
} else {
if (flashSuccess != "") {
alert(flashSuccess);
}
//bindMask();
}
});
function onSubmit() {
if ($("#file").val() == "" || $("#file").val().length == 0) {
//unBindMask();
alert("请您选择本地文件!");
return false;
}
if(!getFileFormat()){
alert("请上传符合要求的文件!");
return false;
}
//else{
// alert("文件符合要求");
// return false;
//}
if(confirm("您确认导入流程吗?建议导入前导出流程做好备份!")){
setMask("main-container");
document.getElementById("deployFieldForm").submit();
}
}
//判断文件的格式与文件的大小
function getFileFormat(){
//var aa = "*.zip、*.bar、*.bpmn\bpmn20.xml";
var obj = document.getElementById('file');
var fileName = obj.value;
var fileExt=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();//获得文件后缀名
if(fileExt=='.zip' || fileExt=='.bar' || fileExt=='.bpmn' || fileName.indexOf("bpmn20.xml") > 0){
return true;
}else{
return false;
}
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<div class="main-container" id="main-container">
<div class="widget-box">
<div class="widget-body">
<div class="widget-main no-padding">
<form id="deployFieldForm" name="deployFieldForm" action="${ctx}/procDefModelMgr/importProcessAllFile.do" method="post" enctype="multipart/form-data">
<!-- <legend>Form</legend> -->
<fieldset>
<ol>
<!-- <li class="text-success"><b>暂只支持导入格式为*.zip、*.bar、*.bpmn\bpmn20.xml的模型文件不支持批量导入。</b></li> -->
<li class="text-success"><b>只支持导入格式为*.zip流程文件。</b></li>
<li class="text-success"><b>导入成功后可在(流程定义->已部署流程定义)菜单中管理该流程。</b></li>
<li class="text-success"><b>导入流程包含流程配置、流程模型数据,但不包括角色及角色成员的数据。</b></li>
</ol>
<div class="space-18"></div>
<input type="radio" value="update" name="savetype" checked="checked"/>覆盖版本
<input type="radio" value="create" name="savetype"/>新建版本
<input type="hidden" id="flashSuccess" value="${flashSuccess }" />
<input type="file" id="file" name="file"/>
</fieldset>
<div class="form-actions center">
<button type="button" class="btn btn-sm btn-primary"
id="submitButton" onclick="onSubmit();">
导入
<i class="ace-icon fa fa-cloud-upload bigger-110"></i>
</button>
<button
onclick="art.dialog.close();" type="button"
class="btn btn-sm btn-primary">
关闭
<i class="ace-icon fa fa-times bigger-110"></i>
</button>
</div>
</form>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,61 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/commons/taglibs.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<title>创建模型</title>
<script>
function submitForm() {
return false;
}
$(document).ready(function() {
});
</script>
</head>
<body>
<form action="${ctx}/procDefModelMgr/createOpenFlow.do" method="post"
id="modelForm">
<input name="key" id="id" type="hidden" value="${id}"/>
<input name="name" id="name" type="hidden" value="${name}"/>
<input name="appId" id="appId" type="hidden" value="${appId}"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<br />
<br />
<br />
<br />
<div><h1 align="center">${errorMsg}</h1></div>
<div align="center">
<img src="${ctx}/resource/css/images/flowdemo.png" />
</div>
<br />
<br />
<div align="center">绘制上图所示流程图,设定数据流转方式,即可搭建线上工作流 如有问题,请参考帮助中心</div>
<br />
<br />
<div align="center">
<button type="submit" class="btn btn-sm btn-primary"
id="submitButton" onclick="submitForm()" ${not empty errorMsg?"disabled":""}>
开始使用 <i class="ace-icon fa fa-save bigger-110"></i>
</button>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/commons/taglibs.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<title>创建模型</title>
<script>
function submitForm() {
return false;
}
$(document).ready(function() {
});
</script>
</head>
<body class="white-page">
<form action="${ctx}/procDefModelMgr/createOpenFlow.do" method="post"
id="modelForm">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<br />
<br />
<br />
<br />
<br />
<br />
<div align="center">请切换至流程建模!</div>
<br />
<br />
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,430 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.engine.repository.Model"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@page import="com.blueland.bpm.common.page.*"%>
<%@page import="com.blueland.bpm.common.util.*"%>
<%@page import="com.blueland.bpm.manage.util.*"%>
<%@page import="java.util.*"%>
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
<%@ include file="/commons/taglibs.jsp"%>
<jsp:include page="/pages/sysGlType/selectTypeTree.jsp" flush="false" />
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<title>流程配置</title>
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
<link href="${ctx_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// 分页需要依赖的初始化动作
window.simpleTable = new SimpleTable('procDefForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
});
function openDesignWindow(modelId,modelKey){
if(modelId==""){
return;
}
var url="<%=MyContants.BPM_PROCESS_MODELER_PATH%>";
<%-- var url="<%=com.blueland.bpm.manage.util.MyContants.getContextJunction(request)+MyContants.BPM_PROCESS_MODELER_PATH%>"; --%>
var appId = $("#appId").val();
url=url+"?appId="+appId+"&key="+modelKey+"&formId=&modelId="+modelId+"&formName=&procDefKey="+modelKey;
//alert(url);
openWindow(url,'模型设计');
}
function publishProcess(url){
var pageNumber = ${page.thisPageNumber};
postAjax(url,'发布成功!',true,true,"procDefForm",pageNumber);
}
function converToModel(url){
postAjax(url,'操作成功!',false,true);
}
function deleteDeploy(url){
if(window.confirm("您确定删除流程定义及运行时的数据吗?")){
setMask("main-container");
$("#procDefForm").attr("action",url);
document.getElementById("procDefForm").submit();
}
}
function importProcessBpmnXml(){
var url="${ctx}/pages/procDefModelMgr/deployProcessFile.jsp";
showDiaLog(url,"导入流程模型",'600px','320px');
}
function importProcessConfigData(){
var url="${ctx}/pages/procDefModelMgr/importProcessConfigData.jsp";
showDiaLog(url,"导入流程",'600px','320px');
}
function getItemsProcDefId(){
var chk_value =[];
var procDefId="";
$("input[name='items']:checkbox:checked").each(function(){
chk_value.push($(this).val());
})
if(chk_value.length==0){
alert("请选择一项流程定义数据!");
}else{
if(chk_value.length>1){
alert("不能同时查看多条记录的流程图!");
return false;
}
var items=chk_value[0].split("=");
for(var i=0;i<items.length;i++){
if(items[0]=="processDefinitionId"){
procDefId=items[1];
}
}
}
return procDefId;
}
function exportProcessImage(){
var procDefId=getItemsProcDefId();
if(procDefId==""){
return;
}
var url="${ctx}/procDefModelMgr/resource.do?resourceType=image&procDefId="+procDefId;
showDiaLogList(url,'流程图');
}
function editProcess(modelId,procDefKey,name){
//if(processStartIsshow=="RELEASE"&&window.confirm("此流程为发布状态,点击配置后流程将处于未发布状态,您确定配置流程吗?")){
/* jQuery.ajax({
type: "POST",
url: "${ctx}/procDefModelMgr/unReleaseProcess.do",
data: {procDefId:processDefId},
success: function(resp)
{
//alert(resp);
}
}); */
//}
//序列化表单 保存查询条件页码则直接加在url之后在后台存入session中
//var queryparams = $("#procDefForm").serialize();
var appId = "cpsmgr";
//$("#appId").val();
var url = "${ctx}/procDefModelMgr/index.do?appId="+appId+"&formName="+name+"&modelId="+modelId+"&key="+procDefKey+"&tenant="+appId+"&procDefKey="+procDefKey;
/* window.location.href="${ctx}/procDefModelMgr/config.do?procDefId="+processDefId+"&"+queryparams+"&pageNumber="+${page.thisPageNumber}; */
openWindow(url,'配置流程');
}
function exportProcessAllFile(isall){
//判断是否选中全选
var url = "";
//if("checked"==checkbox){//全选
if("0"==isall){//全选
var totalCount = "${page.totalCount}";
if("0"==totalCount){
alert("当前没有符合要求的数据!!");
return;
}else{
url="${ctx}/procDefModelMgr/exportProcessAllFile.do?resourceType=xml&exportall=0";
}
}else{//非全选
var processDefIds = getItemsProcDefIds();
if(""==processDefIds){
return;
}
url="${ctx}/procDefModelMgr/exportProcessAllFile.do?resourceType=xml&procDefIds="+processDefIds+"&exportall=1";
}
window.open(url);
}
//获取选中的所有流程定义id值,返回的流程定义id数组
function getItemsProcDefIds(){
var chk_value =[];
var procDefIds=new Array();
$("input[name='items']:checkbox:checked").each(function(){
chk_value.push($(this).val());
});
if(chk_value.length==0){
alert("请选择流程定义数据!");
}else{
for(var n=0;n<chk_value.length;n++){
var items=chk_value[n].split("=");
if(items[0]=="processDefinitionId"){
procDefIds.push(items[1]);
}
}
}
return procDefIds;
}
function processTypeNameOnDbClick(name, value) {
$("#processTypeName").val(name);
$("#processTypeId").val(value);
}
function createProcessModel(){
var url="${ctx}/pages/procDefModelMgr/create.jsp";
showDiaLog(url,"新建模型",'500px','300px');
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="procDefForm" name="procDefForm"
action="${ctx}/procDefModelMgr/list_dev.do" method="post"
style="display: inline;">
<input type="hidden" value="${appId}" id= "appId" name ="appId"/>
<!-- <input value="${query.processTypeId}" id="processTypeId"
name="processTypeId" maxlength="30" type="hidden" /> -->
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
<h8>流程配置</h8>
</div>
<div class="panel-body" id="panel-body" style="padding:3px;">
<div class="well well-sm" style="margin-bottom: 2px;">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td>流程定义KEY</td>
<td><input value="${query.processDefKey}"
id="processDefKey" name="processDefKey" maxlength="30" /></td>
<td>流程定义名称:</td>
<td><input value="${query.processDefName}"
id="processDefName" name="processDefName" maxlength="30" /></td>
<td>发布状态:</td>
<td><select name="processMgrState">
<option value="">--请选择--</option>
<option ${query.processMgrState=='RELEASE'?"selected":""}
value="RELEASE">已发布</option>
<option ${query.processMgrState=='UPDATE'?"selected":""}
value="UPDATE">修订中</option>
<option ${query.processMgrState=='UNRELEASE'?"selected":""}
value="UNRELEASE">未发布</option>
</select></td>
<td><button type="submit" class="btn btn-xs btn-primary">查&nbsp;&nbsp;询
<i class="ace-icon fa fa-search bigger-110"></i></button></td>
<%-- <td>流程类型:</td>
<td>
<!-- <select name="processTypeId">
<option value="">--请选择--</option>
<c:forEach items="${sysGlTypes}" var="item">
<option ${query.processTypeId==item.typeId?"selected":""}
value="${item.typeId}">${item.typeName}</option>
</c:forEach>
</select> -->
<input
<c:choose>
<c:when test="${not empty query.processTypeName}">
value="${query.processTypeName}"
</c:when>
<c:otherwise>
value="请选择"
</c:otherwise>
</c:choose>
name="processTypeName" id="processTypeName" readonly
onclick="showMenu('processTypeName','',''); return false;" />
<input
type="hidden" name="processTypeId" id="processTypeId"
preValue="${query.processTypeId}"
value="${query.processTypeId}" />
<a class="blue" href="javascript:void(0);">
<i class="ace-icon fa fa-search bigger-130"
onclick="showMenu('processTypeName','',''); return false;"/>
</i></a>
</td> --%>
</tr>
<%-- <tr>
<td>可见状态:</td>
<td><select name="processStartIsshow">
<option value="">--请选择--</option>
<c:forEach items="${query.processStartIsshowMap}" var="item">
<option ${query.processStartIsshow==item.key?"selected":""}
value="${item.key }">${item.value}</option>
</c:forEach>
</select></td>
<td>发布状态:</td>
<td><select name="processMgrState">
<option value="">--请选择--</option>
<option ${query.processMgrState=='RELEASE'?"selected":""}
value="RELEASE">已发布</option>
<option ${query.processMgrState=='UPDATE'?"selected":""}
value="UPDATE">修订中</option>
<option ${query.processMgrState=='UNRELEASE'?"selected":""}
value="UNRELEASE">未发布</option>
</select></td>
<td><button type="submit" class="btn btn-xs btn-primary">查&nbsp;&nbsp;询
<i class="ace-icon fa fa-search bigger-110"></i></button></td>
<!--
<td>创建时间:</td>
<td><input value="" id="deploymentTime"
name="deploymentTime" maxlength="30"
onclick="WdatePicker({dateFmt:'yyyy-MM-dd'})" /></td>
-->
</tr> --%>
<tr>
<td colspan="7">
<!--
<button type="button" onclick="importProcessBpmnXml();"
class="btn btn-xs btn-success">导入流程模型</button>
-->
<!-- <button type="button" onclick="importProcessConfigData();"
class="btn btn-xs btn-success">导入流程配置</button> -->
<!-- <button type="button" onclick="createProcessModel();"
class="btn btn-xs btn-success">新建模型
<i class="ace-icon fa fa-plus bigger-110"></i></button> -->
<button type="button" onclick="exportProcessImage();"
class="btn btn-xs btn btn-primary">查看流程图
<i class="ace-icon fa fa-search-plus bigger-110"></i></button>
<button type="button" onclick="importProcessConfigData();"
class="btn btn-xs btn-success">导入流程
<i class="ace-icon fa fa-cloud-upload bigger-110"></i></button>
<button type="button" onclick="exportProcessAllFile('1');"
class="btn btn-xs btn-yellow">导出选中流程
<i class="ace-icon fa fa-cloud-download bigger-110"></i></button>
<button type="button" onclick="exportProcessAllFile('0');"
class="btn btn-xs btn-danger">导出全部流程
<i class="ace-icon fa fa-cloud-download bigger-110"></i></button>
<a href="${ctx}/procDefModelMgr/export.do" class="btn btn-xs btn-orange">
导出流程清单 <i class="ace-icon fa fa-cloud-download bigger-110"></i>
</a>
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<table id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th style="width: 25px;">
<!-- <input type="checkbox" id="selectAll"
onclick="setAllCheckboxState('items',this.checked)"> -->
</th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th >流程定义KEY</th>
<th style="width: 60px;">版本号</th>
<th sortColumn="procDefName" style="width: 150px">流程定义名称</th>
<!-- <th style="width: 150px;">流程类型</th> -->
<th sortColumn="deployTime" style="width: 150px;">创建时间</th>
<th sortColumn="procDefVersion" style="width: 60px;">状态</th>
<th sortColumn="processStartIsshow" style="width: 70px;">是否可见</th>
<th style="width: 70px;">操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="items" id="items"
value="processDefinitionId=${item.processDefId}"></td>
<td class="td" title="${fn:split(item.processDefId,":")[0]}&nbsp;">${fn:split(item.processDefId,":")[0]}&nbsp;</td>
<td align="center" class="td" title="${fn:split(item.processDefId,":")[1]}&nbsp;">${fn:split(item.processDefId,":")[1]}&nbsp;</td>
<td class="td" title="${item.processDefName}&nbsp;">${item.processDefName}&nbsp;</td>
<%-- <td>${item.processTypeName}&nbsp;</td> --%>
<td><fmt:formatDate value="${item.createTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
<td>
<c:choose>
<c:when test="${item.processMgrState=='RELEASE'}">
<span class="label label-success">已发布</span>
</c:when>
<c:when test="${item.processMgrState=='UPDATE'}">
<span class="label label-yellow">修订中</span>
</c:when>
<c:otherwise><span class="label label-danger">未发布</span></c:otherwise>
</c:choose>
</td>
<td align="center">
<c:choose>
<c:when test="${item.processStartIsshow=='Y'}">
可见
</c:when>
<c:otherwise>
不可见
</c:otherwise>
</c:choose>
</td>
<td>
<div class="btn-group">
<button data-toggle="dropdown"
class="btn btn-info btn-sm dropdown-toggle">
配置 <span class="ace-icon fa fa-caret-down icon-on-right"></span>
</button>
<ul
class="dropdown-menu dropdown-info dropdown-menu-right">
<%-- <li><a href="javascript:void(0);"
onclick="openDesignWindow('${ item.modelId }','${fn:split(item.processDefId,':')[0]}')">
设计模型</a></li> --%>
<li style="list-style: none;"><a
onclick="publishProcess('${ctx}/procDefModelMgr/releaseProcess.do?procDefId=${item.processDefId}');"
href="javascript:void(0);">发布流程</a></li>
<li style="list-style: none;"><a
onclick="editProcess('${ item.modelId }','${fn:split(item.processDefId,':')[0]}','${item.processDefName}')"
href="javascript:void(0);">配置流程</a></li>
<%-- <li style="list-style: none;"><a href="javascript:void(0);"
onclick="converToModel('${ctx}/procDefModelMgr/convert-to-model.do?procDefId=${item.processDefId}');">转换成模型</a>
</li> --%>
<!--
<li><a
href="${ctx}/procDefModelMgr/exportProcessAllFile.do?resourceType=xml&procDefId=${item.processDefId}"
target="_blank">导出流程</a></li>
<li>
<li><a
href="${ctx}/procDefModelMgr/exportProcessResource.do?resourceType=xml&procDefId=${item.processDefId}"
target="_blank">导出流程模型</a></li>
<li><a
href="${ctx}/procDefModelMgr/exportProcessConfigData.do?procDefId=${item.processDefId}"
target="_blank">导出流程配置</a></li>
-->
<li style="list-style: none;"><a href="javascript:void(0)"
onclick="showDiaLog('${ctx}/procDefModelMgr/editProcessFile.do?procDefId=${item.processDefId}','修改流程XML','1024px','600px');">修改流程XML</a>
</li>
<li style="list-style: none;"><a href="javascript:void(0)"
onclick="showDiaLog('${ctx}/procDefModelMgr/getHistoryProcessDefModel.do?procDefId=${item.processDefId}','流程历史版本&nbsp;&nbsp;&nbsp;&nbsp;当前流程定义名称:${item.processDefName}','1024px','600px');">流程历史版本</a>
</li>
<!-- <li><a href="javascript:void(0)"
onclick="deleteDeploy('${ctx}/procDefModelMgr/delete.do?procDefId=${item.processDefId}&deploymentId=${item.deploymentId}&cascode=true');">删除流程</a>
</li> -->
</ul>
</div>
<!-- /.btn-group -->
</td>
</tr>
</c:forEach>
</tbody>
</table>
<simpletable:pageToolbar page="${page}">
</simpletable:pageToolbar>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,146 @@
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="/commons/taglibs.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<title>流程设置</title>
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css"
rel="stylesheet" type="text/css" />
<script type='text/javascript'
src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
<script>
$(document).ready(function() {
var key = $("#key").val();
window.parent.postMessage(
{
cmd: 'ebpm',
params: {"procDefKey":key}
},
'*'
)
});
function changeHref(id, srcStr) {
var currentId = $(".active").find("a").attr("id");
var isChange = $("#isChange").val();
var isRedirect = true;//是否跳转页面
if("UserContract"==currentId){//当前是基础配置,点击别的菜单会出现提示是否保存的按钮
if("1"==isChange){//内容有更改
//提示是否保存前面的操作
if(confirm("是否保存当前数据?")){
document.getElementById(id).contentWindow.save();
isRedirect = false;//当选择确认保存后 留在当前页面
$("#"+currentId).parent().addClass("active");
}else{
$("#isChange").val("0");//保存完毕后把是否已修改还原成未修改
}
}
}
//if(isRedirect){
//返回时跳转步数+1
var backSteps = $("#backSteps").val();
$("#backSteps").val(parseInt(backSteps)+1);
document.getElementById(id).src = srcStr;
//}
//$("#myTab3").find('li').removeClass("active");
}
function iframeHeight(down){
var height = "";
var imgHeight = $("#imgHeight").val();
if(imgHeight==""){
height = $("#"+down).contents().find("body").height();
if(height==0){
height=800;
}
}else{
height = imgHeight;
}
if(height==0){
height=$("#"+down).height();
}
$("#"+down).height(height+20);
}
function gobacktolist(){
var isRedirect = true;//是否跳转页面
var isChange = $("#isChange").val();
if("1"==isChange){//内容有更改
//提示是否保存前面的操作
if(confirm("是否保存当前数据?")){
document.getElementById(id).contentWindow.save();
isRedirect = false;//当选择确认保存后 留在当前页面
}else{
$("#isChange").val("0");//保存完毕后把是否已修改还原成未修改
}
}
document.getElementById(id).src = srcStr;
}
function goback(){
var backSteps = $("#backSteps").val();
history.go(-parseInt(backSteps));
}
function publishProcess(url){
postAjax(url,'发布成功!',false,true);
}
</script>
</head>
<body>
<input type="hidden" id="imgHeight" value="" />
<input type="hidden" id="backSteps" value="1" />
<input type="hidden" id="procDefIdFlag" value="${processDefinition.procDefId }" />
<div class="main-container" id="main-container">
<div class="panel-heading"
style="color: #FFF; background-color: #428BCA; border-color: #428BCA;">
<span style="font-size: 14px;">流程名称:${processDefinition.procDefName}</span>
</div>
<div class="row" style="margin-right: 0;">
<div class="col-xs-12">
<div class="tabbable">
<input type="hidden" id="isChange" value="0" />
<ul class="nav nav-tabs padding-12 tab-color-blue background-blue"
id="myTab3">
<c:if test="${processDefinition!=null}">
<li class="active"><a id="UserContract" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/processInfo/edit.do?userId=${model.userId}&procDefId=${processDefinition.procDefId }');"
href="" target="frmrightChild" class="current">基础配置</a></li>
<li><a id="UserEducation" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/dataObjectRelation/processList.do?processDefId=${processDefinition.procDefId }')"
target="frmrightChild">流程扩展属性</a></li>
<li><a id="NoticeRemind" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/noticeRemindConfig/edit.do?procDefId=${processDefinition.procDefId}')"
target="frmrightChild">流程提醒</a></li>
<%-- <li><a id="UserPersonn" href="" data-toggle="tab"
style="background-color: #87B97F;"
onclick="publishProcess('${ctx}/procDefModelMgr/releaseProcess.do?procDefId=${processDefinition.procDefId}');"
target="frmrightChild"> <i
class="ace-icon fa fa-check-square-o bigger-110"></i>发布流程
</a></li> --%>
</c:if>
</ul>
<div class="tab-content" style="width: 100%; height: 100%;">
<IFRAME style="width: 100%; height: 800px;" scrolling="no" src="${ctx}/processInfo/edit.do?userId=${model.userId}&procDefId=${processDefinition.procDefId }"
frameBorder="0" id="frmrightChild" name="frmrightChild"
onload="iframeHeight('frmrightChild')" allowTransparency="true"></IFRAME>
</div>
</div>
</div>
</div>
</div>
</body>
</html>