processFlow_v_2_1.jsp 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. <%@page import="java.util.ArrayList"%>
  2. <%@page import="com.yw.bpm.instance.model.FileInfo"%>
  3. <%@page import="com.yw.bpm.instance.model.TacheInstance"%>
  4. <%@page import="java.util.List"%>
  5. <%@page import="com.yw.core.session.OASession"%>
  6. <%@ page language="java" contentType="text/html;charset=GBK"
  7. pageEncoding="GBK"%>
  8. <jsp:useBean id="oasession" class="com.yw.core.session.OASession"
  9. scope="session" />
  10. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  11. <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  12. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  13. <html class=" width960">
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html;charset=GBK">
  16. <META http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate">
  17. <meta http-equiv="X-UA-Compatible" content="IE=edge;IE=8;">
  18. <title>流程办理</title>
  19. <link
  20. href="${pageContext.request.contextPath }/liger/lib/ligerUI/skins/${sessionScope.css}/css/ligerui-all.css"
  21. rel="stylesheet" type="text/css" />
  22. <script src="${pageContext.request.contextPath }/liger/lib/jquery/jquery-1.3.2.min.js"
  23. type="text/javascript"></script>
  24. <script
  25. src="${pageContext.request.contextPath }/liger/lib/ligerUI/js/ligerui.all.js" type="text/javascript"></script>
  26. <link href="${pageContext.request.contextPath}/main.css" rel="stylesheet" type="text/css" />
  27. <link href="${pageContext.request.contextPath}/yw/bpm/style/bootstrap.css" rel="stylesheet" type="text/css" />
  28. <link href="${pageContext.request.contextPath}/yw/bpm/style/flow.css" rel="stylesheet" type="text/css" />
  29. <script type="text/javascript" src="/shares/js/constant.js"></script>
  30. <script type="text/javascript" src="/shares/js/common.js"></script>
  31. <script type="text/javascript" src="/shares/js/yw/master1_bpm/instance/processFlow.js"></script>
  32. <script type="text/javascript" src="/shares/js/yw/master1_bpm/instance/instance.js"></script>
  33. <script type="text/javascript" src="/shares/js/yw/bpm/oa.js"></script>
  34. <script type="text/javascript" src="/shares/js/file.js"></script>
  35. <script type="text/javascript" src="/shares/js/yw/master1/common.js"></script>
  36. <link rel="stylesheet" type="text/css" href="/shares/css/yw/master1/win/jquery.jscrollpane.codrops1.css" />
  37. <!-- the mousewheel plugin -->
  38. <script type="text/javascript" src="/shares/js/yw/master1/jquery.mousewheel.js"></script>
  39. <!-- the jScrollPane script -->
  40. <script type="text/javascript" src="/shares/js/yw/master1/jquery.jscrollpane.min.js"></script>
  41. <script type="text/javascript" src="/shares/js/yw/master1/scroll-startstop.events.jquery.js"></script>
  42. <script type="text/javascript" src="/shares/js/yw/master1/scrollpane.js"></script>
  43. <script type="text/javascript" src="/shares/js/yw/master1/desktop/desktop.js"></script>
  44. <script type="text/javascript" src="/shares/js/yw/master1/desktop/jquery.winResize.js"></script>
  45. <script type="text/javascript" src="/shares/js/yw/bpm/raphael.js"></script>
  46. <style type="text/css">
  47. .jp-container{
  48. height:500px;
  49. position:relative;
  50. overflow:hidden;
  51. }
  52. span[id$="_filespan"] ul{
  53. list-style-type:none;
  54. float: left;
  55. }
  56. </style>
  57. <script type="text/javascript">
  58. var insId = "${requestScope.flow.insId}";
  59. var formId = "${requestScope.flow.formId.formId}";
  60. $(function() {
  61. var nextUserTag = "${requestScope.tmodel.pathJudgeType.value }";
  62. if(nextUserTag == "1"){
  63. $("[name='nextUser']").hide();
  64. var nextTmodelId = $("[name='nextTmodelId']").val();
  65. $("#" + nextTmodelId).show();
  66. }
  67. $("[name='nextTmodelId']").change(function(){
  68. $("[name='nextUser']").hide();
  69. var nextTmodelId = $("[name='nextTmodelId']").val();
  70. $("#" + nextTmodelId).show();
  71. });
  72. $("#instructions").change(function(){
  73. $("#remark").val($("#instructions").val());
  74. });
  75. var formInsId = "${requestScope.flow.formInsId}";
  76. if(formInsId != "0"){
  77. $("#formIns").attr("src", "${pageContext.request.contextPath }/bpmFormInstanceAction.do?task=editIns&formId="
  78. + formId + "&tmodelId=${requestScope.tmodel.tmodelId }&formInsId=" + formInsId);
  79. }
  80. var nextObject = "${requestScope.tmodel.noticeObject}";
  81. if(nextObject.indexOf("3") >= 0){
  82. $("#noticeOther").show();
  83. }
  84. loadTypeTree("noticeButton",{type:"user", tab:"1", backId:"noticeUsers", backName:"noticeUsernames"});
  85. loadTypeTree("assistButton",{type:"user", tab:"1", backId:"assistUsers", backName:"assistUsernames"});
  86. loadTypeTree("copytoButton",{type:"user", tab:"1", backId:"copytoUsers", backName:"copytoUsernames"});
  87. scrll();
  88. });
  89. function closeSelf(){
  90. var type = "${param.type}";
  91. if(type==1){
  92. window.parent.frames['content'].frames['${param.tabid }'].onLoad();
  93. window.parent.frames['content'].frames['${param.tabid }'].closeODialog('${param.dialogId }');
  94. } else {
  95. window.parent.frames['${param.tabid }'].loadData();
  96. window.parent.frames['${param.tabid }'].closeODialog('${param.dialogId }');
  97. }
  98. }
  99. // function openimg(){
  100. // //是否支持svg
  101. // var bool = Raphael.svg;
  102. // if(bool){
  103. // $.ligerDialog.open({width : 1000, height : 300, target: $("#flowimg2") });
  104. // }else{
  105. // $.ligerDialog.open({width : 1000, height : 300, target: $("#flowimg1") });
  106. // }
  107. // }
  108. //弹窗口
  109. function showInfo(insId){
  110. var url = "MTFlowAction.do?task=toInfo";
  111. var str = "?";
  112. if(url.indexOf("?")){ str = "&"; }
  113. url = url+str+"insId="+insId+str+"t="+new Date().getTime();
  114. window.top.win8Desktop.myWindow.init({
  115. windowTitle : "流程查看",
  116. windowsId : insId+"_"+new Date().getTime(),
  117. iframSrc : url,
  118. windowResizable:false
  119. });
  120. }
  121. </script>
  122. <script type="text/javascript">
  123. // function sendCode1() {
  124. // $("#errorTip").hide();
  125. // $.ajax({
  126. // url : "FlowAction.do",
  127. // async : false,
  128. // type : "post",
  129. // data : {
  130. // "task" : "sendCode",
  131. // "insId" : $("#insId").val(),
  132. // "tinsId" : $("#tinsId").val(),
  133. // "user" : $("#userid").val()
  134. // },
  135. // success : function(data) {
  136. // //alert(data);
  137. // if (data) {
  138. // $("#sendCode").hide();
  139. // $("#resendCode").hide();
  140. // $("#resendTip").show();
  141. // setTimeout(function() {
  142. // $("#resendTip").hide();
  143. // $("#resendCode").show();
  144. // }, '60000');
  145. // }
  146. // },
  147. // error : function() {
  148. // addError("数据处理失败,请检查网络重新登录或联系管理员!");
  149. // }
  150. // });
  151. // }
  152. // function test(){
  153. // }
  154. // function sendCode2() {
  155. // $("#errorTip").hide();
  156. // //alert(1);
  157. // $.ajax({
  158. // url : "FlowAction.do",
  159. // async : false,
  160. // type : "post",
  161. // data : {
  162. // "task" : "resendCode",
  163. // "insId" : $("#insId").val(),
  164. // "tinsId" : $("#tinsId").val(),
  165. // "user" : $("#userid").val()
  166. // },
  167. // success : function(data) {
  168. // //alert(data);
  169. // if (data) {
  170. // $("#sendCode").hide();
  171. // $("#resendCode").hide();
  172. // $("#resendTip").show();
  173. // setTimeout(function() {
  174. // $("#resendTip").hide();
  175. // $("#resendCode").show();
  176. // }, '60000');
  177. // }
  178. // },
  179. // error : function() {
  180. // addError("数据处理失败,请检查网络重新登录或联系管理员!");
  181. // }
  182. // });
  183. // }
  184. /**
  185. * 当前跳转
  186. * @param url
  187. * @return
  188. */
  189. function historyBack(url) {
  190. location.href = url;
  191. }
  192. // function delFile(ifileId){
  193. // if(confirm("是否确定删除该附件?")){
  194. // $.ajax({
  195. // url : "MTFlowAction.do",
  196. // async : true,
  197. // type : "post",
  198. // data : {
  199. // "task" : "delFile",
  200. // "ifileId" : ifileId
  201. // },
  202. // success : function(data) {
  203. // if (data == "10010") {
  204. // addError("删除附件失败!");
  205. // } else if (data == "10011") {
  206. // addInfo("删除附件成功!");
  207. // var datestr = formatDate(new Date());
  208. // var tr = $("#"+ifileId).clone();
  209. // $("#"+ifileId).html("");
  210. // $("#"+ifileId).remove();
  211. // tr.find("#"+ifileId+"_filespan").removeAttr("id");
  212. // tr.find("#"+ifileId+"_span").html("<font color=\"red\">(已删除,删除时间:"+datestr+")</font> ");
  213. // $("#delfiletable").append(tr);
  214. // var delLink = $("#delLink").html();
  215. // if(!delLink){
  216. // $("#delLink").html("(<a id=\"ahide\" href=\"#\" onclick=\"delfileshownhide();\">查看已删除附件</a>)");
  217. // }
  218. // } else {
  219. // addError(data);
  220. // }
  221. // },
  222. // error : function() {
  223. // alert("数据处理失败,请检查网络重新登录或联系管理员!");
  224. // }
  225. // });
  226. // }
  227. // }
  228. // function delfileshownhide(){
  229. // var delfiles = $('#delfiles').css('display');
  230. // if(delfiles == "none"){
  231. // $("#delfiles").show();
  232. // $("#ahide").html("隐藏已删除附件");
  233. // }else if(delfiles == "block"){
  234. // $("#delfiles").hide();
  235. // $("#ahide").html("查看已删除附件");
  236. // }
  237. // }
  238. </script>
  239. </head>
  240. <body style="background: none;overflow:hidden;" ontouchmove="event.preventDefault();">
  241. <form action="FlowAction.do" method="post" id="insForm" name="insForm">
  242. <div id="jp-container" class="jp-container">
  243. <div class="navbar1">
  244. <div class="navbar-inner1">
  245. <button type="button" onclick="chooseNextTache('${requestScope.ttype.submitButton }');" class="btn" style="border-color: ${requestScope.ttype.submitColor };">
  246. <span style="color: ${requestScope.ttype.submitColor }">${requestScope.ttype.submitButton }</span>
  247. </button>
  248. <button type="button" onclick="assistDialog.show();" class="btn" style="border-color: ${requestScope.ttype.assistColor };">
  249. <span style="color: ${requestScope.ttype.assistColor }">${requestScope.ttype.assistButton }</span>
  250. </button>
  251. <button type="button" onclick="historyBack('MTFlowAction.do?task=toDealList');" class="btn" style="border-color: ${requestScope.ttype.closeColor };">
  252. <span style="color: ${requestScope.ttype.closeColor }">返回</span>
  253. </button>
  254. <c:if test="${requestScope.tmodel.se.value == 0 }">
  255. <button type="button" onclick="returnJs('${requestScope.ttype.returnButton }');" class="btn" style="border-color: ${requestScope.ttype.returnColor };">
  256. <span style="color: ${requestScope.ttype.returnColor }">${requestScope.ttype.returnButton }</span>
  257. </button>
  258. <button type="button" onclick="returnToSenderJs();" class="btn" style="border-color: ${requestScope.ttype.returnStartColor };">
  259. <span style="color: ${requestScope.ttype.returnStartColor }">${requestScope.ttype.returnStartButton }</span>
  260. </button>
  261. </c:if>
  262. </div>
  263. </div>
  264. <div class="navbar">
  265. <div class="navbar-inner2">
  266. <c:if test="${requestScope.tmodel.se.value == 1 }">
  267. <font id="insNameFont" style=" color: black; font-family: 微软雅黑; font-size: 30px; ">${requestScope.flow.insName }</font>
  268. <input type="text" id="insNameText" style="margin-top: 5px; height: 20px;width:500px; display: none;" value="${requestScope.flow.insName }">
  269. <a id="insNameEdit" onclick="changeInsName()">点此编辑标题</a>
  270. <a id="insNameEnter" onclick="confirmInsName();" style="display: none;">确定</a>
  271. <input type="hidden" id="insName" name="insName" value="${requestScope.flow.insName }">
  272. </c:if>
  273. <c:if test="${requestScope.tmodel.se.value != 1 }">
  274. <font id="insNameFont" style=" color: black; font-family: 微软雅黑; font-size: 30px; ">${requestScope.flow.insName }</font>
  275. <font style="color: black; font-family: 微软雅黑; font-size: 20px; ">发起人:${requestScope.flow.creator.username }</font>
  276. <input type="hidden" id="insName" name="insName" value="${requestScope.flow.insName }">
  277. </c:if>
  278. </div>
  279. </div>
  280. <div id="word_temp" class="wp" style="position: relative;">
  281. <div id="print_body">
  282. <c:if test="${requestScope.flow.formInsId != '0' }">
  283. <fieldset id="icon-top2">
  284. <div class="wf_shadow">
  285. <span class="z corner_41"></span> <span class="y corner_12"></span>
  286. <c:if test="${requestScope.flow.formInsId != '0' }">
  287. <iframe width="100%" onload="setFrame();" id="formIns" name="formIns"
  288. frameborder="0" scrolling="yes" style="width:100%;overflow-y : hidden;"
  289. src="" >
  290. </iframe>
  291. </c:if>
  292. <span class="z corner_34"></span> <span class="y corner_23"></span>
  293. </div>
  294. </fieldset>
  295. </c:if>
  296. <fieldset id="icon-top3" class="icon-top"
  297. style="width: 970px; ">
  298. <legend class="fieldsettop">
  299. <i></i> &nbsp;流程附件
  300. </legend>
  301. <div class="forum-container">
  302. <table class="l-table-edit">
  303. <c:if test="${requestScope.flow.officeId.universalid!=0 && requestScope.flow.officeId.universalid!= null}">
  304. <!-- <tr id="new">
  305. <td class="l-table-edit-text">office文件:
  306. </td>
  307. <td class="l-table-edit-td">
  308. <input type="text" name="officeName" class="width_200" id="officeName" readonly="readonly" value="${requestScope.tache.l_office_name }">
  309. <input type="hidden" name="officeId" id="officeId" value="${requestScope.tache.l_office_id }">
  310. <a id="editOffice" onclick="openOffice()">修改文档</a>
  311. </td>
  312. </tr> -->
  313. </c:if>
  314. <% List<FileInfo> allfileList = (List)(request.getAttribute("fileList"));
  315. List<FileInfo> fileList = new ArrayList();
  316. List<FileInfo> delfileList = new ArrayList();
  317. for(FileInfo file:allfileList){
  318. if("1".equals(file.getState().getValue())){
  319. fileList.add(file);
  320. }else if("0".equals(file.getState().getValue())){
  321. delfileList.add(file);
  322. }
  323. }
  324. %>
  325. <tr>
  326. <td class="l-table-edit-text">附件<span id="delLink"><% if(delfileList.size()>0) {%>(<a id="ahide" onclick="delfileshownhide();">查看已删除附件</a>)<%} %></span>:
  327. </td>
  328. <td class="l-table-edit-td">
  329. <% if(allfileList.size()>0) {%>
  330. <table>
  331. <tr>
  332. <td width="20%">上传环节</td>
  333. <td width="40%">上传人</td>
  334. <td width="40%">附件</td>
  335. </tr>
  336. <% if(fileList.size()>0) {%>
  337. <%
  338. for(FileInfo file:fileList){%>
  339. <tr id="<%=file.getIfileId()%>">
  340. <td width="20%"><%=file.getTinsId().getTmodelId().getTmodelName() %></td>
  341. <td width="40%"><%=file.getCreator().getUsername() %>(<%=file.getTinsId().getFinishdate().toString().substring(0, 19) %>)</td>
  342. <td width="40%">
  343. <% if(file.getCreator().getUserId().equals(String.valueOf(oasession.getLoginID()))){%>
  344. <span id="<%=file.getIfileId()%>_filespan" class="l-file" len="15"><%=file.getFileId().getUniversalid() %></span>
  345. <span id="<%=file.getIfileId()%>_span">
  346. &nbsp;&nbsp;<img width="12" height="12" title="删除" style="cursor: pointer;margin-bottom:-3px;" onclick="delFile('<%=file.getIfileId()%>')" src="/shares/images/no.png" complete="complete"/>
  347. </span>
  348. <%}else {%>
  349. <span class="l-file" len="15"><%=file.getFileId().getUniversalid() %></span>
  350. <%} %>
  351. </td>
  352. </tr>
  353. <% }%>
  354. <%} %>
  355. </table>
  356. <div id="delfiles" style="display: none;">
  357. <table id="delfiletable">
  358. <% if(delfileList.size()>0) {%>
  359. <% for(FileInfo file:delfileList){%>
  360. <tr id="<%=file.getIfileId()%>">
  361. <td width="20%"><%=file.getTinsId().getTmodelId().getTmodelName() %></td>
  362. <td width="40%"><%=file.getCreator().getUsername() %>(<%=file.getTinsId().getFinishdate().toString().substring(0, 19) %>)</td>
  363. <td width="40%">
  364. <span class="l-file" len="15"><%=file.getFileId().getUniversalid() %></span>
  365. <span id="<%=file.getIfileId()%>_span">
  366. <font color="red">(已删除,删除时间:<%=file.getDelTime().toString().substring(0, 19) %>)</font>
  367. </span>
  368. </td>
  369. </tr>
  370. <% }%>
  371. <% }%>
  372. </table>
  373. </div>
  374. <% }%>
  375. <c:if test="${requestScope.tmodel.isOffice.value == 1 }">
  376. <jsp:include page="/include/file.jsp">
  377. <jsp:param name="fieldName" value="fileId"/>
  378. <jsp:param name="folder" value="flow"/>
  379. <jsp:param name="documentId" value=""/>
  380. <jsp:param name="size" value="20"/>
  381. <jsp:param name="isDelFile" value="1"/>
  382. </jsp:include>
  383. </c:if>
  384. <c:if test="${requestScope.tmodel.isOffice.value == 0 }">
  385. <% if(allfileList.size()==0) {%>无附件数据...<%} %>
  386. </c:if>
  387. </td>
  388. </tr>
  389. </table>
  390. </div>
  391. </fieldset>
  392. <fieldset id="icon-top4" class="icon-top"
  393. style="width: 970px; ">
  394. <legend class="fieldsettop">
  395. <i></i> &nbsp;流程办理
  396. </legend>
  397. <div class="forum-container">
  398. <table class="l-table-edit">
  399. <c:choose>
  400. <c:when test="${requestScope.tmodel.pathJudgeType.value == 1 }">
  401. <tr>
  402. <td class="l-table-edit-text">下一环节<FONT COLOR="red">*</FONT>:
  403. </td>
  404. <td class="l-table-edit-td">
  405. <select id="nextTmodelId" name="nextTmodelId" class="width_150 flowText">
  406. <c:forEach items="${requestScope.nextTmodels }" var="tmodel">
  407. <option value="${tmodel.nextTmodelId.tmodelId }">${tmodel.nextTmodelId.tmodelName }</option>
  408. </c:forEach>
  409. </select>
  410. </td>
  411. </tr>
  412. <c:forEach items="${requestScope.nextHandTmodels }" var="nhTmodel" varStatus="count">
  413. <tbody id="${nhTmodel.nextTmodelId.tmodelId }" name="nextUser">
  414. <tr>
  415. <td class="l-table-edit-text">下一环节操作人<FONT COLOR="red">*</FONT>:
  416. </td>
  417. <td class="l-table-edit-td">
  418. <input type="text" class="width_150 flowText" style="margin-top: 4px;" id="usersName${nhTmodel.nextTmodelId.tmodelId }" name="usersName${nhTmodel.nextTmodelId.tmodelId }" value="">
  419. <input type="hidden" id="users${nhTmodel.nextTmodelId.tmodelId }" name="users${nhTmodel.nextTmodelId.tmodelId }" value="">
  420. <input type="button" class="btn flowText" style="height: 25px;" id="usersButton${nhTmodel.nextTmodelId.tmodelId }" name="usersButton${nhTmodel.nextTmodelId.tmodelId }" value="选择人员">
  421. </td>
  422. </tr>
  423. <script type="text/javascript">
  424. $(document).ready(function(){
  425. loadTypeTree("usersButton${nhTmodel.nextTmodelId.tmodelId }",{type:"user", tab:"1", backId:"users${nhTmodel.nextTmodelId.tmodelId }", backName:"usersName${nhTmodel.nextTmodelId.tmodelId }", tabParam:[{tab:"1", isMultiDept:"1"}]});
  426. });
  427. </script>
  428. </tbody>
  429. </c:forEach>
  430. </c:when>
  431. <c:when test="${requestScope.tmodel.pathJudgeType.value == 0 }">
  432. <c:if test="${fn:length(requestScope.nextHandTmodels) > 0}">
  433. <tr>
  434. <td class="l-table-edit-text">下一环节操作人<FONT COLOR="red">*</FONT>:
  435. </td>
  436. <td class="l-table-edit-td"></td>
  437. </tr>
  438. </c:if>
  439. <c:forEach items="${requestScope.nextHandTmodels }" var="nhTmodel" varStatus="count">
  440. <tbody id="${nhTmodel.nextTmodelId.tmodelId }" name="nextUser">
  441. <tr>
  442. <td class="l-table-edit-text">${nhTmodel.nextTmodelId.tmodelName }<FONT COLOR="red">*</FONT>:
  443. </td>
  444. <td class="l-table-edit-td">
  445. <input type="text" class="width_150 flowText" style="margin-top: 4px;" id="usersName${nhTmodel.nextTmodelId.tmodelId }" name="usersName${nhTmodel.nextTmodelId.tmodelId }" value="">
  446. <input type="hidden" id="users${nhTmodel.nextTmodelId.tmodelId }" name="users${nhTmodel.nextTmodelId.tmodelId }" value="">
  447. <input type="button" class="btn flowText" style="height: 25px;" id="usersButton${nhTmodel.nextTmodelId.tmodelId }" name="usersButton${nhTmodel.nextTmodelId.tmodelId }" value="选择人员">
  448. </td>
  449. </tr>
  450. <script type="text/javascript">
  451. $(document).ready(function(){
  452. loadTypeTree("usersButton${nhTmodel.nextTmodelId.tmodelId }",{type:"user", tab:"1", backId:"users${nhTmodel.nextTmodelId.tmodelId }", backName:"usersName${nhTmodel.nextTmodelId.tmodelId }", tabParam:[{tab:"1", isMultiDept:"1"}]});
  453. });
  454. </script>
  455. </tbody>
  456. </c:forEach>
  457. </c:when>
  458. </c:choose>
  459. <tr>
  460. <td class="l-table-edit-text">当前环节名称:
  461. </td>
  462. <td class="l-table-edit-td">
  463. ${requestScope.tmodel.tmodelName }
  464. </td>
  465. </tr>
  466. <c:if test="${requestScope.tmodel.handleValidate == 1 }">
  467. <tr>
  468. <td class="l-table-edit-text">短信验证码:
  469. </td>
  470. <td class="l-table-edit-td">
  471. <input type="text" id="validateCode" name="validateCode" class="width_150 flowText">
  472. <button type="button" class="btn" id="sendCode" name="sendCode" onclick="sendCode1();">
  473. 发送验证码
  474. </button>
  475. <button type="button" class="btn" id="resendTip" name="resendTip" style="color: red; display: none;" disabled="disabled">
  476. 60秒后可以重新发送
  477. </button>
  478. <button type="button" class="btn" id="resendCode" name="resendCode" onclick="sendCode2()" style="display: none;">
  479. 重新发送验证码
  480. </button>
  481. <span style="color: red; display:none;" id="errorTip" name="errorTip">验证码错误,请重新输入</span>
  482. </td>
  483. </tr>
  484. </c:if>
  485. <tr>
  486. <td class="l-table-edit-text">短信提醒:
  487. </td>
  488. <td class="l-table-edit-td">
  489. <input type="checkbox" id="isNextSms" name="isNextSms" value="1"
  490. <c:if test="${requestScope.tmodel.isSms.value == 1}">
  491. checked="checked"
  492. </c:if>
  493. >&nbsp;短信通知下一环节操作人
  494. </td>
  495. </tr>
  496. <tr id="noticeOther" style="display: none;">
  497. <td class="l-table-edit-text">通知其他人:
  498. </td>
  499. <td class="l-table-edit-td">
  500. <textarea id="noticeUsernames" name="noticeUsernames" rows="3" cols="50" class="flowText"></textarea>
  501. <input type="hidden" id="noticeUsers" name="noticeUsers" value="">
  502. <input type="button" style="height: 25px;" class="btn flowText" id="noticeButton" name="noticeButton" value="选择人员">
  503. </td>
  504. </tr>
  505. <tr>
  506. <td class="l-table-edit-text" colspan="2">
  507. <div>
  508. <a onclick="show('copytoTR', this);" style="color: #3853a8;cursor: pointer;">添加抄送</a>
  509. <a onclick="hide('copytoTR', this);" style="color: #3853a8;cursor: pointer;display: none;">取消抄送</a>
  510. </div>
  511. </td>
  512. </tr>
  513. <tr id="copytoTR" style="display: none;">
  514. <td class="l-table-edit-text">抄送对象:
  515. </td>
  516. <td class="l-table-edit-td">
  517. <textarea id="copytoUsernames" name="copytoUsernames" rows="3" cols="50" class="flowText"></textarea>
  518. <input type="hidden" id="copytoUsers" name="copytoUsers" value="">
  519. <input type="button" style="height: 25px;" class="btn flowText" id="copytoButton" name="copytoButton" value="选择人员">
  520. </td>
  521. </tr>
  522. <tr>
  523. <td class="l-table-edit-text" rowspan="2">环节审批:
  524. </td>
  525. <td class="l-table-edit-td">
  526. <select id="instructions" class="flowText" style="width: 200px;">
  527. <option value="">常用批示语</option>
  528. <c:forEach items="${requestScope.inList }" var="in">
  529. <option value="${in.instructions }">${in.instructions }</option>
  530. </c:forEach>
  531. </select>
  532. </td>
  533. </tr>
  534. <tr>
  535. <td class="l-table-edit-td">
  536. <textarea rows="5" cols="100" class="flowText" id="remark" name="remark"></textarea>
  537. </td>
  538. </tr>
  539. </table>
  540. </div>
  541. </fieldset>
  542. <fieldset id="icon-top5" class="icon-top"
  543. style="width: 970px; ">
  544. <legend class="fieldsettop">
  545. <i></i> &nbsp;流转过程
  546. <c:if test="${requestScope.imgflag == 1 }">
  547. &nbsp;<img width="14" height="14" title="查看流程图" style="cursor: pointer;" onclick="openimg();" src="/shares/images/view.png" complete="complete"/>
  548. <font size="12px" style="cursor: pointer;" onclick="openimg();">点此查看流程图</font>
  549. </c:if>
  550. </legend>
  551. <!-- <div id="maingrid4" style="margin-left: 10px; width: 900px;"> -->
  552. <c:forEach items="${requestScope.processList }" var="tache">
  553. <div class="wf_shadow1">
  554. <c:if test="${tache.taskCount != 0 || tache.assistCount != 0}">
  555. <div style="position: absolute; margin-left: 750px; cursor: pointer; color: blue;" id="showTaskDetail_${tache.tache.tinsId}" onclick="showTaskDetail('${tache.tache.tinsId}');">查看传阅协办</div>
  556. <div style="position: absolute; margin-left: 750px; cursor: pointer; color: blue; display: none;" id="hideTaskDetail_${tache.tache.tinsId}" onclick="showTaskDetail('${tache.tache.tinsId}');">隐藏传阅协办</div>
  557. </c:if>
  558. <c:if test="${tache.userHeaderImg.headerfileid!=null && tache.userHeaderImg.headerfileid!='' }">
  559. <div style="position: absolute; margin-left: 5px; width: 90px;">
  560. <img alt="" style="width: 40px; height:40px;" src="${tache.userHeaderImg.path }">
  561. </div>
  562. </c:if>
  563. <c:if test="${tache.userHeaderImg.headerfileid==null || tache.userHeaderImg.headerfileid=='' }">
  564. <div style="position: absolute; margin-left: 5px; width: 90px;">
  565. <img alt="" style="width: 40px; height: 40px;" src="${pageContext.request.contextPath}/yw/bpm/style/header1.png">
  566. </div>
  567. </c:if>
  568. <div class="marginleft60">
  569. 环节名称:<font class="blueFont">${tache.tache.tmodelId.tmodelName }</font>&nbsp;&nbsp;
  570. 创建时间:<font class="blueFont">${fn:substring(tache.tache.createdate, 0, 16) }</font>&nbsp;&nbsp;
  571. <c:if test="${tache.tache.finishdate != null }">
  572. 环节办结:<font class="blueFont">${fn:substring(tache.tache.finishdate, 0, 16) }</font>&nbsp;&nbsp;
  573. </c:if>
  574. <font style="color: red; font-size: 14px;">${tache.tache.state.dataName }</font>
  575. </div>
  576. <div class="marginleft60">
  577. <font style="color: #000033; font-size: 20px;">${tache.tache.user.username }
  578. <c:if test="${tache.tache.authorizedUser.userId!='0' && tache.tache.authorizedUser.userId!='' && tache.tache.authorizedUser.userId!=null}">
  579. (授权:${tache.tache.authorizedUser.username})
  580. </c:if>
  581. </font>
  582. <c:if test="${tache.tache.remark != null && fn:length(tache.tache.remark) > 0 }">
  583. </c:if>
  584. </div>
  585. <c:if test="${tache.tache.remark != null && fn:length(tache.tache.remark) > 0 }">
  586. <div class="marginleft60">
  587. <font style="color: blue; font-size: 14px;">${tache.tache.remark }</font>
  588. </div>
  589. </c:if>
  590. <c:if test="${tache.taskCount != 0 }">
  591. <div class="taskDetail_${tache.tache.tinsId} marginleft60" style="display: none;">
  592. <div><font class="blueFont12px">传阅信息</font></div>
  593. <c:forEach items="${tache.task }" var="task">
  594. <div>
  595. 传阅对象:<font class="blueFont12px">${task.username } </font>&nbsp;&nbsp;
  596. 传阅时间:<font class="blueFont12px">${fn:substring(task.createdate, 0, 16) }</font>
  597. </div>
  598. </c:forEach>
  599. </div>
  600. </c:if>
  601. <c:if test="${tache.assistCount != 0 }">
  602. <div class="taskDetail_${tache.tache.tinsId} marginleft60" style="display: none; ">
  603. <div><font class="blueFont12px">协办信息</font></div>
  604. <c:forEach items="${tache.assist }" var="task">
  605. <div>
  606. 协办对象:<font class="blueFont12px">${task.username }</font> &nbsp;&nbsp;
  607. 办理内容:<font class="blueFont12px">${task.taskContent }</font> &nbsp;&nbsp;
  608. 创建时间:<font class="blueFont12px">${fn:substring(task.createdate, 0, 16) }</font> &nbsp;&nbsp;
  609. <c:if test="${task.finishdate!='' && task.finishdate!=null }">
  610. 完成时间:<font class="blueFont12px">${fn:substring(task.finishdate, 0, 16) }</font> &nbsp;&nbsp;
  611. </c:if>
  612. </div>
  613. </c:forEach>
  614. </div>
  615. </c:if>
  616. </div>
  617. </c:forEach>
  618. <!-- </div> -->
  619. </fieldset>
  620. </div>
  621. <br>
  622. </div>
  623. <!-- </div> -->
  624. <!-- end wrap-->
  625. <!-- <div style="position: fixed; bottom: 100px; right: 80px;"> -->
  626. <!-- <p class="back-to-top" id="top1" style="display: block;"> -->
  627. <!-- <a href="#top"><span></span>返回顶部</a> -->
  628. <!-- </p> -->
  629. <%-- <c:if test="${requestScope.flow.formInsId != '0' }"> --%>
  630. <!-- <p class="back-to-top" id="top2" style="display: block;"> -->
  631. <!-- <a href="#icon-top2"><span></span>流程表单</a> -->
  632. <!-- </p> -->
  633. <%-- </c:if> --%>
  634. <!-- <p class="back-to-top" id="top3" style="display: block;"> -->
  635. <!-- <a href="#icon-top3"><span></span>流程附件</a> -->
  636. <!-- </p> -->
  637. <!-- <p class="back-to-top" id="top4" style="display: block;"> -->
  638. <!-- <a href="#icon-top4"><span></span>流程办理</a> -->
  639. <!-- </p> -->
  640. <!-- <p class="back-to-top" id="top5" style="display: block;"> -->
  641. <!-- <a href="#icon-top5"><span></span>流转过程</a> -->
  642. <!-- </p> -->
  643. <%-- <c:if test="${requestScope.imgflag == 1 }"> --%>
  644. <!-- <p class="back-to-top" id="top6" style="display: block;"> -->
  645. <!-- <a onclick="openimg();"><span></span>流程图 </a> -->
  646. <!-- </p> -->
  647. <%-- </c:if> --%>
  648. <!-- </div> -->
  649. <!--
  650. -->
  651. <input type="hidden" id="tmodelId" name="tmodelId" value="${requestScope.tmodel.tmodelId }">
  652. <input type="hidden" id="tinsId" name="tinsId" value="${requestScope.tache.tinsId }">
  653. <input type="hidden" id="preTinsId" name="preTinsId" value="${requestScope.tache.preTinsId }">
  654. <input type="hidden" id="insId" name="insId" value="${requestScope.flow.insId }">
  655. <input type="hidden" id="modelId" name="modelId" value="${requestScope.fmodel.modelId }">
  656. <input type="hidden" id="creator" name="creator" value="${requestScope.flow.creator.userId }">
  657. <input type="hidden" id="groupxuserid" name="groupxuserid" value="${requestScope.flow.groupxuserid.id }">
  658. <input type="hidden" id="state" name="state" value="${requestScope.flow.groupxuserid.state }">
  659. <input type="hidden" id="task" name="task" value="process">
  660. <input type="hidden" id="formInsId" name="formInsId" value="${requestScope.flow.formInsId }">
  661. <input type="hidden" id="formId" name="formId" value="${requestScope.fmodel.formId.formId }">
  662. <input type="hidden" id="tabid" name="tabid" value="${param.tabid }">
  663. <input type="hidden" id="dialogId" name="dialogId" value="${param.dialogId }">
  664. <input type="hidden" id="groupid" name="groupid" value="${requestScope.flow.groupid.groupId}">
  665. <input type="hidden" id="isMoreIns" name="isMoreIns" value="${requestScope.tmodel.isMoreIns.value }">
  666. <input type="hidden" id="pathJudgeType" name="pathJudgeType" value="${requestScope.tmodel.pathJudgeType.value }">
  667. <input type="hidden" id="se" name="se" value="${requestScope.tmodel.se.value }">
  668. <input type="hidden" id="userid" name="userid" value="${requestScope.tache.groupxuserid.id}">
  669. <input type="hidden" id="handleValidate" value="${ requestScope.tmodel.handleValidate}">
  670. <input type="hidden" id="reqRemark" name="reqRemark" value="${requestScope.tmodel.reqRemark.value }">
  671. <input type="hidden" id="newversion" name="newversion" value="1">
  672. <div id="nextTacheInfo">
  673. <div class="forum-container">
  674. <table class="l-table-edit" style="margin-left: 10px; width: 750px !important;">
  675. <tr>
  676. <td class="l-table-edit-text">
  677. 后续环节
  678. </td>
  679. <td class="l-table-edit-td">
  680. 查看和选择后续环节操作人
  681. </td>
  682. </tr>
  683. <tbody id="nextTacheInfoTd">
  684. </tbody>
  685. <tr>
  686. <td style="text-align: center;" colspan="2">
  687. <span id="validateTip" style="color: red; display: none;">每个环节都需要至少选择一个办理人!</span>
  688. </td>
  689. </tr>
  690. <tr>
  691. <td style="text-align: center;" colspan="2">
  692. <button type="button" onclick="saveFlow();" class="btn" id="sbmbtn">
  693. <span>${requestScope.ttype.submitButton }</span>
  694. </button>
  695. <button type="button" onclick="closeNextTacheInfo()" class="btn" id="clsbtn" style="display: none;">
  696. <span>关闭</span>
  697. </button>
  698. </td>
  699. </tr>
  700. </table>
  701. </div>
  702. </div>
  703. <div id="assistDiv">
  704. <div class="forum-container">
  705. <table class="l-table-edit" style="margin-left: 10px; width: 450px !important;">
  706. <tr>
  707. <td class="l-table-edit-text">协办对象:
  708. </td>
  709. <td class="l-table-edit-td">
  710. <textarea id="assistUsernames" class="flowText" name="assistUsernames" rows="3" cols="50"></textarea>
  711. <input type="hidden" id="assistUsers" name="assistUsers" value="">
  712. <input type="button" style="height: 25px;" class="btn flowText" id="assistButton" name="copytoButton" value="选择人员">
  713. </td>
  714. </tr>
  715. <tr>
  716. <td class="l-table-edit-text">协办内容:
  717. </td>
  718. <td class="l-table-edit-td">
  719. <textarea id="taskContent" name="taskContent" class="flowText" rows="3" cols="50"></textarea>
  720. </td>
  721. </tr>
  722. <tr>
  723. <td class="l-table-edit-text" colspan="2" style="text-align: center;">
  724. <button type="button" onclick="sendAssist();" class="btn flowText">
  725. 派发
  726. </button>
  727. <button type="button" onclick="assistDialog.hide();" class="btn flowText">
  728. 关闭
  729. </button>
  730. </td>
  731. </tr>
  732. </table>
  733. </div>
  734. </div>
  735. <div id="ly" class="zb">
  736. </div>
  737. <div id="zb" class="zb_flowimg" onclick="unlock()" style=" width: 900px; height: 800px; overflow-x: auto;overflow-y:hidden;">
  738. <div id="flowimg1" style="display: none;">
  739. <img src="/shares/document/flowimg/${requestScope.fmodel.modelId }.png" />
  740. </div>
  741. <div id="flowimg2" style="display: none;">
  742. <c:choose>
  743. <c:when test="${graph.svgCode!='' && graph.svgCode!=null }">
  744. 说明:<font color="#00a0e9">淡蓝色</font>代表已办环节,<font color="#6ea546">浅绿色</font>代表在办环节,黑色代表未办环节。
  745. ${graph.svgCode }
  746. </c:when>
  747. <c:otherwise>
  748. 说明:<font color="red">该流程模板还未生成流程图!</font>
  749. </c:otherwise>
  750. </c:choose>
  751. </div>
  752. </div>
  753. <script type="text/javascript">
  754. function locking(type){
  755. //console.log($(document).scrollTop());
  756. $(".zb").width(document.body.clientWidth);
  757. $(".zb").height(document.body.clientHeight + $(document).scrollTop());
  758. $(".zb").toggle();
  759. $(".zb_flowimg").css("left", document.body.clientWidth/2 - $(".zb_flowimg").width()/2);
  760. $(".zb_flowimg").css("top", document.body.clientHeight/2 - $(".zb_flowimg").height()/2 - 300 + $(document).scrollTop() + 450);
  761. $("#flowimg" + type).show();
  762. $(".zb_flowimg").toggle();
  763. }
  764. function unlock(){
  765. $(".zb").toggle();
  766. $(".zb_flowimg").toggle();
  767. }
  768. </script>
  769. <script type="text/javascript">
  770. $(function(){
  771. var tmodelId = null;
  772. <% List<TacheInstance> tlist = (List<TacheInstance>)request.getAttribute("tList");
  773. for(TacheInstance ti : tlist){
  774. if(ti.getState().getValue().equals("2") && ti.getSe().getValue().equals("0")){
  775. String tmodelid = ti.getTmodelId().getTmodelId();
  776. %>
  777. tmodelId = "<%=tmodelid%>";
  778. $("#" + tmodelId).attr("stroke", "#00a0e9");
  779. $("#" + tmodelId).attr("fill", "#ffffff");
  780. $("#" + tmodelId).attr("stroke-width", "2");
  781. $("#" + tmodelId).attr("font-weight", "bold");
  782. $("#txt_" + tmodelId).attr("fill", "#00a0e9");
  783. <%
  784. } else if (ti.getState().getValue().equals("1")){
  785. String tmodelid = ti.getTmodelId().getTmodelId();
  786. %>
  787. tmodelId = "<%=tmodelid%>";
  788. $("#" + tmodelId).attr("stroke", "#6ea546");
  789. $("#" + tmodelId).attr("stroke-width", "2");
  790. $("#" + tmodelId).attr("font-weight", "bold");
  791. $("#txt_" + tmodelId).attr("fill", "#6ea546");
  792. <%
  793. }
  794. }
  795. %>
  796. });
  797. </script>
  798. </div>
  799. </form>
  800. <!-- end nav-->
  801. </body>
  802. </html>