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,141 @@
<%@ 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>
<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;">环节名称:${activity.activityDefName}</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="UserContract" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/activityInfo/edit.do?activityDefId=${activity.activityDefId}&processDefId=${activity.processDefId }&sys=${sys}');"
href="" target="frmrightChild">基础配置</a></li>
<li><a id="UserEducation" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/actInfo/setActResource/list.do?actId=${activity.activityDefId}&procDefId=${activity.processDefId}')"
target="frmrightChild">环节人员</a></li>
<li><a id="NoticeRemind" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/actInfo/sequenceFlow/list.do?actId=${activity.activityDefId}&procDefId=${activity.processDefId}')"
target="frmrightChild">环节输出</a></li>
<li><a id="UserEducation" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/dataObjectRelation/activityList.do?activityDefId=${activity.activityDefId}&processDefId=${activity.processDefId}')"
target="frmrightChild">环节扩展属性</a></li>
</ul>
<div class="tab-content" style="width: 100%; height: 100%;">
<IFRAME style="width: 100%; height: 800px;" scrolling="no" src="${ctx}/activityInfo/edit.do?activityDefId=${activity.activityDefId}&processDefId=${activity.processDefId }&sys=${sys}"
frameBorder="0" id="frmrightChild" name="frmrightChild"
onload="iframeHeight('frmrightChild')" allowTransparency="true"></IFRAME>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,148 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@ 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(){
var demo=$("#myform").Validform({tiptype:4, ajaxPost:true,
callback:function(data){
alert(data.responseText);
if(data.responseText == '创建成功'){
window.location='${ctx}/actInfo/activityOperatePower/list.do';
}
}});
$("#submitButton").click(function() {
demo.ajaxPost();
return false;
});
})
function changeFunc() {
var selOpScopeVals = "";
var opScopeVal = "";
selOpScopeVals = $("#opScopeSel").val();
if (selOpScopeVals == "点击进行多选") {
selOpScopeVals = "";
}
if (selOpScopeVals != "") {
for (var i = 0; i < selOpScopeVals.length; i++) {
if (i == 0) {
opScopeVal += ";" + selOpScopeVals[i] + ";";
} else {
opScopeVal += selOpScopeVals[i] + ";";
}
}
}
$("#opScope").val(opScopeVal);
}
</script>
</head>
<body class="white-page">
<form method="post" id="myform" action="${ctx}/actInfo/activityOperatePower/save.do">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放表单的区域 -->
<tr>
<td>环节权限ID<font color="red">*</font>
</td>
<td><input type="text" id="opId" name="opId" value=""
datatype="*" nullmsg="请输入环节权限ID"
/></td>
</tr>
<tr>
<td>环节权限名称<font color="red">*</font>
</td>
<td><input type="text" name="opName" value="" id="opName"
style="width: 400px"
datatype="*" nullmsg="请输入环节权限名称"/></td>
</tr>
<tr style="display: none">
<td>环节权限控制处理器:</td>
<td><input type="text" name="opClassPatd" value=""
id="opClassPatd" style="width: 400px" /></td>
</tr>
<tr>
<td>环节权限类型<font color="red">*</font>
</td>
<td><select id="opType" name="opType" style="widtd: 300px" datatype="*" nullmsg="请选择环节权限类型">
<c:forEach items="${activityOperatePower.opTypeMap}"
var="item">
<option value="${item.key }">${item.value}</option>
</c:forEach>
</select></td>
</tr>
<tr>
<td>环节权限范围:</td>
<td><select onchange="changeFunc()" id="opScopeSel"
name="opScopeSel" autoWidth="true" style="width: 250px;"
multiple>
<c:forEach items="${activityOperatePower.opScopeMap}"
var="item">
<option ${item.key=='0'?'rel=exclusive':''}
value="${item.key }">${item.value}</option>
</c:forEach>
</select> <input type="hidden" id="opScope" name="opScope" value="" /></td>
</tr>
<tr style="display: none">
<td>环节权限父ID</td>
<td><input type="text" name="opParentId" value=""
id="opParentId" /></td>
</tr>
<tr>
<td>环节权限排序:</td>
<td><input type="text" name="opSort" value="" id="opSort" /></td>
</tr>
<tr>
<td>默认是否与环节绑定:</td>
<td><select id="opDefaultBind" name="opDefaultBind"
style="widtd: 300px">
<option value="">--请选择--</option>
<c:forEach items="${activityOperatePower.opDefaultBindMap}"
var="item">
<option value="${item.key }">${item.value}</option>
</c:forEach>
</select></td>
</tr>
<tr>
<td>备注:</td>
<td><textarea rows="" cols="" name="opRemark" value=""
id="opRemark"></textarea></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button id="submitButton" class="btn btn-sm btn-primary"
name="submitButton" type="button">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" class="btn btn-sm btn-primary"
onclick="window.location='${ctx}/actInfo/activityOperatePower/list.do'">
<span class="icon_back">返回<i class="ace-icon fa fa-arrow-left"></i></span>
</button>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,131 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@ 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 changeFunc(){
var selOpScopeVals="";
var opScopeVal="";
selOpScopeVals=$("#opScopeSel").val();
if(selOpScopeVals=="点击进行多选"){
selOpScopeVals="";
}
if(selOpScopeVals!=""){
for(var i=0;i<selOpScopeVals.length;i++){
if(i==0){
opScopeVal+=";"+selOpScopeVals[i]+";";
}else{
opScopeVal+=selOpScopeVals[i]+";";
}
}
}
$("#opScope").val(opScopeVal);
}
</script>
</head>
<body class="white-page">
<form action="${ctx}/actInfo/activityOperatePower/update.do" method="post">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<!-- 存放表单的区域 -->
<tr>
<td>环节权限ID<font color="red">*</font>
</td>
<td><input type="text" id="opId" name="opId" readonly="readonly" value="${activityOperatePower.opId}" />
</td>
</tr>
<tr>
<td>环节权限名称<font color="red">*</font>
</td>
<td><input type="text" name="opName"
value="${activityOperatePower.opName}" id="opName" style="width: 400px"/></td>
</tr>
<tr style="display: none">
<td>环节权限控制处理器:</td>
<td><input type="text" name="opClassPath"
value="${activityOperatePower.opClassPath}" id="opClassPath"
style="width: 400px"/></td>
</tr>
<tr>
<td>环节权限类型<font color="red">*</font>
</td>
<td><select id="opType" name="opType" style="width: 300px">
<c:forEach items="${activityOperatePower.opTypeMap}" var="item">
<option ${activityOperatePower.opType== item.key?"selected":""} value="${item.key }">${item.value}</option>
</c:forEach>
</select></td>
</tr>
<tr>
<td>环节权限范围<font color="red">*</font></td>
<td>
<select onchange="changeFunc()" id="opScopeSel" name="opScopeSel" autoWidth="true" style="width:250px;" multiple>
<c:forEach items="${activityOperatePower.opScopeMap}" var="item">
<option ${item.key=='0'?'rel=exclusive':''} ${fn:indexOf(activityOperatePower.opScope, item.key)!=-1?"selected":""} value="${item.key }">${item.value}</option>
</c:forEach>
</select></td>
<input type="hidden" id="opScope" name="opScope" value="${activityOperatePower.opScope }"/>
</tr>
<tr style="display: none">
<td>环节权限父ID</td>
<td><input type="text" name="opParentId"
value="${activityOperatePower.opParentId}" id="opParentId"
/></td>
</tr>
<tr>
<td>环节权限排序:</td>
<td><input type="text" name="opSort"
value="${activityOperatePower.opSort}" id="opSort" /></td>
</tr>
<tr>
<td>默认是否与环节绑定:</td>
<td>
<select id="opDefaultBind" name="opDefaultBind" style="width: 300px">
<c:forEach items="${activityOperatePower.opDefaultBindMap}" var="item">
<option ${activityOperatePower.opDefaultBind== item.key?"selected":""} value="${item.key }">${item.value}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>备注:</td>
<td><textarea rows="" cols="" name="opRemark" value="${activityOperatePower.opRemark}" id="opRemark"></textarea></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button id="submitButton" class="btn btn-sm btn-primary" name="submitButton" type="submit">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" class="btn btn-sm btn-primary"
onclick="window.location='${ctx}/actInfo/activityOperatePower/list.do'">
<span class="icon_back">返回</span>
<i class="ace-icon fa fa-arrow-left"></i>
</button>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,176 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@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_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('queryForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
});
function bindPower(myUrl){
if (!hasOneChecked("opIds")) {
alert('请选择要操作的对象!');
return;
}
jQuery.ajax({
url: myUrl,
data: $('#queryForm',document).serialize(),
type: "POST",
success: function(resp)
{
alert(resp);
art.dialog.opener.location.reload();
}
});
}
</script>
</head>
<body class="white-page">
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/actInfo/activityOperatePower/list.do" method="get" style="display: inline;">
<input name="activityDefId" id="activityDefId" value="${activityInfoConfig.activityDefId}" type="hidden" />
<input name="processDefId" id="processDefId" value="${activityInfoConfig.processDefId}" type="hidden" />
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<div class="form-group well well-sm">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td>名称:</td>
<td>
<input class="input" value="${query.opName}" id="opName" name="opName" maxlength="50" />
</td>
<td>类型:</td>
<td>
<select id="opType" name="opType">
<option value="">--请选择--</option>
<c:forEach items="${query.opTypeMap}" var="item">
<option ${query.opType== item.key?"selected":""} value="${item.key }">${item.value}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>范围:</td>
<td>
<select id="opScope" name="opScope">
<option value="">--请选择--</option>
<c:forEach items="${query.opScopeMap}" var="item">
<option ${query.opScope== item.key?"selected":""} value="${item.key }">${item.value}</option>
</c:forEach>
</select>
</td>
<td>是否默认绑定:</td>
<td>
<select id="opDefaultBind" name="opDefaultBind">
<option value="">--请选择--</option>
<c:forEach items="${query.opDefaultBindMap}" var="item">
<option ${query.opDefaultBind== item.key?"selected":""} value="${item.key }">${item.value}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td colspan="7">
<button type="button" onclick="bindPower('${ctx}/activityInfo/addActOperatePower.do');" class="btn btn-xs btn-success">
绑&nbsp;&nbsp;定<i class="ace-icon fa fa-chain bigger-110"></i></span>
</button>
<button type="submit" onclick="getReferenceForm(this).action='${ctx}/actInfo/activityOperatePower/list.do'" class="btn btn-xs btn-primary">
<span class="icon_find">查&nbsp;&nbsp;询<i class="ace-icon fa fa-search bigger-110"></i></span>
</button>
<button type="submit" onclick="getReferenceForm(this).action='${ctx}/actInfo/activityOperatePower/create.do'" class="btn btn-xs btn-success">
新&nbsp;&nbsp;增<i class="ace-icon fa fa-plus bigger-110"></i></span>
</button>
<button type="button" onclick="batchDelete('${ctx}/actInfo/activityOperatePower/delete.do','opIds',document.forms.queryForm)" class="btn btn-xs btn-danger">
删&nbsp;&nbsp;除<i class="ace-icon fa fa-trash-o bigger-110"></i>
</button>
<button onclick="art.dialog.close();" type="button" class="btn btn-xs btn-primary">
关&nbsp;&nbsp;闭<i class="ace-icon fa fa-times 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" onclick="setAllCheckboxState('opIds',this.checked)"></th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th width="100px" >名称</th>
<th width="100px" >类型</th>
<th width="100px" >范围</th>
<!-- <th>控制处理器</th>-->
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td>
<c:if test='${item.tenantId != null }'>
<input type="checkbox" name="opIds" value="${item.opId}">&nbsp;
</c:if>
</td>
<td>
<c:if test="${item.tenantId == null }">
<c:out value='${item.opName }'/>
</c:if>
<c:if test='${item.tenantId != null }'>
<a href="${ctx}/actInfo/activityOperatePower/edit.do?opId=${item.opId}&">${item.opName}</a>&nbsp;
</c:if>
</td>
<td><c:out value='${item.opTypeVal}'/>&nbsp;</td>
<td><c:out value='${item.opScopeVal}'/>&nbsp;</td>
<!-- <td><c:out value='${item.opClassPath}'/>&nbsp;</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,137 @@
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@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_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
<script>
$(document).ready(function() {
// 分页需要依赖的初始化动作
window.simpleTable = new SimpleTable('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
});
</script>
</head>
<body class="white-page">
<%@ include file="/commons/messages.jsp"%>
<div id="scrollContent" class="border_gray">
<form id="queryForm" name="queryForm"
action="${ctx}/activityInfo/actOperatePowerList.do"
method="get" style="display: inline;">
<input name="activityDefId" id="activityDefId"
value="${query.activityDefId}" type="hidden" /> <input
name="processDefId" id="processDefId" value="${query.processDefId}"
type="hidden" />
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<div class="form-group well well-sm" style="margin: 0 0 5px 10px !important;padding: 0 !important;">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search form-table">
<tr>
<td colspan="7">
<button type="button"
onclick="showDiaLog('${ctx}/actInfo/activityOperatePower/list.do?activityDefId=${query.activityDefId}&processDefId=${query.processDefId}','绑定环节权限','900px','600px');" class="btn btn-xs btn-success">
绑&nbsp;&nbsp;定
<i class="ace-icon fa fa-chain bigger-110"></i>
</button>
<button type="button"
onclick="removePower('${ctx}/activityInfo/removeActOperatePower.do')" class="btn btn-xs btn-danger">
删&nbsp;&nbsp;除
<i class="ace-icon fa fa-trash-o bigger-110"></i>
</button>
<button onclick="art.dialog.close();" type="button"
class="btn btn-xs btn-primary">
关&nbsp;&nbsp;闭
<i class="ace-icon fa fa-times bigger-110"></i>
</button>
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12">
<div class="table-responsive" style="padding: 0 !important;margin: 0 0 0 10px !important;">
<table id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th style="width: 25px;"><input type="checkbox"
onclick="setAllCheckboxState('opIds',this.checked)"></th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="opName">权限名称</th>
<th sortColumn="opType">权限类型</th>
<th sortColumn="opSort">权限排序</th>
<th sortColumn="opScope">权限范围</th>
<!-- <th sortColumn="opClassPath">权限控制处理器</th> -->
</tr>
</thead>
<tbody>
<c:forEach items="${activityOperatePowerList}" var="item"
varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="opIds" value="${item.opId}"></td>
<td><c:out value='${item.opName}' />&nbsp;</td>
<td><c:out value='${item.opTypeVal}' />&nbsp;</td>
<td><c:out value='${item.opSort}' />&nbsp;</td>
<td><c:out value='${item.opScopeVal}' />&nbsp;</td>
<!--<td><c:out value='${item.opClassPath}' />&nbsp;</td> -->
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>
<script>
function removePower(myUrl){
if (!hasOneChecked("opIds")) {
alert('请选择要操作的对象!');
return;
}
jQuery.ajax({
url: myUrl,
data: $('#queryForm',document).serialize(),
type: "POST",
success: function(resp)
{
alert(resp);
window.location.reload();
}
});
}
</script>

View File

@@ -0,0 +1,344 @@
<%@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>
<title>环节配置</title>
<%@ include file="/commons/meta.jsp"%>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/bpmn/css/diagram-js.css" />
</head>
<body class="white-page">
<div class="main-container" id="main-container">
<input type="hidden" id="processDefId" name ="processDefId" value="${query.processDefId}"/>
<div class="canvas">
<div id="js-canvas"></div>
</div>
</div>
<!-- viewer -->
<script type='text/javascript'src="${ctx}/resource/js/plugins/bpmn/bpmn-navigated-viewer.development.js"></script>
<script type="text/javascript">
var height1 = window.parent.document.documentElement.clientHeight;
var windowHeight = (parseInt(height1)-200)
var viewer = new BpmnJS({
container: document.querySelector('#js-canvas'),
height: windowHeight
});
var procDefId,
processTrace,
processDetailLogs;
var arrayActId=[];
var typeList = ["bpmn:Process","bpmn:SubProcess","label","bpmn:SequenceFlow"]
$(function(){
procDefId = $("#processDefId").val();
getXmlContent()
})
//获取xml数据
function getXmlContent(){
var url="${ctx}/procDefModelMgr/showProcessXml.do";
$.ajax({
url : url,
data:{"procDefId":procDefId},
cache : false,
async : false,
type : "POST",
success : function (data){
createNewDiagram(data.bpmnXml);
}
});
}
function createNewDiagram (bpmnXmlStr) {
viewer.importXML(bpmnXmlStr, function (err) {
if (err) {
console.error(err)
}else{
var canvas = viewer.get('canvas');
canvas.zoom('fit-viewport');
appendHtml();
dealLine(canvas);
}
})
}
function hidenDiv(id){
document.getElementById(id).style="display:none";
document.querySelectorAll("[signDiv]").forEach(function(item) {
if(document.getElementById(item.id) !=null){//去掉所有的环节详细数据,防止页面延迟,没有消失显示的详情信息
document.getElementById(item.id).style="display:none";
}
});
}
function showLineDiv(id){
document.getElementById(id).style="display:block";
}
function hidenLineDiv(id){
document.getElementById(id).style="display:none";
document.querySelectorAll("[lineDiv]").forEach(function(item) {
if(document.getElementById(item.id) !=null){//去掉所有的环节详细数据,防止页面延迟,没有消失显示的详情信息
document.getElementById(item.id).style="display:none";
}
});
}
function showDiv(id){
document.getElementById(id).style="display:block";
}
//拼接环节详细信息
function appendHtml(){
var eventBus = viewer.get('eventBus');
var events = [
'element.hover',
'element.out',
];
var overlays = viewer.get('overlays');
events.forEach(function(event) {
eventBus.on(event, function(e) {
var thisNode=document.getElementById('div_'+e.element.id);
var id = e.element.id.split("_")[0];
var thisLinkNode=document.getElementById('line_'+id);
if(!typeList.includes(e.element.type)){
if(event=='element.hover'){
dealActHtml(overlays,event,e);
}
if(event=='element.out' && thisNode != null){
document.getElementById('div_'+e.element.id).style="display:none";
document.querySelectorAll("[signDiv]").forEach(function(item) {
if(document.getElementById(item.id) !=null){//去掉所有的环节详细数据,防止页面延迟,没有消失显示的详情信息
document.getElementById(item.id).style="display:none";
}
});
}
}else if(e.element.type =='label'){//处理输出线的名称
var listLine= viewer._getLineName.filter(function(item){//判断这个输出线是否是截取的输出线名称
return item.id == id;
})
if(listLine.length>0){
if(event=='element.hover'){
if(thisLinkNode!=null){
document.getElementById("line_"+id).style="display:block";
}else{
appendLineHtml(overlays,event,id);
}
}
}
if(event=='element.out'){
if(document.getElementById('line_'+id) !=null){//去掉输出线的显示
document.getElementById('line_'+id).style="display:none";
}
document.querySelectorAll("[lineDiv]").forEach(function(item) {
if(document.getElementById(item.id) !=null){//去掉所有的输出线显示
document.getElementById(item.id).style="display:none";
}
});
}
}
});
});
}
//环节信息
function dealActHtml(overlays,event,e){
var html = new Array();
var thisNode=document.getElementById('div_'+e.element.id);
var listAct= arrayActId.filter(function(item){//判断这个节点是否
return item == ('div_'+e.element.id);
})
if(listAct.length==0){
arrayActId.push('div_'+e.element.id);
}
if(listAct.length>0){
if(thisNode!=null){
document.getElementById('div_'+e.element.id).style="display:block";
}
return;
}
var id = e.element.id;
var oldtitle= e.element.name;
var type = e.element.type;
html.push('<div class="lchj-set" signDiv="flag" onmouseover="showDiv(\'div_'+e.element.id+'\')" onmouseleave="hidenDiv(\'div_'+e.element.id+'\')" id="div_'+e.element.id+'"><div class="box-head"><span class="title">'+oldtitle+'</span></div><div class="box-body">');
html.push("<ul class='actDetail_set'>");
if(type=="bpmn:ServiceTask"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/otherTask/editServiceTaskView.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'服务任务设置','980px','600px');\">服务任务设置</a></li>");
}else if(type=="bpmn:ScriptTask"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/otherTask/editScriptTaskView.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'脚本任务设置','980px','600px');\">脚本任务设置</a></li>");
}else if(type=='bpmn:ReceiveTask'){//接收任务
html.push("<li><a id='actDefInfo' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/activityInfo/edit.do?activityDefId="+id+"&processDefId=${query.processDefId }");
html.push("' ,'环节属性设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节属性设置</a></li>");
html.push("<li><a id='actSequenceFlow' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/sequenceFlow/list.do?actId="+id+"&procDefId=${query.processDefId}");
html.push("' ,'环节输出线设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节输出线设置</a></li>");
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/activityInfo/actOperatePowerList.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'环节操作权限设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节操作权限设置</a></li>");
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/dataObjectRelation/activityList.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'环节扩展属性设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节扩展属性设置</a></li>");
}else if(type=='bpmn:ManualTask'){//线下任务
html.push("<li><a id='actDefInfo' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/activityInfo/edit.do?activityDefId="+id+"&processDefId=${query.processDefId }");
html.push("' ,'环节属性设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节属性设置</a></li>");
}else if(type=="bpmn:CallActivity"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/otherTask/editCallActivityView.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'子流程设置','980px','600px');\">子流程设置</a></li>");
if(id!=""){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/procDefMgr/callactivityconfig.do?callActivityProcKey="+id+"&isSubProcess=1&sys=${appId}&mAppId=${mAppId}");
html.push("' ,'关联子流程设置','980px','600px');\">关联子流程设置</a></li>");
}
html.push("<li><a id='actSequenceFlow' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/sequenceFlow/list.do?actId="+id+"&procDefId=${query.processDefId}");
html.push("' ,'环节输出线设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节输出线设置</a></li>");
}else if(type=="bpmn:ExclusiveGateway"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/gateway/editGatewayByCd.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'条件网关','980px','600px');\">条件网关设置</a></li>");
}else if(type=="bpmn:InclusiveGateway"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/gateway/editGatewayByIc.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'包容网关','980px','600px');\">包容网关设置</a></li>");
}else if(type=="bpmn:ParallelGateway"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/gateway/editGatewayByIc.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'并行网关','980px','600px');\">并行网关设置</a></li>");
}else{
html.push("<li><a id='actDefInfo' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/activityInfo/edit.do?activityDefId="+id+"&processDefId=${query.processDefId }&sys=${appId}&mAppId=${mAppId}");
html.push("' ,'环节属性设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节属性设置</a></li>");
html.push("<li><a id='actDefUser' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/setActResource/list.do?actId="+id+"&procDefId=${query.processDefId}");
html.push("' ,'环节人员设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节人员设置</a></li>");
html.push("<li><a id='actSequenceFlow' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/sequenceFlow/list.do?actId="+id+"&procDefId=${query.processDefId}");
html.push("' ,'环节输出线设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节输出线设置</a></li>");
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/activityInfo/actOperatePowerList.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'环节操作权限设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节操作权限设置</a></li>");
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/dataObjectRelation/activityList.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'环节扩展属性设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节扩展属性设置</a></li>");
<%-- html.push("<li><a id='actDefRoelOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("<%=MyContants.KSKF_PAHT%>"+"/dev-plateform-web/#/roleFormField?formId=${formId}&procDefKey=${procDefKey}&appId=${appId}&actDefId="+id+"&formCode=${formCode}&modelId=${modelId}&processDefId=${query.processDefId}");
html.push("' ,'环节表单设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节表单设置</a></li>"); --%>
if(e.element.isMulti==true){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/activityFinishRule/create.do?sourceActId="+id+"&procDefId=${query.processDefId}&sourceActName=" + oldtitle);
html.push("' ,'环节完成条件设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节完成条件设置</a></li>");
}
}
html.push('</ul></div>');
var content = html.join('');
if(event=='element.hover'){
overlays.add(e.element.id, 'note', {
position: {
bottom: 0,
right: 0
},
html: content
});
}
}
function appendLineHtml(overlays,event,id){//拼写输出线名称
var html = new Array();
var hash = {};//数组去重
var lineList = viewer._getLineName.reduce(function(item, next) {
hash[next.id] ? '' : hash[next.id] = true && item.push(next);
return item;
}, []);
var thisNode=document.getElementById('line_'+id);
var list= lineList.filter(function(item){//判断这个输出线是否是截取的输出线名称
return item.id == id;
})
var listAct= arrayActId.filter(function(item){//判断这个节点是否
return item == id;
})
if(listAct.length==0){
arrayActId.push('line_'+id);
}
if(thisNode!=null && listAct.length==0){
document.getElementById('line_'+id).style="display:block";
return;
}
html.push('<div class="lchj-box" lineDiv="flag" onmouseover="showLineDiv(\'line_'+id+'\')" onmouseleave="hidenLineDiv(\'line_'+id+'\')" id="line_'+list[0].id+'"><div class="box-body">'+list[0].name);
html.push('</div></div>');
var content = html.join('');
//alert(list[0].name)
if(event=='element.hover'){
overlays.add(id, {
position: {
bottom: 0,
right: 0
},
html: content
});
}
}
//处理线的名称样式
function dealLine(canvas){
var hash = {};//数组去重
var lineList = viewer._getLineId.reduce(function(item, next) {
hash[next] ? '' : hash[next] = true && item.push(next);
return item;
}, []);
var colorClass = "highlight-label";
lineList.forEach(function(item){
canvas.addMarker(item+"_label", colorClass)
})
}
</script>
</body>
</html>

View File

@@ -0,0 +1,280 @@
<%@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 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>
<style>
/* some elements used in demo only */
.spinner-preview {
width: 100px;
height: 100px;
text-align: center;
margin-top: 60px;
}
.dropdown-preview {
margin: 0 5px;
display: inline-block;
}
.dropdown-preview > .dropdown-menu {
display: block;
position: static;
margin-bottom: 5px;
}
</style>
<link href="${ctx }/resource/js/plugins/jquery.qtip.css" rel="stylesheet" type="text/css" media="screen" />
<script src="${ctx }/resource/js/plugins/easyTemplate.js" type="text/javascript"></script>
<script src="${ctx }/resource/js/plugins/jquery.qtip.js" type="text/javascript"></script>
<script type="text/javascript">
var defId ="";
var actDefId ="";
var deployId= "";
var menu;
//判断参数是否加载
var isOtherParamFrm=false;
var currentObj=null;
$(function (){
//setContainerHeightWidth();
$("div.flowNode").each(function(){
$(this).bind({mouseenter:function(){
currentObj=$(this);
}});
currentObj=$(this);
var nodeId =currentObj.attr('id');
var type=currentObj.attr("type"),title=currentObj.attr("title");
//alert(type);
var id=currentObj.attr("id"),oldtitle=currentObj.attr("oldtitle");
if(oldtitle=="null"){
oldtitle="(暂未设置名称)";
}else{
oldtitle=oldtitle.replace(/\"/g,"”");
}
var html=["<div class='dropdown dropdown-preview'><ul class='dropdown-menu dropdown-info dropdown-menu-right'>"];
if(type=="serviceTask"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/otherTask/editServiceTaskView.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'服务任务设置','980px','600px');\">服务任务设置</a></li>");
}else if(type=="scriptTask"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/otherTask/editScriptTaskView.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'脚本任务设置','980px','600px');\">脚本任务设置</a></li>");
}else if(type=='receiveTask'){//接收任务
html.push("<li><a id='actDefInfo' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/activityInfo/edit.do?activityDefId="+id+"&processDefId=${query.processDefId }");
html.push("' ,'环节属性设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节属性设置</a></li>");
html.push("<li><a id='actSequenceFlow' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/sequenceFlow/list.do?actId="+id+"&procDefId=${query.processDefId}");
html.push("' ,'环节输出线设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节输出线设置</a></li>");
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/activityInfo/actOperatePowerList.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'环节操作权限设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节操作权限设置</a></li>");
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/dataObjectRelation/activityList.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'环节扩展属性设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节扩展属性设置</a></li>");
}else if(type=='manualTask'){//线下任务
html.push("<li><a id='actDefInfo' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/activityInfo/edit.do?activityDefId="+id+"&processDefId=${query.processDefId }");
html.push("' ,'环节属性设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节属性设置</a></li>");
}else if(type=="callActivity"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/otherTask/editCallActivityView.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'子流程设置','980px','600px');\">子流程设置</a></li>");
var callActivityProcKey=currentObj.attr("callActivity");
if(callActivityProcKey!=""){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/procDefMgr/callactivityconfig.do?callActivityProcKey="+callActivityProcKey+"&isSubProcess=1&sys=${appId}&mAppId=${mAppId}");
html.push("' ,'关联子流程设置','980px','600px');\">关联子流程设置</a></li>");
}
html.push("<li><a id='actSequenceFlow' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/sequenceFlow/list.do?actId="+id+"&procDefId=${query.processDefId}");
html.push("' ,'环节输出线设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节输出线设置</a></li>");
}else if(type=="exclusiveGateway"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/gateway/editGatewayByCd.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'条件网关','980px','600px');\">条件网关设置</a></li>");
}else if(type=="inclusiveGateway"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/gateway/editGatewayByIc.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'包容网关','980px','600px');\">包容网关设置</a></li>");
}else if(type=="parallelGateway"){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/gateway/editGatewayByIc.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'并行网关','980px','600px');\">并行网关设置</a></li>");
}else{
html.push("<li><a id='actDefInfo' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/activityInfo/edit.do?activityDefId="+id+"&processDefId=${query.processDefId }&sys=${appId}&mAppId=${mAppId}");
html.push("' ,'环节属性设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节属性设置</a></li>");
html.push("<li><a id='actDefUser' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/setActResource/list.do?actId="+id+"&procDefId=${query.processDefId}");
html.push("' ,'环节人员设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节人员设置</a></li>");
html.push("<li><a id='actSequenceFlow' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/sequenceFlow/list.do?actId="+id+"&procDefId=${query.processDefId}");
html.push("' ,'环节输出线设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节输出线设置</a></li>");
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/activityInfo/actOperatePowerList.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'环节操作权限设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节操作权限设置</a></li>");
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/dataObjectRelation/activityList.do?activityDefId="+id+"&processDefId=${query.processDefId}");
html.push("' ,'环节扩展属性设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节扩展属性设置</a></li>");
<%-- html.push("<li><a id='actDefRoelOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("<%=MyContants.KSKF_PAHT%>"+"/dev-plateform-web/#/roleFormField?formId=${formId}&procDefKey=${procDefKey}&appId=${appId}&actDefId="+id+"&formCode=${formCode}&modelId=${modelId}&processDefId=${query.processDefId}");
html.push("' ,'环节表单设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节表单设置</a></li>"); --%>
if(currentObj.attr("isMulti") == 'true'){
html.push("<li><a id='actDefOperate' href='javascript:void(0)'");
html.push(" onclick=\"showDiaLog('");
html.push("${ctx}/actInfo/activityFinishRule/create.do?sourceActId="+id+"&procDefId=${query.processDefId}&sourceActName=" + oldtitle);
html.push("' ,'环节完成条件设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前环节->"+oldtitle+"','980px','600px');\">环节完成条件设置</a></li>");
}
}
html.push('</ul></div>');
//alert(html.join(''));
$(this).qtip({
content:{
text : function() {
if(type=="description"){
return getTaskDefinitionDescriptionHtml(nodeId);
}else{
return html.join('');
}
},
title:{
text:type=="description"?"环节输出线说明":oldtitle
}
},
position: {
at:'center',
target:'event',
adjust: {
x:-15,
y:-15
},
viewport: $(window)
},
show:{
effect: function(offset) {
$(this).slideDown(200);
}
},
hide: {
event:'click mouseleave',
leave: false,
fixed:true,
delay:300
},
style: {
width : type=="description"?270:180,
classes:'ui-tooltip-light ui-tooltip-shadow'
}
});
});
//调整父页面高度
var height = "${imageHeight}";
if(height>800){
$("#imgHeight",window.parent.document).val(parseInt(height)+80);
$("#imgdiv").height(parseInt(height)+78);
}else{
$("#imgdiv").height(800);
}
});
//显示输出线描述
function getTaskDefinitionDescriptionHtml(nodeId){
var html = new Array();
var procDefId="${query.processDefId }";
var url="${ctx}/actInfo/sequenceFlow/viewDescription.do";
$.ajax({
url : url,
data:{"procDefId":procDefId,"sequenceFlowId":nodeId},
cache : false,
async : false,
type : "POST",
success : function (data){
var sequenceFlow = eval(data.sequenceFlow);
html.push('<div class="panel-body"><div id="txtTaskDefHmtl1" style="max-height:310px;width=110px;overflow:auto;">');
html.push('<textarea rows="10" cols="30">');
html.push(sequenceFlow.name);
html.push('</textarea>');
html.push('</div>');
}
});
return html.join('');
};
</script>
<style type="text/css">
div.flowNode{cursor:pointer;}
</style>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="queryForm" name="queryForm"
action="${ctx}/activityInfo/list.do" method="get"
style="display: inline;">
<input name="processDefId" id="processDefId"
value="${query.processDefId }" type="hidden" />
<!-- <div class="panel panel-primary" style="width:${imageWidth+20}px; height:${imageHeight+30}px;"> -->
<div class="panel panel-primary" id="imgdiv" style="width:100%; min-height:800px; overflow: auto;">
<div class="panel-body" style="padding: 3px;">
<div style="padding-left: 30px; display: inline; float: left; margin:20px auto 0;position: relative;background:url('${ctx}/procDefMgr/resource.do?resourceType=image&procDefId=${query.processDefId }') no-repeat;width:${imageWidth+30}px; height:${imageHeight+30}px;">
${processDefinitionDiv}
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,187 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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"%>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/codemirror.css">
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/eclipse.css">
<style>
.CodeMirror {
/* Set height, width, borders, and global font properties here */
font-family: monospace;
height: 180px;
}
</style>
<script src="${ctx}/resource/js/plugins/codemirror/codemirror.js"></script>
<script src="${ctx}/resource/js/plugins/codemirror/clike.js"></script>
<base href="<%=basePath%>">
<title>流程环节规则表新增</title>
<script>
var demo;
var ischeck = true;
var javaEditor;
$(document).ready(function() {
javaEditor = CodeMirror.fromTextArea(document.getElementById("ruleScript"), {
lineNumbers: true,
matchBrackets: true,
//indentWithTabs: true,
// styleActiveLine: true,
theme:"eclipse",
// smartIndent: true,
// autofocus: true,
mode: "text/x-java"
});
demo = $("#myForm").Validform({
tiptype:function(msg,o,cssctl){
var b = true;
//msg提示信息;
//o:{obj:*,type:*,curform:*}, obj指向的是当前验证的表单元素或表单对象type指示提示的状态值为1、2、3、4 1正在检测/提交数据2通过验证3验证失败4提示ignore状态, curform为当前form对象;
//cssctl:内置的提示信息样式控制函数,该函数需传入两个参数:显示提示信息的对象 和 当前提示的状态既形参o中的type;
if(o.type==3){
if(msg.indexOf("statusText")<0){
//排除掉提交完成后返回的状态字符串
alert(msg);
ischeck = false;
b = false;
return b;
}
}
return b;
},
ajaxPost:true,
beforeSubmit:function(curform){
return false;
}
});
});
function editActivityRule(ruleId){
var url="${ctx}/actInfo/activityFinishRule/getActivityRule.do?ruleId="+ruleId;
$.post(url,function(result){
var jsonObject = eval(result);
$.each(jsonObject, function(name, value) {
if(name=="ruleScript"){
javaEditor.setValue(value);
}else{
var inputObj=$("#"+name);
if(inputObj.attr("type")!="hidden"||name=="ruleId"){
inputObj.val(value);
}
}
});
});
}
function update(){
if($("#ruleId").val()==""){
alert("该规则没有在数据库中,请点击规则列表后再进行更新!");
return;
}
var ruleScript = javaEditor.getValue();
if(""==ruleScript){
alert("验证脚本不能为空!");
return ;
}
demo.ajaxPost();
if(ischeck){//如果通过验证
document.getElementById("myForm").action="${ctx}/actInfo/activityFinishRule/update.do";
document.getElementById("myForm").submit();
}
}
function create(){
var ruleScript = javaEditor.getValue();
if(""==ruleScript){
alert("验证脚本不能为空!");
return ;
}
demo.ajaxPost();
if(ischeck){//如果通过验证
document.getElementById("myForm").action="${ctx}/actInfo/activityFinishRule/save.do";
document.getElementById("myForm").submit();
}
}
function validate(){
var ruleScript=javaEditor.getValue();;
if(ruleScript==""){
alert("规则脚本不允许为空,请您重新输入!");
return ;
}
var url="${ctx}/actInfo/activityFinishRule/validate.do?ruleScript="+ruleScript;
showDiaLog(url,'验证规则脚本','600px','300px');
}
</script>
</head>
<body class="white-page">
<form id="myForm" action="${ctx}/actInfo/activityFinishRule/save.do" method="post">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<div class="well well-sm">
<button id="addButton" name="submitButton" type="button" onclick="create();" class="btn btn-xs btn-success">
新 增
<i class="ace-icon fa fa-plus bigger-110"></i>
</button>
<button id="updateButton" name="submitButton" type="button" onclick="update();" class="btn btn-xs btn-success">
更 新
<i class="ace-icon fa fa-pencil bigger-110"></i>
</button>
<button type="button" onclick="art.dialog.close();" class="btn btn-xs btn-danger">
关 闭
<i class="ace-icon fa fa-times bigger-110"></i>
</button>
</div>
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<input type="hidden" name="ruleType" value="${activityRule.ruleType}" id="ruleType"/>
<input type="hidden" name="ruleId" value="${activityRule.ruleId}" id="ruleId"/>
<input type="hidden" name="procDefId" value="${activityRule.procDefId}" id="procDefId"/>
<input type="hidden" name="sourceActId" value="${activityRule.sourceActId}" id="sourceActId"/>
<input type="hidden" name="sourceActName" value="${activityRule.sourceActName}" id="sourceActName"/>
<input type="hidden" name="targetActId" value="${activityRule.targetActId}" id="targetActId"/>
<input type="hidden" name="targetActName" value="${activityRule.targetActName}" id="targetActName"/>
<!-- 存放表单的区域 -->
<tr>
<td>当前环节<font color="red">*</font></td>
<td colspan="3">${activityRule.sourceActName}</td>
</tr>
<tr>
<td>规则名称<font color="red">*</font></td>
<td colspan="3"><input style="width: 250px" type="text" name="ruleName" value="${activityRule.ruleName}" id="ruleName"
nullmsg="请填写规则名称" datatype="*"/></td>
</tr>
<tr>
<td>规则脚本<font color="red">*</font></td>
<td colspan="3">
<!-- <a href="javascript:void(0);" onclick="">常用脚本</a>&nbsp;&nbsp;-->
<a href="javascript:void(0);" onclick="validate();">验证脚本</a>
<br/>
<textarea name="ruleScript" id="ruleScript" style="width: 700px;height: 50px">${activityRule.ruleScript}</textarea>
<br/>
环节跳转规则通过groovy脚本定义流程转向开发人员通过控制脚本返回一个布尔值返回值为true时流程将流向目标环节。
</td>
</tr>
<tr>
<td>规则描述:</td>
<td colspan="3"><textarea style="width: 700px;height: 50px" name="ruleRemark" id="ruleRemark">${activityRule.ruleRemark}</textarea></td>
</tr>
</table>
<IFRAME style="width:100%;height:180px;" scrolling="auto" src="${ctx}/actInfo/activityFinishRule/list.do?procDefId=${activityRule.procDefId}&sourceActId=${activityRule.sourceActId}&targetActId=${activityRule.targetActId}" frameBorder="0" id="rightFrame" name="rightFrame" allowTransparency="true"></IFRAME>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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>
</head>
<body class="white-page">
<div class="box2" panelTitle="更新流程环节规则表" showStatus="false" roller="true">
<form action="${ctx}/actInfo/activityFinishRule/update.do" method="post">
<button id="submitButton" name="submitButton" type="button" onclick="javascript:getReferenceForm(this).submit();">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" onclick="window.location='${ctx}/actInfo/activityFinishRule/list.do'">
<span class="icon_back">返回</span>
</button>
<table class="tableStyle form-table" formMode="true" footer="normal">
<!-- 存放隐藏域的区域 -->
<input type="hidden" id="ruleId" name="ruleId" value="${activityRule.ruleId}" />
<!-- 存放表单的区域 -->
<tr>
<td>环节规则名称<font color="red">*</font></td>
<td><input type="text" name="ruleName" value="${activityRule.ruleName}" id="ruleName" /></td>
</tr>
<tr>
<td>流程定义ID<font color="red">*</font></td>
<td><input type="text" name="procDefId" value="${activityRule.procDefId}" id="procDefId" /></td>
</tr>
<tr>
<td>源环节ID<font color="red">*</font></td>
<td><input type="text" name="sourceActId" value="${activityRule.sourceActId}" id="sourceActId" /></td>
</tr>
<tr>
<td>目标环节ID<font color="red">*</font></td>
<td><input type="text" name="targetActId" value="${activityRule.targetActId}" id="targetActId" /></td>
</tr>
<tr>
<td>环节规则脚本<font color="red">*</font></td>
<td><input type="text" name="ruleScript" value="${activityRule.ruleScript}" id="ruleScript" /></td>
</tr>
<tr>
<td>环节规则优先级:</td>
<td><input type="text" name="rulePriority" value="${activityRule.rulePriority}" id="rulePriority" /></td>
</tr>
<tr>
<td>环节规则描述:</td>
<td><input type="text" name="ruleRemark" value="${activityRule.ruleRemark}" id="ruleRemark" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>

View File

@@ -0,0 +1,84 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@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_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('queryForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
});
function editActivityRule(ruleId){
parent.editActivityRule(ruleId);
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/actInfo/activityFinishRule/list.do" method="get" style="display: inline;">
<input type="hidden" name="procDefId" value="${query.procDefId}" id="procDefId"/>
<input type="hidden" name="sourceActId" value="${query.sourceActId}" id="sourceActId"/>
<input type="hidden" name="targetActId" value="${query.targetActId}" id="targetActId"/>
<input type="hidden" name="ruleType" value="${activityRule.ruleType}" id="ruleType"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
</div>
<div class="panel-body">
<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增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th style="width:125px;" sortColumn="ruleName" >规则名称</th>
<th sortColumn="ruleScript" >规则脚本</th>
<th style="width:125px;" sortColumn="ruleRemark" >规则描述</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><a href="javascript:void(0);" onclick="editActivityRule('${item.ruleId}');">${item.ruleName}</a></td>
<td>${item.ruleScript}&nbsp; </td>
<td>${item.ruleRemark}&nbsp; </td>
<td>
<a href="${ctx}/actInfo/activityFinishRule/delete.do?ruleId=${item.ruleId}&">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,44 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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"%>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/codemirror.css">
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/eclipse.css">
<script src="${ctx}/resource/js/plugins/codemirror/codemirror.js"></script>
<script src="${ctx}/resource/js/plugins/codemirror/clike.js"></script>
<base href="<%=basePath%>">
<title>流程环节规则表新增</title>
</head>
<body>
<form id="myForm" action="${ctx}/actInfo/activityFinishRule/save.do" method="post">
<!-- <button type="button" onclick="art.dialog.close();">
<span class="icon_back">关闭</span>
</button> -->
<table class="tableStyle" formMode="true" footer="normal" style="width: 100%;">
<tr>
<td>结果值:</td>
<td>${ruleScriptValue}</td>
</tr>
<tr>
<td width="20%">结果值类型:</td>
<td>${ruleScriptValueType}</td>
</tr>
<tr>
<td>验证结果:</td>
<td>${validateMsg}</td>
</tr>
</table>
</form>
</body>
</html>

View File

@@ -0,0 +1,182 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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"%>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/codemirror.css">
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/eclipse.css">
<style>
.CodeMirror {
/* Set height, width, borders, and global font properties here */
font-family: monospace;
height: 180px;
}
</style>
<script src="${ctx}/resource/js/plugins/codemirror/codemirror.js"></script>
<script src="${ctx}/resource/js/plugins/codemirror/clike.js"></script>
<base href="<%=basePath%>">
<title>流程环节规则表新增</title>
<script>
var demo;
var ischeck = true;
var javaEditor;
$(document).ready(function() {
javaEditor = CodeMirror.fromTextArea(document.getElementById("ruleScript"), {
lineNumbers: true,
matchBrackets: true,
//indentWithTabs: true,
// styleActiveLine: true,
theme:"eclipse",
// smartIndent: true,
// autofocus: true,
mode: "text/x-java"
});
$.Tipmsg.r=null;
$("#myForm").Validform({
tiptype:function(msg){
alert(msg);//验证提示信息
},
tipSweep:true,
btnSubmit:"#addButton",
callback:function(form){
var ruleScript = javaEditor.getValue();
if(""==ruleScript){
alert("验证脚本不能为空!");
return false;
}
document.getElementById("myForm").action="${ctx}/actInfo/activityResourceRule/save.do";
return true;
}
});
});
function editActivityRule(ruleId){
var url="${ctx}/actInfo/activityResourceRule/getActivityRule.do?ruleId="+ruleId;
$.post(url,function(result){
var jsonObject = eval(result);
$.each(jsonObject, function(name, value) {
if(name=="ruleScript"){
javaEditor.setValue(value);
}else{
var inputObj=$("#"+name);
if(inputObj.attr("type")!="hidden"||name=="ruleId"){
inputObj.val(value);
}
}
});
});
}
function update(){
if($("#ruleId").val()==""){
alert("该规则没有在数据库中,请点击规则列表后再进行更新!");
return;
}
var ruleName = $("#ruleName").val();
if(""==ruleName){
alert("请填写规则名称!");
return ;
}
var ruleScript = javaEditor.getValue();
if(""==ruleScript){
alert("验证脚本不能为空!");
return ;
}
document.getElementById("myForm").action="${ctx}/actInfo/activityResourceRule/update.do";
document.getElementById("myForm").submit();
}
function validate(){
var ruleScript=javaEditor.getValue();;
if(ruleScript==""){
alert("规则脚本不允许为空,请您重新输入!");
return ;
}
var url="${ctx}/actInfo/activityResourceRule/validate.do?ruleScript="+ruleScript;
showDiaLog(url,'验证规则脚本','600px','300px');
}
function describe(){
window.open("${ctx}/commons/bpm_script_info.html")
}
</script>
</head>
<body class="white-page">
<form id="myForm" action="${ctx}/actInfo/activityResourceRule/save.do" method="post">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<div class="well well-sm">
<button id="addButton" name="submitButton" type="button" class="btn btn-xs btn-success">
新 增
<i class="ace-icon fa fa-plus bigger-110"></i>
</button>
<button id="submitButton" name="submitButton" type="button" onclick="update();" class="btn btn-xs btn-success">
更 新
<i class="ace-icon fa fa-pencil bigger-110"></i>
</button>
<button type="button" onclick="art.dialog.close();" class="btn btn-xs btn-danger">
关 闭
<i class="ace-icon fa fa-times bigger-110"></i>
</button>
</div>
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<input type="hidden" name="ruleType" value="${activityRule.ruleType}" id="ruleType"/>
<input type="hidden" name="ruleId" value="${activityRule.ruleId}" id="ruleId"/>
<input type="hidden" name="procDefId" value="${activityRule.procDefId}" id="procDefId"/>
<input type="hidden" name="sourceActId" value="${activityRule.sourceActId}" id="sourceActId"/>
<input type="hidden" name="sourceActName" value="${activityRule.sourceActName}" id="sourceActName"/>
<input type="hidden" name="targetActId" value="${activityRule.targetActId}" id="targetActId"/>
<input type="hidden" name="targetActName" value="${activityRule.targetActName}" id="targetActName"/>
<!-- 存放表单的区域 -->
<tr>
<td>当前环节<font color="red">*</font></td>
<td>${activityRule.sourceActName}</td>
<td width="135px">目标环节<font color="red">*</font></td>
<td>${activityRule.targetActName}</td>
</tr>
<tr>
<td>规则名称<font color="red">*</font></td>
<td colspan="3"><input style="width: 250px" type="text" name="ruleName"
value="${activityRule.ruleName}" id="ruleName"
nullmsg="请填写规则名称" datatype="*"/></td>
</tr>
<tr>
<td>规则脚本<font color="red">*</font></td>
<td colspan="3">
<!-- <a href="javascript:void(0);" onclick="">常用脚本</a>&nbsp;&nbsp; -->
<a href="javascript:void(0);" onclick="validate();">验证脚本</a>&nbsp;&nbsp;
<a href="javascript:void(0);" onclick="describe();">脚本说明</a>
<br/>
<textarea name="ruleScript" id="ruleScript" style="width: 700px;height: 50px">${activityRule.ruleScript}</textarea>
<br/>
环节人员规则通过groovy返回字符串来定义环节的处理人员列表。返回的人员格式包括人员ID和组织ID以井号分隔
</br>返回多人时人员之间以逗号分隔。返回的示例如下return "wugf1202#204300010999,liysh124#204300010599";
</td>
</tr>
<tr>
<td>规则描述:</td>
<td colspan="3"><textarea style="width: 700px;height: 50px" name="ruleRemark" id="ruleRemark">${activityRule.ruleRemark}</textarea></td>
</tr>
</table>
<IFRAME style="width:100%;height:180px;" scrolling="auto" src="${ctx}/actInfo/activityResourceRule/list.do?procDefId=${activityRule.procDefId}&sourceActId=${activityRule.sourceActId}&targetActId=${activityRule.targetActId}" frameBorder="0" id="rightFrame" name="rightFrame" allowTransparency="true"></IFRAME>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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>
</head>
<body class="white-page">
<div class="box2" panelTitle="更新流程环节规则表" showStatus="false" roller="true">
<form action="${ctx}/actInfo/activityResourceRule/update.do" method="post">
<button id="submitButton" name="submitButton" type="button" onclick="javascript:getReferenceForm(this).submit();">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" onclick="window.location='${ctx}/actInfo/activityResourceRule/list.do'">
<span class="icon_back">返回</span>
</button>
<table class="tableStyle form-table" formMode="true" footer="normal">
<!-- 存放隐藏域的区域 -->
<input type="hidden" id="ruleId" name="ruleId" value="${activityRule.ruleId}" />
<!-- 存放表单的区域 -->
<tr>
<td>环节规则名称<font color="red">*</font></td>
<td><input type="text" name="ruleName" value="${activityRule.ruleName}" id="ruleName" /></td>
</tr>
<tr>
<td>流程定义ID<font color="red">*</font></td>
<td><input type="text" name="procDefId" value="${activityRule.procDefId}" id="procDefId" /></td>
</tr>
<tr>
<td>源环节ID<font color="red">*</font></td>
<td><input type="text" name="sourceActId" value="${activityRule.sourceActId}" id="sourceActId" /></td>
</tr>
<tr>
<td>目标环节ID<font color="red">*</font></td>
<td><input type="text" name="targetActId" value="${activityRule.targetActId}" id="targetActId" /></td>
</tr>
<tr>
<td>环节规则脚本<font color="red">*</font></td>
<td><input type="text" name="ruleScript" value="${activityRule.ruleScript}" id="ruleScript" /></td>
</tr>
<tr>
<td>环节规则优先级:</td>
<td><input type="text" name="rulePriority" value="${activityRule.rulePriority}" id="rulePriority" /></td>
</tr>
<tr>
<td>环节规则描述:</td>
<td><input type="text" name="ruleRemark" value="${activityRule.ruleRemark}" id="ruleRemark" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>

View File

@@ -0,0 +1,84 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@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_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('queryForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
});
function editActivityRule(ruleId){
parent.editActivityRule(ruleId);
}
</script>
</head>
<body class="white-page">
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/actInfo/activityResourceRule/list.do" method="get" style="display: inline;">
<input type="hidden" name="procDefId" value="${query.procDefId}" id="procDefId"/>
<input type="hidden" name="sourceActId" value="${query.sourceActId}" id="sourceActId"/>
<input type="hidden" name="targetActId" value="${query.targetActId}" id="targetActId"/>
<input type="hidden" name="ruleType" value="${activityRule.ruleType}" id="ruleType"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
</div>
<div class="panel-body">
<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 form-table">
<thead>
<tr>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th style="width:125px;" sortColumn="ruleName" >规则名称</th>
<th sortColumn="ruleScript" >规则脚本</th>
<th style="width:125px;" sortColumn="ruleRemark" >规则描述</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><a href="javascript:void(0);" onclick="editActivityRule('${item.ruleId}');">${item.ruleName}</a></td>
<td>${item.ruleScript}&nbsp; </td>
<td>${item.ruleRemark}&nbsp; </td>
<td>
<a href="${ctx}/actInfo/activityResourceRule/delete.do?ruleId=${item.ruleId}&">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,45 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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"%>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/codemirror.css">
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/eclipse.css">
<script src="${ctx}/resource/js/plugins/codemirror/codemirror.js"></script>
<script src="${ctx}/resource/js/plugins/codemirror/clike.js"></script>
<base href="<%=basePath%>">
<title>流程环节规则表新增</title>
</head>
<body>
<form id="myForm" action="${ctx}/actInfo/activityResourceRule/save.do" method="post">
<button type="button" onclick="art.dialog.close();">
<span class="icon_back">关闭</span>
</button>
<table class="tableStyle" formMode="true" footer="normal">
<tr>
<td>结果值:</td>
<td>${ruleScriptValue}</td>
</tr>
<tr>
<td width="20%">结果值类型:</td>
<td>${ruleScriptValueType}</td>
</tr>
<tr>
<td>验证结果:</td>
<td><div style="overflow-y:scroll;height:200px;">
${validateMsg}</div></td>
</tr>
</table>
</form>
</body>
</html>

View File

@@ -0,0 +1,98 @@
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@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_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('queryForm',
'${page.thisPageNumber}', '${page.pageSize}',
'${pageRequest.sortColumns}');
});
function editActivityRule(ruleId) {
parent.editActivityRule(ruleId);
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="queryForm" name="queryForm"
action="${ctx}/actInfo/activityResourceRule/list.do" method="get"
style="display: inline;">
<input type="hidden" name="procDefId" value="${query.procDefId}"
id="procDefId" /> <input type="hidden" name="sourceActId"
value="${query.sourceActId}" id="sourceActId" /> <input type="hidden"
name="targetActId" value="${query.targetActId}" id="targetActId" /> <input
type="hidden" name="ruleType" value="${activityRule.ruleType}"
id="ruleType" />
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading"></div>
<div class="panel-body">
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<div style="width: 100%;overflow: auto;">
<table style=" width: inherit;max-width: 600%;table-layout: fixed;" id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th style="width: 230px;" sortColumn="ruleName">流程定义</th>
<th style="width: 225px;" sortColumn="ruleName">环节名称</th>
<th style="width: 125px;" sortColumn="ruleName">规则名称</th>
<th style="width: 125px;" sortColumn="ruleScript">规则脚本</th>
<th style="width: 125px;" sortColumn="ruleRemark">规则描述</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="item"
varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td>${item.procDefId}</td>
<td>${item.sourceActId}-> ${targetActId}</td>
<td>${item.ruleName}</td>
<td>${item.ruleScript}&nbsp;</td>
<td>${item.ruleRemark}&nbsp;</td>
<td><a
href="${ctx}/actInfo/activityResourceRule/delete.do?ruleId=${item.ruleId}&">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,179 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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"%>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/codemirror.css">
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/eclipse.css">
<style>
.CodeMirror {
/* Set height, width, borders, and global font properties here */
font-family: monospace;
height: 180px;
}
</style>
<script src="${ctx}/resource/js/plugins/codemirror/codemirror.js"></script>
<script src="${ctx}/resource/js/plugins/codemirror/clike.js"></script>
<base href="<%=basePath%>">
<title>流程环节规则表新增</title>
<script>
var demo;
var ischeck = true;
var javaEditor;
$(document).ready(function() {
javaEditor = CodeMirror.fromTextArea(document.getElementById("ruleScript"), {
lineNumbers: true,
matchBrackets: true,
theme:"eclipse",
mode: "text/x-java"
});
$.Tipmsg.r=null;
$("#myForm").Validform({
tiptype:function(msg){
alert(msg);//验证提示信息
},
tipSweep:true,
btnSubmit:"#addButton",
callback:function(form){
var ruleScript = javaEditor.getValue();
if(""==ruleScript){
alert("验证脚本不能为空!");
return false;
}
document.getElementById("myForm").action="${ctx}/actInfo/activityRule/save.do";
return true;
}
});
});
function editActivityRule(ruleId){
var url="${ctx}/actInfo/activityRule/getActivityRule.do?ruleId="+ruleId;
$.post(url,function(result){
var jsonObject = eval(result);
$.each(jsonObject, function(name, value) {
if(name=="ruleScript"){
javaEditor.setValue(value);
}else{
var inputObj=$("#"+name);
if(inputObj.attr("type")!="hidden"||name=="ruleId"){
inputObj.val(value);
}
}
});
});
}
function update(){
if($("#ruleId").val()==""){
alert("该规则没有在数据库中,请点击规则列表后再进行更新!");
return;
}
var ruleName = $("#ruleName").val();
if(""==ruleName){
alert("请填写规则名称!");
return ;
}
var ruleScript = javaEditor.getValue();
if(""==ruleScript){
alert("验证脚本不能为空!");
return ;
}
document.getElementById("myForm").action="${ctx}/actInfo/activityRule/update.do";
document.getElementById("myForm").submit();
}
function validate(){
var ruleScript=javaEditor.getValue();;
if(ruleScript==""){
alert("规则脚本不允许为空,请您重新输入!");
return ;
}
var url="${ctx}/actInfo/activityRule/validate.do?ruleScript="+ruleScript;
showDiaLog(url,'验证规则脚本','600px','300px');
}
function describe(){
window.open("${ctx}/commons/bpm_script_info.html")
}
</script>
</head>
<body class="white-page">
<form id="myForm" action="${ctx}/actInfo/activityRule/save.do" method="post">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<div class="well well-sm">
<button id="addButton" name="submitButton" type="button" class="btn btn-xs btn-success">
新 增
<i class="ace-icon fa fa-plus bigger-110"></i>
</button>
<button id="updateButton" name="submitButton" type="button" onclick="update();" class="btn btn-xs btn-success">
更 新
<i class="ace-icon fa fa-pencil bigger-110"></i>
</button>
<button type="button" onclick="art.dialog.close();" class="btn btn-xs btn-danger">
关 闭
<i class="ace-icon fa fa-times bigger-110"></i>
</button>
</div>
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<input type="hidden" name="ruleType" value="${activityRule.ruleType}" id="ruleType"/>
<input type="hidden" name="ruleId" value="${activityRule.ruleId}" id="ruleId"/>
<input type="hidden" name="procDefId" value="${activityRule.procDefId}" id="procDefId"/>
<input type="hidden" name="sourceActId" value="${activityRule.sourceActId}" id="sourceActId"/>
<input type="hidden" name="sourceActName" value="${activityRule.sourceActName}" id="sourceActName"/>
<input type="hidden" name="targetActId" value="${activityRule.targetActId}" id="targetActId"/>
<input type="hidden" name="targetActName" value="${activityRule.targetActName}" id="targetActName"/>
<!-- 存放表单的区域 -->
<tr>
<td>当前环节<font color="red">*</font></td>
<td>${activityRule.sourceActName}</td>
<td width="135px">目标环节<font color="red">*</font></td>
<td>${activityRule.targetActName}</td>
</tr>
<tr>
<td>规则名称<font color="red">*</font></td>
<td colspan="3"><input style="width: 250px" type="text" name="ruleName" value="${activityRule.ruleName}" id="ruleName"
nullmsg="请填写规则名称" datatype="*"/></td>
</tr>
<tr>
<td>规则脚本<font color="red">*</font></td>
<td colspan="3">
<!-- <a href="javascript:void(0);" onclick="">常用脚本</a>&nbsp;&nbsp;-->
<a href="javascript:void(0);" onclick="validate();">验证脚本</a>&nbsp;&nbsp;
<a href="javascript:void(0);" onclick="describe();">脚本说明</a>
<br/>
<textarea name="ruleScript" id="ruleScript" style="width: 700px;height: 50px">${activityRule.ruleScript}</textarea>
<br/>
环节跳转规则通过groovy脚本定义流程转向开发人员通过控制脚本返回一个布尔值返回值为true时流程将流向目标环节。
</td>
</tr>
<tr>
<td>规则描述:</td>
<td colspan="3"><textarea style="width: 700px;height: 50px" name="ruleRemark" id="ruleRemark">${activityRule.ruleRemark}</textarea></td>
</tr>
</table>
<IFRAME style="width:100%;height:180px;" scrolling="auto" src="${ctx}/actInfo/activityRule/list.do?procDefId=${activityRule.procDefId}&sourceActId=${activityRule.sourceActId}&targetActId=${activityRule.targetActId}" frameBorder="0" id="rightFrame" name="rightFrame" allowTransparency="true"></IFRAME>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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>
</head>
<body class="white-page">
<div class="box2" panelTitle="更新流程环节规则表" showStatus="false" roller="true">
<form action="${ctx}/actInfo/activityRule/update.do" method="post">
<button id="submitButton" name="submitButton" class="btn btn-sm btn-primary" type="button" onclick="javascript:getReferenceForm(this).submit();">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button class="btn btn-sm btn-primary" type="button" onclick="window.location='${ctx}/actInfo/activityRule/list.do'">
<span class="icon_back">返回</span>
</button>
<table class="tableStyle form-table" formMode="true" footer="normal" style="margin-top: 15px">
<!-- 存放隐藏域的区域 -->
<input type="hidden" id="ruleId" name="ruleId" value="${activityRule.ruleId}" />
<!-- 存放表单的区域 -->
<tr>
<td>环节规则名称<font color="red">*</font></td>
<td><input type="text" name="ruleName" value="${activityRule.ruleName}" id="ruleName" /></td>
</tr>
<tr>
<td>流程定义ID<font color="red">*</font></td>
<td><input type="text" name="procDefId" value="${activityRule.procDefId}" id="procDefId" /></td>
</tr>
<tr>
<td>源环节ID<font color="red">*</font></td>
<td><input type="text" name="sourceActId" value="${activityRule.sourceActId}" id="sourceActId" /></td>
</tr>
<tr>
<td>目标环节ID<font color="red">*</font></td>
<td><input type="text" name="targetActId" value="${activityRule.targetActId}" id="targetActId" /></td>
</tr>
<tr>
<td>环节规则脚本<font color="red">*</font></td>
<td><input type="text" name="ruleScript" value="${activityRule.ruleScript}" id="ruleScript" /></td>
</tr>
<tr>
<td>环节规则优先级:</td>
<td><input type="text" name="rulePriority" value="${activityRule.rulePriority}" id="rulePriority" /></td>
</tr>
<tr>
<td>环节规则描述:</td>
<td><input type="text" name="ruleRemark" value="${activityRule.ruleRemark}" id="ruleRemark" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>

View File

@@ -0,0 +1,85 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@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_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('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
});
function editActivityRule(ruleId){
parent.editActivityRule(ruleId);
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/actInfo/activityRule/list.do" method="get" style="display: inline;">
<input type="hidden" name="procDefId" value="${query.procDefId}" id="procDefId"/>
<input type="hidden" name="sourceActId" value="${query.sourceActId}" id="sourceActId"/>
<input type="hidden" name="targetActId" value="${query.targetActId}" id="targetActId"/>
<input type="hidden" name="ruleType" value="${activityRule.ruleType}" id="ruleType"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
</div>
<div class="panel-body">
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<div style="width: 100%;overflow: auto;">
<table style=" width: inherit;max-width: 600%;table-layout: fixed;" id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th style="width:125px;" sortColumn="ruleName" >规则名称</th>
<th sortColumn="ruleScript" >规则脚本</th>
<th style="width:125px;" sortColumn="ruleRemark" >规则描述</th>
<th style="width: 90px">操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><a href="javascript:void(0);" onclick="editActivityRule('${item.ruleId}');">${item.ruleName}</a></td>
<td>${item.ruleScript}&nbsp; </td>
<td>${item.ruleRemark}&nbsp; </td>
<td>
<a href="${ctx}/actInfo/activityRule/delete.do?ruleId=${item.ruleId}&">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,44 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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"%>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/codemirror.css">
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/eclipse.css">
<script src="${ctx}/resource/js/plugins/codemirror/codemirror.js"></script>
<script src="${ctx}/resource/js/plugins/codemirror/clike.js"></script>
<base href="<%=basePath%>">
<title>流程环节规则表新增</title>
</head>
<body>
<form id="myForm" action="${ctx}/actInfo/activityRule/save.do" method="post">
<!-- <button type="button" onclick="art.dialog.close();">
<span class="icon_back">关闭</span>
</button> -->
<table class="tableStyle" formMode="true" footer="normal" style="width: 100%;">
<tr>
<td>结果值:</td>
<td>${ruleScriptValue}</td>
</tr>
<tr>
<td width="20%">结果值类型:</td>
<td>${ruleScriptValueType}</td>
</tr>
<tr>
<td>验证结果:</td>
<td>${validateMsg}</td>
</tr>
</table>
</form>
</body>
</html>

View File

@@ -0,0 +1,113 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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"%>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/codemirror.css">
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/eclipse.css">
<script src="${ctx}/resource/js/plugins/codemirror/codemirror.js"></script>
<script src="${ctx}/resource/js/plugins/codemirror/clike.js"></script>
<base href="<%=basePath%>">
<title>流程环节规则表编辑</title>
<script>
var javaEditor;
$(document).ready(function() {
javaEditor = CodeMirror.fromTextArea(document.getElementById("ruleScript"), {
lineNumbers: true,
matchBrackets: true,
theme:"eclipse",
mode: "text/x-java"
});
});
function save(){
var ruleName = $("#ruleName").val();
if(""==ruleName){
alert("请填写规则名称!");
return ;
}
var ruleScript = javaEditor.getValue();
if(""==ruleScript){
alert("验证脚本不能为空!");
return ;
}
//document.getElementById("myForm").submit();
$.post('${ctx}/actInfo/activityRule/updateMgr.do',$('#myform').serialize(),function(result){
alert(result);
art.dialog.opener.location.reload();
});
}
function validate(){
var ruleScript= javaEditor.getValue();
if(ruleScript==""){
alert("规则脚本不允许为空,请您重新输入!");
return ;
}
var url="${ctx}/actInfo/activityRule/validate.do?ruleScript="+ruleScript;
showDiaLog(url,'验证规则脚本','600px','300px');
}
function describe(){
window.open("${ctx}/commons/bpm_script_info.html")
}
</script>
</head>
<body class="white-page">
<div class="box2" panelTitle="更新流程环节规则表" showStatus="false" roller="true">
<form id="myForm" action="${ctx}/actInfo/activityRule/updateMgr.do" method="post">
<button id="submitButton" class="btn btn-sm btn-primary" name="submitButton" type="button" onclick="save();">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" class="btn btn-sm btn-primary" onclick="art.dialog.close();">
<span class="icon_back">返回</span>
</button>
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" style="margin-top: 15px">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="procDefId" value="${activityRule.procDefId}" id="procDefId" />
<input type="hidden" name="ruleType" value="${activityRule.ruleType}" id="ruleType" />
<input type="hidden" name="sourceActId" value="${activityRule.sourceActId}" id="sourceActId" />
<input type="hidden" name="targetActId" value="${activityRule.targetActId}" id="targetActId" />
<input type="hidden" id="ruleId" name="ruleId" value="${activityRule.ruleId}" />
<!-- 存放表单的区域 -->
<tr>
<td>环节规则名称<font color="red">*</font></td>
<td><input type="text" name="ruleName" value="${activityRule.ruleName}" id="ruleName" /></td>
<td>流程定义ID<font color="red">*</font></td>
<td title="${activityRule.procDefId}"><input readonly="readonly" type="text" value="${activityRule.procDefId}" /></td>
</tr>
<tr>
<td>源环节ID<font color="red">*</font></td>
<td><input type="text" readonly="readonly" value="${activityRule.sourceActId}" /></td>
<td>目标环节ID<font color="red">*</font></td>
<td><input type="text" readonly="readonly" value="${activityRule.targetActId}" /></td>
</tr>
<tr>
<td>环节规则脚本<font color="red">*</font></td>
<td colspan="3">
<!-- <a href="javascript:void(0);" onclick="">常用脚本</a>&nbsp;&nbsp;-->
<a href="javascript:void(0);" onclick="validate();">验证脚本</a>&nbsp;&nbsp;
<a href="javascript:void(0);" onclick="describe();">脚本说明</a>
<br/>
<input type="textarea" style="width: 700px;height: 50px" name="ruleScript" value="${activityRule.ruleScript}" id="ruleScript" />
</td>
</tr>
<tr>
<td>环节规则优先级:</td>
<td><input type="text" name="rulePriority" value="${activityRule.rulePriority}" id="rulePriority" /></td>
</tr>
<tr>
<td>环节规则描述:</td>
<td colspan="3"><input type="text" name="ruleRemark" value="${activityRule.ruleRemark}" id="ruleRemark" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>

View File

@@ -0,0 +1,97 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@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_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('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
});
function editActivityRule(ruleId){
parent.editActivityRule(ruleId);
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/actInfo/activityRule/listMgr.do" method="get" style="display: inline;">
<input type="hidden" name="procDefId" value="${query.procDefId}" id="procDefId"/>
<input type="hidden" name="sourceActId" value="${query.sourceActId}" id="sourceActId"/>
<input type="hidden" name="targetActId" value="${query.targetActId}" id="targetActId"/>
<input type="hidden" name="ruleType" value="${activityRule.ruleType}" id="ruleType"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
</div>
<div class="panel-body">
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<div style="width: 100%;overflow: auto;">
<table style=" width: inherit;max-width: 600%;table-layout: fixed;" id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="ruleName">流程定义</th>
<th sortColumn="ruleName">环节名称</th>
<th sortColumn="ruleName">规则名称</th>
<th sortColumn="ruleScript">规则脚本</th>
<th sortColumn="ruleRemark">规则描述</th>
<th style="width: 90px">操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td class="td" >
<a href="javascript:void(0);"
onclick="showDiaLog('${ctx}/actInfo/activityRule/editMgr.do?ruleId=${item.ruleId}','脚本规则配置','900px','600px')">
${item.procDefId}
</a>
</td>
<td class="td" title="${item.sourceActId}">${item.sourceActId}-> ${item.targetActId}</td>
<td class="td" title="${item.ruleName}">${item.ruleName}</td>
<td class="td" title="${item.ruleScript}">${item.ruleScript}&nbsp;</td>
<td class="td" title="${item.ruleRemark}"> ${item.ruleRemark}&nbsp;</td>
<td>
<a href="${ctx}/actInfo/activityRule/deleteMgr.do?ruleId=${item.ruleId}&">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<simpletable:pageToolbar page="${page}">
</simpletable:pageToolbar>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,187 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@ 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%>">
<script>
$(document).ready(function() {
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
//setMask("main-container");
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/editCallActivity.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.close();
}
});
});
$("#deleteBtn").click(function() {
if (!hasOneChecked("sourceRefs")) {
alert('请选择要操作的对象!');
return;
}
if (!window.confirm('确定执行[删除]操作?')) {
return;
}
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/deleteCallActProperty.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
window.location.reload();
}
});
});
});
function procDefNameOnDbClick(name, value) {
$("#procDefName").val(name);
$("#calledElement").val(value);
}
</script>
<title>流程贯穿服务任务设置</title>
</head>
<body>
<form action="${ctx}/actInfo/otherTask/editCallActivity.do" method="post"
id="myform">
<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">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="activityDefId"
value="${activityInfoConfig.activityDefId}" />
<input type="hidden" name="activityDefName"
value="${activityInfoConfig.activityDefName}" />
<input type="hidden" name="processDefId"
value="${activityInfoConfig.processDefId}" />
<input type="hidden" name="processDefName"
value="${activityInfoConfig.processDefName}" />
<!-- 存放表单的区域 -->
<tr>
<td width="10%">任务ID<font color="red">*</font>
</td>
<td><input style="width: 400px;" readonly type="text" name="name"
value="${callActivity.id}" id="name" /></td>
</tr>
<tr>
<td width="10%">任务名称<font color="red">*</font>
</td>
<td><input style="width: 400px;" readonly type="text" name="name"
value="${callActivity.name}" id="name" /></td>
</tr>
<tr>
<td>贯穿流程<font color="red">*</font>
</td>
<td><input style="width: 400px;" type="text"
<c:choose>
<c:when test="${not empty callProcDefModel.procDefName}">
value="${callProcDefModel.procDefName}"
</c:when>
<c:otherwise>
value="请选择"
</c:otherwise>
</c:choose>
name="procDefName" id="procDefName" readonly onclick="showMenu('procDefName','',''); return false;" />
<input style="width: 400px;" type="hidden"
name="calledElement" value="${callActivity.calledElement}" id="calledElement" />
</td>
</tr>
<tr>
<td>备注:</td>
<td><textarea style="width: 600px; height: 80px"
name="documentation" id="documentation">${callActivity.documentation}</textarea></td>
</tr>
</table>
<div class="panel panel-primary">
<div class="panel-heading">贯穿流程属性映射</div>
<div class="panel-body">
<div class="form-group well well-sm">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td colspan="7">
<button type="button" class="btn btn-xs btn-success"
onclick="showDiaLog('${ctx}/actInfo/otherTask/createProperty.do?processDefId=${activityInfoConfig.processDefId}&activityDefId=${activityInfoConfig.activityDefId}','新增扩展属性','500px','300px')" />
新 增
</button>
<button type="button" id="deleteBtn" class="btn btn-xs btn-danger">删 除
</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"
onclick="setAllCheckboxState('sourceRefs',this.checked)"></th>
<th style="width: 300px">源流程变量名</th>
<th>目标程变量名</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${dataInputAssociations}"
var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="sourceRefs" value="${item.sourceRef}"></td>
<td>${item.sourceRef}&nbsp;</td>
<td>${item.targetRef}&nbsp;</td>
<td><a href="javascript:void(0);"
onclick="showDiaLog('${ctx}/actInfo/otherTask/editProperty.do?sourceRef=${item.sourceRef}','修改扩展属性','500px','300px')">修改</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button id="submitButton" class="btn btn-sm btn-primary"
name="submitButton" type="button">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" class="btn btn-sm btn-primary"
onclick="art.dialog.close()">
<span class="icon_back">关闭</span>
</button>
</div>
</div>
</div>
</div>
</form>
<jsp:include page="../../../pages/procDefMgr/procDefTree.jsp" flush="false" />
</body>
</html>

View File

@@ -0,0 +1,67 @@
<%@ 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 type="text/javascript">
$(document).ready(function() {
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/saveProperty.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.opener.location.reload();
}
});
});
});
</script>
</head>
<body>
<form action="${ctx}/actInfo/otherTask/saveProperty.do"
method="post" id="myform">
<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">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="dataObject.objScope" id="objScope" value="P" />
<input type="hidden" name="processDefId" id="processDefId" value="${dataObjectRelation.processDefId}" />
<input type="hidden" name="activityDefId" id="activityDefId" value="${dataObjectRelation.activityDefId}" />
<input type="hidden" name="targetActId" id="targetActId" value="${dataObjectRelation.targetActId}" />
<input type="hidden" name="dorType" id="dorType" value="through" />
<input type="hidden" name="dataObject.objType" id="objType" value="string" />
<!-- 存放表单的区域 -->
<tr>
<td><font color="red">*</font>源流程变量名称:</td>
<td><input name="dataObject.objKey" id="objKey" value="" /></td>
</tr>
<tr>
<td><font color="red">*</font>目标流程变量名称:</td>
<td><input name="dataObject.objValue" id="objValue" value="" /></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<input type="button" class="btn btn-sm btn-primary"
id="submitButton" value="保 存" />
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,71 @@
<%@ 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 type="text/javascript">
$(document).ready(function() {
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/updateProperty.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.opener.location.reload();
}
});
});
});
</script>
</head>
<body>
<form action="${ctx}/actInfo/otherTask/updateProperty.do"
method="post" id="myform">
<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">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="dataObject.objScope" id="objScope" value="P" />
<input type="hidden" name="processDefId" id="processDefId" value="${dataObjectRelation.processDefId}" />
<input type="hidden" name="activityDefId" id="activityDefId" value="${dataObjectRelation.activityDefId}" />
<input type="hidden" name="targetActId" id="targetActId" value="${dataObjectRelation.targetActId}" />
<input type="hidden" name="dorType" id="dorType" value="through" />
<input type="hidden" name="dataObject.objName" id="objName" value="string" />
<input type="hidden" name="dataObject.objId" id="objId" value="${dataObjectRelation.dataObject.objId}" />
<input type="hidden" name="dorId" id="dorId" value="${dataObjectRelation.dorId}" />
<input type="hidden" name="dataObject.objType" id="objType" value="${dataObjectRelation.dataObject.objType}" />
<!-- 存放表单的区域 -->
<tr>
<td><font color="red">*</font>源流程变量名称:</td>
<td><input name="dataObject.objKey" id="objKey" value="${dataObjectRelation.dataObject.objKey}" /></td>
</tr>
<tr>
<td><font color="red">*</font>目标流程变量名称:</td>
<td><input name="dataObject.objValue" id="objValue" value="${dataObjectRelation.dataObject.objValue}" /></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<input type="button" class="btn btn-sm btn-primary"
id="submitButton" value="保 存" />
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,288 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@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.*"%>
<%@ 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%>">
<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 type="text/javascript">
$(document).ready(function() {
$("#submitButton").click(function() {
setMask("main-container");
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/activityInfo/update.do",
data : $('#myform').serialize(),
success : function(resp) {
if (resp == 'SUCCESS') {
alert("操作成功!");
$("#main-container").unmask();
//window.location.reload();
//art.dialog.close();
//art.dialog.opener.location.reload();
} else {
$("#main-container").unmask();
alert("操作失败!");
}
}
});
});
$('#mprotocol').change(function(){
var val=$(this).children('option:selected').val();
if(val=="http"){
$("#otherSysDealStatus option[value='no']").attr("selected", "selected");
}else if(val=="none"){
$("#otherSysDealStatus option[value='yes']").attr("selected", "selected");
}else{
$("#otherSysDealStatus option[value='']").attr("selected", "selected");
}
});
var sys = $("#sys").val();
var mAppId = $("#mAppId").val();
if(sys !=""){
var activityPageUrlHid = $("#activityPageUrlHid").val();
var activityMurlHid = $("#activityMurlHid").val();
var href = window.top.location.href;
var list = href.split("/");
var name = "/"+list[3];
var url = "<%=MyContants.KSKF_PAHT%>"+name+"/customForm/list/workflow/"+sys+"/PC";
jQuery.ajax({
url : url,
type : "GET",
success : function(resp) {
if(resp.resultCode == 200){
var html = "<select name='activityPageUrl' id='activityPageUrl'>";
html = html +"<option value='' ></option>";
for(var i = 0; i < resp.result.length; i++) {
var bean = resp.result[i];
if(activityPageUrlHid==bean.code){
html=html+"<option selected value="+bean.code+">"+bean.name+"</option>"
}else{
html=html+"<option value="+bean.code+">"+bean.name+"</option>"
}
}
html=html+"</select>"
$("#addSelect").html(html);
}else{
alert("获取应用表单数据失败!");
}
}
});
//移动端
var urlApp = "<%=MyContants.KSKF_PAHT%>"+name+"/customForm/list/workflow/"+sys+"/APP";
jQuery.ajax({
url : urlApp,
type : "GET",
success : function(resp) {
if(resp.resultCode == 200){
var html = "<select name='murl' id='murl'>";
html = html +"<option value='' ></option>";
for(var i = 0; i < resp.result.length; i++) {
var bean = resp.result[i];
if(activityMurlHid==bean.code){
html=html+"<option selected value="+bean.code+">"+bean.name+"</option>"
}else{
html=html+"<option value="+bean.code+">"+bean.name+"</option>"
}
}
html=html+"</select>"
$("#addMurlSelect").html(html);
}else{
alert("获取应用表单数据失败!");
}
}
});
}
});
</script>
</head>
<body class="white-page">
<input type="hidden" name="sys" id="sys" value="${sys}" />
<input type="hidden" name="mAppId" id="mAppId" value="${mAppId}" />
<input type="hidden" name="activityPageUrlHid" value="${activityInfoConfig.activityPageUrl}" id="activityPageUrlHid"/>
<input type="hidden" name="activityMurlHid" value="${activityInfoConfig.murl}" id="activityMurlHid"/>
<form action="${ctx}/activityInfo/update.do" method="post" id="myform">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered form-table' border="0" cellspacing="0" cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="activityDefId" value="${activityInfoConfig.activityDefId}" />
<input type="hidden" name="activityDefName" value="${activityInfoConfig.activityDefName}" />
<input type="hidden" name="processDefId" value="${activityInfoConfig.processDefId}" />
<input type="hidden" name="processDefName" value="${activityInfoConfig.processDefName}" />
<input type="hidden" name="activityOperationRoleid" value="${activityInfoConfig.activityOperationRoleid}" />
<!-- 存放表单的区域 -->
<tr>
<td>
<font color="red">*</font>环节ID
</td>
<td>${activityInfoConfig.activityDefId}</td>
<td>环节名称:</td>
<td>${activityInfoConfig.activityDefName}</td>
</tr>
<tr>
<!-- 不是第一步处理 则环节处理类型放在此处 -->
<td>环节处理类型:</td>
<td>
<select name="activityDefDealType" id="activityDefDealType">
<option ${activityInfoConfig.activityDefDealType=='single'?'selected':''} value="single">单人处理</option>
<%-- <c:if test="${!isStartTask}"> --%>
<option ${activityInfoConfig.activityDefDealType=='multi'?'selected':''} value="multi">多人处理-并行</option>
<option ${activityInfoConfig.activityDefDealType=='multi-x'?'selected':''} value="multi-x">多人处理-串行</option>
<%-- </c:if> --%>
</select>
</td>
<td>环节跳转类型:</td>
<td>
<select name="jumpType" id="jumpType">
<option value="MANUAL" ${activityInfoConfig.jumpType=="MANUAL"?"selected":""}>人工选择跳转</option>
<option value="AUTO" ${activityInfoConfig.jumpType=="AUTO"?"selected":""}>自动路径跳转</option>
<!-- <option value="FREE" ${activityInfoConfig.jumpType=="FREE"?"selected":""}>自由选择跳转</option> -->
</select>
</td>
</tr>
<tr>
<td>意见显示区域(用于界面意见分栏)</td>
<td colspan="1">
<input type="text" style="width: 200px" name="ideaDisplayArea" value="${activityInfoConfig.ideaDisplayArea}" id="ideaDisplayArea" class="validate[length[0,50]]" maxlength="30" />
</td>
<td>是否显示意见:</td>
<td colspan="1">
<select name="isShowIdea" id="isShowIdea">
<option value="ENABLED" ${activityInfoConfig.isShowIdea=='ENABLED'?'selected':''}>是</option>
<option value="DISABLE" ${activityInfoConfig.isShowIdea=='DISABLE'?'selected':''}>否</option>
</select>
</td>
</tr>
<tr>
<td>环节审批时限:</td>
<td>
<!--
<input type="checkbox" name="" id="" />超时后自动流转下一步<br/> -->
<select name="activityLimitTime" id="activityLimitTime">
<option value="">--请选择--</option>
<c:forEach begin="1" end="30" varStatus="item">
<option ${activityInfoConfig.activityLimitTime==item.index?'selected':''} value="${item.index}">${item.index}</option>
</c:forEach>
</select> 天
</td>
<td>环节排序号:</td>
<td colspan="2">
<input type="text" name="activityOrder" preValue="${activityInfoConfig.activityOrder}" onblur="moveout(this.id);" value="${activityInfoConfig.activityOrder}" id="activityOrder" maxlength="200" class="validate[length[0,1000]]" onkeyup="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')" />
</td>
</tr>
<tr>
<td rowspan="2" style="width: 200px;">桌面端相关配置:</td>
<td style="width: 100px;">环节表单路径</td>
<td colspan="3">
<c:if test="${sys ne '' }">
<div id ="addSelect">
</div>
<!-- <input style="width: 600px" type="text" name="activityPageUrl" value="${activityInfoConfig.activityPageUrl}" id="activityPageUrl" class="validate[length[0,500]]" />-->
</c:if>
<c:if test="${sys eq ''}">
<input style="width: 600px" type="text" name="activityPageUrl" value="${activityInfoConfig.activityPageUrl}" id="activityPageUrl" class="validate[length[0,500]]" />
</c:if>
</td>
</tr>
<tr>
<td>处理协议</td>
<td colspan="3">
<select name="cprotocol" id="cprotocol">
<option value="hnzy:workitem" ${activityInfoConfig.cprotocol=='hnzy:workitem'||activityInfoConfig.cprotocol==null||activityInfoConfig.cprotocol==null?'selected':''}>和+浏览器模式</option>
<option value="http" ${activityInfoConfig.cprotocol=='http'?'selected':''}>普通浏览器模式</option>
</select>
</td>
</tr>
<tr>
<td rowspan="3">手机端相关配置:</td>
<td>环节表单路径</td>
<td colspan="3">
<c:if test="${sys ne '' }">
<div id ="addMurlSelect">
</div>
<!-- <input style="width: 600px" type="text" name="activityPageUrl" value="${activityInfoConfig.activityPageUrl}" id="activityPageUrl" class="validate[length[0,500]]" />-->
</c:if>
<c:if test="${sys eq ''}">
<input style="width: 600px" type="text" name="murl" value="${activityInfoConfig.murl}" id="mUrl" class="validate[length[0,500]]" />
</c:if>
</td>
</tr>
<tr>
<td>处理协议</td>
<td colspan="3">
<select name="mprotocol" id="mprotocol">
<option value="none" ${activityInfoConfig.mprotocol=='none'||activityInfoConfig.mprotocol==null?'selected':''}>不支持手机处理</option>
<option value="http" ${activityInfoConfig.mprotocol=='http'?'selected':''}>WEBVIEW模式H5</option>
<option value="" ${activityInfoConfig.mprotocol==null?'selected':''}>沿用流程配置</option>
</select>
</td>
</tr>
<tr>
<td>处理状态</td>
<td colspan="3">
<select name="otherSysDealStatus" id="otherSysDealStatus">
<option value="" ${processInfoConfig.mprotocol==null?'selected':''}>沿用流程配置</option>
<option value="yes" ${activityInfoConfig.otherSysDealStatus=='yes'?'selected':''}>仅阅读</option>
<option value="no" ${activityInfoConfig.otherSysDealStatus=='no'?'selected':''}>可处理</option>
</select>
</td>
</tr>
<tr>
<td>备注:</td>
<td colspan="3">
<textarea rows="2" cols="50" name="remark">${activityInfoConfig.remark}</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>
<!-- <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,105 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.bpmn.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="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_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() {
});
</script>
</head>
<body class="white-page">
<%@ include file="/commons/messages.jsp"%>
<form id="queryForm" name="queryForm"
action="${ctx}/actInfo/sequenceFlow/list.do" method="post"
style="display: inline;">
<input name="actId" id="actId" value="${gateway.id}" type="hidden"/>
<input name="procDefId" id="procDefId" value="${params.processDefId}" type="hidden"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading" style="background: none !important;">
网关ID${gateway.id},网关名称:${gateway.name}
</div>
<%-- <div class="form-group well well-sm">--%>
<%-- <table width="100%" border="0" cellspacing="0" cellpadding="0"--%>
<%-- class="table-search">--%>
<%-- <tr>--%>
<%-- <td colspan="7">--%>
<%-- <input onclick="art.dialog.close();" type="button" class="btn btn-xs btn-primary" value="关&nbsp;&nbsp;闭"/>--%>
<%-- </td>--%>
<%-- </tr>--%>
<%-- </table>--%>
<%--</div>--%>
<div class="panel-body">
<div class="row">
<div class="col-xs-12">
<div class="table-responsive" style="margin: 0 0 0 10px !important;padding: 0!important;">
<table id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>输出线名称</th>
<th>当前环节名称</th>
<th>目标目标环节</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${gateway.outgoingFlows}" var="item"
varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td>${item.name}&nbsp;</td>
<td>${gateway.name}</td>
<td>${item.targetRefName}&nbsp;</td>
<td>
<a href="javascript:void(0);" onclick="showDiaLog('${ctx}/actInfo/sequenceFlow/edit.do?procDefId=${params.processDefId}&sequenceFlowId=${item.id}','${item.sourceRefName}->${item.targetRefName}-输出线','900px','600px')">编辑</a>
<a href="javascript:void(0);" onclick="showDiaLog('${ctx}/actInfo/activityRule/create.do?procDefId=${params.processDefId}&sourceActId=${gateway.id}&sourceActName=${gateway.name}&targetActId=${item.targetRef}&targetActName=${item.targetRefName}','${item.sourceRefName}->${item.targetRefName}-输出线-跳转规则配置','900px','600px')">跳转规则配置</a>
<a href="javascript:void(0);" onclick="showDiaLog('${ctx}/actInfo/activityResourceRule/create.do?procDefId=${params.processDefId}&sourceActId=${gateway.id}&sourceActName=${gateway.name}&targetActId=${item.targetRef}&targetActName=${item.targetRefName}','${item.sourceRefName}->${item.targetRefName}-输出线-人员规则配置','900px','600px')">人员规则配置</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,144 @@
<%@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"%>
<%@ 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_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('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
});
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="queryForm" name="queryForm"
action="${ctx}/activityInfo/list.do" method="get"
style="display: inline;">
<input name="processDefId" id="processDefId"
value="${query.processDefId }" type="hidden" />
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading"></div>
<div class="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>环节ID</td>
<td><input value="${query.activityDefId}"
id="activityDefId" name="activityDefId" maxlength="100" /></td>
<td>环节名称:</td>
<td><input value="${query.activityDefName}"
id="activityDefName" name="activityDefName" maxlength="100" />
</td>
<td>
<button type="submit" class="btn btn-xs btn-primary">查&nbsp;&nbsp;询</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: 40px">序列</th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th style="width: 150px" sortColumn="activityDefId">环节ID</th>
<th style="width: 150px" sortColumn="activityDefName">环节名称</th>
<th style="width: 150px" sortColumn="activityPageUrl">环节表单</th>
<th style="width: 60px" sortColumn="activityOperationRoleid">绑定权限</th>
<th style="width: 100px">操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="item"
varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td>${status.count}&nbsp;</td>
<td>${item.activityDefId}&nbsp;</td>
<td>${item.activityDefName}&nbsp;</td>
<td>${item.activityPageUrl}&nbsp;</td>
<td>${item.activityOperationRoleid==null?'否':'是'}&nbsp;</td>
<td>
<button data-toggle="dropdown"
onclick="showDiaLogByParent('${ctx}/activityInfo/main.do?activityDefId=${item.activityDefId}&processDefId=${item.processDefId}','${item.activityDefName}(${item.activityDefId})-环节配置','980px','600px')"
class="btn btn-info btn-sm dropdown-toggle">
配置</span>
</button>
<!--
<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 id="actDefInfo"
onclick="showDiaLog('${ctx}/activityInfo/edit.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}','环节基础信息','900px','640px');"
href="javascript:void(0);">环节基础信息</a></li>
<li><a id="actDefUser" href="javascript:void(0);"
onclick="showDiaLog('${ctx}/actInfo/setActResource/list.do?actId=${activityInfoConfig.activityDefId}&procDefId=${activityInfoConfig.processDefId}','环节人员分配','900px','640px');">环节人员分配</a></li>
<li><a id="actDefUser" href="javascript:void(0);"
onclick="showDiaLog('${ctx}/actInfo/sequenceFlow/list.do?actId=${activityInfoConfig.activityDefId}&procDefId=${activityInfoConfig.processDefId}','环节输出线配置','900px','640px');">环节输出线配置</a></li>
<li><a id="actDefOperate" href="javascript:void(0);"
onclick="showDiaLog('${ctx}/activityInfo/actOperatePowerList.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}','环节操作权限','900px','640px');">环节操作权限</a>
<li><a id="actDefVar" href="javascript:void(0);"
onclick="showDiaLog('${ctx}/activityInfo/edit.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}','环节变量配置','900px','640px')">环节变量配置</a></li>
<li><a id="actDefUser" href="javascript:void(0);"
onclick="showDiaLog('${ctx}/activityUserConfig/list.do?actId=${activityInfoConfig.activityDefId}&procDefId=${activityInfoConfig.processDefId}','环节通知配置','900px','640px')">环节通知配置</a></li>
</ul>
</div> -->
</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,71 @@
<%@ 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>
<script>
function changeHref(id,srcStr){
document.getElementById(id).src=srcStr;
}
</script>
</head>
<body>
<div class="main-container" id="main-container">
<div class="row">
<div class="col-xs-12">
<div class="tabbable">
<ul class="nav nav-tabs padding-12 tab-color-blue background-blue"
id="myTab3">
<li class="active"> <a id="actDefInfo" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/activityInfo/edit.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}');"
href="javascript:void(0)" target="frmrightChild" class="current">环节基础信息</a>
</li>
<li><a id="actDefUser" href="javascript:void(0)" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/actInfo/setActResource/list.do?actId=${activityInfoConfig.activityDefId}&procDefId=${activityInfoConfig.processDefId}');"
target="frmrightChild">环节人员分配</a></li>
<li><a id="actDefUser" href="javascript:void(0)" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/actInfo/sequenceFlow/list.do?actId=${activityInfoConfig.activityDefId}&procDefId=${activityInfoConfig.processDefId}');"
target="frmrightChild">环节输出线配置</a></li>
<li><a id="actDefOperate" href="javascript:void(0)" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/activityInfo/actOperatePowerList.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}');"
target="frmrightChild">环节操作权限</a></li>
<li><a id="actDefVar" href="javascript:void(0)" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/dataObjectRelation/activityList.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}')"
; target="frmrightChild">环节变量配置</a></li>
<!-- <li><a id="actDefUser" href="javascript:void(0)" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/activityUserConfig/list.do?actId=${activityInfoConfig.activityDefId}&procDefId=${activityInfoConfig.processDefId}');"
target="frmrightChild">环节通知配置</a></li> -->
<li>
<button class="btn btn-sm bigger btn-yellow dropdown-toggle"
data-toggle="dropdown" type="button" onclick="art.dialog.close();">
<i class="ace-icon fa fa-arrow-left"></i>关闭
</button>
</li>
</ul>
<div class="tab-content" style="width: 100%; height: 100%;">
<IFRAME style="width: 100%; height:520px;" scrolling="no"
src="${ctx}/activityInfo/edit.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}"
frameBorder="0" id="frmrightChild" name="frmrightChild: onload="
iframeHeight('frmrightChild')" allowTransparency="true"></IFRAME>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,217 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@ 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%>">
<script>
$(document).ready(function() {
$("#submitButton").click(function() {
var calledElement = $("#calledElement").val();
if(null == calledElement || "" == calledElement){
alert("贯穿流程必须选择!");
$("#procDefName").focus();
return false;
}
//用jquery中的ajax方法向服务器提交请求
//setMask("main-container");
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/editCallActivity.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.close();
}
});
});
$("#deleteBtn").click(function() {
if (!hasOneChecked("sourceRefs")) {
alert('请选择要操作的对象!');
return;
}
if (!window.confirm('确定执行[删除]操作?')) {
return;
}
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/deleteCallActProperty.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
window.location.reload();
}
});
});
});
function procDefNameOnDbClick(name, value) {
$("#procDefName").val(name);
$("#calledElement").val(value);
}
</script>
<title>流程贯穿服务任务设置</title>
</head>
<body class="white-page">
<form action="${ctx}/actInfo/otherTask/editCallActivity.do" method="post"
id="myform">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="activityDefId"
value="${activityInfoConfig.activityDefId}" />
<input type="hidden" name="activityDefName"
value="${activityInfoConfig.activityDefName}" />
<input type="hidden" name="processDefId"
value="${activityInfoConfig.processDefId}" />
<input type="hidden" name="processDefName"
value="${activityInfoConfig.processDefName}" />
<!-- <input type="hidden" name="activityDefChildType" value="through" />-->
<!-- 存放表单的区域 -->
<tr>
<td width="20%">环节ID<font color="red">*</font>
</td>
<td><input style="width: 400px;" readonly type="text" name="name"
value="${callActivity.id}" id="name" /></td>
</tr>
<tr>
<td width="10%">环节名称<font color="red">*</font>
</td>
<td><input style="width: 400px;" readonly type="text" name="name"
value="${callActivity.name}" id="name" /></td>
</tr>
<tr>
<td>贯穿流程<font color="red">*</font>
</td>
<td>
<input style="width: 400px;" type="text"
name="procDefName"
<c:choose>
<c:when test="${not empty callProcDefModel.procDefName}">
value="${callProcDefModel.procDefName}"
</c:when>
<c:otherwise>
value="请选择"
</c:otherwise>
</c:choose>
id="procDefName" readonly onclick="showMenu('procDefName','',''); return false;" />
<input style="width: 400px;" type="hidden"
name="calledElement" value="${callActivity.calledElement}" id="calledElement" />
</td>
</tr>
<tr>
<td>
环节处理类型:
</td>
<td>
<select name="activityDefDealType" id="activityDefDealType">
<option ${activityInfoConfig.activityDefDealType=='single'?'selected':''} value="single">单人处理</option>
<option ${activityInfoConfig.activityDefDealType=='multi'?'selected':''} value="multi">多人处理</option>
</select>
</td>
</tr>
<tr>
<td>
环节子类型:
</td>
<td>
<select name="activityDefChildType" id="activityDefChildType">
<option ${activityInfoConfig.activityDefChildType=='inside'?'selected':''} value="inside">内部流程</option>
<option ${activityInfoConfig.activityDefChildType=='through'?'selected':''} value="through">流程贯穿</option>
</select>
</td>
</tr>
<tr>
<td>备注:</td>
<td><textarea style="width: 600px; height: 80px"
name="documentation" id="documentation">${callActivity.documentation}</textarea></td>
</tr>
</table>
<!--
<div class="panel panel-primary">
<div class="panel-heading">贯穿流程属性映射</div>
<div class="panel-body">
<div class="form-group well well-sm">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td colspan="7">
<button type="button" class="btn btn-xs btn-success"
onclick="showDiaLog('${ctx}/actInfo/otherTask/createProperty.do?processDefId=${activityInfoConfig.processDefId}&activityDefId=${activityInfoConfig.activityDefId}','新增扩展属性','500px','300px')" />
新 增
</button>
<button type="button" id="deleteBtn" class="btn btn-xs btn-danger">删 除
</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"
onclick="setAllCheckboxState('sourceRefs',this.checked)"></th>
<th style="width: 300px">源流程变量名</th>
<th>目标程变量名</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${dataInputAssociations}"
var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="sourceRefs" value="${item.sourceRef}"></td>
<td>${item.sourceRef}&nbsp;</td>
<td>${item.targetRef}&nbsp;</td>
<td><a href="javascript:void(0);"
onclick="showDiaLog('${ctx}/actInfo/otherTask/editProperty.do?sourceRef=${item.sourceRef}','修改扩展属性','500px','300px')">修改</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</div> -->
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button id="submitButton" class="btn btn-sm btn-primary"
name="submitButton" type="button">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" class="btn btn-sm btn-primary"
onclick="art.dialog.close()">
<span class="icon_back">关闭</span>
</button>
</div>
</div>
</div>
</div>
</form>
<jsp:include page="../../../pages/procDefMgr/procDefTree.jsp" flush="false" />
</body>
</html>

View File

@@ -0,0 +1,133 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@ 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%>">
<link rel="stylesheet"
href="${ctx}/resource/js/plugins/codemirror/codemirror.css">
<link rel="stylesheet"
href="${ctx}/resource/js/plugins/codemirror/eclipse.css">
<style>
.CodeMirror {
/* Set height, width, borders, and global font properties here */
font-family: monospace;
height: 180px;
}
</style>
<script src="${ctx}/resource/js/plugins/codemirror/codemirror.js"></script>
<script src="${ctx}/resource/js/plugins/codemirror/clike.js"></script>
<script>
var javaEditor;
$(document).ready(function() {
javaEditor = CodeMirror.fromTextArea(document.getElementById("script"), {
lineNumbers: true,
matchBrackets: true,
//indentWithTabs: true,
// styleActiveLine: true,
theme:"eclipse",
// smartIndent: true,
// autofocus: true,
mode: "text/x-java"
});
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
//setMask("main-container");
$("#script").val(javaEditor.getValue());
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/editScriptTask.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.close();
}
});
});
});
function validate(){
var ruleScript=javaEditor.getValue();;
if(ruleScript==""){
alert("脚本内容不允许为空,请您重新输入!");
return ;
}
var url="${ctx}/actInfo/activityRule/validate.do?ruleScript="+ruleScript;
showDiaLog(url, '验证脚本', '600px', '300px');
}
</script>
<title>脚本编辑</title>
</head>
<body class="white-page">
<form action="${ctx}/actInfo/otherTask/editScriptTask.do" method="post"
id="myform">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="activityDefId"
value="${activityInfoConfig.activityDefId}" />
<input type="hidden" name="activityDefName"
value="${activityInfoConfig.activityDefName}" />
<input type="hidden" name="processDefId"
value="${activityInfoConfig.processDefId}" />
<input type="hidden" name="processDefName"
value="${activityInfoConfig.processDefName}" />
<input type="hidden" name="scriptFormat" value="groovy" />
<!-- 存放隐藏域的区域 -->
<input type="hidden" id="id" name="id" value="${scriptTask.id}" />
<!-- 存放表单的区域 -->
<tr>
<td width="20%">环节ID<font color="red">*</font>
</td>
<td><input type="text" name="name"
value="${scriptTask.id}" id="name" /></td>
</tr>
<tr>
<td>环节名称<font color="red">*</font>
</td>
<td><input style="width: 300px;" type="text" name="name"
value="${scriptTask.name}" id="name" /></td>
</tr>
<tr>
<td>脚本内容<font color="red">*</font>
</td>
<td><a href="javascript:void(0);" onclick="validate();">验证脚本</a>
<br /> <textarea name="script" id="script">${scriptTask.script}</textarea> <br />这个脚本需要使用返回语句(return)返回布尔值返回true流程将跳转到指定的节点。</td>
</tr>
<tr>
<td>备注:</td>
<td><textarea style="width: 600px; height: 80px"
name="documentation" id="documentation"></textarea></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button id="submitButton" class="btn btn-sm btn-primary"
name="submitButton" type="button">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" class="btn btn-sm btn-primary"
onclick="art.dialog.close()">
<span class="icon_back">关闭</span>
</button>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,203 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@ 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%>">
<script>
$(document).ready(function() {
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
//setMask("main-container");
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/editServiceTask.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.close();
}
});
});
$("#deleteBtn").click(function() {
if (!hasOneChecked("dorIds")) {
alert('请选择要操作的对象!');
return;
}
if (!window.confirm('确定执行[删除]操作?')) {
return;
}
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/deleteProperty.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
window.location.reload();
}
});
});
});
function procDefNameOnDbClick(name, value) {
$("#procDefName").val(name);
$("#procDefIdText").val(value);
}
</script>
<title>流程贯穿服务任务设置</title>
</head>
<body class="white-page">
<form action="${ctx}/actInfo/otherTask/editServiceTask.do" method="post"
id="myform">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="activityDefId"
value="${activityInfoConfig.activityDefId}" />
<input type="hidden" name="activityDefName"
value="${activityInfoConfig.activityDefName}" />
<input type="hidden" name="processDefId"
value="${activityInfoConfig.processDefId}" />
<input type="hidden" name="processDefName"
value="${activityInfoConfig.processDefName}" />
<input type="hidden" name="activityDefChildType" value="through" />
<!-- 存放隐藏域的区域 -->
<input type="hidden" id="id" name="id" value="${serviceTask.id}" />
<!-- 存放表单的区域 -->
<tr>
<td width="20%">环节ID<font color="red">*</font>
</td>
<td><input style="width: 400px;" type="text" name="name"
value="${serviceTask.id}" id="name" /></td>
</tr>
<tr>
<td width="10%">环节名称<font color="red">*</font>
</td>
<td><input style="width: 400px;" type="text" name="name"
value="${serviceTask.name}" id="name" /></td>
</tr>
<tr>
<td>贯穿流程<font color="red">*</font>
</td>
<td><input style="width: 400px;" type="text"
name="procDefName"
<c:choose>
<c:when test="${not empty throughProcDefModel.procDefName}">
value="${throughProcDefModel.procDefName}"
</c:when>
<c:otherwise>
value="请选择"
</c:otherwise>
</c:choose>
id="procDefName" readonly
onclick="showMenu('procDefName','',''); return false;" />
<input style="width: 400px;" type="hidden"
name="procDefIdText" value="${procDefIdText}" id="procDefIdText" />
</td>
</tr>
<tr>
<td>
环节处理类型:
</td>
<td>
<select name="activityDefDealType" id="activityDefDealType">
<option ${activityInfoConfig.activityDefDealType=='single'?'selected':''} value="single">单人处理</option>
<option ${activityInfoConfig.activityDefDealType=='multi'?'selected':''} value="multi">多人处理</option>
</select>
</td>
</tr>
<tr>
<td>备注:</td>
<td><textarea style="width: 600px; height: 80px"
name="documentation" id="documentation">${serviceTask.documentation}</textarea></td>
</tr>
</table>
<!--
<div class="panel panel-primary">
<div class="panel-heading">贯穿流程属性映射</div>
<div class="panel-body">
<div class="form-group well well-sm">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td colspan="7">
<button type="button" class="btn btn-xs btn-success"
onclick="showDiaLog('${ctx}/actInfo/otherTask/createProperty.do?processDefId=${activityInfoConfig.processDefId}&activityDefId=${activityInfoConfig.activityDefId}','新增扩展属性','500px','300px')" />
新 增
</button>
<button type="button" id="deleteBtn" class="btn btn-xs btn-danger">删 除
</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"
onclick="setAllCheckboxState('dorIds',this.checked)"></th>
<th style="width: 300px">源流程变量名</th>
<th>目标程变量名</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${dataObjectRelations}"
var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="dorIds" value="${item.dorId}"></td>
<td>${item.dataObject.objKey}&nbsp;</td>
<td>${item.dataObject.objValue}&nbsp;</td>
<td><a href="javascript:void(0);"
onclick="showDiaLog('${ctx}/actInfo/otherTask/editProperty.do?dorId=${item.dorId}','修改扩展属性','500px','300px')">修改</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</div> -->
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button id="submitButton" class="btn btn-sm btn-primary"
name="submitButton" type="button">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" class="btn btn-sm btn-primary"
onclick="art.dialog.close()">
<span class="icon_back">关闭</span>
</button>
</div>
</div>
</div>
</div>
</form>
<jsp:include page="../../../pages/procDefMgr/procDefTree.jsp" flush="false" />
</body>
</html>

View File

@@ -0,0 +1,67 @@
<%@ 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 type="text/javascript">
$(document).ready(function() {
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/saveProperty.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.opener.location.reload();
}
});
});
});
</script>
</head>
<body>
<form action="${ctx}/actInfo/otherTask/saveProperty.do"
method="post" id="myform">
<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">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="dataObject.objScope" id="objScope" value="P" />
<input type="hidden" name="processDefId" id="processDefId" value="${dataObjectRelation.processDefId}" />
<input type="hidden" name="activityDefId" id="activityDefId" value="${dataObjectRelation.activityDefId}" />
<input type="hidden" name="targetActId" id="targetActId" value="${dataObjectRelation.targetActId}" />
<input type="hidden" name="dorType" id="dorType" value="through" />
<input type="hidden" name="dataObject.objType" id="objType" value="string" />
<!-- 存放表单的区域 -->
<tr>
<td><font color="red">*</font>源流程变量名称:</td>
<td><input name="dataObject.objKey" id="objKey" value="" /></td>
</tr>
<tr>
<td><font color="red">*</font>目标流程变量名称:</td>
<td><input name="dataObject.objValue" id="objValue" value="" /></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<input type="button" class="btn btn-sm btn-primary"
id="submitButton" value="保 存" />
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,71 @@
<%@ 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 type="text/javascript">
$(document).ready(function() {
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/otherTask/updateProperty.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.opener.location.reload();
}
});
});
});
</script>
</head>
<body class="white-page">
<form action="${ctx}/actInfo/otherTask/updateProperty.do"
method="post" id="myform">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="dataObject.objScope" id="objScope" value="P" />
<input type="hidden" name="processDefId" id="processDefId" value="${dataObjectRelation.processDefId}" />
<input type="hidden" name="activityDefId" id="activityDefId" value="${dataObjectRelation.activityDefId}" />
<input type="hidden" name="targetActId" id="targetActId" value="${dataObjectRelation.targetActId}" />
<input type="hidden" name="dorType" id="dorType" value="through" />
<input type="hidden" name="dataObject.objName" id="objName" value="string" />
<input type="hidden" name="dataObject.objId" id="objId" value="${dataObjectRelation.dataObject.objId}" />
<input type="hidden" name="dorId" id="dorId" value="${dataObjectRelation.dorId}" />
<input type="hidden" name="dataObject.objType" id="objType" value="${dataObjectRelation.dataObject.objType}" />
<!-- 存放表单的区域 -->
<tr>
<td><font color="red">*</font>源流程变量名称:</td>
<td><input name="dataObject.objKey" id="objKey" value="${dataObjectRelation.dataObject.objKey}" /></td>
</tr>
<tr>
<td><font color="red">*</font>目标流程变量名称:</td>
<td><input name="dataObject.objValue" id="objValue" value="${dataObjectRelation.dataObject.objValue}" /></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<input type="button" class="btn btn-sm btn-primary"
id="submitButton" value="保 存" />
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,235 @@
<%@ 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%>">
<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 type="text/javascript">
$(document).ready(function() {
$("#deleteBtn").click(function() {
if (!hasOneChecked("expandPropertyIds")) {
alert('请选择要操作的对象!');
return;
}
if (!window.confirm('确定执行[删除]操作?')) {
return;
}
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/sequenceFlow/deleteProperty.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
window.location.reload();
}
});
});
$("#submitButton").click(function() {
//判断排序号是否为空并且是否为数字
var TRANSITION_DISPLAY_ORDER = $("#TRANSITION_DISPLAY_ORDER").val();
if(""==TRANSITION_DISPLAY_ORDER){
//alert("排序号不能为空!");
//return;
}else{
if(isNaN(TRANSITION_DISPLAY_ORDER)){
alert("排序号必须为数字!");
return;
}
}
//用jquery中的ajax方法向服务器提交请求
setMask("main-container");
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/sequenceFlow/update.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
window.location.reload();
}
});
});
});
</script>
</head>
<body class="white-page">
<form action="${ctx}/actInfo/sequenceFlow/update.do" method="post"
id="myform">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<div class="well well-sm">
<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>
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="id" value="${sequenceFlow.id}" />
<input type="hidden" name="procDefId" value="${procDefId}" />
<!-- 存放表单的区域 -->
<tr>
<td><font color="red">*</font>输出线ID</td>
<td>${sequenceFlow.id}</td>
</tr>
<tr>
<td>输出线名称
(展现在流程图中):</td>
<td><input name="name" id="name" value="${sequenceFlow.name}" style="width: 500px" type="text" /></td>
</tr>
<tr>
<td>下一环节别名:</td>
<td><input name="nextActAlias" id="nextActAlias"
value="${nextActAlias}" type="text" style="width: 500px"/></td>
</tr>
<tr>
<td>同组织级别过滤:</td>
<td>
<select name="ACTIVITY_USER_SAME_ORG_LEVEL" id="ACTIVITY_USER_SAME_ORG_LEVEL" style="width: 200px">
<option value="" ${sequenceFlow.ACTIVITY_USER_SAME_ORG_LEVEL==''?'selected':''}>--请选择--</option>
<option value="1" ${sequenceFlow.ACTIVITY_USER_SAME_ORG_LEVEL=='1'?'selected':''}>同公司</option>
<option value="2" ${sequenceFlow.ACTIVITY_USER_SAME_ORG_LEVEL=='2'?'selected':''}>同部门</option>
<option value="3" ${sequenceFlow.ACTIVITY_USER_SAME_ORG_LEVEL=='3'?'selected':''}>同级别组织</option>
</select>
</td>
</tr>
<tr>
<td>返回经办人:</td>
<td><select name="TRANSITION_RETURN_FORMER"
id="TRANSITION_RETURN_FORMER" style="width: 200px">
<option value="">--请选择--</option>
<c:forEach items="${activitys}" var="activity">
<option value="${activity.actDefId}"
${activity.actDefId==sequenceFlow.TRANSITION_RETURN_FORMER?"selected":""}>${activity.actDefName}</option>
</c:forEach>
</select></td>
</tr>
<tr>
<td>排序号:</td>
<td><input name="TRANSITION_DISPLAY_ORDER"
id="TRANSITION_DISPLAY_ORDER"
value="${sequenceFlow.TRANSITION_DISPLAY_ORDER}" type="text" /></td>
</tr>
</table>
<!--
<div class="panel panel-primary">
<div class="panel-heading">扩展属性</div>
<div class="panel-body">
<div class="form-group well well-sm">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td colspan="7">
<button type="button" class="btn btn-xs btn-success"
onclick="showDiaLog('${ctx}/actInfo/sequenceFlow/createProperty.do?procDefId=${procDefId}&sequenceFlowId=${sequenceFlow.id}','新增扩展属性','500px','300px')" />
新 增
</button>
<button type="button" id="deleteBtn" class="btn btn-xs btn-danger">删 除
</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"
onclick="setAllCheckboxState('expandPropertyIds',this.checked)"></th>
<th style="width: 300px">属性ID</th>
<th>属性名称</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${sequenceFlow.expandProperties}"
var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="expandPropertyIds"
value="${item.id }"></td>
<td>${item.id}&nbsp;</td>
<td>${item.value}&nbsp;</td>
<td><a href="javascript:void(0);"
onclick="showDiaLog('${ctx}/actInfo/sequenceFlow/editProperty.do?procDefId=${procDefId}&sequenceFlowId=${sequenceFlow.id}&expandPropertyId=${item.id }','修改扩展属性','500px','300px')">修改</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
<!--
<div class="box2" panelTitle="执行监听器列表" roller="false">
<table>
<tr>
<td colspan="7">
<button type="button" onclick="importProcessBpmnXml();" /> <span
class="icon_add">新增</span>
</button>
<button type="submit" /> <span class="icon_find">删除</span>
</button>
</td>
</tr>
</table>
<table class="tableStyle">
<tr>
<th>事件ID</th>
<th>事件类型</th>
<th>实现类型</th>
<th>实现类</th>
<th>操作</th>
</tr>
<c:forEach items="${userTask.outgoingFlows}" var="item"
varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td>${item.id}&nbsp;</td>
<td>${item.event}&nbsp;</td>
<td>${item.implementationType}&nbsp;</td>
<td>${item.implementation}&nbsp;</td>
<td>${item.documentation}&nbsp;</td>
<td><a href="javascript:void(0);" onclick="">修改</a></td>
</tr>
</c:forEach>
</table>
</div>
</div>
</div>
-->
</div></div></div>
</form>
</body>
</html>

View File

@@ -0,0 +1,106 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.bpmn.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="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_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() {
});
</script>
</head>
<body class="white-page">
<%@ include file="/commons/messages.jsp"%>
<form id="queryForm" name="queryForm"
action="${ctx}/actInfo/sequenceFlow/list.do" method="post"
style="display: inline;">
<input name="actId" id="actId" value="${userTask.id}" type="hidden"/>
<input name="procDefId" id="procDefId" value="${procDefId}" type="hidden"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<!-- <div class="form-group well well-sm">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td colspan="7">
<button onclick="art.dialog.close();" type="button" class="btn btn-xs btn-primary">
关闭
<i class="ace-icon fa fa-times bigger-110"></i>
</button>
</td>
</tr>
</table>
</div> -->
<div class="panel-body">
<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>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${userTask.outgoingFlows}" var="item"
varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td>${item.name}&nbsp;</td>
<td>${userTask.name}</td>
<td>${item.targetRefName}&nbsp;</td>
<td>
<a href="javascript:void(0);" onclick="showDiaLog('${ctx}/actInfo/sequenceFlow/edit.do?procDefId=${procDefId}&sequenceFlowId=${item.id}','${item.sourceRefName}->${item.targetRefName}-输出线','900px','600px')">编辑</a>
<a href="javascript:void(0);" onclick="showDiaLog('${ctx}/actInfo/activityRule/create.do?procDefId=${procDefId}&sourceActId=${userTask.id}&sourceActName=${userTask.name}&targetActId=${item.targetRef}&targetActName=${item.targetRefName}','${item.sourceRefName}->${item.targetRefName}-输出线-跳转规则配置','900px','600px')">跳转规则配置</a>
<a href="javascript:void(0);" onclick="showDiaLog('${ctx}/actInfo/activityResourceRule/create.do?procDefId=${procDefId}&sourceActId=${userTask.id}&sourceActName=${userTask.name}&targetActId=${item.targetRef}&targetActName=${item.targetRefName}','${item.sourceRefName}->${item.targetRefName}-输出线-人员规则配置','900px','600px')">人员规则配置</a>
<!-- <a href="javascript:void(0);" onclick="showDiaLog('${ctx}/dataObjectRelation/sequenceFlowList.do?processDefId=${procDefId}&activityDefId=${userTask.id}&&activityDefName=${userTask.name}&targetActId=${item.targetRef}&targetActName=${item.targetRefName}','${item.sourceRefName}->${item.targetRefName}-输出线-变量配置','900px','600px')">变量配置</a> -->
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<%@ 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 type="text/javascript">
$(document).ready(function() {
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/sequenceFlow/saveProperty.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.opener.location.reload();
}
});
});
});
</script>
</head>
<body>
<form action="${ctx}/actInfo/sequenceFlow/saveProperty.do"
method="post" id="myform">
<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">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="procDefId"
value="${procDefId}" />
<input type="hidden" name="sequenceFlowId"
value="${sequenceFlow.id}" />
<!-- 存放表单的区域 -->
<tr>
<td><font color="red">*</font>属性ID</td>
<td><input name="id" id="id" value="" /></td>
</tr>
<tr>
<td><font color="red">*</font>属性值:</td>
<td><input name="value" id="value" value="" /></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<input type="button" class="btn btn-sm btn-primary"
id="submitButton" value="保 存" />
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<%@ 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 type="text/javascript">
$(document).ready(function() {
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/actInfo/sequenceFlow/updateProperty.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.opener.location.reload();
}
});
});
});
</script>
</head>
<body>
<form action="${ctx}/actInfo/sequenceFlow/updateProperty.do"
method="post" id="myform">
<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">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="procDefId" value="${procDefId}" />
<input type="hidden" name="sequenceFlowId"
value="${sequenceFlow.id}" />
<input type="hidden" name="id" value="${expandProperty.id}" />
<!-- 存放表单的区域 -->
<tr>
<td><font color="red">*</font>属性ID</td>
<td>${expandProperty.id}</td>
</tr>
<tr>
<td><font color="red">*</font>属性值:</td>
<td><input name="value" id="value"
value="${expandProperty.value}" /></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<input type="button" class="btn btn-sm btn-primary"
id="submitButton" value="保 存" />
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,142 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.bpmn.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="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_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
<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 type="text/javascript">
$(document).ready(function() {
});
function createActUser(values,names,actId) {
var url="${ctx}/actInfo/setActResource/save.do";
setMask("main-container");
$.post(url, {"procDefId":$("#procDefId_"+actId).val(),"actId":$("#actId_"+actId).val(),"resourceStr":values},
function (data){
alert(data);
window.location.reload();
});
}
function deleteActUser(userTaskId) {
if (!hasOneChecked("resources_"+userTaskId)) {
alert('请选择要操作的对象!');
return;
}
if(!window.confirm('确定执行[删除]操作?')){
return;
}
setMask("main-container");
var url="${ctx}/actInfo/setActResource/deleteForResourcesManage.do";
var resources = getCheckedItem(userTaskId);
$.post(url,{"procDefId":$("#procDefId_"+userTaskId).val(),"actId":userTaskId,"resources":resources.toString()},
function (data){
alert(data);
window.location.reload();
}
);
}
function getCheckedItem(userTaskId){
var chk_value =[];
$('input[name="resources_'+userTaskId+'"]:checked').each(function(){
chk_value.push($(this).val());
});
//alert(chk_value.length==0 ?'你还没有选择任何内容!':chk_value);
return chk_value;
//alert(chk_value.length==0 ?'你还没有选择任何内容!':chk_value);
}
</script>
</head>
<body id="content" class="white-page">
<%@ include file="/commons/messages.jsp"%>
<form id="queryForm" name="queryForm"
action="${ctx}/actInfo/setActResource/setAllResourcelist.do" method="post"
style="width: 100%; height: 100%;display: inline;">
<div class="main-container" id="main-container" style="overflow: auto;width: 100%; height: 800px;">
<c:forEach items="${result}" var="item">
<input name="actId" id="actId_${item.userTask.id}" value="${item.userTask.id}" type="hidden"/>
<input name="procDefId" id="procDefId_${item.userTask.id}" value="${procDefId}" type="hidden"/>
<div class="panel panel-primary panel-1">
<div class="panel-heading">
当前节点:${item.userTask.name}(${item.userTask.id})
</div>
<div class="panel-body" style="padding:3px;">
<div class="well well-sm no-padding no-margin">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td colspan="6">
<button type="button" onclick="showDiaLog('${ctx}/pages/user_org_select.jsp?orgId=0&showTreeType=USER&actId=${item.userTask.id}', '新增环节人员', '850px', '600px');" class="btn btn-xs btn-success">
新&nbsp;&nbsp;增
<i class="ace-icon fa fa-plus bigger-110"></i>
</button>
<button type="button" onclick="deleteActUser('${item.userTask.id}');" class="btn btn-xs btn-danger">
删&nbsp;&nbsp;除
<i class="ace-icon fa fa-trash-o bigger-110"></i>
</button>
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12">
<div class="table-responsive no-padding no-margin">
<table id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th style="width:25px;"><input type="checkbox" onclick="setAllCheckboxState('resources_${item.userTask.id}',this.checked)"></th>
<th style="width: 100px;">资源类型</th>
<th>资源名称</th>
<th style="width: 200px;">资源值</th>
</tr>
</thead>
<tbody>
<c:forEach items="${item.activityResources}" var="item1" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="resources_${item.userTask.id}" value="${item1.type}#${item1.id}"></td>
<td>${item1.parentId}</td>
<td>${item1.name}&nbsp;</td>
<td>${item1.remark}</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</c:forEach>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,153 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.bpmn.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="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_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
<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 type="text/javascript">
$(document).ready(function() {
});
function createActUser(values,names) {
var url="${ctx}/actInfo/setActResource/save.do";
setMask("main-container");
$.post(url, {"procDefId":$("#procDefId").val(),"actId":$("#actId").val(),"resourceStr":values},
function (data){
alert(data);
window.location.reload();
});
}
function deleteActUser() {
if (!hasOneChecked("resources")) {
alert('请选择要操作的对象!');
return;
}
if(!window.confirm('确定执行[删除]操作?')){
return;
}
setMask("main-container");
var url="${ctx}/actInfo/setActResource/delete.do";
$.post(url,$('#queryForm',document).serialize(),
function (data){
alert(data);
window.location.reload();
}
);
}
</script>
</head>
<body id="content" class="white-page">
<%@ include file="/commons/messages.jsp"%>
<c:if test="${opDataSource=='true'}">
<div class="alert alert-block alert-info">
<button type="button" class="close" data-dismiss="alert">
<i class="ace-icon fa fa-times"></i>
</button>
新建、删除资源后请点击发布流程按钮:<button type="button" onclick="postAjax('${ctx}/procDefMgr/releaseProcess.do?procDefId=${procDefId}','发布成功!',false,true);" class="btn btn-xs btn-success">
发&nbsp;&nbsp;布
</button>
</div>
</c:if>
<form id="queryForm" name="queryForm"
action="${ctx}/actInfo/setActResource/list.do" method="post"
style="display: inline;">
<input name="actId" id="actId" value="${userTask.id}" type="hidden"/>
<input name="procDefId" id="procDefId" value="${procDefId}" type="hidden"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body" style="padding:3px;">
<div class="well well-sm" style="margin: 0 0 5px 10px !important;padding: 0 !important;">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td colspan="7">
<button type="button" onclick="showDiaLog('${ctx}/pages/user_org_select.jsp?orgId=0&showTreeType=USER', '新增环节人员', '850px', '600px');" class="btn btn-xs btn-success">
新&nbsp;&nbsp;增
<i class="ace-icon fa fa-plus bigger-110"></i>
</button>
<button type="button" onclick="deleteActUser();" class="btn btn-xs btn-danger">
删&nbsp;&nbsp;除
<i class="ace-icon fa fa-trash-o bigger-110"></i>
</button>
<!-- <button onclick="art.dialog.close();" type="button" class="btn btn-xs btn-primary">
关闭
<i class="ace-icon fa fa-times bigger-110"></i>
</button> -->
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12">
<div class="table-responsive" style="margin: 0 0 0 10px !important;padding: 0!important;">
<table id="sample-table-1"
class="table table-striped table-bordered table-hover form-table">
<thead>
<tr>
<th style="width:25px;"><input type="checkbox" onclick="setAllCheckboxState('resources',this.checked)"></th>
<th>资源类型</th>
<th>资源名称</th>
<th>资源值</th>
</tr>
</thead>
<tbody>
<c:forEach items="${activityResources}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="resources" value="${item.type}#${item.id}"></td>
<td>${item.parentId}</td>
<td>${item.name}&nbsp;</td>
<td>
<c:choose>
<c:when test="${item.type=='ROLE'}">
<a href="javascript:void(0);" onclick="showDiaLog('${ctx}/pages/role_user_select.jsp?showTreeType=USER&roleId=${item.id}', '角色关联成员列表', '764px', '494px');">${item.remark}</a>
</c:when>
<c:otherwise>
${item.remark }
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<%@ 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>
<script>
function changeHref(id,srcStr){
//alert(id);
document.getElementById(id).src=srcStr;
}
$(function(){
$("#tabs4").switchable("#panels4 >div",{
triggerType:"click",
effect:"iframe"
});
})
</script>
</head>
<body>
<div class="position">
<div class="center">
<div class="left">
<div class="right">
<span>当前位置:流程管理 >> 已部署流程定义</span>
</div>
</div>
</div>
</div>
<div id="tabs4" class="tabs-trigger" style="width: 100%;">
<div class="tabs-triggerLeft">
<div class="tabs-triggerRight">
<a id="UserContract"
onclick="changeHref('frmrightChild','${ctx}/activityInfoConfig/edit.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}');"
href="" target="frmrightChild" class="current">环节基础信息</a>
<a id="UserEvent" href=""
onclick="changeHref('frmrightChild','${ctx}/activityInfoConfig/actOperatePowerList.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}');"
target="frmrightChild">环节操作权限</a>
<a id="UserEducation" href=""
onclick="changeHref('frmrightChild','${ctx}/activityInfoConfig/edit.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}')"
; target="frmrightChild">环节变量配置</a>
<button type="submit" onclick="art.dialog.close();">
<span class="icon_close">关闭</span>
</button>
</div>
</div>
</div>
</div>
<div id="panels4" class="tabs-panel"
style="width: 100%; height: 100%;">
<IFRAME style="width: 100%; height: 450px;" scrolling="no"
src="${ctx}/activityInfoConfig/edit.do?activityDefId=${activityInfoConfig.activityDefId}&processDefId=${activityInfoConfig.processDefId}"
frameBorder="0" id="frmrightChild" name="frmrightChild: onload="
iframeHeight('frmrightChild')" allowTransparency="true"></IFRAME>
</div>
</body>
</html>
<script>
$(function(){
setTimeout(showCode,1000)
})
function showCode(){
top.Dialog.close();
}
</script>

View File

@@ -0,0 +1,104 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.bpmn.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="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_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() {
});
function selectUserResource(){
var userResourceType=$(".userResourceType").val();
if(userResourceType=="user"){
showDiaLog(url, "修改环节人员", '800px', '600px');
}else if(userResourceType=="role"){
showDiaLog(url, "修改环节人员", '800px', '600px');
}else if(userResourceType=="org"){
showDiaLog(url, "修改环节人员", '800px', '600px');
}else if(userResourceType=="tableVal"){
alert("暂不支持该选项");
}else if(userResourceType=="script"){
alert("暂不支持该选项");
}
}
</script>
</head>
<body class="white-page">
<%@ include file="/commons/messages.jsp"%>
<form id="procDefForm" name="procDefForm"
action="${ctx}/procDefMgr/list.do" method="post"
style="display: inline;">
<div class="box2" panelTitle="" roller="false">
<table>
<tr>
<td colspan="7">
<button type="button" onclick="importProcessBpmnXml();"/>
<span class="icon_add">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="submit"/>
<span class="icon_find">取消</span>
<i class="ace-icon fa fa-undo icon-on-right bigger-110"></i>
</button>
</td>
</tr>
</table>
</div>
<table class="tableStyle">
<tr>
<th width="60px">序号</th>
<th width="200px">用户类型</th>
<th>用户来源</th>
</tr>
<tr>
<td>1&nbsp;</td>
<td>
<select id="userResourceType" name="userResourceType">
<option id="user">用户</option>
<option id="role">角色</option>
<option id="org">组织</option>
<option id="tableVal">表单变量</option>
<option id="script">脚本</option>
</select>
</td>
<td>
<textarea name="userResourceVal" style="width:350px;height:50px;">
</textarea>
<button type="button" onclick="selectUserResource();"/>
<span class="icon_find">选择</span>
</button>
</td>
</tr>
</table>
</form>
</body>
</html>

View File

@@ -0,0 +1,162 @@
<%@ 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 type="text/javascript">
function createActUser(values, names) {
$("#appManagerIds").val(values.replace(/USER#/g, ""));
$("#appManagerNames").val(names);
}
function createApp() {
$.ajax({
type : 'POST',
url : '${ctx}/applicationMgr/save.do',
data : $('#myform').serialize(),
success : function (result){
alert(result);
art.dialog.opener.location.reload();
}
});
}
$(function(){
var demo=$("#myform").Validform({
datatype:{"appId": /^\w+$/},
tiptype:function(msg,o,cssctl){
var b = true;
//msg提示信息;
//o:{obj:*,type:*,curform:*}, obj指向的是当前验证的表单元素或表单对象type指示提示的状态值为1、2、3、4 1正在检测/提交数据2通过验证3验证失败4提示ignore状态, curform为当前form对象;
//cssctl:内置的提示信息样式控制函数,该函数需传入两个参数:显示提示信息的对象 和 当前提示的状态既形参o中的type;
if(o.type==3){
if(msg.indexOf("statusText")<0){
//排除掉提交完成后返回的状态字符串
alert(msg);
b = false;
return b;
}
}
return b;
},
callback:function(data){
if('操作成功' == data.statusText){
alert("操作成功");
art.dialog.opener.location.reload();
}else{
alert("操作失败");
}
},
ajaxPost:true
});
$("#submitButton").click(function(){
demo.ajaxPost();
return false;
});
//$('#appId').keyup(trimkeyup);
})
</script>
</head>
<body class="white-page">
<form id="myform" action="${ctx}/applicationMgr/save.do">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table border="0" cellspacing="0" cellpadding="0" class="table table-bordered form-table" id="myTable">
<!-- 存放表单的区域 -->
<tr>
<th>系统标识:<font color="red">*</font></th>
<td>
<input type="text" name="appId" id="appId"
datatype="appId" nullmsg="请输入系统标识!" errormsg="系统标识只能输入字母、数字、下划线!"、
onKeypress="javascript:if(event.keyCode == 32)event.returnValue = false;"/>
</td>
<th>系统名称:<font color="red">*</font>
</th>
<td>
<input type="text" name="appName" id="appName" class="validate[required,length[0,50]]"
datatype="*1-50" nullmsg="请输入系统名称!" errormsg="系统名称不能超过12个字符"/>
</td>
</tr>
<tr>
<th>系统分类:</th>
<td><select id="appType" name="appType">
<option value="inner">内部应用</option>
<option value="outside">外部应用</option></select></td>
<th>系统状态:<font color="red">*</font>
</th>
<td><select id="appStatus" name="appStatus">
<option value="N">正常</option>
<option value="T">已停用</option></select></td>
</tr>
<tr>
<th>开发厂商:<font color="red">*</font>
</th>
<td>
<input type="text" name="appProvider" id="appProvider" class="input"
datatype="*1-30" nullmsg="请输入开发厂商!" errormsg="开发厂商不能超过30个字符"/>
</td>
<th><u
onclick="showDiaLog('${ctx}/pages/user_org_select.jsp?showTreeType=USER&isMultiSelect=true&roleFlag=false&orgId=0', '添加管理人员', '800px', '500px');"
style="cursor: pointer;">管理员</u><font color="red">*</font></th>
<td><input type="text" name="appManagerNames" id="appManagerNames" class="input"
readonly="readonly" datatype="*1-500" nullmsg="请选择管理员!"/>
<input type="hidden" name="appManagerIds" id="appManagerIds" class="input" /></td>
</tr>
<!--
<tr>
<th>待办URL<font color="red">*</font></th>
<td colspan="3"><input type="text" name="appAccessUrl"
value="${ application.appAccessUrl}" id="appAccessUrl"
datatype="url" nullmsg="请输入待办URL" errormsg="请输入正确的url地址"
class="input" style="width: 99%;"/></td>
</tr> -->
<tr>
<th>联系人:</th>
<td>
<input type="text" name="appLinkman" id="appLinkman" class="input" />
</td>
<th>联系电话:</th>
<td><input type="text" name="appPhone" id="appPhone" class="input" />
</td>
</tr>
<tr>
<th>服务器IP列表</th>
<td colspan="3"><input type="text" name="ipList" id="ipList" class="input" style="width:99%;" /></td>
</tr>
<tr>
<th>系统描述:</th>
<td colspan="3"><input type="text" name="appDesc" id="appDesc" class="input" style="width: 99%;"/></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<!-- <input type="button" class="btn btn-sm btn-primary"
id="submitButton" name="submitButton" onclick="createApp();"
value="保 存" />-->
<button type="button" class="btn btn-sm btn-primary"
id="submitButton" name="submitButton">
保存
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,149 @@
<%@ 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 type="text/javascript">
function createActUser(values, names) {
$("#appManagerIds").val(values.replace(/USER#/g, ""));
$("#appManagerNames").val(names);
}
function updateApp(){
$.post('${ctx}/applicationMgr/update.do',$('#myform').serialize(),function(result){
alert(result);
art.dialog.opener.location.reload();
});
}
$(function(){
var demo = $("#myform").Validform({
tiptype:function(msg,o,cssctl){
var b = true;
//msg提示信息;
//o:{obj:*,type:*,curform:*}, obj指向的是当前验证的表单元素或表单对象type指示提示的状态值为1、2、3、4 1正在检测/提交数据2通过验证3验证失败4提示ignore状态, curform为当前form对象;
//cssctl:内置的提示信息样式控制函数,该函数需传入两个参数:显示提示信息的对象 和 当前提示的状态既形参o中的type;
if(o.type==3){
if(msg.indexOf("statusText")<0){
//排除掉提交完成后返回的状态字符串
alert(msg);
b = false;
return b;
}
}
return b;
},
callback:function(data){
if('操作成功' == data.statusText){
alert("操作成功");
art.dialog.opener.location.reload();
}else{
alert("操作失败");
}
},
ajaxPost:true
});
$("#submitButton").click(function(){
demo.ajaxPost();
return false;
});
})
</script>
</head>
<body class="white-page">
<form action="${ctx}/applicationMgr/update.do" id="myform" name="myform" method="post">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table border="0" cellspacing="0" cellpadding="0" class="table table-bordered form-table" id="myTable">
<!-- 存放表单的区域 -->
<tr>
<th>系统标识:<font color="red">*</font></th>
<td><input type="text" name="appId" name="appId"
value="${ application.appId}" readonly="readonly"
datatype="s1-50" nullmsg="请输入系统标识!" errormsg="系统标识不能超过50个字符"/></td>
<th>系统名称:<font color="red">*</font>
</th>
<td><input type="text" name="appName"
value="${ application.appName}" id="appName"
class="validate[required,length[0,50]]"
datatype="*1-50" nullmsg="请输入系统名称!" errormsg="系统名称不能超过12个字符"/></td>
</tr>
<tr>
<th>系统分类:</th>
<td><select id="appType" name="appType"
value="${application.appType }"><option value="inner">内部应用</option>
<option value="outside">外部应用</option></select></td>
<th>系统状态:<font color="red">*</font>
</th>
<td><select id="appStatus" name="appStatus"
value="${application.appStatus }"><option value="N">正常</option>
<option value="T">已停用</option></select></td>
</tr>
<tr>
<th>开发厂商:<font color="red">*</font>
</th>
<td><input type="text" name="appProvider"
value="${application.appProvider }" id="appProvider"
datatype="*1-30" nullmsg="请输入开发厂商!" errormsg="开发厂商不能超过30个字符"
class="input" /></td>
<th><u
onclick="showDiaLog('${ctx}/pages/user_org_select.jsp?showTreeType=USER&isMultiSelect=true&roleFlag=false&orgId=0', '添加管理人员', '800px', '500px');"
style="cursor: pointer;">管理员</u><font color="red">*</font></th>
<td><input type="text" name="appManagerNames" id="appManagerNames" class="input"
readonly="readonly" datatype="*1-500" nullmsg="请选择管理员!"
value="${application.managerNames }" readonly="readonly"/>
<input type="hidden" name="appManagerIds" id="appManagerIds" value="${application.managerIds }" class="input" /></td>
</tr>
<!--
<tr>
<th>待办URL<font color="red">*</font></th>
<td colspan="3"><input type="text" name="appAccessUrl"
value="${ application.appAccessUrl}" id="appAccessUrl"
datatype="*" nullmsg="请输入待办URL" errormsg="请输入正确的url地址"
class="input" style="width: 99%;"/></td>
</tr>
-->
<tr>
<th>联系人:</th>
<td><input type="text" name="appLinkman"
value="${application.appLinkman }" id="appLinkman" class="input" />
</td>
<th>联系电话:</th>
<td><input type="text" name="appPhone"
value="${application.appPhone }" id="appPhone" class="input" />
</td>
</tr>
<tr>
<th>服务器IP列表</th>
<td colspan="3"><input type="text" name="ipList" id="ipList" class="input" style="width:99%;" value="${application.ipList }" /></td>
</tr>
<tr>
<th>系统描述:</th>
<td colspan="3"><input type="text" name="appDesc"
value="${application.appDesc }" id="appDesc" class="input" style="width: 99%;"/></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,139 @@
<%@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">
$(document).ready(function() {
// 分页需要依赖的初始化动作
window.simpleTable = new SimpleTable('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
jQuery.ajax({
type: "get",
url: "https://api.hngytobacco.com/user-center/user/p_longw",
data: {},
headers: {
'Authorization': "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJnTlJqS1paaFdGQ05VbFNMd2RqTEFSR0FBZ3hqa2NrNyIsImV4cCI6MTU4NDAxNjc0NX0.Bv_9tqZvCmN29jDCuVv3QPWTHGnE5PBfg0DgWtiVWShPtXUKZQtdDW9iDAKpfiPa_nvNRxzSowiCs7DekbejEhISkayWAyctQvi24fK-NiP9PVNnZF2AjAGx0mjLPLNblqJwc5nTwJQY83VPn0Fs2cCS5esTncH6U_behFjoDMc"
},
success: function(resp)
{
alert(JSON.stringify(resp));
}
});
});
function createApplication(){
var url="${ctx}/applicationMgr/create.do";
showDiaLog(url,"添加应用",'800px','450px');
}
function onDelete(action, radioName, form){
if (!hasOneChecked(radioName)) {
alert('请选择要操作的对象!');
return;
}
if(window.confirm('确定执行[删除]操作?')){
setMask("main-container");
form.action = action;
form.submit();
}
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="queryForm" name="queryForm"
action="${ctx}/applicationMgr/list.do" method="post"
style="display: inline;">
<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>应用名称:</td>
<td><input value="${query.appName}" id="appName"
name="appName" maxlength="50" /></td>
<td><button type="submit" onclick="getReferenceForm(this).action='${ctx}/applicationMgr/list.do'"class="btn btn-xs btn-primary">查询
<i class="ace-icon fa fa-search bigger-110"></i></button>
<button type="button" onclick="createApplication();" class="btn btn-xs btn-success">添加应用
<i class="ace-icon fa fa-plus bigger-110"></i></button>
<button type="button" onclick="onDelete('${ctx}/applicationMgr/delete.do','items',document.forms.queryForm)" class="btn btn-xs btn-success"">删除应用
<i class="ace-icon fa fa-trash-o bigger-110"></i>
</button>
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<div style="width: 100%;overflow: auto;">
<table style="width: inherit;max-width: 600%;table-layout: fixed;" id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th style="width: 20px"></th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th style="width: 120px" sortColumn="appId">应用ID</th>
<th style="width: 120px" sortColumn="appName">应用名称</th>
<th style="width: 120px" sortColumn="appProvider">开发商</th>
<th style="width: 120px" sortColumn="appStatus">应用状态</th>
<th style="width: 120px" sortColumn="appUrl">待办URL</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" value="appId=${item.appId}"></td>
<td><a href="javascript:void(0);" onclick="showDiaLog('${ctx}/applicationMgr/edit.do?appId=${item.appId }', '修改应用', '800px','450px');">${item.appId}</a>&nbsp;</td>
<td>${item.appName}&nbsp;</td>
<td>${item.appProvider}&nbsp;</td>
<td>${item.statusVal }&nbsp;</td>
<td>${item.appAccessUrl}&nbsp;</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<simpletable:pageToolbar page="${page}">
</simpletable:pageToolbar>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,172 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/commons/taglibs.jsp"%>
<%
String processInstanceId = request
.getParameter("processInstanceId");
%>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%@ include file="/commons/meta.jsp"%>
<script type="text/javascript">
function procDefNameOnDbClick(name, value) {
$("#procDefName").val(name);
$("#procDefKey").val(value);
}
function changeHref(id, srcStr, currentType) {
if ("image" == currentType) {
var height = "${height}";
$("#frmrightChild").height(parseInt(height) + 100);
}
document.getElementById(id).src = srcStr;
}
function selectTag(showContent, selfObj, currentType) {
//当前展示的是文本监控还是图形监控页面标记text为文本监控页面 image为图形监控页面
$("#currentType").val(currentType);
var currentProcessInstanceId = $("#currentProcessInstanceId").val();
showContent = showContent
+ (showContent.indexOf("?") != -1 ? '&' : '?')
+ "processInstanceId=" + currentProcessInstanceId;
// 操作标签
var tag = document.getElementById("tags").getElementsByTagName("li");
var taglength = tag.length;
for (i = 0; i < taglength; i++) {
tag[i].className = "";
}
selfObj.parentNode.className = "selectTag";
changeHref("frmrightChild", showContent, currentType);
}
function moveLeft() {
var left = $("tags").style.left;
left = left && parseInt(left) || 0;
if (left < 0) {
$("tags").style.left = left + 95 + "px";
}
}
function moveRight() {
var left = $("tags").style.left;
left = left && parseInt(left) || 0;
$("tags").style.left = left - 95 + "px";
}
$(function() {
var currentProcessInstanceId = $("#currentProcessInstanceId").val();
});
function flushFlowLog(processInstanceId) {
$("#currentProcessInstanceId").val(processInstanceId);
var currentType = $("#currentType").val();
if ("text" == currentType) {
document.getElementById("frmrightChild").src = "${ctx}/workflow/trace/traceByText.do?processInstanceId="
+ processInstanceId;
} else {
document.getElementById("frmrightChild").src = "${ctx}/workflow/trace/traceByImage.do?processInstanceId="
+ processInstanceId
+ "&imageHeight="
+ "600"
+ "&imageWidth=" + "1200";
}
}
</script>
<title>流程监控</title>
</head>
<body class="no-skin">
<jsp:include page="../../pages/procDefMgr/procDefTree.jsp" flush="false" />
<input type="hidden" id="currentProcessInstanceId"
value="${processInstance.procInstId}" />
<div class="main-container" id="main-container">
<div class="main-content">
<!-- /section:basics/content.breadcrumbs -->
<div class="page-content">
<!-- #section:settings.box -->
<!-- /section:settings.box -->
<div class="page-content-area">
<div class="row">
<div class="col-xs-12">
<!-- PAGE CONTENT BEGINS -->
<form method="post" action="autoRun.do">
<table width="100%">
<tr>
<td colspan="2">
<div class="panel-heading"
style="color: #FFF; background-color: #428BCA; border-color: #428BCA; padding: 2px 15px;">
<tr>
<td>发起用户(选择)<font color="red">*</font>
<input style="width: 400px;" type="text" name="procStartUserId" id="procStartUserId"/>
<input style="width: 400px;" type="hidden" name="123" id="333"/>
</td>
</tr>
<tr>
<td>选择自动运行流程<font color="red">*</font>
<input style="width: 400px;" type="text" name="procDefName" id="procDefName" readonly onclick="showMenu('procDefName','',''); return false;" />
<input style="width: 400px;" type="hidden"
name="procDefKey" value="" id="procDefKey" />
<input type="submit" class="btn btn-sm btn-primary"
id="submitButton" value="继续运行" />
<input type="submit" class="btn btn-sm btn-primary"
id="submitButton" value="停止" />
</td>
</tr>
</div>
</td>
</tr>
<tr>
<td valign="top" align="left" id="rightPart">
<div class="tabbable">
${processInstance.procTitle}
<ul
class="nav nav-tabs padding-12 tab-color-blue background-blue"
id="tags">
<li class="active"><a id="UserContract"
data-toggle="tab"
onclick="selectTag('${ctx}/workflow/trace/traceByText.do',this,'text');"
href="" target="frmrightChild" class="current">文本监控</a></li>
<li><a id="UserEvent" href="" data-toggle="tab"
onclick="selectTag('${ctx}/workflow/trace/traceByImage.do?imageHeight=600&imageWidth=1200',this,'image');"
target="frmrightChild">图形监控</a></li>
</ul>
<div class="tab-content" style="width: 100%; height: 100%;">
<IFRAME scrolling="yes" frameBorder=0 id="frmrightChild"
src="" name="frmrightChild"
style="width: 99%; min-height: 400px;"
allowTransparency="true">
</div>
</div>
</td>
</tr>
</table>
</form>
<!-- PAGE CONTENT ENDS -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</div>
<!-- /.page-content-area -->
</div>
<!-- /.page-content -->
</div>
<!-- /.main-container -->
</body>
</html>

View File

@@ -0,0 +1,90 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@ 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 type="text/javascript">
$(function(){
$("#myform").Validform({
tiptype:4,
datatype:{"objKey": /^\w+$/},
btnSubmit:"#submitButton"
});
//$('#objKey').keyup(trimkeyup);
})
</script>
</head>
<body>
<form action="${ctx}/dataObject/save.do" method="post" id="myform">
<div class="main-container" id="main-container">
<div class="panel-heading">新增全局属性</div>
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放表单的区域 -->
<input type="hidden" name="objScope" id="objScope" value="G" />
<tr>
<th>属性KEY<font color="red">*</font>
</th>
<td><input type="text" name="objKey" value="" id="objKey"
datatype="objKey" nullmsg="请输入变量KEY" errormsg="变量KEY只能输入字母、数字以及下划线"
class="input"
onKeypress="javascript:if(event.keyCode == 32)event.returnValue = false;"/>
</td>
</tr>
<tr>
<th>属性名称<font color="red">*</font>
</th>
<td><input type="text" name="objName" value="" id="objName"
datatype="*1-12" nullmsg="请输入变量名称!" errormsg="变量名称不能超过12个汉字"
class="input" /></td>
</tr>
<tr>
<th>属性值<font color="red">*</font>
</th>
<td><input type="text" name="objValue" value=""
datatype="s1-500" nullmsg="请输入变量值!" errormsg="变量值不能超过500个字符"
id="objValue" class="input" /></td>
</tr>
<tr>
<th>属性类型<font color="red">*</font>
</th>
<td><input type="text" name="objType" value="" id="objType"
datatype="s1-50" nullmsg="请输入变量类型!" errormsg="变量类型不能超过50个字符"
class="input" /></td>
</tr>
<tr>
<th>备注:</th>
<td><input type="text" name="objRemark" value=""
id="objRemark" class="input" /></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<a class="btn btn-sm btn-primary" id="submitButton">保存
<i class="ace-icon fa fa-save bigger-110"></i></a>
<a class="btn btn-sm btn-primary"
onclick="window.location='${ctx}/dataObject/list.do'">返回
<i class="ace-icon fa fa-undo icon-on-right bigger-110"></i></a>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,92 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@ 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 type="text/javascript">
$(function(){
$("#myform").Validform({
tiptype:4,
datatype:{"objKey": /^\w+$/},
btnSubmit:"#submitButton"
});
//$('#objKey').keyup(trimkeyup);
})
</script>
</head>
<body>
<form action="${ctx}/dataObject/update.do" method="post" id="myform">
<div class="main-container" id="main-container">
<div class="panel-heading">编辑全局属性</div>
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="objScope" id="objScope" value="G" />
<input type="hidden" id="objId" name="objId"
value="${dataObject.objId}" />
<!-- 存放表单的区域 -->
<tr>
<th>属性KEY<font color="red">*</font>
</th>
<td><input type="text" name="objKey"
value="${dataObject.objKey}" id="objKey" class="input"
datatype="objKey" nullmsg="请输入变量KEY" errormsg="变量KEY只能输入字母、数字以及下划线"
onKeypress="javascript:if(event.keyCode == 32)event.returnValue = false;"/>
</td>
</tr>
<tr>
<th>属性名称<font color="red">*</font>
</th>
<td><input type="text" name="objName"
value="${dataObject.objName}" id="objName" class="input"
datatype="*1-12" nullmsg="请输入变量名称!" errormsg="变量名称不能超过12个汉字"/></td>
</tr>
<tr>
<th>属性值<font color="red">*</font>
</th>
<td><input type="text" name="objValue"
value="${dataObject.objValue}" id="objValue" class="input"
datatype="s1-500" nullmsg="请输入变量值!" errormsg="变量值不能超过500个字符"/></td>
</tr>
<tr>
<th>属性类型<font color="red">*</font>
</th>
<td><input type="text" name="objType"
value="${dataObject.objType}" id="objType" class="input"
datatype="s1-50" nullmsg="请输入变量类型!" errormsg="变量类型不能超过50个字符"/></td>
</tr>
<tr>
<th>备注:</th>
<td><input type="text" name="objRemark"
value="${dataObject.objRemark}" id="objRemark" class="input" /></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<a class="btn btn-sm btn-primary" id="submitButton"
onclick="javascript:getReferenceForm(this).submit();">保存
<i class="ace-icon fa fa-save bigger-110"></i></a>
<a class="btn btn-sm btn-primary"
onclick="window.location='${ctx}/dataObject/list.do'">返回
<i class="ace-icon fa fa-undo icon-on-right bigger-110"></i></a>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,120 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@page import="com.blueland.bpm.common.page.*" %>
<%@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_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('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
});
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/dataObject/list.do" method="get" style="display: inline;">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
全局变量管理
</div>
<div class="panel-body">
<div class="form-group well well-sm" style="margin-bottom: 2px;">
<table border="0" cellspacing="0" cellpadding="0" class="table-search">
<tr>
<td>变量名称:</td>
<td>
<input class="input" value="${query.objName}" id="objName" name="objName" maxlength="50" />
</td>
<td>变量类型:</td>
<td>
<input class="input" value="${query.objType}" id="objType" name="objType" maxlength="5" />
</td>
</tr>
<tr>
<td colspan="7">
<button type="submit" class="btn btn-xs btn-primary"
onclick="getReferenceForm(this).action='${ctx}/dataObject/list.do'">查&nbsp;&nbsp;询
<i class="ace-icon fa fa-search bigger-110"></i>
</button>
<button type="submit" class="btn btn-xs btn-success" onclick="getReferenceForm(this).action='${ctx}/dataObject/create.do'">
新增
<i class="ace-icon fa fa-plus bigger-110"></i>
</button>
<button type="button" class="btn btn-xs btn-danger"
onclick="batchDelete('${ctx}/dataObject/delete.do','items',document.forms.queryForm)">删&nbsp;&nbsp;除
<i class="ace-icon fa fa-trash-o 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" onclick="setAllCheckboxState('items',this.checked)"></th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="objKey" >变量KEY</th>
<th sortColumn="objName" >变量名称</th>
<th sortColumn="objValue" >变量值</th>
<th sortColumn="objType" >变量类型</th>
<th sortColumn="objRemark" >备注</th>
<th>操作</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" value="objId=${item.objId}&"></td>
<td>${item.objKey}&nbsp;</td>
<td>${item.objName}&nbsp;</td>
<td>${item.objValue}&nbsp;</td>
<td>${item.objType}&nbsp;</td>
<td>${item.objRemark}&nbsp;</td>
<td>
<a href="${ctx}/dataObject/edit.do?objId=${item.objId}&">修改</a>
</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,116 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@page import="com.blueland.bpm.common.page.*" %>
<%@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_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('queryForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
});
function delObj(){
if (!hasOneChecked("items")) {
alert('请选择要操作的对象!');
return;
}
if(window.confirm('确定执行[删除]操作?')){
jQuery.ajax({
type : "POST",
url : "${ctx}/dataObjectRelation/delete.do",
data : $('#queryForm').serialize(),
success : function(resp) {
alert(resp);
window.location.reload();
}
});
}
}
</script>
</head>
<body class="white-page">
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/dataObjectRelation/list.do" method="get" style="display: inline;">
<div class="panel panel-primary">
<div class="panel-body">
<div class="form-group well well-sm">
<table border="0" cellspacing="0" cellpadding="0" class="table-search">
<tr>
<td colspan="7">
<button type="button" class="btn btn-xs btn-success" onclick="showDiaLog('${ctx}/dataObjectRelation/create.do?processDefId=${query.processDefId}&activityDefId=${query.activityDefId}&dorType=A','新增环节变量','600px','400px')">
新增
<i class="ace-icon fa fa-plus bigger-110"></i>
</button>
<button type="button" class="btn btn-xs btn-danger" onclick="delObj();">
删除
<i class="ace-icon fa fa-trash-o bigger-110"></i>
</button>
<!-- <a class="btn btn-xs btn-primary" onclick="art.dialog.close();">关闭
<i class="ace-icon fa fa-times 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 form-table">
<thead>
<tr>
<th style="width:25px;"><input type="checkbox" onclick="setAllCheckboxState('items',this.checked)"></th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="objKey" >变量KEY</th>
<th sortColumn="objName" >变量名称</th>
<th sortColumn="objValue" >变量值</th>
<th sortColumn="objType" >变量类型</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${dataObjectRelations}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="items" value="dorId=${item.dorId}&"></td>
<td>${item.dataObject.objKey}&nbsp;</td>
<td>${item.dataObject.objName}&nbsp;</td>
<td>${item.dataObject.objValue}&nbsp;</td>
<td>${item.dataObject.objType}&nbsp;</td>
<td>
<a href="javascript:void(0);" onclick="showDiaLog('${ctx}/dataObjectRelation/edit.do?dorId=${item.dorId}','编辑环节变量','600px','400px')">修改</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,114 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@ 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 type="text/javascript">
$(document).ready(function() {
/*$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/dataObjectRelation/save.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.opener.location.reload();
}
});
});*/
var demo=$("#myform").Validform({tiptype:4, datatype:{"objKey": /^\w+$/},callback:function(data){
alert("编辑成功");
art.dialog.opener.location.reload();
}});
$("#submitButton").click(function(){
demo.ajaxPost();
return false;
});
//$('#objKey').keyup(trimkeyup);
});
</script>
</head>
<body class="white-page">
<form action="${ctx}/dataObjectRelation/save.do" method="post" id="myform">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放表单的区域 -->
<input type="hidden" name="objScope" id="objScope" value="P" />
<input type="hidden" name="processDefId" id="processDefId" value="${dataObjectRelation.processDefId}" />
<input type="hidden" name="processDefName" id="processDefName" value="${dataObjectRelation.processDefName }" />
<input type="hidden" name="activityDefId" id="activityDefId" value="${dataObjectRelation.activityDefId}" />
<input type="hidden" name="activityDefName" id="activityDefName" value="${dataObjectRelation.activityDefName }" />
<input type="hidden" name="targetActId" id="targetActId" value="${dataObjectRelation.targetActId}" />
<input type="hidden" name="targetActName" id="targetActName" value="${dataObjectRelation.targetActName}" />
<input type="hidden" name="dorType" id="dorType" value="${dataObjectRelation.dorType}" />
<tr>
<th>属性KEY<font color="red">*</font>
</th>
<td><input type="text" name="dataObject.objKey" value="" id="objKey"
datatype="objKey" nullmsg="请输入变量KEY" errormsg="变量KEY只能输入字母、数字以及下划线"
class="input"
onKeypress="javascript:if(event.keyCode == 32)event.returnValue = false;"/>
</td>
</tr>
<tr>
<th>属性名称<font color="red">*</font>
</th>
<td><input type="text" name="dataObject.objName" value="" id="objName"
datatype="*1-12" nullmsg="请输入变量名称!" errormsg="变量名称不能超过12个汉字"
class="input" /></td>
</tr>
<tr>
<th>属性值<font color="red">*</font>
</th>
<td><input type="text" name="dataObject.objValue" value=""
datatype="*1-500" nullmsg="请输入变量值!" errormsg="变量值不能超过500个字符"
id="objValue" class="input" /></td>
</tr>
<tr>
<th>属性类型<font color="red">*</font>
</th>
<td>
<select name="dataObject.objType" id="objType">
<option value="String">字符串</option>
<option value="Number">数字</option>
<option value="Boolean">布尔值</option>
<option value="Object">对象</option>
</select>
</td>
</tr>
<tr>
<th>备注:</th>
<td><input type="text" name="dataObject.objRemark" value=""
id="objRemark" class="input" /></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<a class="btn btn-sm btn-primary" id="submitButton">保存<i class="ace-icon fa fa-save bigger-110"></i></a>
<a class="btn btn-sm btn-primary" onclick="art.dialog.close();">关闭<i class="ace-icon fa fa-times bigger-110"></i></a>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,121 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*"%>
<%@ 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 type="text/javascript">
$(document).ready(function() {
/*$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/dataObjectRelation/update.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.opener.location.reload();
}
});
});*/
var demo=$("#myform").Validform({tiptype:4, datatype:{"objKey": /^\w+$/},callback:function(data){
alert("编辑成功");
art.dialog.opener.location.reload();
}});
$("#submitButton").click(function(){
demo.ajaxPost();
return false;
});
//$('#objKey').keyup(trimkeyup);
});
</script>
</head>
<body class="white-page">
<form action="${ctx}/dataObjectRelation/update.do" method="post" id="myform">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<input type="hidden" name="dorId" id="dorId" value="${dataObjectRelation.dorId}" />
<input type="hidden" name="dataObject.objScope" id="objScope" value="P" />
<input type="hidden" name="processDefId" id="processDefId" value="${dataObjectRelation.processDefId}" />
<input type="hidden" name="processDefName" id="processDefName" value="${dataObjectRelation.processDefName }" />
<input type="hidden" name="activityDefId" id="activityDefId" value="${dataObjectRelation.activityDefId}" />
<input type="hidden" name="targetActId" id="targetActId" value="${dataObjectRelation.targetActId}" />
<input type="hidden" name="dorType" id="dorType" value="${dataObjectRelation.dorType}" />
<input type="hidden" id="objId" name="dataObject.objId" value="${dataObjectRelation.dataObject.objId}" />
<!-- 存放表单的区域 -->
<tr>
<th>属性KEY<font color="red">*</font>
</th>
<td><input type="text" name="dataObject.objKey"
value="${dataObjectRelation.dataObject.objKey}" id="objKey"
datatype="objKey" nullmsg="请输入变量KEY" errormsg="变量KEY只能输入字母、数字以及下划线"
class="input"
onKeypress="javascript:if(event.keyCode == 32)event.returnValue = false;"/>
</td>
</tr>
<tr>
<th>属性名称<font color="red">*</font>
</th>
<td><input type="text" name="dataObject.objName"
value="${dataObjectRelation.dataObject.objName}" id="objName"
datatype="*1-12" nullmsg="请输入变量名称!" errormsg="变量名称不能超过12个汉字"
class="input" /></td>
</tr>
<tr>
<th>属性值<font color="red">*</font>
</th>
<td><input type="text" name="dataObject.objValue"
value="${dataObjectRelation.dataObject.objValue}"
datatype="*1-500" nullmsg="请输入变量值!" errormsg="变量值不能超过500个字符"
id="objValue" class="input" /></td>
</tr>
<tr>
<th>属性类型<font color="red">*</font>
</th>
<td>
<select name="dataObject.objType" id="objType">
<option value="String" ${dataObjectRelation.dataObject.objType=="String" ? "selected": ""}>字符串</option>
<option value="Number" ${dataObjectRelation.dataObject.objType=="Number" ? "selected": ""}>数字</option>
<option value="Boolean" ${dataObjectRelation.dataObject.objType=="Boolean" ? "selected": ""}>布尔值</option>
<option value="Object" ${dataObjectRelation.dataObject.objType=="Object" ? "selected": ""}>对象</option>
</select>
</td>
</tr>
<tr>
<th>备注:</th>
<td><input type="text" name="dataObject.objRemark"
id="objRemark" class="input"
value="${dataObjectRelation.dataObject.objRemark}"/></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<a class="btn btn-sm btn-primary" id="submitButton">保存<i class="ace-icon fa fa-save bigger-110"></i></a>
<a class="btn btn-sm btn-primary" onclick="art.dialog.close();">关闭<i class="ace-icon fa fa-times bigger-110"></i></a>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,110 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@page import="com.blueland.bpm.common.page.*" %>
<%@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_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
<script type="text/javascript" >
function delObj(){
if (!hasOneChecked("items")) {
alert('请选择要操作的对象!');
return;
}
if(window.confirm('确定执行[删除]操作?')){
jQuery.ajax({
type : "POST",
url : "${ctx}/dataObjectRelation/delete.do",
data : $('#queryForm').serialize(),
success : function(resp) {
alert(resp);
window.location.reload();
}
});
}
}
</script>
</head>
<body class="white-page">
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/dataObjectRelation/list.do" method="get" style="display: inline;">
<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:0 !important;padding: 0 !important;">
<table border="0" cellspacing="0" cellpadding="0" class="table-search">
<tr>
<td colspan="7">
<button type="button" class="btn btn-xs btn-success" onclick="showDiaLog('${ctx}/dataObjectRelation/create.do?processDefId=${query.processDefId}&dorType=P','新增流程扩展属性','600px','400px')">
新增
<i class="ace-icon fa fa-plus bigger-110"></i>
</button>
<button type="button" class="btn btn-xs btn-danger" onclick="delObj();">
删除
<i class="ace-icon fa fa-trash-o bigger-110"></i>
</button>
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12">
<div class="table-responsive" style="margin: 0 0 5px !important;padding: 0 !important;">
<table id="sample-table-1" class="table table-striped table-bordered table-hover form-table">
<thead>
<tr>
<th style="width:25px;"><input type="checkbox" onclick="setAllCheckboxState('items',this.checked)"></th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="objKey" >变量KEY</th>
<th sortColumn="objName" >变量名称</th>
<th sortColumn="objValue" >变量值</th>
<th sortColumn="objType" >变量类型</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${dataObjectRelations}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="items" value="dorId=${item.dorId}&"></td>
<td>${item.dataObject.objKey}&nbsp;</td>
<td>${item.dataObject.objName}&nbsp;</td>
<td>${item.dataObject.objValue}&nbsp;</td>
<td>${item.dataObject.objType}&nbsp;</td>
<td>
<a href="javascript:void(0);" onclick="showDiaLog('${ctx}/dataObjectRelation/edit.do?dorId=${item.dorId}','编辑流程变量','600px','400px')">修改</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,108 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@page import="com.blueland.bpm.common.page.*" %>
<%@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_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('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
});
function delObj(){
if (!hasOneChecked("items")) {
alert('请选择要操作的对象!');
return;
}
if(window.confirm('确定执行[删除]操作?')){
jQuery.ajax({
type : "POST",
url : "${ctx}/dataObjectRelation/delete.do",
data : $('#queryForm').serialize(),
success : function(resp) {
alert(resp);
window.location.reload();
}
});
}
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/dataObjectRelation/list.do" method="get" style="display: inline;">
<div class="panel panel-primary">
<div class="panel-body">
<div class="form-group well well-sm">
<table border="0" cellspacing="0" cellpadding="0" class="table-search">
<tr>
<td colspan="7">
<input value="新增" type="button" class="btn btn-xs btn-success" onclick="showDiaLog('${ctx}/dataObjectRelation/create.do?processDefId=${query.processDefId}&activityDefId=${query.activityDefId}&targetActId=${query.targetActId}&dorType=S','新增流程变量','600px','400px')"/>
<input value="删除" type="button" class="btn btn-xs btn-danger" onclick="delObj();"/>
<a class="btn btn-xs btn-primary" onclick="art.dialog.close();">关闭</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" onclick="setAllCheckboxState('items',this.checked)"></th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="objKey" >变量KEY</th>
<th sortColumn="objName" >变量名称</th>
<th sortColumn="objValue" >变量值</th>
<th sortColumn="objType" >变量类型</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${dataObjectRelations}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td><input type="checkbox" name="items" value="dorId=${item.dorId}&"></td>
<td>${item.dataObject.objKey}&nbsp;</td>
<td>${item.dataObject.objName}&nbsp;</td>
<td>${item.dataObject.objValue}&nbsp;</td>
<td>${item.dataObject.objType}&nbsp;</td>
<td>
<a href="javascript:void(0);" onclick="showDiaLog('${ctx}/dataObjectRelation/edit.do?dorId=${item.dorId}','编辑流程变量','600px','400px')">修改</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,261 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ include file="/commons/taglibs.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%-- <jsp:include page="deputeUserTree.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">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="overview &amp; stats" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<!-- bootstrap & fontawesome -->
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/bootstrap.min.css" />
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/font-awesome.min.css" />
<!-- text fonts -->
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace-fonts.css" />
<!-- ace styles -->
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace.min.css" id="main-ace-style" />
<!--[if lte IE 9]>
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace-part2.min.css" />
<![endif]-->
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace-skins.min.css" />
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace-rtl.min.css" />
<!--[if lte IE 9]>
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace-ie.min.css" />
<!-- page specific plugin styles -->
<link rel="stylesheet" href="${ctx }/resource/css/global.css" />
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
<script src="<c:url value="/resource/js/common/application.js"/>" type="text/javascript"></script>
<script src="<c:url value="/resource/js/plugins/My97DatePicker/WdatePicker.js"/>" type="text/javascript"></script>
<script src="${ctx }/resource/js/plugins/artDialog/jquery.artDialog.js?skin=blue"></script>
<script src="${ctx }/resource/js/plugins/artDialog/iframeTools.source.js"></script>
<!-- validation BEGIN-->
<link rel="stylesheet" href="${ctx }/resource/js/plugins/Validform_v5.3.2/Validform_v5.3.2/demo/css/style.css" />
<script type="text/javascript" src="${ctx }/resource/js/plugins/Validform_v5.3.2/Validform_v5.3.2_min.js"></script>
<!-- validation END-->
<base href="<%=basePath%>">
<style>
.ztree li span {
line-height: 16px;
margin-right: 2px;
font-size: 12px;
color: #333;
font-family: "微软雅黑";
}
.btn-style{
border: 1px #89a0b9 solid;
border-radius: 4px;
background: -webkit-gradient(linear, 0% 0%, 0% 100%,from(#fefefe), to(#dce2e6));
padding: 0px 15px;
color: #000;
font-size: 12px;
font-family:"微软雅黑";
letter-spacing: 4px;
}
.btn-style:hover{
background:#e1f0f8;
cursor:pointer;
}
</style>
<link rel="stylesheet"
href="${ctx}/resource/js/plugins/zTree/css/demo.css"
type="text/css">
<link rel="stylesheet"
href="${ctx}/resource/js/plugins/zTree/css/zTreeStyle/zTreeStyle.css"
type="text/css">
<script type="text/javascript"
src="${ctx}/resource/js/plugins/zTree/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript"
src="${ctx}/resource/js/plugins/zTree/js/jquery.ztree.core-3.4.js"></script>
<script type="text/javascript"
src="${ctx}/resource/js/plugins/zTree/js/jquery.ztree.excheck-3.4.js"></script>
<script type="text/javascript"
src="${ctx}/resource/js/plugins/zTree/js/jquery.ztree.exedit-3.4.js"></script>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/userSelect/css/usStyle/button.css" type="text/css">
<script>
$(function(){
//初始化委托人
$.fn.zTree.init($("#treeObj"), createUserSetting());
});
function createUserSetting(){
var setting = {
view: {
dblClickExpand: false,
expandSpeed: "slow",
selectedMulti: false
},
data: {
simpleData: {
enable : true,
idKey : "id",
pIdKey : "pId" ,
DIY:"isAccessTopMenu"
}
},async: {
enable: true,
url:"${ctx}/pages/user/getUserOrgTree.do",
autoParam:["id", "name=n","level=lv"],
otherParam:{"assignTreeId":"${user.orgId}","treeLevel":"","showTreeType":"USER","filterNodeIdsStr":"${user.userId}","ischecked":"0","isCheckValue":"${existDepute.mandataryUserId}"}
},
check: {
enable: true,
chkStyle: "radio"
},
callback: {
onAsyncSuccess: onAsyncSuccess,
onCheck:onUserCheck
}
};
return setting;
}
function onUserCheck(event, treeId, treeNode) {
if(null == treeNode){
return ;
}
if("USER" == treeNode.type){
$("#mandataryUserId").val(treeNode.id);
$("#mandataryUserName").val(treeNode.name);
return true;
}else{
return false;
}
}
function onAsyncSuccess(event, treeId, treeNode, msg) {
var msgArr=$.parseJSON(msg);
for(var i = 0;i<msgArr.length;i++){
if(msgArr[i].checked){
$("#mandataryUserId").val(msgArr[i].id);
$("#mandataryUserName").val(msgArr[i].name);
}
}
}
function saveDepute(){
var ischeck = checkBeforeSubmit();
if(ischeck){
$.post('${ctx}/depute/save.do',
$('#editForm').serialize(),
function(result){
if(result.success){
alert("保存成功!");
art.dialog.opener.location.reload();
}else{
alert("保存失败!");
}
});
}
}
function checkBeforeSubmit(){
var mandataryUserId = $("#mandataryUserId").val();
if(null == mandataryUserId || ""==mandataryUserId){
alert("请您选择被委托人员!");
$("#mandataryUserName").focus();
return false;
}
return true;
}
function resetDepute(){
if(confirm("您确定要重新设置委托待办吗?")){
$.post('${ctx}/depute/reSetDepute.do',
$('#editForm').serialize(),
function(result){
if(result.success){
alert("重置成功!");
art.dialog.opener.location.reload();
}else{
alert("重置失败!");
}
});
}
}
</script>
<title>新增委托代办</title>
</head>
<body style="font-size: 13px;" class="white-page">
<form action="${ctx}/depute/save.do" method="post" id="editForm">
<input type="hidden" name="deputeUserId" value="${bpm_login_session_user.userCode}" id="deputeUserId" />
<input type="hidden" name="deputeUserName" value="${bpm_login_session_user.userName}" id="deputeUserName" />
<input type="hidden" name="deputeStatus" value="Y" id="deputeStatus" />
<%-- <input type="hidden" name="appId" value="${application.appId}" id="appId" /> --%>
<%-- <input type="hidden" name="appName" value="${application.appName}" id="appName" /> --%>
<div class="main-container" id="main-container">
<div id="tabs" style="border-bottom: 1px solid #e5e5e5;font-weight: bold;margin: 0px;padding: 7px 10px 5px 20px;">
<span style="padding:20px;border-bottom: 2px #70c5e1 solid;padding: 0px 2px 7px 2px;font-size: 12px;font-family: &quot;微软雅黑&quot;;color: #000;">可视化流程中心->委托代办设置</span>
</div>
<div class="alert alert-block alert-danger" style="margin: 5px 0px 0px 20px;color: #ff0000;padding: 5px;font-size: 12px;font-family: '微软雅黑'; border: none;background: none;">
<i class="ace-icon fa fa-exclamation-triangle yellow"></i> <span class="yellow bolder"></span>
<c:choose>
<c:when test="${'' != existDepute.mandataryUserName && null != existDepute.mandataryUserName}">
<%-- <c:choose> --%>
<%-- <c:when test="${'local' == existDepute.deputeType}"> --%>
<%-- 委托记录:您于<fmt:formatDate value="${existDepute.createTime }" pattern="yyyy年MM月dd日" />将${deputeStr }的所有流程都委托给了${existDepute.mandataryUserName } --%>
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
当前委托记录:您于<lable style="font-weight:bold;"><fmt:formatDate value="${existDepute.createTime }" pattern="yyyy年MM月dd日" /></lable>将可视化流程中心的所有流程都委托给了<lable style="font-weight:bold;">${existDepute.mandataryUserName }</lable>
取消委托关系请点击重置按钮!
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
</c:when>
<c:otherwise>您当前暂无委托记录!</c:otherwise>
</c:choose>
</div>
<div class="panel panel-primary" style=" border: none;padding: 0px 10px 5px 20px;margin-bottom: 10px;">
<div class="panel-body">
<div style="width:100%;height:250px;">
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable1" height="100%">
<tr style="height:30px;background: #E4EDF6;">
<td style="border-left:none;border-bottom:none;color: #333;padding: 5px 0px 5px 15px;font-weight:bold;font-size: 12px;color: #333;font-family: &quot;微软雅黑&quot;">被委托人选择</td>
</tr>
<tr>
<td style="border-top:none;padding: 2px 0px;"><input type="hidden" name="mandataryUserName" readonly
value="请选择" id="mandataryUserName"/>
<input type="hidden" name="mandataryUserId" value="" id="mandataryUserId" />
<div id="menuContent" class="menuContent" style="height:100%;">
<ul id="treeObj" class="ztree" style="margin: 0px 0px 0px 8px; width: 500px;height: auto;max-height: 230px;border:none;background: none;overflow:auto;"></ul>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="col-md-offset-1 col-md-9" style="text-align: center;margin-top: 20px;">
<button id="submitButton" name="submitButton"
class="btn-style"
type="button" onclick="saveDepute();">
保存
</button>
<label style="padding: 0px 13px 0px 0px;"></label>
<button type="button" class="btn-style"
onclick="resetDepute();">
重置
</button>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,261 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ include file="/commons/taglibs.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%-- <jsp:include page="deputeUserTree.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">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="overview &amp; stats" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<!-- bootstrap & fontawesome -->
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/bootstrap.min.css" />
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/font-awesome.min.css" />
<!-- text fonts -->
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace-fonts.css" />
<!-- ace styles -->
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace.min.css" id="main-ace-style" />
<!--[if lte IE 9]>
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace-part2.min.css" />
<![endif]-->
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace-skins.min.css" />
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace-rtl.min.css" />
<!--[if lte IE 9]>
<link rel="stylesheet" href="${ctx }/resource/js/plugins/ace/css/ace-ie.min.css" />
<!-- page specific plugin styles -->
<link rel="stylesheet" href="${ctx }/resource/css/global.css" />
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
<script src="<c:url value="/resource/js/common/application.js"/>" type="text/javascript"></script>
<script src="<c:url value="/resource/js/plugins/My97DatePicker/WdatePicker.js"/>" type="text/javascript"></script>
<script src="${ctx }/resource/js/plugins/artDialog/jquery.artDialog.js?skin=blue"></script>
<script src="${ctx }/resource/js/plugins/artDialog/iframeTools.source.js"></script>
<!-- validation BEGIN-->
<link rel="stylesheet" href="${ctx }/resource/js/plugins/Validform_v5.3.2/Validform_v5.3.2/demo/css/style.css" />
<script type="text/javascript" src="${ctx }/resource/js/plugins/Validform_v5.3.2/Validform_v5.3.2_min.js"></script>
<!-- validation END-->
<base href="<%=basePath%>">
<style>
.ztree li span {
line-height: 16px;
margin-right: 2px;
font-size: 12px;
color: #333;
font-family: "微软雅黑";
}
.btn-style{
border: 1px #89a0b9 solid;
border-radius: 4px;
background: -webkit-gradient(linear, 0% 0%, 0% 100%,from(#fefefe), to(#dce2e6));
padding: 0px 15px;
color: #000;
font-size: 12px;
font-family:"微软雅黑";
letter-spacing: 4px;
}
.btn-style:hover{
background:#e1f0f8;
cursor:pointer;
}
</style>
<link rel="stylesheet"
href="${ctx}/resource/js/plugins/zTree/css/demo.css"
type="text/css">
<link rel="stylesheet"
href="${ctx}/resource/js/plugins/zTree/css/zTreeStyle/zTreeStyle.css"
type="text/css">
<script type="text/javascript"
src="${ctx}/resource/js/plugins/zTree/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript"
src="${ctx}/resource/js/plugins/zTree/js/jquery.ztree.core-3.4.js"></script>
<script type="text/javascript"
src="${ctx}/resource/js/plugins/zTree/js/jquery.ztree.excheck-3.4.js"></script>
<script type="text/javascript"
src="${ctx}/resource/js/plugins/zTree/js/jquery.ztree.exedit-3.4.js"></script>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/userSelect/css/usStyle/button.css" type="text/css">
<script>
$(function(){
//初始化委托人
$.fn.zTree.init($("#treeObj"), createUserSetting());
});
function createUserSetting(){
var setting = {
view: {
dblClickExpand: false,
expandSpeed: "slow",
selectedMulti: false
},
data: {
simpleData: {
enable : true,
idKey : "id",
pIdKey : "pId" ,
DIY:"isAccessTopMenu"
}
},async: {
enable: true,
url:"${ctx}/pages/user/getUserOrgTree.do",
autoParam:["id", "name=n","level=lv"],
otherParam:{"assignTreeId":"${user.orgId}","treeLevel":"","showTreeType":"USER","filterNodeIdsStr":"${user.userId}","ischecked":"0","isCheckValue":"${existDepute.mandataryUserId}"}
},
check: {
enable: true,
chkStyle: "radio"
},
callback: {
onAsyncSuccess: onAsyncSuccess,
onCheck:onUserCheck
}
};
return setting;
}
function onUserCheck(event, treeId, treeNode) {
if(null == treeNode){
return ;
}
if("USER" == treeNode.type){
$("#mandataryUserId").val(treeNode.id);
$("#mandataryUserName").val(treeNode.name);
return true;
}else{
return false;
}
}
function onAsyncSuccess(event, treeId, treeNode, msg) {
var msgArr=$.parseJSON(msg);
for(var i = 0;i<msgArr.length;i++){
if(msgArr[i].checked){
$("#mandataryUserId").val(msgArr[i].id);
$("#mandataryUserName").val(msgArr[i].name);
}
}
}
function saveDepute(){
var ischeck = checkBeforeSubmit();
if(ischeck){
$.post('${ctx}/depute/save.do',
$('#editForm').serialize(),
function(result){
if(result.success){
alert("保存成功!");
art.dialog.opener.location.reload();
}else{
alert("保存失败!");
}
});
}
}
function checkBeforeSubmit(){
var mandataryUserId = $("#mandataryUserId").val();
if(null == mandataryUserId || ""==mandataryUserId){
alert("请您选择被委托人员!");
$("#mandataryUserName").focus();
return false;
}
return true;
}
function resetDepute(){
if(confirm("您确定要重新设置委托待办吗?")){
$.post('${ctx}/depute/reSetDeputeBack.do',
$('#editForm').serialize(),
function(result){
if(result.success){
alert("重置成功!");
art.dialog.opener.location.reload();
}else{
alert("重置失败!");
}
});
}
}
</script>
<title>新增委托代办</title>
</head>
<body style="font-size: 13px;" class="white-page">
<form action="${ctx}/depute/save.do" method="post" id="editForm">
<input type="hidden" name="deputeUserId" value="${user.userCode}" id="deputeUserId" />
<input type="hidden" name="deputeUserName" value="${user.userName}" id="deputeUserName" />
<input type="hidden" name="deputeStatus" value="Y" id="deputeStatus" />
<%-- <input type="hidden" name="appId" value="${application.appId}" id="appId" /> --%>
<%-- <input type="hidden" name="appName" value="${application.appName}" id="appName" /> --%>
<div class="main-container" id="main-container">
<div id="tabs" style="border-bottom: 1px solid #e5e5e5;font-weight: bold;margin: 0px;padding: 7px 10px 5px 20px;">
<span style="padding:20px;border-bottom: 2px #70c5e1 solid;padding: 0px 2px 7px 2px;font-size: 12px;font-family: &quot;微软雅黑&quot;;color: #000;">可视化流程中心->委托代办设置</span>
</div>
<div class="alert alert-block alert-danger" style="margin: 5px 0px 0px 20px;color: #ff0000;padding: 5px;font-size: 12px;font-family: '微软雅黑'; border: none;background: none;">
<i class="ace-icon fa fa-exclamation-triangle yellow"></i> <span class="yellow bolder"></span>
<c:choose>
<c:when test="${'' != existDepute.mandataryUserName && null != existDepute.mandataryUserName}">
<%-- <c:choose> --%>
<%-- <c:when test="${'local' == existDepute.deputeType}"> --%>
<%-- 委托记录:您于<fmt:formatDate value="${existDepute.createTime }" pattern="yyyy年MM月dd日" />将${deputeStr }的所有流程都委托给了${existDepute.mandataryUserName } --%>
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
当前委托记录:您于<lable style="font-weight:bold;"><fmt:formatDate value="${existDepute.createTime }" pattern="yyyy年MM月dd日" /></lable>将可视化流程中心的所有流程都委托给了<lable style="font-weight:bold;">${existDepute.mandataryUserName }</lable>
取消委托关系请点击重置按钮!
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
</c:when>
<c:otherwise>您当前暂无委托记录!</c:otherwise>
</c:choose>
</div>
<div class="panel panel-primary" style=" border: none;padding: 0px 10px 5px 20px;margin-bottom: 10px;">
<div class="panel-body">
<div style="width:100%;height:250px;">
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable1" height="100%">
<tr style="height:30px;background: #E4EDF6;">
<td style="border-left:none;border-bottom:none;color: #333;padding: 5px 0px 5px 15px;font-weight:bold;font-size: 12px;color: #333;font-family: &quot;微软雅黑&quot;">被委托人选择</td>
</tr>
<tr>
<td style="border-top:none;padding: 2px 0px;"><input type="hidden" name="mandataryUserName" readonly
value="请选择" id="mandataryUserName"/>
<input type="hidden" name="mandataryUserId" value="" id="mandataryUserId" />
<div id="menuContent" class="menuContent" style="height:100%;">
<ul id="treeObj" class="ztree" style="margin: 0px 0px 0px 8px; width: 500px;height: auto;max-height: 230px;border:none;background: none;overflow:auto;"></ul>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="col-md-offset-1 col-md-9" style="text-align: center;margin-top: 20px;">
<button id="submitButton" name="submitButton"
class="btn-style"
type="button" onclick="saveDepute();">
保存
</button>
<label style="padding: 0px 13px 0px 0px;"></label>
<button type="button" class="btn-style"
onclick="resetDepute();">
重置
</button>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,249 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ include file="/commons/taglibs.jsp"%>
<jsp:include page="/commons/userOrgTree.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">
<%@ include file="/commons/meta.jsp"%>
<base href="<%=basePath%>">
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/codemirror.css">
<link rel="stylesheet" href="${ctx}/resource/js/plugins/codemirror/eclipse.css">
<style>
.CodeMirror {
/* Set height, width, borders, and global font properties here */
font-family: monospace;
height: 180px;
}
</style>
<script src="${ctx}/resource/js/plugins/codemirror/codemirror.js"></script>
<script src="${ctx}/resource/js/plugins/codemirror/clike.js"></script>
<script>
function createActUser(retValus,retNames){
if(""!=retValus){
var arr = retValus.split("#");
retValus = arr[1];
}
$("#mandataryUserName").val(retNames);
$("#mandataryUserId").val(retValus);
}
function processDefNameOnDbClick(name,id){
$("#processDefName").val(name);
$("#processDefId").val(id);
}
function mandataryUserNameOnDbClick(name,id){
$("#mandataryUserName").val(name);
$("#mandataryUserId").val(id);
}
function processDefSel(){
var deputeType = $('input:radio[name="deputeType"]:checked').val();
if(deputeType=="local"){
$("#processDefName").attr("datatype","*");
$("#processDefName").attr("value","请您选择流程定义!");
$("#processDefName").val($("#curSelProcessSName").val());
$("#processDefId").val($("#curSelProcessSId").val());
$("#processDefName").show();
$("#processDefNameButton").show();
}else{
$("#processDefName").removeAttr("datatype");
$("#processDefName").removeAttr("value");
$("#processDefName").val("");
$("#processDefId").val("");
$("#processDefName").hide();
$("#processDefNameButton").hide();
}
}
$(function(){
processDefSel();
})
function checkBeforeSubmit(){
var mandataryUserId = $("#mandataryUserId").val();
if(null == mandataryUserId || ""==mandataryUserId){
alert("请您选择被委托人员!");
$("#mandataryUserName").focus();
return false;
}
var startTimeString = $("#startTimeString").val();
// if(null == startTimeString || ""==startTimeString){
// alert("请您选择起始时间!");
// $("#startTimeString").focus();
// return false;
// }
// var endTimeString = $("#endTimeString").val();
// if(null == endTimeString || ""==endTimeString){
// alert("请您选择结束时间!");
// $("#endTimeString").focus();
// return false;
// }
var processDefId = $("#processDefId").val();
var deputeType = $('input:radio[name="deputeType"]:checked').val();
if(deputeType=='local'){
if(null==processDefId || ""==processDefId){
alert("请您选择流程定义!");
$("#processDefName").focus();
return false;
}
}
return true;
}
function saveDepute(){
var ischeck = checkBeforeSubmit();
if(ischeck){
$.post('${ctx}/depute/update.do',
$('#editForm').serialize(),
function(result){
if(result.success){
alert("保存成功!");
art.dialog.opener.location.reload();
}else{
alert("保存失败!");
}
});
}
}
//日历图标模拟日历文本框点击事件
$(function(){
var startTimeString = document.getElementById("startTimeString");
var startTime = document.getElementById("startTime");
var endTimeString = document.getElementById("endTimeString");
var endTime = document.getElementById("endTime");
//通用方法
startTime.onclick = function() {
if (/msie/i.test(navigator.userAgent)) //IE
{
startTimeString.fireEvent("onclick");
} else {
var e = document.createEvent('MouseEvent');
e.initEvent('click', false, false);
startTimeString.dispatchEvent(e);
}
}
//通用方法
endTime.onclick = function() {
if (/msie/i.test(navigator.userAgent)) //IE
{
endTimeString.fireEvent("onclick");
} else {
var e = document.createEvent('MouseEvent');
e.initEvent('click', false, false);
endTimeString.dispatchEvent(e);
}
}
})
</script>
<title>委托代办编辑</title>
</head>
<body style="font-size: 13px;" class="white-page">
<form action="${ctx}/depute/update.do" method="post" id="editForm">
<input type="hidden" name="deputeUserId" value="${bpm_login_session_user.userId}" id="deputeUserId" />
<input type="hidden" id="curSelProcessSName" value="${depute.processDefName}"/>
<input type="hidden" id="curSelProcessSId" value="${depute.processDefId}"/>
<input type="hidden" name="deputeId" value="${depute.deputeId}"/>
<input type="hidden" name="deputeUserName" value="${bpm_login_session_user.userName}" id="deputeUserName" />
<input type="hidden" name="deputeStatus" value="Y" id="deputeStatus" />
<input type="hidden" name="appId" value="${application.appId}" id="appId" />
<input type="hidden" name="appName" value="${application.appName}" id="appName" />
<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>
<td>委托类型<font color="red">*</font></td>
<td>
<input type="radio" name="deputeType" value="golal"
${depute.deputeType=='golal'?'checked':''}
id="deputeType" class="othfld" onclick="processDefSel();"/>全局
<input type="radio" onclick="processDefSel();"
${depute.deputeType=='local'?'checked':''}
name="deputeType" value="local" id="deputeTypeProcess" class="othfld"/>按流程
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" class="othfld" onclick="showMenu('processDefName','2043000153','','USER'); return false;"
name="processDefName" id="processDefName"
value="${depute.processDefName}"
datatype="*1-12" "/>
<input type="hidden" name="processDefId" value="${depute.processDefId}" id="processDefId" />
<a class="blue" id="processDefNameButton" href="javascript:void(0);">
<i class="ace-icon fa fa-search bigger-130"
onclick="showMenu('processDefName','2043000153','','USER');return false;">
</i>
</a>
</td>
</tr>
<tr>
<td>被委托人<font color="red">*</font></td>
<td><input type="text" name="mandataryUserName"
onclick="showUserOrg('mandataryUserName','${userId}','','USER'); return false;"
value="${depute.mandataryUserName}" id="mandataryUserName"
datatype="*1-12" nullmsg="请选择被委托人!"/>
<input type="hidden" name="mandataryUserId" value="${depute.mandataryUserId}" id="mandataryUserId" />
<a class="blue" href="javascript:void(0);">
<i class="ace-icon fa fa-search bigger-130"
onclick="showUserOrg('mandataryUserName','${userId}','','USER'); return false;">
</i>
</a>
</td>
</tr>
<!--
<tr>
<td>起止时间<font color="red">*</font></td>
<td>
<input type="text" id="startTimeString" name="startTimeString" readOnly
value="${depute.startTimeString}" datatype="*1-12" nullmsg="请选择起始时间!"/>
<a id="startTime" class="blue" href="javascript:;"><i class="fa fa-calendar bigger-130"></i></a>&nbsp;&nbsp;
<input type="text"
onclick="WdatePicker({dateFmt:'<%=Depute.FORMAT_END_TIME%>',minDate:'#F{$dp.$D(\'startTimeString\')}'})"
id="endTimeString" name="endTimeString"
value="${depute.endTimeString}"
datatype="*1-12" nullmsg="请选择结束时间!"/>
<a id="endTime" class="blue" href="javascript:;">
<i class="fa fa-calendar bigger-130"></i>
</a>
</td>
</tr>
-->
<tr>
<td width="20%">委&nbsp;托&nbsp; 人<font color="red">*</font></td>
<td>${bpm_login_session_user.userName}</td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;margin-top: 20px;">
<button id="submitButton" name="submitButton" class="btn btn-sm btn-primary"
type="button"
onclick="saveDepute();">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" class="btn btn-sm btn-primary"
onclick="art.dialog.close();">
<span class="icon_back">关闭</span>
<i class="ace-icon fa fa-times bigger-110"></i>
</button>
</div>
</div>
</div>
</div>
</form>
<jsp:include page="../procDefMgr/procDefTree.jsp" flush="false" />
</body>
</html>

View File

@@ -0,0 +1,147 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@page import="com.blueland.bpm.common.page.*" %>
<%@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" %>
<jsp:include page="/commons/userOrgTree.jsp" flush="true" />
<%
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_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('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
});
function createDepute(url,title,width,height){
if("" == $("#userId").val() || null == $("#userId").val()){
alert("请输入委托人的ID");
return;
}else{
var url = url+"?userId="+$("#userId").val();
showDiaLog(url,title,width,height);
}
}
function deputeUserNameOnDbClick(name, value) {
$("#deputeUserName").val(name);
$("#deputeUserId").val(value);
}
function mandataryUserNameOnDbClick(name, value) {
$("#mandataryUserName").val(name);
$("#mandataryUserId").val(value);
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="queryForm" name="queryForm"
action="${ctx}/depute/list.do" method="post"
style="display: inline;">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
委托代办设置
</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">
<tbody>
<tr colspan="7">
<td>
委托人ID<input type="text" id="userId" name="userId" style="height:25px;margin-right: 2px;"/>
<button type="button" class="btn btn-xs btn-success"
onclick="createDepute('${ctx}/depute/backCreate.do','新增委托代办','600px','400px');">
新增
<i class="ace-icon fa fa-plus bigger-110"></i>
</button>
</td>
</tr>
<tr colspan="7">
<td style="letter-spacing: 3.2px;">
<input type="hidden" id="deputeUserId" name="deputeUserId"/>
委托人:<input type="text" id="deputeUserName" name="deputeUserName" value="${query.deputeUserName}" style="margin-right: 2px;height:25px;" onclick="showUserOrg('deputeUserName','','','USER'); return false;" readonly />
<input type="hidden" id="mandataryUserId" name="mandataryUserId"/>
被委托人:<input type="text" id="mandataryUserName" name="mandataryUserName" value="${query.mandataryUserName}" style="height:25px;" onclick="showUserOrg('mandataryUserName','','','USER'); return false;" readonly/>
<button type="submit" class="btn btn-xs btn-primary"
onclick="getReferenceForm(this).action='${ctx}/depute/list.do'">
查&nbsp;&nbsp;询
<i class="ace-icon fa fa-search bigger-110"></i>
</button>
<!-- <button type="submit" class="btn btn-xs btn-success"
onclick="getReferenceForm(this).action='${ctx}/depute/create.do'"> -->
<button type="button" class="btn btn-xs btn-danger"
onclick="batchDelete('${ctx}/depute/delete.do','items',document.forms.queryForm)">
删除
<i class="ace-icon fa fa-trash-o bigger-110"></i>
</button>
</td>
</tr>
</tbody>
</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" onclick="setAllCheckboxState('items',this.checked)"></th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="roleName" >委托类型</th>
<th sortColumn="roleId" >委托人</th>
<th sortColumn="roleId" >被委托人</th>
<!--
<th sortColumn="roleSort" width="300px">起止时间</th> -->
<th sortColumn="roleAppId">委托流程</th>
<th sortColumn="roleAppId">委托状态</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" value="deputeId=${item.deputeId}&"></td>
<td class="td" title="${item.deputeTypeVal}">${item.deputeTypeVal}&nbsp;</td>
<td class="td" title="${item.deputeUserName}">${item.deputeUserName}&nbsp;</td>
<td class="td" title="${item.mandataryUserName}">${item.mandataryUserName}&nbsp;</td>
<!-- <td>从${item.startTimeString}&nbsp;至${item.endTimeString}</td>-->
<td class="td" title="${item.processDefName}&nbsp;">${item.processDefName}&nbsp;</td>
<td class="td" title="${item.deputeStatusVal}&nbsp;"><span class="label label-success">${item.deputeStatusVal}&nbsp;</span></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,116 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.log.model.*" %>
<%@ 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>EsbMsgLog编辑</title>
</head>
<body>
<form action="${ctx}/esbMsgLog/update.do" method="post">
<div class="main-container" id="main-container">
<div class="panel-heading">
编辑EsbMsgLog
</div>
<div class="panel panel-primary">
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<a class="btn btn-sm btn-primary" id="submitButton"
onclick="javascript:getReferenceForm(this).submit();"><i
class="icon icon-sure"></i>保存</a> <a class="btn btn-sm btn-primary"
onclick="window.location='${ctx}/esbMsgLog/list.do'"><i
class="icon icon-close"></i>返回</a>
</div>
<div class="panel-body">
<table class='table table-bordered' border="0" cellspacing="0" cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<input type="hidden" id="logId"
name="logId"
value="${esbMsgLog.logId}" />
<!-- 存放表单的区域 -->
<tr>
<th>操作类型:
</th>
<td><input type="text" name="operation"
value="${esbMsgLog.operation}"
id="operation" class="input" /></td>
</tr>
<tr>
<th>消息内容:
</th>
<td><input type="text" name="xmlContent"
value="${esbMsgLog.xmlContent}"
id="xmlContent" class="input" /></td>
</tr>
<tr>
<th>标题:
</th>
<td><input type="text" name="title"
value="${esbMsgLog.title}"
id="title" class="input" /></td>
</tr>
<tr>
<th>创建时间:
</th>
<td><input
value="${esbMsgLog.createTimeString}"
onclick="WdatePicker({dateFmt:'<%=EsbMsgLog.FORMAT_CREATE_TIME%>'})"
id="createTimeString"
name="createTimeString" maxlength="0"
class="input"/></td>
</tr>
<tr>
<th>状态:
</th>
<td><input type="text" name="status"
value="${esbMsgLog.status}"
id="status" class="input" /></td>
</tr>
<tr>
<th>用户ID
</th>
<td><input type="text" name="userIds"
value="${esbMsgLog.userIds}"
id="userIds" class="input" /></td>
</tr>
<tr>
<th>用户名称:
</th>
<td><input type="text" name="userNames"
value="${esbMsgLog.userNames}"
id="userNames" class="input" /></td>
</tr>
<tr>
<th>业务对象ID
</th>
<td><input type="text" name="bizId"
value="${esbMsgLog.bizId}"
id="bizId" class="input" /></td>
</tr>
<tr>
<th>ESB对应业务ID
</th>
<td><input type="text" name="esbBizid"
value="${esbMsgLog.esbBizid}"
id="esbBizid" class="input" /></td>
</tr>
<tr>
<th>应用系统:
</th>
<td><input type="text" name="appId"
value="${esbMsgLog.appId}"
id="appId" class="input" /></td>
</tr>
</table>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,142 @@
<%@page import="com.blueland.bpm.log.model.*" %>
<%@page import="com.blueland.bpm.common.page.*" %>
<%@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>EsbMsgLog管理</title>
<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('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
});
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/esbMsgLog/list.do" method="get" style="display: inline;">
<div class="panel panel-primary">
<div class="panel-heading">
ESB消息日志
</div>
<div class="panel-body">
<div class="form-group well well-sm">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table-search">
<tr>
<td>标题:</td>
<td>
<input class="input" value="${query.title}" id="title" name="title" maxlength="1000" />
</td>
<td>状态:</td>
<td>
<select name="status" id="status" >
<option value="" ${query.status==""?"selected":""}>请选择</option>
<option value="s" ${query.status=="1"?"selected":""}>成功</option>
<option value="e" ${query.status=="2"?"selected":""}>失败</option>
<option value="r" ${query.status=="3"?"selected":""}>已重发</option>
<option value="j" ${query.status=="5"?"selected":""}>已跳过</option>
</select>
</td>
<td>操作类型:</td>
<td>
<select name="operation" id="operation" >
<option value="" ${query.operation==""?"selected":""}>请选择</option>
<option value="1" ${query.operation=="1"?"selected":""}>待办</option>
<option value="2" ${query.operation=="2"?"selected":""}>已办</option>
<option value="3" ${query.operation=="3"?"selected":""}>办结</option>
<option value="5" ${query.operation=="5"?"selected":""}>删除</option>
</select>
</td>
<td>业务对象ID</td>
<td>
<input class="input" value="${query.bizId}" id="bizId" name="bizId" maxlength="100" />
</td>
</tr>
<tr>
<td>ESB对应业务ID</td>
<td>
<input class="input" value="${query.esbBizid}" id="esbBizid" name="esbBizid" maxlength="100" />
</td>
<td>应用系统:</td>
<td>
<input class="input" value="${query.appId}" id="appId" name="appId" maxlength="100" />
</td>
<td>创建时间:</td>
<td>
<input class="input" value="${query.createTimeString}" onclick="WdatePicker({dateFmt:'<%=EsbMsgLog.FORMAT_CREATE_TIME%>'})" id="createTimeString" name="createTimeString" />
</td>
</tr>
<tr>
<td colspan="7">
<input value="查询" type="submit" class="btn btn-xs btn-primary" onclick="getReferenceForm(this).action='${ctx}/esbMsgLog/list.do'"/>
<input value="删除" type="button" class="btn btn-xs btn-danger" onclick="batchDelete('${ctx}/esbMsgLog/delete.do','items',document.forms.queryForm)"/>
</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" onclick="setAllCheckboxState('items',this.checked)"></th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="title" >标题</th>
<th sortColumn="xmlContent" >消息内容</th>
<th sortColumn="operation" >操作类型</th>
<th sortColumn="createTime" >创建时间</th>
<th sortColumn="status" >状态</th>
<th sortColumn="userNames" >用户名称</th>
<th sortColumn="appId" >应用系统</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" value="logId=${item.logId}&"></td>
<td>${item.title}&nbsp;</td>
<td><textarea style="width: 400px">${item.xmlContent}&nbsp;</textarea></td>
<td>${item.operation}&nbsp;</td>
<td>${item.createTimeString}&nbsp;</td>
<td>${item.status}&nbsp;</td>
<td>${item.userNames}&nbsp;</td>
<td>${item.appId}&nbsp;</td>
</tr>
</c:forEach>
</tbody>
</table>
<simpletable:pageToolbar page="${page}">
</simpletable:pageToolbar>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,133 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.log.model.*" %>
<%@ 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>LogSysRuntime新增</title>
</head>
<body>
<form action="${ctx}/logSysRuntime/save.do"
method="post">
<div class="content">
<div class="wrap">
<div class="wrap-top">
<div class="wrap-top-inner">
<a class="top-btn" id="submitButton"
onclick="javascript:getReferenceForm(this).submit();"><i
class="icon icon-sure"></i>保存</a> <a class="top-btn"
onclick="window.location='${ctx}/logSysRuntime/list.do'"><i
class="icon icon-close"></i>返回</a>
</div>
</div>
<div class="column margin50">
<h4 class="wrapper-tit">新增LogSysRuntime</h4>
<div class="bd">
<table class="table-review" border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放表单的区域 -->
<tr>
<th>
日志级别,取值说明: DEBUG调试信息 INFO比较重要的信息 WARN可能存在的潜在问题的信息以及重要的信息 ERROR系统的业务数据异常的信息如数据效验异常 FATAL系统发生了致命的错误的信息如数据库异常、访问某个服务网络异常。<font color="red">*</font>
</th>
<td>
<input type="text" name="logLevel"
value="" id="logLevel"
class="input" />
</td>
</tr>
<tr>
<th>
日志记录时间
<font color="red">*</font>
</th>
<td><input value=""
onclick="WdatePicker({dateFmt:'<%=LogSysRuntime.FORMAT_LOG_CREATE_TIME%>'})"
id="logCreateTimeString"
name="logCreateTimeString" maxlength="0"
class="input" />
</td>
</tr>
<tr>
<th>
所属应用系统ID取值说明GW、GD、FW<font color="red">*</font>
</th>
<td>
<input type="text" name="appId"
value="" id="appId"
class="input" />
</td>
</tr>
<tr>
<th>
所属应用系统名称,取值说明:公文、工单、法务<font color="red">*</font>
</th>
<td>
<input type="text" name="appName"
value="" id="appName"
class="input" />
</td>
</tr>
<tr>
<th>
所属应用系统模块ID取值说明USER_MGR<font color="red">*</font>
</th>
<td>
<input type="text" name="appModuleId"
value="" id="appModuleId"
class="input" />
</td>
</tr>
<tr>
<th>
所属应用系统工程中文名,取值说明:用户管理<font color="red">*</font>
</th>
<td>
<input type="text" name="appModuleName"
value="" id="appModuleName"
class="input" />
</td>
</tr>
<tr>
<th>
所属应用系统工程所在服务器IP
</th>
<td>
<input type="text" name="appProjectIp"
value="" id="appProjectIp"
class="input" />
</td>
</tr>
<tr>
<th>
日志内容<font color="red">*</font>
</th>
<td>
<input type="text" name="logContent"
value="" id="logContent"
class="input" />
</td>
</tr>
<tr>
<th>
备注:
</th>
<td>
<input type="text" name="logReamrk"
value="" id="logReamrk"
class="input" />
</td>
</tr>
</table>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,111 @@
<%@page import="com.blueland.bpm.log.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" %>
<%@ 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_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('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
});
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/logSysRuntime/list.do" method="get" style="display: inline;">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
<h8>流程运行日志</h8>
</div>
<div class="panel-body">
<div class="form-group well well-sm">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search">
<tr>
<td>日志级别</td>
<td>
<input class="input" value="${query.logLevel}" id="logLevel" name="logLevel" maxlength="20" />
</td>
<td>记录时间:</td>
<td>
<input class="input" value="${query.logCreateTimeString}" onclick="WdatePicker({dateFmt:'<%=LogSysRuntime.FORMAT_LOG_CREATE_TIME%>'})" id="logCreateTimeString" name="logCreateTimeString" />
</td>
<td>所属模块:</td>
<td>
<input class="input" value="${query.appModuleId}" id="appModuleId" name="appModuleId" maxlength="50" />
</td>
<td>
<button type="submit" class="btn btn-xs btn-primary" onclick="getReferenceForm(this).action='${ctx}/logSysRuntime/list.do'">
<span class="icon_find">查询</span>
</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增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="appModuleId" >所属模块</th>
<th sortColumn="logLevel" >日志级别</th>
<th sortColumn="logContent" >日志内容</th>
<th sortColumn="logCreateTime" >记录时间</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="item" varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}">
<td>${item.appModuleName}&nbsp;</td>
<td>${item.logLevel}&nbsp;</td>
<td>
<a href="${ctx}/logSysRuntime/show.do?logId=${item.logId}">
${item.logContent}
</a>&nbsp;
</td>
<td>${item.logCreateTimeString}&nbsp;</td>
</tr>
</c:forEach>
</tbody>
</table>
<simpletable:pageToolbar page="${page}">
</simpletable:pageToolbar>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,70 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.log.model.*" %>
<%@ 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>
</head>
<body>
<form action="${ctx}/logSysRuntime/show.do" method="post">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
</div>
<div class="panel-body">
<table class='table table-bordered' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<input type="hidden" id="logId"
name="logId"
value="${logSysRuntime.logId}" />
<!-- 存放表单的区域 -->
<tr>
<td>日志级别<font
color="red">*</font>
</td>
<td><input type="text" name="logLevel"
value="${logSysRuntime.logLevel}"
id="logLevel" class="input" /></td>
<td>记录时间<font
color="red">*</font>
</td>
<td><input
value="${logSysRuntime.logCreateTimeString}"
onclick="WdatePicker({dateFmt:'<%=LogSysRuntime.FORMAT_LOG_CREATE_TIME%>'})"
id="logCreateTimeString"
name="logCreateTimeString" maxlength="0"
class="input"/></td>
</tr>
<tr>
<td>日志内容<font
color="red">*</font>
</td>
<td colspan="3"><textarea name="logContent"
value="${logSysRuntime.logContent}"
id="logContent" style="width: 700px"></textarea></td>
</tr>
</table>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button type="button" onclick="window.location='${ctx}/logSysRuntime/list.do'">
<span class="icon_back">返回</span>
</button>
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,116 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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>
<script type="text/javascript">
function saveMsgRemind(){
//整理数据
$.ajax({
type : "POST",
url : "${ctx}/msgRemind/saveMsgRemind.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.opener.location.reload();
//art.dialog.close();
}
});
}
$(function(){
$("#isReceiveSms").click(
function(){
$("#noRimind").removeAttr("checked");
$("#isReceiveSmsValue").val('Y');
$("#isReceiveTodo").val('Y');
}
);
$("#isReceiveMail").click(
function(){
$("#noRimind").removeAttr("checked");
$("#isReceiveMailValue").val('Y');
$("#isReceiveTodo").val('Y');
}
);
$("#noRimind").click(
function(){
$("#isReceiveSms").removeAttr("checked");
$("#isReceiveMail").removeAttr("checked");
$("#isReceiveMailValue").val('N');
$("#isReceiveSmsValue").val('N');
$("#isReceiveTodo").val('N');
}
);
})
</script>
</head>
<body style="font-size: 13px;">
<form action="${ctx}/msgRemind/save.do" method="post" id="myform">
<!-- 是否接收短信提醒 -->
<input type="hidden" name="isReceiveSms" id="isReceiveSmsValue" value="N"/>
<!-- 是否接收邮件提醒-->
<input type="hidden" name="isReceiveMail" id="isReceiveMailValue" value="N"/>
<!-- 是否接收待阅 -->
<input type="hidden" name="isReceiveReader" id="isReceiveReader" value="N"/>
<!-- 是否接收待办 -->
<input type="hidden" name="isReceiveTodo" id="isReceiveTodo" value="N"/>
<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>
<select name="remindAppId" id="remindAppId">
<c:forEach var="app" items="${apps}">
<option value="${app.appId}">${app.appName}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>
是否接收提醒:
</th>
<td>
<input type="checkbox" id="noRimind" checked="checked"/>不提醒&nbsp;&nbsp;
<input type="checkbox" id="isReceiveSms"/>短信提醒&nbsp;&nbsp;
<input type="checkbox" id="isReceiveMail"/>邮件提醒
</td>
</tr>
</table>
</div>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button type="button" class="btn btn-sm btn-primary"
id="submitButton" onclick="saveMsgRemind();" >
保存
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<button type="button" class="btn btn-sm btn-primary"
onclick="art.dialog.close();">
关闭
<i class="ace-icon fa fa-times bigger-110"></i>
</button>
</div>
</div>
</div>
</form>
<jsp:include page="../../pages/procDefMgr/procDefTree.jsp" flush="false" />
</body>
</html>

View File

@@ -0,0 +1,116 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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>
<script type="text/javascript">
function saveMsgRemind(){
$.ajax({
type : "POST",
url : "${ctx}/msgRemind/updateMsgRemind.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
art.dialog.opener.location.reload();
}
});
}
$(function(){
$("#isReceiveSms").click(
function(){
$("#noRimind").removeAttr("checked");
$("#isReceiveSmsValue").val('Y');
$("#isReceiveTodo").val('Y');
}
);
$("#isReceiveMail").click(
function(){
$("#noRimind").removeAttr("checked");
$("#isReceiveMailValue").val('Y');
$("#isReceiveTodo").val('Y');
}
);
$("#noRimind").click(
function(){
$("#isReceiveSms").removeAttr("checked");
$("#isReceiveMail").removeAttr("checked");
$("#isReceiveMailValue").val('N');
$("#isReceiveSmsValue").val('N');
$("#isReceiveTodo").val('N');
}
);
})
</script>
</head>
<body style="font-size: 13px;">
<form action="${ctx}/msgRemind/save.do" method="post" id="myform">
<input type="hidden" id="remindId" name="remindId" value="${msgRemind.remindId}" />
<input type="hidden" name="remindUserId" value="${msgRemind.remindUserId}" id="remindUserId"/>
<!-- 是否接收短信提醒 -->
<input type="hidden" name="isReceiveSms" id="isReceiveSmsValue" value="${msgRemind.isReceiveSms}"/>
<!-- 是否接收邮件提醒-->
<input type="hidden" name="isReceiveMail" id="isReceiveMailValue" value="${msgRemind.isReceiveMail}"/>
<!-- 是否接收待阅 -->
<input type="hidden" name="isReceiveReader" id="isReceiveReader" value="${msgRemind.isReceiveReader}"/>
<!-- 是否接收待办 -->
<input type="hidden" name="isReceiveTodo" id="isReceiveTodo" value="${msgRemind.isReceiveTodo}"/>
<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>
<select name="remindAppId" id="remindAppId">
<c:forEach var="app" items="${apps}">
<option value="${app.appId}" <c:if test="${app.appId == msgRemind.remindAppId}">selected="selected"</c:if>>${app.appName}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th>
是否接收提醒:
</th>
<td>
<input type="checkbox" id="noRimind"
<c:if test='${"N"==msgRemind.isReceiveSms && "N"==msgRemind.isReceiveMail}'>
checked="checked"
</c:if>
/>不提醒&nbsp;&nbsp;
<input type="checkbox" id="isReceiveSms" <c:if test='${"Y"==msgRemind.isReceiveSms}'>checked="checked"</c:if>/>短信提醒&nbsp;&nbsp;
<input type="checkbox" id="isReceiveMail" <c:if test='${"Y"==msgRemind.isReceiveMail}'>checked="checked"</c:if>/>邮件提醒
</td>
</tr>
</table>
</div>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<button type="button" class="btn btn-sm btn-primary"
id="submitButton" onclick="saveMsgRemind();" >
保存
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<input type="button" class="btn btn-sm btn-primary"
onclick="art.dialog.close();"
value="关 闭" />
</div>
</div>
</div>
</form>
<jsp:include page="../../pages/procDefMgr/procDefTree.jsp" flush="false" />
</body>
</html>

View File

@@ -0,0 +1,164 @@
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@page import="com.blueland.bpm.common.page.*" %>
<%@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_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('queryForm',${page.thisPageNumber},${page.pageSize},'${pageRequest.sortColumns}');
});
function editMsgRemind(remindId){
var url="";
if(null!=remindId && ""!=remindId){
url="${ctx}/msgRemind/edit.do?remindId="+remindId;
}else{
url="${ctx}/msgRemind/create.do";
}
showDiaLog(url,"待办消息提醒",'500px','260px');
}
function showMsgRemind(remindId){
var url="${ctx}/msgRemind/show.do?remindId="+remindId;
showDiaLog(url,"待办消息提醒",'500px','260px');
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/msgRemind/list.do" method="get" style="display: inline;">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
待办消息提醒
</div>
<div class="panel-body" id="panel-body" style="padding:3px;">
<div class="well well-sm" style="margin-bottom: 2px;">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table-search">
<tr>
<!-- <td>提醒流程定义:</td>
<td>
<input class="input" value="${query.remindProcessDefKey}" id="remindProcessDefKey" name="remindProcessDefKey" maxlength="50" />
</td> -->
<td>是否接收短信提醒:</td>
<td>
<select name="isReceiveSms">
<option value="">请选择</option>
<option value="Y" <c:if test='${"Y"==query.isReceiveSms}'>selected="selected"</c:if>>是</option>
<option value="N" <c:if test='${"N"==query.isReceiveSms}'>selected="selected"</c:if>>否</option>
</select>
</td>
<td>是否接收邮件提醒:</td>
<td>
<select name="isReceiveMail">
<option value="">请选择</option>
<option value="Y" <c:if test='${"Y"==query.isReceiveMail}'>selected="selected"</c:if>>是</option>
<option value="N" <c:if test='${"N"==query.isReceiveMail}'>selected="selected"</c:if>>否</option>
</select>
</td>
<td>提醒所属系统:</td>
<td>
<select name="remindAppId" id="remindAppId">
<option value="">-请选择-</option>
<c:forEach var="app" items="${apps}">
<option value="${app.appId}" <c:if test="${app.appId == query.remindAppId}">selected="selected"</c:if>>${app.appName}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td colspan="7">
<button type="submit" class="btn btn-xs btn-primary"
onclick="getReferenceForm(this).action='${ctx}/msgRemind/list.do'">
查&nbsp;&nbsp;询
<i class="ace-icon fa fa-search bigger-110"></i>
</button>
<button type="button" class="btn btn-xs btn-success" onclick="editMsgRemind();">
新增
<i class="ace-icon fa fa-plus bigger-110"></i>
</button>
<button type="button" class="btn btn-xs btn-danger"
onclick="batchDelete('${ctx}/msgRemind/delete.do','items',document.forms.queryForm)">
删除
<i class="ace-icon fa fa-trash-o 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" onclick="setAllCheckboxState('items',this.checked)"></th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="remindUserId" style="width: 50px;">提醒人</th>
<!-- <th sortColumn="remindProcessDefKey" style="width: 300px;">提醒流程定义</th> -->
<th sortColumn="isReceiveSms" style="width: 80px;">是否接收短信提醒</th>
<th sortColumn="isReceiveMail" style="width: 80px;">是否接收邮件提醒</th>
<!-- <th sortColumn="isReceiveTodo" style="width: 100px;">是否接收待办到达提醒</th>
<th sortColumn="isReceiveReader" style="width: 100px;">是否接收待阅到达提醒</th> -->
<th sortColumn="remindAppId" style="width: 100px;">提醒所属系统</th>
<!-- <th sortColumn="remindTempContent" style="width: 200px;">提醒模版内容</th> -->
<th style="width: 100px;">操作</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" value="remindId=${item.remindId}&"></td>
<td>${item.remindUserName}&nbsp;</td>
<!-- <td>${item.remindProcessDefKey}&nbsp;</td> -->
<td>${item.isReceiveSms eq 'Y'?"是":"否"}</td>
<td>${item.isReceiveMail eq 'Y'?"是":"否"}</td>
<!-- <td>${item.isReceiveTodo eq 'Y'?"是":"否"}</td>
<td>${item.isReceiveReader eq 'Y'?"是":"否"}</td> -->
<td>${item.remindAppName}</td>
<!-- <td>${item.remindTempContent}&nbsp;</td> -->
<td>
<!-- <a href="javascript:void(0);" onclick="showMsgRemind('${item.remindId}');">查看</a>&nbsp;&nbsp; -->
<a href="javascript:void(0);" onclick="editMsgRemind('${item.remindId}');">修改</a>
</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 contentType="text/html;charset=UTF-8"%>
<%@page import="com.blueland.bpm.engine.config.model.*" %>
<%@ 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"%>
<head>
<base href="<%=basePath%>">
<title>消息提醒配置编辑</title>
<script type="text/javascript">
function chooseRemindType(){
var value = $("#remindType").val();
if(value=='1'){//不接收提醒
$("#isReceiveSms").val("N");
$("#isReceiveMail").val("N");
showRemindInfoType('hide');
setRemindInfoType('N');
}else if(value=='2'){//接收短信提醒
$("#isReceiveSms").val("Y");
$("#isReceiveMail").val("N");
showRemindInfoType('show');
}else{//接收邮件提醒
$("#isReceiveSms").val("N");
$("#isReceiveMail").val("Y");
showRemindInfoType('show');
}
}
function showRemindInfoType(flag){
if(flag=="show"){
$("#isReceiveTodo").show();
$("#isReceiveReader").show();
}else{
$("#isReceiveTodo").hide();
$("#isReceiveReader").hide();
}
}
//批量设置为否(是否接收待办到达提醒信息 是否接收待阅到达提醒)
function setRemindInfoType(value){
//alert($("input[name='isReceiveTodo']:checked").val());
//$("input[type='radio'][name='isReceiveTodo'][value='Y']").attr("checked", "");
$("input[type='radio'][name='isReceiveTodo'][value='N']").attr("checked", "checked");
//$("input[type='radio'][name='isReceiveReader'][value='Y']").attr("checked", "");
$("input[type='radio'][name='isReceiveReader'][value='N']").attr("checked", "checked");
}
function remindProcessDefNameOnDbClick(name, value) {
$("#remindProcessDefName").val(name);
$("#remindProcessDefKey").val(value);
}
</script>
</head>
<body>
<form action="${ctx}/msgRemind/update.do" method="post">
<input type="hidden" name="remindUserId"
value="${msgRemind.remindUserId}"
id="remindUserId" class="input" />
<input type="hidden" name="remindAppId"
value="${msgRemind.remindAppId}"
id="remindAppId" class="input" />
<!-- 是否接收短信提醒 -->
<input type="hidden" name="isReceiveSms" id="isReceiveSms" value="${msgRemind.isReceiveSms}"/>
<!-- 是否接收邮件提醒 -->
<input type="hidden" name="isReceiveMail" id="isReceiveMail" value="${msgRemind.isReceiveSms}"/>
<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">
<!-- 存放隐藏域的区域 -->
<input type="hidden" id="remindId"
name="remindId"
value="${msgRemind.remindId}" />
<!-- 存放表单的区域 -->
<tr>
<th style="width: 120px;">提醒流程定义:
</th>
<td style="width: 440px;">
${procdefname}
</td>
</tr>
<tr>
<th>是否接收提醒:
</th>
<td>
<c:choose>
<c:when test='${"Y"==msgRemind.isReceiveSms}'>接收短信提醒</c:when>
<c:when test='${"Y"==msgRemind.isReceiveMail}'>接收邮件提醒</c:when>
<c:otherwise>不接收提醒</c:otherwise>
</c:choose>
</td>
</tr>
<tr id="isReceiveTodo">
<th>待办到达提醒:
</th>
<td>
<c:choose>
<c:when test='${"Y"==msgRemind.isReceiveTodo}'>接收</c:when>
<c:otherwise>拒绝</c:otherwise>
</c:choose>
</td>
</tr>
<tr id="isReceiveReader">
<th>待阅到达提醒:
</th>
<td>
<c:choose>
<c:when test='${"Y"==msgRemind.isReceiveReader}'>接收</c:when>
<c:otherwise>拒绝</c:otherwise>
</c:choose>
</td>
</tr>
<!-- <tr>
<th>提醒所属系统<font
color="red">*</font>
</th>
<td><input type="text" name="remindAppId"
value="${msgRemind.remindAppId}"
id="remindAppId" class="input" /></td>
</tr> -->
<tr>
<th>提醒模版内容:
</th>
<td>${msgRemind.remindTempContent}</td>
</tr>
</table>
</div>
<div class="col-md-offset-1 col-md-9" style="text-align: center;">
<a class="btn btn-sm btn-primary"
onclick="art.dialog.close();"><i
class="icon icon-close"></i>关闭</a>
</div>
</div>
</div>
</form>
<jsp:include page="../../pages/procDefMgr/procDefTree.jsp" flush="false" />
</body>
</html>

View File

@@ -0,0 +1,73 @@
<%@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>
<title>流程历史对比</title>
<%@ include file="/commons/meta.jsp"%>
<link rel="stylesheet" type="text/css" href="${ctx}/resource/js/plugins/diff/app/bpmnio.css">
<link rel="stylesheet" type="text/css" href="${ctx}/resource/js/plugins/diff/assets/diff.css">
<link rel="stylesheet" type="text/css" href="${ctx}/resource/js/plugins/diff/app/app.css">
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="content">
<textarea name="xmlOld" rows="5" cols="20" style="display:none" id="xmlOld">
${xmlOld}
</textarea>
<textarea name="xmlNew" rows="5" cols="20" style="display:none" id="xmlNew">
${xmlNew}
</textarea>
<div class="di-container left drop-zone" target="left">
<div class="panel panel-primary">
<div class="panel-heading">
<h8>${nameOld}</h8>
</div>
</div>
<div class="canvas" id="canvas-left"></div>
</div>
<div class="di-container right drop-zone" target="right">
<div class="panel panel-primary">
<div class="panel-heading">
<h8>${nameNew}</h8>
</div>
</div>
<div class="canvas" id="canvas-right"></div>
</div>
<div id="changes-overview" class="collapsed">
<div class="io-control show-hide-toggle">对比详情</div>
<div class="io-control changes"></div>
</div>
</div>
<!-- viewer -->
<script type='text/javascript'src="${ctx}/resource/js/plugins/diff/app/bpmn-viewer.js"></script>
<!-- app -->
<script type='text/javascript' src="${ctx}/resource/js/plugins/diff/app/app.js"></script>
<script type="text/javascript">
$(function(){
getXmlContent();
})
function getXmlContent(){
openDiagram($("#xmlOld").val(),"left");
openDiagram($("#xmlNew").val(),"right");
}
</script>
</body>
</html>

View File

@@ -0,0 +1,177 @@
<%@ 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>
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();
}else{
height = imgHeight;
}
$("#"+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"/>
<div class="main-container" id="main-container">
<%--<div class="panel-heading" style="background: #F5F5F5;color: #333;border: 0 !important;padding: 10px 20px;">
<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">
<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="UserEvent" href=""
data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/activityInfo/actSet.do?processDefId=${processDefinition.procDefId }&appId=${sys}&mAppId=${mAppId}');"
target="frmrightChild">环节配置</a></li>
<!--
<li><a id="UserEvent" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/activityInfo/list.do?processDefId=${processDefinition.procDefId }');"
target="frmrightChild">环节配置(列表)</a></li>
-->
<c:if test="${customSso != '1'}">
<li><a id="UserEducation" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/dataObjectRelation/processList.do?processDefId=${processDefinition.procDefId }')"
target="frmrightChild">扩展属性配置</a></li>
<li>
</c:if>
<li><a id="UserPersonn" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/actInfo/setActResource/setAllResourcelist.do?processDefId=${processDefinition.procDefId}')"
target="frmrightChild">环节人员配置</a></li>
<li>
<!--
<li><a id="NoticeRemind" href="" data-toggle="tab"
onclick="changeHref('frmrightChild','${ctx}/noticeRemindConfig/edit.do?procDefId=${processDefinition.procDefId}')"
target="frmrightChild">通知提醒规则配置</a></li>
<li> -->
<%-- <li>--%>
<!-- <button type="button"
class="btn btn-success" style="padding: 3px 3px 3px 0px;"
data-toggle="dropdown"
onclick="art.dialog.close();">
发布流程
</button> -->
<%-- <a id="UserPersonn" href="" data-toggle="tab"--%>
<%-- style="background-color: #87B97F;"--%>
<%-- onclick="publishProcess('${ctx}/procDefMgr/releaseProcess.do?procDefId=${processDefinition.procDefId}');"--%>
<%-- target="frmrightChild"> <i class="ace-icon fa fa-check-square-o bigger-110"></i>发布流程</a>--%>
<%-- </li>--%>
<li class="right-btn">
<button class="btn btn-sm bigger btn-yellow dropdown-toggle"
data-toggle="dropdown"
type="button"
onclick="publishProcess('${ctx}/procDefMgr/releaseProcess.do?procDefId=${processDefinition.procDefId}');">
<i class="ace-icon fa fa-check-square-o bigger-110"></i>
发布流程
</button>
<c:choose>
<c:when test="${not empty isSubProcess}">
<button class="btn btn-sm bigger btn-yellow dropdown-toggle"
data-toggle="dropdown" type="button"
onclick="art.dialog.close();">
<i class="ace-icon fa fa-arrow-left"></i>关闭
</button>
</c:when>
<c:otherwise>
<button class="btn btn-sm bigger btn-yellow dropdown-toggle"
data-toggle="dropdown" type="submit"
onclick="window.location='${ctx}/procDefMgr/list.do?${queryParams}';">
<i class="ace-icon fa fa-arrow-left"></i>返回
</button>
</c:otherwise>
</c:choose>
</li>
</ul>
<div class="tab-content" style="width: 100%; height: 100%;">
<IFRAME style="width: 100%; height: 800px;" scrolling="no"
src="${ctx}/processInfo/edit.do?procDefId=${processDefinition.procDefId }"
frameBorder="0" id="frmrightChild" name="frmrightChild"
onload="iframeHeight('frmrightChild')" allowTransparency="true"></IFRAME>
</div>
</div>
</div>
</div>
</div>
</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}/procDefMgr/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,82 @@
<%@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() {
var params = {
procDefId: $('#procDefId').val(),
bpmnXml: $('#bpmnXml').val(),
}
jQuery.ajax({
url: "${ctx}/procDefMgr/updateBpmnFile.do",
data: JSON.stringify(params),
contentType : 'application/json;charset=utf-8', //设置请求头信息
type: "POST",
success: function(resp)
{
alert(resp);
}
});
});
});
</script>
</head>
<body class="white-page">
<%@ include file="/commons/messages.jsp"%>
<form id="updateBpmnFileForm" name="updateBpmnFileForm" action="${ctx}/procDefMgr/updateBpmnFile.do" method="post">
<input id="procDefId" 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;margin-top: 15px">
<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,138 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.bpmn.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="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_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() {
});
function createActivityUser(){
var url="${ctx}/setActivityUser/create.do";
showDiaLog(url,"新增环节人员",'800px','600px');
}
function editActivityUser(){
var url="${ctx}/setActivityUser/edit.do";
showDiaLog(url,"修改环节人员",'800px','600px');
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="procDefForm" name="procDefForm"
action="${ctx}/procDefMgr/list.do" method="post"
style="display: inline;">
<div class="position">
<div class="center">
<div class="left">
<div class="right">
<span>当前位置:流程管理 >> 表单设置</span>
</div>
</div>
</div>
</div>
<div class="box2" style="line-height:70%" panelTitle="全局表单" roller="false">
<table class="tableStyle" formMode="true" footer="normal">
<tr>
<td width="100px">表单URL</td>
<td colspan="7">
<input style="width: 600px" name="processPageUrl" id="processPageUrl" value="" />
</td>
</tr>
</table>
</div>
<div class="box2" style="line-height:70%" panelTitle="环节表单" roller="false">
<table class="tableStyle">
<tr>
<th width="60px">节点名称</th>
<th>跳转类型</th>
<th>环节表单</th>
</tr>
<%
BpmnModel bpmnModel = (BpmnModel) request.getAttribute("bpmnModel");
if (bpmnModel != null) {
List<org.activiti.bpmn.model.Process> processes = bpmnModel
.getProcesses();
for (int i = 0; i < processes.size(); i++) {
org.activiti.bpmn.model.Process process = (org.activiti.bpmn.model.Process) processes
.get(i);
Collection<FlowElement> flowElementList = process
.getFlowElements();
for (FlowElement flowElement : flowElementList) {
if (!UserTask.class.isInstance(flowElement)) {
continue;
}
UserTask userTask = (UserTask) flowElement;
%>
<tr class="<%=((i + 1) % 2 == 0 ? "odd" : "even")%>">
<td><%=userTask.getName()+"("+userTask.getId()+")"%> &nbsp;</td>
<td>
<%
if(userTask.getAssignee()!=null){
userTask.getCandidateUsers().add(userTask.getAssignee());
}
%>
<%if(userTask.getCandidateUsers()!=null&&!userTask.getCandidateUsers().isEmpty()){
%>
用户列表:<%=userTask.getCandidateUsers()%>&nbsp;&nbsp;
<%
}if(userTask.getCandidateOrgs()!=null&&!userTask.getCandidateOrgs().isEmpty()){
%>
组织:<%=userTask.getCandidateOrgs()%>&nbsp;&nbsp;
<%
}if(userTask.getCandidateGroups()!=null&&!userTask.getCandidateGroups().isEmpty()){
%>
角色:<%=userTask.getCandidateGroups()%>
<%
}
%></td>
</tr>
<%
}
}
}
%>
</table>
</div>
<br/>
</form>
</body>
</html>

View File

@@ -0,0 +1,217 @@
<%@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}/procDefMgr/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}/procDefMgr/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}/procDefMgr/exportProcessAllFile.do?resourceType=xml&procDefIds="+processDefIds+"&exportall=1";
window.open(url);
}
function flowVersionCompare(){
var obj=getChooseProcDefId();
if(obj==false){
return;
}
var procDefName = $("#procDefName").val();
var height1 = window.parent.document.documentElement.clientHeight;
var height = (parseInt(height1)-45)+"px";
url ="${ctx}/procDefMgr/compareHistoryModel.do?procDefIdOld="+obj.procDefIdOld+"&procDefIdNew="+obj.procDefIdNew+"&nameOld="+obj.nameOld+"&nameNew="+obj.nameNew;
showFullDiaLog(url,'流程历史版本对比&nbsp;&nbsp;&nbsp;&nbsp;当前流程定义名称:'+procDefName);
}
function getChooseProcDefId(){
var appObj={};
var objOld={};
var objNew={};
var i = 0;
var procDefName = $("#procDefName").val();
var sortList = [];
$("input[name='chooseProcDefId']:checkbox:checked").each(function(item){
var list = $(this).val().split("^");
if(i==0){
objOld.procDefId=list[0];
objOld.name=procDefName+"_"+list[1];
objOld.sort = list[1];
}
if(i==1){
objNew.procDefId=list[0];
objNew.name=procDefName+"_"+list[1];
objNew.sort = list[1];
}
i++;
})
if(i<2){
alert("请选择两个需要对比的流程定义版本号!");
return false;
}else{
if(i>2){
alert("不能同时对比两个以上的历史版本");
return false;
}
}
if(objOld.sort > objNew.sort){
appObj.procDefIdOld=objNew.procDefId;
appObj.nameOld=objNew.name;
appObj.procDefIdNew=objOld.procDefId;
appObj.nameNew=objOld.name;
}else{
appObj.procDefIdOld=objOld.procDefId;
appObj.nameOld=objOld.name;
appObj.procDefIdNew=objNew.procDefId;
appObj.nameNew=objNew.name;
}
return appObj;
}
</script>
</head>
<body class="white-page">
<%@ include file="/commons/messages.jsp"%>
<form id="historyForm" name="historyForm"
action="${ctx}/procDefMgr/getHistoryProcessDefModel.do" method="post"
style="display: inline;">
<input type="hidden" name="procDefId" id="procDefId"/>
<input type="hidden" name="procDefName" id="procDefName" value="${result[0].procDefName}"/>
<div style="margin:5px;">
<button type="button" onclick="flowVersionCompare()" class="btn btn-xs btn btn-primary">流程版本对比<i class="ace-icon fa fa-search-plus bigger-110"></i></button>
</div>
<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 style="width: 25px;"></th>
<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><input type="checkbox" name="chooseProcDefId" id="chooseProcDefId"
value="${item.procDefId}^${item.version}"></td>
<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}/procDefMgr/history/delete.do','${item.procDefId}','${item.deploymentId}','true');">删除流程</a>&nbsp;&nbsp;
<c:if test="${ebpmAdmin}">
<a href="javascript:void(0)" onclick="showDiaLog('${ctx}/procDefMgr/editProcessFile.do?procDefId=${item.procDefId}','修改流程XML','1024px','600px');">修改流程XML</a>&nbsp;&nbsp;
<a onclick="showDiaLog('${ctx}/procDefMgr/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}/procDefMgr/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 class="white-page">
<%@ 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}/procDefMgr/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,437 @@
<%@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="com.blueland.bpm.manage.util.*"%>
<%@page import="java.util.*"%>
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ 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 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/procDefMgr/deployProcessFile.jsp";
showDiaLog(url,"导入流程模型",'600px','320px');
}
function importProcessConfigData(){
var url="${ctx}/pages/procDefMgr/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().split("^")[0]);
})
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}/procDefMgr/viewImage.do?procDefId="+procDefId;
showDiaLogList(url,'流程图');
}
function editProcess(processDefId,processStartIsshow){
//if(processStartIsshow=="RELEASE"&&window.confirm("此流程为发布状态,点击配置后流程将处于未发布状态,您确定配置流程吗?")){
/* jQuery.ajax({
type: "POST",
url: "${ctx}/procDefMgr/unReleaseProcess.do",
data: {procDefId:processDefId},
success: function(resp)
{
//alert(resp);
}
}); */
//}
//序列化表单 保存查询条件页码则直接加在url之后在后台存入session中
var queryparams = $("#procDefForm").serialize();
window.location.href="${ctx}/procDefMgr/config.do?procDefId="+processDefId+"&"+queryparams+"&pageNumber="+${page.thisPageNumber};
}
function exportProcessAllFile(isall){
//判断是否选中全选
var url = "";
//if("checked"==checkbox){//全选
if("0"==isall){//全选
var totalCount = "${page.totalCount}";
if("0"==totalCount){
alert("当前没有符合要求的数据!!");
return;
}else{
url="${ctx}/procDefMgr/exportProcessAllFile.do?resourceType=xml&exportall=0";
}
}else{//非全选
var processDefIds = getItemsProcDefIds();
if(""==processDefIds){
return;
}
url="${ctx}/procDefMgr/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().split("^")[0]);
});
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 viewFlowFile(fileId){
var url = "<%=MyContants.BPM_FRONT_PATH%>"+"/ebpm-bpa-front/#/detail?fileId="+fileId+"&type=.bpmn&isMenu=false";
//window.open(url);
showDiaLog(url,'查看流程梳理-业务流程资产','1024px','600px');
}
function processTypeNameOnDbClick(name, value) {
$("#processTypeName").val(name);
$("#processTypeId").val(value);
}
//流程设计
function addBpmnModel(){
var obj=getItemsInfo();
if(!obj.flag){
return;
}
var url = "<%=MyContants.BPM_PROCESS_MODELER_PATH%>"+"#/bpmnModel?appId="+$("#appId").val()+"&procDefKey="+obj.procDefKey;
window.open (url,'流程建模','width='+(window.screen.availWidth-10)+',height='+(window.screen.availHeight-30)+ ',top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
}
//拼装数据
function getItemsInfo(){
var obj ={
"procDefKey":"",
"flag":false
}
var chk_procDefKey =[];
var chk_procDefName =[];
$("input[name='items']:checkbox:checked").each(function(){
chk_procDefKey.push($(this).val().split("^")[1]);
})
if(chk_procDefKey.length>1){
alert("不能同时设计多个流程!");
return false;
}else if(chk_procDefKey.length==1){
obj.procDefKey = chk_procDefKey[0];
obj.flag=true;
}else if (chk_procDefKey.length==0) {
obj.flag=true;
}
return obj
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="procDefForm" name="procDefForm"
action="${ctx}/procDefMgr/list.do" method="post"
style="display: inline;">
<input type="hidden" name="appId" id ="appId" value="<%=session.getAttribute("app_id")%>"/>
<input type="hidden" id="flag" name="flag" value="${flag}"/>
<!-- <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="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}" />
&lt;%&ndash; <a class="blue" href="javascript:void(0);"> &ndash;%&gt;
&lt;%&ndash; <i class="ace-icon fa fa-search bigger-130" &ndash;%&gt;
&lt;%&ndash; onclick="showMenu('processTypeName','',''); return false;"/> &ndash;%&gt;
&lt;%&ndash; </i></a>&ndash;%&gt;
</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>
</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><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="addBpmnModel()" 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>
<c:if test="${customSso != '1'}">
<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}/procDefMgr/export.do" class="btn btn-xs btn-orange">
导出流程清单 <i class="ace-icon fa fa-cloud-download bigger-110"></i>
</a>
</c:if>
</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 style="width: 200px">流程定义KEY</th>
<th style="width: 60px;">版本号</th>
<th sortColumn="procDefName">流程定义名称</th>
<th sortColumn="deployTime" style="width: 150px">创建时间</th>
<th sortColumn="procDefVersion" style="width: 150px;">状态</th>
<th sortColumn="processStartIsshow" style="width: 150px;">是否可见</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}^${fn:split(item.processDefId,":")[0]}"></td>
<td class="td" title="${fn:split(item.processDefId,":")[0]}">${fn:split(item.processDefId,":")[0]}&nbsp;</td>
<td align="center" class="td" title="${fn:split(item.processDefId,":")[1]}">${fn:split(item.processDefId,":")[1]}&nbsp;</td>
<td class="td" title="${item.processDefName}">${item.processDefName}&nbsp;</td>
<td title=""><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 style="list-style: none;"><a
onclick="publishProcess('${ctx}/procDefMgr/releaseProcess.do?procDefId=${item.processDefId}');"
href="javascript:void(0);">发布流程</a></li>
<li style="list-style: none;"><a
onclick="editProcess('${item.processDefId}','${item.processStartIsshow}')"
href="javascript:void(0);">配置流程</a></li>
<%-- <li style="list-style: none;"><a href="javascript:void(0);"
onclick="converToModel('${ctx}/procDefMgr/convert-to-model.do?procDefId=${item.processDefId}');">转换成模型</a>
</li> --%>
<!--
<li><a
href="${ctx}/procDefMgr/exportProcessAllFile.do?resourceType=xml&procDefId=${item.processDefId}"
target="_blank">导出流程</a></li>
<li>
<li><a
href="${ctx}/procDefMgr/exportProcessResource.do?resourceType=xml&procDefId=${item.processDefId}"
target="_blank">导出流程模型</a></li>
<li><a
href="${ctx}/procDefMgr/exportProcessConfigData.do?procDefId=${item.processDefId}"
target="_blank">导出流程配置</a></li>
-->
<li style="list-style: none;"><a href="javascript:void(0)"
onclick="showDiaLog('${ctx}/procDefMgr/editProcessFile.do?procDefId=${item.processDefId}','修改流程XML','1024px','600px');">修改流程XML</a>
</li>
<li style="list-style: none;"><a href="javascript:void(0)"
onclick="showDiaLog('${ctx}/procDefMgr/getHistoryProcessDefModel.do?procDefId=${item.processDefId}','流程历史版本&nbsp;&nbsp;&nbsp;&nbsp;当前流程定义名称:${item.processDefName}','1024px','600px');">流程历史版本</a>
</li>
<c:if test="${not empty item.arisCode}">
<li style="list-style: none;"><a href="javascript:void(0)"
onclick="viewFlowFile(${item.arisCode})">流程资产</a>
</li>
</c:if>
<!-- <li><a href="javascript:void(0)"
onclick="deleteDeploy('${ctx}/procDefMgr/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,276 @@
<%@ 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>
<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 type="text/javascript">
$(document).ready(function() {
var noticeScopes = '${noticeRemindConfig.noticeScopes}';
var arr = new Array();
arr = noticeScopes.split(',');
for (var i = 0; i < arr.length; i++) {
if (arr[i] == 'QC') {
$('#noticeScopes1').attr("checked", "true");
} else if (arr[i] == 'JB') {
$('#noticeScopes2').attr("checked", "true");
} else if (arr[i] == 'ZD') {
$('#noticeScopes3').attr("checked", "true");
}
}
var inp1 = $('#appManagerNames').get(0);
var inp2 = $('#appManagerIds').get(0);
var inp3 = $('#noticeScopes3').attr('checked');
if (inp3) {
inp1.setAttribute('readonly', 'true');
inp1.removeAttribute('disabled')
inp2.setAttribute('readonly', 'true');
inp2.removeAttribute('disabled')
} else {
inp1.setAttribute('disabled', 'disabled');
inp1.removeAttribute('readonly');
inp2.setAttribute('disabled', 'disabled');
inp2.removeAttribute('readonly');
}
$('#noticeScopes3').on('click', function() {
var inp1 = $('#appManagerNames').get(0);
var inp2 = $('#appManagerIds').get(0);
var inp3 = $('#noticeScopes3').attr('checked');
if (inp3) {
inp1.setAttribute('readonly', 'true');
inp1.removeAttribute('disabled')
inp2.setAttribute('readonly', 'true');
inp2.removeAttribute('disabled')
} else {
inp1.setAttribute('disabled', 'disabled');
inp1.removeAttribute('readonly');
inp2.setAttribute('disabled', 'disabled');
inp2.removeAttribute('readonly');
}
});
var inp4 = $('#activityDefNames').get(0);
var inp5 = $('#activityDefIds').get(0);
var inp6 = $('input:radio[name="noticeType"]:checked').val();
if (inp6 == '2') {
inp4.setAttribute('readonly', 'true');
inp4.removeAttribute('disabled')
inp5.setAttribute('readonly', 'true');
inp5.removeAttribute('disabled')
} else {
inp4.setAttribute('disabled', 'disabled');
inp4.removeAttribute('readonly');
inp5.setAttribute('disabled', 'disabled');
inp5.removeAttribute('readonly');
}
$(':radio').on('click', function() {
var inp4 = $('#activityDefNames').get(0);
var inp5 = $('#activityDefIds').get(0);
var inp6 = $('input:radio[name="noticeType"]:checked').val();
if (inp6 == '2') {
inp4.setAttribute('readonly', 'true');
inp4.removeAttribute('disabled')
inp5.setAttribute('readonly', 'true');
inp5.removeAttribute('disabled')
} else {
inp4.setAttribute('disabled', 'disabled');
inp4.removeAttribute('readonly');
inp5.setAttribute('disabled', 'disabled');
inp5.removeAttribute('readonly');
}
});
$("#submitButton").click(function() {
var noticeDrafters = $('#noticeScopes1').attr('checked');
var noticeOperator = $('#noticeScopes2').attr('checked');
var noticeUser = $('#noticeScopes3').attr('checked');
if (!noticeDrafters && !noticeOperator && !noticeUser) {
alert("提醒用户必选一个");
return false;
}
if (noticeUser) {
var appManagerIds = $("#appManagerIds").val();
if (appManagerIds == null || appManagerIds == '') {
alert("指定用户不能为空");
return false;
}
}
var noticeType = $('input:radio[name="noticeType"]:checked').val();
if (noticeType == null) {
alert("提醒规则必选一个");
return false;
}
if (noticeType == '2') {
var activityDefIds = $('#activityDefIds').val();
if (activityDefIds == null || activityDefIds == '') {
alert("指定环节不能为空");
return false;
}
}
var noticeContent = $.trim($('#noticeContent').val());
if (noticeContent == null || noticeContent == '') {
alert("提醒内容不能为空");
$('#noticeContent').focus();
return false;
}
setMask("main-container");
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/noticeRemindConfig/update.do",
data : $('#myform').serialize(),
success : function(resp) {
alert(resp);
$('#main-container').unmask();
if (resp == '操作成功') {
window.location.reload();
}
}
});
});
//清空
$("#refreshButton").click(function() {
var procDefId = $("#procDefId").val();
var noticeType = '${noticeRemindConfig.noticeType}';
if(noticeType == null || noticeType == ''){
refreshData();
return false;
}
setMask("main-container");
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/noticeRemindConfig/delete.do",
data : {
procDefId : procDefId
},
success : function(resp) {
alert(resp);
$('#main-container').unmask();
window.location.reload();
}
});
});
});
function createActUser(values, names) {
$("#appManagerIds").val(values.replace(/USER#/g, ""));
$("#appManagerNames").val(names);
}
function createActConfig(values, names) {
$("#activityDefIds").val(values);
$("#activityDefNames").val(names);
}
function refreshData(){
$("#appManagerNames").val("");
$("#appManagerIds").val("");
$("#activityDefNames").val("");
$("#activityDefIds").val("");
$("#noticeContent").val("");
$('input:checkbox[name=noticeScopes]').attr('checked', false);
$('input:radio[name=noticeType]').attr('checked',false);
}
</script>
</head>
<body style="font-size: 13px; font-family: 'Open Sans';">
<form action="${ctx}/noticeRemindConfig/update.do" method="post"
id="myform">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<input type="hidden" id="oldValue" /> <input type="hidden"
id="procDefId" name="procDefId"
value="${noticeRemindConfig.procDefId}" style="width: 200px;" />
<input type="hidden" id="procDefKey" name="procDefKey"
value="${noticeRemindConfig.procDefKey}" style="width: 200px;" />
<table class='table table-bordered' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<!-- 存放表单的区域 -->
<tr>
<td>提醒用户:</td>
<td colspan="3">
<!-- <div class="checkbox"> --> <label> <input
class="ace input-lg" type="checkbox" name="noticeScopes"
id="noticeScopes1" value="QC" /> <span class="lbl">通知起草人</span>
</label> <label> <input class="ace input-lg" type="checkbox"
name="noticeScopes" id="noticeScopes2" value="JB" /> <span
class="lbl">流程经办人</span>
</label> <label> <input class="ace input-lg" type="checkbox"
name="noticeScopes" id="noticeScopes3" value="ZD" /> <span
class="lbl">指定用户</span>
</label> <input style="width: 400px" type="text" name="noticeUserNames"
id="appManagerNames"
value="${noticeRemindConfig.noticeUserNames }"
disabled="disabled"
onclick="showDiaLog('${ctx}/pages/user_org_select.jsp?showTreeType=USER&isMultiSelect=true&roleFlag=false&orgId=0', '指定用户', '800px', '500px');" />
<input type="hidden" name="noticeUserIds" id="appManagerIds"
disabled="disabled" value="${noticeRemindConfig.noticeUserIds }" />
<!-- </div> -->
</td>
</tr>
<tr>
<td>提醒规则:</td>
<td colspan="3">
<!-- <div class="radio"> --> <label> <input
class="ace input-lg" type="radio" name="noticeType"
id="noticeType1" value="1"
<c:if test="${noticeRemindConfig.noticeType == '1'}">checked="checked"</c:if> />
<span class="lbl">办结提醒</span>
</label> <label> <input class="ace input-lg" type="radio"
name="noticeType" id="noticeType2" value="2"
<c:if test="${noticeRemindConfig.noticeType == '2'}">checked="checked"</c:if> />
<span class="lbl">指定环节提醒</span>
</label> <input style="width: 400px" type="text" name="activityDefNames"
id="activityDefNames"
value="${noticeRemindConfig.activityDefNames }"
disabled="disabled"
onclick="showDiaLog('${ctx}/noticeRemindConfig/selectActInfoConfigs.do?processDefId=${noticeRemindConfig.procDefId}', '选择节点', '800px', '500px');" />
<input type="hidden" name="activityDefIds" id="activityDefIds"
value="${noticeRemindConfig.activityDefIds}" /> <!-- </div> -->
</td>
</tr>
<tr>
<td>提醒内容:</td>
<td colspan="3"><span class="float_left"> <textarea
preValue="${noticeRemindConfig.noticeContent}"
onblur="moveout(this.id);" name="noticeContent"
id="noticeContent" style="width: 800px;">${noticeRemindConfig.noticeContent}</textarea>
</span></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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<button type="button" class="btn btn-sm btn-danger"
id="refreshButton" />
重置 <i class="ace-icon glyphicon glyphicon-refresh"></i>
</button>
</div>
</div>
</div>
</div>
</form>
<jsp:include page="../../../pages/sysGlType/selectTypeTree.jsp"
flush="false" />
</body>
</html>

View File

@@ -0,0 +1,108 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.bpmn.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="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_js_plugins}/simpletable/simpletable.css"
type="text/css" rel="stylesheet">
<script type="text/javascript"
src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
<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 type="text/javascript">
$(document).ready(function() {
$("#submitButton").click(function(){
var retValus='';
var retNames='';
$('input[name="resources"]:checked').each(function(i){
if(i>0){
retValus += ",";
retNames += ",";
}
var trId = $(this).val();
retValus += $(this).val();
retNames += $('#'+trId).attr("dataName");
});
if(retValus == null || retValus == ''){
alert("请选择节点");
return false;
}
art.dialog.opener.createActConfig(retValus,retNames);
art.dialog.close();
});
});
</script>
</head>
<body id="content">
<form id="queryForm" name="queryForm"
action="${ctx}/actInfo/setActResource/list.do" method="post"
style="display: inline;">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="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 style="width: 25px;"><input type="checkbox"
onclick="setAllCheckboxState('resources',this.checked)"></th>
<th>节点ID</th>
<th>节点名称</th>
</tr>
</thead>
<tbody>
<c:forEach items="${actInfoConfigs}" var="item"
varStatus="status">
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}" id="${item.activityDefId}" dataName="${item.activityDefName}">
<td><input type="checkbox" name="resources"
value="${item.activityDefId}"></td>
<td>${item.activityDefId}</td>
<td>${item.activityDefName}&nbsp;</td>
</tr>
</c:forEach>
</tbody>
</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>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,185 @@
<%@ 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">
<hred>
<%@ include file="/commons/meta.jsp" %>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/zTree/css/demo.css" type="text/css">
<link rel="stylesheet" href="${ctx}/resource/js/plugins/zTree/css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="${ctx}/resource/js/plugins/zTree/js/jquery.ztree.core-3.4.js"></script>
<script type="text/javascript" src="${ctx}/resource/js/plugins/zTree/js/jquery.ztree.excheck-3.4.js"></script>
<SCRIPT type="text/javascript">
var p_inputObj;
var p_initParams1="";
var p_initParams2="";
var p_initParams3="";
var p_initParams4=false;
function createSetting(){
var setting = {
view: {
dblClickExpand: false,
expandSpeed: "slow",
selectedMulti: false
},
data: {
simpleData: {
enable : true,
idKey : "id",
pIdKey : "pId" ,
DIY:"isAccessTopMenu"
}
},async: {
enable: true,
url:"${ctx}/procDefMgr/getProcDefTree.do",
autoParam:["id", "name=n","level=lv"],
otherParam:{"assignTreeId":p_initParams1,"treeLevel":p_initParams2}
},
callback: {
onDblClick: onDblClick
}
};
return setting;
}
function createSettingCheck(){
var setting = {
check: {
enable: true,
chkboxType: {"Y":"", "N":""}
},
view: {
dblClickExpand: false,
expandSpeed: "slow"
},
data: {
simpleData: {
enable : true,
idKey : "id",
pIdKey : "pId" ,
DIY:"isAccessTopMenu"
}
},async: {
enable: true,
url:"${ctx}/procDefMgr/getProcDefTree.do",
autoParam:["id", "name=n","level=lv"],
otherParam:{"assignTreeId":p_initParams1,"treeLevel":p_initParams2}
},
callback: {
beforeClick: beforeClick,
onCheck: onCheck
}
};
return setting;
}
function beforeClick(treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("p_treeDept");
zTree.checkNode(treeNode, !treeNode.checked, null, true);
return false;
}
function onCheck(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("p_treeDept"),
nodes = zTree.getCheckedNodes(true),
name = "",
id="";
//nodes.sort(function compare(a,b){return a.id-b.id;});
for (var i=0, l=nodes.length; i<l; i++) {
if(nodes[i].level<=0||nodes[i].level<=p_initParams3)
continue;
name += nodes[i].name + ",";
id += nodes[i].id + ",";
}
if (id.length > 0 ) id = id.substring(0, id.length-1);
if (name.length > 0 ) name = name.substring(0, name.length-1);
try{
var fun=p_inputObj+"OnDbClick";
eval(fun+"('"+name +"','"+id+"')");
}catch(e){}
}
function onDblClick(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("p_treeDept"),
nodes = zTree.getSelectedNodes(),
name = "",
id="";
//nodes.sort(function compare(a,b){return a.id-b.id;});
for (var i=0, l=nodes.length; i<l; i++) {
if(nodes[i].level<=0||nodes[i].level<=p_initParams3)
return;
name += nodes[i].name + ",";
id += nodes[i].id + ",";
}
if (id.length > 0 ) id = id.substring(0, id.length-1);
if (name.length > 0 ) name = name.substring(0, name.length-1);
try{
var fun=p_inputObj+"OnDbClick";
eval(fun+"('"+name +"','"+id+"')");
}catch(e){}
hideMenu();
}
function showMenu(inputName,params1,params2,params3) {
//alert(params2);
p_initParams1=params1;
p_initParams2=params2;
p_initParams3=params3;
$.fn.zTree.init($("#p_treeDept"), createSetting());
p_inputObj=inputName;
var cityObj = $("#"+inputName);
var cityOffset = cityObj.offset();
$("#p_menuContent").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
}
function showMenu1(inputName,params1,params2,params3) {
//alert(params2);
p_initParams1=params1;
p_initParams2=params2;
p_initParams3=params3;
$.fn.zTree.init($("#p_treeDept"), createSettingCheck());
p_inputObj=inputName;
var cityObj = $("#"+inputName);
var cityOffset = cityObj.offset();
$("#p_menuContent").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
}
function hideMenu() {
$("#p_menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
function onBodyDown(event) {
if (!(event.target.id == "p_menuBtn" || event.target.id == "p_menuContent" || $(event.target).parents("#p_menuContent").length>0)) {
hideMenu();
}
}
$(document).ready(function(){
//
});
</SCRIPT>
</HEAD>
<BODY>
<div id="p_menuContent" class="menuContent" style="z-index:1;display:none; position: absolute;">
<ul id="p_treeDept" class="ztree" style="margin-top:0; width:230px;height: auto;max-height: 300px;"></ul>
</div>
</BODY>
</HTML>

View File

@@ -0,0 +1,306 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/commons/taglibs.jsp"%>
<%@page import="com.blueland.bpm.manage.util.*"%>
<%
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 type="text/javascript">
$(document).ready(function() {
$("#submitButton").click(function() {
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
url : "${ctx}/processInfo/update.do",
data : $('#myform').serialize(),
success : function(resp) {
$("#isChange",window.parent.document).val("0");//保存完毕后把是否已修改还原成未修改
alert(resp);
}
});
});
$('#mprotocol').change(function(){
var val=$(this).children('option:selected').val();
if(val=="http"){
$("#otherSysDealStatus option[value='no']").attr("selected", "selected");
}else{
$("#otherSysDealStatus option[value='yes']").attr("selected", "selected");
}
});
//获取绑定的流程梳理的文件名称
if($("#arisCode").val() != null){
var url = "<%=MyContants.BPM_FILE_PATH%>"+"/ebpm-bpa-web/flow/getAtt?fileId="+$("#arisCode").val();
jQuery.ajax({
url : url,
type : "GET",
success : function(resp) {
$("#arisCodeName").val(resp.NAME);
}
});
}
});
function processTypeNameOnDbClick(name, value) {
//判断流程分类是否修改
moveout("processTypeId");
$("#processTypeName").val(name);
$("#processTypeId").val(value);
}
//焦点移出时对比现在的值和原来的值是否一致 如果不一致则修改父页面的是否修改的标记,标记为已修改
function moveout(id){
//获取父页面是否修改的标记
var isChange = $("#isChange",window.parent.document).val();
if(isChange==0){//如果父页面标记为未修改 则执行下面的操作
var preValue = $("#"+id).attr("preValue");
var value = $("#"+id).val();
if(preValue != value){
//设置标记为已修改
$("#isChange",window.parent.document).val("1");
}
}
}
function save(){
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type : "POST",
async : false,
url : "${ctx}/processInfo/update.do",
data : $('#myform').serialize(),
success : function(resp) {
//设置标记为已修改
$("#isChange",window.parent.document).val("0");//保存完毕后把是否已修改还原成未修改
alert(resp);
}
});
}
function arisCodeNameOnDbClick(name, value) {
$("#arisCodeName").val(name);
$("#arisCode").val(value);
}
function viewFlowFile(){
if($("#arisCode").val() != ""){
var url = "<%=MyContants.BPM_FRONT_PATH%>"+"/ebpm-bpa-front/#/detail?fileId="+$("#arisCode").val()+"&type=.bpmn&isMenu=false";
showDiaLog(url,'查看流程梳理-业务流程资产','1024px','600px');
}else{
alert("请选择流程梳理-业务流程")
}
}
</script>
</head>
<body style="font-size: 13px;font-family: 'Open Sans';" class="white-page">
<form action="${ctx}/processInfo/update.do" method="post"
id="myform">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-body">
<input type="hidden" id="oldValue"/>
<input type="hidden" id="processDefName" name="processDefName"
value="${processInfoConfig.processDefName}" style="width: 200px;" />
<input type="hidden" id="processDefId" name="processDefId"
value="${processInfoConfig.processDefId}" style="width: 200px;" />
<input type="hidden" id="processDefKey" name="processDefKey"
value="${processInfoConfig.processDefKey}" style="width: 200px;" />
<input type="hidden" id="processMgrState" name="processMgrState"
value="${processInfoConfig.processMgrState}" style="width: 200px;" />
<input type="hidden" id="processModelSyncState" name="processModelSyncState"
value="${processInfoConfig.processModelSyncState}" style="width: 200px;" />
<table class='table table-bordered form-table' border="0" cellspacing="0"
cellpadding="0" id="myTable">
<!-- 存放隐藏域的区域 -->
<!-- 存放表单的区域 -->
<tr>
<td>流程KEY</td>
<td>${processInfoConfig.processDefKey}</td>
<td>流程ID</td>
<td>${processInfoConfig.processDefId}</td>
</tr>
<tr>
<td>流程名称:</td>
<td>${processInfoConfig.processDefName}</td>
<td>流程版本号:</td>
<td>${processInfoConfig.processVersion}</td>
</tr>
<tr>
<td>流程类型:</td>
<td style="width: 250px;">
<input type="text"
<c:choose>
<c:when test="${not empty processInfoConfig.processTypeName}">
value="${processInfoConfig.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"
value="${processInfoConfig.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>
<td>流程是否可见:</td>
<td>
<select name="processStartIsshow" id="processStartIsshow"
preValue="${processInfoConfig.processStartIsshow}"
onchange="moveout(this.id);">
<option value="Y" ${processInfoConfig.processStartIsshow=="Y"?"selected":""}>可见</option>
<option value="N" ${processInfoConfig.processStartIsshow=="N"?"selected":""}>不可见</option>
</select>
</td>
</tr>
<tr>
<td>流程排序号:</td>
<td><input type="text" name="processStartOrder"
preValue="${processInfoConfig.processStartOrder}"
onblur="moveout(this.id);"
value="${processInfoConfig.processStartOrder}"
id="processStartOrder" maxlength="200"
class="validate[length[0,1000]]"
onkeyup="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')"/></td>
<td>流程更新时间:</td>
<td>${processInfoConfig.lastUpdateTimeString}</td>
<!--
<td>起草权限:</td>
<td><input type="text" name="processStartAuth" value=""
id="processStartAuth" class="validate[length[0,500]]" /></td>
-->
</tr>
<c:if test="${customSso != '1'}">
<tr>
<td rowspan="2" style="width: 200px;">桌面端相关配置:</td>
<td style="width: 100px;">环节表单路径</td>
<td colspan="3">
<input style="width: 600px" type="text" name="processPageUrl" value="${processInfoConfig.processPageUrl}" id="processPageUrl" class="validate[length[0,500]]" />
</td>
</tr>
<tr>
<td>处理协议</td>
<td colspan="3">
<select name="cprotocol" id="cprotocol">
<option value="hnzy:workitem" ${processInfoConfig.cprotocol=='hnzy:workitem'||processInfoConfig.cprotocol==null?'selected':''}>专用浏览器模式</option>
<option value="http" ${processInfoConfig.cprotocol=='http'?'selected':''}>普通浏览器模式</option>
</select>
</td>
</tr>
<tr>
<td rowspan="3">手机端相关配置:</td>
<td>环节表单路径</td>
<td colspan="3">
<input style="width: 600px" type="text" name="murl" value="${processInfoConfig.murl}" id="murl" class="validate[length[0,500]]" />
</td>
</tr>
<tr>
<td>处理协议</td>
<td colspan="3">
<select name="mprotocol" id="mprotocol">
<option value="none" ${processInfoConfig.mprotocol=='none'||processInfoConfig.mprotocol==null?'selected':''}>不支持手机处理</option>
<option value="http" ${processInfoConfig.mprotocol=='http'?'selected':''}>H5</option>
</select>
</td>
</tr>
<tr>
<td>处理状态</td>
<td colspan="3">
<select name="otherSysDealStatus" id="otherSysDealStatus">
<option value="" ${processInfoConfig.mprotocol==null?'selected':''}>请选择</option>
<option value="yes" ${processInfoConfig.otherSysDealStatus=='yes'?'selected':''}>仅阅读</option>
<option value="no" ${processInfoConfig.otherSysDealStatus=='no'?'selected':''}>可处理</option>
</select>
</td>
</tr>
<tr>
<td width="15%">流程业务处理类:</td>
<td colspan="3"><input style="width: 550px;" type="text"
name="processHandlerClassPath"
preValue="${processInfoConfig.processHandlerClassPath}"
onblur="moveout(this.id);"
value="${processInfoConfig.processHandlerClassPath}"
id="processHandlerClassPath" maxlength="200"
class="validate[length[0,1000]]" /></td>
</tr>
</c:if>
<%-- <tr>
<td width="15%">流程梳理-业务流程:</td>
<td colspan="3">
<input
<c:choose>
<c:when test="${not empty processInfoConfig.arisCode}">
value=""
</c:when>
<c:otherwise>
value="请选择"
</c:otherwise>
</c:choose>
name="arisCodeName" id="arisCodeName" readonly
onclick="showFlowFile('arisCodeName','',''); return false;" />
<input
type="hidden" name="arisCode" id="arisCode"
preValue="${processInfoConfig.arisCode}"
value="${processInfoConfig.arisCode}" />
<a class="blue" href="javascript:void(0);">
<i class="ace-icon fa fa-search bigger-130"
onclick="viewFlowFile()"/>
</i></a>
</td>
</tr> --%>
<!--
<tr>
<td>更新者:</td>
<td></td>
<td>更新时间:</td>
<td>${processInfoConfig.lastUpdateTimeString}</td>
</tr>
-->
<tr>
<td>流程备注:</td>
<td colspan="3"><span class="float_left"> <textarea
preValue="${processInfoConfig.remark}"
onblur="moveout(this.id);"
name="remark" id="remark" style="width: 550px;">${processInfoConfig.remark}</textarea>
</span></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>
<jsp:include page="../../../pages/sysGlType/selectTypeTree.jsp" flush="false" />
</body>
</html>

View File

@@ -0,0 +1,155 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/commons/taglibs.jsp" %>
<%@page import="com.blueland.bpm.manage.util.*"%>
<%
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>
<script type="text/javascript" src="${ctx_js_plugins}/zTree/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="${ctx_js_plugins}/zTree/js/jquery.ztree.core-3.4.js"></script>
<script type="text/javascript" src="${ctx_js_plugins}/zTree/js/jquery.ztree.excheck-3.4.js"></script>
<link rel="stylesheet" href="${ctx_js_plugins}/zTree/css/demo.css" type="text/css">
<link rel="stylesheet" href="${ctx_js_plugins}/zTree/css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript">
var jQuery_1_4_4= $.noConflict(true);
</script>
<SCRIPT type="text/javascript">
var inputObj;
var initParams1="";
var initParams2="";
var initParams3="";
var initParams4=false;
function createFileSetting(){
var setting = {
view: {
dblClickExpand: false,
expandSpeed: "slow",
selectedMulti: false
},
data: {
simpleData: {
enable : true,
idKey : "id",
pIdKey : "pId" ,
DIY:"isAccessTopMenu"
}
},async: {
enable: true,
url:"<%=MyContants.BPM_FILE_PATH%>"+"/ebpm-bpa-web/flow/getTreeProcessFile"
},
callback: {
onClick: onFileClick
}
};
return setting;
}
function beforeClick(treeId, treeNode) {
var zTree = jQuery_1_4_4.fn.zTree.getZTreeObj("treeFile");
zTree.checkNode(treeNode, !treeNode.checked, null, true);
return false;
}
function onCheck(e, treeId, treeNode) {
var zTree = jQuery_1_4_4.fn.zTree.getZTreeObj("treeFile"),
nodes = zTree.getCheckedNodes(true),
name = "",
id="";
//nodes.sort(function compare(a,b){return a.id-b.id;});
for (var i=0, l=nodes.length; i<l; i++) {
if(nodes[i].level<=0||nodes[i].level<=initParams3)
continue;
name += nodes[i].name + ",";
id += nodes[i].id + ",";
}
if (id.length > 0 ) id = id.substring(0, id.length-1);
if (name.length > 0 ) name = name.substring(0, name.length-1);
try{
var fun=inputObj+"OnDbClick";
eval(fun+"('"+name +"','"+id+"')");
}catch(e){}
}
function onFileClick(e, treeId, treeNode) {
if(treeNode.fileId == null){
return;
}
var zTree = jQuery_1_4_4.fn.zTree.getZTreeObj("treeFile"),
nodes = zTree.getSelectedNodes(),
name = "",
fileId="";
if(nodes==""){
try{
var fun=inputObj+"OnDbClick";
eval(fun+"('','')");
}catch(e){}
hideMenu();
return ;
}
//nodes.sort(function compare(a,b){return a.id-b.id;});
for (var i=0, l=nodes.length; i<l; i++) {
if(nodes[i].level<=0||nodes[i].level<=initParams3)
return;
if(nodes[i].pId=="TOP_FLOW_TYPE"){
continue;
}
name += nodes[i].name + ",";
fileId += nodes[i].fileId + ",";
}
if (fileId.length > 0 ) {
fileId = fileId.substring(0, fileId.length-1);
}else{
return;
}
if (name.length > 0 ) name = name.substring(0, name.length-1);
try{
var fun=inputObj+"OnDbClick";
eval(fun+"('"+name +"','"+fileId+"')");
}catch(e){}
hideMenu();
}
function showFlowFile(inputName,params1,params2,params3) {
initParams1=params1;
initParams2=params2;
initParams3=params3;
jQuery_1_4_4.fn.zTree.init(jQuery_1_4_4("#treeFile"), createFileSetting());
inputObj=inputName;
var cityObj = jQuery_1_4_4("#"+inputName);
var cityOffset = cityObj.offset();
jQuery_1_4_4("#menuFileContent").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");
jQuery_1_4_4("body").bind("mousedown", onBodyDown);
}
function hideMenu() {
jQuery_1_4_4("#menuFileContent").fadeOut("fast");
jQuery_1_4_4("body").unbind("mousedown", onBodyDown);
}
function onBodyDown(event) {
if (!(event.target.id == "menuBtn" || event.target.id == "menuFileContent" || jQuery_1_4_4(event.target).parents("#menuFileContent").length>0)) {
hideMenu();
}
}
jQuery_1_4_4(document).ready(function(){
//
});
</SCRIPT>
</head>
<BODY>
<div id="menuFileContent" class="menuContent" style="z-index:1;display:none; position: absolute;">
<ul id="treeFile" class="ztree" style="margin-top:0; width:270px;height:150px"></ul>
</div>
</BODY>
</HTML>

View File

@@ -0,0 +1,70 @@
<%@ 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>
</head>
<body>
<div id="scrollContent">
<div class="box2" panelTitle="流程定义信息配置表新增" showStatus="false" roller="true">
<form action="${ctx}/processInfo/save.do" method="post">
<button id="submitButton" name="submitButton" type="submit">
<span class="icon_save">保存</span>
<i class="ace-icon fa fa-save bigger-110"></i>
</button>
<table class="tableStyle">
<tr>
<th>权限分类</th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
<th sortColumn="processDefName" >授权给</th>
<th sortColumn="processTypeId" >操作</th>
</tr>
<tr>
<td>用户授权</td>
<td><input type="text" name="userPowers" id="userPowers" value=""/></td>
<td>
<button id="userPowersSelButton" name="userPowersSelButton" type="button">
<span class="icon_save">选择</span>
</button>
<button id="userPowersClearButton" name="userPowersClearButton" type="button">
<span class="icon_save">重置</span>
</button>
</td>
</tr>
<tr>
<td>角色授权</td>
<td><input type="text" name="rolePowers" id="rolePowers" value=""/></td>
<td>
<button id="rolePowersSelButton" name="rolePowersSelButton" type="button">
<span class="icon_save">选择</span>
</button>
<button id="rolePowersClearButton" name="rolePowersClearButton" type="button">
<span class="icon_save">重置</span>
</button>
</td>
</tr>
<tr>
<td>组织授权(本层级)</td>
<td><input type="text" name="orgPowers" id="orgPowers" value=""/></td>
<td>
<button id="orgPowersSelButton" name="orgPowersSelButton" type="button">
<span class="icon_save">选择</span>
</button>
<button id="orgPowersClearButton" name="orgPowersClearButton" type="button">
<span class="icon_save">重置</span>
</button>
</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<%@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>
<title>查看流程图</title>
<%@ include file="/commons/meta.jsp"%>
<link rel="stylesheet" href="${ctx}/resource/js/plugins/bpmn/css/diagram-js.css" />
</head>
<body class="white-page">
<div class="main-container" id="main-container">
<textarea name="bpmXml" rows="5" cols="20" style="display:none" id="bpmXml">
${bpmXml}
</textarea>
<div class="canvas">
<div id="js-canvas"></div>
</div>
</div>
<!-- viewer -->
<script type='text/javascript'src="${ctx}/resource/js/plugins/bpmn/bpmn-viewer.development.js"></script>
<script type="text/javascript">
var height1 = window.parent.document.documentElement.clientHeight;
var windowHeight = (parseInt(height1)-250)
var viewer = new BpmnJS({
container: document.querySelector('#js-canvas'),
height: windowHeight
});
$(function(){
createNewDiagram();
})
function createNewDiagram () {
viewer.importXML($("#bpmXml").val(), function (err) {
if (err) {
console.error(err)
}else{
var canvas = viewer.get('canvas');
canvas.zoom('fit-viewport');
}
})
}
</script>
</body>
</html>

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>

View File

@@ -0,0 +1,335 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition"%>
<%@page import="org.activiti.engine.impl.persistence.entity.*"%>
<%@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"%>
<%@ 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_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('queryForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
});
function updateProcessComment(url){
var procInstId=getOneProcInstId();
if(!procInstId){
return;
}
showDiaLog(url+"?procInstId="+procInstId,"修改流转意见",'1024px','550px');
}
function getOneProcInstId(){
var chk_value =[];
var processInstanceId="";
$("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]=="processInstanceId"){
processInstanceId=items[1];
break;
}
}
}
return processInstanceId;
}
function processAction(myUrl,title){
var chk_value =[];
var processInstanceId="";
$("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]=="processInstanceId"){
processInstanceId=items[1];
}
}
}
if (confirm(title)) {
jQuery.ajax({
url: myUrl,
data: { "processInstanceId": processInstanceId,"isHistory": true},
type: "POST",
success: function(resp)
{
alert(resp);
window.location.reload();
}
});
}
}
function updateProcessTime(url){
var procInstId=getOneProcInstId();
if(!procInstId){
return;
}
showDiaLog(url+"?procInstId="+procInstId,"修改流转时间",'1200px','550px');
}
function delProcessRoam(url){
var procInstId=getOneProcInstId();
if(!procInstId){
return;
}
showDiaLog(url+"?procInstId="+procInstId,"修改流程环节",'1400px','550px');
}
function processRestore(myUrl,title){
var chk_value =[];
var processInstanceId="";
$("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]=="processInstanceId"){
processInstanceId=items[1];
}
}
}
if (confirm(title)) {
jQuery.ajax({
url: myUrl,
data: {"processInstanceId":processInstanceId},
dataType: "json", //表示返回值类型,不必须
type: "POST",
success: function(resp)
{
if(resp.flag){
alert("操作成功!");
window.location.href=window.location.href
}else{
alert(resp.msg);
}
}
});
}
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp"%>
<form id="queryForm" name="queryForm"
action="${ctx}/procInstMgr/historyList.do" method="post"
style="display: inline;">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
<h8>流程历史管理</h8>
</div>
<div class="panel-body">
<div class="form-group 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" />
</td>
-->
<td>流程定义名称:</td>
<td>
<input value="${query.processDefName}" id="processDefName" name="processDefName" />
</td>
<td>流程标题:</td>
<td>
<input value="${query.title}" id="title" name="title" />
</td>
<td>流程实例ID</td>
<td>
<input value="${query.processInstanceId}" id="processInstanceId" name="processInstanceId" />
</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>创建人:</td>
<td>
<input value="${query.userId}" id=userId name="userId" />
</td>
<td>流程状态:</td>
<td>
<select name="procState">
<option value="">请选择</option>
<option value="5" ${query.procState==5?"selected":""}>正常</option>
<option value="3" ${query.procState==3?"selected":""}>作废</option>
</select>
</td>
</tr>
</tr>
<tr>
<td colspan="4">
<button type="button" class="btn btn-xs btn-danger"
onclick="processAction('${ctx}/procInstMgr/delete.do','您确认要删除该流程吗?删除流程后数据将无法恢复!');">
删&nbsp;&nbsp;除
<i class="ace-icon fa fa-trash-o bigger-110"></i></button>
<button type="button" onclick="updateProcessComment('${ctx}/taskMgr/updateProcessCommentView.do');" class="btn btn-xs btn-primary">
修改流转意见
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
</button>
<c:if test="${ebpmAdmin}">
<button type="button" onclick="updateProcessTime('${ctx}/procInstMgr/updateProcessTimeView.do');" class="btn btn-xs btn-primary">
修改流转时间
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
</button>
<button type="button" onclick="delProcessRoam('${ctx}/procInstMgr/delProcessRoamView.do');" class="btn btn-xs btn-primary">
修改流程环节
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
</button>
</c:if>
<button type="button" onclick="processRestore('${ctx}/procInstMgr/processRestore.do','您确认要恢复该流程吗?');" class="btn btn-xs btn-primary">
流程恢复
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
</button>
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12" >
<div class="table-responsive">
<div style="width: 100%;overflow: auto;">
<table style=" width: inherit;max-width: 600%;table-layout: fixed;" id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th style="width: 20px"></th>
<th style="width: 150px;">流程定义名称</th>
<th>流程标题</th>
<th>流程实例ID</th>
<th>创建人</th>
<th style="width: 100px">发起时间</th>
<th style="width: 100px">结束时间</th>
<th style="width: 90px">持续时间</th>
<th style="width: 90px">状态</th>
</tr>
</thead>
<tbody>
<%
Page mypage = (Page) request.getAttribute("page");
List<HistoricProcessInstanceEntity> histProcInsts = mypage
.getResult();
if (histProcInsts != null) {
for (int i = 0; i < histProcInsts.size(); i++) {
HistoricProcessInstanceEntity histProcInst = (HistoricProcessInstanceEntity) histProcInsts
.get(i);
%>
<tr class="<%=((i + 1) % 2 == 0 ? "odd" : "even")%>">
<td>
<input type="radio" name="items" value="processInstanceId=<%=histProcInst.getId()%>">
</td>
<td class="td" title="<%=histProcInst.getProcessDefinitionName()%>&nbsp;">
<%=histProcInst.getProcessDefinitionName()%>
</td>
<td class="td" title="<%=histProcInst.getProcTitle()%>&nbsp;">
<a href="javascript:void(0);" onclick="openProcessTrackPage('${ctx}','<%=histProcInst.getId() %>');">
<%=histProcInst.getProcTitle()%>&nbsp;
</a>
</td>
<td class="td" title="<%=histProcInst.getId()%>"><%=histProcInst.getId()%></td>
<td class="td">
<%if(null != histProcInst.getStartUserName()){ %>
<%=histProcInst.getStartUserName()%>(<%=histProcInst.getStartUserId()%>)
<%}else{ %>
<%=histProcInst.getStartUserId()%>
<%} %>
</td>
<td class="td" title="<%=DateUtil.convertDateToString(histProcInst.getStartTime())%>">
<%=DateUtil.convertDateToString(histProcInst.getStartTime())%>
</td>
<td class="td" title="<%=DateUtil.convertDateToString(histProcInst.getEndTime())%>">
<%=DateUtil.convertDateToString(histProcInst.getEndTime())%>
</td>
<td>
<span class="label label-default">耗时<%=com.blueland.bpm.manage.web.ProcessInstanceController.differByDay(histProcInst.getStartTime(),histProcInst.getEndTime())%>天</span>
</td>
<td>
<%
if (histProcInst.getProcState() == 5) {
%><span class="label label-success">正常</span>
<%
} else if (histProcInst.getProcState() == 3) {
%> <span
class="label label-danger">作废</span> <%
}
%>
</td>
</tr>
<%
}
}
%>
</tbody>
</table>
</div>
<simpletable:pageToolbar page="${page}">
</simpletable:pageToolbar>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,324 @@
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
<%@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" %>
<%@ 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_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
<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 type="text/javascript" >
$(document).ready(function() {
// 分页需要依赖的初始化动作
window.simpleTable = new SimpleTable('queryForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
});
function updateProcessComment(url){
var procInstId=getOneProcInstId();
if(!procInstId){
return;
}
showDiaLog(url+"?procInstId="+procInstId,"修改流转意见",'1024px','550px');
}
function updateProcessTime(url){
var procInstId=getOneProcInstId();
if(!procInstId){
return;
}
showDiaLog(url+"?procInstId="+procInstId,"修改流转时间",'1200px','550px');
}
function delProcessRoam(url){
var procInstId=getOneProcInstId();
if(!procInstId){
return;
}
showDiaLog(url+"?procInstId="+procInstId,"修改流程环节",'1400px','550px');
}
function getOneProcInstId(){
var chk_value =[];
$("input[name='items']:checkbox:checked").each(function(){
chk_value.push($(this).val());
})
if(chk_value.length==0){
alert("请选择一条流程数据!");
return;
}else if(chk_value.length>1){
alert("请选择一条流程数据!");
return;
}
return chk_value[0];
}
function processAction(myUrl,title,id){
var chk_value =[];
var processInstanceId="";
$("input[name='items']:checkbox:checked").each(function(){
chk_value.push($(this).val());
})
if(chk_value.length==0){
alert("请选择一条流程数据!");
return;
}else{
for(var i=0;i<chk_value.length;i++){
processInstanceId+=chk_value[i]+";";
}
/* if(id=='cancel'){//作废操作
var needReturn = false;
//判断是否有权限进行作废操作
jQuery.ajax({
url: "${ctx}/taskMgr/getButOperatePower.do",
data: { "curProcInstId": processInstanceId,"butOperateId":"CANCEL_BTN"},
type: "POST",
async: false,
success: function(resp)
{
if(!resp){
alert("当前流程无法进行作废操作!");
needReturn = true;
}
}
});
if(needReturn){
return ;
}
} */
}
setMask("main-container");
if (confirm(title)) {
jQuery.ajax({
url: myUrl,
data: { "processInstanceId": processInstanceId},
type: "POST",
success: function(resp)
{
alert(resp);
window.location.reload();
}
});
}else{
$("#main-container").unmask();
}
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/procInstMgr/list.do" method="post" style="display: inline;">
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
<h8>流程实例管理</h8>
</div>
<div class="panel-body">
<div class="form-group 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" />
</td>-->
<td width="100px">流程定义名称:</td>
<td>
<input value="${query.processDefName}" id="processDefName" name="processDefName" />
</td>
<td>流程标题:</td>
<td>
<input value="${query.title}" id="title" name="title" />
</td>
<td width="80px">流程实例ID</td>
<td>
<input value="${query.processInstanceId}" id="processInstanceId" name="processInstanceId" />
<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>创建人:</td>
<td>
<input value="${query.userId}" id=userId name="userId" />
</td>
</tr>
<tr>
<td colspan="6">
<!--
<c:if test="${isBpmAdmin}">
<button type="button" id="pause" onclick="processAction('${ctx}/procInstMgr/suspend.do','您确认要暂停该流程吗?',this.id);" class="btn btn-xs btn-warning">
暂&nbsp;&nbsp;停
<i class="ace-icon fa fa-pause bigger-110"></i>
</button>
<button type="button" id="recover" onclick="processAction('${ctx}/procInstMgr/restore.do','您确认要恢复该流程吗?',this.id);" class="btn btn-xs btn-success">
恢&nbsp;&nbsp;复
<i class="ace-icon fa fa-play bigger-110"></i>
</button>
</c:if>
-->
<button type="button" id="cancel" onclick="processAction('${ctx}/procInstMgr/cancel.do','您确认要作废该流程吗?作废后的流程可在流程历史管理中查询到!',this.id);" class="btn btn-xs btn-danger">
作&nbsp;&nbsp;废
<i class="ace-icon fa fa-trash-o bigger-110"></i>
</button>
<c:if test="${isBpmAdmin}">
<button type="button" id="delete" onclick="processAction('${ctx}/procInstMgr/delete.do','您确认要删除该流程吗?删除流程后数据将无法恢复!',this.id);" class="btn btn-xs btn-inverse">
删&nbsp;&nbsp;除
<i class="ace-icon fa fa-trash-o bigger-110"></i>
</button>
<button type="button" onclick="updateProcessComment('${ctx}/taskMgr/updateProcessCommentView.do');" class="btn btn-xs btn-primary">
修改流转意见
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
</button>
<button type="button" onclick="updateProcessTime('${ctx}/procInstMgr/updateProcessTimeView.do');" class="btn btn-xs btn-primary">
修改流转时间
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
</button>
<button type="button" onclick="delProcessRoam('${ctx}/procInstMgr/delProcessRoamView.do');" class="btn btn-xs btn-primary">
修改流程环节
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
</button>
</c:if>
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<div>
<table id="sample-table-1"
style="max-width: 600%;table-layout: fixed;"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th style="width: 20px"><input type="checkbox" onclick="setAllCheckboxState('items',this.checked)"></th>
<th style="width: 150px;">流程定义名称</th>
<th>流程标题</th>
<th >流程实例ID</th>
<th>创建人</th>
<th >创建部门</th>
<th style="width: 150px">发起时间</th>
<th style="width: 90px">持续时间</th>
<th style="width: 90px">状态</th>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; -->
</tr>
</thead>
<tbody>
<%
Page mypage=(Page)request.getAttribute("page");
List<HistoricProcessInstanceEntity> histProcInsts=mypage.getResult();
if(histProcInsts!=null){
for(int i=0;i<histProcInsts.size();i++){
HistoricProcessInstanceEntity histProcInst=(HistoricProcessInstanceEntity)histProcInsts.get(i);
%>
<tr class="<%=((i+1)%2== 0 ? "odd" : "even") %>">
<td><input type="checkbox" name="items" value="<%=histProcInst.getId()%>"></td>
<td title="<%=histProcInst.getProcessDefinitionName()%>" class="td"><%=histProcInst.getProcessDefinitionName()%>&nbsp; </td>
<td title="<%=histProcInst.getProcTitle()%>&nbsp;" class="td">
<a href="javascript:void(0);" onclick="openProcessTrackPage('${ctx}','<%=histProcInst.getId() %>');">
<%=histProcInst.getProcTitle()%>&nbsp;</a>
</td>
<td title="<%=histProcInst.getId()%>"
class="td"><%=histProcInst.getId()%></td>
<td title="<%if(null!=histProcInst.getStartUserName()){%>
<%=histProcInst.getStartUserName()%>&nbsp;(<%=histProcInst.getStartUserId()%>)
<%}else{ %>
<%=histProcInst.getStartUserId()%>
<%} %>" class="td">
<%if(null!=histProcInst.getStartUserName()){%>
<%=histProcInst.getStartUserName()%>&nbsp;(<%=histProcInst.getStartUserId()%>)
<%}else{ %>
<%=histProcInst.getStartUserId()%>
<%} %>
</td>
<td title="<%=histProcInst.getStarterOrgName()%>" class="td">
<%=histProcInst.getStarterOrgName()%>
</td>
<td title="<%=DateUtil.convertDateToString("yyyy-MM-dd HH:mm:ss", histProcInst.getStartTime()) %>" class="td">
<%=DateUtil.convertDateToString("yyyy-MM-dd HH:mm:ss", histProcInst.getStartTime()) %>
</td>
<td>
<%String day=com.blueland.bpm.manage.web.ProcessInstanceController.differByDay(histProcInst.getStartTime(),new Date());%>
<%if(Integer.parseInt(day)<=3){
%><span class="label label-success">耗时<%=day%>天</span>
<%
}else if(Integer.parseInt(day)<=10){%>
<span class="label label-warning">耗时<%=day%>天</span>
<%}else if(Integer.parseInt(day)>10){%>
<span class="label label-danger">耗时<%=day%>天</span>
<%}%>
</td>
<td>
<%if(histProcInst.getProcState()==1){
%><span class="label label-success">正常</span>
<%
}else if(histProcInst.getProcState()==2){%>
<span class="label label-warning">暂停</span>
<%}else if(histProcInst.getProcState()==3){%>
<span class="label label-danger">作废</span>
<%}%>
</td>
</tr>
<%}} %>
</tbody>
</table>
</div>
<simpletable:pageToolbar page="${page}">
</simpletable:pageToolbar>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

View File

@@ -0,0 +1,120 @@
<%@ 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>
$(document).ready(function() {
$.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);
});
function submitForm(){
try{
//用jquery中的ajax方法向服务器提交请求
jQuery.ajax({
type: "POST",
url: "${ctx}/procModelMgr/copy.do",
data: $('#modelForm').serialize(),
success: function(result)
{
alert(result);
if(result=="操作成功"){
art.dialog.opener.location.reload();
}
}
});
}catch(e){}
return false;
}
</script>
</head>
<body>
<form action="${ctx}/procModelMgr/copy.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">
<!-- 存放表单的区域 -->
<input type="hidden" name="modelId" value="${modelData.id}" id="modelId" class="validate[required,length[0,100]]"/>
<tr>
<td>
模型名称<font color="red">*</font>
</td>
<td>
<input type="text" style="width:300px" name="name" value="${modelData.name}" id="name"
datatype="zh1-10" errormsg="模型名称不能以数字开头,且不能包括空格,请您重新填写!" nullmsg="请您填写模型名称"
class="validate[required,length[0,100]]"/>
</td>
</tr>
<tr>
<td>
模型KEY<font color="red">*</font>
</td>
<td>
<input type="text" name="key" style="width:300px" value="" id="key"、
datatype="en1-10" errormsg="模型KEY不能以数字开头且不能包括空格和汉字请您重新填写!"
nullmsg="请您填写模型KEY"
class="validate[length[0,100]]"
onKeypress="javascript:if(event.keyCode == 32)event.returnValue = false;"/>
</td>
</tr>
<tr>
<td>
模型描述:
</td>
<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;">
<!-- <input type="button" onclick="copyModel();"
class="btn btn-sm btn-primary"
id="submitButton" value="保 存"/>-->
<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,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}/procModelMgr/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}/procModelMgr/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,122 @@
<%@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 : '请您选择本地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(!getFileFormat()){
alert("请上传符合要求的文件!");
return false;
}
//else{
// alert("文件符合要求");
// return false;
//}
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}/procModelMgr/importBpmnFile.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">
<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,259 @@
<%@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 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">
$(document).ready(function() {
// 分页需要依赖的初始化动作
window.simpleTable = new SimpleTable('procDefForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
});
function deployModel(url,tempModelId,type){
if(type==0){
if(!window.confirm("您确定部署并覆盖最新版本的流程吗?")){
return;
}
}else if(type==1){
if(!window.confirm("您确定部署新版本的流程吗?")){
return;
}
}
setMask("main-container");
$.post(url,{'modelId':tempModelId},function(result){
alert(result);
if(result.indexOf("部署成功")!=-1){
window.location.reload();
}
$("#main-container").unmask();
});
}
function importProcessBpmnXml(){
var url="${ctx}/pages/procModelMgr/importBpmnFile.jsp";
showDiaLog(url,"导入流程模型",'500px','300px');
}
function deleteModel(url){
if(window.confirm("您确定删除该流程模型吗?")){
setMask("main-container");
$("#procDefForm").attr("action",url);
document.getElementById("procDefForm").submit();
}
}
function createProcessModel(){
var url="${ctx}/pages/procModelMgr/create.jsp";
showDiaLog(url,"新建模型",'500px','300px');
}
function copyProcessModel(url){
showDiaLog(url,"复制模型",'500px','300px');
}
function getItemsModelId(){
var chk_value =[];
var procDefId="";
$("input[name='items']:checkbox:checked").each(function(){
chk_value.push($(this).val());
})
if(chk_value.length==0){
alert("请选择一项流程定义数据!");
}else{
var items=chk_value[0].split("=");
for(var i=0;i<items.length;i++){
if(items[0]=="processDefinitionId"){
procDefId=items[1];
}
}
}
return procDefId;
}
function exportProcessBpmnXml(){
var procDefId=getItemsModelId();
if(procDefId==""){
return;
}
var url="<${ctx}/procDefMgr/resource.do?resourceType=xml&procDefId="+procDefId;
showDiaLog(url,'流程模型');
}
function exportProcessImage(){
var procDefId=getItemsModelId();
if(procDefId==""){
return;
}
var url="<${ctx}/procDefMgr/resource.do?resourceType=image&procDefId="+procDefId;
showDiaLog(url,'流程图');
}
function openDesignWindow(modelId,modelKey){
if(modelId==""){
return;
}
try{
jQuery.ajax({
url : "${ctx}/processInfo/syncProcessDefToModel.do?modelKey="+modelKey,
type : "GET",
success : function(resp) {
}
});
}catch(e){}
var url="<%=MyContants.BPM_PROCESS_MODELER_PATH%>";
//alert(url+'?id='+modelId,'在线设计');
openWindow(url+'?id='+modelId,'在线设计');
}
</script>
</head>
<body id="content">
<%@ include file="/commons/messages.jsp"%>
<form id="procDefForm" name="procDefForm" action="${ctx}/procModelMgr/list.do"
method="post" style="display: inline;">
<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 width="15%">模型KEY</td>
<td><input value="${modelKey}" id="modelKey"
name="modelKey"/></td>
<td>模型名称:</td>
<td><input value="${modelName}" id="modelName"
name="modelName"/></td>
<td><button type="submit" id="process"
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="${query.roleId}" id="roleId"
name="roleId" maxlength="30" /></td>
-->
</tr>
<tr>
<td colspan="7">
<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="importProcessBpmnXml();"
class="btn btn-xs btn-success">导入流程模型</button> -->
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12">
<div class="table-responsive" id="content">
<table id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<!-- 排序时为th增加sortColumn即可,new SimpleTable('sortColumns')会为tableHeader自动增加排序功能; <th></th>-->
<th width="25%">模型KEY</th>
<th width="40%">模型名称</th>
<th style="width: 90px;">创建时间</th>
<th style="width: 90px;">更新时间</th>
<th width="80px">状态</th>
<th width="80px">操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.result}" var="model" varStatus="status">
<tr class="${ ((i + 1) % 2 == 0 ? 'odd' : 'even') }">
<input type="hidden" name="items"
value="modelId=${ model.id }">
<td>${ model.key }&nbsp;</td>
<td>${ model.name }&nbsp;</td>
<td><fmt:formatDate pattern="yyyy-MM-dd"
value="${ model.createTime }" />&nbsp;</td>
<td><fmt:formatDate pattern="yyyy-MM-dd"
value="${ model.lastUpdateTime }" />&nbsp;</td>
<td>
<c:choose>
<c:when test="${model.modelState=='RELEASE'}">
<span class="label label-success">已部署</span>
</c:when>
<c:otherwise>
<span class="label label-danger">未部署</span>
</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('${ model.id }','${ model.key }');">
设计模型</a></li>
<li><a href="javascript:void(0);"
onclick="deployModel('${ctx}/procModelMgr/deploy.do','${ model.id }',1);">
部署流程(生成新版本)</a></li>
<li><a href="javascript:void(0);"
onclick="deployModel('${ctx}/procModelMgr/deployCascodeUpdate.do','${ model.id }',0);">部署流程(覆盖最新版本)</a></li>
<li><a href="javascript:void(0);"
onclick="copyProcessModel('${ctx}/procModelMgr/copyView.do?modelId=${ model.id }');">复制模型</a></li>
<!-- <li><a href="${ctx}/procModelMgr/export.do?modelId=${ model.id }" target="_blank">导出模型</a></li>-->
<li><a href="javascript:void(0)"
onclick="deleteModel('${ctx}/procModelMgr/delete.do?modelId=${ model.id }');">删除模型</a></li>
</ul>
</div>
</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,186 @@
<%@page import="com.blueland.bpm.log.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" %>
<%@ 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" >
$(document).ready(function() {
// 分页需要依赖的初始化动作
window.simpleTable = new SimpleTable('queryForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
});
function changeRetryStatus(pelogId){
if(window.confirm('确定执行[已处理]操作?')){
setMask("main-container");
jQuery.ajax({
type: "POST",
url: "${ctx}/processErrorLog/disposeErrorLog.do",
data: {pelogId:pelogId},
success: function(resp)
{
if(resp=="ERROR"){
$("#main-container").unmask();
alert("处理失败!");
window.location.reload();
}else{
$("#main-container").unmask();
alert("处理成功!");
window.location.reload();
}
}
});
}
}
</script>
</head>
<body>
<%@ include file="/commons/messages.jsp" %>
<form id="queryForm" name="queryForm" action="${ctx}/processErrorLog/errorList.do" method="post" style="display: inline;">
<input type="hidden" id="flag" name="flag" value="${flag}"/>
<div class="main-container" id="main-container">
<div class="panel panel-primary">
<div class="panel-heading">
<h8>流程错误日志</h8>
</div>
<div class="panel-body " >
<div class="form-group well well-sm" style="margin-bottom: 2px;">
<table border="0" cellspacing="0" cellpadding="0"
class="table-search form-table">
<tr>
<td>处理状态:</td>
<td>
<select name="retryStatus" id="retryStatus">
<option value="n" ${query.retryStatus=='n'?'selected':''}>未处理</option>
<option value="y" ${query.retryStatus=='y'?'selected':''}>已处理</option>
</select>
</td>
<td>流程定义名称:</td>
<td>
<input class="input" value="${query.processDefName}" id="processDefName" name="processDefName" maxlength="500" />
</td>
<td>流程实例ID</td>
<td>
<input class="input" value="${query.processInstanceId}" id="processInstanceId" name="processInstanceId" maxlength="50" />
</td>
<td>记录时间:</td>
<td colspan="2">
从<input class="input" style="width: 80px;" value="<fmt:formatDate value="${query.startPelogTime}" pattern="yyyy-MM-dd"/>" onclick="WdatePicker({dateFmt:'<%=ProcessErrorLog.FORMAT_PELOG_CREATE_TIME%>'})" id="startPelogTime" name="startPelogTime" />
到<input class="input" style="width: 80px;" value="<fmt:formatDate value="${query.endPelogTime}" pattern="yyyy-MM-dd"/>" onclick="WdatePicker({dateFmt:'<%=ProcessErrorLog.FORMAT_PELOG_CREATE_TIME%>'})" id="endPelogTime" name="endPelogTime" />
</td>
</tr>
<tr>
<!-- <td>记录时间:</td>
<td>
<input class="input" value="${query.pelogCreateTimeString}" onclick="WdatePicker({dateFmt:'<%=ProcessErrorLog.FORMAT_PELOG_CREATE_TIME%>'})" id="pelogCreateTimeString" name="pelogCreateTimeString" />
</td>-->
<td>流程标题:</td>
<td>
<input class="input" value="${query.processTitle}" id="processTitle" name="processTitle" maxlength="500" />
</td>
<td>流程发送人:</td>
<td>
<input class="input" value="${query.creator}" id="creator" name="creator" maxlength="50" />
</td>
<c:if test="${ebpmAdmin}">
<td>应用系统:</td>
<td>
<input class="input" value="${query.appId}" id="appId" name="appId" maxlength="50" />
</td>
</c:if>
<td colspan="2">
<button type="submit" class="btn btn-xs btn-primary">
查&nbsp;&nbsp;询
<i class="ace-icon fa fa-search bigger-110"></i>
</button>
</td>
</tr>
</table>
</div>
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<div style="width: 100%;overflow: auto;">
<table style=" width: inherit;max-width: 600%;table-layout: fixed;" id="sample-table-1"
class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th style="width: 150px;">流程定义名称</th>
<th >流程实例ID</th>
<th >流程标题</th>
<th >发送人</th>
<th >接收人</th>
<th >操作类型</th>
<th style="width: 150px" sortColumn="pelogCreateTime" >记录时间</th>
<c:if test="${ebpmAdmin}">
<th >应用系统</th>
</c:if>
<th style="width: 90px">操作</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" value="pelogId=${item.pelogId}&"></td> -->
<td class="td" title="${item.processDefName}">${item.processDefName}&nbsp;</td>
<td class="td" title="${item.processInstanceId}">${item.processInstanceId}&nbsp;</td>
<td class="td" title="${item.processTitle}">${item.processTitle}&nbsp;</td>
<td class="td" title="${item.creator}">${item.creator}&nbsp;</td>
<td class="td" title="${item.receivers}">${item.receivers}&nbsp;</td>
<td class="td" title="${item.actionTypeVal}">${item.actionTypeVal}&nbsp;</td>
<td>${item.pelogCreateTimeString}&nbsp;</td>
<c:if test="${ebpmAdmin}">
<td>${item.appId}</td>
</c:if>
<td>
<a href="${ctx}/processErrorLog/showError.do?pelogId=${item.pelogId}&">查看</a>&nbsp;&nbsp;<br/>
<c:if test="${item.retryStatus == 'n' }">
<a href="javascript:void();" onclick="changeRetryStatus('${item.pelogId}');">已处理</a>&nbsp;&nbsp;<br/>
<a href="${ctx}/processErrorLog/retryVeiw.do?pelogId=${item.pelogId}&">消息重发</a>&nbsp;&nbsp;<br/>
</c:if>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<simpletable:pageToolbar page="${page}">
</simpletable:pageToolbar>
</div>
<!-- /.table-responsive -->
</div>
<!-- /span -->
</div>
</div>
</div>
</div>
</form>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More