You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
414 lines
12 KiB
414 lines
12 KiB
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%
|
|
String path = request.getContextPath();
|
|
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
|
|
BaseSessionUser su = (BaseSessionUser)session.getAttribute(WDKConstant.SESSION_USER);
|
|
String WDK_ROOT = WDKCore.inst.WDK_ROOT;
|
|
%>
|
|
<!DOCTYPE html>
|
|
<%@page import="org.wdk.WDKConstant"%>
|
|
<%@page import="org.wdk.WDKCore"%>
|
|
<%@page import="org.wdk.core.base.BaseSessionUser"%>
|
|
<html>
|
|
|
|
<head>
|
|
<base href="<%=basePath%>" target="_self">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title>流程实例管理</title>
|
|
<jsp:include page='<%=WDKCore.inst.WDK_COMMON %>'></jsp:include>
|
|
<script type="text/javascript" src="<%=WDK_ROOT%>/core/js/wdk.js"></script>
|
|
<script type="text/javascript">
|
|
|
|
<% if(null==su){%>
|
|
$.timeout();
|
|
<%}%>
|
|
|
|
var _gridcode = "wdk.module.wf.processinstancegrid";
|
|
var _gridid = $.getUUID();
|
|
var _pdid = $.getURLParam('pdid');
|
|
var _ppiid = $.getURLParam('ppiid');
|
|
|
|
window.onload = function(){
|
|
|
|
//初始化流程模板选择列表
|
|
var pi_wfname = $.combobox({
|
|
id:'pdname'
|
|
,url:'wdk?action=wdk.wf&method=combobox_pd_name&ajaxparam='+new Date().getTime()
|
|
,defaultOption:'所有模板'
|
|
,editable:false
|
|
,onChange:function(newValue,oldValue){
|
|
$.combobox({
|
|
id:'pdversion'
|
|
,url:'wdk?action=wdk.wf&method=combobox_pd_version&pdname='+newValue+'&ajaxparam='+new Date().getTime()
|
|
,defaultOption:'所有版本'
|
|
,onChange:function(newValue,oldValue){
|
|
$.combobox({
|
|
id:'status'
|
|
,url:'wdk?action=wdk.wf&method=combobox_pd_status&pdname=null&ajaxparam='+new Date().getTime()
|
|
});
|
|
}
|
|
});
|
|
$.combobox({
|
|
id:'status'
|
|
,url:'wdk?action=wdk.wf&method=combobox_pd_status&pdname=null&ajaxparam='+new Date().getTime()
|
|
});
|
|
}
|
|
});
|
|
|
|
//初始化流程版本选择列表
|
|
$.combobox({
|
|
id:'pdversion'
|
|
,url:'wdk?action=wdk.wf&method=combobox_pd_version&pdname=null&ajaxparam='+new Date().getTime()
|
|
,defaultOption:'所有版本'
|
|
,onChange:function(newValue,oldValue){
|
|
$.combobox({
|
|
id:'status'
|
|
,url:'wdk?action=wdk.wf&method=combobox_pd_status&pdname=null&ajaxparam='+new Date().getTime()
|
|
});
|
|
}
|
|
});
|
|
//初始化流程状态选择列表
|
|
$.combobox({
|
|
id:'status'
|
|
,url:'wdk?action=wdk.wf&method=combobox_pd_status&pdname=null&ajaxparam='+new Date().getTime()
|
|
});
|
|
|
|
//初始化流程实例列表
|
|
var _queryParams = {
|
|
pdname:$.combobox_getValue({id:'pdname'})
|
|
,pdversion:$.combobox_getValue({id:'pdversion'})
|
|
,status:$.combobox_getValue({id:'status'})
|
|
,ppiid:_ppiid
|
|
};
|
|
//初始化流程实例表格
|
|
_gridid = $.grid({
|
|
id:_gridid,
|
|
containerid:'layout_grid',
|
|
gridcode:_gridcode,
|
|
url:'wdk?action=wdk.wf&method=pi_list&ajaxparam='+new Date().getTime(),
|
|
idField:'piid',
|
|
mergeField:'cnname,pdversion,creater,createdt',
|
|
queryParams:_queryParams
|
|
,pagination:true //分页控件
|
|
});
|
|
|
|
|
|
//初始化迁移模板选择框
|
|
$.combobox({
|
|
id:'_move_pdid'
|
|
,url:'wdk?action=wdk.wf&method=combobox_pd_name&ajaxparam='+new Date().getTime()
|
|
,defaultOption:'请选择目标流程模板'
|
|
,editable:false
|
|
});
|
|
};
|
|
|
|
//刷新列表
|
|
function _pi_query(){
|
|
var _queryParams = {
|
|
pdname:$.combobox_getValue({id:'pdname'})
|
|
,pdversion:$.combobox_getValue({id:'pdversion'})
|
|
,status:$.combobox_getValue({id:'status'})
|
|
};
|
|
$.grid_reload({
|
|
id:_gridid
|
|
,queryParams:_queryParams
|
|
});
|
|
|
|
}
|
|
|
|
//人名点击
|
|
function _actor_click(actorid,actortype){
|
|
//if('0'==actortype){
|
|
$.tab_addTop({
|
|
menucode: 'todo'
|
|
,title:'待办('+actorid+')'
|
|
,closable:true
|
|
,url:'<%=WDK_ROOT%>/module/wf/todo.jsp?actorid='+actorid+'&actortype='+actortype
|
|
});
|
|
//}
|
|
}
|
|
|
|
//grid表格里的点击
|
|
function _handler_click(method,jparam){
|
|
var pdid = jparam.pdid;
|
|
var piid = jparam.piid;
|
|
switch(method){
|
|
case 'monitor':
|
|
var _wid = $.getUUID();
|
|
$.openWin({
|
|
id:_wid,
|
|
title:'流程监控',
|
|
height:300,
|
|
width:600,
|
|
modal:true,
|
|
url:'<%=WDK_ROOT%>/module/wf/pi_monitor.jsp?piid='+piid+'&ajaxparam='+new Date().getTime(),
|
|
maximizable:true,
|
|
maximized:true,
|
|
draggable:false,
|
|
resizable:false
|
|
});
|
|
|
|
break;
|
|
case 'taskrecord':
|
|
var _wid = $.getUUID();
|
|
$.openWin({
|
|
id:_wid,
|
|
title:'流程办理记录',
|
|
height:300,
|
|
width:600,
|
|
modal:true,
|
|
url:'<%=WDK_ROOT%>/module/wf/pi_taskrecord.jsp?pdid='+pdid+'&piid='+piid+'&ajaxparam='+new Date().getTime(),
|
|
maximizable:true,
|
|
maximized:true,
|
|
draggable:false,
|
|
resizable:false
|
|
});
|
|
break;
|
|
case 'modify': //人员调整
|
|
//alert('任务候选人调整、会签任务加签、减签');
|
|
var _wid = $.getUUID();
|
|
$.openDialog({
|
|
id:_wid
|
|
,title:'人员调整'
|
|
,height:300
|
|
,width:600
|
|
,modal:true
|
|
,url:'<%=WDK_ROOT%>/module/wf/pi_modify.jsp'
|
|
,queryParams:{
|
|
pdid:jparam.pdid
|
|
,piid:jparam.piid
|
|
,nodename:jparam.nodename
|
|
,nodetype:jparam.nodetype
|
|
}
|
|
,maximizable:true
|
|
,maximized:true
|
|
,draggable:false
|
|
,resizable:false
|
|
,onSubmit:function(jdata){ //点击确定按钮
|
|
$.cuajax({
|
|
url:'wdk?action=wdk.wf&method=pi_modify&ajaxparam='+new Date().getTime(),
|
|
method:"post",
|
|
timeout:WDK_Timeout,
|
|
data:jdata,
|
|
success:function(result) {
|
|
$.wait_close();
|
|
var jparam = $.str2json(result);
|
|
alert(jparam.desc);
|
|
$.grid_reload({id:_gridid});
|
|
},
|
|
error:function(result){
|
|
$.wait_close();
|
|
alert('网络错误!result='+result);
|
|
}
|
|
});
|
|
|
|
|
|
}
|
|
});
|
|
break;
|
|
case 'suspend': //挂起流程
|
|
$.cuajax({
|
|
url:'wdk?action=wdk.wf&method=pi_suspend&ajaxparam='+new Date().getTime(),
|
|
method:"post",
|
|
timeout:WDK_Timeout,
|
|
data:{
|
|
pdid:jparam.pdid
|
|
,piid:jparam.piid
|
|
},
|
|
success:function(result) {
|
|
var jparam = $.str2json(result);
|
|
$.grid_reload({id:_gridid});
|
|
alert(jparam.desc);
|
|
},
|
|
error:function(result){
|
|
alert('网络错误!result='+result);
|
|
}
|
|
});
|
|
break;
|
|
case 'resume': //恢复流程
|
|
$.cuajax({
|
|
url:'wdk?action=wdk.wf&method=pi_resume&ajaxparam='+new Date().getTime(),
|
|
method:"post",
|
|
timeout:WDK_Timeout,
|
|
data:{
|
|
pdid:jparam.pdid
|
|
,piid:jparam.piid
|
|
},
|
|
success:function(result) {
|
|
var jparam = $.str2json(result);
|
|
$.grid_reload({id:_gridid});
|
|
alert(jparam.desc);
|
|
},
|
|
error:function(result){
|
|
alert('网络错误!result='+result);
|
|
}
|
|
});
|
|
break;
|
|
case 'remove':
|
|
if(confirm('该操作将删除当前流程实例,是否继续?')){
|
|
$.cuajax({
|
|
url:'wdk?action=wdk.wf&method=pi_remove&ajaxparam='+new Date().getTime(),
|
|
method:"post",
|
|
timeout:WDK_Timeout,
|
|
data:{
|
|
pdid:jparam.pdid
|
|
,piid:jparam.piid
|
|
},
|
|
success:function(result) {
|
|
var jparam = $.str2json(result);
|
|
$.grid_reload({id:_gridid});
|
|
alert(jparam.desc);
|
|
},
|
|
error:function(result){
|
|
alert('网络错误!result='+result);
|
|
}
|
|
});
|
|
}
|
|
break;
|
|
case 'move': //流程迁移
|
|
_pi_move(jparam);
|
|
break;
|
|
case 'push': //环节推进
|
|
var _wid = $.getUUID();
|
|
$.openDialog({
|
|
id:_wid
|
|
,title:'环节推进'
|
|
,height:300
|
|
,width:600
|
|
,modal:true
|
|
,url:'<%=WDK_ROOT%>/module/wf/pi_push.jsp'
|
|
,queryParams:{
|
|
pdid:jparam.pdid
|
|
,piid:jparam.piid
|
|
,nodename:jparam.nodename
|
|
,nodetype:jparam.nodetype
|
|
,islastactor:jparam.islastactor
|
|
,issub:jparam.issub
|
|
,islastsub:jparam.islastsub
|
|
,ppdid:jparam.ppdid
|
|
,ppiid:jparam.ppiid
|
|
,pnodename:jparam.pnodename
|
|
}
|
|
,maximizable:true
|
|
,maximized:true
|
|
,draggable:false
|
|
,resizable:false
|
|
,onSubmit:function(jdata){ //点击确定按钮
|
|
$.cuajax({
|
|
url:'wdk?action=wdk.wf&method=pi_push&ajaxparam='+new Date().getTime(),
|
|
method:"post",
|
|
timeout:WDK_Timeout,
|
|
data:jdata,
|
|
success:function(result) {
|
|
$.wait_close();
|
|
var jparam = $.str2json(result);
|
|
alert(jparam.desc);
|
|
$.grid_reload({id:_gridid});
|
|
},
|
|
error:function(result){
|
|
alert('网络错误!result='+result);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
break;
|
|
case 'invalid': //作废
|
|
alert('流程作废');
|
|
break;
|
|
case 'subprocess':
|
|
alert('暂未实现');
|
|
return;
|
|
$.tab_addTop({
|
|
menucode: 'subprocess'+pdid
|
|
,title:nodename+'-子流程'
|
|
,closable:true
|
|
,url:'<%=WDK_ROOT%>/module/wf/pi.jsp?pdid='+pdid+'&pdname='+pdname+'&ppiid='+piid
|
|
});
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
var _jparam = null;
|
|
function _pi_move(jparam){
|
|
_jparam = jparam;
|
|
$('#dlg_move').dialog('open').dialog('setTitle','新增迁移');
|
|
|
|
//初始化各类控件的值
|
|
$.combobox_clear({id:'_move_pdid'});
|
|
$("input[type=_move_cascade][value=0]").attr("checked",'checked');
|
|
}
|
|
|
|
//迁移提交
|
|
function _pi_move_save(){
|
|
var _pdid = $.combobox_getValue({id:'_move_pdid'});
|
|
var _cascade = $("input[name='_move_cascade']:checked").val();
|
|
|
|
if(null==_pdid||""==_pdid){
|
|
alert('迁移目标模板不能为空!');
|
|
return;
|
|
}
|
|
|
|
$.wait_open_top();
|
|
var _data = {
|
|
pdid:_jparam.pdid
|
|
,piid:_jparam.piid
|
|
,newpdid:_pdid
|
|
,cascade:_cascade
|
|
};
|
|
$.cuajax({
|
|
url:'wdk?action=wdk.wf&method=pi_move&ajaxparam='+new Date().getTime(),
|
|
method:"post",
|
|
timeout:WDK_Timeout,
|
|
data:_data,
|
|
success:function(result) {
|
|
var jparam = $.str2json(result);
|
|
alert(jparam.desc);
|
|
$.grid_reload({id:_gridid});
|
|
$.wait_close_top();
|
|
$('#dlg_move').dialog('close');
|
|
},
|
|
error:function(result){
|
|
$.wait_close();
|
|
alert('网络错误!result='+result);
|
|
}
|
|
});
|
|
}
|
|
</script>
|
|
</head>
|
|
<body class="easyui-layout" style="padding:0px;margin:0px;background-color:#FFFFFF;">
|
|
<!-- 按钮 -->
|
|
<div data-options="region:'north',border:false,collapsed:false" style="height:30px;overflow:hidden;border-bottom:1px solid #d4a375;text-align:left;" >
|
|
<label style="width:50px;margin-left: 10px;">流程名称:</label>
|
|
<input type="text" id="pdname" name="pdname" class="txt" style="width:120px;margin-left: 5px;"></input>
|
|
<label style="width:50px;margin-left: 10px;">流程版本:</label>
|
|
<input type="text" id="pdversion" name="pdversion" class="txt" style="width:120px;margin-left: 5px;"></input>
|
|
<label style="width:50px;margin-left: 10px;">状态:</label>
|
|
<input type="text" id="status" name="status" class="txt" style="width:120px;margin-left: 5px;"></input>
|
|
<a id="_btnaddledger" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-add'" href="javascript:void(0)" onclick="_pi_query()">查询</a>
|
|
</div>
|
|
|
|
<!-- 表格 -->
|
|
<div id="layout_grid" data-options="region:'center',border:false,collapsed:false" style="overflow:hidden;border:0px solid #d4a375;" ></div>
|
|
|
|
|
|
<!-- 新增迁移窗口 -->
|
|
<div id="dlg_move" class="easyui-dialog" style="width:380px;height:450px;padding:20px 40px;margin:0;" closed="true" modal="true" buttons="#dlg_move_buttons">
|
|
<div class="fitem" style="margin:10px;">
|
|
<div style="width:100px;margin-top:5px;float:left;">目标模板:</div>
|
|
<input id="_move_pdid" name="_move_pdid" class="txt" style="width:150px">
|
|
</div>
|
|
<div class="fitem" style="margin:10px;">
|
|
<div style="width:100px;margin-top:5px;float:left;">迁移方式:</div>
|
|
<input name="_move_cascade" type="radio" value="0" checked>复制迁移
|
|
<input name="_move_cascade" type="radio" value="1">级联迁移
|
|
</div>
|
|
</div>
|
|
<div id="dlg_move_buttons">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-ok" onclick="_pi_move_save()">保存</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg_move').dialog('close')">退出</a>
|
|
</div>
|
|
</body>
|
|
</html>
|