infoFlowForAll_v_2_1.jsp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  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/startFlow.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. if(formId != "0"){
  62. $("#formIns").attr("src", "${pageContext.request.contextPath }/bpmFormInstanceAction.do?task=infoIns&formId="+
  63. formId+"&formInsId=${requestScope.flow.formInsId}&state=${requestScope.state}");
  64. }
  65. scrll();
  66. });
  67. function closeSelf(){
  68. history.back();
  69. }
  70. /**
  71. * 当前跳转
  72. * @param url
  73. * @return
  74. */
  75. function historyBack(url) {
  76. location.href = url;
  77. }
  78. function openimg(){
  79. //$.ligerDialog.open({width : 1000, height : 300, target: $("#flowimg") });
  80. //是否支持svg
  81. var bool = Raphael.svg;
  82. if(bool){
  83. locking(2);
  84. }else{
  85. locking(1);
  86. }
  87. }
  88. //弹窗口
  89. function showInfo(insId){
  90. var url = "MTFlowAction.do?task=toInfo";
  91. var str = "?";
  92. if(url.indexOf("?")){ str = "&"; }
  93. url = url+str+"insId="+insId+str+"t="+new Date().getTime();
  94. window.top.win8Desktop.myWindow.init({
  95. windowTitle : "流程查看",
  96. windowsId : insId+"_"+new Date().getTime(),
  97. iframSrc : url,
  98. windowResizable:false
  99. });
  100. }
  101. function delfileshownhide(){
  102. var delfiles = $('#delfiles').css('display');
  103. if(delfiles == "none"){
  104. $("#delfiles").show();
  105. $("#ahide").html("隐藏已删除附件");
  106. }else if(delfiles == "block"){
  107. $("#delfiles").hide();
  108. $("#ahide").html("查看已删除附件");
  109. }
  110. }
  111. function showTaskDetail(id){
  112. $("#showTaskDetail_" + id).toggle();
  113. $("#hideTaskDetail_" + id).toggle();
  114. $(".taskDetail_"+id).toggle();
  115. }
  116. </script>
  117. </head>
  118. <body style="background: none;overflow:hidden;" ontouchmove="event.preventDefault();">
  119. <div id="jp-container" class="jp-container">
  120. <div class="navbar1">
  121. <div class="navbar-inner1">
  122. <button type="button" onclick="historyBack('MTFlowAction.do?task=toAll');" style="border-color: blue;" class="btn">
  123. <span style="color: blue">返回</span>
  124. </button>
  125. </div>
  126. </div>
  127. <div class="navbar">
  128. <div class="navbar-inner2">
  129. <font style="color: black; font-family: 微软雅黑; font-size: 30px; ">${requestScope.flow.insName }</font>
  130. <font style="color: black; font-family: 微软雅黑; font-size: 20px; ">发起人:${requestScope.flow.creator.username }</font>
  131. </div>
  132. </div>
  133. <div id="word_temp" class="wp" style="position: relative;">
  134. <div id="print_body">
  135. <c:if test="${requestScope.flow.formInsId != '0' }">
  136. <fieldset id="icon-top2">
  137. <div class="wf_shadow">
  138. <span class="z corner_41"></span> <span class="y corner_12"></span>
  139. <c:if test="${requestScope.flow.formInsId != '0' }">
  140. <iframe width="100%" onload="setFrame();" id="formIns" name="formIns"
  141. frameborder="0" scrolling="yes" style="width:100%;overflow-y : hidden;"
  142. src="" >
  143. </iframe>
  144. </c:if>
  145. <span class="z corner_34"></span> <span class="y corner_23"></span>
  146. </div>
  147. </fieldset>
  148. </c:if>
  149. <fieldset id="icon-top3" class="icon-top"
  150. style=" width: 970px; ">
  151. <legend class="fieldsettop">
  152. <i></i> &nbsp;流程附件
  153. </legend>
  154. <div class="forum-container">
  155. <table class="l-table-edit" style="margin-left: 10px; width: 950px;">
  156. <c:if test="${requestScope.flow.officeId.universalid!=0 && requestScope.flow.officeId.universalid!= null}">
  157. <!-- <tr id="new">
  158. <td class="l-table-edit-text">office文件:
  159. </td>
  160. <td class="l-table-edit-td">
  161. <input type="text" name="officeName" id="officeName" class="width_200" readonly="readonly" value="${requestScope.flow.l_office_name }">
  162. <input type="hidden" name="officeId" id="officeId" value="${requestScope.flow.officeId.universalid }">
  163. <a id="editOffice" onclick="openOffice()">查看文档</a>
  164. </td>
  165. </tr> -->
  166. </c:if>
  167. <% List<FileInfo> allfileList = (List)(request.getAttribute("fileList"));
  168. List<FileInfo> fileList = new ArrayList();
  169. List<FileInfo> delfileList = new ArrayList();
  170. for(FileInfo file:allfileList){
  171. if("1".equals(file.getState().getValue())){
  172. fileList.add(file);
  173. }else if("0".equals(file.getState().getValue())){
  174. delfileList.add(file);
  175. }
  176. }
  177. %>
  178. <tr>
  179. <td class="l-table-edit-text">附件 <% if(delfileList.size()>0) {%>(<a id="ahide" onclick="delfileshownhide();">查看已删除附件</a>)<%} %>:
  180. </td>
  181. <td class="l-table-edit-td">
  182. <%-- <c:if test="${fn:length(requestScope.fileList) > 0 }"> --%>
  183. <!-- <table> -->
  184. <!-- <tr> -->
  185. <!-- <td width="20%">上传环节</td> -->
  186. <!-- <td width="40%">上传人</td> -->
  187. <!-- <td width="40%">附件</td> -->
  188. <!-- </tr> -->
  189. <%-- <c:forEach items="${requestScope.fileList }" var="file"> --%>
  190. <!-- <tr> -->
  191. <%-- <td>${file.tinsId.tmodelId.tmodelName }</td> --%>
  192. <%-- <td>${file.creator.username }(${file.tinsId.finishdate })</td> --%>
  193. <%-- <td><span class="l-file" len="15">${file.fileId.universalid }</span></td> --%>
  194. <!-- </tr> -->
  195. <%-- </c:forEach> --%>
  196. <!-- </table> -->
  197. <%-- </c:if> --%>
  198. <% if(allfileList.size()>0) {%>
  199. <table>
  200. <tr>
  201. <td width="20%">上传环节</td>
  202. <td width="40%">上传人</td>
  203. <td width="40%">附件</td>
  204. </tr>
  205. <% if(fileList.size()>0) {
  206. for(FileInfo file:fileList){%>
  207. <tr id="<%=file.getIfileId()%>">
  208. <td><%=file.getTinsId().getTmodelId().getTmodelName() %></td>
  209. <td><%=file.getCreator().getUsername() %>(<%=file.getTinsId().getFinishdate() %>)</td>
  210. <td>
  211. <span id="<%=file.getIfileId()%>_filespan" class="l-file" len="15"><%=file.getFileId().getUniversalid() %></span>
  212. </td>
  213. </tr>
  214. <% }}%>
  215. </table>
  216. <div id="delfiles" style="display:none;">
  217. <% if(delfileList.size()>0) {%>
  218. <table>
  219. <% for(FileInfo file:delfileList){%>
  220. <tr id="<%=file.getIfileId()%>">
  221. <td width="20%"><%=file.getTinsId().getTmodelId().getTmodelName() %></td>
  222. <td width="40%"><%=file.getCreator().getUsername() %>(<%=file.getTinsId().getFinishdate() %>)</td>
  223. <td width="40%">
  224. <span class="l-file" len="15"><%=file.getFileId().getUniversalid() %></span>
  225. <font color="red">(已删除,删除时间:<%=file.getDelTime() %>)</font>
  226. </td>
  227. </tr>
  228. <% }%>
  229. </table>
  230. <% }%>
  231. </div>
  232. <%}else{ %>
  233. 无附件数据...
  234. <%} %>
  235. </td>
  236. </tr>
  237. </table>
  238. </div>
  239. </fieldset>
  240. <fieldset id="icon-top5" class="icon-top"
  241. style="width: 970px; ">
  242. <legend class="fieldsettop">
  243. <i></i> &nbsp;流转过程
  244. <c:if test="${requestScope.imgflag == 1 }">
  245. &nbsp;<img width="14" height="14" title="查看流程图" style="cursor: pointer;" onclick="openimg();" src="/shares/images/view.png" complete="complete"/><font size="12px">点此查看流程图</font>
  246. </c:if>
  247. </legend>
  248. <c:forEach items="${requestScope.processList }" var="tache">
  249. <div class="wf_shadow1">
  250. <c:if test="${tache.taskCount != 0 || tache.assistCount != 0}">
  251. <div style="position: absolute; margin-left: 750px; cursor: pointer; color: blue;" id="showTaskDetail_${tache.tache.tinsId}" onclick="showTaskDetail('${tache.tache.tinsId}');">查看传阅协办</div>
  252. <div style="position: absolute; margin-left: 750px; cursor: pointer; color: blue; display: none;" id="hideTaskDetail_${tache.tache.tinsId}" onclick="showTaskDetail('${tache.tache.tinsId}');">隐藏传阅协办</div>
  253. </c:if>
  254. <c:if test="${tache.userHeaderImg.headerfileid!=null && tache.userHeaderImg.headerfileid!='' }">
  255. <div style="position: absolute; margin-left: 5px; width: 90px;">
  256. <img alt="" style="width: 40px; height:40px;" src="${tache.userHeaderImg.path }">
  257. </div>
  258. </c:if>
  259. <c:if test="${tache.userHeaderImg.headerfileid==null || tache.userHeaderImg.headerfileid=='' }">
  260. <div style="position: absolute; margin-left: 5px; width: 90px;">
  261. <img alt="" style="width: 40px; height: 40px;" src="${pageContext.request.contextPath}/yw/bpm/style/header1.png">
  262. </div>
  263. </c:if>
  264. <div class="marginleft60">
  265. 环节名称:<font class="blueFont">${tache.tache.tmodelId.tmodelName }</font>&nbsp;&nbsp;
  266. 创建时间:<font class="blueFont">${fn:substring(tache.tache.createdate, 0, 16) }</font>&nbsp;&nbsp;
  267. <c:if test="${tache.tache.finishdate != null }">
  268. 环节办结:<font class="blueFont">${fn:substring(tache.tache.finishdate, 0, 16) }</font>&nbsp;&nbsp;
  269. </c:if>
  270. <font style="color: red; font-size: 14px;">${tache.tache.state.dataName }</font>
  271. </div>
  272. <div class="marginleft60">
  273. <font style="color: #000033; font-size: 20px;">${tache.tache.user.username }
  274. <c:if test="${tache.tache.authorizedUser.userId!='0' && tache.tache.authorizedUser.userId!='' && tache.tache.authorizedUser.userId!=null}">
  275. (授权:${tache.tache.authorizedUser.username})
  276. </c:if>
  277. </font>
  278. <c:if test="${tache.tache.remark != null && fn:length(tache.tache.remark) > 0 }">
  279. </c:if>
  280. </div>
  281. <c:if test="${tache.tache.remark != null && fn:length(tache.tache.remark) > 0 }">
  282. <div class="marginleft60">
  283. <font style="color: blue; font-size: 14px;">${tache.tache.remark }</font>
  284. </div>
  285. </c:if>
  286. <c:if test="${tache.taskCount != 0 }">
  287. <div class="taskDetail_${tache.tache.tinsId} marginleft60" style="display: none;">
  288. <div><font class="blueFont12px">传阅信息</font></div>
  289. <c:forEach items="${tache.task }" var="task">
  290. <div>
  291. 传阅对象:<font class="blueFont12px">${task.username } </font>&nbsp;&nbsp;
  292. 传阅时间:<font class="blueFont12px">${fn:substring(task.createdate, 0, 16) }</font>
  293. </div>
  294. </c:forEach>
  295. </div>
  296. </c:if>
  297. <c:if test="${tache.assistCount != 0 }">
  298. <div class="taskDetail_${tache.tache.tinsId} marginleft60" style="display: none; ">
  299. <div><font class="blueFont12px">协办信息</font></div>
  300. <c:forEach items="${tache.assist }" var="task">
  301. <div>
  302. 协办对象:<font class="blueFont12px">${task.username }</font> &nbsp;&nbsp;
  303. 办理内容:<font class="blueFont12px">${task.taskContent }</font> &nbsp;&nbsp;
  304. 创建时间:<font class="blueFont12px">${fn:substring(task.createdate, 0, 16) }</font> &nbsp;&nbsp;
  305. <c:if test="${task.finishdate!='' && task.finishdate!=null }">
  306. 完成时间:<font class="blueFont12px">${fn:substring(task.finishdate, 0, 16) }</font> &nbsp;&nbsp;
  307. </c:if>
  308. </div>
  309. </c:forEach>
  310. </div>
  311. </c:if>
  312. </div>
  313. </c:forEach>
  314. </fieldset>
  315. <fieldset></fieldset>
  316. </div>
  317. <br>
  318. </div>
  319. </div>
  320. <!-- end wrap-->
  321. <div style="position: fixed; bottom: 100px; right: 80px;">
  322. <p class="back-to-top" id="top1" style="display: block;">
  323. <a href="#top"><span></span>返回顶部</a>
  324. </p>
  325. <c:if test="${requestScope.flow.formInsId != '0' }">
  326. <p class="back-to-top" id="top2" style="display: block;">
  327. <a href="#icon-top2"><span></span>查看表单</a>
  328. </p>
  329. </c:if>
  330. <p class="back-to-top" id="top3" style="display: block;">
  331. <a href="#icon-top3"><span></span>查看附件</a>
  332. </p>
  333. <p class="back-to-top" id="top4" style="display: block;">
  334. <a href="#icon-top4"><span></span>备注意见</a>
  335. </p>
  336. <p class="back-to-top" id="top5" style="display: block;">
  337. <a href="#icon-top5"><span></span>流转过程</a>
  338. </p>
  339. <c:if test="${requestScope.imgflag == 1 }">
  340. <p class="back-to-top" id="top6" style="display: block;">
  341. <a onclick="openimg();"><span></span>流程图 </a>
  342. </p>
  343. </c:if>
  344. </div>
  345. <input type="hidden" id="tabid" name="tabid" value="${param.tabid }">
  346. <input type="hidden" id="dialogId" name="dialogId" value="${param.dialogId }">
  347. <div id="ly" class="zb">
  348. </div>
  349. <div id="zb" class="zb_flowimg" onclick="unlock()" style=" width: 900px; height: 800px; overflow-x: auto;overflow-y:hidden;">
  350. <div id="flowimg1" style="display: none;">
  351. <img src="/shares/document/flowimg/${requestScope.fmodel.modelId }.png" />
  352. </div>
  353. <div id="flowimg2" style="display: none;">
  354. 说明:<font color="#00a0e9">淡蓝色</font>代表已办环节,<font color="#6ea546">浅绿色</font>代表在办环节,黑色代表未办环节。
  355. ${graph.svgCode }
  356. </div>
  357. </div>
  358. <script type="text/javascript">
  359. function locking(type){
  360. console.log($(document).scrollTop());
  361. $(".zb").width(document.body.clientWidth);
  362. $(".zb").height(document.body.clientHeight + $(document).scrollTop());
  363. $(".zb").toggle();
  364. $(".zb_flowimg").css("left", document.body.clientWidth/2 - $(".zb_flowimg").width()/2);
  365. $(".zb_flowimg").css("top", document.body.clientHeight/2 - $(".zb_flowimg").height()/2 - 300 + $(document).scrollTop() + 450);
  366. $("#flowimg" + type).show();
  367. $(".zb_flowimg").toggle();
  368. }
  369. function unlock(){
  370. $(".zb").toggle();
  371. $(".zb_flowimg").toggle();
  372. }
  373. </script>
  374. <script type="text/javascript">
  375. $(function(){
  376. var tmodelId = null;
  377. <% List<TacheInstance> tlist = (List<TacheInstance>)request.getAttribute("tList");
  378. for(TacheInstance ti : tlist){
  379. if(ti.getState().getValue().equals("2") && ti.getSe().getValue().equals("0")){
  380. String tmodelid = ti.getTmodelId().getTmodelId();
  381. %>
  382. tmodelId = "<%=tmodelid%>";
  383. $("#" + tmodelId).attr("stroke", "#00a0e9");
  384. $("#" + tmodelId).attr("fill", "#ffffff");
  385. $("#" + tmodelId).attr("stroke-width", "2");
  386. $("#" + tmodelId).attr("font-weight", "bold");
  387. $("#txt_" + tmodelId).attr("fill", "#00a0e9");
  388. <%
  389. } else if (ti.getState().getValue().equals("1")){
  390. String tmodelid = ti.getTmodelId().getTmodelId();
  391. %>
  392. tmodelId = "<%=tmodelid%>";
  393. $("#" + tmodelId).attr("stroke", "#6ea546");
  394. $("#" + tmodelId).attr("stroke-width", "2");
  395. $("#" + tmodelId).attr("font-weight", "bold");
  396. $("#txt_" + tmodelId).attr("fill", "#6ea546");
  397. <%
  398. }
  399. }
  400. %>
  401. });
  402. </script>
  403. <!-- end nav-->
  404. <input type="hidden" id="newversion" name="newversion" value="1">
  405. </div>
  406. </body>
  407. </html>