Browse Source

管理端查看原卷改为跳转链接

ting.yin 5 years ago
parent
commit
a655ec8c6d

+ 21 - 10
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/LibraryController.java

@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -101,22 +102,12 @@ public class LibraryController extends BaseExamController {
             for (MarkLibrary library : query.getResult()) {
             for (MarkLibrary library : query.getResult()) {
                 if (library.getMarkerId() != null) {
                 if (library.getMarkerId() != null) {
                     library.setMarker(markerService.findById(library.getMarkerId()));
                     library.setMarker(markerService.findById(library.getMarkerId()));
-                    library.setAnswerUrl(PictureUrlBuilder.getAnswerJson(library.getExamId(), library.getSubjectCode(),
-                            null, library.getExamNumber()));
                 }
                 }
             }
             }
             for (MarkGroup group : groupList) {
             for (MarkGroup group : groupList) {
                 List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
                 List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
                         group.getSubjectCode(), false, group.getNumber());
                         group.getSubjectCode(), false, group.getNumber());
                 group.setQuestionList(questions);
                 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();
         MarkLibrarySearchQuery query2 = new MarkLibrarySearchQuery();
@@ -175,4 +166,24 @@ public class LibraryController extends BaseExamController {
         return obj;
         return obj;
     }
     }
 
 
+    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
+    @RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER })
+    public String list(Model model, HttpServletRequest request, @PathVariable Integer id) {
+        int examId = getSessionExamId(request);
+        MarkLibrary library = libraryService.findById(id);
+        List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
+                library.getSubjectCode(), false, library.getGroupNumber());
+        List<String> strings = new ArrayList<String>();
+        for (ExamQuestion examQuestion : questions) {
+            strings.add(examQuestion.getQuestionNumber());
+        }
+        String questionNumbers = String.join(",", strings);
+        model.addAttribute("questionNumbers", questionNumbers);
+        model.addAttribute("answerServer", answerServer);
+        model.addAttribute(
+                "answerUrl",
+                PictureUrlBuilder.getAnswerJson(library.getExamId(), library.getSubjectCode(), null,
+                        library.getExamNumber()));
+        return "modules/exam/jsonView";
+    }
 }
 }

+ 29 - 43
stmms-web/src/main/webapp/WEB-INF/views/include/jsonView.jsp → stmms-web/src/main/webapp/WEB-INF/views/modules/exam/jsonView.jsp

@@ -1,48 +1,37 @@
-<%@ page contentType="text/html;charset=UTF-8"%>
-
+<%@ page language="java" pageEncoding="utf-8"%>
+<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<title>云阅卷</title>
+<meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"/>
+<script type="text/javascript" src="${ctxStatic}/mark-new/js/jquery.min.js"></script>
 <script type="text/javascript" src="${ctxStatic}/mark-new/js/jquery-ui.min.js"></script>
 <script type="text/javascript" src="${ctxStatic}/mark-new/js/jquery-ui.min.js"></script>
 <script type="text/javascript" src="${ctxStatic}/mark-new/js/jquery.mousewheel.min.js"></script>
 <script type="text/javascript" src="${ctxStatic}/mark-new/js/jquery.mousewheel.min.js"></script>
 
 
-<link rel="stylesheet" type="text/css" href="${ctxStatic}/jBox/Source/jBox.css">
-<script type="text/javascript" src="${ctxStatic}/jBox/Source/jBox.min.js"></script>
-
-<link rel="stylesheet" type="text/css" href="${ctxStatic}/iviewer/jquery.iviewer.css">
-<script type="text/javascript" src="${ctxStatic}/iviewer/jquery.iviewer.js"></script>
-
 <link rel="stylesheet" type="text/css" href="${ctxStatic}/rich-text/css/rich-text.css">
 <link rel="stylesheet" type="text/css" href="${ctxStatic}/rich-text/css/rich-text.css">
 <script type="text/javascript" src="${ctxStatic}/rich-text/js/render.js"></script>
 <script type="text/javascript" src="${ctxStatic}/rich-text/js/render.js"></script>
 
 
-<link rel="stylesheet" type="text/css" href="${ctxStatic}/viewer/viewer.css">
 <script type="text/javascript" src="${ctxStatic}/viewer/viewer.js"></script>
 <script type="text/javascript" src="${ctxStatic}/viewer/viewer.js"></script>
+<link href="${ctxStatic}/viewer/viewer.css" rel="stylesheet">
 
 
-<div id="json-view-content" class="container-fluid" style="display:none">
-	<div class="row-fluid">
-		<div id="right-json-div" >
-			<ul id="right-json-nav" class="nav nav-tabs">
-			</ul>
-			<div id="right-json-content" class="tab-content rich-text">
-			</div>
-		</div>
+</head>
+<body id="index">
+	<div id="json-view-content" class="rich-text">
 	</div>
 	</div>
-</div>
-
+</body>
 <script type="text/javascript">
 <script type="text/javascript">
-var imageModal = new jBox('Modal');
+var url = "${answerServer}${answerUrl}";
+var questionNumbers ="${questionNumbers}";
 
 
 $(document).ready(function() {
 $(document).ready(function() {
-	$('#left-answer-div').find('iframe').height($(window).height()*0.83);
+	initJsonPopover(url,questionNumbers); 
 });
 });
 
 
-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,questionNumbers){
+function initJsonPopover(url,questionNumbers){
 
 
-	$('#right-json-nav, #right-json-content').empty();
+	$('#json-view-content').empty();
     $.ajax({  
     $.ajax({  
         type:"GET",  
         type:"GET",  
         url:url,  
         url:url,  
@@ -60,25 +49,22 @@ function initJsonPopoverContent(title,url,questionNumbers){
          				return true; 
          				return true; 
          			}
          			}
          		 	var questionTitle = '<span>题号:'+ question.mainNumber+'-'+question.subNumber +'<span></br>';
          		 	var questionTitle = '<span>题号:'+ question.mainNumber+'-'+question.subNumber +'<span></br>';
-         			$(questionTitle).appendTo($('#right-json-content')); 
-                	$("<span>题干:<span>"+renderRichText(question.body)).appendTo($('#right-json-content'));
-                	$("<span>考生答案:<span>"+renderRichText(question.studentAnswer)).appendTo('#right-json-content');
-                    $("<span>标准答案:<span>"+renderRichText(question.answer)).appendTo('#right-json-content');
+         			$(questionTitle).appendTo($('#json-view-content')); 
+                	$("<span>题干:<span>"+renderRichText(question.body)).appendTo($('#json-view-content'));
+                	$("<span>考生答案:<span>"+renderRichText(question.studentAnswer)).appendTo('#json-view-content');
+                    $("<span>标准答案:<span>"+renderRichText(question.answer)).appendTo('#json-view-content');
                 });
                 });
          	}else{
          	}else{
          		questions.forEach(question => {
          		questions.forEach(question => {
          			var questionTitle = '<span>题号:'+ question.mainNumber+'-'+question.subNumber +'<span><br/>';
          			var questionTitle = '<span>题号:'+ question.mainNumber+'-'+question.subNumber +'<span><br/>';
-         			$(questionTitle).appendTo($('#right-json-content')); 
-         			$("<span>题干:<span>"+renderRichText(question.body)).appendTo($('#right-json-content'));
-                	$("<span>考生答案:<span>"+renderRichText(question.studentAnswer)).appendTo('#right-json-content');
-                    $("<span>标准答案:<span>"+renderRichText(question.answer)).appendTo('#right-json-content');
+         			$(questionTitle).appendTo($('#json-view-content')); 
+         			$("<span>题干:<span>"+renderRichText(question.body)).appendTo($('#json-view-content'));
+                	$("<span>考生答案:<span>"+renderRichText(question.studentAnswer)).appendTo('#json-view-content');
+                    $("<span>标准答案:<span>"+renderRichText(question.answer)).appendTo('#json-view-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'));
-         	/* const viewer = new Viewer($('#right-json-content')[0], {
-            }); */
+         	const viewer = new Viewer($('#json-view-content')[0], {
+            }); 
           } 
           } 
      }); 
      }); 
 
 

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

@@ -122,10 +122,10 @@
 				<td>
 				<td>
 				    <c:if test="${result.status.value==1 || result.status.value==3 ||result.status.value==5}">
 				    <c:if test="${result.status.value==1 || result.status.value==3 ||result.status.value==5}">
 				   		<c:if test="${examType=='MULTI_MEDIA'}">
 				   		<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> 
+				    		<a class="json-link" href="${ctx}/admin/exam/library/${result.id}" target="_blank">原图</a> 
 				    	</c:if>
 				    	</c:if>
 				    	<c:if test="${examType!='MULTI_MEDIA'}">
 				    	<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>
+	 				    	<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>
 				    </c:if>
 				    <c:if test="${result.status.value==1 || result.status.value==5}">
 				    <c:if test="${result.status.value==1 || result.status.value==5}">
@@ -158,10 +158,6 @@ $('.track-link').click(function(){
     initTrackPopover($(this).attr('data-title'),$(this).attr('data-image-url'));
     initTrackPopover($(this).attr('data-title'),$(this).attr('data-image-url'));
     return false;
     return false;
 });
 });
-$('.json-link').click(function(){
-    initJsonPopover($(this).attr('data-title'),$(this).attr('data-image-url'),$(this).attr('data-question-numbers'));
-    return false;
-});
 $('#subject-select').change(function(){
 $('#subject-select').change(function(){
     var code = $(this).val();
     var code = $(this).val();
     $('#group-select').empty();
     $('#group-select').empty();

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

@@ -169,7 +169,7 @@
  						<a href="${ctx}/admin/exam/track/student/${student.id}" target="_blank">轨迹图</a>
  						<a href="${ctx}/admin/exam/track/student/${student.id}" target="_blank">轨迹图</a>
 						</c:if>
 						</c:if>
 						<c:if test="${examType=='MULTI_MEDIA'}">
 						<c:if test="${examType=='MULTI_MEDIA'}">
-						<a class="json-link" href="##" data-image-url="${answerServer}${student.answerUrl}" data-title="${student.examNumber}" >原图</a> 
+						<a class="json-link" href="${ctx}/admin/exam/library/${result.id}" target="_blank">原图</a> 
 						</c:if>
 						</c:if>
 					</c:if>
 					</c:if>
 					<c:if test="${student.packageUrlString!=null && student.packageUrlString!=''}">
 					<c:if test="${student.packageUrlString!=null && student.packageUrlString!=''}">
@@ -183,7 +183,6 @@
 	<div class="pagination">${query}</div>
 	<div class="pagination">${query}</div>
 	<%@include file="/WEB-INF/views/include/sheetTagView.jsp" %>
 	<%@include file="/WEB-INF/views/include/sheetTagView.jsp" %>
 	<%@include file="/WEB-INF/views/include/imageView.jsp" %>
 	<%@include file="/WEB-INF/views/include/imageView.jsp" %>
-	<%@include file="/WEB-INF/views/include/jsonView.jsp" %>
 <script type="text/javascript">
 <script type="text/javascript">
 $(document).ready(function() {
 $(document).ready(function() {
 	$("#searchForm").validate();
 	$("#searchForm").validate();
@@ -200,10 +199,6 @@ $(document).ready(function() {
     $('.package-link').click(function(){
     $('.package-link').click(function(){
     	initImagePopover($(this).attr('data-title'), '${packageServer}', $(this).attr('data-image-url'));
     	initImagePopover($(this).attr('data-title'), '${packageServer}', $(this).attr('data-image-url'));
     	return false;
     	return false;
-    });
-    $('.json-link').click(function(){
-        initJsonPopover($(this).attr('data-title'),$(this).attr('data-image-url'));
-        return false;
     });
     });
 	var running = "${running}";
 	var running = "${running}";
 	if(running=='true'){
 	if(running=='true'){