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,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>