Explorar el Código

回评功能扩展

ting.yin hace 6 años
padre
commit
f2bec57155
Se han modificado 20 ficheros con 529 adiciones y 37 borrados
  1. 10 0
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/query/MarkLibrarySearchQuery.java
  2. 3 0
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkLibraryServiceImpl.java
  3. 22 2
      stmms-web/src/main/java/cn/com/qmth/stmms/mark/MarkController.java
  4. 180 0
      stmms-web/src/main/webapp/static/mark-new/css/style.css
  5. BIN
      stmms-web/src/main/webapp/static/mark-new/images/back.png
  6. BIN
      stmms-web/src/main/webapp/static/mark-new/images/loding.gif
  7. BIN
      stmms-web/src/main/webapp/static/mark-new/images/next.png
  8. BIN
      stmms-web/src/main/webapp/static/mark-new/images/o_down.gif
  9. BIN
      stmms-web/src/main/webapp/static/mark-new/images/o_up.gif
  10. BIN
      stmms-web/src/main/webapp/static/mark-new/images/sc.png
  11. BIN
      stmms-web/src/main/webapp/static/mark-new/images/tips.gif
  12. 133 35
      stmms-web/src/main/webapp/static/mark-new/js/modules/mark-history.js
  13. 181 0
      stmms-web/src/main/webapp/static/mark-track/css/style.css
  14. BIN
      stmms-web/src/main/webapp/static/mark-track/images/back.png
  15. BIN
      stmms-web/src/main/webapp/static/mark-track/images/loding.gif
  16. BIN
      stmms-web/src/main/webapp/static/mark-track/images/next.png
  17. BIN
      stmms-web/src/main/webapp/static/mark-track/images/o_down.gif
  18. BIN
      stmms-web/src/main/webapp/static/mark-track/images/o_up.gif
  19. BIN
      stmms-web/src/main/webapp/static/mark-track/images/sc.png
  20. BIN
      stmms-web/src/main/webapp/static/mark-track/images/tips.gif

+ 10 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/query/MarkLibrarySearchQuery.java

@@ -32,6 +32,8 @@ public class MarkLibrarySearchQuery extends BaseQuery<MarkLibrary> {
 
 
     private int groupNumber;
     private int groupNumber;
 
 
+    private Double markerScore;
+
     public MarkLibrarySearchQuery() {
     public MarkLibrarySearchQuery() {
         super();
         super();
         this.statusSet = new HashSet<>();
         this.statusSet = new HashSet<>();
@@ -133,4 +135,12 @@ public class MarkLibrarySearchQuery extends BaseQuery<MarkLibrary> {
         this.statusSet.add(status);
         this.statusSet.add(status);
     }
     }
 
 
+    public Double getMarkerScore() {
+        return markerScore;
+    }
+
+    public void setMarkerScore(Double markerScore) {
+        this.markerScore = markerScore;
+    }
+
 }
 }

+ 3 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkLibraryServiceImpl.java

@@ -139,6 +139,9 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
                 if (query.getTagId() > 0) {
                 if (query.getTagId() > 0) {
                     predicates.add(cb.like(root.get("tags").as(String.class), "%" + query.getTagId() + "%"));
                     predicates.add(cb.like(root.get("tags").as(String.class), "%" + query.getTagId() + "%"));
                 }
                 }
+                if (query.getMarkerScore()!=null ) {
+                    predicates.add(cb.equal(root.get("markerScore"), query.getMarkerScore()));
+                }
                 return predicates.isEmpty() ? cb.conjunction()
                 return predicates.isEmpty() ? cb.conjunction()
                         : cb.and(predicates.toArray(new Predicate[predicates.size()]));
                         : cb.and(predicates.toArray(new Predicate[predicates.size()]));
             }
             }

+ 22 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/mark/MarkController.java

@@ -14,6 +14,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.domain.Sort.Direction;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -371,7 +373,9 @@ public class MarkController extends BaseController {
 
 
     @RequestMapping("/gethistory")
     @RequestMapping("/gethistory")
     @ResponseBody
     @ResponseBody
-    public Object history(HttpServletRequest request, @RequestParam int pageNumber, @RequestParam int pageSize)
+    public Object history(HttpServletRequest request, @RequestParam int pageNumber, @RequestParam int pageSize,
+            @RequestParam String order,@RequestParam String sort,@RequestParam(required=false,defaultValue="false") Boolean isTag,
+            @RequestParam(required=false) Integer studentId)
             throws Exception {
             throws Exception {
         Marker marker = RequestUtils.getWebUser(request).getMarker();
         Marker marker = RequestUtils.getWebUser(request).getMarker();
         List<Task> list = new ArrayList<>();
         List<Task> list = new ArrayList<>();
@@ -384,9 +388,25 @@ public class MarkController extends BaseController {
             query.setMarkerId(marker.getId());
             query.setMarkerId(marker.getId());
             query.addStatus(LibraryStatus.MARKED);
             query.addStatus(LibraryStatus.MARKED);
             query.setGroupNumber(marker.getGroupNumber());
             query.setGroupNumber(marker.getGroupNumber());
+            query.setTagNotNull(isTag);
             query.setPageNumber(pageNumber);
             query.setPageNumber(pageNumber);
             query.setPageSize(pageSize);
             query.setPageSize(pageSize);
-            query.orderByMarkerTimeDesc();
+            Direction d = Direction.DESC;
+            if(sort.equals("asc")){
+                d = Direction.ASC;
+            }
+            if(order.equals("time")){
+                query.setSort(new Sort(d,"markerTime"));
+            }else if(order.equals("studentId")){
+                query.setSort(new Sort(d,"studentId"));
+            }else if(order.equals("score")){
+                query.setSort(new Sort(d,"markerScore"));
+            }else{
+                query.orderByMarkerTimeDesc();
+            }
+            if(studentId!=null){
+                query.setStudentId(studentId);
+            }
             list = taskService.findByQuery(query);
             list = taskService.findByQuery(query);
             for (Task task : list) {
             for (Task task : list) {
                 task.setPrevious(true);
                 task.setPrevious(true);

+ 180 - 0
stmms-web/src/main/webapp/static/mark-new/css/style.css

@@ -1223,3 +1223,183 @@ a.button.all-zero-button {
 	padding: 15px;
 	padding: 15px;
 	overflow-y: scroll;
 	overflow-y: scroll;
 }
 }
+/** 回评*/
+.cl {
+	zoom: 1;
+}
+.cl:after {
+	content: ".";
+	display: block;
+	height: 0;
+	clear: both;
+	visibility: hidden;
+}
+.header {
+	overflow: hidden;
+}
+.mark-sidebar {
+	z-index: 1;
+	position: relative;
+	overflow: hidden;
+}
+.c-mn {
+	height: calc(100% - 41px); 
+	height: -webkit-calc(100% - 41px); 
+	height: -moz-calc(100% - 41px);
+	background: #FFF;
+}
+.c-mn nav {
+	background: #F5F4F4;
+}
+.image-content {
+	height: 100%;
+}
+.mark-steps {
+	position: relative;
+	height: 100%;
+	overflow: hidden;
+}
+/*c-scbar*/
+.c-scbar {
+	height: 44px;
+	padding: 8px;
+	overflow: hidden;
+
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+.c-scbar td {
+	line-height: 28px;
+	color: #455B71;
+}
+.c-scbar td.sc span {
+	position: relative;
+	display: inline-table;
+	width: 100%;
+	height: 28px;
+	overflow: hidden;
+	background: #FFF;
+	padding: 0 30px 0 10px;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+.c-scbar input[type="text"] {
+	float: left;
+	width: 100%;
+	height: 28px;
+	overflow: hidden;
+	font-size: 13px;
+	color: #455B71;
+	background: none;
+	border: 0;
+	box-shadow: none;
+	padding: 0;
+	margin: 0;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+.c-scbar td.sc span em {
+	position: absolute;
+	right: 0;
+	top: 0;
+	width: 30px;
+	height: 28px;
+	background: url(../images/sc.png) no-repeat 50% 50%;
+}
+.c-scbar input[type="checkbox"] {
+	float: left;
+	margin: 8px 0 0 8px;
+}
+.c-scbar em.disabled {
+	color: #919FAC;
+}
+
+/*c-page*/
+.c-page {
+	z-index: 1;
+	position: absolute;
+	left: 0;
+	bottom: 0;
+	width: 100%;
+	height: 42px;
+	overflow: hidden;
+	line-height: 26px;
+	text-align: right;
+	color: #FFF;
+	background: #5D6D7D;
+	padding: 8px 10px;
+
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+.c-page a {
+	float: left;
+	display: block;
+	width: 26px;
+	height: 26px;
+	overflow: hidden;
+	text-indent: -9999em;
+	background: #405468 url(../images/back.png) no-repeat 50% 50%;
+}
+.c-page a.next {
+	margin-left: 5px;
+	background-image: url(../images/next.png);
+}
+.c-page a:hover {
+	background-color: #FFD800;
+}
+/*c-table*/
+.c-table {
+	height: -webkit-calc(100vh - 127px);
+	height: -moz-calc(100vh - 127px);
+	height: calc(100vh - 127px);
+	overflow-y: auto;
+}
+.c-table .table th, .c-table .table td {
+	border-top: none;
+	border-bottom: 1px solid #5d6d7d;
+}
+.c-table .table .up {
+	display: inline-block;
+	width: 8px;
+	height: 8px;
+	background: url(../images/o_up.gif) no-repeat 100% 50%;
+	margin-left: 5px;
+}
+.c-table .table .down {
+	display: inline-block;
+	width: 8px;
+	height: 8px;
+	background: url(../images/o_down.gif) no-repeat 100% 50%;
+	margin-left: 5px;
+}
+.c-table .table td.tips {
+	background: url(../images/tips.gif) no-repeat 0 0;
+}
+.c-table .table tr.active > td.tips {
+    background-color: #5a7686;
+}
+.c-table .table tr:hover td.tips {
+    background-color: #A2B2BB;
+}
+.c-table .loding {
+	width: 100%;
+}
+.c-table .loding td {
+	width: 100%;
+	height: 100px;
+	vertical-align: middle;
+	text-align: center;
+	border: 0;
+}
+.c-table .loding td p {
+	line-height: 20px;
+	padding-top: 10px;
+}
+.c-table .loding tr:hover td {
+	background: none;
+}

BIN
stmms-web/src/main/webapp/static/mark-new/images/back.png


BIN
stmms-web/src/main/webapp/static/mark-new/images/loding.gif


BIN
stmms-web/src/main/webapp/static/mark-new/images/next.png


BIN
stmms-web/src/main/webapp/static/mark-new/images/o_down.gif


BIN
stmms-web/src/main/webapp/static/mark-new/images/o_up.gif


BIN
stmms-web/src/main/webapp/static/mark-new/images/sc.png


BIN
stmms-web/src/main/webapp/static/mark-new/images/tips.gif


+ 133 - 35
stmms-web/src/main/webapp/static/mark-new/js/modules/mark-history.js

@@ -12,6 +12,9 @@ function MarkHistory(option) {
     this.taskList = [];
     this.taskList = [];
     this.container = this.markControl.container.sidebar;
     this.container = this.markControl.container.sidebar;
     this.loading = false;
     this.loading = false;
+    this.order = "time"
+    this.sort = "desc";
+    var isTag = false; 
 
 
     this.markControl.initMarkFunction();
     this.markControl.initMarkFunction();
     this.container.toggleButton = getDom(this.toggle_button_dom, this.markControl).appendTo(this.markControl.container.assistant.functionList);
     this.container.toggleButton = getDom(this.toggle_button_dom, this.markControl).appendTo(this.markControl.container.assistant.functionList);
@@ -30,12 +33,15 @@ function MarkHistory(option) {
                 var task = taskList[i];
                 var task = taskList[i];
                 var row = getDom(this.history_row_dom, this.markControl).appendTo(this.container.list);
                 var row = getDom(this.history_row_dom, this.markControl).appendTo(this.container.list);
                 row.find('.history-secret-number').html(task.studentId);
                 row.find('.history-secret-number').html(task.studentId);
-
+                if(task.tags!=undefined && task.tags!=null ){
+                	row.find('.history-secret-number').addClass('tips');
+                }
                 var date = new Date();
                 var date = new Date();
                 date.setTime(task.markTime);
                 date.setTime(task.markTime);
                 row.find('.history-time').html(date.format('hh:mm:ss'));
                 row.find('.history-time').html(date.format('hh:mm:ss'));
                 row.find('.history-score').html(task.totalScore);
                 row.find('.history-score').html(task.totalScore);
                 row.attr('data-index', i);
                 row.attr('data-index', i);
+                
 
 
                 //回评任务处理
                 //回评任务处理
                 task.previous = true;
                 task.previous = true;
@@ -58,7 +64,8 @@ function MarkHistory(option) {
             markHistory.onTaskSelect(index);
             markHistory.onTaskSelect(index);
         });
         });
         this.pageNumber = data.pageNumber;
         this.pageNumber = data.pageNumber;
-        this.updateHeader();
+        this.updatePage();
+        this.updateSort(this.order,this.sort);
 
 
         if (this.taskList.length > 0) {
         if (this.taskList.length > 0) {
             this.onTaskSelect(0);
             this.onTaskSelect(0);
@@ -80,10 +87,11 @@ function MarkHistory(option) {
 MarkHistory.prototype.init = function() {
 MarkHistory.prototype.init = function() {
     this.container.empty();
     this.container.empty();
 
 
-    this.container.header = getDom(this.header_dom, this.markControl).appendTo(this.container);
     this.container.paginator = getDom(this.paginator_dom, this.markControl).appendTo(this.container);
     this.container.paginator = getDom(this.paginator_dom, this.markControl).appendTo(this.container);
+    this.container.header = getDom(this.header_dom, this.markControl).appendTo(this.container);
+    this.container.search = getDom(this.history_search_dom, this.markControl).appendTo(this.container).find('#history-search');
     this.container.list = getDom(this.history_list_dom, this.markControl).appendTo(this.container).find('#history-list');
     this.container.list = getDom(this.history_list_dom, this.markControl).appendTo(this.container).find('#history-list');
-
+    
 	var self = this;
 	var self = this;
     this.container.header.find('#close-history-button').click(this, function(event) {
     this.container.header.find('#close-history-button').click(this, function(event) {
         event.data.toggle(false);
         event.data.toggle(false);
@@ -92,14 +100,70 @@ MarkHistory.prototype.init = function() {
     })
     })
     this.container.paginator.find('#last-page-button').click(this, function(event) {
     this.container.paginator.find('#last-page-button').click(this, function(event) {
         var markHistory = event.data;
         var markHistory = event.data;
-        markHistory.onSearch(markHistory.pageNumber + 1);
+        if (markHistory.taskList.length < markHistory.pageSize) {
+        	return ;
+        }
+        if (self.container.search.find('#history-isTag').prop("checked")) {
+        	markHistory.isTag=true;
+        }  else{
+        	markHistory.isTag=false;
+        }
+        markHistory.onSearch(markHistory.pageNumber + 1,markHistory.order,markHistory.sort,markHistory.isTag);
     });
     });
     this.container.paginator.find('#next-page-button').click(this, function(event) {
     this.container.paginator.find('#next-page-button').click(this, function(event) {
         var markHistory = event.data;
         var markHistory = event.data;
+        if (markHistory.pageNumber == 1) {
+        	return ;
+        }
         if (markHistory.pageNumber > 1) {
         if (markHistory.pageNumber > 1) {
-            markHistory.onSearch(markHistory.pageNumber - 1);
+            if (self.container.search.find('#history-isTag').prop("checked")) {
+            	markHistory.isTag=true;
+            }  else{
+            	markHistory.isTag=false;
+            }
+            markHistory.onSearch(markHistory.pageNumber - 1,markHistory.order,markHistory.sort,markHistory.isTag);
+        }
+    });
+    this.container.find('#studentId-search').click(this, function(event) {
+    	var markHistory = event.data;
+    	var studentId = self.container.find('#studentId-in').val();
+    	var re = /^[1-9]+[0-9]*]*$/ ;
+    	if(!re.test(studentId)){
+    		alert("请输入数字");
+    		return ;
+    	}
+    	if (self.container.search.find('#history-isTag').prop("checked")) {
+        	markHistory.isTag=true;
+        }  else{
+        	markHistory.isTag=false;
         }
         }
+    	markHistory.onSearch(0,markHistory.order,markHistory.sort,markHistory.isTag,studentId);
+    });
+    this.container.find('#time-sort-th').click(this, function(event) {
+        self.orderSearch("time");
+    });
+    this.container.find('#studentId-sort-th').click(this, function(event) {
+        self.orderSearch("studentId");
+    });
+    this.container.find('#score-sort-th').click(this, function(event) {
+        self.orderSearch("score");
     });
     });
+    
+    self.updateSort(self.order,self.sort);
+}
+MarkHistory.prototype.orderSearch = function(order) {
+	this.order = order;
+	if(this.sort == "asc"){
+		this.sort = "desc";
+	}else if(this.sort == "desc"){
+		this.sort = "asc";
+	}
+	if (this.container.search.find('#history-isTag').prop("checked")) {
+		this.isTag=true;
+	} else{
+		this.isTag=false;
+	}
+	this.onSearch(this.pageNumber,this.order,this.sort,this.isTag);
 }
 }
 
 
 MarkHistory.prototype.toggle = function(enable) {
 MarkHistory.prototype.toggle = function(enable) {
@@ -110,7 +174,7 @@ MarkHistory.prototype.toggle = function(enable) {
         this.markControl.setTask(undefined);
         this.markControl.setTask(undefined);
         this.markControl.trigger('mark.sidebar.open');
         this.markControl.trigger('mark.sidebar.open');
         this.markControl.trigger('mark.history.open');
         this.markControl.trigger('mark.history.open');
-        this.updateHeader();
+        this.updatePage();
         this.container.list.empty();
         this.container.list.empty();
         this.container.show();
         this.container.show();
         this.onSearch();
         this.onSearch();
@@ -121,34 +185,59 @@ MarkHistory.prototype.toggle = function(enable) {
     }
     }
 }
 }
 
 
-MarkHistory.prototype.updateHeader = function() {
-    this.container.header.find('#history-start').html(this.pageSize * (this.pageNumber - 1));
-    this.container.header.find('#history-end').html(this.pageSize * this.pageNumber);
+MarkHistory.prototype.updatePage = function() {
+    this.container.paginator.find('#history-start').html(this.pageSize * (this.pageNumber - 1));
+    this.container.paginator.find('#history-end').html(this.pageSize * this.pageNumber);
 
 
-    if (this.pageNumber == 1) {
-        this.container.paginator.find('#next-page-label').show();
-        this.container.paginator.find('#next-page-button').hide();
-    } else {
-        this.container.paginator.find('#next-page-label').hide();
-        this.container.paginator.find('#next-page-button').show();
-    }
+//    if (this.pageNumber == 1) {
+//        this.container.paginator.find('#next-page-button').hide();
+//    }else{
+//    	this.container.paginator.find('#next-page-button').show();
+//    }
+//    if (this.taskList.length < this.pageSize) {
+//        this.container.paginator.find('#last-page-button').hide();
+//    } else{
+//    	this.container.paginator.find('#last-page-button').show();
+//    }
+    
+}
 
 
-    if (this.taskList.length < this.pageSize) {
-        this.container.paginator.find('#last-page-label').show();
-        this.container.paginator.find('#last-page-button').hide();
-    } else {
-        this.container.paginator.find('#last-page-label').hide();
-        this.container.paginator.find('#last-page-button').show();
-    }
+MarkHistory.prototype.updateSort = function(order,sort) {
+	this.container.find('#time-sort').removeClass();
+	this.container.find('#studentId-sort').removeClass();
+	this.container.find('#score-sort').removeClass();
+	if(sort == 'desc'){
+		this.container.find('#'+order+'-sort').addClass("down");
+	}else{
+		this.container.find('#'+order+'-sort').addClass("up");
+	}
+	
+	
 }
 }
 
 
-MarkHistory.prototype.onSearch = function(pageNumber) {
+MarkHistory.prototype.onSearch = function(pageNumber,order,sort,isTag,studentId) {
     if (pageNumber == undefined || pageNumber < 1) {
     if (pageNumber == undefined || pageNumber < 1) {
         pageNumber = 1;
         pageNumber = 1;
     }
     }
+    if (order == undefined ) {
+    	order = "time";
+    }
+    if (sort == undefined ) {
+    	sort = "desc";
+    }
+    if (isTag == undefined ) {
+    	isTag = false;
+    }
+    if (studentId == undefined || studentId=="") {
+    	studentId = null;
+    }
     this.markControl.getHistory({
     this.markControl.getHistory({
         pageNumber: pageNumber,
         pageNumber: pageNumber,
-        pageSize: this.pageSize
+        pageSize: this.pageSize,
+        order : order,
+        sort : sort,
+        isTag : isTag,
+        studentId :studentId
     });
     });
 }
 }
 
 
@@ -172,18 +261,27 @@ MarkHistory.prototype.onTaskSelect = function(index) {
 MarkHistory.prototype.toggle_button_dom = '<a href="#">回评</a>';
 MarkHistory.prototype.toggle_button_dom = '<a href="#">回评</a>';
 
 
 MarkHistory.prototype.header_dom = '<div class="header">\
 MarkHistory.prototype.header_dom = '<div class="header">\
-<p class="fl">前<i class="yellow" id="history-start"></i>-前<i class="yellow" id="history-end"></i></p>\
-<a href="#" id="close-history-button"><img src="{staticServer}/mark-new/images/hp-close.png"></a>\
+<p class="fl">回评</p>\
+<a href="#" id="close-history-button"><img src="{staticServer}/mark-new/images/hp-close.png" /></a>\
+</div>';
+
+MarkHistory.prototype.paginator_dom = '<div class="c-page">\
+<a class="back" id="last-page-button" href="#"></a>\
+<a class="next" id="next-page-button" href="#"></a>\
+<span>前<i class="yellow" id="history-start"></i>-前<i class="yellow" id="history-end"></i></span>\
 </div>';
 </div>';
 
 
-MarkHistory.prototype.paginator_dom = '<div class="m-pagination"><a id="last-page-button" href="#">上一页</a>\
-<i id="last-page-label">上一页</i>\
-<a id="next-page-button" href="#">下一页</a>\
-<i id="next-page-label">下一页</i></div>';
+MarkHistory.prototype.history_search_dom = '<div class="c-scbar cl">\
+<table id="history-search" cellpadding="0" cellspacing="0" width="100%">\
+<tr><td class="sc"><span><input type="text" placeholder="查找试卷" id="studentId-in"maxlength="10"/><em id="studentId-search"></em></span></td>\
+<td width="70px"><input type="checkbox" id="history-isTag"><em>标记卷</em></td></tr></table></div>';
 
 
-MarkHistory.prototype.history_list_dom = '<div class="sublist"><table class="table table-hover">\
-<thead><tr><th>编号</th><th>时间</th><th>总分</th></tr></thead>\
-<tbody id="history-list"></tbody></table></div>';
+MarkHistory.prototype.history_list_dom = '<div class="sublist"><div class="c-table">\
+<table class="table table-hover" cellpadding="0" cellspacing="0" width="100%">\
+<thead><tr><th id="studentId-sort-th">编号<em class="up" id="studentId-sort"></th>\
+<th id="time-sort-th">时间<em class="up" id="time-sort"></em></th><th id="score-sort-th">总分<em class="up" id="score-sort"></th></tr></thead>\
+<tbody class="loding" style="display:none;"><tr><td colspan="3"><div><img src="{staticServer}/mark-new/images/loding.gif"/></div><p>正在加载请稍候</p></td></tr></tbody>\
+<tbody id="history-list"></tbody></table></div></div>';
 
 
 MarkHistory.prototype.history_row_dom = '<tr><td class="history-secret-number"></td>\
 MarkHistory.prototype.history_row_dom = '<tr><td class="history-secret-number"></td>\
 <td class="history-time"></td><td class="history-score"></td></tr>';
 <td class="history-time"></td><td class="history-score"></td></tr>';

+ 181 - 0
stmms-web/src/main/webapp/static/mark-track/css/style.css

@@ -1208,4 +1208,185 @@ i,em {
 }
 }
 .buttonCss{
 .buttonCss{
     border-bottom: 1px solid #b50505;!important;
     border-bottom: 1px solid #b50505;!important;
+}
+
+/** 回评*/
+.cl {
+	zoom: 1;
+}
+.cl:after {
+	content: ".";
+	display: block;
+	height: 0;
+	clear: both;
+	visibility: hidden;
+}
+.header {
+	overflow: hidden;
+}
+.mark-sidebar {
+	z-index: 1;
+	position: relative;
+	overflow: hidden;
+}
+.c-mn {
+	height: calc(100% - 41px); 
+	height: -webkit-calc(100% - 41px); 
+	height: -moz-calc(100% - 41px);
+	background: #FFF;
+}
+.c-mn nav {
+	background: #F5F4F4;
+}
+.image-content {
+	height: 100%;
+}
+.mark-steps {
+	position: relative;
+	height: 100%;
+	overflow: hidden;
+}
+/*c-scbar*/
+.c-scbar {
+	height: 44px;
+	padding: 8px;
+	overflow: hidden;
+
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+.c-scbar td {
+	line-height: 28px;
+	color: #455B71;
+}
+.c-scbar td.sc span {
+	position: relative;
+	display: inline-table;
+	width: 100%;
+	height: 28px;
+	overflow: hidden;
+	background: #FFF;
+	padding: 0 30px 0 10px;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+.c-scbar input[type="text"] {
+	float: left;
+	width: 100%;
+	height: 28px;
+	overflow: hidden;
+	font-size: 13px;
+	color: #455B71;
+	background: none;
+	border: 0;
+	box-shadow: none;
+	padding: 0;
+	margin: 0;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+.c-scbar td.sc span em {
+	position: absolute;
+	right: 0;
+	top: 0;
+	width: 30px;
+	height: 28px;
+	background: url(../images/sc.png) no-repeat 50% 50%;
+}
+.c-scbar input[type="checkbox"] {
+	float: left;
+	margin: 8px 0 0 8px;
+}
+.c-scbar em.disabled {
+	color: #919FAC;
+}
+
+/*c-page*/
+.c-page {
+	z-index: 1;
+	position: absolute;
+	left: 0;
+	bottom: 0;
+	width: 100%;
+	height: 42px;
+	overflow: hidden;
+	line-height: 26px;
+	text-align: right;
+	color: #FFF;
+	background: #5D6D7D;
+	padding: 8px 10px;
+
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+.c-page a {
+	float: left;
+	display: block;
+	width: 26px;
+	height: 26px;
+	overflow: hidden;
+	text-indent: -9999em;
+	background: #405468 url(../images/back.png) no-repeat 50% 50%;
+}
+.c-page a.next {
+	margin-left: 5px;
+	background-image: url(../images/next.png);
+}
+.c-page a:hover {
+	background-color: #FFD800;
+}
+/*c-table*/
+.c-table {
+	height: -webkit-calc(100vh - 127px);
+	height: -moz-calc(100vh - 127px);
+	height: calc(100vh - 127px);
+	overflow-y: auto;
+}
+.c-table .table th, .c-table .table td {
+	border-top: none;
+	border-bottom: 1px solid #5d6d7d;
+}
+.c-table .table .up {
+	display: inline-block;
+	width: 8px;
+	height: 8px;
+	background: url(../images/o_up.gif) no-repeat 100% 50%;
+	margin-left: 5px;
+}
+.c-table .table .down {
+	display: inline-block;
+	width: 8px;
+	height: 8px;
+	background: url(../images/o_down.gif) no-repeat 100% 50%;
+	margin-left: 5px;
+}
+.c-table .table td.tips {
+	background: url(../images/tips.gif) no-repeat 0 0;
+}
+.c-table .table tr.active > td.tips {
+    background-color: #5a7686;
+}
+.c-table .table tr:hover td.tips {
+    background-color: #A2B2BB;
+}
+.c-table .loding {
+	width: 100%;
+}
+.c-table .loding td {
+	width: 100%;
+	height: 100px;
+	vertical-align: middle;
+	text-align: center;
+	border: 0;
+}
+.c-table .loding td p {
+	line-height: 20px;
+	padding-top: 10px;
+}
+.c-table .loding tr:hover td {
+	background: none;
 }
 }

BIN
stmms-web/src/main/webapp/static/mark-track/images/back.png


BIN
stmms-web/src/main/webapp/static/mark-track/images/loding.gif


BIN
stmms-web/src/main/webapp/static/mark-track/images/next.png


BIN
stmms-web/src/main/webapp/static/mark-track/images/o_down.gif


BIN
stmms-web/src/main/webapp/static/mark-track/images/o_up.gif


BIN
stmms-web/src/main/webapp/static/mark-track/images/sc.png


BIN
stmms-web/src/main/webapp/static/mark-track/images/tips.gif