<%@ 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.todogrid"; var _gridid = $.getUUID(); var _actorid = $.getURLParam('actorid'); var _actortype = $.getURLParam('actortype'); window.onload = function(){ $('#q_actorid').val(_actorid); //初始化流程实例列表 var _queryParams = { actorid:_actorid ,actortype:_actortype ,includedone:'0' }; //初始化流程实例表格 _gridid = $.grid({ id:_gridid ,containerid:'layout_grid' ,gridcode:_gridcode ,url:'wdk?action=wdk.wf&method=todo_list&ajaxparam='+new Date().getTime() ,idField:'taskid' ,queryParams:_queryParams ,pagination:true //分页控件 }); //2、初始化委托人选择控件 $.inputpop({ id:'_cc_actor' ,title:'抄送人选择' ,width:320 ,height:480 ,url:'<%=WDK_ROOT%>/module/wf/usertree.jsp' ,required:false ,editable:false ,checkbox:true ,asyn:false ,dataurl:$.encode('wdk?action=wdk.wf&method=pub_actorlist&ajaxparam='+new Date().getTime()) }); }; //刷新列表 function _todo_query(){ var hasdepute = '0'; if($("input[name='q_hasdepute'][type='checkbox']").is(':checked') ){ hasdepute = '1'; } var hasassign = '0'; if($("input[name='q_hasassign'][type='checkbox']").is(':checked') ){ hasassign = '1'; } var hasdone = '0'; if($("input[name='q_hasdone'][type='checkbox']").is(':checked') ){ hasdone = '1'; } var hasread = '0'; if($("input[name='q_hasread'][type='checkbox']").is(':checked') ){ hasread = '1'; } var _queryParams = { actorid:$('#q_actorid').val() ,actortype:_actortype ,hasdepute:hasdepute ,hasassign:hasassign ,hasdone:hasdone ,hasread:hasread }; $.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 //,url:'<%=WDK_ROOT%>/module/frame/workflow/todo.jsp?actorid='+actorid+'&actortype='+actortype+'&actorname='+actorname+'&deptid='+deptid+'&deptname='+deptname //,url:'<%=WDK_ROOT%>/module/frame/workflow/todo.jsp?actorid='+actorid }); } } //grid表格里的点击 function _handler_click(jtask){ var method = jtask.method; var pdid = jtask.pdid; var piid = jtask.piid; var taskid = jtask.taskid; var subtaskid = jtask.subtaskid; 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 'get': //领取任务 _task_get(jtask); break; case 'return': //领退任务 _task_return(jtask); break; case 'gonext': //前进 _task_gonext(jtask); break; case 'goback': //后退 _task_goback(jtask); break; case 'gofree': //特送 _task_gofree(jtask); break; case 'assign': //交办 _task_assign(jtask); break; case 'recover': //追回 _task_recover(jtask); break; case 'cc': //抄送 _task_cc(jtask); break; case 'read': //阅办 _task_read(jtask); break; case 'pihistory': _task_history(pdid,piid,taskid); break; case 'remove': if(confirm('该操作将删除当前待办,是否继续?')){ _task_oper('remove',pdid,piid); } break; default: break; } } //任务领取 function _task_get(jtask){ $.wait_open_top(); var _data = { task:jtask.task }; /* { pdid:jparam.pdid ,piid:jparam.piid ,taskid:jparam.taskid ,subtaskid:jparam.subtaskid ,nodename:jparam.nodename ,actorid:jparam.actorid ,actortype:jparam.actortype ,originactorid:jparam.originactorid ,originactortype:jparam.originactortype }; */ $.cuajax({ url:'wdk?action=wdk.wf&method=task_get&ajaxparam='+new Date().getTime(), method:"post", timeout:WDK_Timeout, data:_data, success:function(result) { var jparam = $.str2json(result); $.wait_close_top(); alert(jparam.desc); $.grid_reload({ id:_gridid }); }, error:function(result){ $.wait_close_top(); alert('网络错误!result='+result); } }); } //任务领退 function _task_return(jtask){ $.wait_open_top(); /* var _data = { pdid:jparam.pdid ,piid:jparam.piid ,taskid:jparam.taskid ,subtaskid:jparam.subtaskid ,actorid:jparam.actorid ,actortype:jparam.actortype ,originactorid:jparam.originactorid ,originactortype:jparam.originactortype }; */ var _data = { task:jtask.task }; $.cuajax({ url:'wdk?action=wdk.wf&method=task_return&ajaxparam='+new Date().getTime(), method:"post", timeout:WDK_Timeout, data:_data, success:function(result) { var jparam = $.str2json(result); $.wait_close_top(); alert(jparam.desc); $.grid_reload({ id:_gridid }); }, error:function(result){ $.wait_close_top(); alert('网络错误!result='+result); } }); } //前进,根据当前节点的不同属性,分别跳转到不同的页面 function _task_gonext(jtask){ var taskid = jtask.taskid; var actorid = jtask.actorid; var nodename = jtask.nodename; var nodetype = jtask.nodetype; $.tab_addTop({ menucode: 'task_'+taskid ,title:'【推进】:'+nodename+'('+actorid+')' ,closable:true ,url:'<%=WDK_ROOT%>/module/wf/todo_gonext.jsp?param='+$.encode($.json2str(jtask)) }); } //后退 function _task_goback(jtask){ var taskid = jtask.taskid; var actorid = jtask.actorid; var nodename = jtask.nodename; var nodetype = jtask.nodetype; if('1'!=jtask.canreturn){ alert('当前节点不允许退回!'); return; } $.tab_addTop({ menucode: 'task_'+taskid ,title:'【回退】:'+nodename+'('+actorid+')' ,closable:true ,url:'<%=WDK_ROOT%>/module/wf/todo_goback.jsp?param='+$.encode($.json2str(jtask)) }); } //自由流 function _task_gofree(jtask){ var taskid = jtask.taskid; var actorid = jtask.actorid; var nodename = jtask.nodename; var nodetype = jtask.nodetype; if('1'!=jtask.canfree){ alert('当前节点不允许特送!'); return; } $.tab_addTop({ menucode: 'task_'+taskid ,title:'【特送】:'+nodename+'('+actorid+')' ,closable:true ,url:'<%=WDK_ROOT%>/module/wf/todo_gofree.jsp?param='+$.encode($.json2str(jtask)) }); } //交办 function _task_assign(jtask){ $.wait_open(); //1、查询当前任务的交办情况 var _data = { task:jtask.task }; $.cuajax({ url:'wdk?action=wdk.wf&method=task_assign_query&ajaxparam='+new Date().getTime(), method:"post", timeout:WDK_Timeout, data:_data, success:function(result) { var jres = $.str2json(result); var actors = jres.actors; _task_assign_open(jtask,actors); }, error:function(result){ $.wait_close_top(); alert('网络错误!result='+result); } }); } //弹出交办人员选择列表 function _task_assign_open(jtask,actors){ var _wid = $.getUUID(); $.openDialog({ id:_wid, title:'交办人员选择', height:400, width:300, modal:true, queryParams:{ actors:actors }, url:'<%=WDK_ROOT%>/module/wf/todo_usertree.jsp', maximizable:false, draggable:false, resizable:false, onSubmit:function(result){ //点击确定按钮 $.wait_open(); if('null'==result){ result = ''; } //交办人员选择完毕之后提交 var _data ={ task:jtask.task ,assignactors:result }; $.cuajax({ url:'wdk?action=wdk.wf&method=task_assign&ajaxparam='+new Date().getTime(), method:"post", timeout:WDK_Timeout, data:_data, success:function(result) { $.wait_close(); var jres = $.str2json(result); $.grid_reload({id:_gridid}); alert(jres.desc); return; }, error:function(result){ $.wait_close(); alert('网络错误!result='+result); } }); }, onCancel:function(){ //点击cancel按钮 //alert('退出'); } }); } //任务追回 function _task_recover(jtask){ if(!confirm('是否追回任务?')){ return; } $.wait_open(); /* var _data ={ pdid:jparam.pdid ,piid:jparam.piid ,taskid:jparam.taskid ,subtaskid:jparam.subtaskid ,actorid:jparam.actorid ,actortype:jparam.actortype ,originactorid:jparam.originactorid ,originactortype:jparam.originactortype ,agenttype:jparam.agenttype }; */ var _data = { task:jtask.task }; $.cuajax({ url:'wdk?action=wdk.wf&method=task_recover&ajaxparam='+new Date().getTime(), method:"post", timeout:WDK_Timeout, data:_data, success:function(result) { $.wait_close(); var jres = $.str2json(result); $.grid_reload({id:_gridid}); alert(jres.desc); }, error:function(result){ $.wait_close(); alert('网络错误!result='+result); } }); } //抄送,弹出人员选择列表 var _jtask = null; function _task_cc(jtask){ _jtask = jtask; $('#dlg_cc').dialog('open').dialog('setTitle','新增抄送'); //初始化各类控件的值 $.inputpop_clear({id:'_cc_actor'}); $('#_cc_comment').val(''); } //抄送,弹出人员选择列表 function _task_cc_save(){ $.wait_open(); var _cc_actor = $.inputpop_getValue({id:'_cc_actor'}); var _cc_comment = $('#_cc_comment').val(); /* var _data ={ pdid:_jparam.pdid ,piid:_jparam.piid ,nodename:_jparam.nodename ,tasktype:_jparam.tasktype ,taskid:_jparam.taskid ,subtaskid:_jparam.subtaskid ,actorid:_jparam.actorid ,actortype:_jparam.actortype ,originactorid:_jparam.originactorid ,originactortype:_jparam.originactortype ,agenttype:_jparam.agenttype ,ccactors:_cc_actor ,cccomment:_cc_comment }; */ var _data = { task:_jtask.task ,ccactors:_cc_actor ,cccomment:_cc_comment }; $.cuajax({ url:'wdk?action=wdk.wf&method=task_cc&ajaxparam='+new Date().getTime(), method:"post", timeout:WDK_Timeout, data:_data, success:function(result) { $('#dlg_cc').dialog('close'); $.wait_close(); var jres = $.str2json(result); $.grid_reload({id:_gridid}); alert(jres.desc); return; }, error:function(result){ $.wait_close(); alert('网络错误!result='+result); } }); } function _task_read(jtask){ _jtask = jtask; $('#dlg_read').dialog('open').dialog('setTitle','新增抄送'); //初始化各类控件的值 $('#_read_cccomment').val(jtask.cccomment); $('#_read_readcomment').val(''); } //抄送,弹出人员选择列表 function _task_read_save(){ $.wait_open(); var _read_readcomment = $('#_read_readcomment').val(); /* var _data ={ pdid:_jparam.pdid ,piid:_jparam.piid ,nodename:_jparam.nodename ,tasktype:_jparam.tasktype ,taskid:_jparam.taskid ,subtaskid:_jparam.subtaskid ,actorid:_jparam.actorid ,actortype:_jparam.actortype ,originactorid:_jparam.originactorid ,originactortype:_jparam.originactortype ,agenttype:_jparam.agenttype ,ccid:_jparam.ccid ,ccrecordid:_jparam.ccrecordid ,readcomment:_read_readcomment }; */ var _data = { task:_jtask.task ,readcomment:_read_readcomment }; $.cuajax({ url:'wdk?action=wdk.wf&method=task_read&ajaxparam='+new Date().getTime(), method:"post", timeout:WDK_Timeout, data:_data, success:function(result) { $('#dlg_read').dialog('close'); $.wait_close(); var jres = $.str2json(result); $.grid_reload({id:_gridid}); alert(jres.desc); return; }, error:function(result){ $.wait_close(); alert('网络错误!result='+result); } }); } //查看流程办理记录 function _task_history(pdid,piid,taskid){ $.tab_addTop({ menucode: 'pihistory' ,title:'流程办理记录' ,closable:true ,url:'<%=WDK_ROOT%>/module/wf/pi_history.jsp?pdid='+pdid+'&piid='+piid }); } function _task_oper(optype,pdid,piid){ var _data ={ optype:optype ,pdid:pdid ,piid:piid }; $.cuajax({ url:'wdk?action=wdk.wf&method=wf_pi_oper&ajaxparam='+new Date().getTime(), method:"post", timeout:WDK_Timeout, data:_data, success:function(result) { var jparam = $.str2json(result); $.grid_reload({id:_gridid}); alert(jparam.desc); return; if("1"==jparam.code){ $.grid_reload({id:_gridid}); }else{ $.messager.alert('Warning',jparam.desc); } }, error:function(result){ 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="q_actorid" name="q_actorid" class="txt" style="width:120px;margin-left: 5px;"></input> <input type="checkbox" id="q_hasdepute" name="q_hasdepute" style="width:15px;margin-left: 15px;vertical-align:middle;"></input> <label style="margin-left: 1px;text-align:left;">委托</label> <input type="checkbox" id="q_hasassign" name="q_hasassign" style="width:15px;margin-left: 15px;vertical-align:middle;"></input> <label style="margin-left: 1px;text-align:left;">交办</label> <input type="checkbox" id="q_hasdone" name="q_hasdone" style="width:15px;margin-left: 15px;vertical-align:middle;"></input> <label style="margin-left: 1px;text-align:left;">经办</label> <input type="checkbox" id="q_hasread" name="q_hasread" style="width:15px;margin-left: 15px;vertical-align:middle;"></input> <label style="margin-left: 1px;text-align:left;">阅办</label> <a id="_btnaddledger" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-add'" href="javascript:void(0)" onclick="_todo_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_cc" class="easyui-dialog" style="width:380px;height:450px;padding:20px 40px;margin:0;" closed="true" modal="true" buttons="#dlg_cc_buttons"> <div class="fitem" style="margin:10px;"> <div style="width:100px;margin-top:5px;float:left;">抄送人:</div> <input id="_cc_actor" name="_cc_actor" class="txt" style="width:150px"> </div> <div class="fitem" style="margin:10px;"> <div style="width:100px;margin-top:5px;float:left;">抄送说明:</div> <input id="_cc_comment" name="_cc_comment" class="txt" style="width:150px"> </div> </div> <div id="dlg_cc_buttons"> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-ok" onclick="_task_cc_save()">保存</a> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg_cc').dialog('close')">退出</a> </div> <!-- 新增阅办窗口 --> <div id="dlg_read" class="easyui-dialog" style="width:380px;height:450px;padding:20px 40px;margin:0;" closed="true" modal="true" buttons="#dlg_read_buttons"> <div class="fitem" style="margin:10px;"> <div style="width:100px;margin-top:5px;float:left;">抄送说明:</div> <input id="_read_cccomment" name="_read_cccomment" class="txt" style="width:150px"> </div> <div class="fitem" style="margin:10px;"> <div style="width:100px;margin-top:5px;float:left;">阅办意见:</div> <input id="_read_readcomment" name="_read_readcomment" class="txt" style="width:150px"> </div> </div> <div id="dlg_read_buttons"> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-ok" onclick="_task_read_save()">保存</a> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg_read').dialog('close')">退出</a> </div> </body> </html>