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,22 +34,13 @@ | ||
| 34 | <form action="classroster/list.do" method="post" name="Form" id="Form"> | 34 | <form action="classroster/list.do" method="post" name="Form" id="Form"> |
| 35 | <table style="margin-top:5px;"> | 35 | <table style="margin-top:5px;"> |
| 36 | <tr> | 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;"> | 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 | <option value=""></option> | 39 | <option value=""></option> |
| 50 | <option value="">全部</option> | 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 | </select> | 44 | </select> |
| 54 | </td> | 45 | </td> |
| 55 | <c:if test="${QX.cha == 1 }"> | 46 | <c:if test="${QX.cha == 1 }"> |
WebRoot/WEB-INF/jsp/sunvote/classtype/classtype_list.jsp
| @@ -33,27 +33,6 @@ | @@ -33,27 +33,6 @@ | ||
| 33 | <form action="classtype/list.do" method="post" name="Form" id="Form"> | 33 | <form action="classtype/list.do" method="post" name="Form" id="Form"> |
| 34 | <table style="margin-top:5px;"> | 34 | <table style="margin-top:5px;"> |
| 35 | <tr> | 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 | <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> | 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 | </tr> | 37 | </tr> |
| 59 | </table> | 38 | </table> |
WebRoot/WEB-INF/jsp/sunvote/grade/grade_list.jsp
| @@ -33,27 +33,6 @@ | @@ -33,27 +33,6 @@ | ||
| 33 | <form action="grade/list.do" method="post" name="Form" id="Form"> | 33 | <form action="grade/list.do" method="post" name="Form" id="Form"> |
| 34 | <table style="margin-top:5px;"> | 34 | <table style="margin-top:5px;"> |
| 35 | <tr> | 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 | <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> | 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 | </tr> | 37 | </tr> |
| 59 | </table> | 38 | </table> |
WebRoot/WEB-INF/jsp/sunvote/school/school_list.jsp
| @@ -33,27 +33,6 @@ | @@ -33,27 +33,6 @@ | ||
| 33 | <form action="school/list.do" method="post" name="Form" id="Form"> | 33 | <form action="school/list.do" method="post" name="Form" id="Form"> |
| 34 | <table style="margin-top:5px;"> | 34 | <table style="margin-top:5px;"> |
| 35 | <tr> | 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 | <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> | 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 | </tr> | 37 | </tr> |
| 59 | </table> | 38 | </table> |
WebRoot/WEB-INF/jsp/sunvote/sclass/sclass_list.jsp
| @@ -35,22 +35,31 @@ | @@ -35,22 +35,31 @@ | ||
| 35 | <form action="sclass/list.do" method="post" name="Form" id="Form"> | 35 | <form action="sclass/list.do" method="post" name="Form" id="Form"> |
| 36 | <table style="margin-top:5px;"> | 36 | <table style="margin-top:5px;"> |
| 37 | <tr> | 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 | </td> | 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 | <td style="vertical-align:top;padding-left:2px;"> | 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 | <option value=""></option> | 58 | <option value=""></option> |
| 51 | <option value="">全部</option> | 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 | </select> | 63 | </select> |
| 55 | </td> | 64 | </td> |
| 56 | <c:if test="${QX.cha == 1 }"> | 65 | <c:if test="${QX.cha == 1 }"> |
WebRoot/WEB-INF/jsp/sunvote/student/student_list.jsp
| @@ -41,16 +41,7 @@ | @@ -41,16 +41,7 @@ | ||
| 41 | </span> | 41 | </span> |
| 42 | </div> | 42 | </div> |
| 43 | </td> | 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 | <c:if test="${QX.cha == 1 }"> | 45 | <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> | 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 | </c:if> | 47 | </c:if> |
WebRoot/WEB-INF/jsp/sunvote/student/student_list2.jsp
| @@ -102,6 +102,7 @@ | @@ -102,6 +102,7 @@ | ||
| 102 | <tr> | 102 | <tr> |
| 103 | <td style="vertical-align:top;"> | 103 | <td style="vertical-align:top;"> |
| 104 | <a class="btn btn-mini btn-success" onclick="add();">新增</a> | 104 | <a class="btn btn-mini btn-success" onclick="add();">新增</a> |
| 105 | + <a class="btn btn-mini btn-success" onclick="upload();">批量上传</a> | ||
| 105 | <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a> | 106 | <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a> |
| 106 | </td> | 107 | </td> |
| 107 | <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td> | 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,6 +221,28 @@ | ||
| 220 | diag.show(); | 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 | function del(Id){ | 247 | function del(Id){ |
| 225 | bootbox.confirm("确定要删除吗?", function(result) { | 248 | bootbox.confirm("确定要删除吗?", function(result) { |
WebRoot/WEB-INF/jsp/sunvote/subject/subject_list.jsp
| @@ -33,27 +33,7 @@ | @@ -33,27 +33,7 @@ | ||
| 33 | <form action="subject/list.do" method="post" name="Form" id="Form"> | 33 | <form action="subject/list.do" method="post" name="Form" id="Form"> |
| 34 | <table style="margin-top:5px;"> | 34 | <table style="margin-top:5px;"> |
| 35 | <tr> | 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 | <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> | 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 | </tr> | 38 | </tr> |
| 59 | </table> | 39 | </table> |
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_list.jsp
| @@ -34,22 +34,13 @@ | @@ -34,22 +34,13 @@ | ||
| 34 | <form action="teacher/list.do" method="post" name="Form" id="Form"> | 34 | <form action="teacher/list.do" method="post" name="Form" id="Form"> |
| 35 | <table style="margin-top:5px;"> | 35 | <table style="margin-top:5px;"> |
| 36 | <tr> | 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 | <option value=""></option> | 39 | <option value=""></option> |
| 50 | <option value="">全部</option> | 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 | </select> | 44 | </select> |
| 54 | </td> | 45 | </td> |
| 55 | <c:if test="${QX.cha == 1 }"> | 46 | <c:if test="${QX.cha == 1 }"> |
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_main.jsp
| @@ -94,7 +94,7 @@ | @@ -94,7 +94,7 @@ | ||
| 94 | </div> | 94 | </div> |
| 95 | <c:forEach items="${pd.TEACHER}" var="var" varStatus="vs"> | 95 | <c:forEach items="${pd.TEACHER}" var="var" varStatus="vs"> |
| 96 | <div class="class"> | 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 | </div> | 98 | </div> |
| 99 | </c:forEach> | 99 | </c:forEach> |
| 100 | <div class="test">测验</div> | 100 | <div class="test">测验</div> |
WebRoot/WEB-INF/jsp/sunvote/teachingmaterial/teachingmaterial_list.jsp
| @@ -34,27 +34,6 @@ | @@ -34,27 +34,6 @@ | ||
| 34 | <form action="teachingmaterial/list.do" method="post" name="Form" id="Form"> | 34 | <form action="teachingmaterial/list.do" method="post" name="Form" id="Form"> |
| 35 | <table style="margin-top:5px;"> | 35 | <table style="margin-top:5px;"> |
| 36 | <tr> | 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 | <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> | 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 | </tr> | 38 | </tr> |
| 60 | </table> | 39 | </table> |
WebRoot/afterService/gsdt_info.html
| @@ -35,16 +35,16 @@ | @@ -35,16 +35,16 @@ | ||
| 35 | <label ><span class="red">*</span>校区名称:</label> | 35 | <label ><span class="red">*</span>校区名称:</label> |
| 36 | <div class="control-group xq"> | 36 | <div class="control-group xq"> |
| 37 | <div class="controls col-md-6" style="padding-left:0;"> | 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 | <option value="请选择"></option> | 39 | <option value="请选择"></option> |
| 40 | - </select> | ||
| 41 | - | 40 | + </select> --> |
| 41 | + <input type="text" class="form-control" id="province" placeholder=""> | ||
| 42 | </div> | 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 | <select id="city" class="form-control"> | 44 | <select id="city" class="form-control"> |
| 45 | <option value="请选择">请选择</option> | 45 | <option value="请选择">请选择</option> |
| 46 | </select> | 46 | </select> |
| 47 | - </div> | 47 | + </div> --> |
| 48 | </div> | 48 | </div> |
| 49 | 49 | ||
| 50 | </div> | 50 | </div> |
| @@ -125,67 +125,48 @@ | @@ -125,67 +125,48 @@ | ||
| 125 | <div class="rightBox"> | 125 | <div class="rightBox"> |
| 126 | <div class="qaList"> | 126 | <div class="qaList"> |
| 127 | <div class="list_top"> | 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 | </div> | 129 | </div> |
| 137 | <div class="list_content"> | 130 | <div class="list_content"> |
| 138 | <li> | 131 | <li> |
| 139 | <p class="q_title">问题现象1:无法开机</p> | 132 | <p class="q_title">问题现象1:无法开机</p> |
| 140 | - <p>可能键盘没有电导致,更换电池后再次尝试是否可以开机。若更换电池后仍无法开机,请联系技术支持。</p> | 133 | + <p>可能答题器没有电导致,更换电池后再次尝试是否可以开机。若更换电池后仍无法开机,请联系技术支持。</p> |
| 141 | </li> | 134 | </li> |
| 142 | <li> | 135 | <li> |
| 143 | <p class="q_title">问题现象2:无信号</p> | 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 | </li> | 139 | </li> |
| 147 | <li> | 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 | </li> | 150 | </li> |
| 153 | <li> | 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 | </li> | 156 | </li> |
| 164 | <li> | 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 | </li> | 161 | </li> |
| 169 | <li> | 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 | </li> | 166 | </li> |
| 176 | <li> | 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 | </li> | 170 | </li> |
| 190 | </div> | 171 | </div> |
| 191 | 172 | ||
| @@ -218,13 +199,13 @@ | @@ -218,13 +199,13 @@ | ||
| 218 | require(['city.select'], function ($) { | 199 | require(['city.select'], function ($) { |
| 219 | $(function () { | 200 | $(function () { |
| 220 | 201 | ||
| 221 | - $('#province, #city').citylist({ | 202 | + /* $('#province, #city').citylist({ |
| 222 | data : data, | 203 | data : data, |
| 223 | id : 'id', | 204 | id : 'id', |
| 224 | children: 'cities', | 205 | children: 'cities', |
| 225 | name : 'name', | 206 | name : 'name', |
| 226 | metaTag : 'name' | 207 | metaTag : 'name' |
| 227 | - }); | 208 | + }); */ |
| 228 | 209 | ||
| 229 | $('#all').citylist({ | 210 | $('#all').citylist({ |
| 230 | data : data, | 211 | data : data, |
| @@ -255,7 +236,7 @@ | @@ -255,7 +236,7 @@ | ||
| 255 | 236 | ||
| 256 | //$("#model").html(model); | 237 | //$("#model").html(model); |
| 257 | switch(model){ | 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 | default:break; | 240 | default:break; |
| 260 | } | 241 | } |
| 261 | 242 | ||
| @@ -330,7 +311,7 @@ | @@ -330,7 +311,7 @@ | ||
| 330 | 311 | ||
| 331 | var data={ | 312 | var data={ |
| 332 | SCHOOL_ADDRESS1:$("#province").val(), | 313 | SCHOOL_ADDRESS1:$("#province").val(), |
| 333 | - SCHOOL_ADDRESS2:$("#city").val(), | 314 | + /* SCHOOL_ADDRESS2:$("#city").val(), */ |
| 334 | CONTACT_PHONE:$("#name").val(), | 315 | CONTACT_PHONE:$("#name").val(), |
| 335 | PHONE_CONTACT:$("#tel").val(), | 316 | PHONE_CONTACT:$("#tel").val(), |
| 336 | PRODUCT_SEQ:$("#sn").val(), | 317 | PRODUCT_SEQ:$("#sn").val(), |
WebRoot/afterService/gsindex.html
| @@ -105,9 +105,9 @@ | @@ -105,9 +105,9 @@ | ||
| 105 | <script> | 105 | <script> |
| 106 | function down(type){ | 106 | function down(type){ |
| 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">产品售后维修流程</a></p>');break; |
| 109 | case 1: $(".modal-body").html('<p>等待更新</p>');break; | 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 | </script> | 113 | </script> |
WebRoot/afterService/gsinfo.html
| @@ -35,16 +35,16 @@ | @@ -35,16 +35,16 @@ | ||
| 35 | <label ><span class="red">*</span>校区名称:</label> | 35 | <label ><span class="red">*</span>校区名称:</label> |
| 36 | <div class="control-group xq"> | 36 | <div class="control-group xq"> |
| 37 | <div class="controls col-md-6" style="padding-left:0;"> | 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 | <option value="请选择"></option> | 39 | <option value="请选择"></option> |
| 40 | - </select> | ||
| 41 | - | 40 | + </select> --> |
| 41 | + <input type="text" class="form-control" id="province" placeholder=""> | ||
| 42 | </div> | 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 | <select id="city" class="form-control"> | 44 | <select id="city" class="form-control"> |
| 45 | <option value="请选择">请选择</option> | 45 | <option value="请选择">请选择</option> |
| 46 | </select> | 46 | </select> |
| 47 | - </div> | 47 | + </div> --> |
| 48 | </div> | 48 | </div> |
| 49 | 49 | ||
| 50 | </div> | 50 | </div> |
| @@ -128,11 +128,8 @@ | @@ -128,11 +128,8 @@ | ||
| 128 | </li> | 128 | </li> |
| 129 | <li> | 129 | <li> |
| 130 | <p class="q_title">问题现象2:连接指示灯慢闪(1秒一次),软件显示连接断开</p> | 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 | </li> | 133 | </li> |
| 137 | <li> | 134 | <li> |
| 138 | <p class="q_title">问题现象3:连接指示灯快闪(1秒多次),软件显示连接断开</p> | 135 | <p class="q_title">问题现象3:连接指示灯快闪(1秒多次),软件显示连接断开</p> |
| @@ -213,13 +210,13 @@ PS:建议老师使用手动连接的方式,不要选择自动连接。</p> | @@ -213,13 +210,13 @@ PS:建议老师使用手动连接的方式,不要选择自动连接。</p> | ||
| 213 | require(['city.select'], function ($) { | 210 | require(['city.select'], function ($) { |
| 214 | $(function () { | 211 | $(function () { |
| 215 | 212 | ||
| 216 | - $('#province, #city').citylist({ | 213 | + /* $('#province, #city').citylist({ |
| 217 | data : data, | 214 | data : data, |
| 218 | id : 'id', | 215 | id : 'id', |
| 219 | children: 'cities', | 216 | children: 'cities', |
| 220 | name : 'name', | 217 | name : 'name', |
| 221 | metaTag : 'name' | 218 | metaTag : 'name' |
| 222 | - }); | 219 | + }); */ |
| 223 | 220 | ||
| 224 | $('#all').citylist({ | 221 | $('#all').citylist({ |
| 225 | data : data, | 222 | data : data, |
| @@ -327,7 +324,7 @@ PS:建议老师使用手动连接的方式,不要选择自动连接。</p> | @@ -327,7 +324,7 @@ PS:建议老师使用手动连接的方式,不要选择自动连接。</p> | ||
| 327 | 324 | ||
| 328 | var data={ | 325 | var data={ |
| 329 | SCHOOL_ADDRESS1:$("#province").val(), | 326 | SCHOOL_ADDRESS1:$("#province").val(), |
| 330 | - SCHOOL_ADDRESS2:$("#city").val(), | 327 | + /* SCHOOL_ADDRESS2:$("#city").val(), */ |
| 331 | CONTACT_PHONE:$("#name").val(), | 328 | CONTACT_PHONE:$("#name").val(), |
| 332 | PHONE_CONTACT:$("#tel").val(), | 329 | PHONE_CONTACT:$("#tel").val(), |
| 333 | PRODUCT_SEQ:$("#sn").val(), | 330 | PRODUCT_SEQ:$("#sn").val(), |
WebRoot/afterService/gsparts2_info.html
| @@ -35,16 +35,18 @@ | @@ -35,16 +35,18 @@ | ||
| 35 | <label ><span class="red">*</span>校区名称:</label> | 35 | <label ><span class="red">*</span>校区名称:</label> |
| 36 | <div class="control-group xq"> | 36 | <div class="control-group xq"> |
| 37 | <div class="controls col-md-6" style="padding-left:0;"> | 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 | <option value="请选择"></option> | 39 | <option value="请选择"></option> |
| 40 | - </select> | 40 | + </select> --> |
| 41 | + | ||
| 42 | + <input type="text" class="form-control" id="province" placeholder=""> | ||
| 41 | 43 | ||
| 42 | </div> | 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 | <select id="city" class="form-control"> | 46 | <select id="city" class="form-control"> |
| 45 | <option value="请选择">请选择</option> | 47 | <option value="请选择">请选择</option> |
| 46 | </select> | 48 | </select> |
| 47 | - </div> | 49 | + </div> --> |
| 48 | </div> | 50 | </div> |
| 49 | 51 | ||
| 50 | </div> | 52 | </div> |
| @@ -112,13 +114,13 @@ | @@ -112,13 +114,13 @@ | ||
| 112 | require(['city.select'], function ($) { | 114 | require(['city.select'], function ($) { |
| 113 | $(function () { | 115 | $(function () { |
| 114 | 116 | ||
| 115 | - $('#province, #city').citylist({ | 117 | + /* $('#province, #city').citylist({ |
| 116 | data : data, | 118 | data : data, |
| 117 | id : 'id', | 119 | id : 'id', |
| 118 | children: 'cities', | 120 | children: 'cities', |
| 119 | name : 'name', | 121 | name : 'name', |
| 120 | metaTag : 'name' | 122 | metaTag : 'name' |
| 121 | - }); | 123 | + }); */ |
| 122 | 124 | ||
| 123 | $('#all').citylist({ | 125 | $('#all').citylist({ |
| 124 | data : data, | 126 | data : data, |
| @@ -228,7 +230,7 @@ | @@ -228,7 +230,7 @@ | ||
| 228 | 230 | ||
| 229 | var data={ | 231 | var data={ |
| 230 | SCHOOL_ADDRESS1:$("#province").val(), | 232 | SCHOOL_ADDRESS1:$("#province").val(), |
| 231 | - SCHOOL_ADDRESS2:$("#city").val(), | 233 | + /* SCHOOL_ADDRESS2:$("#city").val(), */ |
| 232 | CONTACT_PHONE:$("#name").val(), | 234 | CONTACT_PHONE:$("#name").val(), |
| 233 | PHONE_CONTACT:$("#tel").val(), | 235 | PHONE_CONTACT:$("#tel").val(), |
| 234 | //PRODUCT_SEQ:$("#sn").val(), | 236 | //PRODUCT_SEQ:$("#sn").val(), |
WebRoot/afterService/gsparts_info.html
| @@ -35,16 +35,18 @@ | @@ -35,16 +35,18 @@ | ||
| 35 | <label ><span class="red">*</span>校区名称:</label> | 35 | <label ><span class="red">*</span>校区名称:</label> |
| 36 | <div class="control-group xq"> | 36 | <div class="control-group xq"> |
| 37 | <div class="controls col-md-6" style="padding-left:0;"> | 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 | <option value="请选择"></option> | 39 | <option value="请选择"></option> |
| 40 | - </select> | 40 | + </select> --> |
| 41 | + | ||
| 42 | + <input type="text" class="form-control" id="province" placeholder=""> | ||
| 41 | 43 | ||
| 42 | </div> | 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 | <select id="city" class="form-control"> | 46 | <select id="city" class="form-control"> |
| 45 | <option value="请选择">请选择</option> | 47 | <option value="请选择">请选择</option> |
| 46 | </select> | 48 | </select> |
| 47 | - </div> | 49 | + </div> --> |
| 48 | </div> | 50 | </div> |
| 49 | 51 | ||
| 50 | </div> | 52 | </div> |
| @@ -116,14 +118,14 @@ | @@ -116,14 +118,14 @@ | ||
| 116 | require(['city.select'], function ($) { | 118 | require(['city.select'], function ($) { |
| 117 | $(function () { | 119 | $(function () { |
| 118 | 120 | ||
| 119 | - $('#province, #city').citylist({ | 121 | + /* $('#province, #city').citylist({ |
| 120 | data : data, | 122 | data : data, |
| 121 | id : 'id', | 123 | id : 'id', |
| 122 | children: 'cities', | 124 | children: 'cities', |
| 123 | name : 'name', | 125 | name : 'name', |
| 124 | metaTag : 'name' | 126 | metaTag : 'name' |
| 125 | }); | 127 | }); |
| 126 | - | 128 | + */ |
| 127 | $('#all').citylist({ | 129 | $('#all').citylist({ |
| 128 | data : data, | 130 | data : data, |
| 129 | id : 'id', | 131 | id : 'id', |
| @@ -229,7 +231,7 @@ | @@ -229,7 +231,7 @@ | ||
| 229 | 231 | ||
| 230 | var data={ | 232 | var data={ |
| 231 | SCHOOL_ADDRESS1:$("#province").val(), | 233 | SCHOOL_ADDRESS1:$("#province").val(), |
| 232 | - SCHOOL_ADDRESS2:$("#city").val(), | 234 | + /* SCHOOL_ADDRESS2:$("#city").val(), */ |
| 233 | CONTACT_PHONE:$("#name").val(), | 235 | CONTACT_PHONE:$("#name").val(), |
| 234 | PHONE_CONTACT:$("#tel").val(), | 236 | PHONE_CONTACT:$("#tel").val(), |
| 235 | //PRODUCT_SEQ:$("#sn").val(), | 237 | //PRODUCT_SEQ:$("#sn").val(), |
resources/mybatis1/api/V1Mapper.xml
| @@ -28,6 +28,7 @@ | @@ -28,6 +28,7 @@ | ||
| 28 | sv_term.START_DATE < NOW() | 28 | sv_term.START_DATE < NOW() |
| 29 | AND sv_term.END_DATE > NOW() | 29 | AND sv_term.END_DATE > NOW() |
| 30 | AND TEACHER_ID = #{TEACHER_ID} | 30 | AND TEACHER_ID = #{TEACHER_ID} |
| 31 | + group by SUBJECT_ID | ||
| 31 | </select> | 32 | </select> |
| 32 | 33 | ||
| 33 | <!-- 通过教师ID获取科目数据 --> | 34 | <!-- 通过教师ID获取科目数据 --> |
resources/mybatis1/sunvote/ClassRosterMapper.xml
| @@ -38,8 +38,22 @@ | @@ -38,8 +38,22 @@ | ||
| 38 | <delete id="delete" parameterType="pd"> | 38 | <delete id="delete" parameterType="pd"> |
| 39 | delete from | 39 | delete from |
| 40 | <include refid="tableName"></include> | 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 | </delete> | 57 | </delete> |
| 44 | 58 | ||
| 45 | <!-- 修改 --> | 59 | <!-- 修改 --> |
| @@ -82,6 +96,12 @@ | @@ -82,6 +96,12 @@ | ||
| 82 | --> | 96 | --> |
| 83 | ) | 97 | ) |
| 84 | </if> | 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 | </select> | 105 | </select> |
| 86 | 106 | ||
| 87 | <!-- 列表(全部) --> | 107 | <!-- 列表(全部) --> |
| @@ -102,6 +122,16 @@ | @@ -102,6 +122,16 @@ | ||
| 102 | #{item} | 122 | #{item} |
| 103 | </foreach> | 123 | </foreach> |
| 104 | </delete> | 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 | <!-- fh313596790qq(青苔) --> | 136 | <!-- fh313596790qq(青苔) --> |
| 107 | </mapper> | 137 | </mapper> |
| 108 | \ No newline at end of file | 138 | \ No newline at end of file |
resources/mybatis1/sunvote/SClassMapper.xml
| @@ -39,6 +39,7 @@ | @@ -39,6 +39,7 @@ | ||
| 39 | CLASS_TYPE, | 39 | CLASS_TYPE, |
| 40 | CLASS_NAME, | 40 | CLASS_NAME, |
| 41 | CLASS_CODE, | 41 | CLASS_CODE, |
| 42 | + ID, | ||
| 42 | BASESTATION_ID | 43 | BASESTATION_ID |
| 43 | ) values ( | 44 | ) values ( |
| 44 | #{SCHOOL_ID}, | 45 | #{SCHOOL_ID}, |
| @@ -46,6 +47,7 @@ | @@ -46,6 +47,7 @@ | ||
| 46 | #{CLASS_TYPE}, | 47 | #{CLASS_TYPE}, |
| 47 | #{CLASS_NAME}, | 48 | #{CLASS_NAME}, |
| 48 | #{CLASS_CODE}, | 49 | #{CLASS_CODE}, |
| 50 | + #{ID}, | ||
| 49 | #{BASESTATION_ID} | 51 | #{BASESTATION_ID} |
| 50 | ) | 52 | ) |
| 51 | </insert> | 53 | </insert> |
| @@ -90,16 +92,16 @@ | @@ -90,16 +92,16 @@ | ||
| 90 | <include refid="Field"></include> | 92 | <include refid="Field"></include> |
| 91 | from | 93 | from |
| 92 | <include refid="tableName"></include> | 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 | </select> | 105 | </select> |
| 104 | 106 | ||
| 105 | <!-- 列表(全部) --> | 107 | <!-- 列表(全部) --> |
resources/mybatis1/sunvote/StudentMapper.xml
| @@ -94,13 +94,21 @@ | @@ -94,13 +94,21 @@ | ||
| 94 | <if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 --> | 94 | <if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 --> |
| 95 | and | 95 | and |
| 96 | ( | 96 | ( |
| 97 | - <!-- 根据需求自己加检索条件 | ||
| 98 | - 字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | 97 | + NAME LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') |
| 99 | or | 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 | </if> | 109 | </if> |
| 110 | + | ||
| 111 | + order by sv_student.SNO | ||
| 104 | </select> | 112 | </select> |
| 105 | 113 | ||
| 106 | <!-- 列表 --> | 114 | <!-- 列表 --> |
| @@ -128,6 +136,7 @@ | @@ -128,6 +136,7 @@ | ||
| 128 | <if test="pd.CLASS_ID!= null and pd.CLASS_ID != ''"><!-- 关键词检索 --> | 136 | <if test="pd.CLASS_ID!= null and pd.CLASS_ID != ''"><!-- 关键词检索 --> |
| 129 | AND cr.SCLASS_ID = #{pd.CLASS_ID} | 137 | AND cr.SCLASS_ID = #{pd.CLASS_ID} |
| 130 | </if> | 138 | </if> |
| 139 | + order by sv_student.SNO | ||
| 131 | </select> | 140 | </select> |
| 132 | 141 | ||
| 133 | <!-- 列表(全部) --> | 142 | <!-- 列表(全部) --> |
| @@ -136,6 +145,8 @@ | @@ -136,6 +145,8 @@ | ||
| 136 | <include refid="Field"></include> | 145 | <include refid="Field"></include> |
| 137 | from | 146 | from |
| 138 | <include refid="tableName"></include> | 147 | <include refid="tableName"></include> |
| 148 | + | ||
| 149 | + order by sv_student.SNO | ||
| 139 | </select> | 150 | </select> |
| 140 | 151 | ||
| 141 | <!-- 批量删除 --> | 152 | <!-- 批量删除 --> |
resources/mybatis1/sunvote/TeacherMapper.xml
| @@ -139,6 +139,11 @@ | @@ -139,6 +139,11 @@ | ||
| 139 | --> | 139 | --> |
| 140 | ) | 140 | ) |
| 141 | </if> | 141 | </if> |
| 142 | + | ||
| 143 | + <if test="pd.SCHOOL_ID != null and pd.SCHOOL_ID != ''"><!-- 关键词检索 --> | ||
| 144 | + and | ||
| 145 | + (SCHOOL_ID = #{pd.SCHOOL_ID}) | ||
| 146 | + </if> | ||
| 142 | </select> | 147 | </select> |
| 143 | 148 | ||
| 144 | <!-- 列表(全部) --> | 149 | <!-- 列表(全部) --> |
src/com/fh/controller/api/V1.java
| @@ -9,7 +9,6 @@ import javax.servlet.http.HttpServletRequest; | @@ -9,7 +9,6 @@ import javax.servlet.http.HttpServletRequest; | ||
| 9 | 9 | ||
| 10 | import org.apache.commons.lang.StringUtils; | 10 | import org.apache.commons.lang.StringUtils; |
| 11 | import org.springframework.stereotype.Controller; | 11 | import org.springframework.stereotype.Controller; |
| 12 | -import org.springframework.transaction.annotation.Transactional; | ||
| 13 | import org.springframework.web.bind.annotation.RequestMapping; | 12 | import org.springframework.web.bind.annotation.RequestMapping; |
| 14 | import org.springframework.web.bind.annotation.ResponseBody; | 13 | import org.springframework.web.bind.annotation.ResponseBody; |
| 15 | 14 | ||
| @@ -156,7 +155,7 @@ public class V1 extends BaseController { | @@ -156,7 +155,7 @@ public class V1 extends BaseController { | ||
| 156 | if (!pd.containsKey("ACCOUT")) { | 155 | if (!pd.containsKey("ACCOUT")) { |
| 157 | pd.put("ACCOUT", pd.get("USERNAME")); | 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 | .containsKey("PASSWORD")) || pd.containsKey("KEYPAD_ID")) { | 159 | .containsKey("PASSWORD")) || pd.containsKey("KEYPAD_ID")) { |
| 161 | PageData pageData = teacherService.getUserInfo(pd); | 160 | PageData pageData = teacherService.getUserInfo(pd); |
| 162 | if (pageData != null && pageData.getString("ID") != null) { | 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,7 +118,8 @@ public class ClassRosterController extends BaseController { | ||
| 118 | pd.put("keywords", keywords.trim()); | 118 | pd.put("keywords", keywords.trim()); |
| 119 | } | 119 | } |
| 120 | page.setPd(pd); | 120 | page.setPd(pd); |
| 121 | - | 121 | + List<PageData> classList = sclassService.listAll(pd); |
| 122 | + mv.addObject("classList", classList); | ||
| 122 | List<PageData> varList = classrosterService.list(page); //列出ClassRoster列表 | 123 | List<PageData> varList = classrosterService.list(page); //列出ClassRoster列表 |
| 123 | mv.setViewName("sunvote/classroster/classroster_list"); | 124 | mv.setViewName("sunvote/classroster/classroster_list"); |
| 124 | mv.addObject("varList", varList); | 125 | mv.addObject("varList", varList); |
src/com/fh/controller/sunvote/coursemanagement/CourseManagementController.java
| @@ -156,7 +156,8 @@ public class CourseManagementController extends BaseController { | @@ -156,7 +156,8 @@ public class CourseManagementController extends BaseController { | ||
| 156 | 156 | ||
| 157 | List<PageData> terms = termService.listAll(pd); | 157 | List<PageData> terms = termService.listAll(pd); |
| 158 | mv.addObject("terms", terms); | 158 | mv.addObject("terms", terms); |
| 159 | - | 159 | + List<PageData> grades = gradeService.listAll(pd); |
| 160 | + mv.addObject("grades", grades); | ||
| 160 | mv.addObject("msg", "save"); | 161 | mv.addObject("msg", "save"); |
| 161 | mv.addObject("pd", pd); | 162 | mv.addObject("pd", pd); |
| 162 | return mv; | 163 | return mv; |
| @@ -170,13 +171,13 @@ public class CourseManagementController extends BaseController { | @@ -170,13 +171,13 @@ public class CourseManagementController extends BaseController { | ||
| 170 | public ModelAndView goEdit()throws Exception{ | 171 | public ModelAndView goEdit()throws Exception{ |
| 171 | ModelAndView mv = this.getModelAndView(); | 172 | ModelAndView mv = this.getModelAndView(); |
| 172 | PageData pd = new PageData(); | 173 | PageData pd = new PageData(); |
| 174 | + List<PageData> classs = sclassService.listAll(pd); | ||
| 175 | + mv.addObject("classs",classs); | ||
| 173 | pd = this.getPageData(); | 176 | pd = this.getPageData(); |
| 174 | pd = coursemanagementService.findById(pd); //根据ID读取 | 177 | pd = coursemanagementService.findById(pd); //根据ID读取 |
| 175 | mv.setViewName("sunvote/coursemanagement/coursemanagement_edit"); | 178 | mv.setViewName("sunvote/coursemanagement/coursemanagement_edit"); |
| 176 | List<PageData> teachers = teacherService.listAll(pd); | 179 | List<PageData> teachers = teacherService.listAll(pd); |
| 177 | mv.addObject("teachers",teachers); | 180 | mv.addObject("teachers",teachers); |
| 178 | - List<PageData> classs = sclassService.listAll(pd); | ||
| 179 | - mv.addObject("classs",classs); | ||
| 180 | List<PageData> subjects = subjectService.listAll(pd); | 181 | List<PageData> subjects = subjectService.listAll(pd); |
| 181 | mv.addObject("subjects", subjects); | 182 | mv.addObject("subjects", subjects); |
| 182 | List<PageData> terms = termService.listAll(pd); | 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,6 +71,7 @@ public class SClassController extends BaseController { | ||
| 71 | ModelAndView mv = this.getModelAndView(); | 71 | ModelAndView mv = this.getModelAndView(); |
| 72 | PageData pd = new PageData(); | 72 | PageData pd = new PageData(); |
| 73 | pd = this.getPageData(); | 73 | pd = this.getPageData(); |
| 74 | + pd.put("ID", get32UUID()); | ||
| 74 | sclassService.save(pd); | 75 | sclassService.save(pd); |
| 75 | mv.addObject("msg","success"); | 76 | mv.addObject("msg","success"); |
| 76 | mv.setViewName("save_result"); | 77 | mv.setViewName("save_result"); |
| @@ -127,6 +128,14 @@ public class SClassController extends BaseController { | @@ -127,6 +128,14 @@ public class SClassController extends BaseController { | ||
| 127 | page.setPd(pd); | 128 | page.setPd(pd); |
| 128 | mv.setViewName("sunvote/sclass/sclass_list"); | 129 | mv.setViewName("sunvote/sclass/sclass_list"); |
| 129 | List<PageData> varList = sclassService.list(page); //列出SClass列表 | 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 | mv.addObject("varList", varList); | 139 | mv.addObject("varList", varList); |
| 131 | mv.addObject("pd", pd); | 140 | mv.addObject("pd", pd); |
| 132 | mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 | 141 | mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 |
src/com/fh/controller/sunvote/student/StudentController.java
| @@ -16,15 +16,21 @@ import org.springframework.stereotype.Controller; | @@ -16,15 +16,21 @@ import org.springframework.stereotype.Controller; | ||
| 16 | import org.springframework.web.bind.WebDataBinder; | 16 | import org.springframework.web.bind.WebDataBinder; |
| 17 | import org.springframework.web.bind.annotation.InitBinder; | 17 | import org.springframework.web.bind.annotation.InitBinder; |
| 18 | import org.springframework.web.bind.annotation.RequestMapping; | 18 | import org.springframework.web.bind.annotation.RequestMapping; |
| 19 | +import org.springframework.web.bind.annotation.RequestParam; | ||
| 19 | import org.springframework.web.bind.annotation.ResponseBody; | 20 | import org.springframework.web.bind.annotation.ResponseBody; |
| 21 | +import org.springframework.web.multipart.MultipartFile; | ||
| 20 | import org.springframework.web.servlet.ModelAndView; | 22 | import org.springframework.web.servlet.ModelAndView; |
| 21 | 23 | ||
| 22 | import com.fh.controller.base.BaseController; | 24 | import com.fh.controller.base.BaseController; |
| 23 | import com.fh.entity.Page; | 25 | import com.fh.entity.Page; |
| 24 | import com.fh.util.AppUtil; | 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 | import com.fh.util.ObjectExcelView; | 30 | import com.fh.util.ObjectExcelView; |
| 26 | import com.fh.util.PageData; | 31 | import com.fh.util.PageData; |
| 27 | import com.fh.util.Jurisdiction; | 32 | import com.fh.util.Jurisdiction; |
| 33 | +import com.fh.util.PathUtil; | ||
| 28 | import com.fh.util.Tools; | 34 | import com.fh.util.Tools; |
| 29 | import com.fh.service.sunvote.classroster.ClassRosterManager; | 35 | import com.fh.service.sunvote.classroster.ClassRosterManager; |
| 30 | import com.fh.service.sunvote.student.StudentManager; | 36 | import com.fh.service.sunvote.student.StudentManager; |
| @@ -92,6 +98,78 @@ public class StudentController extends BaseController { | @@ -92,6 +98,78 @@ public class StudentController extends BaseController { | ||
| 92 | return mv; | 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 | * @param out | 174 | * @param out |
| 97 | * @throws Exception | 175 | * @throws Exception |
| @@ -103,6 +181,8 @@ public class StudentController extends BaseController { | @@ -103,6 +181,8 @@ public class StudentController extends BaseController { | ||
| 103 | PageData pd = new PageData(); | 181 | PageData pd = new PageData(); |
| 104 | pd = this.getPageData(); | 182 | pd = this.getPageData(); |
| 105 | studentService.delete(pd); | 183 | studentService.delete(pd); |
| 184 | + pd.put("STUDENT_ID", pd.get("ID")); | ||
| 185 | + classrosterService.delete(pd); | ||
| 106 | out.write("success"); | 186 | out.write("success"); |
| 107 | out.close(); | 187 | out.close(); |
| 108 | } | 188 | } |
| @@ -135,7 +215,7 @@ public class StudentController extends BaseController { | @@ -135,7 +215,7 @@ public class StudentController extends BaseController { | ||
| 135 | ModelAndView mv = this.getModelAndView(); | 215 | ModelAndView mv = this.getModelAndView(); |
| 136 | PageData pd = new PageData(); | 216 | PageData pd = new PageData(); |
| 137 | pd = this.getPageData(); | 217 | pd = this.getPageData(); |
| 138 | - String keywords = pd.getString("keywords"); //关键词检索条件 | 218 | + String keywords = pd.getString("KEYWORDS"); //关键词检索条件 |
| 139 | if(null != keywords && !"".equals(keywords)){ | 219 | if(null != keywords && !"".equals(keywords)){ |
| 140 | pd.put("keywords", keywords.trim()); | 220 | pd.put("keywords", keywords.trim()); |
| 141 | } | 221 | } |
| @@ -247,6 +327,7 @@ public class StudentController extends BaseController { | @@ -247,6 +327,7 @@ public class StudentController extends BaseController { | ||
| 247 | if(null != DATA_IDS && !"".equals(DATA_IDS)){ | 327 | if(null != DATA_IDS && !"".equals(DATA_IDS)){ |
| 248 | String ArrayDATA_IDS[] = DATA_IDS.split(","); | 328 | String ArrayDATA_IDS[] = DATA_IDS.split(","); |
| 249 | studentService.deleteAll(ArrayDATA_IDS); | 329 | studentService.deleteAll(ArrayDATA_IDS); |
| 330 | + classrosterService.deleteAllByStudentID(ArrayDATA_IDS); | ||
| 250 | pd.put("msg", "ok"); | 331 | pd.put("msg", "ok"); |
| 251 | }else{ | 332 | }else{ |
| 252 | pd.put("msg", "no"); | 333 | pd.put("msg", "no"); |
src/com/fh/controller/sunvote/teacher/TeacherController.java
| @@ -141,6 +141,10 @@ public class TeacherController extends BaseController { | @@ -141,6 +141,10 @@ public class TeacherController extends BaseController { | ||
| 141 | List<PageData> varList = teacherService.list(page); //列出Teacher列表 | 141 | List<PageData> varList = teacherService.list(page); //列出Teacher列表 |
| 142 | mv.setViewName("sunvote/teacher/teacher_list"); | 142 | mv.setViewName("sunvote/teacher/teacher_list"); |
| 143 | mv.addObject("varList", varList); | 143 | mv.addObject("varList", varList); |
| 144 | + | ||
| 145 | + List<PageData> schools = schoolService.listAll(pd); | ||
| 146 | + mv.addObject("schools",schools); | ||
| 147 | + | ||
| 144 | mv.addObject("pd", pd); | 148 | mv.addObject("pd", pd); |
| 145 | mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 | 149 | mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 |
| 146 | return mv; | 150 | return mv; |
src/com/fh/service/sunvote/classroster/ClassRosterManager.java
| 1 | package com.fh.service.sunvote.classroster; | 1 | package com.fh.service.sunvote.classroster; |
| 2 | 2 | ||
| 3 | import java.util.List; | 3 | import java.util.List; |
| 4 | + | ||
| 4 | import com.fh.entity.Page; | 5 | import com.fh.entity.Page; |
| 5 | import com.fh.util.PageData; | 6 | import com.fh.util.PageData; |
| 6 | 7 | ||
| @@ -53,5 +54,8 @@ public interface ClassRosterManager{ | @@ -53,5 +54,8 @@ public interface ClassRosterManager{ | ||
| 53 | */ | 54 | */ |
| 54 | public void deleteAll(String[] ArrayDATA_IDS)throws Exception; | 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,5 +77,13 @@ public class ClassRosterService implements ClassRosterManager{ | ||
| 77 | dao.delete("ClassRosterMapper.deleteAll", ArrayDATA_IDS); | 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 |