Browse Source

修复没有考生是扫描详情考点为空的问题

yin 1 year ago
parent
commit
a5c1d19c85

+ 40 - 40
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ScanController.java

@@ -1,5 +1,24 @@
 package cn.com.qmth.stmms.admin.exam;
 
+import java.math.BigDecimal;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
 import cn.com.qmth.stmms.admin.utils.PageUtil;
 import cn.com.qmth.stmms.admin.vo.ScanInfoVO;
 import cn.com.qmth.stmms.biz.exam.model.ExamPackage;
@@ -17,25 +36,6 @@ import cn.com.qmth.stmms.common.enums.LogType;
 import cn.com.qmth.stmms.common.utils.ExportExcel;
 import cn.com.qmth.stmms.common.utils.RequestUtils;
 
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import java.math.BigDecimal;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.stream.Collectors;
-
 @Controller("scanInfoController")
 @RequestMapping("/admin/exam/scan")
 public class ScanController extends BaseExamController {
@@ -72,10 +72,9 @@ public class ScanController extends BaseExamController {
         query = subjectService.findByQuery(query);
         for (ExamSubject subject : query.getResult()) {
             ScanInfoVO vo = new ScanInfoVO();
-            vo.setName(subject.getCode()
-                    + "-"
-                    + subject.getName()
-                    + (StringUtils.isNotBlank(subject.getRemark()) ? ("-" + StringUtils.trimToEmpty(subject.getRemark()))
+            vo.setName(subject.getCode() + "-" + subject.getName()
+                    + (StringUtils.isNotBlank(subject.getRemark())
+                            ? ("-" + StringUtils.trimToEmpty(subject.getRemark()))
                             : ""));
             vo.setTotalCount(studentService.countByExamIdAndSubjectCode(examId, subject.getCode()));
             vo.setScanCount(subject.getUploadCount());
@@ -172,10 +171,9 @@ public class ScanController extends BaseExamController {
         query = subjectService.findByQuery(query);
         for (ExamSubject subject : query.getResult()) {
             ScanInfoVO vo = new ScanInfoVO();
-            vo.setName(subject.getCode()
-                    + "-"
-                    + subject.getName()
-                    + (StringUtils.isNotBlank(subject.getRemark()) ? ("-" + StringUtils.trimToEmpty(subject.getRemark()))
+            vo.setName(subject.getCode() + "-" + subject.getName()
+                    + (StringUtils.isNotBlank(subject.getRemark())
+                            ? ("-" + StringUtils.trimToEmpty(subject.getRemark()))
                             : ""));
             vo.setTotalCount(studentService.countByExamIdAndSubjectCode(examId, subject.getCode()));
             vo.setScanCount(studentService.countByExamIdAndSubjectCode(examId, subject.getCode(), true));
@@ -202,18 +200,20 @@ public class ScanController extends BaseExamController {
         result = result.stream().filter(s -> StringUtils.isNotBlank(s)).collect(Collectors.toList());
         if (StringUtils.isBlank(query.getExamSite())) {
             List<?> examSiteList = PageUtil.startPage(result, query.getPageNumber(), query.getPageSize());
-            for (Object e : examSiteList) {
-                ScanInfoVO vo = new ScanInfoVO();
-                String examSite = (String) e;
-                vo.setName(examSite);
-                vo.setTotalCount(studentService.countByExamIdAndExamSite(examId, examSite));
-                vo.setScanCount(studentService.countByExamIdAndExamSite(examId, examSite, true));
-                vo.setScanSheetCount(studentService.countSheetCountByExamIdAndExamSite(examId, examSite) / 2);
-                list.add(vo);
+            if (examSiteList != null) {
+                for (Object e : examSiteList) {
+                    ScanInfoVO vo = new ScanInfoVO();
+                    String examSite = (String) e;
+                    vo.setName(examSite);
+                    vo.setTotalCount(studentService.countByExamIdAndExamSite(examId, examSite));
+                    vo.setScanCount(studentService.countByExamIdAndExamSite(examId, examSite, true));
+                    vo.setScanSheetCount(studentService.countSheetCountByExamIdAndExamSite(examId, examSite) / 2);
+                    list.add(vo);
+                }
+                query.setTotalCount(result.size());
+                query.setTotalPage(PageUtil.pageCount(result, query.getPageNumber(), query.getPageSize()));
+                query.setCurrentCount(examSiteList.size());
             }
-            query.setTotalCount(result.size());
-            query.setTotalPage(PageUtil.pageCount(result, query.getPageNumber(), query.getPageSize()));
-            query.setCurrentCount(examSiteList.size());
         } else {
             ScanInfoVO vo = new ScanInfoVO();
             vo.setName(query.getExamSite());
@@ -237,8 +237,8 @@ public class ScanController extends BaseExamController {
 
     @Logging(menu = "扫描进度导出", type = LogType.EXPORT)
     @RequestMapping(value = "/examSite/export", method = RequestMethod.POST)
-    public String examSiteExport(ExamStudentSearchQuery query, HttpServletRequest request,
-            HttpServletResponse response, RedirectAttributes redirectAttributes) {
+    public String examSiteExport(ExamStudentSearchQuery query, HttpServletRequest request, HttpServletResponse response,
+            RedirectAttributes redirectAttributes) {
         int examId = getSessionExamId(request);
         List<ScanInfoVO> list = new LinkedList<ScanInfoVO>();
         List<String> result = studentService.findDistinctExamSite(examId);

+ 2 - 2
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupAdd.jsp

@@ -213,7 +213,7 @@
                 <label class="control-label">仲裁阀值</label>
                 <div class="controls">
                     <form:input path="arbitrateThreshold" id="arbitrateThreshold" htmlEscape="false" maxlength="100"
-                                class="required" type="number"/>*阈值为分数且大于等于0
+                                class="required" type="number"/>*阈值为分数且大于等于0,大于阈值触发仲裁
                 </div>
             </div>
             <div class=" arbitrateTypeQuestion">
@@ -225,7 +225,7 @@
                         <div class="controls">
                             <input type="number" class="required arbitrateThreshold-input" htmlEscape="false"
                                    maxlength="10"
-                                   value="${question.arbitrateThreshold}"/>*阈值为分数且大于等于0
+                                   value="${question.arbitrateThreshold}"/>*阈值为分数且大于等于0,大于阈值触发仲裁
                         </div>
                     </div>
                 </c:forEach>

+ 346 - 312
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupEditFull.jsp

@@ -5,24 +5,26 @@
     <title>评卷分组修改</title>
     <meta name="decorator" content="default"/>
     <%@include file="/WEB-INF/views/include/head.jsp" %>
-   <link rel="stylesheet" href="${ctxStatic}/common/animate.min.css" />
-	<style>
-		#delete-modal{
-            position:fixed;
-            left:0;
-            right:0;
-            top:0;
-            bottom:0;
-            z-index:500;
-            display:none;
-            background:rgba(0,0,0,.3);
+    <link rel="stylesheet" href="${ctxStatic}/common/animate.min.css"/>
+    <style>
+        #delete-modal {
+            position: fixed;
+            left: 0;
+            right: 0;
+            top: 0;
+            bottom: 0;
+            z-index: 500;
+            display: none;
+            background: rgba(0, 0, 0, .3);
         }
+
         #deleteDiv {
-            position:absolute;
-            left:50%;
-            top:50%;
-            transform:translateX(-50%) translateY(-50%);
+            position: absolute;
+            left: 50%;
+            top: 50%;
+            transform: translateX(-50%) translateY(-50%);
         }
+
         .my-form {
             padding: 0 20px;
             position: fixed;
@@ -35,10 +37,12 @@
             width: 384px;
             border: 1px solid #ddd;
         }
+
         .my-form .my-form-head {
             padding: 15px 0 10px;
             position: relative;
         }
+
         .my-form .my-form-head .close-icon {
             position: absolute;
             right: -10px;
@@ -46,56 +50,68 @@
             width: 24px;
             cursor: pointer;
         }
+
         .my-form .my-form-head .title-box {
             padding-right: 30px;
             display: flex;
             align-items: center;
         }
+
         .my-form .my-form-head .title-box .title {
             font-size: 16px;
             font-weight: bold;
             margin-left: 6px;
-            color:#595959;
+            color: #595959;
         }
+
         .my-form .my-form-head .title-box .warning-icon {
             width: 24px;
         }
+
         .my-form .sub-title {
             color: #595959;
             line-height: 22px;
             font-size: 14px;
             padding-left: 30px;
         }
+
         .my-form .sub-title span {
             color: #F53F3F;
         }
+
         .my-form .my-form-body {
             padding: 20px 0;
         }
+
         .my-form .my-form-body .gray-bg {
             background: #F0F0F0;
             border-radius: 4px;
             padding: 30px 20px 20px;
         }
+
         .my-form-item {
             display: flex;
             align-items: flex-start;
         }
+
         .my-form-item label {
             font-size: 14px;
             color: #595959;
             width: 120px;
             line-height: 30px;
         }
+
         .my-form-item .control-box {
             flex: 1;
         }
+
         .my-form-item .control-box .error-tip {
             height: 24px;
             line-height: 20px;
             font-size: 12px;
             color: #F53F3F;
         }
+
         .my-form-foot {
             display: flex;
             justify-content: space-between;
@@ -151,10 +167,10 @@
                 }
             });
             var arbitrateType = "${group.arbitrateType}";
-            if(arbitrateType=='GROUP'){
+            if (arbitrateType == 'GROUP') {
                 $(".arbitrateTypeQuestion").hide();
                 $(".arbitrateTypeGroup").show();
-            }else{
+            } else {
                 $(".arbitrateTypeQuestion").show();
                 $(".arbitrateTypeGroup").hide();
             }
@@ -183,20 +199,20 @@
                 }
             });
             $("#btnNext").click(function () {
-            	var check_list = []
-            	$("input[name='questionIds']:checked").each(function(){
-	            	if($(this).val()!=""){
-	            		check_list.push($(this).val())
-            		}
-            	})
-                if(check_list.length==0) {
+                var check_list = []
+                $("input[name='questionIds']:checked").each(function () {
+                    if ($(this).val() != "") {
+                        check_list.push($(this).val())
+                    }
+                })
+                if (check_list.length == 0) {
                     alert('请选择题目');
                     return false;
                 }
-            	$("#nextDiv").show();
-            	$("#nextLi").attr("class","active");
-            	$("#preDiv").hide();
-            	$("#preLi").attr("class","");
+                $("#nextDiv").show();
+                $("#nextLi").attr("class", "active");
+                $("#preDiv").hide();
+                $("#preLi").attr("class", "");
                 $("div[name='arbitrateThreshold-div']").each(function () {
                     var questionId = $(this).children().eq(0).val();
                     if (check_list.includes(questionId)) {
@@ -206,18 +222,18 @@
                     }
                 })
             });
-			$("#btnPre").click(function () {
-            	$("#nextDiv").hide();
-            	$("#nextLi").attr("class","");
-				$("#preDiv").show();
-				$("#preLi").attr("class","active");
+            $("#btnPre").click(function () {
+                $("#nextDiv").hide();
+                $("#nextLi").attr("class", "");
+                $("#preDiv").show();
+                $("#preLi").attr("class", "active");
             });
         });
     </script>
 </head>
 <body>
 <ul class="nav nav-tabs">
-    <li class="active"  id="preLi"><a>勾选试题分组</a></li>
+    <li class="active" id="preLi"><a>勾选试题分组</a></li>
     <li id="nextLi"><a>分组参数设置</a></li>
 </ul>
 <br/>
@@ -227,184 +243,192 @@
     <form:hidden path="subjectCode"/>
     <input type="hidden" id="rest" name="reset" value="true"/>
     <input type="hidden" id="number" name="number" value="${group.number }"/>
-<div id="preDiv">
-	<div>
-        <table id="contentTable" class="table table-striped table-bordered table-condensed">
-			<caption><h4>${subject.code }-${subject.name } 主观题<fmt:formatNumber pattern="###.###" value="${subject.subjectiveScore }"/>分</h4></caption>
-        	<thead>
-        	<tr>
-       			 <th>大题号</th>
-        		 <th>小题号</th>
-        		 <th>名称</th>
-        		 <th>分数</th>
-        		 <th>是否选做题</th>
-        		 <th>选做题分组</th>
-				 <th>选做题区</th>
-        		 <th></th>
-			</tr>
-        	</thead>
-			<c:forEach items="${questionList}" var="item">
-		    <tr>
-		    <td>${item.mainNumber }</td>
-		    <td>${item.subNumber }</td>
-			<td>${item.mainTitle }</td>
-			<td><fmt:formatNumber pattern="###.###" value="${item.totalScore}"/></td>
-			<td><c:if test="${item.selective }">选做题</c:if></td>
-			<td>${item.selectiveIndex}</td>
-			<td>${item.selectiveIndex}-${item.selectivePart}</td>
-			<td><input type="checkbox" name="questionIds" value="${item.id }" <c:if test="${item.groupNumber!=null && item.groupNumber!=group.number}"> disabled="disabled"</c:if> <c:if test="${item.groupNumber==group.number}"> checked</c:if>></td>
-			</tr>
-			</c:forEach>
-		</table>
-    </div>
-    <div class="pull-right">
-        <a href="${ctx}/admin/exam/group?subjectCode=${group.subjectCode}" class="btn">取&nbsp;消</a>&nbsp;&nbsp;
-        <a id="btnNext" href="##" class="btn btn-primary">下一步 </a>
-    </div>
-</div>
-<div id="nextDiv" class ="hide">
-    <div class="control-group">
-        <label class="control-label">分组序号</label>
-        <div class="controls">
-            <form:input path="number" htmlEscape="false" class="required" readonly="true"/>
-        </div>
-    </div>
-   <%--  <c:if test="${group.status.value==1}">
-        <div class="control-group">
-            <label class="control-label">试评数量</label>
-            <div class="controls">
-                <form:input path="trialCount" htmlEscape="false" min="1" class="required digits" type="number"/>
-            </div>
-        </div>
-    </c:if> --%>
-    <c:if test="${exam.type!='MULTI_MEDIA' && exam.markMode!='TRACK'}">
-    <div class="control-group">
-        <label class="control-label">评卷模式</label>
-        <div class="controls">
-            <select name="markMode">
-                <option value="">不限</option>
-                <c:forEach items="${markModeList}" var="item">
-                    <option value="${item}"
-                            <c:if test="${group.markMode!=null && group.markMode==item}">selected</c:if>>${item.name}</option>
+    <div id="preDiv">
+        <div>
+            <table id="contentTable" class="table table-striped table-bordered table-condensed">
+                <caption><h4>${subject.code }-${subject.name } 主观题<fmt:formatNumber pattern="###.###"
+                                                                                       value="${subject.subjectiveScore }"/>分</h4>
+                </caption>
+                <thead>
+                <tr>
+                    <th>大题号</th>
+                    <th>小题号</th>
+                    <th>名称</th>
+                    <th>分数</th>
+                    <th>是否选做题</th>
+                    <th>选做题分组</th>
+                    <th>选做题区</th>
+                    <th></th>
+                </tr>
+                </thead>
+                <c:forEach items="${questionList}" var="item">
+                    <tr>
+                        <td>${item.mainNumber }</td>
+                        <td>${item.subNumber }</td>
+                        <td>${item.mainTitle }</td>
+                        <td><fmt:formatNumber pattern="###.###" value="${item.totalScore}"/></td>
+                        <td><c:if test="${item.selective }">选做题</c:if></td>
+                        <td>${item.selectiveIndex}</td>
+                        <td>${item.selectiveIndex}-${item.selectivePart}</td>
+                        <td><input type="checkbox" name="questionIds" value="${item.id }"
+                        <c:if test="${item.groupNumber!=null && item.groupNumber!=group.number}">
+                                   disabled="disabled"</c:if> <c:if test="${item.groupNumber==group.number}">
+                                   checked</c:if>></td>
+                    </tr>
                 </c:forEach>
-            </select>
-        </div>
-    </div>
-    </c:if>
-    <c:if test="${exam.type!='MULTI_MEDIA'}">
-        <div class="control-group">
-            <label class="control-label">图片显示</label>
-            <div class="controls">
-                <a href="${ctx}/admin/exam/group/getPictureConfig?subjectCode=${group.subjectCode}&number=${group.number}"
-                   target="_blank" class="required" id="configuration" rel="opener">设置</a>
-            </div>
+            </table>
         </div>
-    </c:if>
-    <form:input path="picList" class="required" id="picList" type="hidden"/>
-    <div class="control-group">
-        <label class="control-label">双评</label>
-        <div class="controls">
-            <input type="checkbox" id="openDouble">开启
+        <div class="pull-right">
+            <a href="${ctx}/admin/exam/group?subjectCode=${group.subjectCode}" class="btn">取&nbsp;消</a>&nbsp;&nbsp;
+            <a id="btnNext" href="##" class="btn btn-primary">下一步 </a>
         </div>
     </div>
-    <div class="doubleDiv">
+    <div id="nextDiv" class="hide">
         <div class="control-group">
-            <label class="control-label">仲裁方式</label>
+            <label class="control-label">分组序号</label>
             <div class="controls">
-                <select name="arbitrateType" id="arbitrateType">
-                    <c:forEach items="${arbitrateTypeList}" var="item">
-                        <option value="${item.value}"  <c:if test="${item.value==group.arbitrateType.value}">selected</c:if>>按${item.name}仲裁</option>
-                    </c:forEach>
-                </select>
+                <form:input path="number" htmlEscape="false" class="required" readonly="true"/>
             </div>
         </div>
+            <%--  <c:if test="${group.status.value==1}">
+                 <div class="control-group">
+                     <label class="control-label">试评数量</label>
+                     <div class="controls">
+                         <form:input path="trialCount" htmlEscape="false" min="1" class="required digits" type="number"/>
+                     </div>
+                 </div>
+             </c:if> --%>
+        <c:if test="${exam.type!='MULTI_MEDIA' && exam.markMode!='TRACK'}">
+            <div class="control-group">
+                <label class="control-label">评卷模式</label>
+                <div class="controls">
+                    <select name="markMode">
+                        <option value="">不限</option>
+                        <c:forEach items="${markModeList}" var="item">
+                            <option value="${item}"
+                                    <c:if test="${group.markMode!=null && group.markMode==item}">selected</c:if>>${item.name}</option>
+                        </c:forEach>
+                    </select>
+                </div>
+            </div>
+        </c:if>
+        <c:if test="${exam.type!='MULTI_MEDIA'}">
+            <div class="control-group">
+                <label class="control-label">图片显示</label>
+                <div class="controls">
+                    <a href="${ctx}/admin/exam/group/getPictureConfig?subjectCode=${group.subjectCode}&number=${group.number}"
+                       target="_blank" class="required" id="configuration" rel="opener">设置</a>
+                </div>
+            </div>
+        </c:if>
+        <form:input path="picList" class="required" id="picList" type="hidden"/>
         <div class="control-group">
-            <label class="control-label">双评比例</label>
+            <label class="control-label">双评</label>
             <div class="controls">
-                <form:input path="doubleRate" htmlEscape="false" maxlength="100" class="required" type="number"
-                            id="doubleRate"/>*比例范围为0-1
+                <input type="checkbox" id="openDouble">开启
             </div>
         </div>
-        <div class="control-group arbitrateTypeGroup">
-            <label class="control-label">仲裁阀值</label>
-            <div class="controls">
-                <form:input path="arbitrateThreshold" id="arbitrateThreshold" htmlEscape="false" maxlength="100"
-                            class="required" type="number"/>*阈值为分数且大于等于0
+        <div class="doubleDiv">
+            <div class="control-group">
+                <label class="control-label">仲裁方式</label>
+                <div class="controls">
+                    <select name="arbitrateType" id="arbitrateType">
+                        <c:forEach items="${arbitrateTypeList}" var="item">
+                            <option value="${item.value}"
+                                    <c:if test="${item.value==group.arbitrateType.value}">selected</c:if>>按${item.name}仲裁
+                            </option>
+                        </c:forEach>
+                    </select>
+                </div>
             </div>
-        </div>
-        <div class=" arbitrateTypeQuestion">
-            <input type="hidden" id="arbitrateThresholdList" name="arbitrateThresholdList" value=""/>
-            <c:forEach items="${questionList}" var="question">
-                <div class="control-group" name="arbitrateThreshold-div">
-                    <input type="hidden" value="${question.id}">
-                    <label class="control-label">${question.mainNumber}-${question.subNumber}仲裁阀值</label>
-                    <div class="controls">
-                        <input type="number" class="required arbitrateThreshold-input" htmlEscape="false"
-                               maxlength="10"
-                               value="${question.arbitrateThreshold}"/>*阈值为分数且大于等于0
+            <div class="control-group">
+                <label class="control-label">双评比例</label>
+                <div class="controls">
+                    <form:input path="doubleRate" htmlEscape="false" maxlength="100" class="required" type="number"
+                                id="doubleRate"/>*比例范围为0-1
+                </div>
+            </div>
+            <div class="control-group arbitrateTypeGroup">
+                <label class="control-label">仲裁阀值</label>
+                <div class="controls">
+                    <form:input path="arbitrateThreshold" id="arbitrateThreshold" htmlEscape="false" maxlength="100"
+                                class="required" type="number"/>*阈值为分数且大于等于0,大于阈值触发仲裁
+                </div>
+            </div>
+            <div class=" arbitrateTypeQuestion">
+                <input type="hidden" id="arbitrateThresholdList" name="arbitrateThresholdList" value=""/>
+                <c:forEach items="${questionList}" var="question">
+                    <div class="control-group" name="arbitrateThreshold-div">
+                        <input type="hidden" value="${question.id}">
+                        <label class="control-label">${question.mainNumber}-${question.subNumber}仲裁阀值</label>
+                        <div class="controls">
+                            <input type="number" class="required arbitrateThreshold-input" htmlEscape="false"
+                                   maxlength="10"
+                                   value="${question.arbitrateThreshold}"/>*阈值为分数且大于等于0,大于阈值触发仲裁
+                        </div>
                     </div>
+                </c:forEach>
+            </div>
+            <div class="control-group">
+                <label class="control-label">合分策略</label>
+                <div class="controls">
+                    <select name="scorePolicy">
+                        <c:forEach items="${scorePolicyList}" var="item">
+                            <option value="${item.value}"
+                                    <c:if test="${item.value==group.scorePolicy.value}">selected</c:if> >${item.name}</option>
+                        </c:forEach>
+                    </select>
+                </div>
+            </div>
+            <div class="control-group">
+                <label class="control-label">三评规则</label>
+                <div class="controls">
+                    <select name="thirdPolicy">
+                        <c:forEach items="${thirdPolicyList}" var="item">
+                            <option value="${item.value}"
+                                    <c:if test="${item.value==group.thirdPolicy.value}">selected</c:if> >${item.name}</option>
+                        </c:forEach>
+                    </select>
                 </div>
-            </c:forEach>
-        </div>
-        <div class="control-group">
-            <label class="control-label">合分策略</label>
-            <div class="controls">
-                <select name="scorePolicy">
-                    <c:forEach items="${scorePolicyList}" var="item">
-                        <option value="${item.value}"
-                                <c:if test="${item.value==group.scorePolicy.value}">selected</c:if> >${item.name}</option>
-                    </c:forEach>
-                </select>
             </div>
         </div>
+        <c:if test="${exam.type!='MULTI_MEDIA'}">
+            <c:if test="${exam.sheetView}">
+                <div class="control-group">
+                    <label class="control-label">原卷显示</label>
+                    <div class="controls">
+                        <input name="sheetView" type="checkbox" <c:if test="${group.sheetView}">checked</c:if>/>
+                    </div>
+                </div>
+            </c:if>
+        </c:if>
         <div class="control-group">
-            <label class="control-label">三评规则</label>
+            <label class="control-label">启用全零分</label>
             <div class="controls">
-                <select name="thirdPolicy">
-                    <c:forEach items="${thirdPolicyList}" var="item">
-                        <option value="${item.value}"
-                                <c:if test="${item.value==group.thirdPolicy.value}">selected</c:if> >${item.name}</option>
-                    </c:forEach>
-                </select>
+                <input name="enableAllZero" type="checkbox" value="1"
+                       <c:if test="${group.enableAllZero}">checked</c:if>/>
             </div>
         </div>
-    </div>
-    <c:if test="${exam.type!='MULTI_MEDIA'}">
-    	<c:if test="${exam.sheetView}">
-        <div class="control-group">
-	        <label class="control-label">原卷显示</label>
-	        <div class="controls">
-	        <input name="sheetView" type="checkbox" <c:if test="${group.sheetView}">checked</c:if>/>
-	        </div>
-        </div>
-		</c:if>
-    </c:if>
         <div class="control-group">
-            <label class="control-label">启用全零分</label>
+            <label class="control-label">重要提示</label>
             <div class="controls">
-                <input name="enableAllZero" type="checkbox" value="1" <c:if test="${group.enableAllZero}">checked</c:if>/>
+                <span class="label label-important"><h5>保存后分组关联所有评卷任务都将删除,并生成新的分组任务</h5></span>
             </div>
         </div>
-    <div class="control-group">
-        <label class="control-label">重要提示</label>
-        <div class="controls">
-            <span class="label label-important"><h5>保存后分组关联所有评卷任务都将删除,并生成新的分组任务</h5></span>
+        <div class="form-actions">
+            <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>&nbsp;
+            <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group-delete')}">
+                <a href="#" class="delete-button btn btn-danger">删除</a>&nbsp;
+            </c:if>
+            <a id="btnPre" class="btn">上一步</a>
         </div>
     </div>
-    <div class="form-actions">
-        <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>&nbsp;
-        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group-delete')}">
-        <a href="#" class="delete-button btn btn-danger">删除</a>&nbsp;
-        </c:if>
-        <a id="btnPre" class="btn">上一步</a>
-    </div>
-</div>
 </form:form>
 <div id="delete-modal">
-	<div id="deleteDiv" class="my-form form-horizontal">
+    <div id="deleteDiv" class="my-form form-horizontal">
         <div class="my-form-head">
             <div class="title-box">
-                <img src="${ctxStatic}/images/dialog_warning_icon.png" class="warning-icon" />
+                <img src="${ctxStatic}/images/dialog_warning_icon.png" class="warning-icon"/>
                 <span class="title"></span>
             </div>
             <img src="${ctxStatic}/images/dialog_close_icon.png" class="close-icon" onclick="deleteDivHide()"/>
@@ -449,23 +473,23 @@
 </div>
 <script type="text/javascript">
     $('#btnSubmit').click(function () {
-    	if($("#arbitrateThreshold").val()<0){
-    		alert("仲裁阈值不能小于0");
-    		return;
-    	}
-    	var check_list = []
-    	$("input[name='questionIds']:checked").each(function(){
-        	if($(this).val()!=""){
-        		check_list.push($(this).val())
-    		}
-    	})
-        if(check_list.length==0) {
+        if ($("#arbitrateThreshold").val() < 0) {
+            alert("仲裁阈值不能小于0");
+            return;
+        }
+        var check_list = []
+        $("input[name='questionIds']:checked").each(function () {
+            if ($(this).val() != "") {
+                check_list.push($(this).val())
+            }
+        })
+        if (check_list.length == 0) {
             alert('请选择题目');
             return false;
         }
-    	var deleteCheck = '${deleteCheck}';
-    	if(deleteCheck=='false'){
-    		deleteDivHide();
+        var deleteCheck = '${deleteCheck}';
+        if (deleteCheck == 'false') {
+            deleteDivHide();
             var arbitrateThresholdArray = [];
             var fill = true;
             $('.arbitrateThreshold-input').each(function () {
@@ -481,143 +505,153 @@
             });
             if (fill) {
                 $('#arbitrateThresholdList').val(arbitrateThresholdArray.join(','));
-                $("#inputForm").attr("action","${ctx}/admin/exam/group/update");
+                $("#inputForm").attr("action", "${ctx}/admin/exam/group/update");
                 $('#inputForm').submit();
             } else {
                 alert('按小题仲裁阈值不能为空,必须大于等于0分且只支持两位小数');
             }
-    		return;
-    	}
-    	var subjectCode = '${group.subjectCode}';
-    	var groupNumber = '${group.number}';
-    	var progress = '${group.percent}';
-    	dialogObj = createDialog();
-        dialogObj.initDialog({ progress: progress, subjectCode: subjectCode, groupNumber: groupNumber }, function (initParams,deleteCode) { 
-	        //这个回调方法里写进度小余10%的业务分支
-	        deleteDivHide();
-        	if(deleteCode!=null && deleteCode!=''){
-        		$("#inputForm").attr("action","${ctx}/admin/exam/group/update?deleteCode="+deleteCode);
-        		$("#inputForm").submit();
-        	}else{
-        		$("#inputForm").attr("action","${ctx}/admin/exam/group/update");
-        		$("#inputForm").submit();
-        	}
-    	}) 
+            return;
+        }
+        var subjectCode = '${group.subjectCode}';
+        var groupNumber = '${group.number}';
+        var progress = '${group.percent}';
+        dialogObj = createDialog();
+        dialogObj.initDialog({
+            progress: progress,
+            subjectCode: subjectCode,
+            groupNumber: groupNumber
+        }, function (initParams, deleteCode) {
+            //这个回调方法里写进度小余10%的业务分支
+            deleteDivHide();
+            if (deleteCode != null && deleteCode != '') {
+                $("#inputForm").attr("action", "${ctx}/admin/exam/group/update?deleteCode=" + deleteCode);
+                $("#inputForm").submit();
+            } else {
+                $("#inputForm").attr("action", "${ctx}/admin/exam/group/update");
+                $("#inputForm").submit();
+            }
+        })
     });
 
     $('.delete-button').click(function () {
-    	var deleteCheck = '${deleteCheck}';
-    	if(deleteCheck=='false'){
-    		deleteDivHide();
-    		$("#inputForm").attr("action","${ctx}/admin/exam/group/delete");
-    		$("#inputForm").submit();
-    		return;
-    	}
-    	var subjectCode = '${group.subjectCode}';
-    	var groupNumber = '${group.number}';
-    	var progress = '${group.percent}';
-    	dialogObj = createDialog();
-        dialogObj.initDialog({ progress: progress, subjectCode: subjectCode, groupNumber: groupNumber }, function (initParams,deleteCode) { 
-	        //这个回调方法里写进度小余10%的业务分支
-			deleteDivHide();	        
-        	if(deleteCode!=null && deleteCode!=''){
-        		$("#inputForm").attr("action","${ctx}/admin/exam/group/delete?deleteCode="+deleteCode);
-        		$("#inputForm").submit();
-        	}else{
-        		$("#inputForm").attr("action","${ctx}/admin/exam/group/delete");
-        		$("#inputForm").submit();
-        	}
-    	}) 
+        var deleteCheck = '${deleteCheck}';
+        if (deleteCheck == 'false') {
+            deleteDivHide();
+            $("#inputForm").attr("action", "${ctx}/admin/exam/group/delete");
+            $("#inputForm").submit();
+            return;
+        }
+        var subjectCode = '${group.subjectCode}';
+        var groupNumber = '${group.number}';
+        var progress = '${group.percent}';
+        dialogObj = createDialog();
+        dialogObj.initDialog({
+            progress: progress,
+            subjectCode: subjectCode,
+            groupNumber: groupNumber
+        }, function (initParams, deleteCode) {
+            //这个回调方法里写进度小余10%的业务分支
+            deleteDivHide();
+            if (deleteCode != null && deleteCode != '') {
+                $("#inputForm").attr("action", "${ctx}/admin/exam/group/delete?deleteCode=" + deleteCode);
+                $("#inputForm").submit();
+            } else {
+                $("#inputForm").attr("action", "${ctx}/admin/exam/group/delete");
+                $("#inputForm").submit();
+            }
+        })
     });
 </script>
 <script>
-function deleteDivHide(){
-	 $('#delete-modal').hide();
-}
-var dialogObj=null;
-function createDialog() {
-	return {
-        initParams: {},
-        setDialogTitle: function (index) {
-            if (index < 4) {
-                $('#deleteDiv .title').html('第' + index + '次警告');
-                $('.sub-title1,.subjectCode,.groupNumber').show();
-                $('.sub-title2,.authCode').hide();
+    function deleteDivHide() {
+        $('#delete-modal').hide();
+    }
 
-            } else {
-                $('#deleteDiv .title').html('分组授权码');
-                $('.sub-title1,.subjectCode,.groupNumber').hide();
-                $('.sub-title2,.authCode').show();
-            }
-        },
-        validate: function () {
-            if (this.warningIndex <= 3) {
-                var subjectCodeVal = $('.subjectCode input').val();
-                var groupNumberVal = $('.groupNumber input').val();
-                $('.subjectCode input+.error-tip').html(!subjectCodeVal?'请输入科目代码':subjectCodeVal != this.initParams.subjectCode?'输入的科目代码不正确':'')
-                $('.groupNumber input+.error-tip').html(!groupNumberVal?'请输入分组序号':groupNumberVal != this.initParams.groupNumber?'输入的分组序号不正确':'')
+    var dialogObj = null;
+
+    function createDialog() {
+        return {
+            initParams: {},
+            setDialogTitle: function (index) {
+                if (index < 4) {
+                    $('#deleteDiv .title').html('第' + index + '次警告');
+                    $('.sub-title1,.subjectCode,.groupNumber').show();
+                    $('.sub-title2,.authCode').hide();
 
-                if (!subjectCodeVal || !groupNumberVal || subjectCodeVal != this.initParams.subjectCode || groupNumberVal != this.initParams.groupNumber) {
-                    return;
                 } else {
-                    this.next();
+                    $('#deleteDiv .title').html('分组授权码');
+                    $('.sub-title1,.subjectCode,.groupNumber').hide();
+                    $('.sub-title2,.authCode').show();
                 }
-            } else if (this.warningIndex == 4) {
-                var authCodeVal = $('.authCode input').val();
-                if(!authCodeVal){
-                    $('.authCode input+.error-tip').html('请输入授权码');
-                    return;
-                }else{
-                    $('.authCode input+.error-tip').html('');
-                    this.next();
+            },
+            validate: function () {
+                if (this.warningIndex <= 3) {
+                    var subjectCodeVal = $('.subjectCode input').val();
+                    var groupNumberVal = $('.groupNumber input').val();
+                    $('.subjectCode input+.error-tip').html(!subjectCodeVal ? '请输入科目代码' : subjectCodeVal != this.initParams.subjectCode ? '输入的科目代码不正确' : '')
+                    $('.groupNumber input+.error-tip').html(!groupNumberVal ? '请输入分组序号' : groupNumberVal != this.initParams.groupNumber ? '输入的分组序号不正确' : '')
+
+                    if (!subjectCodeVal || !groupNumberVal || subjectCodeVal != this.initParams.subjectCode || groupNumberVal != this.initParams.groupNumber) {
+                        return;
+                    } else {
+                        this.next();
+                    }
+                } else if (this.warningIndex == 4) {
+                    var authCodeVal = $('.authCode input').val();
+                    if (!authCodeVal) {
+                        $('.authCode input+.error-tip').html('请输入授权码');
+                        return;
+                    } else {
+                        $('.authCode input+.error-tip').html('');
+                        this.next();
+                    }
                 }
-            }
 
-        },
-        next() {
-            if (this.warningIndex == 4) {
-                this.callback(this.initParams,$('.authCode input').val());
-            } else if (this.times <= 3 && this.times == this.warningIndex) {
-                this.callback(this.initParams);
-            } else {
-                $('.subjectCode input+.error-tip').html('');
-                $('.subjectCode input,.groupNumber input').val('')
-                $('.groupNumber input+.error-tip').html('');
-                this.warningIndex++;
-                $('#deleteDiv').removeClass('animate__animated animate__fadeIn')
-                setTimeout(function(){
-                    $('#deleteDiv').addClass('animate__animated animate__fadeIn')
-                },0)
+            },
+            next() {
+                if (this.warningIndex == 4) {
+                    this.callback(this.initParams, $('.authCode input').val());
+                } else if (this.times <= 3 && this.times == this.warningIndex) {
+                    this.callback(this.initParams);
+                } else {
+                    $('.subjectCode input+.error-tip').html('');
+                    $('.subjectCode input,.groupNumber input').val('')
+                    $('.groupNumber input+.error-tip').html('');
+                    this.warningIndex++;
+                    $('#deleteDiv').removeClass('animate__animated animate__fadeIn')
+                    setTimeout(function () {
+                        $('#deleteDiv').addClass('animate__animated animate__fadeIn')
+                    }, 0)
+                    this.setDialogTitle(this.warningIndex);
+                }
+            },
+            warningIndex: 1,//当前正在进行的第几次输入
+            times: 0,//需要重复输入的次数
+            callback: null,
+            initDialog: function (initParams, callBack) {
+                this.initParams = initParams;
+                var progress = initParams.progress;
+                if (callBack) {
+                    this.callback = callBack;
+                    if (progress <= 10) {
+                        callBack(initParams);
+                        return;
+                    }
+                }
+                this.times = progress <= 80 ? 2 : progress >= 80 && progress < 100 ? 3 : 4;
+                this.warningIndex = 1;
+                $('#delete-modal').show();
                 this.setDialogTitle(this.warningIndex);
-            }
-        },
-        warningIndex: 1,//当前正在进行的第几次输入
-        times: 0,//需要重复输入的次数
-        callback:null,
-        initDialog: function (initParams, callBack) {
-            this.initParams = initParams;
-            var progress = initParams.progress;
-            if(callBack){
-                this.callback = callBack;
-                if (progress <= 10) {
-                    callBack(initParams);
-                    return;
+            },
+            submit: function (index) {
+                console.log('你最开始传入的基础参数initParams为:', this.initParams);
+                if (this.warningIndex == 4) {
+                    console.log('你输入的授权码为:' + $('.authCode input').val())
                 }
             }
-            this.times = progress <= 80 ? 2 : progress >= 80 && progress < 100 ? 3 : 4;
-            this.warningIndex = 1;
-            $('#delete-modal').show();
-            this.setDialogTitle(this.warningIndex);
-        },
-        submit: function (index) {
-            console.log('你最开始传入的基础参数initParams为:',this.initParams);
-            if(this.warningIndex==4){
-                console.log('你输入的授权码为:'+$('.authCode input').val())
-            }
         }
+
     }
-   
-}
 </script>
 </body>
 </html>