Sfoglia il codice sorgente

按题目过滤显示json

ting.yin 5 anni fa
parent
commit
c20b142007

+ 20 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/LibraryController.java

@@ -1,5 +1,6 @@
 package cn.com.qmth.stmms.admin.exam;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
@@ -17,9 +18,12 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import cn.com.qmth.stmms.biz.exam.model.Exam;
+import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
 import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
+import cn.com.qmth.stmms.biz.exam.service.ExamService;
 import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.lock.LockService;
@@ -60,6 +64,9 @@ public class LibraryController extends BaseExamController {
     @Autowired
     private ExamQuestionService questionService;
 
+    @Autowired
+    private ExamService examService;
+
     @Value("${answer.server}")
     private String answerServer;
 
@@ -99,8 +106,17 @@ public class LibraryController extends BaseExamController {
                 }
             }
             for (MarkGroup group : groupList) {
-                group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
-                        group.getSubjectCode(), false, group.getNumber()));
+                List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
+                        group.getSubjectCode(), false, group.getNumber());
+                group.setQuestionList(questions);
+                if (group.getNumber() == query.getGroupNumber()) {
+                    List<String> strings = new ArrayList<String>();
+                    for (ExamQuestion examQuestion : questions) {
+                        strings.add(examQuestion.getQuestionNumber());
+                    }
+                    String questionNumbers = String.join(",", strings);
+                    model.addAttribute("questionNumbers", questionNumbers);
+                }
             }
         }
         MarkLibrarySearchQuery query2 = new MarkLibrarySearchQuery();
@@ -118,6 +134,8 @@ public class LibraryController extends BaseExamController {
                 markerService.findByExamAndSubjectAndGroup(examId, query.getSubjectCode(), query.getGroupNumber()));
         model.addAttribute("inspectedCount", inspectedCount);
         model.addAttribute("answerServer", answerServer);
+        Exam exam = examService.findById(examId);
+        model.addAttribute("examType", exam.getType());
         return "modules/exam/libraryList";
     }
 

+ 30 - 22
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java

@@ -30,12 +30,14 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 import cn.com.qmth.stmms.admin.dto.ExamQuestionDTO;
 import cn.com.qmth.stmms.biz.campus.model.Campus;
 import cn.com.qmth.stmms.biz.campus.service.CampusService;
+import cn.com.qmth.stmms.biz.exam.model.Exam;
 import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
 import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
 import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
+import cn.com.qmth.stmms.biz.exam.service.ExamService;
 import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
 import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
 import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
@@ -45,6 +47,7 @@ import cn.com.qmth.stmms.biz.mark.model.PictureConfigItem;
 import cn.com.qmth.stmms.biz.mark.service.MarkService;
 import cn.com.qmth.stmms.common.auth.annotation.RoleRequire;
 import cn.com.qmth.stmms.common.domain.WebUser;
+import cn.com.qmth.stmms.common.enums.ExamType;
 import cn.com.qmth.stmms.common.enums.LockType;
 import cn.com.qmth.stmms.common.enums.MarkMode;
 import cn.com.qmth.stmms.common.enums.MarkStatus;
@@ -87,6 +90,9 @@ public class MarkGroupController extends BaseExamController {
     @Autowired
     private LockService lockService;
 
+    @Autowired
+    private ExamService examService;
+
     @Value("${slice.image.server}")
     private String imageServer;
 
@@ -248,6 +254,8 @@ public class MarkGroupController extends BaseExamController {
         model.addAttribute("markModeList", MarkMode.values());
         model.addAttribute("scorePolicyList", ScorePolicy.values());
         model.addAttribute("thirdPolicyList", ThirdPolicy.values());
+        Exam exam = examService.findById(examId);
+        model.addAttribute("examType", exam.getType());
         return "modules/exam/groupAdd";
     }
 
@@ -271,6 +279,8 @@ public class MarkGroupController extends BaseExamController {
             model.addAttribute("markModeList", MarkMode.values());
             model.addAttribute("scorePolicyList", ScorePolicy.values());
             model.addAttribute("thirdPolicyList", ThirdPolicy.values());
+            Exam exam = examService.findById(examId);
+            model.addAttribute("examType", exam.getType());
             return "modules/exam/groupEditSimple";
         } else {
             redirectAttributes.addAttribute("subjectCode", subjectCode);
@@ -316,6 +326,8 @@ public class MarkGroupController extends BaseExamController {
             model.addAttribute("markModeList", MarkMode.values());
             model.addAttribute("scorePolicyList", ScorePolicy.values());
             model.addAttribute("thirdPolicyList", ThirdPolicy.values());
+            Exam exam = examService.findById(examId);
+            model.addAttribute("examType", exam.getType());
             return "modules/exam/groupEditFull";
         } else {
             redirectAttributes.addAttribute("subjectCode", subjectCode);
@@ -425,14 +437,12 @@ public class MarkGroupController extends BaseExamController {
                     }
                 }
                 // quick update
-                // picList = StringEscapeUtils.unescapeHtml(picList);
-                // JSONArray array = JSONArray.fromObject(picList);
-                // List<PictureConfigItem> list = JSONArray.toList(array, new
-                // PictureConfigItem(), new JsonConfig());
-                // if (list != null && !list.isEmpty()) {
-                // groupService.updatePicList(examId, subjectCode, number,
-                // list);
-                // }
+                picList = StringEscapeUtils.unescapeHtml(picList);
+                JSONArray array = JSONArray.fromObject(picList);
+                List<PictureConfigItem> list = JSONArray.toList(array, new PictureConfigItem(), new JsonConfig());
+                if (list != null && !list.isEmpty()) {
+                    groupService.updatePicList(examId, subjectCode, number, list);
+                }
                 if (doubleRate != null) {
                     groupService.updateDoubleRate(examId, subjectCode, number, doubleRate);
                 }
@@ -475,6 +485,7 @@ public class MarkGroupController extends BaseExamController {
             @RequestParam(required = false) String markMode, @RequestParam(required = false) Integer trialCount,
             @RequestParam(required = false) boolean sheetView) {
         int examId = getSessionExamId(request);
+        Exam exam = examService.findById(examId);
         MarkGroup group = groupService.findOne(examId, subjectCode, number);
         if (group != null) {
             addMessage(redirectAttributes, "评卷分组序号不能重复");
@@ -484,19 +495,20 @@ public class MarkGroupController extends BaseExamController {
             addMessage(redirectAttributes, "大题详情必须设置");
             redirectAttributes.addAttribute("subjectCode", subjectCode);
             return "redirect:/admin/exam/group/add";
-            // } else if (StringUtils.isBlank(picList)) {
-            // addMessage(redirectAttributes, "图片范围必须设置");
-            // redirectAttributes.addAttribute("subjectCode", subjectCode);
-            // return "redirect:/admin/exam/group/add";
+        } else if (StringUtils.isBlank(picList) && !exam.getType().equals(ExamType.MULTI_MEDIA)) {
+            addMessage(redirectAttributes, "图片范围必须设置");
+            redirectAttributes.addAttribute("subjectCode", subjectCode);
+            return "redirect:/admin/exam/group/add";
         } else {
             try {
                 // create group
                 // build picList
-                // picList = StringEscapeUtils.unescapeHtml(picList);
-                // JSONArray array = JSONArray.fromObject(picList);
-                // List<PictureConfigItem> picConfigList =
-                // JSONArray.toList(array, new PictureConfigItem(),
-                // new JsonConfig());
+                List<PictureConfigItem> picConfigList = null;
+                if (!exam.getType().equals(ExamType.MULTI_MEDIA)) {
+                    picList = StringEscapeUtils.unescapeHtml(picList);
+                    JSONArray array = JSONArray.fromObject(picList);
+                    picConfigList = JSONArray.toList(array, new PictureConfigItem(), new JsonConfig());
+                }
                 // build questionDetail
                 questionDetail = StringEscapeUtils.unescapeHtml(questionDetail);
                 JSONArray array = JSONArray.fromObject(questionDetail);
@@ -510,8 +522,6 @@ public class MarkGroupController extends BaseExamController {
                     }
                     dto.setScoreList(scoreList);
                 }
-                // if (picConfigList != null && detailList != null &&
-                // picConfigList.size() > 0 && detailList.size() > 0) {
                 if (detailList != null && detailList.size() > 0) {
                     for (ExamQuestionDTO detail : detailList) {
                         if (questionService.countByExamAndSubjectAndObjectiveAndMainNumber(examId, subjectCode, false,
@@ -521,9 +531,7 @@ public class MarkGroupController extends BaseExamController {
                             return "redirect:/admin/exam/group/add";
                         }
                     }
-                    group = new MarkGroup(examId, subjectCode, number, null, 0d, doubleRate,
-                    // group = new MarkGroup(examId, subjectCode, number,
-                    // picConfigList, 0d, doubleRate,
+                    group = new MarkGroup(examId, subjectCode, number, picConfigList, 0d, doubleRate,
                             arbitrateThreshold, scorePolicy, markMode, trialCount, sheetView, thirdPolicy);
                     // clear and replace exam_question
                     questionService

+ 2 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ScoreController.java

@@ -145,6 +145,8 @@ public class ScoreController extends BaseExamController {
         view.addObject("packageServer", packageServer);
         view.addObject("cardServer", cardServer);
         view.addObject("answerServer", answerServer);
+        Exam exam = examService.findById(examId);
+        view.addObject("examType", exam.getType());
         return view;
     }
 

+ 29 - 11
stmms-web/src/main/webapp/WEB-INF/views/include/jsonView.jsp

@@ -30,30 +30,48 @@ $(document).ready(function() {
 	$('#left-answer-div').find('iframe').height($(window).height()*0.83);
 });
 
-function initJsonPopover(title,url) {
-	initJsonPopoverContent(title,url); 
+function initJsonPopover(title,url,questionNumbers) {
+	initJsonPopoverContent(title,url,questionNumbers); 
 	imageModal.setWidth($(window).width()*0.9);
 	imageModal.setHeight($(window).height()*0.85);
 	imageModal.setTitle(title);
 	imageModal.open();
 }
-function initJsonPopoverContent(title,url){
+function initJsonPopoverContent(title,url,questionNumbers){
 
 	$('#right-json-nav, #right-json-content').empty();
-	 $.ajax({  
+    $.ajax({  
         type:"GET",  
         url:url,  
         dataType:"json",  
         success:function(data){   
-/*         	var data='[{"mainNumber": 4,"body": {"sections": [{"blocks": [{"type": "text","value": "go"}]}]},"subNumber": 16}]'; */
-        	$('#right-json-nav').append('<li><a href="#" data-toggle="tab">'+title+'</a></li>');
-        	var richText = renderRichText(data);
-        	$('#right-json-content').empty();
-        	var pane = $(richText).appendTo($('#right-json-content'));
+         	//var data='[{"mainNumber":4,"body":{"sections":[{"blocks":[{"type":"text","value":"adwe"}]}]},"subNumber":15},{"mainNumber":4,"body":{"sections":[{"blocks":[]}]},"subNumber":16},{"mainNumber":4,"body":{"sections":[{"blocks":[{"type":"text","value":"sdfdsf"}]}]},"subNumber":17},{"mainNumber":4,"body":{"sections":[{"blocks":[{"type":"text","value":"sdfs##sdf"}]}]},"subNumber":18},{"mainNumber":6,"body":{"sections":[{"blocks":[{"type":"audio","value":"https://ecs-test-static.qmth.com.cn/oe-answer-file/3/8/19/3_8_19_15748452552644264.mp3"}]}]},"subNumber":1},{"mainNumber":6,"body":{"sections":[{"blocks":[{"param":{"width":200,"height":200},"type":"image","value":"https://ecs-test-static.qmth.com.cn/oe-answer-file/3/8/20/3_8_20_15748452889591137.jpeg"},{"param":{"width":200,"height":200},"type":"image","value":"https://ecs-test-static.qmth.com.cn/oe-answer-file/3/8/20/3_8_20_15748452889895204.jpeg"},{"param":{"width":200,"height":200},"type":"image","value":"https://ecs-test-static.qmth.com.cn/oe-answer-file/3/8/20/3_8_20_15748452889573137.jpeg"}]}]},"subNumber":20},{"mainNumber":6,"body":{"sections":[{"blocks":[]}]},"subNumber":23},{"mainNumber":6,"body":{"sections":[{"blocks":[]}]},"subNumber":24}]';
+         	data = JSON.parse(data);
+         	let questions = data || [];
+         	
+         	if(questionNumbers != undefined){
+                var questionNumberArr = questionNumbers.split(",");
+         		questions.forEach(question => {
+                    //按题号过滤
+         			if(questionNumberArr.indexOf(question.mainNumber+"."+question.subNumber) == -1){
+         				return true; 
+         			}
+         		 	var questionTitle = '<span>题号:'+ question.mainNumber+'-'+question.subNumber +'<span><br/>';
+         			$(questionTitle).appendTo($('#right-json-content')); 
+                	$(renderRichText(question.body)).appendTo($('#right-json-content'));
+                });
+         	}else{
+         		questions.forEach(question => {
+         			var questionTitle = '<span>题号:'+ question.mainNumber+'-'+question.subNumber +'<span><br/>';
+         			$(questionTitle).appendTo($('#right-json-content')); 
+                	$(renderRichText(question.body)).appendTo($('#right-json-content'));
+                });
+         	}
+         	$('#right-json-nav').append('<li><a href="#" data-toggle="tab">'+title+'</a></li>');
         	$('#right-json-nav a:first').trigger('click');
 			imageModal.setContent($('#json-view-content'));
-         } 
-    });  
+          } 
+     }); 
 
 }
 </script>

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

@@ -85,13 +85,15 @@
             </select>
             </div>
         </div>
-    <%--     <div class="control-group">
+        <c:if test="${examType!='MULTI_MEDIA'}">
+		<div class="control-group">
             <label class="control-label">图片显示</label>
-            <div class="controls">  --%>
-                <form:input path="picList" class="required" id="picList"  type="hidden"/>
-      <%--          <a href="${ctx}/admin/exam/group/getPictureConfig?subjectCode=${group.subjectCode}&number=${group.number}" target="_blank" class="required" id= "configuration">设置</a>
+            <div class="controls">
+               <a href="${ctx}/admin/exam/group/getPictureConfig?subjectCode=${group.subjectCode}&number=${group.number}" target="_blank" class="required" id= "configuration">设置</a>
             </div>
-        </div> --%>
+        </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">

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

@@ -108,13 +108,15 @@
             </select>
             </div>
         </div>
-     <%--    <div class="control-group">
+        <c:if test="${examType!='MULTI_MEDIA'}">
+    	<div class="control-group">
             <label class="control-label">图片显示</label>
-            <div class="controls">   --%>             
-            	<form:input path="picList" class="required" id="picList"  type="hidden"/>
-          <%--      <a href="${ctx}/admin/exam/group/getPictureConfig?subjectCode=${group.subjectCode}&number=${group.number}" target="_blank" class="required" id= "configuration">设置</a>
+            <div class="controls"> 
+				<a href="${ctx}/admin/exam/group/getPictureConfig?subjectCode=${group.subjectCode}&number=${group.number}" target="_blank" class="required" id= "configuration">设置</a>
             </div>
-        </div> --%>
+        </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">

+ 7 - 5
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupEditSimple.jsp

@@ -89,13 +89,15 @@
             </select>
             </div>
         </div>
-        <%-- <div class="control-group">
+        <c:if test="${examType!='MULTI_MEDIA'}">
+        <div class="control-group">
             <label class="control-label">图片显示</label>
-            <div class="controls">--%>
-                <form:input path="picList" class="required" id="picList"  type="hidden"/>
-          <%--       <a href="${ctx}/admin/exam/group/getPictureConfig?subjectCode=${group.subjectCode}&number=${group.number}" target="_blank" class="required" id= "configuration">设置</a>
+            <div class="controls">
+				<a href="${ctx}/admin/exam/group/getPictureConfig?subjectCode=${group.subjectCode}&number=${group.number}" target="_blank" class="required" id= "configuration">设置</a>
             </div>
-        </div> --%>
+        </div>
+        </c:if> 
+		<form:input path="picList" class="required" id="picList"  type="hidden"/>
         <c:forEach items="${questions}" var="question">
         <div class="control-group">
             <label class="control-label">小题${question.subNumber}间隔分</label>

+ 7 - 3
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/libraryList.jsp

@@ -121,8 +121,12 @@
 				</td>
 				<td>
 				    <c:if test="${result.status.value==1 || result.status.value==3 ||result.status.value==5}">
-<%-- 				    <a class="track-link" href="##" data-image-url="${ctx}/admin/exam/track/byLibrary?libraryId=${result.id}" data-title="${result.examNumber}">阅卷轨迹</a> --%>
-				    	<a class="json-link" href="##" data-image-url="${answerServer}${result.answerUrl}" data-title="${result.examNumber}">原图</a> 
+				   		<c:if test="${examType=='MULTI_MEDIA'}">
+				    		<a class="json-link" href="##" data-image-url="${answerServer}${result.answerUrl}" data-title="${result.examNumber}" data-question-numbers="${questionNumbers }">原图</a> 
+				    	</c:if>
+				    	<c:if test="${examType!='MULTI_MEDIA'}">
+	 				    	<a class="track-link" href="##" data-image-url="${ctx}/admin/exam/track/byLibrary?libraryId=${result.id}" data-title="${result.examNumber}">阅卷轨迹</a>
+				    	</c:if>
 				    </c:if>
 				    <c:if test="${result.status.value==1 || result.status.value==5}">
 				    &nbsp;
@@ -155,7 +159,7 @@ $('.track-link').click(function(){
     return false;
 });
 $('.json-link').click(function(){
-    initJsonPopover($(this).attr('data-title'),$(this).attr('data-image-url'));
+    initJsonPopover($(this).attr('data-title'),$(this).attr('data-image-url'),$(this).attr('data-question-numbers'));
     return false;
 });
 $('#subject-select').change(function(){

+ 8 - 3
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/scoreList.jsp

@@ -164,9 +164,13 @@
                 </td>
 				<td>
 				    <c:if test="${student.upload==true}">
-<%-- 					<a class="sheet-link" href="##" data-id="${student.id}" data-sheet-url="${student.sheetUrlString}" data-answer-url="<c:if test="${student.answerUrl!=null}">${cardServer}${student.answerUrl}</c:if>" data-title="${student.examNumber}&nbsp;&nbsp;${student.name}&nbsp;&nbsp;客观总分${student.objectiveScoreString}&nbsp;&nbsp;主观总分${student.subjectiveScoreString}&nbsp;&nbsp;全卷总分${student.totalScoreString}">原图</a> --%>
-<%-- 					<a href="${ctx}/admin/exam/track/student/${student.id}" target="_blank">轨迹图</a> --%>
-						<a class="json-link" href="##" data-image-url="${answerServer}${student.answerUrl}" data-title="${result.examNumber}">原图</a> 
+				    	<c:if test="${examType!='MULTI_MEDIA'}">
+	 					<a class="sheet-link" href="##" data-id="${student.id}" data-sheet-url="${student.sheetUrlString}" data-answer-url="<c:if test="${student.answerUrl!=null}">${cardServer}${student.answerUrl}</c:if>" data-title="${student.examNumber}&nbsp;&nbsp;${student.name}&nbsp;&nbsp;客观总分${student.objectiveScoreString}&nbsp;&nbsp;主观总分${student.subjectiveScoreString}&nbsp;&nbsp;全卷总分${student.totalScoreString}">原图</a>
+ 						<a href="${ctx}/admin/exam/track/student/${student.id}" target="_blank">轨迹图</a>
+						</c:if>
+						<c:if test="${examType=='MULTI_MEDIA'}">
+						<a class="json-link" href="##" data-image-url="${answerServer}${student.answerUrl}" data-title="${student.examNumber}" >原图</a> 
+						</c:if>
 					</c:if>
 					<c:if test="${student.packageUrlString!=null && student.packageUrlString!=''}">
 					<a class="package-link" href="##" data-image-url="${student.packageUrlString}" data-title="${student.packageCode}">签到表</a>
@@ -179,6 +183,7 @@
 	<div class="pagination">${query}</div>
 	<%@include file="/WEB-INF/views/include/sheetTagView.jsp" %>
 	<%@include file="/WEB-INF/views/include/imageView.jsp" %>
+	<%@include file="/WEB-INF/views/include/jsonView.jsp" %>
 <script type="text/javascript">
 $(document).ready(function() {
 	$("#searchForm").validate();

+ 2 - 2
stmms-web/src/main/webapp/static/mark-json/js/json-loader.js

@@ -13,9 +13,9 @@ function JsonLoader(option) {
 JsonLoader.prototype.build = function (task, callback) {
     var self = this;
     if (task != undefined && task.answerUrl != undefined) {
-        //var url = this.answerServer + this.task.answerUrl;
         // TODO-测试代码,读取固定的json文件
-        var url = this.answerServer + '1.json';
+//        var result='[{"mainNumber":4,"body":{"sections":[{"blocks":[{"type":"text","value":"adwe"}]}]},"subNumber":15},{"mainNumber":4,"body":{"sections":[{"blocks":[]}]},"subNumber":16},{"mainNumber":4,"body":{"sections":[{"blocks":[{"type":"text","value":"sdfdsf"}]}]},"subNumber":17},{"mainNumber":4,"body":{"sections":[{"blocks":[{"type":"text","value":"sdfs##sdf"}]}]},"subNumber":18},{"mainNumber":6,"body":{"sections":[{"blocks":[{"type":"audio","value":"https://ecs-test-static.qmth.com.cn/oe-answer-file/3/8/19/3_8_19_15748452552644264.mp3"}]}]},"subNumber":1},{"mainNumber":6,"body":{"sections":[{"blocks":[{"param":{"width":200,"height":200},"type":"image","value":"https://ecs-test-static.qmth.com.cn/oe-answer-file/3/8/20/3_8_20_15748452889591137.jpeg"},{"param":{"width":200,"height":200},"type":"image","value":"https://ecs-test-static.qmth.com.cn/oe-answer-file/3/8/20/3_8_20_15748452889895204.jpeg"},{"param":{"width":200,"height":200},"type":"image","value":"https://ecs-test-static.qmth.com.cn/oe-answer-file/3/8/20/3_8_20_15748452889573137.jpeg"}]}]},"subNumber":20},{"mainNumber":6,"body":{"sections":[{"blocks":[]}]},"subNumber":23},{"mainNumber":6,"body":{"sections":[{"blocks":[]}]},"subNumber":24}]';
+    	var url = this.answerServer + this.task.answerUrl;
         $.get(url, function (result) {
             task.jsonData = JSON.parse(result);
             callback();

+ 12 - 1
stmms-web/src/main/webapp/static/mark-json/js/json-view.js

@@ -47,9 +47,20 @@ JsonView.prototype.init = function () {
 JsonView.prototype.render = function () {
     this.container.empty();
     if (this.task != undefined && this.task.jsonData != undefined) {
+    	var questionNumberArr = new Array();
+    	for (var i in this.task.markStepList) {
+            var step = this.task.markStepList[i];
+            questionNumberArr[i] = step.questionNumber;
+        }
+    	
         let questions = this.task.jsonData || [];
         questions.forEach(question => {
-            // TODO-增加按题号过滤
+            // 按题号过滤
+        	if(questionNumberArr.indexOf(question.mainNumber+"."+question.subNumber) == -1){
+ 				return true; 
+ 			}
+ 		 	var questionTitle = '<span>题号:'+ question.mainNumber+'-'+question.subNumber +'<span><br/>';
+ 			$(questionTitle).appendTo($(this.container)); 
             $(renderRichText(question.body)).appendTo(this.container);
         });
         this.markControl.trigger('task.load.finish');

+ 1 - 0
stmms-web/src/main/webapp/static/rich-text/css/rich-text.css

@@ -5,6 +5,7 @@
 
 .rich-text {
     padding: 10px 0;
+    background: #FFF;
 }
 
 .rich-text p {