exam.jsp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. <%@ page contentType="text/html;charset=UTF-8" %>
  2. <%@ include file="/webpage/include/taglibf.jsp"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta charset="utf-8">
  7. <title>${fns:getConfig("productName")}</title>
  8. <link rel="stylesheet" href="${ctxStaticWeb}/css/base.css" />
  9. <link rel="stylesheet" href="${ctxStaticWeb}/css/second.css" />
  10. <link rel="stylesheet" href="${ctxStatic}/plugin/layui/css/layui.css" />
  11. <link href="${ctx}/static/plugin/layui/dist/css/layui.css" rel="stylesheet"/>
  12. <script src="${ctx}/static/web/js/jquery-2.1.4.js"></script>
  13. <script src="${ctx}/static/plugin/jquery-validation/1.14.0/jquery.validate.js" type="text/javascript"></script>
  14. <script src="${ctx}/static/plugin/jquery-validation/1.14.0/localization/messages_zh.min.js" type="text/javascript"></script>
  15. <script src="${ctxStatic}/plugin/layui/layer/layer.js"></script>
  16. <script src="${ctxStatic}/plugin/layui/laytpl/laytpl.js"></script>
  17. <script>
  18. $().ready(function() {
  19. layui.use('element', function(){
  20. var element = layui.element;
  21. });
  22. });
  23. function exit() {
  24. layer.confirm('确认要退出登录吗?', {icon: 3, title:'提示'}, function(index){
  25. window.location.href = "${ctxF}/logout";
  26. layer.close(index);
  27. });
  28. }
  29. function retest(testId) {
  30. //debugger;
  31. layer.confirm('确认重新考试吗?', {icon: 3, title:'提示'}, function(index){
  32. window.location.href = "${ctxF}/onlineExam/retest?textId="+testId;
  33. layer.close(index);
  34. });
  35. }
  36. //考试详情页面
  37. function examInfo(testId){
  38. window.open("${ctxF}/onlineExam/ExamResultInfo?textId="+testId);
  39. }
  40. function getNow(s) {
  41. return s < 10 ? '0' + s: s;
  42. }
  43. function startTest(testId,startTime,endTime) {
  44. var myDate = new Date();
  45. var year=myDate.getFullYear(); //获取当前年
  46. var month=myDate.getMonth()+1; //获取当前月
  47. var date=myDate.getDate(); //获取当前日
  48. var h=myDate.getHours(); //获取当前小时数(0-23)
  49. var m=myDate.getMinutes(); //获取当前分钟数(0-59)
  50. var s=myDate.getSeconds();
  51. var now=year+'-'+getNow(month)+"-"+getNow(date)+" "+getNow(h)+':'+getNow(m)+":"+getNow(s);
  52. layer.confirm('确认要进行考试吗?', {icon: 3, title:'提示'}, function(index){
  53. if(now > endTime){
  54. alert("当前时间超过考试截止时间。不允许参与此考试!");
  55. layer.close(index);
  56. return;
  57. }
  58. if(now< startTime){
  59. alert("考试时间未到。不允许参与此考试!");
  60. layer.close(index);
  61. return;
  62. }
  63. window.location.href = "${ctxF}/onlineExam/test?textId="+testId;
  64. layer.close(index);
  65. });
  66. }
  67. /* function exportReport(){
  68. alert(1)
  69. jp.downloadFile('${ctxF}/onlineExam/exportReport');
  70. }*/
  71. </script>
  72. <style>
  73. .layui-btn-sm{margin-left: 15px;height:30px;line-height:30px;padding:0 10px;font-size:12px}
  74. .layui-btn-sm i{font-size:16px!important}
  75. </style>
  76. </head>
  77. <body>
  78. <%@ include file="/webpage/modules/web/top.jsp"%>
  79. <div class="new w clearfix">
  80. <div class="personal">
  81. <div class="personal_l fl">
  82. <h2>个人中心</h2>
  83. <ul>
  84. <li><a href="${ctxF}/info" id="hrefperson">个人资料</a></li>
  85. <li><a href="${ctxF}/personalpwd" id="hrefpwd">修改密码</a></li>
  86. <li><a href="${ctxF}/count" id="hrefCount" >学习统计</a></li>
  87. <li><a href="${ctxF}/history" id="hrefhistory">答题测试</a></li>
  88. <li><a href="${ctxF}/exam/finish" id="hrefexam" class="do">在线考试</a></li>
  89. <li><a href="${ctxF}/plan" id="hrefplan">培训计划</a></li>
  90. <li><a href="#" onclick="exit()">退出登录</a></li>
  91. </ul>
  92. </div>
  93. <div class="personal_r fr">
  94. <div class="position">当前位置:<a href="${ctx}/">网站首页</a>&nbsp;&#62;&nbsp;个人中心&nbsp;&#62;&nbsp;在线考试</div>
  95. <div class="information_study" id="ksls">
  96. <div class="layui-tab">
  97. <ul class="layui-tab-title">
  98. <c:if test="${mode == 'wait'}">
  99. <li class="layui-this">待考</li>
  100. <li>已考</li>
  101. </c:if>
  102. <c:if test="${mode != 'wait'}">
  103. <li>待考</li>
  104. <li class="layui-this">已考</li>
  105. </c:if>
  106. <li><a href="${ctxF}/exam/exportReport">导出考生报告</a></li>
  107. </ul>
  108. <div class="layui-tab-content">
  109. <c:if test="${mode != 'wait'}">
  110. <div class="layui-tab-item ">
  111. </c:if>
  112. <c:if test="${mode == 'wait'}">
  113. <div class="layui-tab-item layui-show">
  114. </c:if>
  115. <div class="table">
  116. <div class="table_top clearfix">
  117. <ul>
  118. <li class="name">试卷名称</li><li class="video_time">考试时间</li><li class="learning_time">试卷总分</li><li class="study_time">开始时间</li><li class="study_time">截止时间</li><li class="state">操作</li>
  119. </ul>
  120. </div>
  121. <c:forEach items="${waitList}" var="exam" varStatus="status">
  122. <c:choose>
  123. <c:when test="${status.index % 2 == 0}">
  124. <div class=" clearfix">
  125. <ul>
  126. <li class="name">${fn:substring(exam.name,0,15)}</li><li class="video_time">${exam.examTime}分钟</li><li class="learning_time">${exam.score}</li><li class="study_time">${fns:formatDate(exam.startTime)}</li><li class="study_time">${fns:formatDate(exam.endTime)}</li>
  127. <li>
  128. <button type="button" onclick="startTest('${exam.id}','${fns:formatDateTime(exam.startTime)}','${fns:formatDateTime(exam.endTime)}')" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger">开始考试</button>
  129. </li>
  130. </ul>
  131. </div>
  132. </c:when>
  133. <c:otherwise>
  134. <div class="hui_bj">
  135. <ul>
  136. <li class="name">${fn:substring(exam.name,0,15)}</li><li class="video_time">${exam.examTime}分钟</li><li class="learning_time">${exam.score}</li><li class="study_time">${fns:formatDate(exam.startTime)}</li><li class="study_time">${fns:formatDateTime(exam.endTime)}</li>
  137. <li>
  138. <button type="button" onclick="startTest('${exam.id}','${fns:formatDateTime(exam.startTime)}','${fns:formatDateTime(exam.endTime)}')" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger">开始考试</button>
  139. </li>
  140. </ul>
  141. </div>
  142. </c:otherwise>
  143. </c:choose>
  144. </c:forEach>
  145. <c:if test="${waitList==null || waitList.size()==0}">
  146. <div class=" clearfix">
  147. <ul>
  148. <li>
  149. <a href="#">暂无数据</a>
  150. </li>
  151. </ul>
  152. </div>
  153. </c:if>
  154. <div style="margin:30px 0px;">
  155. <c:if test="${waitList!=null && waitList.size()>0}">
  156. <div id="waitpagination" style="text-align: center"></div>
  157. </c:if>
  158. </div>
  159. </div>
  160. </div>
  161. <c:if test="${mode != 'wait'}">
  162. <div class="layui-tab-item layui-show">
  163. </c:if>
  164. <c:if test="${mode == 'wait'}">
  165. <div class="layui-tab-item">
  166. </c:if>
  167. <div class="table">
  168. <div class="table_top clearfix">
  169. <ul>
  170. <li class="name">试卷名称</li><li class="video_time">考试时间</li><li class="learning_time">试卷总分</li><li class="state">考试得分</li><li class="study_time">完成时间</li><li class="state">操作</li>
  171. </ul>
  172. </div>
  173. <c:forEach items="${examList}" var="exam" varStatus="status">
  174. <c:choose>
  175. <c:when test="${status.index % 2 == 0}">
  176. <div class=" clearfix">
  177. <ul>
  178. <li class="name">${exam.paperName}</li><li class="video_time">${exam.examTime}分钟</li><li class="learning_time">${exam.score}</li><li class="state">${exam.points}</li><li class="study_time">${fns:formatDateTime(exam.testDate)}</li>
  179. <li>
  180. <c:choose>
  181. <c:when test="${exam.isFix =='1'}">
  182. <button type="button" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-disabled">重新考试</button>
  183. <button type="button" onclick="examInfo('${exam.id}')" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger">考试详情</button>
  184. </c:when>
  185. <c:otherwise>
  186. <button type="button" onclick="retest('${exam.id}')" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger">重新考试</button>
  187. <button type="button" onclick="examInfo('${exam.id}')" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger">考试详情</button>
  188. </c:otherwise>
  189. </c:choose>
  190. </li>
  191. </ul>
  192. </div>
  193. </c:when>
  194. <c:otherwise>
  195. <div class="hui_bj">
  196. <ul>
  197. <li class="name">${exam.paperName}</li><li class="video_time">${exam.examTime}分钟</li><li class="learning_time">${exam.score}</li><li class="state">${exam.points}</li><li class="study_time">${fns:formatDateTime(exam.testDate)}</li>
  198. <li>
  199. <c:choose>
  200. <c:when test="${exam.isFix =='1'}">
  201. <button type="button" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-disabled">重新考试</button>
  202. <button type="button" onclick="examInfo('${exam.id}')" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger">考试详情</button>
  203. </c:when>
  204. <c:otherwise>
  205. <button type="button" onclick="retest('${exam.id}')" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger">重新考试</button>
  206. <button type="button" onclick="examInfo('${exam.id}')" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger">考试详情</button>
  207. </c:otherwise>
  208. </c:choose>
  209. </li>
  210. </ul>
  211. </div>
  212. </c:otherwise>
  213. </c:choose>
  214. </c:forEach>
  215. <c:if test="${examList==null || examList.size()==0}">
  216. <div class=" clearfix">
  217. <ul>
  218. <li>
  219. <a href="#">暂无数据</a>
  220. </li>
  221. </ul>
  222. </div>
  223. </c:if>
  224. <div style="margin:30px 0px;">
  225. <c:if test="${examList!=null && examList.size()>0}">
  226. <div id="pagination" style="text-align: center"></div>
  227. </c:if>
  228. </div>
  229. </div>
  230. </div>
  231. </div>
  232. </div>
  233. </div>
  234. </div>
  235. </div>
  236. </div>
  237. <div class="footer">
  238. <%@ include file="/webpage/modules/web/footer.jsp"%>
  239. </div>
  240. <script src="${pageContext.request.contextPath}/static/plugin/layui/dist/layui.js"></script>
  241. <!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
  242. <script>
  243. layui.use(['laypage', 'layer'], function(){
  244. var laypage = layui.laypage
  245. ,layer = layui.layer;
  246. laypage.render({
  247. elem: 'pagination'
  248. ,count: ${page.count}//从服务器得到数据总数
  249. ,limit: ${page.pageSize}//每页展示多少条数据
  250. ,curr: ${page.pageNo}
  251. ,layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip']
  252. ,jump: function (obj, first) {
  253. //obj包含了当前分页的所有参数,比如:
  254. //console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
  255. //console.log(obj.limit); //得到每页显示的条数
  256. //首次不执行
  257. if (!first) {
  258. //do something
  259. var href = '${ctxF}/exam/finish';
  260. href += '?pageNo=' + obj.curr;
  261. href += '&pageSize=' + obj.limit;
  262. //console.log(href)
  263. location.href = href;
  264. }
  265. }
  266. ,theme: '#c7301e'
  267. });
  268. });
  269. layui.use(['laypage', 'layer'], function(){
  270. var laypage = layui.laypage
  271. ,layer = layui.layer;
  272. laypage.render({
  273. elem: 'waitpagination'
  274. ,count: ${waitPage.count}//从服务器得到数据总数
  275. ,limit: ${waitPage.pageSize}//每页展示多少条数据
  276. ,curr: ${waitPage.pageNo}
  277. ,layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip']
  278. ,jump: function (obj, first) {
  279. //obj包含了当前分页的所有参数,比如:
  280. //console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
  281. //console.log(obj.limit); //得到每页显示的条数
  282. //首次不执行
  283. if (!first) {
  284. //do something
  285. var href = '${ctxF}/exam/wait';
  286. href += '?pageNo=' + obj.curr;
  287. href += '&pageSize=' + obj.limit;
  288. //console.log(href)
  289. location.href = href;
  290. }
  291. }
  292. ,theme: '#c7301e'
  293. });
  294. });
  295. </script>
  296. </body>
  297. </html>