Commit b5cf92b7abfd93c905d660a0b1db0b52e795a073
1 parent
9452be31
批量上传学生名单
添加高斯反馈
Showing
29 changed files
with
296 additions
and
257 deletions
WebRoot/WEB-INF/jsp/sunvote/classroster/classroster_list.jsp
... | ... | @@ -34,22 +34,13 @@ |
34 | 34 | <form action="classroster/list.do" method="post" name="Form" id="Form"> |
35 | 35 | <table style="margin-top:5px;"> |
36 | 36 | <tr> |
37 | - <td> | |
38 | - <div class="nav-search"> | |
39 | - <span class="input-icon"> | |
40 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
41 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | |
42 | - </span> | |
43 | - </div> | |
44 | - </td> | |
45 | - <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> | |
46 | - <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> | |
47 | 37 | <td style="vertical-align:top;padding-left:2px;"> |
48 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
38 | + <select class="chosen-select form-control" name="SCLASS_ID" id="SCLASS_ID" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
49 | 39 | <option value=""></option> |
50 | 40 | <option value="">全部</option> |
51 | - <option value="">1</option> | |
52 | - <option value="">2</option> | |
41 | + <c:forEach var="item" items="${classList}"> | |
42 | + <option value="${item.ID}" >${item.CLASS_NAME}</option> | |
43 | + </c:forEach> | |
53 | 44 | </select> |
54 | 45 | </td> |
55 | 46 | <c:if test="${QX.cha == 1 }"> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/classtype/classtype_list.jsp
... | ... | @@ -33,27 +33,6 @@ |
33 | 33 | <form action="classtype/list.do" method="post" name="Form" id="Form"> |
34 | 34 | <table style="margin-top:5px;"> |
35 | 35 | <tr> |
36 | - <td> | |
37 | - <div class="nav-search"> | |
38 | - <span class="input-icon"> | |
39 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
40 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | |
41 | - </span> | |
42 | - </div> | |
43 | - </td> | |
44 | - <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> | |
45 | - <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> | |
46 | - <td style="vertical-align:top;padding-left:2px;"> | |
47 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
48 | - <option value=""></option> | |
49 | - <option value="">全部</option> | |
50 | - <option value="">1</option> | |
51 | - <option value="">2</option> | |
52 | - </select> | |
53 | - </td> | |
54 | - <c:if test="${QX.cha == 1 }"> | |
55 | - <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> | |
56 | - </c:if> | |
57 | 36 | <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> |
58 | 37 | </tr> |
59 | 38 | </table> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/grade/grade_list.jsp
... | ... | @@ -33,27 +33,6 @@ |
33 | 33 | <form action="grade/list.do" method="post" name="Form" id="Form"> |
34 | 34 | <table style="margin-top:5px;"> |
35 | 35 | <tr> |
36 | - <td> | |
37 | - <div class="nav-search"> | |
38 | - <span class="input-icon"> | |
39 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
40 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | |
41 | - </span> | |
42 | - </div> | |
43 | - </td> | |
44 | - <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> | |
45 | - <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> | |
46 | - <td style="vertical-align:top;padding-left:2px;"> | |
47 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
48 | - <option value=""></option> | |
49 | - <option value="">全部</option> | |
50 | - <option value="">1</option> | |
51 | - <option value="">2</option> | |
52 | - </select> | |
53 | - </td> | |
54 | - <c:if test="${QX.cha == 1 }"> | |
55 | - <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> | |
56 | - </c:if> | |
57 | 36 | <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> |
58 | 37 | </tr> |
59 | 38 | </table> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/school/school_list.jsp
... | ... | @@ -33,27 +33,6 @@ |
33 | 33 | <form action="school/list.do" method="post" name="Form" id="Form"> |
34 | 34 | <table style="margin-top:5px;"> |
35 | 35 | <tr> |
36 | - <td> | |
37 | - <div class="nav-search"> | |
38 | - <span class="input-icon"> | |
39 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
40 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | |
41 | - </span> | |
42 | - </div> | |
43 | - </td> | |
44 | - <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> | |
45 | - <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> | |
46 | - <td style="vertical-align:top;padding-left:2px;"> | |
47 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
48 | - <option value=""></option> | |
49 | - <option value="">全部</option> | |
50 | - <option value="">1</option> | |
51 | - <option value="">2</option> | |
52 | - </select> | |
53 | - </td> | |
54 | - <c:if test="${QX.cha == 1 }"> | |
55 | - <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> | |
56 | - </c:if> | |
57 | 36 | <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> |
58 | 37 | </tr> |
59 | 38 | </table> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/sclass/sclass_list.jsp
... | ... | @@ -35,22 +35,31 @@ |
35 | 35 | <form action="sclass/list.do" method="post" name="Form" id="Form"> |
36 | 36 | <table style="margin-top:5px;"> |
37 | 37 | <tr> |
38 | - <td> | |
39 | - <div class="nav-search"> | |
40 | - <span class="input-icon"> | |
41 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
42 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | |
43 | - </span> | |
44 | - </div> | |
38 | + <td style="vertical-align:top;padding-left:2px;"> | |
39 | + <select class="chosen-select form-control" name="SCHOOL_ID" id="SCHOOL_ID" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
40 | + <option value=""></option> | |
41 | + <option value="">全部</option> | |
42 | + <c:forEach var="item" items="${schools}"> | |
43 | + <option value="${item.ID}" >${item.NAME}</option> | |
44 | + </c:forEach> | |
45 | + </select> | |
46 | + </td> | |
47 | + <td style="vertical-align:top;padding-left:2px;"> | |
48 | + <select class="chosen-select form-control" name="GRADE_ID" id="GRADE_ID" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
49 | + <option value=""></option> | |
50 | + <option value="">全部</option> | |
51 | + <c:forEach var="item" items="${grades}"> | |
52 | + <option value="${item.ID}">${item.NAME}</option> | |
53 | + </c:forEach> | |
54 | + </select> | |
45 | 55 | </td> |
46 | - <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> | |
47 | - <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> | |
48 | 56 | <td style="vertical-align:top;padding-left:2px;"> |
49 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
57 | + <select class="chosen-select form-control" name="CLASS_TYPE" id="CLASS_TYPE" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
50 | 58 | <option value=""></option> |
51 | 59 | <option value="">全部</option> |
52 | - <option value="">1</option> | |
53 | - <option value="">2</option> | |
60 | + <c:forEach var="item" items="${classTypes}"> | |
61 | + <option value="${item.ID}">${item.NAME}</option> | |
62 | + </c:forEach> | |
54 | 63 | </select> |
55 | 64 | </td> |
56 | 65 | <c:if test="${QX.cha == 1 }"> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/student/student_list.jsp
... | ... | @@ -41,16 +41,7 @@ |
41 | 41 | </span> |
42 | 42 | </div> |
43 | 43 | </td> |
44 | - <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> | |
45 | - <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> | |
46 | - <td style="vertical-align:top;padding-left:2px;"> | |
47 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
48 | - <option value=""></option> | |
49 | - <option value="">全部</option> | |
50 | - <option value="">1</option> | |
51 | - <option value="">2</option> | |
52 | - </select> | |
53 | - </td> | |
44 | + | |
54 | 45 | <c:if test="${QX.cha == 1 }"> |
55 | 46 | <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> |
56 | 47 | </c:if> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/student/student_list2.jsp
... | ... | @@ -102,6 +102,7 @@ |
102 | 102 | <tr> |
103 | 103 | <td style="vertical-align:top;"> |
104 | 104 | <a class="btn btn-mini btn-success" onclick="add();">新增</a> |
105 | + <a class="btn btn-mini btn-success" onclick="upload();">批量上传</a> | |
105 | 106 | <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a> |
106 | 107 | </td> |
107 | 108 | <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td> |
... | ... | @@ -220,6 +221,28 @@ |
220 | 221 | diag.show(); |
221 | 222 | } |
222 | 223 | |
224 | + function upload(){ | |
225 | + top.jzts(); | |
226 | + var diag = new top.Dialog(); | |
227 | + diag.Drag=true; | |
228 | + diag.Title ="EXCEL导入学生名单"; | |
229 | + diag.URL = '<%=basePath%>student/goUploadExcel.do?class_id=${pd.CLASS_ID}&term_id=${pd.TERM_ID}'; | |
230 | + diag.Width = 300; | |
231 | + diag.Height = 150; | |
232 | + diag.CancelEvent = function(){ //关闭事件 | |
233 | + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){ | |
234 | + if('${page.currentPage}' == '0'){ | |
235 | + top.jzts(); | |
236 | + setTimeout("self.location.reload()",100); | |
237 | + }else{ | |
238 | + nextPage(${page.currentPage}); | |
239 | + } | |
240 | + } | |
241 | + diag.close(); | |
242 | + }; | |
243 | + diag.show(); | |
244 | + } | |
245 | + | |
223 | 246 | //删除 |
224 | 247 | function del(Id){ |
225 | 248 | bootbox.confirm("确定要删除吗?", function(result) { | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/subject/subject_list.jsp
... | ... | @@ -33,27 +33,7 @@ |
33 | 33 | <form action="subject/list.do" method="post" name="Form" id="Form"> |
34 | 34 | <table style="margin-top:5px;"> |
35 | 35 | <tr> |
36 | - <td> | |
37 | - <div class="nav-search"> | |
38 | - <span class="input-icon"> | |
39 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
40 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | |
41 | - </span> | |
42 | - </div> | |
43 | - </td> | |
44 | - <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> | |
45 | - <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> | |
46 | - <td style="vertical-align:top;padding-left:2px;"> | |
47 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
48 | - <option value=""></option> | |
49 | - <option value="">全部</option> | |
50 | - <option value="">1</option> | |
51 | - <option value="">2</option> | |
52 | - </select> | |
53 | - </td> | |
54 | - <c:if test="${QX.cha == 1 }"> | |
55 | - <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> | |
56 | - </c:if> | |
36 | + | |
57 | 37 | <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> |
58 | 38 | </tr> |
59 | 39 | </table> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_list.jsp
... | ... | @@ -34,22 +34,13 @@ |
34 | 34 | <form action="teacher/list.do" method="post" name="Form" id="Form"> |
35 | 35 | <table style="margin-top:5px;"> |
36 | 36 | <tr> |
37 | - <td> | |
38 | - <div class="nav-search"> | |
39 | - <span class="input-icon"> | |
40 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
41 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | |
42 | - </span> | |
43 | - </div> | |
44 | - </td> | |
45 | - <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> | |
46 | - <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> | |
47 | - <td style="vertical-align:top;padding-left:2px;"> | |
48 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
37 | + <td style="vertical-align:top;padding-left:2px;"> | |
38 | + <select class="chosen-select form-control" name="SCHOOL_ID" id="SCHOOL_ID" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
49 | 39 | <option value=""></option> |
50 | 40 | <option value="">全部</option> |
51 | - <option value="">1</option> | |
52 | - <option value="">2</option> | |
41 | + <c:forEach var="item" items="${schools}"> | |
42 | + <option value="${item.ID}" <c:if test="${pd.SCHOOL_ID==item.ID}">selected="true"</c:if>>${item.NAME}</option> | |
43 | + </c:forEach> | |
53 | 44 | </select> |
54 | 45 | </td> |
55 | 46 | <c:if test="${QX.cha == 1 }"> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_main.jsp
... | ... | @@ -94,7 +94,7 @@ |
94 | 94 | </div> |
95 | 95 | <c:forEach items="${pd.TEACHER}" var="var" varStatus="vs"> |
96 | 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></p> | |
97 | + <p><a href="javascript:chooseClass('${var.CLASS_ID}','${var.TERM_ID}');">${var.GRADE_NAME}${var.SUBJECT_NAME} <span>${var.CLASS_NAME}</span></a></p> | |
98 | 98 | </div> |
99 | 99 | </c:forEach> |
100 | 100 | <div class="test">测验</div> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/teachingmaterial/teachingmaterial_list.jsp
... | ... | @@ -34,27 +34,6 @@ |
34 | 34 | <form action="teachingmaterial/list.do" method="post" name="Form" id="Form"> |
35 | 35 | <table style="margin-top:5px;"> |
36 | 36 | <tr> |
37 | - <td> | |
38 | - <div class="nav-search"> | |
39 | - <span class="input-icon"> | |
40 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
41 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | |
42 | - </span> | |
43 | - </div> | |
44 | - </td> | |
45 | - <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> | |
46 | - <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> | |
47 | - <td style="vertical-align:top;padding-left:2px;"> | |
48 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
49 | - <option value=""></option> | |
50 | - <option value="">全部</option> | |
51 | - <option value="">1</option> | |
52 | - <option value="">2</option> | |
53 | - </select> | |
54 | - </td> | |
55 | - <c:if test="${QX.cha == 1 }"> | |
56 | - <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> | |
57 | - </c:if> | |
58 | 37 | <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> |
59 | 38 | </tr> |
60 | 39 | </table> | ... | ... |
WebRoot/afterService/gsdt_info.html
... | ... | @@ -35,16 +35,16 @@ |
35 | 35 | <label ><span class="red">*</span>校区名称:</label> |
36 | 36 | <div class="control-group xq"> |
37 | 37 | <div class="controls col-md-6" style="padding-left:0;"> |
38 | - <select id="province" class="form-control"> | |
38 | + <!-- <select id="province" class="form-control"> | |
39 | 39 | <option value="请选择"></option> |
40 | - </select> | |
41 | - | |
40 | + </select> --> | |
41 | + <input type="text" class="form-control" id="province" placeholder=""> | |
42 | 42 | </div> |
43 | - <div class="controls col-md-6" style="padding-right:0;"> | |
43 | + <!-- <div class="controls col-md-6" style="padding-right:0;"> | |
44 | 44 | <select id="city" class="form-control"> |
45 | 45 | <option value="请选择">请选择</option> |
46 | 46 | </select> |
47 | - </div> | |
47 | + </div> --> | |
48 | 48 | </div> |
49 | 49 | |
50 | 50 | </div> |
... | ... | @@ -125,67 +125,48 @@ |
125 | 125 | <div class="rightBox"> |
126 | 126 | <div class="qaList"> |
127 | 127 | <div class="list_top"> |
128 | - <img src="images/dt_q1.png" width="100%"/> | |
129 | - <img src="images/dt_q1.png" width="100%"/> | |
130 | - <h4><span class="k"></span>R-接收标志</h4> | |
131 | - <p>键盘接收到基站发送的指令时显示。用于判断键盘是否进入反馈状态。</p> | |
132 | - <h4><span class="k"></span>T-发送标志</h4> | |
133 | - <p>键盘提交数据给基站时显示,用于判断键盘是否发送了数据。</p> | |
134 | - <h4><span class="k"></span>OK-发送成功标志</h4> | |
135 | - <p>基站收到键盘发送的数据时显示,用于判断键盘数据是否发送成功。</p> | |
128 | + | |
136 | 129 | </div> |
137 | 130 | <div class="list_content"> |
138 | 131 | <li> |
139 | 132 | <p class="q_title">问题现象1:无法开机</p> |
140 | - <p>可能键盘没有电导致,更换电池后再次尝试是否可以开机。若更换电池后仍无法开机,请联系技术支持。</p> | |
133 | + <p>可能答题器没有电导致,更换电池后再次尝试是否可以开机。若更换电池后仍无法开机,请联系技术支持。</p> | |
141 | 134 | </li> |
142 | 135 | <li> |
143 | 136 | <p class="q_title">问题现象2:无信号</p> |
144 | - <p>确认基站连接成功后,键盘仍显示无信号,可能是未进行配对导致。使用配对工具SunVote Match Tool V1.0.0.1配对后再尝试。开启配对后,S52Plus同时按住配对键“”和“”,直到键盘屏幕上有数字滚动。若无法配对,请参考问题“5.为什么答题器无法与基站配对成功”</p> | |
137 | + <p>确认基站连接成功后,答题器仍显示未连接,可能是未与基站绑定导致。请尝试重新绑定。”</p> | |
145 | 138 | |
146 | 139 | </li> |
147 | 140 | <li> |
148 | - <p class="q_title">问题现象3:有信号,无法进入反馈(不显示R)</p> | |
149 | - <p>① 所有键盘无法进入反馈,可能是基站未开始反馈。确保基站连接成功,并且已经进入答题状态。</p> | |
150 | - <p>② 个别键盘无法进入反馈,可能是受到其他基站干扰。确保周围没有相邻频点基站或免配对基站正在使用。可把当前基站拔了,确认答题器上是否仍然有信号,如果有信号,可确认该答题器与其他基站匹配了。可将该答题器与基站重新配对。</p> | |
141 | + <p class="q_title">问题现象3:为什么我的答题按A(或其他键)显示已发送,再按其他按键无反应 </p> | |
142 | + <p>可能是由于信号不好导致按键值未传成功。干扰信号的因素:2.4G 设备,信号屏蔽仪, 同频点或免配对基站,人或其他物体的阻挡。避免信号干扰的方法如下: </p> | |
143 | + <p>① 确保附近没有其他基站干扰,排除同频点及开启免赔对基站的干扰。 </p> | |
144 | + <p>② 确保答题器和基站之间没有障碍物阻挡,基站尽量放高,禁止放在铁制盒子/柜子中。</p> | |
145 | + <p>③ 确保未开启信号屏蔽 </p> | |
146 | + <p>④ 选择合适的工作频点,与周围的正在使用的基站频点尽可能隔开 4 个频点(经验值)。 </p> | |
147 | + <p>若排除以上因素,可以让学生原地晃动下答题器,尝试是否可以提交。 </p> | |
148 | + <p>❖ 同频点的干扰可以通过基站的指示灯排查,再无答题数据上传时,基站 2 个灯闪烁, 即表示当前有相同频点的干扰,请更改当前基站的频点 </p> | |
151 | 149 | |
152 | 150 | </li> |
153 | 151 | <li> |
154 | - <p class="q_title">问题现象4:进入反馈(显示R),无法提交(不显示OK),或提交慢</p> | |
155 | - <p>可能是由于信号不好导致,干扰信号的因素:2.4G设备,信号屏蔽仪,同频点或免配对基站,人或其他物体的阻挡。避免信号干扰的方法如下:</p> | |
156 | - <p>① 确保附近没有其他基站干扰</p> | |
157 | - <p>② 确保键盘和基站之间没有障碍物阻挡</p> | |
158 | - <p>③ 确保未开启信号屏蔽议</p> | |
159 | - <p>④ 尝试更换频道,一般情况下频道1和7效果会较好。</p> | |
160 | - <p> 可能是按键磨损导致按键不灵。观察按键上的文字是否脱落,是否能看到答题器的线路板(示例如下)。如果确定按键有磨损,可将异常产品数量统计,并联系厂家技术支持安排售后处理。</p> | |
161 | - <img src="images/dt_q3.png" width="30%" /> | |
152 | + <p class="q_title">问题现象4:什么情况下耗电快?</p> | |
153 | + <p>❖ 离线开机 离线开机时,答题器需要搜索基站,无线模块一直处于发射信号中,耗电比正常工作 时要大很多。 </p> | |
154 | + <p>❖ 保管不当 装有电池的答题器,宜要存放在干燥通风的地方。温差太大或者太潮湿的环境都不 适宜存放</p> | |
162 | 155 | |
163 | 156 | </li> |
164 | 157 | <li> |
165 | - <p class="q_title">问题现象5:为什么键盘有时需按Send键提交,有时候自动提交?</p> | |
166 | - <p>基站的提交模式决定</p> | |
167 | - <p>基站支持自动提交和按键提交两种提交模式,设置成自动提交时,单选、判断输入选项后即可自动提交。多选、排序、数字类型的题目,不支持自动提交模式,需要按Send键提交。出厂默认为自动提交模式。</p> | |
158 | + <p class="q_title">问题现象5:为什么只用了几天,电量就显示只有1格/空格? </p> | |
159 | + <p>❖ 答题器离线时,由于功率较大,因此电量显示会被拉低。因此请插上基站后,答题器 显示已连接后,等待1分钟左右,再观察电量情况。以此时的电量为准。 </p> | |
160 | + <p>❖ 若答题器屏幕显示Low battery,则无论是在离线或者在线,都需要更换电池。 </p> | |
168 | 161 | </li> |
169 | 162 | <li> |
170 | - <p class="q_title">问题现象6:什么情况下耗电快?</p> | |
171 | - <p>离线开机</p> | |
172 | - <p>离线开机时,键盘需要搜索基站,无线模块一直处于发射信号中,耗电比正常工作时要大很多。</p> | |
173 | - <p>保管不当</p> | |
174 | - <p>装有电池的键盘,宜要存放在干燥通风的地方。温差太大或者太潮湿的环境都不适宜存放。</p> | |
163 | + <p class="q_title">问题现象6:如何单独保管电池?</p> | |
164 | + <p>❖ 电池单独存放时,须存放在厂家发货的托盘中,禁止堆积存放,否则放电极快造成电 池发热,甚至可能会引起电池破裂或起火的危险 。 </p> | |
165 | + <p>❖ 电池宜存放在阴凉通风的地方,禁止在太阳下暴晒。温差太大或者太潮湿的环境都 不适宜存放。</p> | |
175 | 166 | </li> |
176 | 167 | <li> |
177 | - <p class="q_title">问题现象7:如何单独保管电池?</p> | |
178 | - <p>电池单独存放时,须存放在厂家发货的托盘中,禁止堆积存放,否则放电极快造成电池发热,甚至可能会引起电池破裂或起火的危险 。</p> | |
179 | - <p>电池宜存放在阴凉通风的地方,禁止在太阳下暴晒。温差太大或者太潮湿的环境都不适宜存放。</p> | |
180 | - </li> | |
181 | - <li> | |
182 | - <p class="q_title">问题现象8:为什么答题器无法与基站配对成功?</p> | |
183 | - <p>在确认配对工具版本(SunVote Match Tool V1.0.0.1)正常,且其他答题器可正常配对的情况下,可能是由于基站和答题器的频点范围不一致造成的。基站是80个频点的版本,答题器是32个频点的版本。基站的频点设置超过了32,因此答题器无法与基站匹配。</p> | |
184 | - <p>如何确认这个问题:</p> | |
185 | - <p>① 检查基站的频点是否超过了32</p> | |
186 | - <p>② 检查答题器配对时,是否频点数字跳动到32后,就再次重1开始。</p> | |
187 | - <p>如果确定是由于该原因导致,可以将旧版本的答题器发回升级。或者将基站的频点更改为32以内范围。</p> | |
188 | - <p>排除频点范围的原因,可用多只答题器作对比测试,同样的基站,同样的软件,同时操作,仅特定的某只答题器无法配对,可能是答题的版本</p> | |
168 | + <p class="q_title">问题现象7:如何选择电池品牌? </p> | |
169 | + <p>❖ S56适配的电池型号是CR2032,在超市或者网上都可以购买。选择电池品牌时,尽 量选择大品牌的电池。推荐使用进口松下电池。 </p> | |
189 | 170 | </li> |
190 | 171 | </div> |
191 | 172 | |
... | ... | @@ -218,13 +199,13 @@ |
218 | 199 | require(['city.select'], function ($) { |
219 | 200 | $(function () { |
220 | 201 | |
221 | - $('#province, #city').citylist({ | |
202 | + /* $('#province, #city').citylist({ | |
222 | 203 | data : data, |
223 | 204 | id : 'id', |
224 | 205 | children: 'cities', |
225 | 206 | name : 'name', |
226 | 207 | metaTag : 'name' |
227 | - }); | |
208 | + }); */ | |
228 | 209 | |
229 | 210 | $('#all').citylist({ |
230 | 211 | data : data, |
... | ... | @@ -255,7 +236,7 @@ |
255 | 236 | |
256 | 237 | //$("#model").html(model); |
257 | 238 | switch(model){ |
258 | - case "dtq":$("#model_pic").attr("src","images/u30.png");$(".qaList").css("display","block");break; | |
239 | + case "dtq":$("#model_pic").attr("src","images/gsu30.png");$(".qaList").css("display","block");break; | |
259 | 240 | default:break; |
260 | 241 | } |
261 | 242 | |
... | ... | @@ -330,7 +311,7 @@ |
330 | 311 | |
331 | 312 | var data={ |
332 | 313 | SCHOOL_ADDRESS1:$("#province").val(), |
333 | - SCHOOL_ADDRESS2:$("#city").val(), | |
314 | + /* SCHOOL_ADDRESS2:$("#city").val(), */ | |
334 | 315 | CONTACT_PHONE:$("#name").val(), |
335 | 316 | PHONE_CONTACT:$("#tel").val(), |
336 | 317 | PRODUCT_SEQ:$("#sn").val(), | ... | ... |
WebRoot/afterService/gsindex.html
... | ... | @@ -105,9 +105,9 @@ |
105 | 105 | <script> |
106 | 106 | function down(type){ |
107 | 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">产品售后维修流程</a></p>');break; | |
109 | 109 | case 1: $(".modal-body").html('<p>等待更新</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/答题器-S56-常见问题解答V1.0-20180227(高思定制).pdf" target="_blank">答题器-S56-常见问题解答V1.0-20180227(高思定制)</a></p><p><a href="document/基站-EA1000-常见问题解答V1.0-20170825.pdf" target="_blank">基站-EA1000-常见问题解答V1.0-20170825</a></p>');break; | |
111 | 111 | } |
112 | 112 | } |
113 | 113 | </script> | ... | ... |
WebRoot/afterService/gsinfo.html
... | ... | @@ -35,16 +35,16 @@ |
35 | 35 | <label ><span class="red">*</span>校区名称:</label> |
36 | 36 | <div class="control-group xq"> |
37 | 37 | <div class="controls col-md-6" style="padding-left:0;"> |
38 | - <select id="province" class="form-control"> | |
38 | + <!-- <select id="province" class="form-control"> | |
39 | 39 | <option value="请选择"></option> |
40 | - </select> | |
41 | - | |
40 | + </select> --> | |
41 | + <input type="text" class="form-control" id="province" placeholder=""> | |
42 | 42 | </div> |
43 | - <div class="controls col-md-6" style="padding-right:0;"> | |
43 | + <!-- <div class="controls col-md-6" style="padding-right:0;"> | |
44 | 44 | <select id="city" class="form-control"> |
45 | 45 | <option value="请选择">请选择</option> |
46 | 46 | </select> |
47 | - </div> | |
47 | + </div> --> | |
48 | 48 | </div> |
49 | 49 | |
50 | 50 | </div> |
... | ... | @@ -128,11 +128,8 @@ |
128 | 128 | </li> |
129 | 129 | <li> |
130 | 130 | <p class="q_title">问题现象2:连接指示灯慢闪(1秒一次),软件显示连接断开</p> |
131 | - <p>① 请检查答题系统的版本是否为互动课堂 2.12.1或更高版本。Match Tool的版本是否为1.0.0.1。配对工具手册及下载地址:https://shimo.im/doc/95gSPuzB1zM7bFRc</p> | |
132 | - <p>② 确认基站驱动是否正常,打开设备管理器,驱动正常时,插上基站时 “人体学输入设备”会添加一个“USB输入设备”</p> | |
133 | - <img src="images/ea1000_q1.png" width="30%" /> | |
134 | - <img src="images/ea1000_q2.png" width="30%" /> | |
135 | - <img src="images/ea1000_q3.png" width="30%" /> | |
131 | + <p>慢闪表示基站与电脑已经成功, 请联系软件运维人员检查软件是否正常连接</p> | |
132 | + | |
136 | 133 | </li> |
137 | 134 | <li> |
138 | 135 | <p class="q_title">问题现象3:连接指示灯快闪(1秒多次),软件显示连接断开</p> |
... | ... | @@ -213,13 +210,13 @@ PS:建议老师使用手动连接的方式,不要选择自动连接。</p> |
213 | 210 | require(['city.select'], function ($) { |
214 | 211 | $(function () { |
215 | 212 | |
216 | - $('#province, #city').citylist({ | |
213 | + /* $('#province, #city').citylist({ | |
217 | 214 | data : data, |
218 | 215 | id : 'id', |
219 | 216 | children: 'cities', |
220 | 217 | name : 'name', |
221 | 218 | metaTag : 'name' |
222 | - }); | |
219 | + }); */ | |
223 | 220 | |
224 | 221 | $('#all').citylist({ |
225 | 222 | data : data, |
... | ... | @@ -327,7 +324,7 @@ PS:建议老师使用手动连接的方式,不要选择自动连接。</p> |
327 | 324 | |
328 | 325 | var data={ |
329 | 326 | SCHOOL_ADDRESS1:$("#province").val(), |
330 | - SCHOOL_ADDRESS2:$("#city").val(), | |
327 | + /* SCHOOL_ADDRESS2:$("#city").val(), */ | |
331 | 328 | CONTACT_PHONE:$("#name").val(), |
332 | 329 | PHONE_CONTACT:$("#tel").val(), |
333 | 330 | PRODUCT_SEQ:$("#sn").val(), | ... | ... |
WebRoot/afterService/gsparts2_info.html
... | ... | @@ -35,16 +35,18 @@ |
35 | 35 | <label ><span class="red">*</span>校区名称:</label> |
36 | 36 | <div class="control-group xq"> |
37 | 37 | <div class="controls col-md-6" style="padding-left:0;"> |
38 | - <select id="province" class="form-control"> | |
38 | + <!-- <select id="province" class="form-control"> | |
39 | 39 | <option value="请选择"></option> |
40 | - </select> | |
40 | + </select> --> | |
41 | + | |
42 | + <input type="text" class="form-control" id="province" placeholder=""> | |
41 | 43 | |
42 | 44 | </div> |
43 | - <div class="controls col-md-6" style="padding-right:0;"> | |
45 | + <!-- <div class="controls col-md-6" style="padding-right:0;"> | |
44 | 46 | <select id="city" class="form-control"> |
45 | 47 | <option value="请选择">请选择</option> |
46 | 48 | </select> |
47 | - </div> | |
49 | + </div> --> | |
48 | 50 | </div> |
49 | 51 | |
50 | 52 | </div> |
... | ... | @@ -112,13 +114,13 @@ |
112 | 114 | require(['city.select'], function ($) { |
113 | 115 | $(function () { |
114 | 116 | |
115 | - $('#province, #city').citylist({ | |
117 | + /* $('#province, #city').citylist({ | |
116 | 118 | data : data, |
117 | 119 | id : 'id', |
118 | 120 | children: 'cities', |
119 | 121 | name : 'name', |
120 | 122 | metaTag : 'name' |
121 | - }); | |
123 | + }); */ | |
122 | 124 | |
123 | 125 | $('#all').citylist({ |
124 | 126 | data : data, |
... | ... | @@ -228,7 +230,7 @@ |
228 | 230 | |
229 | 231 | var data={ |
230 | 232 | SCHOOL_ADDRESS1:$("#province").val(), |
231 | - SCHOOL_ADDRESS2:$("#city").val(), | |
233 | + /* SCHOOL_ADDRESS2:$("#city").val(), */ | |
232 | 234 | CONTACT_PHONE:$("#name").val(), |
233 | 235 | PHONE_CONTACT:$("#tel").val(), |
234 | 236 | //PRODUCT_SEQ:$("#sn").val(), | ... | ... |
WebRoot/afterService/gsparts_info.html
... | ... | @@ -35,16 +35,18 @@ |
35 | 35 | <label ><span class="red">*</span>校区名称:</label> |
36 | 36 | <div class="control-group xq"> |
37 | 37 | <div class="controls col-md-6" style="padding-left:0;"> |
38 | - <select id="province" class="form-control"> | |
38 | + <!-- <select id="province" class="form-control"> | |
39 | 39 | <option value="请选择"></option> |
40 | - </select> | |
40 | + </select> --> | |
41 | + | |
42 | + <input type="text" class="form-control" id="province" placeholder=""> | |
41 | 43 | |
42 | 44 | </div> |
43 | - <div class="controls col-md-6" style="padding-right:0;"> | |
45 | + <!-- <div class="controls col-md-6" style="padding-right:0;"> | |
44 | 46 | <select id="city" class="form-control"> |
45 | 47 | <option value="请选择">请选择</option> |
46 | 48 | </select> |
47 | - </div> | |
49 | + </div> --> | |
48 | 50 | </div> |
49 | 51 | |
50 | 52 | </div> |
... | ... | @@ -116,14 +118,14 @@ |
116 | 118 | require(['city.select'], function ($) { |
117 | 119 | $(function () { |
118 | 120 | |
119 | - $('#province, #city').citylist({ | |
121 | + /* $('#province, #city').citylist({ | |
120 | 122 | data : data, |
121 | 123 | id : 'id', |
122 | 124 | children: 'cities', |
123 | 125 | name : 'name', |
124 | 126 | metaTag : 'name' |
125 | 127 | }); |
126 | - | |
128 | + */ | |
127 | 129 | $('#all').citylist({ |
128 | 130 | data : data, |
129 | 131 | id : 'id', |
... | ... | @@ -229,7 +231,7 @@ |
229 | 231 | |
230 | 232 | var data={ |
231 | 233 | SCHOOL_ADDRESS1:$("#province").val(), |
232 | - SCHOOL_ADDRESS2:$("#city").val(), | |
234 | + /* SCHOOL_ADDRESS2:$("#city").val(), */ | |
233 | 235 | CONTACT_PHONE:$("#name").val(), |
234 | 236 | PHONE_CONTACT:$("#tel").val(), |
235 | 237 | //PRODUCT_SEQ:$("#sn").val(), | ... | ... |
resources/mybatis1/api/V1Mapper.xml
resources/mybatis1/sunvote/ClassRosterMapper.xml
... | ... | @@ -38,8 +38,22 @@ |
38 | 38 | <delete id="delete" parameterType="pd"> |
39 | 39 | delete from |
40 | 40 | <include refid="tableName"></include> |
41 | - where | |
42 | - CLASSROSTER_ID = #{CLASSROSTER_ID} | |
41 | + where 1 != 1 | |
42 | + <if test=" CLASSROSTER_ID != null and CLASSROSTER_ID != ''"><!-- 关键词检索 --> | |
43 | + or CLASSROSTER_ID = #{CLASSROSTER_ID} | |
44 | + </if> | |
45 | + | |
46 | + <if test=" SCLASS_ID != null and SCLASS_ID != ''"><!-- 关键词检索 --> | |
47 | + or SCLASS_ID = #{SCLASS_ID} | |
48 | + </if> | |
49 | + | |
50 | + <if test=" STUDENT_ID != null and STUDENT_ID != ''"><!-- 关键词检索 --> | |
51 | + or STUDENT_ID = #{STUDENT_ID} | |
52 | + </if> | |
53 | + <if test=" TEAMID != null and TEAMID != ''"><!-- 关键词检索 --> | |
54 | + or TEAMID = #{TEAMID} | |
55 | + </if> | |
56 | + | |
43 | 57 | </delete> |
44 | 58 | |
45 | 59 | <!-- 修改 --> |
... | ... | @@ -82,6 +96,12 @@ |
82 | 96 | --> |
83 | 97 | ) |
84 | 98 | </if> |
99 | + <if test="pd.SCLASS_ID != null and pd.SCLASS_ID != ''"><!-- 关键词检索 --> | |
100 | + and | |
101 | + ( | |
102 | + SCLASS_ID = #{pd.SCLASS_ID} | |
103 | + ) | |
104 | + </if> | |
85 | 105 | </select> |
86 | 106 | |
87 | 107 | <!-- 列表(全部) --> |
... | ... | @@ -102,6 +122,16 @@ |
102 | 122 | #{item} |
103 | 123 | </foreach> |
104 | 124 | </delete> |
125 | + <!-- 批量删除 --> | |
126 | + <delete id="deleteAllByStudentID" parameterType="String"> | |
127 | + delete from | |
128 | + <include refid="tableName"></include> | |
129 | + where | |
130 | + STUDENT_ID in | |
131 | + <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> | |
132 | + #{item} | |
133 | + </foreach> | |
134 | + </delete> | |
105 | 135 | |
106 | 136 | <!-- fh313596790qq(青苔) --> |
107 | 137 | </mapper> |
108 | 138 | \ No newline at end of file | ... | ... |
resources/mybatis1/sunvote/SClassMapper.xml
... | ... | @@ -39,6 +39,7 @@ |
39 | 39 | CLASS_TYPE, |
40 | 40 | CLASS_NAME, |
41 | 41 | CLASS_CODE, |
42 | + ID, | |
42 | 43 | BASESTATION_ID |
43 | 44 | ) values ( |
44 | 45 | #{SCHOOL_ID}, |
... | ... | @@ -46,6 +47,7 @@ |
46 | 47 | #{CLASS_TYPE}, |
47 | 48 | #{CLASS_NAME}, |
48 | 49 | #{CLASS_CODE}, |
50 | + #{ID}, | |
49 | 51 | #{BASESTATION_ID} |
50 | 52 | ) |
51 | 53 | </insert> |
... | ... | @@ -90,16 +92,16 @@ |
90 | 92 | <include refid="Field"></include> |
91 | 93 | from |
92 | 94 | <include refid="tableName"></include> |
93 | - where 1=1 | |
94 | - <if test="SCHOOL_ID != null and SCHOOL_ID != ''"> | |
95 | - and ( SCHOOL_ID = #{SCHOOL_ID} ) | |
96 | - </if> | |
97 | - <if test="GRADE_ID != null and GRADE_ID != ''"> | |
98 | - and ( GRADE_ID = #{GRADE_ID} ) | |
99 | - </if> | |
100 | - <if test="CLASS_TYPE != null and CLASS_TYPE != ''"> | |
101 | - and ( CLASS_TYPE = #{CLASS_TYPE} ) | |
102 | - </if> | |
95 | + where 1 = 1 | |
96 | + <if test="pd.SCHOOL_ID != null and pd.SCHOOL_ID != ''"> | |
97 | + and ( SCHOOL_ID = #{pd.SCHOOL_ID} ) | |
98 | + </if> | |
99 | + <if test="pd.GRADE_ID != null and pd.GRADE_ID != ''"> | |
100 | + and ( GRADE_ID = #{pd.GRADE_ID} ) | |
101 | + </if> | |
102 | + <if test="pd.CLASS_TYPE != null and pd.CLASS_TYPE != ''"> | |
103 | + and ( CLASS_TYPE = #{pd.CLASS_TYPE} ) | |
104 | + </if> | |
103 | 105 | </select> |
104 | 106 | |
105 | 107 | <!-- 列表(全部) --> | ... | ... |
resources/mybatis1/sunvote/StudentMapper.xml
... | ... | @@ -94,13 +94,21 @@ |
94 | 94 | <if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 --> |
95 | 95 | and |
96 | 96 | ( |
97 | - <!-- 根据需求自己加检索条件 | |
98 | - 字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
97 | + NAME LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
99 | 98 | or |
100 | - 字段2 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
101 | - --> | |
99 | + PARENT_NAME LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
100 | + or | |
101 | + SNO LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
102 | + or | |
103 | + NUMBER LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
104 | + or | |
105 | + PARENT_PHONE LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
106 | + or | |
107 | + KEYPAD_ID LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
102 | 108 | ) |
103 | 109 | </if> |
110 | + | |
111 | + order by sv_student.SNO | |
104 | 112 | </select> |
105 | 113 | |
106 | 114 | <!-- 列表 --> |
... | ... | @@ -128,6 +136,7 @@ |
128 | 136 | <if test="pd.CLASS_ID!= null and pd.CLASS_ID != ''"><!-- 关键词检索 --> |
129 | 137 | AND cr.SCLASS_ID = #{pd.CLASS_ID} |
130 | 138 | </if> |
139 | + order by sv_student.SNO | |
131 | 140 | </select> |
132 | 141 | |
133 | 142 | <!-- 列表(全部) --> |
... | ... | @@ -136,6 +145,8 @@ |
136 | 145 | <include refid="Field"></include> |
137 | 146 | from |
138 | 147 | <include refid="tableName"></include> |
148 | + | |
149 | + order by sv_student.SNO | |
139 | 150 | </select> |
140 | 151 | |
141 | 152 | <!-- 批量删除 --> | ... | ... |
resources/mybatis1/sunvote/TeacherMapper.xml
src/com/fh/controller/api/V1.java
... | ... | @@ -9,7 +9,6 @@ import javax.servlet.http.HttpServletRequest; |
9 | 9 | |
10 | 10 | import org.apache.commons.lang.StringUtils; |
11 | 11 | import org.springframework.stereotype.Controller; |
12 | -import org.springframework.transaction.annotation.Transactional; | |
13 | 12 | import org.springframework.web.bind.annotation.RequestMapping; |
14 | 13 | import org.springframework.web.bind.annotation.ResponseBody; |
15 | 14 | |
... | ... | @@ -156,7 +155,7 @@ public class V1 extends BaseController { |
156 | 155 | if (!pd.containsKey("ACCOUT")) { |
157 | 156 | pd.put("ACCOUT", pd.get("USERNAME")); |
158 | 157 | } |
159 | - if (((pd.containsKey("USERNAME") || pd.containsKey("ACCOUT")) && pd | |
158 | + if (((pd.containsKey("USERNAME") || (pd.containsKey("ACCOUT") && pd.get("ACCOUT") != null)) && pd | |
160 | 159 | .containsKey("PASSWORD")) || pd.containsKey("KEYPAD_ID")) { |
161 | 160 | PageData pageData = teacherService.getUserInfo(pd); |
162 | 161 | if (pageData != null && pageData.getString("ID") != null) { | ... | ... |
src/com/fh/controller/sunvote/classroster/ClassRosterController.java
... | ... | @@ -118,7 +118,8 @@ public class ClassRosterController extends BaseController { |
118 | 118 | pd.put("keywords", keywords.trim()); |
119 | 119 | } |
120 | 120 | page.setPd(pd); |
121 | - | |
121 | + List<PageData> classList = sclassService.listAll(pd); | |
122 | + mv.addObject("classList", classList); | |
122 | 123 | List<PageData> varList = classrosterService.list(page); //列出ClassRoster列表 |
123 | 124 | mv.setViewName("sunvote/classroster/classroster_list"); |
124 | 125 | mv.addObject("varList", varList); | ... | ... |
src/com/fh/controller/sunvote/coursemanagement/CourseManagementController.java
... | ... | @@ -156,7 +156,8 @@ public class CourseManagementController extends BaseController { |
156 | 156 | |
157 | 157 | List<PageData> terms = termService.listAll(pd); |
158 | 158 | mv.addObject("terms", terms); |
159 | - | |
159 | + List<PageData> grades = gradeService.listAll(pd); | |
160 | + mv.addObject("grades", grades); | |
160 | 161 | mv.addObject("msg", "save"); |
161 | 162 | mv.addObject("pd", pd); |
162 | 163 | return mv; |
... | ... | @@ -170,13 +171,13 @@ public class CourseManagementController extends BaseController { |
170 | 171 | public ModelAndView goEdit()throws Exception{ |
171 | 172 | ModelAndView mv = this.getModelAndView(); |
172 | 173 | PageData pd = new PageData(); |
174 | + List<PageData> classs = sclassService.listAll(pd); | |
175 | + mv.addObject("classs",classs); | |
173 | 176 | pd = this.getPageData(); |
174 | 177 | pd = coursemanagementService.findById(pd); //根据ID读取 |
175 | 178 | mv.setViewName("sunvote/coursemanagement/coursemanagement_edit"); |
176 | 179 | List<PageData> teachers = teacherService.listAll(pd); |
177 | 180 | mv.addObject("teachers",teachers); |
178 | - List<PageData> classs = sclassService.listAll(pd); | |
179 | - mv.addObject("classs",classs); | |
180 | 181 | List<PageData> subjects = subjectService.listAll(pd); |
181 | 182 | mv.addObject("subjects", subjects); |
182 | 183 | List<PageData> terms = termService.listAll(pd); | ... | ... |
src/com/fh/controller/sunvote/sclass/SClassController.java
... | ... | @@ -71,6 +71,7 @@ public class SClassController extends BaseController { |
71 | 71 | ModelAndView mv = this.getModelAndView(); |
72 | 72 | PageData pd = new PageData(); |
73 | 73 | pd = this.getPageData(); |
74 | + pd.put("ID", get32UUID()); | |
74 | 75 | sclassService.save(pd); |
75 | 76 | mv.addObject("msg","success"); |
76 | 77 | mv.setViewName("save_result"); |
... | ... | @@ -127,6 +128,14 @@ public class SClassController extends BaseController { |
127 | 128 | page.setPd(pd); |
128 | 129 | mv.setViewName("sunvote/sclass/sclass_list"); |
129 | 130 | List<PageData> varList = sclassService.list(page); //列出SClass列表 |
131 | + List<PageData> schools = schoolService.listAll(pd); | |
132 | + mv.addObject("schools",schools); | |
133 | + List<PageData> basestations = basestationService.listAll(pd); | |
134 | + mv.addObject("basestations",basestations); | |
135 | + List<PageData> grades = gradeService.listAll(pd); | |
136 | + mv.addObject("grades", grades); | |
137 | + List<PageData> classTypes = classtypeService.listAll(pd); | |
138 | + mv.addObject("classTypes", classTypes); | |
130 | 139 | mv.addObject("varList", varList); |
131 | 140 | mv.addObject("pd", pd); |
132 | 141 | mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 | ... | ... |
src/com/fh/controller/sunvote/student/StudentController.java
... | ... | @@ -16,15 +16,21 @@ import org.springframework.stereotype.Controller; |
16 | 16 | import org.springframework.web.bind.WebDataBinder; |
17 | 17 | import org.springframework.web.bind.annotation.InitBinder; |
18 | 18 | import org.springframework.web.bind.annotation.RequestMapping; |
19 | +import org.springframework.web.bind.annotation.RequestParam; | |
19 | 20 | import org.springframework.web.bind.annotation.ResponseBody; |
21 | +import org.springframework.web.multipart.MultipartFile; | |
20 | 22 | import org.springframework.web.servlet.ModelAndView; |
21 | 23 | |
22 | 24 | import com.fh.controller.base.BaseController; |
23 | 25 | import com.fh.entity.Page; |
24 | 26 | import com.fh.util.AppUtil; |
27 | +import com.fh.util.Const; | |
28 | +import com.fh.util.FileUpload; | |
29 | +import com.fh.util.ObjectExcelRead; | |
25 | 30 | import com.fh.util.ObjectExcelView; |
26 | 31 | import com.fh.util.PageData; |
27 | 32 | import com.fh.util.Jurisdiction; |
33 | +import com.fh.util.PathUtil; | |
28 | 34 | import com.fh.util.Tools; |
29 | 35 | import com.fh.service.sunvote.classroster.ClassRosterManager; |
30 | 36 | import com.fh.service.sunvote.student.StudentManager; |
... | ... | @@ -92,6 +98,78 @@ public class StudentController extends BaseController { |
92 | 98 | return mv; |
93 | 99 | } |
94 | 100 | |
101 | + | |
102 | + | |
103 | + /**打开上传EXCEL页面 | |
104 | + * @return | |
105 | + * @throws Exception | |
106 | + */ | |
107 | + @RequestMapping(value="/goUploadExcel") | |
108 | + public ModelAndView goUploadExcel()throws Exception{ | |
109 | + ModelAndView mv = this.getModelAndView(); | |
110 | + mv.addObject("pd", getPageData()); | |
111 | + mv.setViewName("sunvote/student/uploadexcel"); | |
112 | + return mv; | |
113 | + } | |
114 | + | |
115 | + | |
116 | + /**从EXCEL导入到数据库 | |
117 | + * @param file | |
118 | + * @return | |
119 | + * @throws Exception | |
120 | + */ | |
121 | + @RequestMapping(value="/readExcel") | |
122 | + public ModelAndView readExcel( | |
123 | + @RequestParam(value="excel",required=false) MultipartFile file | |
124 | + ) throws Exception{ | |
125 | + logBefore(logger,Jurisdiction.getUsername() + "从EXCEL导入到数据库"); | |
126 | + ModelAndView mv = this.getModelAndView(); | |
127 | + PageData tpd = getPageData(); | |
128 | + PageData pd = new PageData(); | |
129 | + String termID = tpd.getString("TERM_ID"); | |
130 | + String classID = tpd.getString("CLASS_ID"); | |
131 | + if (null != file && !file.isEmpty()) { | |
132 | + String filePath = PathUtil.getClasspath() + Const.FILEPATHFILE; //文件上传路径 | |
133 | + String fileName = FileUpload.fileUp(file, filePath, "userexcel"); //执行上传 | |
134 | + List<PageData> listPd = (List)ObjectExcelRead.readExcel(filePath, fileName, 0, 0, 0); //执行读EXCEL操作,读出的数据导入List 2:从第3行开始;0:从第A列开始;0:第0个sheet | |
135 | + if(listPd.size() > 0 ){ | |
136 | + pd= listPd.get(0); | |
137 | + for(int i = 1 ; i < listPd.size();i++){ | |
138 | + PageData savePd = new PageData(); | |
139 | + PageData temp = listPd.get(i); | |
140 | + for(int j = 0 ; ;j++){ | |
141 | + if(temp.get("var" + j) == null){ | |
142 | + break ; | |
143 | + } | |
144 | + savePd.put(pd.getString("var" + j).toUpperCase(), temp.get("var" + j)); | |
145 | + } | |
146 | + if(!savePd.containsKey("ID")){ | |
147 | + String studentId = this.get32UUID(); | |
148 | + savePd.put("ID", studentId); | |
149 | + studentService.save(savePd); | |
150 | + | |
151 | + | |
152 | + if (classID != null && termID != null) { | |
153 | + savePd.put("STUDENT_ID", studentId); | |
154 | + savePd.put("CLASSROSTER_ID", get32UUID()); | |
155 | + savePd.put("TEAMID", termID); | |
156 | + savePd.put("SCLASS_ID", classID); | |
157 | + classrosterService.save(savePd); | |
158 | + } | |
159 | + | |
160 | + }else{ | |
161 | + studentService.edit(savePd); | |
162 | + } | |
163 | + } | |
164 | + | |
165 | + } | |
166 | + } | |
167 | + mv.addObject("msg","success"); | |
168 | + mv.setViewName("save_result"); | |
169 | + return mv; | |
170 | + } | |
171 | + | |
172 | + | |
95 | 173 | /**删除 |
96 | 174 | * @param out |
97 | 175 | * @throws Exception |
... | ... | @@ -103,6 +181,8 @@ public class StudentController extends BaseController { |
103 | 181 | PageData pd = new PageData(); |
104 | 182 | pd = this.getPageData(); |
105 | 183 | studentService.delete(pd); |
184 | + pd.put("STUDENT_ID", pd.get("ID")); | |
185 | + classrosterService.delete(pd); | |
106 | 186 | out.write("success"); |
107 | 187 | out.close(); |
108 | 188 | } |
... | ... | @@ -135,7 +215,7 @@ public class StudentController extends BaseController { |
135 | 215 | ModelAndView mv = this.getModelAndView(); |
136 | 216 | PageData pd = new PageData(); |
137 | 217 | pd = this.getPageData(); |
138 | - String keywords = pd.getString("keywords"); //关键词检索条件 | |
218 | + String keywords = pd.getString("KEYWORDS"); //关键词检索条件 | |
139 | 219 | if(null != keywords && !"".equals(keywords)){ |
140 | 220 | pd.put("keywords", keywords.trim()); |
141 | 221 | } |
... | ... | @@ -247,6 +327,7 @@ public class StudentController extends BaseController { |
247 | 327 | if(null != DATA_IDS && !"".equals(DATA_IDS)){ |
248 | 328 | String ArrayDATA_IDS[] = DATA_IDS.split(","); |
249 | 329 | studentService.deleteAll(ArrayDATA_IDS); |
330 | + classrosterService.deleteAllByStudentID(ArrayDATA_IDS); | |
250 | 331 | pd.put("msg", "ok"); |
251 | 332 | }else{ |
252 | 333 | pd.put("msg", "no"); | ... | ... |
src/com/fh/controller/sunvote/teacher/TeacherController.java
... | ... | @@ -141,6 +141,10 @@ public class TeacherController extends BaseController { |
141 | 141 | List<PageData> varList = teacherService.list(page); //列出Teacher列表 |
142 | 142 | mv.setViewName("sunvote/teacher/teacher_list"); |
143 | 143 | mv.addObject("varList", varList); |
144 | + | |
145 | + List<PageData> schools = schoolService.listAll(pd); | |
146 | + mv.addObject("schools",schools); | |
147 | + | |
144 | 148 | mv.addObject("pd", pd); |
145 | 149 | mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 |
146 | 150 | return mv; | ... | ... |
src/com/fh/service/sunvote/classroster/ClassRosterManager.java
1 | 1 | package com.fh.service.sunvote.classroster; |
2 | 2 | |
3 | 3 | import java.util.List; |
4 | + | |
4 | 5 | import com.fh.entity.Page; |
5 | 6 | import com.fh.util.PageData; |
6 | 7 | |
... | ... | @@ -53,5 +54,8 @@ public interface ClassRosterManager{ |
53 | 54 | */ |
54 | 55 | public void deleteAll(String[] ArrayDATA_IDS)throws Exception; |
55 | 56 | |
57 | + | |
58 | + public void deleteAllByStudentID(String[] ArrayDATA_IDS)throws Exception; | |
59 | + | |
56 | 60 | } |
57 | 61 | ... | ... |
src/com/fh/service/sunvote/classroster/impl/ClassRosterService.java
... | ... | @@ -77,5 +77,13 @@ public class ClassRosterService implements ClassRosterManager{ |
77 | 77 | dao.delete("ClassRosterMapper.deleteAll", ArrayDATA_IDS); |
78 | 78 | } |
79 | 79 | |
80 | + /**批量删除 | |
81 | + * @param ArrayDATA_IDS | |
82 | + * @throws Exception | |
83 | + */ | |
84 | + public void deleteAllByStudentID(String[] ArrayDATA_IDS)throws Exception{ | |
85 | + dao.delete("ClassRosterMapper.deleteAllByStudentID", ArrayDATA_IDS); | |
86 | + } | |
87 | + | |
80 | 88 | } |
81 | 89 | ... | ... |