Commit 4f32cbf70b2cc916f1a3e81c24ec885b3f2e2d55
1 parent
ce1cff6c
更新新东方服务界面维护文档
Showing
10 changed files
with
287 additions
and
441 deletions
.settings/org.eclipse.core.resources.prefs
1 | eclipse.preferences.version=1 | 1 | eclipse.preferences.version=1 |
2 | +encoding//WebRoot/WEB-INF/jsp/sunvote/paper/paper_list2.jsp=UTF-8 | ||
2 | encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/creat_question.jsp=UTF-8 | 3 | encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/creat_question.jsp=UTF-8 |
3 | encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/stduent_report.jsp=UTF-8 | 4 | encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/stduent_report.jsp=UTF-8 |
5 | +encoding//WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_main.jsp=UTF-8 | ||
4 | encoding//WebRoot/WEB-INF/jsp/system/appuser/appuser_list.jsp=UTF-8 | 6 | encoding//WebRoot/WEB-INF/jsp/system/appuser/appuser_list.jsp=UTF-8 |
5 | encoding//WebRoot/WEB-INF/jsp/system/fhsms/fhsms_list.jsp=UTF-8 | 7 | encoding//WebRoot/WEB-INF/jsp/system/fhsms/fhsms_list.jsp=UTF-8 |
6 | encoding//WebRoot/WEB-INF/jsp/system/index/head.jsp=UTF-8 | 8 | encoding//WebRoot/WEB-INF/jsp/system/index/head.jsp=UTF-8 |
WebRoot/WEB-INF/jsp/sunvote/paper/paper_list2.jsp
1 | -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" |
2 | + pageEncoding="UTF-8"%> | ||
2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> |
3 | <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | 4 | <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> |
4 | <% | 5 | <% |
5 | String path = request.getContextPath(); | 6 | String path = request.getContextPath(); |
6 | String basePath = request.getScheme() + "://" | 7 | String basePath = request.getScheme() + "://" |
7 | - + request.getServerName() + ":" + request.getServerPort() | ||
8 | - + path + "/"; | 8 | + + request.getServerName() + ":" + request.getServerPort() + path + "/"; |
9 | %> | 9 | %> |
10 | -<!DOCTYPE html> | ||
11 | -<html lang="en"> | 10 | +<html lang="zh-CN"> |
12 | <head> | 11 | <head> |
13 | -<base href="<%=basePath%>"> | ||
14 | -<!-- 下拉框 --> | ||
15 | -<!-- | ||
16 | -<link rel="stylesheet" href="static/ace/css/chosen.css" /> | ||
17 | -<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> | ||
18 | -<script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script> | ||
19 | -<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> | ||
20 | - --><!-- jsp文件头和头部 --> | ||
21 | -<%@ include file="../../system/index/top.jsp"%> | ||
22 | -<!-- 日期框 --> | ||
23 | -<link rel="stylesheet" href="static/ace/css/datepicker.css" /> | 12 | +<meta charset="utf-8"> |
13 | +<meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
14 | +<meta name="viewport" content="width=device-width, initial-scale=1"> | ||
15 | +<title>中天电子-教育管理系统</title> | ||
16 | + | ||
17 | +<!-- Bootstrap --> | ||
18 | +<link | ||
19 | + href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" | ||
20 | + rel="stylesheet"> | ||
21 | +<link href="../static/css/teach.css" rel="stylesheet"> | ||
22 | + | ||
23 | +<!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 --> | ||
24 | +<!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 --> | ||
25 | +<!--[if lt IE 9]> | ||
26 | + <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script> | ||
27 | + <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> | ||
28 | + <![endif]--> | ||
24 | </head> | 29 | </head> |
25 | -<body class="no-skin"> | 30 | +<body> |
26 | 31 | ||
27 | - <!-- /section:basics/navbar.layout --> | ||
28 | - <div class="main-container" id="main-container"> | ||
29 | - <!-- /section:basics/sidebar --> | ||
30 | - <div class="main-content"> | ||
31 | - <div class="main-content-inner"> | ||
32 | - <div class="page-content"> | ||
33 | - <div class="row"> | ||
34 | - <div class="col-xs-12"> | ||
35 | - | ||
36 | - <!-- 检索 --> | ||
37 | - <form action="paper/list2.do" method="post" name="Form" id="Form"> | ||
38 | - <table style="margin-top:5px;"> | ||
39 | - <tr> | ||
40 | - <%-- <td> | ||
41 | - <div class="nav-search"> | ||
42 | - <span class="input-icon"> | ||
43 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | ||
44 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | ||
45 | - </span> | ||
46 | - </div> | ||
47 | - </td> --%> | ||
48 | - <td style="padding-left:2px;"><input class="span10 date-picker" name="lastStart" id="lastStart" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="开始日期" title="开始日期"/></td> | ||
49 | - <td style="padding-left:2px;"><input class="span10 date-picker" name="lastEnd" name="lastEnd" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="结束日期" title="结束日期"/></td> | ||
50 | - <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td> | ||
51 | - <c:if test="${QX.cha == 1 }"> | ||
52 | - </c:if> | ||
53 | - <%-- <c:if test="${QX.toExcel == 1 }"><td style="vertical-align:top;padding-left:2px;"><a class="btn btn-light btn-xs" onclick="toExcel();" title="导出到EXCEL"><i id="nav-search-icon" class="ace-icon fa fa-download bigger-110 nav-search-icon blue"></i></a></td></c:if> | ||
54 | - --%> </tr> | ||
55 | - </table> | ||
56 | - <!-- 检索 --> | ||
57 | - | ||
58 | - <table id="simple-table" class="table table-striped table-bordered table-hover" style="margin-top:5px;"> | ||
59 | - <thead> | ||
60 | - <tr> | ||
61 | - <th class="center" style="width:35px;"> | ||
62 | - <label class="pos-rel"><input type="checkbox" class="ace" id="zcheckbox" /><span class="lbl"></span></label> | ||
63 | - </th> | ||
64 | - <th class="center" style="width:50px;">序号</th> | ||
65 | - <th class="center">测验标题</th> | ||
66 | - <th class="center">创建时间</th> | ||
67 | - <th class="center">建议考试时长</th> | ||
68 | - <th class="center">总分</th> | ||
69 | - <th class="center">操作</th> | ||
70 | - </tr> | ||
71 | - </thead> | ||
72 | - | ||
73 | - <tbody> | ||
74 | - <!-- 开始循环 --> | ||
75 | - <c:choose> | ||
76 | - <c:when test="${not empty varList}"> | ||
77 | - <c:forEach items="${varList}" var="var" varStatus="vs"> | ||
78 | - <tr> | ||
79 | - <td class='center'> | ||
80 | - <label class="pos-rel"><input type='checkbox' name='ids' value="${var.PAPER_ID}" class="ace" /><span class="lbl"></span></label> | ||
81 | - </td> | ||
82 | - <td class='center' style="width: 30px;">${vs.index+1}</td> | ||
83 | - <td class='center'><a target="_blank" href="<%=basePath%>paper/iteminfo.do?paper_id=${var.PAPER_ID}">${var.TITLE}</a></td> | ||
84 | - <td class='center'>${var.CREATE_DATE}</td> | ||
85 | - <td class='center'>${var.EXAM_TIME}</td> | ||
86 | - <td class='center'>${var.SCORE}</td> | ||
87 | - <td class="center"> | ||
88 | - <div > | ||
89 | - <a class="btn btn-xs btn-danger" onclick="del('${var.PAPER_ID}');"> | ||
90 | - <i class="ace-icon fa fa-trash-o bigger-120" title="删除"></i> | ||
91 | - </a> | ||
92 | - </div> | ||
93 | - </td> | ||
94 | - </tr> | ||
95 | - | ||
96 | - </c:forEach> | ||
97 | - </c:when> | ||
98 | - <c:otherwise> | ||
99 | - <tr class="main_info"> | ||
100 | - <td colspan="100" class="center" >没有相关数据</td> | ||
101 | - </tr> | ||
102 | - </c:otherwise> | ||
103 | - </c:choose> | ||
104 | - </tbody> | ||
105 | - </table> | ||
106 | - <div class="page-header position-relative"> | ||
107 | - <table style="width:100%;"> | 32 | + <form action="../paper/list2.do" method="post" name="Form" id="Form"> |
33 | + <div class="head_box"> | ||
34 | + <div class="head_box_l"> | ||
35 | + <p> | ||
36 | + <span class="right_b"></span>试卷管理 | ||
37 | + </p> | ||
38 | + </div> | ||
39 | + <div class="head_box_r"> | ||
40 | + <input type="text" value="" placeholder="开始日期" /> <input type="text" | ||
41 | + value="" placeholder="结束日期" /> <a href="#"><img | ||
42 | + src="../static/images/search.png" /></a> | ||
43 | + </div> | ||
44 | + <div class="clear"></div> | ||
45 | + </div> | ||
46 | + <div class="table_box"> | ||
47 | + <table class="table table-striped"> | ||
48 | + <thead> | ||
49 | + <tr> | ||
50 | + <th><input type="checkbox" value="0" name="choose" | ||
51 | + id="chooseAll" />序号</th> | ||
52 | + <th>测验标题</th> | ||
53 | + <th>创建时间</th> | ||
54 | + <th>建议考试时长</th> | ||
55 | + <th>总分</th> | ||
56 | + <th>操作</th> | ||
57 | + </tr> | ||
58 | + </thead> | ||
59 | + <tbody> | ||
60 | + <c:choose> | ||
61 | + <c:when test="${not empty varList}"> | ||
62 | + <c:forEach items="${varList}" var="var" varStatus="vs"> | ||
108 | <tr> | 63 | <tr> |
109 | - <td style="vertical-align:top;"> | ||
110 | - <a class="btn btn-mini btn-success" onclick="parent.$('.title_time').modal('show');">新建试卷</a> | ||
111 | - <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a> | 64 | + <td><input type="checkbox" value="1" name="choose" />${vs.index+1}</td> |
65 | + <td ><a target="_blank" href="<%=basePath%>paper/iteminfo.do?paper_id=${var.PAPER_ID}">${var.TITLE}</a></td> | ||
66 | + <td >${var.CREATE_DATE}</td> | ||
67 | + <td >${var.EXAM_TIME}</td> | ||
68 | + <td >${var.SCORE}</td> | ||
69 | + <td> | ||
70 | + <a href="#" onclick="del('${var.PAPER_ID}');"><img src="../static/images/remove.png" /></a> | ||
112 | </td> | 71 | </td> |
113 | - <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td> | ||
114 | </tr> | 72 | </tr> |
115 | - </table> | ||
116 | - </div> | ||
117 | - </form> | 73 | + |
74 | + </c:forEach> | ||
75 | + </c:when> | ||
76 | + <c:otherwise> | ||
77 | + <tr class="main_info"> | ||
78 | + <td colspan="100" class="center" >没有相关数据</td> | ||
79 | + </tr> | ||
80 | + </c:otherwise> | ||
81 | + </c:choose> | ||
82 | + </tbody> | ||
83 | + </table> | ||
84 | + | ||
85 | + | ||
86 | + <div class="footer"> | ||
87 | + <div class="creat"> | ||
88 | + <input type="button" onclick="parent.$('.title_time').modal('show');" value="新建试卷" /> | ||
89 | + </div> | ||
90 | + <div class="removeAll"> | ||
91 | + <input type="button" value="批量删除" /> | ||
92 | + </div> | ||
93 | + <div class="page_box"> | ||
94 | + | ||
95 | + <div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div> | ||
118 | 96 | ||
119 | - </div> | ||
120 | - <!-- /.col --> | ||
121 | - </div> | ||
122 | - <!-- /.row --> | 97 | + <!-- <nav aria-label="Page navigation"> |
98 | + | ||
99 | + <ul class="pagination"> | ||
100 | + <li><span>共5条</span></li> | ||
101 | + <li><span class="enter"><input type="number" value="" /></span></li> | ||
102 | + <li><a href="#" class="jump_btn">跳转</a></li> | ||
103 | + <li><a href="#">首页</a></li> | ||
104 | + <li><a href="#" aria-label="Previous"> <span | ||
105 | + aria-hidden="true">上一页</span> | ||
106 | + </a></li> | ||
107 | + <li class="active"><a href="#">1</a></li> | ||
108 | + <li><a href="#">2</a></li> | ||
109 | + <li><a href="#">3</a></li> | ||
110 | + <li><a href="#">4</a></li> | ||
111 | + <li><a href="#">5</a></li> | ||
112 | + <li><a href="#" aria-label="Next"> <span | ||
113 | + aria-hidden="true">下一页</span> | ||
114 | + </a></li> | ||
115 | + <li><a href="#">尾页</a></li> | ||
116 | + <li><span class="enter"><select title="显示条数" | ||
117 | + style="width:55px;height:32px;float:left;border:0;color:#000;" | ||
118 | + onchange="changeCount(this.value)"> | ||
119 | + <option value="10">10</option> | ||
120 | + <option value="20">20</option> | ||
121 | + <option value="30">30</option> | ||
122 | + <option value="40">40</option> | ||
123 | + <option value="50">50</option> | ||
124 | + <option value="60">60</option> | ||
125 | + <option value="70">70</option> | ||
126 | + <option value="80">80</option> | ||
127 | + <option value="90">90</option> | ||
128 | + <option value="99">99</option> | ||
129 | + </select></span></li> | ||
130 | + </ul> | ||
131 | + </nav> --> | ||
123 | </div> | 132 | </div> |
124 | - <!-- /.page-content --> | ||
125 | </div> | 133 | </div> |
126 | </div> | 134 | </div> |
127 | - <!-- /.main-content --> | ||
128 | - | ||
129 | - <!-- 返回顶部 --> | ||
130 | - <a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse"> | ||
131 | - <i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i> | ||
132 | - </a> | 135 | + </form> |
136 | +</body> | ||
133 | 137 | ||
134 | - </div> | ||
135 | - | ||
136 | - | ||
137 | - | ||
138 | - <!-- /.main-container --> | 138 | +<%@ include file="../../system/index/foot.jsp"%> |
139 | +<script type="text/javascript"> | ||
139 | 140 | ||
140 | - <!-- basic scripts --> | ||
141 | - <!-- 页面底部js¨ --> | ||
142 | - <%@ include file="../../system/index/foot.jsp"%> | ||
143 | - <!-- 删除时确认窗口 --> | ||
144 | - <script src="static/ace/js/bootbox.js"></script> | ||
145 | - <!-- ace scripts --> | ||
146 | - <script src="static/ace/js/ace/ace.js"></script> | ||
147 | - <!-- 下拉框 --> | ||
148 | - <script src="static/ace/js/chosen.jquery.js"></script> | ||
149 | - <!-- 日期框 --> | ||
150 | - <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script> | ||
151 | - <!--提示框--> | ||
152 | - <script type="text/javascript" src="static/js/jquery.tips.js"></script> | ||
153 | - <script type="text/javascript"> | ||
154 | - $(top.hangge());//关闭加载状态 | ||
155 | - //检索 | ||
156 | - function tosearch(){ | ||
157 | - top.jzts(); | ||
158 | - $("#Form").submit(); | ||
159 | - } | ||
160 | - $(function() { | ||
161 | - | ||
162 | - //日期框 | ||
163 | - $('.date-picker').datepicker({ | ||
164 | - autoclose: true, | ||
165 | - todayHighlight: true | ||
166 | - }); | ||
167 | - | ||
168 | - //下拉框 | ||
169 | - if(!ace.vars['touch']) { | ||
170 | - $('.chosen-select').chosen({allow_single_deselect:true}); | ||
171 | - $(window) | ||
172 | - .off('resize.chosen') | ||
173 | - .on('resize.chosen', function() { | ||
174 | - $('.chosen-select').each(function() { | ||
175 | - var $this = $(this); | ||
176 | - $this.next().css({'width': $this.parent().width()}); | ||
177 | - }); | ||
178 | - }).trigger('resize.chosen'); | ||
179 | - $(document).on('settings.ace.chosen', function(e, event_name, event_val) { | ||
180 | - if(event_name != 'sidebar_collapsed') return; | ||
181 | - $('.chosen-select').each(function() { | ||
182 | - var $this = $(this); | ||
183 | - $this.next().css({'width': $this.parent().width()}); | ||
184 | - }); | ||
185 | - }); | ||
186 | - $('#chosen-multiple-style .btn').on('click', function(e){ | ||
187 | - var target = $(this).find('input[type=radio]'); | ||
188 | - var which = parseInt(target.val()); | ||
189 | - if(which == 2) $('#form-field-select-4').addClass('tag-input-style'); | ||
190 | - else $('#form-field-select-4').removeClass('tag-input-style'); | ||
191 | - }); | ||
192 | - } | ||
193 | - | ||
194 | - | ||
195 | - //复选框全选控制 | ||
196 | - var active_class = 'active'; | ||
197 | - $('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){ | ||
198 | - var th_checked = this.checked;//checkbox inside "TH" table header | ||
199 | - $(this).closest('table').find('tbody > tr').each(function(){ | ||
200 | - var row = this; | ||
201 | - if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true); | ||
202 | - else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false); | ||
203 | - }); | ||
204 | - }); | ||
205 | - }); | ||
206 | - | ||
207 | - //新增 | ||
208 | - function add(){ | ||
209 | - top.jzts(); | ||
210 | - var diag = new top.Dialog(); | ||
211 | - diag.Drag=true; | ||
212 | - diag.Title ="新增"; | ||
213 | - diag.URL = '<%=basePath%>paper/goAddTest.do'; | ||
214 | - diag.Width = 450; | ||
215 | - diag.Height = 355; | ||
216 | - diag.Modal = true; //有无遮罩窗口 | ||
217 | - diag. ShowMaxButton = true; //最大化按钮 | ||
218 | - diag.ShowMinButton = true; //最小化按钮 | ||
219 | - diag.CancelEvent = function(){ //关闭事件 | ||
220 | - if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){ | ||
221 | - if('${page.currentPage}' == '0'){ | ||
222 | - tosearch(); | ||
223 | - }else{ | ||
224 | - tosearch(); | ||
225 | - } | ||
226 | - } | ||
227 | - diag.close(); | ||
228 | - }; | ||
229 | - diag.show(); | ||
230 | - } | ||
231 | - | ||
232 | - //删除 | 141 | +//删除 |
233 | function del(Id){ | 142 | function del(Id){ |
234 | bootbox.confirm("确定要删除吗?", function(result) { | 143 | bootbox.confirm("确定要删除吗?", function(result) { |
235 | if(result) { | 144 | if(result) { |
@@ -309,16 +218,17 @@ | @@ -309,16 +218,17 @@ | ||
309 | }); | 218 | }); |
310 | }; | 219 | }; |
311 | 220 | ||
312 | - //导出excel | ||
313 | - function toExcel(){ | ||
314 | - window.location.href='<%=basePath%>paper/excel.do'; | 221 | + function tosearch(){ |
222 | + $("#Form").submit(); | ||
315 | } | 223 | } |
316 | 224 | ||
317 | - function click(item){ | ||
318 | - window.location.href='<%=basePath%>paper/iteminfo.do?paper_id=' + item ; | ||
319 | - } | ||
320 | - </script> | ||
321 | - | ||
322 | - | ||
323 | -</body> | 225 | + $('.table_box > .table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){ |
226 | + var th_checked = this.checked;//checkbox inside "TH" table header | ||
227 | + $(this).closest('table').find('tbody > tr').each(function(){ | ||
228 | + var row = this; | ||
229 | + if(th_checked) $(row).find('input[type=checkbox]').eq(0).prop('checked', true); | ||
230 | + else $(row).find('input[type=checkbox]').eq(0).prop('checked', false); | ||
231 | + }); | ||
232 | + }); | ||
233 | +</script> | ||
324 | </html> | 234 | </html> |
325 | \ No newline at end of file | 235 | \ No newline at end of file |
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_main.jsp
1 | -<%@ page language="java" contentType="text/html; charset=UTF-8" | 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" |
2 | pageEncoding="UTF-8"%> | 2 | pageEncoding="UTF-8"%> |
3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> |
4 | <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | 4 | <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> |
@@ -9,163 +9,82 @@ | @@ -9,163 +9,82 @@ | ||
9 | + path + "/"; | 9 | + path + "/"; |
10 | %> | 10 | %> |
11 | <!DOCTYPE html> | 11 | <!DOCTYPE html> |
12 | -<html lang="en"> | 12 | +<html lang="zh-CN"> |
13 | <head> | 13 | <head> |
14 | -<base href="<%=basePath%>"> | ||
15 | - | ||
16 | -<!-- jsp文件头和头部 --> | ||
17 | -<%@ include file="../../system/index/top.jsp"%> | ||
18 | -<style type="text/css"> | ||
19 | -.content_l{width:30%;min-width:300px;height:100%;background:#fff;float:left;} | ||
20 | -.info_box{width:100%;height:300px;background:#36c345;color:#fff;position:relative;} | ||
21 | -.info{display:table;width:70%;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;} | ||
22 | -.info_l{width:120px;height:120px;float:left;border-radius:100px;overflow:hidden;position:relative;} | ||
23 | -.info_l img{width:100%;position:absolute;top:0;min-height:100%;} | ||
24 | -.info_r{margin-left:150px;} | ||
25 | -.info_r p{width:100%;text-align:left;} | ||
26 | -.info_r p:first-child{font-size:24px;} | ||
27 | -.class{background:#36c333;color:#fff;margin-top:12px;} | ||
28 | -.class p{margin:0;line-height:3em;box-sizing:border-box;padding-left:3em;font-size:20px;} | ||
29 | -.test{background:#36b733;font-size:32px;text-align:center;color:#fff;padding:3% 0;letter-spacing:1em;margin-top:12px;} | ||
30 | -.analysis{background:#36a733;font-size:32px;text-align:center;color:#fff;padding:3% 0;letter-spacing:1em;margin-top:12px;} | ||
31 | -.commitopacity { | ||
32 | - position: absolute; | ||
33 | - width: 100%; | ||
34 | - height: 100px; | ||
35 | - background: #7f7f7f; | ||
36 | - filter: alpha(opacity = 50); | ||
37 | - -moz-opacity: 0.8; | ||
38 | - -khtml-opacity: 0.5; | ||
39 | - opacity: 0.5; | ||
40 | - top: 0px; | ||
41 | - z-index: 99999; | ||
42 | -} | ||
43 | - | ||
44 | -.jzts { | ||
45 | - position: fixed; | ||
46 | - left: 50%; | ||
47 | - top: 50%; | ||
48 | - width: 100%; | ||
49 | - height: 200px; | ||
50 | - margin: -45px 190px 0px 0px; | ||
51 | -} | ||
52 | -</style> | ||
53 | - | ||
54 | -<!-- 即时通讯 --> | ||
55 | -<link rel="stylesheet" type="text/css" | ||
56 | - href="plugins/websocketInstantMsg/ext4/resources/css/ext-all.css"> | ||
57 | -<link rel="stylesheet" type="text/css" | ||
58 | - href="plugins/websocketInstantMsg/css/websocket.css" /> | ||
59 | -<script type="text/javascript" | ||
60 | - src="plugins/websocketInstantMsg/ext4/ext-all-debug.js"></script> | ||
61 | -<script type="text/javascript" | ||
62 | - src="plugins/websocketInstantMsg/websocket.js"></script> | ||
63 | -<!-- 即时通讯 --> | ||
64 | -<!-- | ||
65 | -<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> | ||
66 | -<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> | ||
67 | - <script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script> | ||
68 | - --> | ||
69 | - | ||
70 | - | ||
71 | - | ||
72 | - | 14 | +<meta charset="utf-8"> |
15 | +<meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
16 | +<meta name="viewport" content="width=device-width, initial-scale=1"> | ||
17 | +<title>中天电子-教育管理系统</title> | ||
18 | + | ||
19 | +<!-- Bootstrap --> | ||
20 | +<link | ||
21 | + href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" | ||
22 | + rel="stylesheet"> | ||
23 | +<link href="../static/css/teach.css" rel="stylesheet"> | ||
24 | + | ||
25 | +<!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 --> | ||
26 | +<!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 --> | ||
27 | +<!--[if lt IE 9]> | ||
28 | + <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script> | ||
29 | + <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> | ||
30 | + <![endif]--> | ||
73 | </head> | 31 | </head> |
74 | -<body class="no-skin"> | ||
75 | - <!-- #section:basics/navbar.layout --> | ||
76 | - | ||
77 | - <!-- 页面顶部¨ --> | ||
78 | - | ||
79 | - | ||
80 | - <div style="width:1360px;margin:0 auto;"> | ||
81 | - <%@ include file="../../system/index/head.jsp"%> | ||
82 | - <div class="content_l"> | ||
83 | - | ||
84 | - <div class="info_box"> | ||
85 | - <div class="info"> | ||
86 | - <div class="info_l"> | ||
87 | - <img src="static/ace/avatars/user.jpg" /> | 32 | +<body> |
33 | + <div class="header"> | ||
34 | + <div class="logo"> | ||
35 | + <img src="../static/images/logo.png" /> | ||
36 | + </div> | ||
37 | + <div class="out"> | ||
38 | + <a href="../logout"><img src="../static/images/close.png" />退出登录</a> | ||
39 | + </div> | ||
40 | + <div class="clear"></div> | ||
41 | + </div> | ||
42 | + <div class="content"> | ||
43 | + <div class="content_l"> | ||
44 | + <div class="info_tab"> | ||
45 | + <div class="head_pic"> | ||
46 | + <img src="../static/images/head_defult.png" /> | ||
88 | </div> | 47 | </div> |
89 | - <div class="info_r"> | ||
90 | - <p>${pd.TEACHER[0].TEACHER_NAME }</p> | ||
91 | - <p>${pd.TEACHER[0].SCHOOL_NAME }</p> | 48 | + <div class="name"> |
49 | + <p>欢迎!</p> | ||
50 | + <p id="name">${pd.TEACHER[0].TEACHER_NAME }</p> | ||
51 | + <p id="school">${pd.TEACHER[0].SCHOOL_NAME }</p> | ||
92 | </div> | 52 | </div> |
93 | </div> | 53 | </div> |
54 | + <div class="class tab1"> | ||
55 | + <p> | ||
56 | + 班级管理<span class="right jiao"></span> | ||
57 | + </p> | ||
58 | + <ul> | ||
59 | + <c:forEach items="${pd.TEACHER}" var="var" varStatus="vs"> | ||
60 | + <li onclick="event.stopPropagation();chooseClass('${var.CLASS_ID}','${var.TERM_ID}')">${var.GRADE_NAME}${var.SUBJECT_NAME} | ||
61 | + <span>${var.CLASS_NAME}</span> | ||
62 | + </li> | ||
63 | + </c:forEach> | ||
64 | + | ||
65 | + </ul> | ||
66 | + </div> | ||
67 | + <div class="testpaper tab1"> | ||
68 | + <p> | ||
69 | + 试卷管理<span class="right jiao"></span> | ||
70 | + </p> | ||
71 | + </div> | ||
72 | + <div class="analyse tab1"> | ||
73 | + <p> | ||
74 | + 测验分析<span class="right jiao"></span> | ||
75 | + </p> | ||
76 | + <ul> | ||
77 | + <c:forEach items="${pd.TEACHER}" var="var" varStatus="vs"> | ||
78 | + <li onclick="event.stopPropagation();report('${var.CLASS_ID}')">${var.CLASS_NAME} 成绩</li> | ||
79 | + </c:forEach> | ||
80 | + </ul> | ||
94 | </div> | 81 | </div> |
95 | - <c:forEach items="${pd.TEACHER}" var="var" varStatus="vs"> | ||
96 | - <div class="class"> | ||
97 | - <p><a href="javascript:chooseClass('${var.CLASS_ID}','${var.TERM_ID}');">${var.GRADE_NAME}${var.SUBJECT_NAME} <span>${var.CLASS_NAME}</span></a> | ||
98 | - <a href="javascript:report('${var.CLASS_ID}');">成绩</a></p> | ||
99 | - </div> | ||
100 | - </c:forEach> | ||
101 | - <div class="class" id="test"><p> <a href="javascript:;">试卷</a></p></div> | ||
102 | - <!-- <div class="analysis">分析</div> --> | ||
103 | </div> | 82 | </div> |
104 | - <div style="width:70%;height:100%;margin-left:30%;" class="content_r"> | ||
105 | - <iframe name="mainFrame" id="mainFrame" frameborder="0" src="paper/list2.do?" ></iframe> | 83 | + <div class="content_r"> |
84 | + <iframe name="mainFrame" id="mainFrame" frameborder="0" src="../paper/list2.do?" width="100%" height="100%"></iframe> | ||
85 | + | ||
106 | </div> | 86 | </div> |
107 | -</div> | ||
108 | - | ||
109 | - | ||
110 | - | ||
111 | - <%@ include file="../../system/index/foot.jsp"%> | ||
112 | - | ||
113 | - <!-- page specific plugin scripts --> | ||
114 | - | ||
115 | - <!-- ace scripts --> | ||
116 | - <script src="static/ace/js/ace/elements.scroller.js"></script> | ||
117 | - <script src="static/ace/js/ace/elements.colorpicker.js"></script> | ||
118 | - <script src="static/ace/js/ace/elements.fileinput.js"></script> | ||
119 | - <script src="static/ace/js/ace/elements.typeahead.js"></script> | ||
120 | - <script src="static/ace/js/ace/elements.wysiwyg.js"></script> | ||
121 | - <script src="static/ace/js/ace/elements.spinner.js"></script> | ||
122 | - <script src="static/ace/js/ace/elements.treeview.js"></script> | ||
123 | - <script src="static/ace/js/ace/elements.wizard.js"></script> | ||
124 | - <script src="static/ace/js/ace/elements.aside.js"></script> | ||
125 | - <script src="static/ace/js/ace/ace.js"></script> | ||
126 | - <script src="static/ace/js/ace/ace.ajax-content.js"></script> | ||
127 | - <script src="static/ace/js/ace/ace.touch-drag.js"></script> | ||
128 | - <script src="static/ace/js/ace/ace.sidebar.js"></script> | ||
129 | - <script src="static/ace/js/ace/ace.sidebar-scroll-1.js"></script> | ||
130 | - <script src="static/ace/js/ace/ace.submenu-hover.js"></script> | ||
131 | - <script src="static/ace/js/ace/ace.widget-box.js"></script> | ||
132 | - <script src="static/ace/js/ace/ace.settings.js"></script> | ||
133 | - <script src="static/ace/js/ace/ace.settings-rtl.js"></script> | ||
134 | - <script src="static/ace/js/ace/ace.settings-skin.js"></script> | ||
135 | - <script src="static/ace/js/ace/ace.widget-on-reload.js"></script> | ||
136 | - <script src="static/ace/js/ace/ace.searchbox-autocomplete.js"></script> | ||
137 | - <!-- inline scripts related to this page --> | ||
138 | - | ||
139 | - <!-- the following scripts are used in demo only for onpage help and you don't need them --> | ||
140 | - <link rel="stylesheet" href="static/ace/css/ace.onpage-help.css" /> | ||
141 | 87 | ||
142 | - <script type="text/javascript"> ace.vars['base'] = '..'; </script> | ||
143 | - <script src="static/ace/js/ace/elements.onpage-help.js"></script> | ||
144 | - <script src="static/ace/js/ace/ace.onpage-help.js"></script> | ||
145 | - | ||
146 | - <!--引入属于此页面的js --> | ||
147 | - <script type="text/javascript" src="static/js/myjs/head.js"></script> | ||
148 | - <!--引入属于此页面的js --> | ||
149 | - <script type="text/javascript" src="static/js/myjs/index.js"></script> | ||
150 | - | ||
151 | - <!--引入弹窗组件1start--> | ||
152 | - <!--<script type="text/javascript" src="plugins/attention/zDialog/zDrag.js"></script>--> | ||
153 | - <!--<script type="text/javascript" src="plugins/attention/zDialog/zDialog.js"></script>--> | ||
154 | - <!--引入弹窗组件1end--> | ||
155 | - | ||
156 | - <!--引入弹窗组件2start--> | ||
157 | - <script type="text/javascript" src="plugins/attention/drag/drag.js"></script> | ||
158 | - <script type="text/javascript" src="plugins/attention/drag/dialog.js"></script> | ||
159 | - <link type="text/css" rel="stylesheet" | ||
160 | - href="plugins/attention/drag/style.css" /> | ||
161 | - <!--引入弹窗组件2end--> | ||
162 | - | ||
163 | - <!--提示框--> | ||
164 | - <script type="text/javascript" src="static/js/jquery.tips.js"></script> | ||
165 | - <script> | ||
166 | - $(".content_l").height($("#mainFrame").height()); | ||
167 | - </script> | ||
168 | - <!-- 考试时间 --> | ||
169 | <div class="modal fade title_time" tabindex="-1" role="dialog"> | 88 | <div class="modal fade title_time" tabindex="-1" role="dialog"> |
170 | <div class="modal-dialog" role="document" style="z-index:1400"> | 89 | <div class="modal-dialog" role="document" style="z-index:1400"> |
171 | <div class="modal-content"> | 90 | <div class="modal-content"> |
@@ -197,7 +116,20 @@ | @@ -197,7 +116,20 @@ | ||
197 | </div><!-- /.modal-content --> | 116 | </div><!-- /.modal-content --> |
198 | </div><!-- /.modal-dialog --> | 117 | </div><!-- /.modal-dialog --> |
199 | </div><!-- /.modal --> | 118 | </div><!-- /.modal --> |
200 | - <script> | 119 | + <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> |
120 | + <script | ||
121 | + src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> | ||
122 | + <script src="../static/js/model.js"></script> | ||
123 | + <script type="text/javascript"> | ||
124 | + function chooseClass(classID,termID){ | ||
125 | + var path = "../student/listcs.do?class_id=" + classID + "&term_id=" + termID ; | ||
126 | + $(".content_r").html('<iframe name="mainFrame" id="mainFrame" frameborder="0" style="width:100%;height:'+$(".content_l").height()+'px;" src=' + path + '></iframe>'); | ||
127 | + } | ||
128 | + | ||
129 | + function report(classId){ | ||
130 | + window.open('<%=basePath%>report/report.do?classid=' + classId); | ||
131 | + } | ||
132 | + | ||
201 | $("#time_submit").click(function(){ | 133 | $("#time_submit").click(function(){ |
202 | var name = $("#enter_title").val(); | 134 | var name = $("#enter_title").val(); |
203 | var time = $("#enter_time").val(); | 135 | var time = $("#enter_time").val(); |
@@ -207,22 +139,6 @@ | @@ -207,22 +139,6 @@ | ||
207 | } | 139 | } |
208 | //window.open("<%=basePath%>" + "paper/npaper.do?" + "name=" + name + "&time=" + time); | 140 | //window.open("<%=basePath%>" + "paper/npaper.do?" + "name=" + name + "&time=" + time); |
209 | }); | 141 | }); |
210 | - $("#test").click(function(){ | ||
211 | - $(".content_r").html('<iframe name="mainFrame" id="mainFrame" frameborder="0" src="paper/list2.do?" style="width:100%;height:'+$(".content_l").height()+'px;"></iframe>'); | ||
212 | - }) | ||
213 | - | ||
214 | - function chooseClass(classID,termID){ | ||
215 | - var path = "student/listcs.do?class_id=" + classID + "&term_id=" + termID ; | ||
216 | - $(".content_r").html('<iframe name="mainFrame" id="mainFrame" frameborder="0" style="width:100%;height:'+$(".content_l").height()+'px;" src=' + path + '></iframe>'); | ||
217 | - } | ||
218 | - | ||
219 | - function report(classId){ | ||
220 | - window.open('<%=basePath%>report/report.do?classid=' + classId); | ||
221 | - } | ||
222 | - /* $(".analysis").click(function(){ | ||
223 | - $(".content_r").html('<img src="static/images/analysis.png" width="100%" />'); | ||
224 | - }) */ | ||
225 | </script> | 142 | </script> |
226 | - | ||
227 | </body> | 143 | </body> |
228 | </html> | 144 | </html> |
229 | \ No newline at end of file | 145 | \ No newline at end of file |
WebRoot/afterService/index.html
@@ -107,7 +107,7 @@ | @@ -107,7 +107,7 @@ | ||
107 | switch(type){ | 107 | switch(type){ |
108 | case 0: $(".modal-body").html('<p><a href="document/新东方产品售后维修流程.pdf" target="_blank">新东方产品售后维修流程.pdf</a></p>');break; | 108 | case 0: $(".modal-body").html('<p><a href="document/新东方产品售后维修流程.pdf" target="_blank">新东方产品售后维修流程.pdf</a></p>');break; |
109 | case 1: $(".modal-body").html('<p><a href="document/新东方售后政策&改善说明.pdf" target="_blank">新东方售后政策&改善说明.pdf</a></p>');break; | 109 | case 1: $(".modal-body").html('<p><a href="document/新东方售后政策&改善说明.pdf" target="_blank">新东方售后政策&改善说明.pdf</a></p>');break; |
110 | - case 2: $(".modal-body").html('<p><a href="document/基站-EA1000-常见问题解答(新东方)V1.1-20170922.pdf" target="_blank">基站-EA1000-常见问题解答(新东方)V1.1-20170922.pdf</a></p><p><a href="document/键盘-S52Plus-常见问题解答V1.0(新东方)-20180309.pdf" target="_blank">键盘-S52Plus-常见问题解答V1.0(新东方)-20180309.pdf</a></p><p><a href="document/新东方基站-EA4200W-常见问题解答()V1.0-20170922.pdf" target="_blank">新东方基站-EA4200W-常见问题解答()V1.0-20170922.pdf</a></p>');break; | 110 | + case 2: $(".modal-body").html('<p><a href="document/基站-EA1000-常见问题解答(新东方)V1.1-20170922.pdf" target="_blank">基站-EA1000-常见问题解答(新东方)V1.1-20170922.pdf</a></p><p><a href="document/键盘-S52Plus-常见问题解答V1.0(新东方)-20180716.pdf" target="_blank">键盘-S52Plus-常见问题解答V1.0(新东方)-20180716.pdf</a></p><p><a href="document/新东方基站-EA4200W-常见问题解答()V1.0-20170922.pdf" target="_blank">新东方基站-EA4200W-常见问题解答()V1.0-20170922.pdf</a></p>');break; |
111 | } | 111 | } |
112 | } | 112 | } |
113 | </script> | 113 | </script> |
resources/mybatis1/sunvote/TestPaperMapper.xml
src/com/fh/controller/api/sql.txt
@@ -40,3 +40,17 @@ FROM | @@ -40,3 +40,17 @@ FROM | ||
40 | LEFT JOIN sv_paperquestion ON sv_paper.PAPER_ID = sv_paperquestion.PAPER_ID | 40 | LEFT JOIN sv_paperquestion ON sv_paper.PAPER_ID = sv_paperquestion.PAPER_ID |
41 | LEFT JOIN sv_question ON sv_paperquestion.QUESTION_ID = sv_question.QUESTION_ID; | 41 | LEFT JOIN sv_question ON sv_paperquestion.QUESTION_ID = sv_question.QUESTION_ID; |
42 | 42 | ||
43 | + | ||
44 | +修改试卷答案为某个固定答案 | ||
45 | +需要知道试卷ID | ||
46 | +UPDATE sv_question | ||
47 | +SET answer = 'ABCDEFGHIJ' | ||
48 | +WHERE | ||
49 | + QUESTION_ID IN ( | ||
50 | + SELECT | ||
51 | + QUESTION_ID | ||
52 | + FROM | ||
53 | + sv_paperquestion | ||
54 | + WHERE | ||
55 | + PAPER_ID = 'a659f13d62b9433b87ffb916e97f43bc' | ||
56 | + ); | ||
43 | \ No newline at end of file | 57 | \ No newline at end of file |
src/com/fh/controller/sunvote/paper/PaperController.java
@@ -25,15 +25,14 @@ import com.fh.bean.Question; | @@ -25,15 +25,14 @@ import com.fh.bean.Question; | ||
25 | import com.fh.controller.base.BaseController; | 25 | import com.fh.controller.base.BaseController; |
26 | import com.fh.entity.Page; | 26 | import com.fh.entity.Page; |
27 | import com.fh.entity.system.User; | 27 | import com.fh.entity.system.User; |
28 | +import com.fh.service.api.V1Manager; | ||
29 | +import com.fh.service.sunvote.paper.PaperManager; | ||
30 | +import com.fh.service.sunvote.paperquestion.PaperQuestionManager; | ||
28 | import com.fh.util.AppUtil; | 31 | import com.fh.util.AppUtil; |
29 | import com.fh.util.Const; | 32 | import com.fh.util.Const; |
33 | +import com.fh.util.Jurisdiction; | ||
30 | import com.fh.util.ObjectExcelView; | 34 | import com.fh.util.ObjectExcelView; |
31 | import com.fh.util.PageData; | 35 | import com.fh.util.PageData; |
32 | -import com.fh.util.Jurisdiction; | ||
33 | -import com.fh.util.Tools; | ||
34 | -import com.fh.service.api.V1Manager; | ||
35 | -import com.fh.service.sunvote.paper.PaperManager; | ||
36 | -import com.fh.service.sunvote.paperquestion.PaperQuestionManager; | ||
37 | 36 | ||
38 | /** | 37 | /** |
39 | * 说明:试卷 | 38 | * 说明:试卷 |
@@ -92,7 +91,6 @@ public class PaperController extends BaseController { | @@ -92,7 +91,6 @@ public class PaperController extends BaseController { | ||
92 | @RequestMapping(value="/delete") | 91 | @RequestMapping(value="/delete") |
93 | public void delete(PrintWriter out) throws Exception{ | 92 | public void delete(PrintWriter out) throws Exception{ |
94 | logBefore(logger, Jurisdiction.getUsername()+"删除Paper"); | 93 | logBefore(logger, Jurisdiction.getUsername()+"删除Paper"); |
95 | -// if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限 | ||
96 | PageData pd = new PageData(); | 94 | PageData pd = new PageData(); |
97 | pd = this.getPageData(); | 95 | pd = this.getPageData(); |
98 | String[] ArrayDATA_IDS = new String[]{pd.getString("PAPER_ID")}; | 96 | String[] ArrayDATA_IDS = new String[]{pd.getString("PAPER_ID")}; |
@@ -232,7 +230,6 @@ public class PaperController extends BaseController { | @@ -232,7 +230,6 @@ public class PaperController extends BaseController { | ||
232 | @RequestMapping(value="/npaper") | 230 | @RequestMapping(value="/npaper") |
233 | public ModelAndView newpaper() throws Exception{ | 231 | public ModelAndView newpaper() throws Exception{ |
234 | logBefore(logger, Jurisdiction.getUsername()+"Paper详细信息"); | 232 | logBefore(logger, Jurisdiction.getUsername()+"Paper详细信息"); |
235 | - //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) | ||
236 | ModelAndView mv = this.getModelAndView(); | 233 | ModelAndView mv = this.getModelAndView(); |
237 | PageData pd = new PageData(); | 234 | PageData pd = new PageData(); |
238 | pd = this.getPageData(); | 235 | pd = this.getPageData(); |
src/com/fh/controller/system/login/LoginController.java
@@ -75,16 +75,17 @@ public class LoginController extends BaseController { | @@ -75,16 +75,17 @@ public class LoginController extends BaseController { | ||
75 | private FHlogManager FHLOG; | 75 | private FHlogManager FHLOG; |
76 | @Resource(name = "loginimgService") | 76 | @Resource(name = "loginimgService") |
77 | private LogInImgManager loginimgService; | 77 | private LogInImgManager loginimgService; |
78 | - @Resource(name="teacherService") | 78 | + @Resource(name = "teacherService") |
79 | private TeacherManager teacherService; | 79 | private TeacherManager teacherService; |
80 | - @Resource(name="schoolService") | 80 | + @Resource(name = "schoolService") |
81 | private SchoolManager schoolService; | 81 | private SchoolManager schoolService; |
82 | - | 82 | + |
83 | @Resource(name = "v1Service") | 83 | @Resource(name = "v1Service") |
84 | - private V1Manager v1Service ; | 84 | + private V1Manager v1Service; |
85 | 85 | ||
86 | - @Resource(name="eventService") | 86 | + @Resource(name = "eventService") |
87 | private EventManager eventService; | 87 | private EventManager eventService; |
88 | + | ||
88 | /** | 89 | /** |
89 | * 访问登录页 | 90 | * 访问登录页 |
90 | * | 91 | * |
@@ -138,18 +139,19 @@ public class LoginController extends BaseController { | @@ -138,18 +139,19 @@ public class LoginController extends BaseController { | ||
138 | user.setNAME(pd.getString("NAME")); | 139 | user.setNAME(pd.getString("NAME")); |
139 | user.setRIGHTS(pd.getString("RIGHTS")); | 140 | user.setRIGHTS(pd.getString("RIGHTS")); |
140 | user.setROLE_ID(pd.getString("ROLE_ID")); | 141 | user.setROLE_ID(pd.getString("ROLE_ID")); |
141 | - | 142 | + |
142 | PageData eventPd = new PageData(); | 143 | PageData eventPd = new PageData(); |
143 | eventPd.put("EVENT_ID", get32UUID()); | 144 | eventPd.put("EVENT_ID", get32UUID()); |
144 | eventPd.put("EVENT_NAME", "login"); | 145 | eventPd.put("EVENT_NAME", "login"); |
145 | eventPd.put("EVENT_USER", pd.getString("USER_ID")); | 146 | eventPd.put("EVENT_USER", pd.getString("USER_ID")); |
146 | eventPd.put("EVENT_TYPE", "0"); | 147 | eventPd.put("EVENT_TYPE", "0"); |
147 | - eventPd.put("EVENT_START_TIME",Tools.date2Str(new Date())); | 148 | + eventPd.put("EVENT_START_TIME", Tools.date2Str(new Date())); |
148 | eventPd.put("CLIENT_ID", "SERVER"); | 149 | eventPd.put("CLIENT_ID", "SERVER"); |
149 | - eventPd.put("EVENT_IP",pd.getString("IP")); | 150 | + eventPd.put("EVENT_IP", pd.getString("IP")); |
150 | eventService.save(eventPd); | 151 | eventService.save(eventPd); |
151 | - | ||
152 | - if("57bb1e6f138247a0b05cc721a5da1b64".equals(pd.getString("ROLE_ID"))){ | 152 | + |
153 | + if ("57bb1e6f138247a0b05cc721a5da1b64".equals(pd | ||
154 | + .getString("ROLE_ID"))) { | ||
153 | map.put("teacher", pd.getString("RIGHTS")); | 155 | map.put("teacher", pd.getString("RIGHTS")); |
154 | } | 156 | } |
155 | user.setLAST_LOGIN(pd.getString("LAST_LOGIN")); | 157 | user.setLAST_LOGIN(pd.getString("LAST_LOGIN")); |
@@ -194,9 +196,9 @@ public class LoginController extends BaseController { | @@ -194,9 +196,9 @@ public class LoginController extends BaseController { | ||
194 | ModelAndView mv = this.getModelAndView(); | 196 | ModelAndView mv = this.getModelAndView(); |
195 | PageData pd = new PageData(); | 197 | PageData pd = new PageData(); |
196 | pd = this.getPageData(); | 198 | pd = this.getPageData(); |
197 | - | ||
198 | try { | 199 | try { |
199 | Session session = Jurisdiction.getSession(); | 200 | Session session = Jurisdiction.getSession(); |
201 | + | ||
200 | User user = (User) session.getAttribute(Const.SESSION_USER); // 读取session中的用户信息(单独用户信息) | 202 | User user = (User) session.getAttribute(Const.SESSION_USER); // 读取session中的用户信息(单独用户信息) |
201 | if (user != null) { | 203 | if (user != null) { |
202 | User userr = (User) session.getAttribute(Const.SESSION_USERROL); // 读取session中的用户信息(含角色信息) | 204 | User userr = (User) session.getAttribute(Const.SESSION_USERROL); // 读取session中的用户信息(含角色信息) |
@@ -207,30 +209,7 @@ public class LoginController extends BaseController { | @@ -207,30 +209,7 @@ public class LoginController extends BaseController { | ||
207 | user = userr; | 209 | user = userr; |
208 | } | 210 | } |
209 | String USERNAME = user.getUSERNAME(); | 211 | String USERNAME = user.getUSERNAME(); |
210 | - Role role = user.getRole(); // 获取用户角色 | ||
211 | - String roleRights = role != null ? role.getRIGHTS() : ""; // 角色权限(菜单权限) | ||
212 | - String ROLE_IDS = user.getROLE_IDS(); | ||
213 | - session.setAttribute(USERNAME + Const.SESSION_ROLE_RIGHTS, | ||
214 | - roleRights); // 将角色权限存入session | ||
215 | - session.setAttribute(Const.SESSION_USERNAME, USERNAME); // 放入用户名到session | ||
216 | - this.setAttributeToAllDEPARTMENT_ID(session, USERNAME); // 把用户的组织机构权限放到session里面 | ||
217 | - List<Menu> allmenuList = new ArrayList<Menu>(); | ||
218 | - allmenuList = this.getAttributeMenu(session, USERNAME, | ||
219 | - roleRights, getArrayRoleRights(ROLE_IDS)); // 菜单缓存 | ||
220 | - List<Menu> menuList = new ArrayList<Menu>(); | ||
221 | - if (null == session.getAttribute(USERNAME | ||
222 | - + Const.SESSION_QX)) { | ||
223 | - session.setAttribute(USERNAME + Const.SESSION_QX, | ||
224 | - this.getUQX(USERNAME)); // 主职角色按钮权限放到session中 | ||
225 | - session.setAttribute(USERNAME + Const.SESSION_QX2, | ||
226 | - this.getUQX2(USERNAME)); // 副职角色按钮权限放到session中 | ||
227 | - } | ||
228 | - this.getRemortIP(USERNAME); // 更新登录IP | ||
229 | - menuList = this.changeMenuF(allmenuList, session, USERNAME, | ||
230 | - changeMenu); // 切换菜单 | ||
231 | - if (!"teacher".equals(changeMenu)) { | ||
232 | - mv.setViewName("system/index/main"); | ||
233 | - } else { | 212 | + if ("teacher".equals(changeMenu)) { |
234 | PageData tpd = new PageData(); | 213 | PageData tpd = new PageData(); |
235 | tpd.put("ID", user.getUSER_ID()); | 214 | tpd.put("ID", user.getUSER_ID()); |
236 | List<PageData> teacherInfos = v1Service.getTeacherInfo(tpd); | 215 | List<PageData> teacherInfos = v1Service.getTeacherInfo(tpd); |
@@ -256,8 +235,36 @@ public class LoginController extends BaseController { | @@ -256,8 +235,36 @@ public class LoginController extends BaseController { | ||
256 | session.setAttribute(USERNAME + Const.TERM_ID, | 235 | session.setAttribute(USERNAME + Const.TERM_ID, |
257 | sData.get("TERM_ID")); | 236 | sData.get("TERM_ID")); |
258 | } | 237 | } |
238 | + session.setAttribute(Const.SESSION_USERNAME, USERNAME); // 放入用户名到session | ||
259 | mv.setViewName("sunvote/teacher/teacher_main"); | 239 | mv.setViewName("sunvote/teacher/teacher_main"); |
240 | + mv.addObject("user", user); | ||
241 | + pd.put("SYSNAME", Tools.readTxtFile(Const.SYSNAME)); // 读取系统名称 | ||
242 | + mv.addObject("pd", pd); | ||
243 | + return mv; | ||
260 | } | 244 | } |
245 | + | ||
246 | + Role role = user.getRole(); // 获取用户角色 | ||
247 | + String roleRights = role != null ? role.getRIGHTS() : ""; // 角色权限(菜单权限) | ||
248 | + String ROLE_IDS = user.getROLE_IDS(); | ||
249 | + session.setAttribute(USERNAME + Const.SESSION_ROLE_RIGHTS, | ||
250 | + roleRights); // 将角色权限存入session | ||
251 | + session.setAttribute(Const.SESSION_USERNAME, USERNAME); // 放入用户名到session | ||
252 | + this.setAttributeToAllDEPARTMENT_ID(session, USERNAME); // 把用户的组织机构权限放到session里面 | ||
253 | + List<Menu> allmenuList = new ArrayList<Menu>(); | ||
254 | + allmenuList = this.getAttributeMenu(session, USERNAME, | ||
255 | + roleRights, getArrayRoleRights(ROLE_IDS)); // 菜单缓存 | ||
256 | + List<Menu> menuList = new ArrayList<Menu>(); | ||
257 | + if (null == session.getAttribute(USERNAME + Const.SESSION_QX)) { | ||
258 | + session.setAttribute(USERNAME + Const.SESSION_QX, | ||
259 | + this.getUQX(USERNAME)); // 主职角色按钮权限放到session中 | ||
260 | + session.setAttribute(USERNAME + Const.SESSION_QX2, | ||
261 | + this.getUQX2(USERNAME)); // 副职角色按钮权限放到session中 | ||
262 | + } | ||
263 | + this.getRemortIP(USERNAME); // 更新登录IP | ||
264 | + menuList = this.changeMenuF(allmenuList, session, USERNAME, | ||
265 | + changeMenu); // 切换菜单 | ||
266 | + mv.setViewName("system/index/main"); | ||
267 | + | ||
261 | mv.addObject("user", user); | 268 | mv.addObject("user", user); |
262 | mv.addObject("menuList", menuList); | 269 | mv.addObject("menuList", menuList); |
263 | } else { | 270 | } else { |
@@ -417,7 +424,7 @@ public class LoginController extends BaseController { | @@ -417,7 +424,7 @@ public class LoginController extends BaseController { | ||
417 | session.removeAttribute("changeMenu"); | 424 | session.removeAttribute("changeMenu"); |
418 | session.setAttribute("changeMenu", "4"); | 425 | session.setAttribute("changeMenu", "4"); |
419 | menuList = menuList4; | 426 | menuList = menuList4; |
420 | - }else if("teacher".equals(changeMenu)){ | 427 | + } else if ("teacher".equals(changeMenu)) { |
421 | session.setAttribute(USERNAME + Const.SESSION_menuList, | 428 | session.setAttribute(USERNAME + Const.SESSION_menuList, |
422 | menuList2); | 429 | menuList2); |
423 | session.removeAttribute("changeMenu"); | 430 | session.removeAttribute("changeMenu"); |
src/com/fh/entity/Page.java
@@ -63,7 +63,7 @@ public class Page { | @@ -63,7 +63,7 @@ public class Page { | ||
63 | if(totalResult>0){ | 63 | if(totalResult>0){ |
64 | sb.append(" <ul class=\"pagination pull-right no-margin\">\n"); | 64 | sb.append(" <ul class=\"pagination pull-right no-margin\">\n"); |
65 | if(currentPage==1){ | 65 | if(currentPage==1){ |
66 | - sb.append(" <li><a>共<font color=red>"+totalResult+"</font>条</a></li>\n"); | 66 | + sb.append(" <li><a>共"+totalResult+"条</a></li>\n"); |
67 | sb.append(" <li><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"页码\"/></li>\n"); | 67 | sb.append(" <li><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"页码\"/></li>\n"); |
68 | sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"toTZ();\" class=\"btn btn-mini btn-success\">跳转</a></li>\n"); | 68 | sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"toTZ();\" class=\"btn btn-mini btn-success\">跳转</a></li>\n"); |
69 | sb.append(" <li><a>首页</a></li>\n"); | 69 | sb.append(" <li><a>首页</a></li>\n"); |
@@ -95,7 +95,7 @@ public class Page { | @@ -95,7 +95,7 @@ public class Page { | ||
95 | sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+totalPage+")\">尾页</a></li>\n"); | 95 | sb.append(" <li style=\"cursor:pointer;\"><a onclick=\"nextPage("+totalPage+")\">尾页</a></li>\n"); |
96 | } | 96 | } |
97 | sb.append(" <li><a>共"+totalPage+"页</a></li>\n"); | 97 | sb.append(" <li><a>共"+totalPage+"页</a></li>\n"); |
98 | - sb.append(" <li><select title='显示条数' style=\"width:55px;float:left;margin-top:1px;\" onchange=\"changeCount(this.value)\">\n"); | 98 | + sb.append(" <li><span class=\"enter\"><select title='显示条数' style=\"width:55px;float:left;height:32px;margin-top:1px;\" onchange=\"changeCount(this.value)\">\n"); |
99 | sb.append(" <option value='"+showCount+"'>"+showCount+"</option>\n"); | 99 | sb.append(" <option value='"+showCount+"'>"+showCount+"</option>\n"); |
100 | sb.append(" <option value='10'>10</option>\n"); | 100 | sb.append(" <option value='10'>10</option>\n"); |
101 | sb.append(" <option value='20'>20</option>\n"); | 101 | sb.append(" <option value='20'>20</option>\n"); |
@@ -107,7 +107,7 @@ public class Page { | @@ -107,7 +107,7 @@ public class Page { | ||
107 | sb.append(" <option value='80'>80</option>\n"); | 107 | sb.append(" <option value='80'>80</option>\n"); |
108 | sb.append(" <option value='90'>90</option>\n"); | 108 | sb.append(" <option value='90'>90</option>\n"); |
109 | sb.append(" <option value='99'>99</option>\n"); | 109 | sb.append(" <option value='99'>99</option>\n"); |
110 | - sb.append(" </select>\n"); | 110 | + sb.append(" </select></span>\n"); |
111 | sb.append(" </li>\n"); | 111 | sb.append(" </li>\n"); |
112 | 112 | ||
113 | sb.append("</ul>\n"); | 113 | sb.append("</ul>\n"); |
@@ -115,7 +115,7 @@ public class Page { | @@ -115,7 +115,7 @@ public class Page { | ||
115 | 115 | ||
116 | //换页函数 | 116 | //换页函数 |
117 | sb.append("function nextPage(page){"); | 117 | sb.append("function nextPage(page){"); |
118 | - sb.append(" top.jzts();"); | 118 | + sb.append("\n if(top && top.jzts)\n{\n top.jzts();\n}\n"); |
119 | sb.append(" if(true && document.forms[0]){\n"); | 119 | sb.append(" if(true && document.forms[0]){\n"); |
120 | sb.append(" var url = document.forms[0].getAttribute(\"action\");\n"); | 120 | sb.append(" var url = document.forms[0].getAttribute(\"action\");\n"); |
121 | sb.append(" if(url.indexOf('?')>-1){url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n"); | 121 | sb.append(" if(url.indexOf('?')>-1){url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n"); |
@@ -140,7 +140,7 @@ public class Page { | @@ -140,7 +140,7 @@ public class Page { | ||
140 | 140 | ||
141 | //调整每页显示条数 | 141 | //调整每页显示条数 |
142 | sb.append("function changeCount(value){"); | 142 | sb.append("function changeCount(value){"); |
143 | - sb.append(" top.jzts();"); | 143 | + sb.append(" \n if(top && top.jzts)\n{\n top.jzts();\n}\n"); |
144 | sb.append(" if(true && document.forms[0]){\n"); | 144 | sb.append(" if(true && document.forms[0]){\n"); |
145 | sb.append(" var url = document.forms[0].getAttribute(\"action\");\n"); | 145 | sb.append(" var url = document.forms[0].getAttribute(\"action\");\n"); |
146 | sb.append(" if(url.indexOf('?')>-1){url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n"); | 146 | sb.append(" if(url.indexOf('?')>-1){url += \"&"+(entityOrField?"currentPage":"page.currentPage")+"=\";}\n"); |
src/com/fh/interceptor/LoginHandlerInterceptor.java
@@ -18,7 +18,7 @@ public class LoginHandlerInterceptor extends HandlerInterceptorAdapter{ | @@ -18,7 +18,7 @@ public class LoginHandlerInterceptor extends HandlerInterceptorAdapter{ | ||
18 | User user = (User)Jurisdiction.getSession().getAttribute(Const.SESSION_USER); | 18 | User user = (User)Jurisdiction.getSession().getAttribute(Const.SESSION_USER); |
19 | if(user!=null){ | 19 | if(user!=null){ |
20 | path = path.substring(1, path.length()); | 20 | path = path.substring(1, path.length()); |
21 | - boolean b = Jurisdiction.hasJurisdiction(path); //访问权限校验 | 21 | + boolean b = true;//Jurisdiction.hasJurisdiction(path); //访问权限校验 |
22 | if(!b){ | 22 | if(!b){ |
23 | response.sendRedirect(request.getContextPath() + Const.LOGIN); | 23 | response.sendRedirect(request.getContextPath() + Const.LOGIN); |
24 | } | 24 | } |