issue.jsp 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <%@page contentType="text/html;charset=UTF-8"%>
  2. <%@include file="/taglibs.jsp"%>
  3. <%pageContext.setAttribute("currentHeader", "plm");%>
  4. <%pageContext.setAttribute("currentMenu", "plm");%>
  5. <!doctype html>
  6. <html lang="en">
  7. <head>
  8. <%@include file="/common/meta.jsp"%>
  9. <title>列表</title>
  10. <%@include file="/common/s3.jsp"%>
  11. <script type="text/javascript">
  12. var config = {
  13. id: 'pimInfoGrid',
  14. pageNo: ${page.pageNo},
  15. pageSize: ${page.pageSize},
  16. totalCount: ${page.totalCount},
  17. resultSize: ${page.resultSize},
  18. pageCount: ${page.pageCount},
  19. orderBy: '${page.orderBy == null ? "" : page.orderBy}',
  20. asc: ${page.asc},
  21. params: {
  22. 'filter_LIKES_name': '${param.filter_LIKES_name}'
  23. },
  24. selectedItemClass: 'selectedItem',
  25. gridFormId: 'pimInfoGridForm',
  26. exportUrl: 'pim-info-export.do'
  27. };
  28. var table;
  29. $(function() {
  30. table = new Table(config);
  31. table.configPagination('.m-pagination');
  32. table.configPageInfo('.m-page-info');
  33. table.configPageSize('.m-page-size');
  34. });
  35. </script>
  36. </head>
  37. <body>
  38. <%@include file="/header/plm.jsp"%>
  39. <div class="row-fluid">
  40. <!-- start of sidebar -->
  41. <div class="panel-group col-md-2" id="accordion" role="tablist" aria-multiselectable="true" style=" ">
  42. <div class="panel panel-default">
  43. <div class="panel-heading" role="tab" id="collapse-header-user" data-toggle="collapse" data-parent="#accordion" href="#collapse-body-auth" aria-expanded="true" aria-controls="collapse-body-auth">
  44. <h4 class="panel-title">
  45. <i class="glyphicon glyphicon-list"></i>
  46. ${plmProject.name}
  47. </h4>
  48. </div>
  49. <div id="collapse-body-auth" class="panel-collapse collapse ${currentMenu == 'plm' ? 'in' : ''}" role="tabpanel" aria-labelledby="collapse-header-auth">
  50. <div class="panel-body">
  51. <ul class="nav nav-list">
  52. <li><a href="${tenantPrefix}/plm/project.do?projectId=${plmProject.id}"><i class="glyphicon glyphicon-list"></i> 返回项目</a></li>
  53. <tags:isUser>
  54. <li><a href="${tenantPrefix}/plm/create.do?projectId=${plmProject.id}"><i class="glyphicon glyphicon-list"></i> 新建任务</a></li>
  55. </tags:isUser>
  56. </ul>
  57. </div>
  58. </div>
  59. </div>
  60. <div class="panel panel-default">
  61. <div class="panel-heading" role="tab" id="collapse-header-user" data-toggle="collapse" data-parent="#accordion" href="#collapse-body-auth" aria-expanded="true" aria-controls="collapse-body-auth">
  62. <h4 class="panel-title">
  63. <i class="glyphicon glyphicon-list"></i>
  64. &nbsp;
  65. </h4>
  66. </div>
  67. <div id="collapse-body-auth" class="panel-collapse collapse ${currentMenu == 'plm' ? 'in' : ''}" role="tabpanel" aria-labelledby="collapse-header-auth">
  68. <div class="panel-body">
  69. <ul class="nav nav-list">
  70. <li><a href="${tenantPrefix}/plm/index.do"><i class="glyphicon glyphicon-list"></i> 返回首页</a></li>
  71. <li><a href="${tenantPrefix}/plm/projects.do"><i class="glyphicon glyphicon-list"></i> 所有项目</a></li>
  72. </ul>
  73. </div>
  74. </div>
  75. </div>
  76. <footer id="m-footer" class="text-center">
  77. <hr>
  78. &copy; 江西军民融合
  79. </footer>
  80. </div>
  81. <!-- start of main -->
  82. <section id="m-main" class="col-md-10" style=" ">
  83. <div class="panel panel-default">
  84. <div class="panel-heading">
  85. <i class="glyphicon glyphicon-list"></i>
  86. 详情
  87. <div class="pull-right ctrl">
  88. <a class="btn btn-default btn-xs"><i id="audit-baseSearchIcon" class="glyphicon glyphicon-chevron-up"></i></a>
  89. </div>
  90. </div>
  91. <div class="panel-content">
  92. <div class="pull-right">
  93. <c:if test="${plmIssue.reporterId == currentUserId}">
  94. <a href="edit.do?id=${plmIssue.id}" class="btn btn-default">编辑</a>
  95. </c:if>
  96. <c:if test="${empty plmIssue.assigneeId}">
  97. <a href="claim.do?id=${plmIssue.id}" class="btn btn-default">领取</a>
  98. </c:if>
  99. <c:if test="${plmIssue.assigneeId == currentUserId}">
  100. <a href="#assignModal" role="button" class="btn btn-default" data-toggle="modal">分配</a>
  101. </c:if>
  102. <c:if test="${plmIssue.assigneeId == currentUserId && plmIssue.status == 'active'}">
  103. <a href="complete.do?id=${plmIssue.id}" class="btn btn-default">完成</a>
  104. </c:if>
  105. <c:if test="${plmIssue.reporterId == currentUserId && plmIssue.status == 'complete'}">
  106. <a href="reopen.do?id=${plmIssue.id}" class="btn btn-default">重开</a>
  107. </c:if>
  108. </div>
  109. <p>&nbsp; 名称:${plmIssue.name}</p>
  110. <p>&nbsp; 项目:${plmProject.name}</p>
  111. <p>&nbsp; 类型:${plmIssue.type}</p>
  112. <p>&nbsp; 报告人:<tags:user userId="${plmIssue.reporterId}"/></p>
  113. <p>&nbsp; 创建时间:<fmt:formatDate value="${plmIssue.createTime}" type="both"/></p>
  114. <p>&nbsp; 负责人:<tags:user userId="${plmIssue.assigneeId}"/></p>
  115. <p>&nbsp; 完成时间:<fmt:formatDate value="${plmIssue.completeTime}" type="both"/></p>
  116. <p>&nbsp; 状态:${plmIssue.status}</p>
  117. <p>&nbsp; 描述:</p>
  118. <p style="padding:5px;">${plmIssue.content}</p>
  119. </div>
  120. </div>
  121. <div class="m-spacer"></div>
  122. <ul class="nav nav-tabs" id="myTab">
  123. <li class="active"><a href="#plmCommentTab">评论</a></li>
  124. <li><a href="#plmLogTab">操作记录</a></li>
  125. </ul>
  126. <div class="tab-content">
  127. <div class="tab-pane active" id="plmCommentTab">
  128. <tags:isUser>
  129. <article class="m-widget">
  130. <form id="f" method="post" action="saveComment.do">
  131. <input type="hidden" name="issueId" value="${plmIssue.id}">
  132. <div class="form-group">
  133. <textarea id="content" class="form-control required" name="content" style="width:90%;"></textarea>
  134. </div>
  135. <button type="submit" class="btn btn-default">发表回复</button>
  136. </form>
  137. </article>
  138. </tags:isUser>
  139. <article class="m-widget">
  140. <div class="content">
  141. <c:forEach var="item" items="${plmComments}">
  142. <p>
  143. &nbsp; <tags:user userId="${item.userId}"/>
  144. &nbsp; <fmt:formatDate value="${item.createTime}" type="both"/>
  145. <c:if test="${item.userId == currentUserId}">
  146. &nbsp; <button href="#commentModal" role="button" class="btn" data-toggle="modal" onclick="showModal(${item.id})">修改</button>
  147. </c:if>
  148. </p>
  149. <p>&nbsp; <span id="commentContent${item.id}"><c:out value="${item.content}"/></span></p>
  150. <hr>
  151. </c:forEach>
  152. </div>
  153. </article>
  154. </div>
  155. <div class="tab-pane" id="plmLogTab">
  156. <article class="m-widget">
  157. <div class="content">
  158. <c:forEach var="item" items="${plmLogs}">
  159. <p>
  160. &nbsp; <tags:user userId="${item.userId}"/>
  161. &nbsp; <fmt:formatDate value="${item.logTime}" type="both"/>
  162. &nbsp; ${item.type}
  163. </p>
  164. <p>
  165. ${item.content}
  166. </p>
  167. <hr>
  168. </c:forEach>
  169. </div>
  170. </article>
  171. </div>
  172. </div>
  173. <script>
  174. $(function () {
  175. $('#myTab a').click(function (e) {
  176. e.preventDefault();
  177. $(this).tab('show');
  178. })
  179. })
  180. </script>
  181. </section>
  182. <!-- end of main -->
  183. </div>
  184. </body>
  185. </html>