Commit 9f161055ecd0f1d5fa2295734007d1099019a7d2
1 parent
6ec88f66
修改高斯客户反馈
Showing
27 changed files
with
2109 additions
and
81 deletions
WebRoot/WEB-INF/jsp/sunvote/attachkeyboard/attachkeyboard_edit.jsp
0 → 100644
| 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
| 2 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | |
| 3 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 4 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> | |
| 5 | +<% | |
| 6 | + String path = request.getContextPath(); | |
| 7 | + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; | |
| 8 | +%> | |
| 9 | +<!DOCTYPE html> | |
| 10 | +<html lang="en"> | |
| 11 | + <head> | |
| 12 | + <base href="<%=basePath%>"> | |
| 13 | + <!-- 下拉框 --> | |
| 14 | + <link rel="stylesheet" href="static/ace/css/chosen.css" /> | |
| 15 | + <!-- jsp文件头和头部 --> | |
| 16 | + <%@ include file="../../system/index/top.jsp"%> | |
| 17 | + <!-- 日期框 --> | |
| 18 | + <link rel="stylesheet" href="static/ace/css/datepicker.css" /> | |
| 19 | +</head> | |
| 20 | +<body class="no-skin"> | |
| 21 | +<!-- /section:basics/navbar.layout --> | |
| 22 | +<div class="main-container" id="main-container"> | |
| 23 | + <!-- /section:basics/sidebar --> | |
| 24 | + <div class="main-content"> | |
| 25 | + <div class="main-content-inner"> | |
| 26 | + <div class="page-content"> | |
| 27 | + <div class="row"> | |
| 28 | + <div class="col-xs-12"> | |
| 29 | + | |
| 30 | + <form action="attachkeyboard/${msg }.do" name="Form" id="Form" method="post"> | |
| 31 | + <input type="hidden" name="ATTACHKEYBOARD_ID" id="ATTACHKEYBOARD_ID" value="${pd.ATTACHKEYBOARD_ID}"/> | |
| 32 | + <div id="zhongxin" style="padding-top: 13px;"> | |
| 33 | + <table id="table_report" class="table table-striped table-bordered table-hover"> | |
| 34 | + <tr> | |
| 35 | + <td style="width:75px;text-align: right;padding-top: 13px;">班级:</td> | |
| 36 | + <td> | |
| 37 | + <select class="chosen-select form-control" name="CLASS_ID" id="CLASS_ID" data-placeholder="这里输入班级类型"> | |
| 38 | + <c:forEach var="item" items="${classs}"> | |
| 39 | + <option value="${item.ID}" <c:if test="${pd.CLASS_ID==item.ID}">selected="true"</c:if>>${item.CLASS_NAME}</option> | |
| 40 | + </c:forEach> | |
| 41 | + </select> | |
| 42 | + </td> | |
| 43 | + </tr> | |
| 44 | + <tr> | |
| 45 | + <td style="width:75px;text-align: right;padding-top: 13px;">键盘:</td> | |
| 46 | + <td><input type="text" name="KEYBOARD_ID" id="KEYBOARD_ID" value="${pd.KEYBOARD_ID}" maxlength="255" placeholder="这里输入键盘ID" title="键盘ID" style="width:98%;"/></td> | |
| 47 | + </tr> | |
| 48 | + <tr> | |
| 49 | + <td style="text-align: center;" colspan="10"> | |
| 50 | + <a class="btn btn-mini btn-primary" onclick="save();">保存</a> | |
| 51 | + <a class="btn btn-mini btn-danger" onclick="top.Dialog.close();">取消</a> | |
| 52 | + </td> | |
| 53 | + </tr> | |
| 54 | + </table> | |
| 55 | + </div> | |
| 56 | + <div id="zhongxin2" class="center" style="display:none"><br/><br/><br/><br/><br/><img src="static/images/jiazai.gif" /><br/><h4 class="lighter block green">提交中...</h4></div> | |
| 57 | + </form> | |
| 58 | + </div> | |
| 59 | + <!-- /.col --> | |
| 60 | + </div> | |
| 61 | + <!-- /.row --> | |
| 62 | + </div> | |
| 63 | + <!-- /.page-content --> | |
| 64 | + </div> | |
| 65 | + </div> | |
| 66 | + <!-- /.main-content --> | |
| 67 | +</div> | |
| 68 | +<!-- /.main-container --> | |
| 69 | + | |
| 70 | + | |
| 71 | + <!-- 页面底部js¨ --> | |
| 72 | + <%@ include file="../../system/index/foot.jsp"%> | |
| 73 | + <!-- 下拉框 --> | |
| 74 | + <script src="static/ace/js/chosen.jquery.js"></script> | |
| 75 | + <!-- 日期框 --> | |
| 76 | + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script> | |
| 77 | + <!--提示框--> | |
| 78 | + <script type="text/javascript" src="static/js/jquery.tips.js"></script> | |
| 79 | + <script type="text/javascript"> | |
| 80 | + $(top.hangge()); | |
| 81 | + //保存 | |
| 82 | + function save(){ | |
| 83 | + if($("#CLASS_ID").val()==""){ | |
| 84 | + $("#CLASS_ID").tips({ | |
| 85 | + side:3, | |
| 86 | + msg:'请输入班级ID', | |
| 87 | + bg:'#AE81FF', | |
| 88 | + time:2 | |
| 89 | + }); | |
| 90 | + $("#CLASS_ID").focus(); | |
| 91 | + return false; | |
| 92 | + } | |
| 93 | + if($("#KEYBOARD_ID").val()==""){ | |
| 94 | + $("#KEYBOARD_ID").tips({ | |
| 95 | + side:3, | |
| 96 | + msg:'请输入键盘ID', | |
| 97 | + bg:'#AE81FF', | |
| 98 | + time:2 | |
| 99 | + }); | |
| 100 | + $("#KEYBOARD_ID").focus(); | |
| 101 | + return false; | |
| 102 | + } | |
| 103 | + $("#Form").submit(); | |
| 104 | + $("#zhongxin").hide(); | |
| 105 | + $("#zhongxin2").show(); | |
| 106 | + } | |
| 107 | + | |
| 108 | + $(function() { | |
| 109 | + //日期框 | |
| 110 | + $('.date-picker').datepicker({autoclose: true,todayHighlight: true}); | |
| 111 | + }); | |
| 112 | + </script> | |
| 113 | +</body> | |
| 114 | +</html> | |
| 0 | 115 | \ No newline at end of file | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/attachkeyboard/attachkeyboard_list.jsp
0 → 100644
| 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
| 2 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | |
| 3 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 4 | +<%@ taglib prefix="myelfun" uri="/WEB-INF/tld/elfun.tld"%> | |
| 5 | +<% | |
| 6 | + String path = request.getContextPath(); | |
| 7 | + String basePath = request.getScheme() + "://" | |
| 8 | + + request.getServerName() + ":" + request.getServerPort() | |
| 9 | + + path + "/"; | |
| 10 | +%> | |
| 11 | +<!DOCTYPE html> | |
| 12 | +<html lang="en"> | |
| 13 | +<head> | |
| 14 | +<base href="<%=basePath%>"> | |
| 15 | +<!-- 下拉框 --> | |
| 16 | +<link rel="stylesheet" href="static/ace/css/chosen.css" /> | |
| 17 | +<!-- jsp文件头和头部 --> | |
| 18 | +<%@ include file="../../system/index/top.jsp"%> | |
| 19 | +<!-- 日期框 --> | |
| 20 | +<link rel="stylesheet" href="static/ace/css/datepicker.css" /> | |
| 21 | +</head> | |
| 22 | +<body class="no-skin"> | |
| 23 | + | |
| 24 | + <!-- /section:basics/navbar.layout --> | |
| 25 | + <div class="main-container" id="main-container"> | |
| 26 | + <!-- /section:basics/sidebar --> | |
| 27 | + <div class="main-content"> | |
| 28 | + <div class="main-content-inner"> | |
| 29 | + <div class="page-content"> | |
| 30 | + <div class="row"> | |
| 31 | + <div class="col-xs-12"> | |
| 32 | + | |
| 33 | + <!-- 检索 --> | |
| 34 | + <form action="attachkeyboard/list.do" method="post" name="Form" id="Form"> | |
| 35 | + <table style="margin-top:5px;"> | |
| 36 | + | |
| 37 | + </table> | |
| 38 | + <!-- 检索 --> | |
| 39 | + | |
| 40 | + <table id="simple-table" class="table table-striped table-bordered table-hover" style="margin-top:5px;"> | |
| 41 | + <thead> | |
| 42 | + <tr> | |
| 43 | + <th class="center" style="width:35px;"> | |
| 44 | + <label class="pos-rel"><input type="checkbox" class="ace" id="zcheckbox" /><span class="lbl"></span></label> | |
| 45 | + </th> | |
| 46 | + <th class="center" style="width:50px;">序号</th> | |
| 47 | + <td class='center'>班级</td> | |
| 48 | + <th class="center">键盘</th> | |
| 49 | + <th class="center">操作</th> | |
| 50 | + </tr> | |
| 51 | + </thead> | |
| 52 | + | |
| 53 | + <tbody> | |
| 54 | + <!-- 开始循环 --> | |
| 55 | + <c:choose> | |
| 56 | + <c:when test="${not empty varList}"> | |
| 57 | + <c:if test="${QX.cha == 1 }"> | |
| 58 | + <c:forEach items="${varList}" var="var" varStatus="vs"> | |
| 59 | + <tr> | |
| 60 | + <td class='center'> | |
| 61 | + <label class="pos-rel"><input type='checkbox' name='ids' value="${var.ATTACHKEYBOARD_ID}" class="ace" /><span class="lbl"></span></label> | |
| 62 | + </td> | |
| 63 | + <td class='center' style="width: 30px;">${vs.index+1}</td> | |
| 64 | + <td class='center'>${myelfun:findClassName(var.CLASS_ID)}</td> | |
| 65 | + <td class='center'>${var.KEYBOARD_ID}</td> | |
| 66 | + <td class="center"> | |
| 67 | + <c:if test="${QX.edit != 1 && QX.del != 1 }"> | |
| 68 | + <span class="label label-large label-grey arrowed-in-right arrowed-in"><i class="ace-icon fa fa-lock" title="无权限"></i></span> | |
| 69 | + </c:if> | |
| 70 | + <div class="hidden-sm hidden-xs btn-group"> | |
| 71 | + <c:if test="${QX.edit == 1 }"> | |
| 72 | + <a class="btn btn-xs btn-success" title="编辑" onclick="edit('${var.ATTACHKEYBOARD_ID}');"> | |
| 73 | + <i class="ace-icon fa fa-pencil-square-o bigger-120" title="编辑"></i> | |
| 74 | + </a> | |
| 75 | + </c:if> | |
| 76 | + <c:if test="${QX.del == 1 }"> | |
| 77 | + <a class="btn btn-xs btn-danger" onclick="del('${var.ATTACHKEYBOARD_ID}');"> | |
| 78 | + <i class="ace-icon fa fa-trash-o bigger-120" title="删除"></i> | |
| 79 | + </a> | |
| 80 | + </c:if> | |
| 81 | + </div> | |
| 82 | + <div class="hidden-md hidden-lg"> | |
| 83 | + <div class="inline pos-rel"> | |
| 84 | + <button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto"> | |
| 85 | + <i class="ace-icon fa fa-cog icon-only bigger-110"></i> | |
| 86 | + </button> | |
| 87 | + | |
| 88 | + <ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close"> | |
| 89 | + <c:if test="${QX.edit == 1 }"> | |
| 90 | + <li> | |
| 91 | + <a style="cursor:pointer;" onclick="edit('${var.ATTACHKEYBOARD_ID}');" class="tooltip-success" data-rel="tooltip" title="修改"> | |
| 92 | + <span class="green"> | |
| 93 | + <i class="ace-icon fa fa-pencil-square-o bigger-120"></i> | |
| 94 | + </span> | |
| 95 | + </a> | |
| 96 | + </li> | |
| 97 | + </c:if> | |
| 98 | + <c:if test="${QX.del == 1 }"> | |
| 99 | + <li> | |
| 100 | + <a style="cursor:pointer;" onclick="del('${var.ATTACHKEYBOARD_ID}');" class="tooltip-error" data-rel="tooltip" title="删除"> | |
| 101 | + <span class="red"> | |
| 102 | + <i class="ace-icon fa fa-trash-o bigger-120"></i> | |
| 103 | + </span> | |
| 104 | + </a> | |
| 105 | + </li> | |
| 106 | + </c:if> | |
| 107 | + </ul> | |
| 108 | + </div> | |
| 109 | + </div> | |
| 110 | + </td> | |
| 111 | + </tr> | |
| 112 | + | |
| 113 | + </c:forEach> | |
| 114 | + </c:if> | |
| 115 | + <c:if test="${QX.cha == 0 }"> | |
| 116 | + <tr> | |
| 117 | + <td colspan="100" class="center">您无权查看</td> | |
| 118 | + </tr> | |
| 119 | + </c:if> | |
| 120 | + </c:when> | |
| 121 | + <c:otherwise> | |
| 122 | + <tr class="main_info"> | |
| 123 | + <td colspan="100" class="center" >没有相关数据</td> | |
| 124 | + </tr> | |
| 125 | + </c:otherwise> | |
| 126 | + </c:choose> | |
| 127 | + </tbody> | |
| 128 | + </table> | |
| 129 | + <div class="page-header position-relative"> | |
| 130 | + <table style="width:100%;"> | |
| 131 | + <tr> | |
| 132 | + <td style="vertical-align:top;"> | |
| 133 | + <c:if test="${QX.add == 1 }"> | |
| 134 | + <a class="btn btn-mini btn-success" onclick="add();">新增</a> | |
| 135 | + </c:if> | |
| 136 | + <c:if test="${QX.del == 1 }"> | |
| 137 | + <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a> | |
| 138 | + </c:if> | |
| 139 | + </td> | |
| 140 | + <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td> | |
| 141 | + </tr> | |
| 142 | + </table> | |
| 143 | + </div> | |
| 144 | + </form> | |
| 145 | + | |
| 146 | + </div> | |
| 147 | + <!-- /.col --> | |
| 148 | + </div> | |
| 149 | + <!-- /.row --> | |
| 150 | + </div> | |
| 151 | + <!-- /.page-content --> | |
| 152 | + </div> | |
| 153 | + </div> | |
| 154 | + <!-- /.main-content --> | |
| 155 | + | |
| 156 | + <!-- 返回顶部 --> | |
| 157 | + <a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse"> | |
| 158 | + <i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i> | |
| 159 | + </a> | |
| 160 | + | |
| 161 | + </div> | |
| 162 | + <!-- /.main-container --> | |
| 163 | + | |
| 164 | + <!-- basic scripts --> | |
| 165 | + <!-- 页面底部js¨ --> | |
| 166 | + <%@ include file="../../system/index/foot.jsp"%> | |
| 167 | + <!-- 删除时确认窗口 --> | |
| 168 | + <script src="static/ace/js/bootbox.js"></script> | |
| 169 | + <!-- ace scripts --> | |
| 170 | + <script src="static/ace/js/ace/ace.js"></script> | |
| 171 | + <!-- 下拉框 --> | |
| 172 | + <script src="static/ace/js/chosen.jquery.js"></script> | |
| 173 | + <!-- 日期框 --> | |
| 174 | + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script> | |
| 175 | + <!--提示框--> | |
| 176 | + <script type="text/javascript" src="static/js/jquery.tips.js"></script> | |
| 177 | + <script type="text/javascript"> | |
| 178 | + $(top.hangge());//关闭加载状态 | |
| 179 | + //检索 | |
| 180 | + function tosearch(){ | |
| 181 | + top.jzts(); | |
| 182 | + $("#Form").submit(); | |
| 183 | + } | |
| 184 | + $(function() { | |
| 185 | + | |
| 186 | + //日期框 | |
| 187 | + $('.date-picker').datepicker({ | |
| 188 | + autoclose: true, | |
| 189 | + todayHighlight: true | |
| 190 | + }); | |
| 191 | + | |
| 192 | + //下拉框 | |
| 193 | + if(!ace.vars['touch']) { | |
| 194 | + $('.chosen-select').chosen({allow_single_deselect:true}); | |
| 195 | + $(window) | |
| 196 | + .off('resize.chosen') | |
| 197 | + .on('resize.chosen', function() { | |
| 198 | + $('.chosen-select').each(function() { | |
| 199 | + var $this = $(this); | |
| 200 | + $this.next().css({'width': $this.parent().width()}); | |
| 201 | + }); | |
| 202 | + }).trigger('resize.chosen'); | |
| 203 | + $(document).on('settings.ace.chosen', function(e, event_name, event_val) { | |
| 204 | + if(event_name != 'sidebar_collapsed') return; | |
| 205 | + $('.chosen-select').each(function() { | |
| 206 | + var $this = $(this); | |
| 207 | + $this.next().css({'width': $this.parent().width()}); | |
| 208 | + }); | |
| 209 | + }); | |
| 210 | + $('#chosen-multiple-style .btn').on('click', function(e){ | |
| 211 | + var target = $(this).find('input[type=radio]'); | |
| 212 | + var which = parseInt(target.val()); | |
| 213 | + if(which == 2) $('#form-field-select-4').addClass('tag-input-style'); | |
| 214 | + else $('#form-field-select-4').removeClass('tag-input-style'); | |
| 215 | + }); | |
| 216 | + } | |
| 217 | + | |
| 218 | + | |
| 219 | + //复选框全选控制 | |
| 220 | + var active_class = 'active'; | |
| 221 | + $('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){ | |
| 222 | + var th_checked = this.checked;//checkbox inside "TH" table header | |
| 223 | + $(this).closest('table').find('tbody > tr').each(function(){ | |
| 224 | + var row = this; | |
| 225 | + if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true); | |
| 226 | + else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false); | |
| 227 | + }); | |
| 228 | + }); | |
| 229 | + }); | |
| 230 | + | |
| 231 | + //新增 | |
| 232 | + function add(){ | |
| 233 | + top.jzts(); | |
| 234 | + var diag = new top.Dialog(); | |
| 235 | + diag.Drag=true; | |
| 236 | + diag.Title ="新增"; | |
| 237 | + diag.URL = '<%=basePath%>attachkeyboard/goAdd.do'; | |
| 238 | + diag.Width = 450; | |
| 239 | + diag.Height = 355; | |
| 240 | + diag.Modal = true; //有无遮罩窗口 | |
| 241 | + diag. ShowMaxButton = true; //最大化按钮 | |
| 242 | + diag.ShowMinButton = true; //最小化按钮 | |
| 243 | + diag.CancelEvent = function(){ //关闭事件 | |
| 244 | + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){ | |
| 245 | + if('${page.currentPage}' == '0'){ | |
| 246 | + tosearch(); | |
| 247 | + }else{ | |
| 248 | + tosearch(); | |
| 249 | + } | |
| 250 | + } | |
| 251 | + diag.close(); | |
| 252 | + }; | |
| 253 | + diag.show(); | |
| 254 | + } | |
| 255 | + | |
| 256 | + //删除 | |
| 257 | + function del(Id){ | |
| 258 | + bootbox.confirm("确定要删除吗?", function(result) { | |
| 259 | + if(result) { | |
| 260 | + top.jzts(); | |
| 261 | + var url = "<%=basePath%>attachkeyboard/delete.do?ATTACHKEYBOARD_ID="+Id+"&tm="+new Date().getTime(); | |
| 262 | + $.get(url,function(data){ | |
| 263 | + tosearch(); | |
| 264 | + }); | |
| 265 | + } | |
| 266 | + }); | |
| 267 | + } | |
| 268 | + | |
| 269 | + //修改 | |
| 270 | + function edit(Id){ | |
| 271 | + top.jzts(); | |
| 272 | + var diag = new top.Dialog(); | |
| 273 | + diag.Drag=true; | |
| 274 | + diag.Title ="编辑"; | |
| 275 | + diag.URL = '<%=basePath%>attachkeyboard/goEdit.do?ATTACHKEYBOARD_ID='+Id; | |
| 276 | + diag.Width = 450; | |
| 277 | + diag.Height = 355; | |
| 278 | + diag.Modal = true; //有无遮罩窗口 | |
| 279 | + diag. ShowMaxButton = true; //最大化按钮 | |
| 280 | + diag.ShowMinButton = true; //最小化按钮 | |
| 281 | + diag.CancelEvent = function(){ //关闭事件 | |
| 282 | + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){ | |
| 283 | + tosearch(); | |
| 284 | + } | |
| 285 | + diag.close(); | |
| 286 | + }; | |
| 287 | + diag.show(); | |
| 288 | + } | |
| 289 | + | |
| 290 | + //批量操作 | |
| 291 | + function makeAll(msg){ | |
| 292 | + bootbox.confirm(msg, function(result) { | |
| 293 | + if(result) { | |
| 294 | + var str = ''; | |
| 295 | + for(var i=0;i < document.getElementsByName('ids').length;i++){ | |
| 296 | + if(document.getElementsByName('ids')[i].checked){ | |
| 297 | + if(str=='') str += document.getElementsByName('ids')[i].value; | |
| 298 | + else str += ',' + document.getElementsByName('ids')[i].value; | |
| 299 | + } | |
| 300 | + } | |
| 301 | + if(str==''){ | |
| 302 | + bootbox.dialog({ | |
| 303 | + message: "<span class='bigger-110'>您没有选择任何内容!</span>", | |
| 304 | + buttons: | |
| 305 | + { "button":{ "label":"确定", "className":"btn-sm btn-success"}} | |
| 306 | + }); | |
| 307 | + $("#zcheckbox").tips({ | |
| 308 | + side:1, | |
| 309 | + msg:'点这里全选', | |
| 310 | + bg:'#AE81FF', | |
| 311 | + time:8 | |
| 312 | + }); | |
| 313 | + return; | |
| 314 | + }else{ | |
| 315 | + if(msg == '确定要删除选中的数据吗?'){ | |
| 316 | + top.jzts(); | |
| 317 | + $.ajax({ | |
| 318 | + type: "POST", | |
| 319 | + url: '<%=basePath%>attachkeyboard/deleteAll.do?tm='+new Date().getTime(), | |
| 320 | + data: {DATA_IDS:str}, | |
| 321 | + dataType:'json', | |
| 322 | + //beforeSend: validateData, | |
| 323 | + cache: false, | |
| 324 | + success: function(data){ | |
| 325 | + $.each(data.list, function(i, list){ | |
| 326 | + tosearch(); | |
| 327 | + }); | |
| 328 | + } | |
| 329 | + }); | |
| 330 | + } | |
| 331 | + } | |
| 332 | + } | |
| 333 | + }); | |
| 334 | + }; | |
| 335 | + | |
| 336 | + //导出excel | |
| 337 | + function toExcel(){ | |
| 338 | + window.location.href='<%=basePath%>attachkeyboard/excel.do'; | |
| 339 | + } | |
| 340 | + </script> | |
| 341 | + | |
| 342 | + | |
| 343 | +</body> | |
| 344 | +</html> | |
| 0 | 345 | \ No newline at end of file | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/coursemanagement/coursemanagement_list.jsp
| ... | ... | @@ -34,22 +34,13 @@ |
| 34 | 34 | <form action="coursemanagement/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="TERM_ID" id="TERM_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="${terms}"> | |
| 42 | + <option value="${item.TERM_ID}">${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/event/event_edit.jsp
0 → 100644
| 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
| 2 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | |
| 3 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 4 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> | |
| 5 | +<% | |
| 6 | + String path = request.getContextPath(); | |
| 7 | + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; | |
| 8 | +%> | |
| 9 | +<!DOCTYPE html> | |
| 10 | +<html lang="en"> | |
| 11 | + <head> | |
| 12 | + <base href="<%=basePath%>"> | |
| 13 | + <!-- 下拉框 --> | |
| 14 | + <link rel="stylesheet" href="static/ace/css/chosen.css" /> | |
| 15 | + <!-- jsp文件头和头部 --> | |
| 16 | + <%@ include file="../../system/index/top.jsp"%> | |
| 17 | + <!-- 日期框 --> | |
| 18 | + <link rel="stylesheet" href="static/ace/css/datepicker.css" /> | |
| 19 | +</head> | |
| 20 | +<body class="no-skin"> | |
| 21 | +<!-- /section:basics/navbar.layout --> | |
| 22 | +<div class="main-container" id="main-container"> | |
| 23 | + <!-- /section:basics/sidebar --> | |
| 24 | + <div class="main-content"> | |
| 25 | + <div class="main-content-inner"> | |
| 26 | + <div class="page-content"> | |
| 27 | + <div class="row"> | |
| 28 | + <div class="col-xs-12"> | |
| 29 | + | |
| 30 | + <form action="event/${msg }.do" name="Form" id="Form" method="post"> | |
| 31 | + <input type="hidden" name="EVENT_ID" id="EVENT_ID" value="${pd.EVENT_ID}"/> | |
| 32 | + <div id="zhongxin" style="padding-top: 13px;"> | |
| 33 | + <table id="table_report" class="table table-striped table-bordered table-hover"> | |
| 34 | + <tr> | |
| 35 | + <td style="width:75px;text-align: right;padding-top: 13px;">时间名称:</td> | |
| 36 | + <td><input type="text" name="EVENT_NAME" id="EVENT_NAME" value="${pd.EVENT_NAME}" maxlength="255" placeholder="这里输入时间名称" title="时间名称" style="width:98%;"/></td> | |
| 37 | + </tr> | |
| 38 | + <tr> | |
| 39 | + <td style="width:75px;text-align: right;padding-top: 13px;">事件人:</td> | |
| 40 | + <td><input type="text" name="EVENT_USER" id="EVENT_USER" value="${pd.EVENT_USER}" maxlength="255" placeholder="这里输入事件人" title="事件人" style="width:98%;"/></td> | |
| 41 | + </tr> | |
| 42 | + <tr> | |
| 43 | + <td style="width:75px;text-align: right;padding-top: 13px;">事件类型:</td> | |
| 44 | + <td><input type="text" name="EVENT_TYPE" id="EVENT_TYPE" value="${pd.EVENT_TYPE}" maxlength="255" placeholder="这里输入事件类型" title="事件类型" style="width:98%;"/></td> | |
| 45 | + </tr> | |
| 46 | + <tr> | |
| 47 | + <td style="width:75px;text-align: right;padding-top: 13px;">事件起始时间:</td> | |
| 48 | + <td><input type="text" name="EVENT_START_TIME" id="EVENT_START_TIME" value="${pd.EVENT_START_TIME}" maxlength="255" placeholder="这里输入事件起始时间" title="事件起始时间" style="width:98%;"/></td> | |
| 49 | + </tr> | |
| 50 | + <tr> | |
| 51 | + <td style="width:75px;text-align: right;padding-top: 13px;">事件结束时间:</td> | |
| 52 | + <td><input type="text" name="EVENT_STOP_TIME" id="EVENT_STOP_TIME" value="${pd.EVENT_STOP_TIME}" maxlength="255" placeholder="这里输入事件结束时间" title="事件结束时间" style="width:98%;"/></td> | |
| 53 | + </tr> | |
| 54 | + <tr> | |
| 55 | + <td style="width:75px;text-align: right;padding-top: 13px;">客户ID:</td> | |
| 56 | + <td><input type="text" name="CLIENT_ID" id="CLIENT_ID" value="${pd.CLIENT_ID}" maxlength="255" placeholder="这里输入客户ID" title="客户ID" style="width:98%;"/></td> | |
| 57 | + </tr> | |
| 58 | + <tr> | |
| 59 | + <td style="width:75px;text-align: right;padding-top: 13px;">IP:</td> | |
| 60 | + <td><input type="text" name="EVENT_IP" id="EVENT_IP" value="${pd.EVENT_IP}" maxlength="255" placeholder="这里输入IP" title="IP" style="width:98%;"/></td> | |
| 61 | + </tr> | |
| 62 | + <tr> | |
| 63 | + <td style="text-align: center;" colspan="10"> | |
| 64 | + <a class="btn btn-mini btn-primary" onclick="save();">保存</a> | |
| 65 | + <a class="btn btn-mini btn-danger" onclick="top.Dialog.close();">取消</a> | |
| 66 | + </td> | |
| 67 | + </tr> | |
| 68 | + </table> | |
| 69 | + </div> | |
| 70 | + <div id="zhongxin2" class="center" style="display:none"><br/><br/><br/><br/><br/><img src="static/images/jiazai.gif" /><br/><h4 class="lighter block green">提交中...</h4></div> | |
| 71 | + </form> | |
| 72 | + </div> | |
| 73 | + <!-- /.col --> | |
| 74 | + </div> | |
| 75 | + <!-- /.row --> | |
| 76 | + </div> | |
| 77 | + <!-- /.page-content --> | |
| 78 | + </div> | |
| 79 | + </div> | |
| 80 | + <!-- /.main-content --> | |
| 81 | +</div> | |
| 82 | +<!-- /.main-container --> | |
| 83 | + | |
| 84 | + | |
| 85 | + <!-- 页面底部js¨ --> | |
| 86 | + <%@ include file="../../system/index/foot.jsp"%> | |
| 87 | + <!-- 下拉框 --> | |
| 88 | + <script src="static/ace/js/chosen.jquery.js"></script> | |
| 89 | + <!-- 日期框 --> | |
| 90 | + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script> | |
| 91 | + <!--提示框--> | |
| 92 | + <script type="text/javascript" src="static/js/jquery.tips.js"></script> | |
| 93 | + <script type="text/javascript"> | |
| 94 | + $(top.hangge()); | |
| 95 | + //保存 | |
| 96 | + function save(){ | |
| 97 | + if($("#EVENT_NAME").val()==""){ | |
| 98 | + $("#EVENT_NAME").tips({ | |
| 99 | + side:3, | |
| 100 | + msg:'请输入时间名称', | |
| 101 | + bg:'#AE81FF', | |
| 102 | + time:2 | |
| 103 | + }); | |
| 104 | + $("#EVENT_NAME").focus(); | |
| 105 | + return false; | |
| 106 | + } | |
| 107 | + if($("#EVENT_USER").val()==""){ | |
| 108 | + $("#EVENT_USER").tips({ | |
| 109 | + side:3, | |
| 110 | + msg:'请输入事件人', | |
| 111 | + bg:'#AE81FF', | |
| 112 | + time:2 | |
| 113 | + }); | |
| 114 | + $("#EVENT_USER").focus(); | |
| 115 | + return false; | |
| 116 | + } | |
| 117 | + if($("#EVENT_TYPE").val()==""){ | |
| 118 | + $("#EVENT_TYPE").tips({ | |
| 119 | + side:3, | |
| 120 | + msg:'请输入事件类型', | |
| 121 | + bg:'#AE81FF', | |
| 122 | + time:2 | |
| 123 | + }); | |
| 124 | + $("#EVENT_TYPE").focus(); | |
| 125 | + return false; | |
| 126 | + } | |
| 127 | + if($("#EVENT_START_TIME").val()==""){ | |
| 128 | + $("#EVENT_START_TIME").tips({ | |
| 129 | + side:3, | |
| 130 | + msg:'请输入事件起始时间', | |
| 131 | + bg:'#AE81FF', | |
| 132 | + time:2 | |
| 133 | + }); | |
| 134 | + $("#EVENT_START_TIME").focus(); | |
| 135 | + return false; | |
| 136 | + } | |
| 137 | + if($("#EVENT_STOP_TIME").val()==""){ | |
| 138 | + $("#EVENT_STOP_TIME").tips({ | |
| 139 | + side:3, | |
| 140 | + msg:'请输入事件结束时间', | |
| 141 | + bg:'#AE81FF', | |
| 142 | + time:2 | |
| 143 | + }); | |
| 144 | + $("#EVENT_STOP_TIME").focus(); | |
| 145 | + return false; | |
| 146 | + } | |
| 147 | + if($("#CLIENT_ID").val()==""){ | |
| 148 | + $("#CLIENT_ID").tips({ | |
| 149 | + side:3, | |
| 150 | + msg:'请输入客户ID', | |
| 151 | + bg:'#AE81FF', | |
| 152 | + time:2 | |
| 153 | + }); | |
| 154 | + $("#CLIENT_ID").focus(); | |
| 155 | + return false; | |
| 156 | + } | |
| 157 | + if($("#EVENT_IP").val()==""){ | |
| 158 | + $("#EVENT_IP").tips({ | |
| 159 | + side:3, | |
| 160 | + msg:'请输入IP', | |
| 161 | + bg:'#AE81FF', | |
| 162 | + time:2 | |
| 163 | + }); | |
| 164 | + $("#EVENT_IP").focus(); | |
| 165 | + return false; | |
| 166 | + } | |
| 167 | + $("#Form").submit(); | |
| 168 | + $("#zhongxin").hide(); | |
| 169 | + $("#zhongxin2").show(); | |
| 170 | + } | |
| 171 | + | |
| 172 | + $(function() { | |
| 173 | + //日期框 | |
| 174 | + $('.date-picker').datepicker({autoclose: true,todayHighlight: true}); | |
| 175 | + }); | |
| 176 | + </script> | |
| 177 | +</body> | |
| 178 | +</html> | |
| 0 | 179 | \ No newline at end of file | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/event/event_list.jsp
0 → 100644
| 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
| 2 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | |
| 3 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 4 | +<% | |
| 5 | + String path = request.getContextPath(); | |
| 6 | + String basePath = request.getScheme() + "://" | |
| 7 | + + request.getServerName() + ":" + request.getServerPort() | |
| 8 | + + path + "/"; | |
| 9 | +%> | |
| 10 | +<!DOCTYPE html> | |
| 11 | +<html lang="en"> | |
| 12 | +<head> | |
| 13 | +<base href="<%=basePath%>"> | |
| 14 | +<!-- 下拉框 --> | |
| 15 | +<link rel="stylesheet" href="static/ace/css/chosen.css" /> | |
| 16 | +<!-- jsp文件头和头部 --> | |
| 17 | +<%@ include file="../../system/index/top.jsp"%> | |
| 18 | +<!-- 日期框 --> | |
| 19 | +<link rel="stylesheet" href="static/ace/css/datepicker.css" /> | |
| 20 | +</head> | |
| 21 | +<body class="no-skin"> | |
| 22 | + | |
| 23 | + <!-- /section:basics/navbar.layout --> | |
| 24 | + <div class="main-container" id="main-container"> | |
| 25 | + <!-- /section:basics/sidebar --> | |
| 26 | + <div class="main-content"> | |
| 27 | + <div class="main-content-inner"> | |
| 28 | + <div class="page-content"> | |
| 29 | + <div class="row"> | |
| 30 | + <div class="col-xs-12"> | |
| 31 | + | |
| 32 | + <!-- 检索 --> | |
| 33 | + <form action="event/list.do" method="post" name="Form" id="Form"> | |
| 34 | + <table style="margin-top:5px;"> | |
| 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> | |
| 58 | + </tr> | |
| 59 | + </table> | |
| 60 | + <!-- 检索 --> | |
| 61 | + | |
| 62 | + <table id="simple-table" class="table table-striped table-bordered table-hover" style="margin-top:5px;"> | |
| 63 | + <thead> | |
| 64 | + <tr> | |
| 65 | + <th class="center" style="width:35px;"> | |
| 66 | + <label class="pos-rel"><input type="checkbox" class="ace" id="zcheckbox" /><span class="lbl"></span></label> | |
| 67 | + </th> | |
| 68 | + <th class="center" style="width:50px;">序号</th> | |
| 69 | + <th class="center">时间名称</th> | |
| 70 | + <th class="center">事件人</th> | |
| 71 | + <th class="center">事件类型</th> | |
| 72 | + <th class="center">事件起始时间</th> | |
| 73 | + <th class="center">事件结束时间</th> | |
| 74 | + <th class="center">客户ID</th> | |
| 75 | + <th class="center">IP</th> | |
| 76 | + <th class="center">操作</th> | |
| 77 | + </tr> | |
| 78 | + </thead> | |
| 79 | + | |
| 80 | + <tbody> | |
| 81 | + <!-- 开始循环 --> | |
| 82 | + <c:choose> | |
| 83 | + <c:when test="${not empty varList}"> | |
| 84 | + <c:if test="${QX.cha == 1 }"> | |
| 85 | + <c:forEach items="${varList}" var="var" varStatus="vs"> | |
| 86 | + <tr> | |
| 87 | + <td class='center'> | |
| 88 | + <label class="pos-rel"><input type='checkbox' name='ids' value="${var.EVENT_ID}" class="ace" /><span class="lbl"></span></label> | |
| 89 | + </td> | |
| 90 | + <td class='center' style="width: 30px;">${vs.index+1}</td> | |
| 91 | + <td class='center'>${var.EVENT_NAME}</td> | |
| 92 | + <td class='center'>${var.EVENT_USER}</td> | |
| 93 | + <td class='center'>${var.EVENT_TYPE}</td> | |
| 94 | + <td class='center'>${var.EVENT_START_TIME}</td> | |
| 95 | + <td class='center'>${var.EVENT_STOP_TIME}</td> | |
| 96 | + <td class='center'>${var.CLIENT_ID}</td> | |
| 97 | + <td class='center'>${var.EVENT_IP}</td> | |
| 98 | + <td class="center"> | |
| 99 | + <c:if test="${QX.edit != 1 && QX.del != 1 }"> | |
| 100 | + <span class="label label-large label-grey arrowed-in-right arrowed-in"><i class="ace-icon fa fa-lock" title="无权限"></i></span> | |
| 101 | + </c:if> | |
| 102 | + <div class="hidden-sm hidden-xs btn-group"> | |
| 103 | + <c:if test="${QX.edit == 1 }"> | |
| 104 | + <a class="btn btn-xs btn-success" title="编辑" onclick="edit('${var.EVENT_ID}');"> | |
| 105 | + <i class="ace-icon fa fa-pencil-square-o bigger-120" title="编辑"></i> | |
| 106 | + </a> | |
| 107 | + </c:if> | |
| 108 | + <c:if test="${QX.del == 1 }"> | |
| 109 | + <a class="btn btn-xs btn-danger" onclick="del('${var.EVENT_ID}');"> | |
| 110 | + <i class="ace-icon fa fa-trash-o bigger-120" title="删除"></i> | |
| 111 | + </a> | |
| 112 | + </c:if> | |
| 113 | + </div> | |
| 114 | + <div class="hidden-md hidden-lg"> | |
| 115 | + <div class="inline pos-rel"> | |
| 116 | + <button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto"> | |
| 117 | + <i class="ace-icon fa fa-cog icon-only bigger-110"></i> | |
| 118 | + </button> | |
| 119 | + | |
| 120 | + <ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close"> | |
| 121 | + <c:if test="${QX.edit == 1 }"> | |
| 122 | + <li> | |
| 123 | + <a style="cursor:pointer;" onclick="edit('${var.EVENT_ID}');" class="tooltip-success" data-rel="tooltip" title="修改"> | |
| 124 | + <span class="green"> | |
| 125 | + <i class="ace-icon fa fa-pencil-square-o bigger-120"></i> | |
| 126 | + </span> | |
| 127 | + </a> | |
| 128 | + </li> | |
| 129 | + </c:if> | |
| 130 | + <c:if test="${QX.del == 1 }"> | |
| 131 | + <li> | |
| 132 | + <a style="cursor:pointer;" onclick="del('${var.EVENT_ID}');" class="tooltip-error" data-rel="tooltip" title="删除"> | |
| 133 | + <span class="red"> | |
| 134 | + <i class="ace-icon fa fa-trash-o bigger-120"></i> | |
| 135 | + </span> | |
| 136 | + </a> | |
| 137 | + </li> | |
| 138 | + </c:if> | |
| 139 | + </ul> | |
| 140 | + </div> | |
| 141 | + </div> | |
| 142 | + </td> | |
| 143 | + </tr> | |
| 144 | + | |
| 145 | + </c:forEach> | |
| 146 | + </c:if> | |
| 147 | + <c:if test="${QX.cha == 0 }"> | |
| 148 | + <tr> | |
| 149 | + <td colspan="100" class="center">您无权查看</td> | |
| 150 | + </tr> | |
| 151 | + </c:if> | |
| 152 | + </c:when> | |
| 153 | + <c:otherwise> | |
| 154 | + <tr class="main_info"> | |
| 155 | + <td colspan="100" class="center" >没有相关数据</td> | |
| 156 | + </tr> | |
| 157 | + </c:otherwise> | |
| 158 | + </c:choose> | |
| 159 | + </tbody> | |
| 160 | + </table> | |
| 161 | + <div class="page-header position-relative"> | |
| 162 | + <table style="width:100%;"> | |
| 163 | + <tr> | |
| 164 | + <td style="vertical-align:top;"> | |
| 165 | + <c:if test="${QX.add == 1 }"> | |
| 166 | + <a class="btn btn-mini btn-success" onclick="add();">新增</a> | |
| 167 | + </c:if> | |
| 168 | + <c:if test="${QX.del == 1 }"> | |
| 169 | + <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a> | |
| 170 | + </c:if> | |
| 171 | + </td> | |
| 172 | + <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td> | |
| 173 | + </tr> | |
| 174 | + </table> | |
| 175 | + </div> | |
| 176 | + </form> | |
| 177 | + | |
| 178 | + </div> | |
| 179 | + <!-- /.col --> | |
| 180 | + </div> | |
| 181 | + <!-- /.row --> | |
| 182 | + </div> | |
| 183 | + <!-- /.page-content --> | |
| 184 | + </div> | |
| 185 | + </div> | |
| 186 | + <!-- /.main-content --> | |
| 187 | + | |
| 188 | + <!-- 返回顶部 --> | |
| 189 | + <a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse"> | |
| 190 | + <i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i> | |
| 191 | + </a> | |
| 192 | + | |
| 193 | + </div> | |
| 194 | + <!-- /.main-container --> | |
| 195 | + | |
| 196 | + <!-- basic scripts --> | |
| 197 | + <!-- 页面底部js¨ --> | |
| 198 | + <%@ include file="../../system/index/foot.jsp"%> | |
| 199 | + <!-- 删除时确认窗口 --> | |
| 200 | + <script src="static/ace/js/bootbox.js"></script> | |
| 201 | + <!-- ace scripts --> | |
| 202 | + <script src="static/ace/js/ace/ace.js"></script> | |
| 203 | + <!-- 下拉框 --> | |
| 204 | + <script src="static/ace/js/chosen.jquery.js"></script> | |
| 205 | + <!-- 日期框 --> | |
| 206 | + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script> | |
| 207 | + <!--提示框--> | |
| 208 | + <script type="text/javascript" src="static/js/jquery.tips.js"></script> | |
| 209 | + <script type="text/javascript"> | |
| 210 | + $(top.hangge());//关闭加载状态 | |
| 211 | + //检索 | |
| 212 | + function tosearch(){ | |
| 213 | + top.jzts(); | |
| 214 | + $("#Form").submit(); | |
| 215 | + } | |
| 216 | + $(function() { | |
| 217 | + | |
| 218 | + //日期框 | |
| 219 | + $('.date-picker').datepicker({ | |
| 220 | + autoclose: true, | |
| 221 | + todayHighlight: true | |
| 222 | + }); | |
| 223 | + | |
| 224 | + //下拉框 | |
| 225 | + if(!ace.vars['touch']) { | |
| 226 | + $('.chosen-select').chosen({allow_single_deselect:true}); | |
| 227 | + $(window) | |
| 228 | + .off('resize.chosen') | |
| 229 | + .on('resize.chosen', function() { | |
| 230 | + $('.chosen-select').each(function() { | |
| 231 | + var $this = $(this); | |
| 232 | + $this.next().css({'width': $this.parent().width()}); | |
| 233 | + }); | |
| 234 | + }).trigger('resize.chosen'); | |
| 235 | + $(document).on('settings.ace.chosen', function(e, event_name, event_val) { | |
| 236 | + if(event_name != 'sidebar_collapsed') return; | |
| 237 | + $('.chosen-select').each(function() { | |
| 238 | + var $this = $(this); | |
| 239 | + $this.next().css({'width': $this.parent().width()}); | |
| 240 | + }); | |
| 241 | + }); | |
| 242 | + $('#chosen-multiple-style .btn').on('click', function(e){ | |
| 243 | + var target = $(this).find('input[type=radio]'); | |
| 244 | + var which = parseInt(target.val()); | |
| 245 | + if(which == 2) $('#form-field-select-4').addClass('tag-input-style'); | |
| 246 | + else $('#form-field-select-4').removeClass('tag-input-style'); | |
| 247 | + }); | |
| 248 | + } | |
| 249 | + | |
| 250 | + | |
| 251 | + //复选框全选控制 | |
| 252 | + var active_class = 'active'; | |
| 253 | + $('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){ | |
| 254 | + var th_checked = this.checked;//checkbox inside "TH" table header | |
| 255 | + $(this).closest('table').find('tbody > tr').each(function(){ | |
| 256 | + var row = this; | |
| 257 | + if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true); | |
| 258 | + else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false); | |
| 259 | + }); | |
| 260 | + }); | |
| 261 | + }); | |
| 262 | + | |
| 263 | + //新增 | |
| 264 | + function add(){ | |
| 265 | + top.jzts(); | |
| 266 | + var diag = new top.Dialog(); | |
| 267 | + diag.Drag=true; | |
| 268 | + diag.Title ="新增"; | |
| 269 | + diag.URL = '<%=basePath%>event/goAdd.do'; | |
| 270 | + diag.Width = 450; | |
| 271 | + diag.Height = 355; | |
| 272 | + diag.Modal = true; //有无遮罩窗口 | |
| 273 | + diag. ShowMaxButton = true; //最大化按钮 | |
| 274 | + diag.ShowMinButton = true; //最小化按钮 | |
| 275 | + diag.CancelEvent = function(){ //关闭事件 | |
| 276 | + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){ | |
| 277 | + if('${page.currentPage}' == '0'){ | |
| 278 | + tosearch(); | |
| 279 | + }else{ | |
| 280 | + tosearch(); | |
| 281 | + } | |
| 282 | + } | |
| 283 | + diag.close(); | |
| 284 | + }; | |
| 285 | + diag.show(); | |
| 286 | + } | |
| 287 | + | |
| 288 | + //删除 | |
| 289 | + function del(Id){ | |
| 290 | + bootbox.confirm("确定要删除吗?", function(result) { | |
| 291 | + if(result) { | |
| 292 | + top.jzts(); | |
| 293 | + var url = "<%=basePath%>event/delete.do?EVENT_ID="+Id+"&tm="+new Date().getTime(); | |
| 294 | + $.get(url,function(data){ | |
| 295 | + tosearch(); | |
| 296 | + }); | |
| 297 | + } | |
| 298 | + }); | |
| 299 | + } | |
| 300 | + | |
| 301 | + //修改 | |
| 302 | + function edit(Id){ | |
| 303 | + top.jzts(); | |
| 304 | + var diag = new top.Dialog(); | |
| 305 | + diag.Drag=true; | |
| 306 | + diag.Title ="编辑"; | |
| 307 | + diag.URL = '<%=basePath%>event/goEdit.do?EVENT_ID='+Id; | |
| 308 | + diag.Width = 450; | |
| 309 | + diag.Height = 355; | |
| 310 | + diag.Modal = true; //有无遮罩窗口 | |
| 311 | + diag. ShowMaxButton = true; //最大化按钮 | |
| 312 | + diag.ShowMinButton = true; //最小化按钮 | |
| 313 | + diag.CancelEvent = function(){ //关闭事件 | |
| 314 | + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){ | |
| 315 | + tosearch(); | |
| 316 | + } | |
| 317 | + diag.close(); | |
| 318 | + }; | |
| 319 | + diag.show(); | |
| 320 | + } | |
| 321 | + | |
| 322 | + //批量操作 | |
| 323 | + function makeAll(msg){ | |
| 324 | + bootbox.confirm(msg, function(result) { | |
| 325 | + if(result) { | |
| 326 | + var str = ''; | |
| 327 | + for(var i=0;i < document.getElementsByName('ids').length;i++){ | |
| 328 | + if(document.getElementsByName('ids')[i].checked){ | |
| 329 | + if(str=='') str += document.getElementsByName('ids')[i].value; | |
| 330 | + else str += ',' + document.getElementsByName('ids')[i].value; | |
| 331 | + } | |
| 332 | + } | |
| 333 | + if(str==''){ | |
| 334 | + bootbox.dialog({ | |
| 335 | + message: "<span class='bigger-110'>您没有选择任何内容!</span>", | |
| 336 | + buttons: | |
| 337 | + { "button":{ "label":"确定", "className":"btn-sm btn-success"}} | |
| 338 | + }); | |
| 339 | + $("#zcheckbox").tips({ | |
| 340 | + side:1, | |
| 341 | + msg:'点这里全选', | |
| 342 | + bg:'#AE81FF', | |
| 343 | + time:8 | |
| 344 | + }); | |
| 345 | + return; | |
| 346 | + }else{ | |
| 347 | + if(msg == '确定要删除选中的数据吗?'){ | |
| 348 | + top.jzts(); | |
| 349 | + $.ajax({ | |
| 350 | + type: "POST", | |
| 351 | + url: '<%=basePath%>event/deleteAll.do?tm='+new Date().getTime(), | |
| 352 | + data: {DATA_IDS:str}, | |
| 353 | + dataType:'json', | |
| 354 | + //beforeSend: validateData, | |
| 355 | + cache: false, | |
| 356 | + success: function(data){ | |
| 357 | + $.each(data.list, function(i, list){ | |
| 358 | + tosearch(); | |
| 359 | + }); | |
| 360 | + } | |
| 361 | + }); | |
| 362 | + } | |
| 363 | + } | |
| 364 | + } | |
| 365 | + }); | |
| 366 | + }; | |
| 367 | + | |
| 368 | + //导出excel | |
| 369 | + function toExcel(){ | |
| 370 | + window.location.href='<%=basePath%>event/excel.do'; | |
| 371 | + } | |
| 372 | + </script> | |
| 373 | + | |
| 374 | + | |
| 375 | +</body> | |
| 376 | +</html> | |
| 0 | 377 | \ No newline at end of file | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/schoolgradesubject/schoolgradesubject_edit.jsp
| ... | ... | @@ -33,15 +33,33 @@ |
| 33 | 33 | <table id="table_report" class="table table-striped table-bordered table-hover"> |
| 34 | 34 | <tr> |
| 35 | 35 | <td style="width:75px;text-align: right;padding-top: 13px;">学校:</td> |
| 36 | - <td><input type="number" name="SCHOOL_ID" id="SCHOOL_ID" value="${pd.SCHOOL_ID}" maxlength="32" placeholder="这里输入学校" title="学校" style="width:98%;"/></td> | |
| 36 | + <td> | |
| 37 | + <select class="chosen-select form-control" name="SCHOOL_ID" id="SCHOOL_ID" data-placeholder="这里输入所属学校"> | |
| 38 | + <c:forEach var="item" items="${schools}"> | |
| 39 | + <option value="${item.ID}" <c:if test="${pd.SCHOOL_ID==item.ID}">selected="true"</c:if>>${item.NAME}</option> | |
| 40 | + </c:forEach> | |
| 41 | + </select> | |
| 42 | + </td> | |
| 37 | 43 | </tr> |
| 38 | 44 | <tr> |
| 39 | 45 | <td style="width:75px;text-align: right;padding-top: 13px;">年级:</td> |
| 40 | - <td><input type="number" name="GRADE_ID" id="GRADE_ID" value="${pd.GRADE_ID}" maxlength="32" placeholder="这里输入年级" title="年级" style="width:98%;"/></td> | |
| 46 | + <td> | |
| 47 | + <select class="chosen-select form-control" name="GRADE_ID" id="GRADE_ID" data-placeholder="这里输入所属学校"> | |
| 48 | + <c:forEach var="item" items="${grades}"> | |
| 49 | + <option value="${item.ID}" <c:if test="${pd.GRADE_ID==item.ID}">selected="true"</c:if>>${item.NAME}</option> | |
| 50 | + </c:forEach> | |
| 51 | + </select> | |
| 52 | + </td> | |
| 41 | 53 | </tr> |
| 42 | 54 | <tr> |
| 43 | 55 | <td style="width:75px;text-align: right;padding-top: 13px;">科目:</td> |
| 44 | - <td><input type="number" name="SUBJECT_ID" id="SUBJECT_ID" value="${pd.SUBJECT_ID}" maxlength="32" placeholder="这里输入科目" title="科目" style="width:98%;"/></td> | |
| 56 | + <td> | |
| 57 | + <select class="chosen-select form-control" name="SUBJECT_ID" id="SUBJECT_ID" data-placeholder="这里输入所属学校"> | |
| 58 | + <c:forEach var="item" items="${subjects}"> | |
| 59 | + <option value="${item.ID}" <c:if test="${pd.SUBJECT_ID==item.ID}">selected="true"</c:if>>${item.CNAME}</option> | |
| 60 | + </c:forEach> | |
| 61 | + </select> | |
| 62 | + </td> | |
| 45 | 63 | </tr> |
| 46 | 64 | <tr> |
| 47 | 65 | <td style="text-align: center;" colspan="10"> | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/schoolgradesubject/schoolgradesubject_list.jsp
| 1 | 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
| 2 | 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> |
| 3 | 3 | <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> |
| 4 | +<%@ taglib prefix="myelfun" uri="/WEB-INF/tld/elfun.tld"%> | |
| 4 | 5 | <% |
| 5 | 6 | String path = request.getContextPath(); |
| 6 | 7 | String basePath = request.getScheme() + "://" |
| ... | ... | @@ -33,27 +34,15 @@ |
| 33 | 34 | <form action="schoolgradesubject/list.do" method="post" name="Form" id="Form"> |
| 34 | 35 | <table style="margin-top:5px;"> |
| 35 | 36 | <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 | 37 | <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;"> | |
| 38 | + <select class="chosen-select form-control" name="SCHOOL_ID" id="SCHOOL_ID" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
| 48 | 39 | <option value=""></option> |
| 49 | 40 | <option value="">全部</option> |
| 50 | - <option value="">1</option> | |
| 51 | - <option value="">2</option> | |
| 41 | + <c:forEach var="item" items="${schools}"> | |
| 42 | + <option value="${item.ID}">${item.NAME}</option> | |
| 43 | + </c:forEach> | |
| 52 | 44 | </select> |
| 53 | 45 | </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 | 46 | <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 | 47 | </tr> |
| 59 | 48 | </table> |
| ... | ... | @@ -84,9 +73,9 @@ |
| 84 | 73 | <label class="pos-rel"><input type='checkbox' name='ids' value="${var.SCHOOLGRADESUBJECT_ID}" class="ace" /><span class="lbl"></span></label> |
| 85 | 74 | </td> |
| 86 | 75 | <td class='center' style="width: 30px;">${vs.index+1}</td> |
| 87 | - <td class='center'>${var.SCHOOL_ID}</td> | |
| 88 | - <td class='center'>${var.GRADE_ID}</td> | |
| 89 | - <td class='center'>${var.SUBJECT_ID}</td> | |
| 76 | + <td class='center'>${myelfun:findSchoolName(var.SCHOOL_ID)}</td> | |
| 77 | + <td class='center'>${myelfun:findGradeName(var.GRADE_ID)}</td> | |
| 78 | + <td class='center'>${myelfun:findSubjectCName(var.SUBJECT_ID)}</td> | |
| 90 | 79 | <td class="center"> |
| 91 | 80 | <c:if test="${QX.edit != 1 && QX.del != 1 }"> |
| 92 | 81 | <span class="label label-large label-grey arrowed-in-right arrowed-in"><i class="ace-icon fa fa-lock" title="无权限"></i></span> | ... | ... |
WebRoot/afterService/document/高思答题器售后维修流程.pdf
0 → 100644
No preview for this file type
WebRoot/afterService/gsdt_info.html
| ... | ... | @@ -74,8 +74,7 @@ |
| 74 | 74 | <select id="system" class="form-control"> |
| 75 | 75 | <option value="请选择">请选择</option> |
| 76 | 76 | <option value="Windows">Windows</option> |
| 77 | - <option value="Mac">Mac</option> | |
| 78 | - <option value="IOS">IOS</option> | |
| 77 | + <option value="Mac">安卓(小鱼)</option> | |
| 79 | 78 | </select> |
| 80 | 79 | </div> |
| 81 | 80 | </div> |
| ... | ... | @@ -84,8 +83,8 @@ |
| 84 | 83 | <div class="controls col-md-12" style="padding:0;"> |
| 85 | 84 | <select id="softname" class="form-control"> |
| 86 | 85 | <option value="请选择">请选择</option> |
| 87 | - <option value="互动课堂">互动课堂</option> | |
| 88 | - <option value="配对工具Match Tool">配对工具Match Tool</option> | |
| 86 | + <option value="互动课堂">爱学习课堂答题器软件</option> | |
| 87 | + <option value="配对工具Match Tool">爱学习主讲端</option> | |
| 89 | 88 | </select> |
| 90 | 89 | </div> |
| 91 | 90 | </div> | ... | ... |
WebRoot/afterService/gsindex.html
| ... | ... | @@ -105,7 +105,7 @@ |
| 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">产品售后维修流程</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 | 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 | } | ... | ... |
WebRoot/afterService/gsinfo.html
| ... | ... | @@ -74,8 +74,7 @@ |
| 74 | 74 | <select id="system" class="form-control"> |
| 75 | 75 | <option value="请选择">请选择</option> |
| 76 | 76 | <option value="Windows">Windows</option> |
| 77 | - <option value="Mac">Mac</option> | |
| 78 | - <option value="IOS">IOS</option> | |
| 77 | + <option value="Mac">安卓(小鱼)</option> | |
| 79 | 78 | </select> |
| 80 | 79 | </div> |
| 81 | 80 | </div> |
| ... | ... | @@ -84,8 +83,8 @@ |
| 84 | 83 | <div class="controls col-md-12" style="padding:0;"> |
| 85 | 84 | <select id="softname" class="form-control"> |
| 86 | 85 | <option value="请选择">请选择</option> |
| 87 | - <option value="互动课堂">互动课堂</option> | |
| 88 | - <option value="配对工具Match Tool">配对工具Match Tool</option> | |
| 86 | + <option value="互动课堂">爱学习课堂答题器软件</option> | |
| 87 | + <option value="配对工具Match Tool">爱学习主讲端</option> | |
| 89 | 88 | </select> |
| 90 | 89 | </div> |
| 91 | 90 | </div> | ... | ... |
resources/mybatis1/api/V1Mapper.xml
resources/mybatis1/sunvote/AttachKeyboardMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
| 3 | +<mapper namespace="AttachKeyboardMapper"> | |
| 4 | + | |
| 5 | + <!--表名 --> | |
| 6 | + <sql id="tableName"> | |
| 7 | + SV_ATTACHKEYBOARD | |
| 8 | + </sql> | |
| 9 | + | |
| 10 | + <!-- 字段 --> | |
| 11 | + <sql id="Field"> | |
| 12 | + CLASS_ID, | |
| 13 | + KEYBOARD_ID, | |
| 14 | + ATTACHKEYBOARD_ID | |
| 15 | + </sql> | |
| 16 | + | |
| 17 | + <!-- 字段值 --> | |
| 18 | + <sql id="FieldValue"> | |
| 19 | + #{CLASS_ID}, | |
| 20 | + #{KEYBOARD_ID}, | |
| 21 | + #{ATTACHKEYBOARD_ID} | |
| 22 | + </sql> | |
| 23 | + | |
| 24 | + <!-- 新增--> | |
| 25 | + <insert id="save" parameterType="pd"> | |
| 26 | + insert into | |
| 27 | + <include refid="tableName"></include> | |
| 28 | + ( | |
| 29 | + <include refid="Field"></include> | |
| 30 | + ) values ( | |
| 31 | + <include refid="FieldValue"></include> | |
| 32 | + ) | |
| 33 | + </insert> | |
| 34 | + | |
| 35 | + <!-- 删除--> | |
| 36 | + <delete id="delete" parameterType="pd"> | |
| 37 | + delete from | |
| 38 | + <include refid="tableName"></include> | |
| 39 | + where | |
| 40 | + ATTACHKEYBOARD_ID = #{ATTACHKEYBOARD_ID} | |
| 41 | + </delete> | |
| 42 | + | |
| 43 | + <!-- 修改 --> | |
| 44 | + <update id="edit" parameterType="pd"> | |
| 45 | + update | |
| 46 | + <include refid="tableName"></include> | |
| 47 | + set | |
| 48 | + CLASS_ID = #{CLASS_ID}, | |
| 49 | + KEYBOARD_ID = #{KEYBOARD_ID}, | |
| 50 | + ATTACHKEYBOARD_ID = ATTACHKEYBOARD_ID | |
| 51 | + where | |
| 52 | + ATTACHKEYBOARD_ID = #{ATTACHKEYBOARD_ID} | |
| 53 | + </update> | |
| 54 | + | |
| 55 | + <!-- 通过ID获取数据 --> | |
| 56 | + <select id="findById" parameterType="pd" resultType="pd"> | |
| 57 | + select | |
| 58 | + <include refid="Field"></include> | |
| 59 | + from | |
| 60 | + <include refid="tableName"></include> | |
| 61 | + where | |
| 62 | + ATTACHKEYBOARD_ID = #{ATTACHKEYBOARD_ID} | |
| 63 | + </select> | |
| 64 | + | |
| 65 | + <!-- 列表 --> | |
| 66 | + <select id="datalistPage" parameterType="page" resultType="pd"> | |
| 67 | + select | |
| 68 | + <include refid="Field"></include> | |
| 69 | + from | |
| 70 | + <include refid="tableName"></include> | |
| 71 | + where 1=1 | |
| 72 | + <if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 --> | |
| 73 | + and | |
| 74 | + ( | |
| 75 | + <!-- 根据需求自己加检索条件 | |
| 76 | + 字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
| 77 | + or | |
| 78 | + 字段2 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
| 79 | + --> | |
| 80 | + ) | |
| 81 | + </if> | |
| 82 | + </select> | |
| 83 | + | |
| 84 | + <!-- 列表(全部) --> | |
| 85 | + <select id="listAll" parameterType="pd" resultType="pd"> | |
| 86 | + select | |
| 87 | + <include refid="Field"></include> | |
| 88 | + from | |
| 89 | + <include refid="tableName"></include> | |
| 90 | + </select> | |
| 91 | + | |
| 92 | + <!-- 列表(全部) --> | |
| 93 | + <select id="listAllClassId" parameterType="pd" resultType="pd"> | |
| 94 | + select | |
| 95 | + KEYBOARD_ID | |
| 96 | + from | |
| 97 | + <include refid="tableName"></include> | |
| 98 | + where 1 = 1 | |
| 99 | + <if test="CLASS_ID != null and CLASS_ID != ''"><!-- 关键词检索 --> | |
| 100 | + and CLASS_ID = #{CLASS_ID} | |
| 101 | + </if> | |
| 102 | + </select> | |
| 103 | + | |
| 104 | + <!-- 批量删除 --> | |
| 105 | + <delete id="deleteAll" parameterType="String"> | |
| 106 | + delete from | |
| 107 | + <include refid="tableName"></include> | |
| 108 | + where | |
| 109 | + ATTACHKEYBOARD_ID in | |
| 110 | + <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> | |
| 111 | + #{item} | |
| 112 | + </foreach> | |
| 113 | + </delete> | |
| 114 | + | |
| 115 | + <!-- fh313596790qq(青苔) --> | |
| 116 | +</mapper> | |
| 0 | 117 | \ No newline at end of file | ... | ... |
resources/mybatis1/sunvote/CourseManagementMapper.xml
| ... | ... | @@ -106,11 +106,14 @@ |
| 106 | 106 | <if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 --> |
| 107 | 107 | and |
| 108 | 108 | ( |
| 109 | - <!-- 根据需求自己加检索条件 | |
| 110 | - 字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
| 111 | - or | |
| 112 | - 字段2 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
| 113 | - --> | |
| 109 | + | |
| 110 | + ) | |
| 111 | + </if> | |
| 112 | + | |
| 113 | + <if test="pd.TERM_ID!= null and pd.TERM_ID != ''"><!-- 关键词检索 --> | |
| 114 | + and | |
| 115 | + ( | |
| 116 | + TERM_ID = #{pd.TERM_ID} | |
| 114 | 117 | ) |
| 115 | 118 | </if> |
| 116 | 119 | </select> | ... | ... |
resources/mybatis1/sunvote/EventMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
| 3 | +<mapper namespace="EventMapper"> | |
| 4 | + | |
| 5 | + <!--表名 --> | |
| 6 | + <sql id="tableName"> | |
| 7 | + SV_EVENT | |
| 8 | + </sql> | |
| 9 | + | |
| 10 | + <!-- 字段 --> | |
| 11 | + <sql id="Field"> | |
| 12 | + EVENT_NAME, | |
| 13 | + EVENT_USER, | |
| 14 | + EVENT_TYPE, | |
| 15 | + EVENT_START_TIME, | |
| 16 | + EVENT_STOP_TIME, | |
| 17 | + CLIENT_ID, | |
| 18 | + EVENT_IP, | |
| 19 | + EVENT_ID | |
| 20 | + </sql> | |
| 21 | + | |
| 22 | + <!-- 字段值 --> | |
| 23 | + <sql id="FieldValue"> | |
| 24 | + #{EVENT_NAME}, | |
| 25 | + #{EVENT_USER}, | |
| 26 | + #{EVENT_TYPE}, | |
| 27 | + #{EVENT_START_TIME}, | |
| 28 | + #{EVENT_STOP_TIME}, | |
| 29 | + #{CLIENT_ID}, | |
| 30 | + #{EVENT_IP}, | |
| 31 | + #{EVENT_ID} | |
| 32 | + </sql> | |
| 33 | + | |
| 34 | + <!-- 新增--> | |
| 35 | + <insert id="save" parameterType="pd"> | |
| 36 | + insert into | |
| 37 | + <include refid="tableName"></include> | |
| 38 | + ( | |
| 39 | + <include refid="Field"></include> | |
| 40 | + ) values ( | |
| 41 | + <include refid="FieldValue"></include> | |
| 42 | + ) | |
| 43 | + </insert> | |
| 44 | + | |
| 45 | + <!-- 删除--> | |
| 46 | + <delete id="delete" parameterType="pd"> | |
| 47 | + delete from | |
| 48 | + <include refid="tableName"></include> | |
| 49 | + where | |
| 50 | + EVENT_ID = #{EVENT_ID} | |
| 51 | + </delete> | |
| 52 | + | |
| 53 | + <!-- 修改 --> | |
| 54 | + <update id="edit" parameterType="pd"> | |
| 55 | + update | |
| 56 | + <include refid="tableName"></include> | |
| 57 | + set | |
| 58 | + EVENT_NAME = #{EVENT_NAME}, | |
| 59 | + EVENT_USER = #{EVENT_USER}, | |
| 60 | + EVENT_TYPE = #{EVENT_TYPE}, | |
| 61 | + EVENT_START_TIME = #{EVENT_START_TIME}, | |
| 62 | + EVENT_STOP_TIME = #{EVENT_STOP_TIME}, | |
| 63 | + CLIENT_ID = #{CLIENT_ID}, | |
| 64 | + EVENT_IP = #{EVENT_IP}, | |
| 65 | + EVENT_ID = EVENT_ID | |
| 66 | + where | |
| 67 | + EVENT_ID = #{EVENT_ID} | |
| 68 | + </update> | |
| 69 | + | |
| 70 | + <!-- 通过ID获取数据 --> | |
| 71 | + <select id="findById" parameterType="pd" resultType="pd"> | |
| 72 | + select | |
| 73 | + <include refid="Field"></include> | |
| 74 | + from | |
| 75 | + <include refid="tableName"></include> | |
| 76 | + where | |
| 77 | + EVENT_ID = #{EVENT_ID} | |
| 78 | + </select> | |
| 79 | + | |
| 80 | + <!-- 列表 --> | |
| 81 | + <select id="datalistPage" parameterType="page" resultType="pd"> | |
| 82 | + select | |
| 83 | + <include refid="Field"></include> | |
| 84 | + from | |
| 85 | + <include refid="tableName"></include> | |
| 86 | + where 1=1 | |
| 87 | + <if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 --> | |
| 88 | + and | |
| 89 | + ( | |
| 90 | + <!-- 根据需求自己加检索条件 | |
| 91 | + 字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
| 92 | + or | |
| 93 | + 字段2 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | |
| 94 | + --> | |
| 95 | + ) | |
| 96 | + </if> | |
| 97 | + </select> | |
| 98 | + | |
| 99 | + <!-- 列表(全部) --> | |
| 100 | + <select id="listAll" parameterType="pd" resultType="pd"> | |
| 101 | + select | |
| 102 | + <include refid="Field"></include> | |
| 103 | + from | |
| 104 | + <include refid="tableName"></include> | |
| 105 | + </select> | |
| 106 | + | |
| 107 | + <!-- 批量删除 --> | |
| 108 | + <delete id="deleteAll" parameterType="String"> | |
| 109 | + delete from | |
| 110 | + <include refid="tableName"></include> | |
| 111 | + where | |
| 112 | + EVENT_ID in | |
| 113 | + <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> | |
| 114 | + #{item} | |
| 115 | + </foreach> | |
| 116 | + </delete> | |
| 117 | + | |
| 118 | + <!-- fh313596790qq(青苔) --> | |
| 119 | +</mapper> | |
| 0 | 120 | \ No newline at end of file | ... | ... |
src/com/fh/controller/api/ApiServer.java
| ... | ... | @@ -348,44 +348,33 @@ public class ApiServer extends BaseController { |
| 348 | 348 | |
| 349 | 349 | @RequestMapping(value = "/feedback/add", produces = "application/json;charset=UTF-8") |
| 350 | 350 | @ResponseBody |
| 351 | - public Object feedbackAdd(CommonsMultipartFile file, HttpServletRequest request) | |
| 352 | - throws Exception { | |
| 351 | + public Object feedbackAdd(HttpServletRequest request) | |
| 352 | + throws Exception { | |
| 353 | 353 | PageData pd = this.getPageData(); |
| 354 | 354 | ResponseGson<PageData> res = new ResponseGson(); |
| 355 | 355 | String path = request.getSession().getServletContext() |
| 356 | 356 | .getRealPath("/images"); |
| 357 | 357 | File pathFile = new File(path); |
| 358 | - if(!pathFile.exists()){ | |
| 358 | + if (!pathFile.exists()) { | |
| 359 | 359 | pathFile.mkdirs(); |
| 360 | 360 | } |
| 361 | 361 | logger.info(path); |
| 362 | - if (file != null) { | |
| 363 | - String fileName = file.getOriginalFilename(); | |
| 364 | - File dir = new File(path, Tools.date2Str(new Date()) + fileName); | |
| 365 | - if (!dir.exists()) { | |
| 366 | - dir.mkdirs(); | |
| 367 | - } | |
| 368 | - file.transferTo(dir); | |
| 369 | - | |
| 370 | - pd.put("PROBLEM_PATH", dir.getAbsolutePath()); | |
| 371 | - logger.info(dir.getAbsolutePath()); | |
| 372 | - } else { | |
| 373 | - if (pd.get("PROBLEM_PATH") != null) { | |
| 374 | - String imgStr = pd.getString("PROBLEM_PATH"); | |
| 375 | - String[] content = imgStr.split(";base64,"); | |
| 376 | - if (content.length >= 2) { | |
| 377 | - String fileType = ".file"; | |
| 378 | - if (content[0].contains("image")) { | |
| 379 | - fileType = content[0].substring(11,content[0].length()); | |
| 380 | - } | |
| 381 | - String filename = "fb_" + System.currentTimeMillis() + "." + fileType ; | |
| 382 | - File dir = new File(path + File.separator + filename ); | |
| 383 | - if (!dir.exists()) { | |
| 384 | - dir.createNewFile(); | |
| 385 | - } | |
| 386 | - generateImage(content[1], dir.getAbsolutePath()); | |
| 387 | - pd.put("PROBLEM_PATH", filename); | |
| 362 | + if (pd.get("PROBLEM_PATH") != null) { | |
| 363 | + String imgStr = pd.getString("PROBLEM_PATH"); | |
| 364 | + String[] content = imgStr.split(";base64,"); | |
| 365 | + if (content.length >= 2) { | |
| 366 | + String fileType = ".file"; | |
| 367 | + if (content[0].contains("image")) { | |
| 368 | + fileType = content[0].substring(11, content[0].length()); | |
| 369 | + } | |
| 370 | + String filename = "fb_" + System.currentTimeMillis() + "." | |
| 371 | + + fileType; | |
| 372 | + File dir = new File(path + File.separator + filename); | |
| 373 | + if (!dir.exists()) { | |
| 374 | + dir.createNewFile(); | |
| 388 | 375 | } |
| 376 | + generateImage(content[1], dir.getAbsolutePath()); | |
| 377 | + pd.put("PROBLEM_PATH", filename); | |
| 389 | 378 | } |
| 390 | 379 | } |
| 391 | 380 | String id = pd.getString("ID"); | ... | ... |
src/com/fh/controller/api/V.java
| ... | ... | @@ -54,6 +54,7 @@ public class V extends BaseController { |
| 54 | 54 | PageData ret = schoolService.findById(pd); |
| 55 | 55 | ResponseGson<PageData> res = new ResponseGson(); |
| 56 | 56 | res.setData(ret); |
| 57 | + | |
| 57 | 58 | return res.toJson(); |
| 58 | 59 | } else { |
| 59 | 60 | List<PageData> ret = schoolService.listAll(pd); | ... | ... |
src/com/fh/controller/api/V1.java
| ... | ... | @@ -24,6 +24,7 @@ import com.fh.service.api.V1Manager; |
| 24 | 24 | import com.fh.service.feedback.feedback.FeedbackManager; |
| 25 | 25 | import com.fh.service.feedback.problemphenomenon.ProblemPhenomenonManager; |
| 26 | 26 | import com.fh.service.software.softwareversion.SoftwareVersionManager; |
| 27 | +import com.fh.service.sunvote.attachkeyboard.AttachKeyboardManager; | |
| 27 | 28 | import com.fh.service.sunvote.basestation.BasestationManager; |
| 28 | 29 | import com.fh.service.sunvote.chapter.ChapterManager; |
| 29 | 30 | import com.fh.service.sunvote.classbasetation.ClassBasetationManager; |
| ... | ... | @@ -146,6 +147,9 @@ public class V1 extends BaseController { |
| 146 | 147 | |
| 147 | 148 | @Resource(name="softwareversionService") |
| 148 | 149 | private SoftwareVersionManager softwareversionService; |
| 150 | + | |
| 151 | + @Resource(name="attachkeyboardService") | |
| 152 | + private AttachKeyboardManager attachkeyboardService; | |
| 149 | 153 | |
| 150 | 154 | @RequestMapping(value = "/login", produces = "application/json;charset=UTF-8") |
| 151 | 155 | @ResponseBody |
| ... | ... | @@ -200,6 +204,9 @@ public class V1 extends BaseController { |
| 200 | 204 | pt.put("SCLASS_ID", pageData.get("ID")); |
| 201 | 205 | List<PageData> studentList = v1Service.getClassStudent(pt); |
| 202 | 206 | pageData.put("studentList", studentList); |
| 207 | + pt.put("CLASS_ID", pageData.get("ID")); | |
| 208 | + List<PageData> keyboards = attachkeyboardService.listAllClassId(pt); | |
| 209 | + pageData.put("keyboards", keyboards); | |
| 203 | 210 | res.setData(pageData); |
| 204 | 211 | } else { |
| 205 | 212 | res.set2Error(); | ... | ... |
src/com/fh/controller/sunvote/attachkeyboard/AttachKeyboardController.java
0 → 100644
| 1 | +package com.fh.controller.sunvote.attachkeyboard; | |
| 2 | + | |
| 3 | +import java.io.PrintWriter; | |
| 4 | +import java.text.DateFormat; | |
| 5 | +import java.text.SimpleDateFormat; | |
| 6 | +import java.util.ArrayList; | |
| 7 | +import java.util.Date; | |
| 8 | +import java.util.HashMap; | |
| 9 | +import java.util.List; | |
| 10 | +import java.util.Map; | |
| 11 | + | |
| 12 | +import javax.annotation.Resource; | |
| 13 | + | |
| 14 | +import org.springframework.beans.propertyeditors.CustomDateEditor; | |
| 15 | +import org.springframework.stereotype.Controller; | |
| 16 | +import org.springframework.web.bind.WebDataBinder; | |
| 17 | +import org.springframework.web.bind.annotation.InitBinder; | |
| 18 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 19 | +import org.springframework.web.bind.annotation.ResponseBody; | |
| 20 | +import org.springframework.web.servlet.ModelAndView; | |
| 21 | + | |
| 22 | +import com.fh.controller.base.BaseController; | |
| 23 | +import com.fh.entity.Page; | |
| 24 | +import com.fh.util.AppUtil; | |
| 25 | +import com.fh.util.ObjectExcelView; | |
| 26 | +import com.fh.util.PageData; | |
| 27 | +import com.fh.util.Jurisdiction; | |
| 28 | +import com.fh.util.Tools; | |
| 29 | +import com.fh.service.sunvote.attachkeyboard.AttachKeyboardManager; | |
| 30 | +import com.fh.service.sunvote.sclass.SClassManager; | |
| 31 | + | |
| 32 | +/** | |
| 33 | + * 说明:班级附加键盘 | |
| 34 | + * 创建人:FH Q313596790 | |
| 35 | + * 创建时间:2018-06-25 | |
| 36 | + */ | |
| 37 | +@Controller | |
| 38 | +@RequestMapping(value="/attachkeyboard") | |
| 39 | +public class AttachKeyboardController extends BaseController { | |
| 40 | + | |
| 41 | + String menuUrl = "attachkeyboard/list.do"; //菜单地址(权限用) | |
| 42 | + @Resource(name="attachkeyboardService") | |
| 43 | + private AttachKeyboardManager attachkeyboardService; | |
| 44 | + | |
| 45 | + @Resource(name="sclassService") | |
| 46 | + private SClassManager sclassService; | |
| 47 | + | |
| 48 | + /**保存 | |
| 49 | + * @param | |
| 50 | + * @throws Exception | |
| 51 | + */ | |
| 52 | + @RequestMapping(value="/save") | |
| 53 | + public ModelAndView save() throws Exception{ | |
| 54 | + logBefore(logger, Jurisdiction.getUsername()+"新增AttachKeyboard"); | |
| 55 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限 | |
| 56 | + ModelAndView mv = this.getModelAndView(); | |
| 57 | + PageData pd = new PageData(); | |
| 58 | + pd = this.getPageData(); | |
| 59 | + pd.put("ATTACHKEYBOARD_ID", this.get32UUID()); //主键 | |
| 60 | + attachkeyboardService.save(pd); | |
| 61 | + mv.addObject("msg","success"); | |
| 62 | + mv.setViewName("save_result"); | |
| 63 | + return mv; | |
| 64 | + } | |
| 65 | + | |
| 66 | + /**删除 | |
| 67 | + * @param out | |
| 68 | + * @throws Exception | |
| 69 | + */ | |
| 70 | + @RequestMapping(value="/delete") | |
| 71 | + public void delete(PrintWriter out) throws Exception{ | |
| 72 | + logBefore(logger, Jurisdiction.getUsername()+"删除AttachKeyboard"); | |
| 73 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限 | |
| 74 | + PageData pd = new PageData(); | |
| 75 | + pd = this.getPageData(); | |
| 76 | + attachkeyboardService.delete(pd); | |
| 77 | + out.write("success"); | |
| 78 | + out.close(); | |
| 79 | + } | |
| 80 | + | |
| 81 | + /**修改 | |
| 82 | + * @param | |
| 83 | + * @throws Exception | |
| 84 | + */ | |
| 85 | + @RequestMapping(value="/edit") | |
| 86 | + public ModelAndView edit() throws Exception{ | |
| 87 | + logBefore(logger, Jurisdiction.getUsername()+"修改AttachKeyboard"); | |
| 88 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限 | |
| 89 | + ModelAndView mv = this.getModelAndView(); | |
| 90 | + PageData pd = new PageData(); | |
| 91 | + pd = this.getPageData(); | |
| 92 | + attachkeyboardService.edit(pd); | |
| 93 | + mv.addObject("msg","success"); | |
| 94 | + mv.setViewName("save_result"); | |
| 95 | + return mv; | |
| 96 | + } | |
| 97 | + | |
| 98 | + /**列表 | |
| 99 | + * @param page | |
| 100 | + * @throws Exception | |
| 101 | + */ | |
| 102 | + @RequestMapping(value="/list") | |
| 103 | + public ModelAndView list(Page page) throws Exception{ | |
| 104 | + logBefore(logger, Jurisdiction.getUsername()+"列表AttachKeyboard"); | |
| 105 | + //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) | |
| 106 | + ModelAndView mv = this.getModelAndView(); | |
| 107 | + PageData pd = new PageData(); | |
| 108 | + pd = this.getPageData(); | |
| 109 | + String keywords = pd.getString("keywords"); //关键词检索条件 | |
| 110 | + if(null != keywords && !"".equals(keywords)){ | |
| 111 | + pd.put("keywords", keywords.trim()); | |
| 112 | + } | |
| 113 | + page.setPd(pd); | |
| 114 | + List<PageData> varList = attachkeyboardService.list(page); //列出AttachKeyboard列表 | |
| 115 | + mv.setViewName("sunvote/attachkeyboard/attachkeyboard_list"); | |
| 116 | + mv.addObject("varList", varList); | |
| 117 | + mv.addObject("pd", pd); | |
| 118 | + mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 | |
| 119 | + return mv; | |
| 120 | + } | |
| 121 | + | |
| 122 | + /**去新增页面 | |
| 123 | + * @param | |
| 124 | + * @throws Exception | |
| 125 | + */ | |
| 126 | + @RequestMapping(value="/goAdd") | |
| 127 | + public ModelAndView goAdd()throws Exception{ | |
| 128 | + ModelAndView mv = this.getModelAndView(); | |
| 129 | + PageData pd = new PageData(); | |
| 130 | + pd = this.getPageData(); | |
| 131 | + mv.setViewName("sunvote/attachkeyboard/attachkeyboard_edit"); | |
| 132 | + List<PageData> classs = sclassService.listAll(pd); | |
| 133 | + mv.addObject("classs",classs); | |
| 134 | + mv.addObject("msg", "save"); | |
| 135 | + mv.addObject("pd", pd); | |
| 136 | + return mv; | |
| 137 | + } | |
| 138 | + | |
| 139 | + /**去修改页面 | |
| 140 | + * @param | |
| 141 | + * @throws Exception | |
| 142 | + */ | |
| 143 | + @RequestMapping(value="/goEdit") | |
| 144 | + public ModelAndView goEdit()throws Exception{ | |
| 145 | + ModelAndView mv = this.getModelAndView(); | |
| 146 | + PageData pd = new PageData(); | |
| 147 | + pd = this.getPageData(); | |
| 148 | + pd = attachkeyboardService.findById(pd); //根据ID读取 | |
| 149 | + mv.setViewName("sunvote/attachkeyboard/attachkeyboard_edit"); | |
| 150 | + List<PageData> classs = sclassService.listAll(pd); | |
| 151 | + mv.addObject("classs",classs); | |
| 152 | + mv.addObject("msg", "edit"); | |
| 153 | + mv.addObject("pd", pd); | |
| 154 | + return mv; | |
| 155 | + } | |
| 156 | + | |
| 157 | + /**批量删除 | |
| 158 | + * @param | |
| 159 | + * @throws Exception | |
| 160 | + */ | |
| 161 | + @RequestMapping(value="/deleteAll") | |
| 162 | + @ResponseBody | |
| 163 | + public Object deleteAll() throws Exception{ | |
| 164 | + logBefore(logger, Jurisdiction.getUsername()+"批量删除AttachKeyboard"); | |
| 165 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限 | |
| 166 | + PageData pd = new PageData(); | |
| 167 | + Map<String,Object> map = new HashMap<String,Object>(); | |
| 168 | + pd = this.getPageData(); | |
| 169 | + List<PageData> pdList = new ArrayList<PageData>(); | |
| 170 | + String DATA_IDS = pd.getString("DATA_IDS"); | |
| 171 | + if(null != DATA_IDS && !"".equals(DATA_IDS)){ | |
| 172 | + String ArrayDATA_IDS[] = DATA_IDS.split(","); | |
| 173 | + attachkeyboardService.deleteAll(ArrayDATA_IDS); | |
| 174 | + pd.put("msg", "ok"); | |
| 175 | + }else{ | |
| 176 | + pd.put("msg", "no"); | |
| 177 | + } | |
| 178 | + pdList.add(pd); | |
| 179 | + map.put("list", pdList); | |
| 180 | + return AppUtil.returnObject(pd, map); | |
| 181 | + } | |
| 182 | + | |
| 183 | + /**导出到excel | |
| 184 | + * @param | |
| 185 | + * @throws Exception | |
| 186 | + */ | |
| 187 | + @RequestMapping(value="/excel") | |
| 188 | + public ModelAndView exportExcel() throws Exception{ | |
| 189 | + logBefore(logger, Jurisdiction.getUsername()+"导出AttachKeyboard到excel"); | |
| 190 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} | |
| 191 | + ModelAndView mv = new ModelAndView(); | |
| 192 | + PageData pd = new PageData(); | |
| 193 | + pd = this.getPageData(); | |
| 194 | + Map<String,Object> dataMap = new HashMap<String,Object>(); | |
| 195 | + List<String> titles = new ArrayList<String>(); | |
| 196 | + titles.add("班级ID"); //1 | |
| 197 | + titles.add("键盘ID"); //2 | |
| 198 | + dataMap.put("titles", titles); | |
| 199 | + List<PageData> varOList = attachkeyboardService.listAll(pd); | |
| 200 | + List<PageData> varList = new ArrayList<PageData>(); | |
| 201 | + for(int i=0;i<varOList.size();i++){ | |
| 202 | + PageData vpd = new PageData(); | |
| 203 | + vpd.put("var1", varOList.get(i).getString("CLASS_ID")); //1 | |
| 204 | + vpd.put("var2", varOList.get(i).getString("KEYBOARD_ID")); //2 | |
| 205 | + varList.add(vpd); | |
| 206 | + } | |
| 207 | + dataMap.put("varList", varList); | |
| 208 | + ObjectExcelView erv = new ObjectExcelView(); | |
| 209 | + mv = new ModelAndView(erv,dataMap); | |
| 210 | + return mv; | |
| 211 | + } | |
| 212 | + | |
| 213 | + @InitBinder | |
| 214 | + public void initBinder(WebDataBinder binder){ | |
| 215 | + DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); | |
| 216 | + binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true)); | |
| 217 | + } | |
| 218 | +} | ... | ... |
src/com/fh/controller/sunvote/coursemanagement/CourseManagementController.java
| ... | ... | @@ -61,6 +61,8 @@ public class CourseManagementController extends BaseController { |
| 61 | 61 | @Resource(name="gradeService") |
| 62 | 62 | private GradeManager gradeService; |
| 63 | 63 | |
| 64 | + | |
| 65 | + | |
| 64 | 66 | /**保存 |
| 65 | 67 | * @param |
| 66 | 68 | * @throws Exception |
| ... | ... | @@ -131,6 +133,10 @@ public class CourseManagementController extends BaseController { |
| 131 | 133 | List<PageData> varList = coursemanagementService.list(page); //列出CourseManagement列表 |
| 132 | 134 | mv.setViewName("sunvote/coursemanagement/coursemanagement_list"); |
| 133 | 135 | mv.addObject("varList", varList); |
| 136 | + | |
| 137 | + List<PageData> terms = termService.listAll(pd); | |
| 138 | + mv.addObject("terms", terms); | |
| 139 | + | |
| 134 | 140 | mv.addObject("pd", pd); |
| 135 | 141 | mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 |
| 136 | 142 | return mv; | ... | ... |
src/com/fh/controller/sunvote/event/EventController.java
0 → 100644
| 1 | +package com.fh.controller.sunvote.event; | |
| 2 | + | |
| 3 | +import java.io.PrintWriter; | |
| 4 | +import java.text.DateFormat; | |
| 5 | +import java.text.SimpleDateFormat; | |
| 6 | +import java.util.ArrayList; | |
| 7 | +import java.util.Date; | |
| 8 | +import java.util.HashMap; | |
| 9 | +import java.util.List; | |
| 10 | +import java.util.Map; | |
| 11 | +import javax.annotation.Resource; | |
| 12 | +import org.springframework.beans.propertyeditors.CustomDateEditor; | |
| 13 | +import org.springframework.stereotype.Controller; | |
| 14 | +import org.springframework.web.bind.WebDataBinder; | |
| 15 | +import org.springframework.web.bind.annotation.InitBinder; | |
| 16 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 17 | +import org.springframework.web.bind.annotation.ResponseBody; | |
| 18 | +import org.springframework.web.servlet.ModelAndView; | |
| 19 | +import com.fh.controller.base.BaseController; | |
| 20 | +import com.fh.entity.Page; | |
| 21 | +import com.fh.util.AppUtil; | |
| 22 | +import com.fh.util.ObjectExcelView; | |
| 23 | +import com.fh.util.PageData; | |
| 24 | +import com.fh.util.Jurisdiction; | |
| 25 | +import com.fh.util.Tools; | |
| 26 | +import com.fh.service.sunvote.event.EventManager; | |
| 27 | + | |
| 28 | +/** | |
| 29 | + * 说明:事件记录 | |
| 30 | + * 创建人:FH Q313596790 | |
| 31 | + * 创建时间:2018-06-26 | |
| 32 | + */ | |
| 33 | +@Controller | |
| 34 | +@RequestMapping(value="/event") | |
| 35 | +public class EventController extends BaseController { | |
| 36 | + | |
| 37 | + String menuUrl = "event/list.do"; //菜单地址(权限用) | |
| 38 | + @Resource(name="eventService") | |
| 39 | + private EventManager eventService; | |
| 40 | + | |
| 41 | + /**保存 | |
| 42 | + * @param | |
| 43 | + * @throws Exception | |
| 44 | + */ | |
| 45 | + @RequestMapping(value="/save") | |
| 46 | + public ModelAndView save() throws Exception{ | |
| 47 | + logBefore(logger, Jurisdiction.getUsername()+"新增Event"); | |
| 48 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限 | |
| 49 | + ModelAndView mv = this.getModelAndView(); | |
| 50 | + PageData pd = new PageData(); | |
| 51 | + pd = this.getPageData(); | |
| 52 | + pd.put("EVENT_ID", this.get32UUID()); //主键 | |
| 53 | + eventService.save(pd); | |
| 54 | + mv.addObject("msg","success"); | |
| 55 | + mv.setViewName("save_result"); | |
| 56 | + return mv; | |
| 57 | + } | |
| 58 | + | |
| 59 | + /**删除 | |
| 60 | + * @param out | |
| 61 | + * @throws Exception | |
| 62 | + */ | |
| 63 | + @RequestMapping(value="/delete") | |
| 64 | + public void delete(PrintWriter out) throws Exception{ | |
| 65 | + logBefore(logger, Jurisdiction.getUsername()+"删除Event"); | |
| 66 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限 | |
| 67 | + PageData pd = new PageData(); | |
| 68 | + pd = this.getPageData(); | |
| 69 | + eventService.delete(pd); | |
| 70 | + out.write("success"); | |
| 71 | + out.close(); | |
| 72 | + } | |
| 73 | + | |
| 74 | + /**修改 | |
| 75 | + * @param | |
| 76 | + * @throws Exception | |
| 77 | + */ | |
| 78 | + @RequestMapping(value="/edit") | |
| 79 | + public ModelAndView edit() throws Exception{ | |
| 80 | + logBefore(logger, Jurisdiction.getUsername()+"修改Event"); | |
| 81 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限 | |
| 82 | + ModelAndView mv = this.getModelAndView(); | |
| 83 | + PageData pd = new PageData(); | |
| 84 | + pd = this.getPageData(); | |
| 85 | + eventService.edit(pd); | |
| 86 | + mv.addObject("msg","success"); | |
| 87 | + mv.setViewName("save_result"); | |
| 88 | + return mv; | |
| 89 | + } | |
| 90 | + | |
| 91 | + /**列表 | |
| 92 | + * @param page | |
| 93 | + * @throws Exception | |
| 94 | + */ | |
| 95 | + @RequestMapping(value="/list") | |
| 96 | + public ModelAndView list(Page page) throws Exception{ | |
| 97 | + logBefore(logger, Jurisdiction.getUsername()+"列表Event"); | |
| 98 | + //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) | |
| 99 | + ModelAndView mv = this.getModelAndView(); | |
| 100 | + PageData pd = new PageData(); | |
| 101 | + pd = this.getPageData(); | |
| 102 | + String keywords = pd.getString("keywords"); //关键词检索条件 | |
| 103 | + if(null != keywords && !"".equals(keywords)){ | |
| 104 | + pd.put("keywords", keywords.trim()); | |
| 105 | + } | |
| 106 | + page.setPd(pd); | |
| 107 | + List<PageData> varList = eventService.list(page); //列出Event列表 | |
| 108 | + mv.setViewName("sunvote/event/event_list"); | |
| 109 | + mv.addObject("varList", varList); | |
| 110 | + mv.addObject("pd", pd); | |
| 111 | + mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 | |
| 112 | + return mv; | |
| 113 | + } | |
| 114 | + | |
| 115 | + /**去新增页面 | |
| 116 | + * @param | |
| 117 | + * @throws Exception | |
| 118 | + */ | |
| 119 | + @RequestMapping(value="/goAdd") | |
| 120 | + public ModelAndView goAdd()throws Exception{ | |
| 121 | + ModelAndView mv = this.getModelAndView(); | |
| 122 | + PageData pd = new PageData(); | |
| 123 | + pd = this.getPageData(); | |
| 124 | + mv.setViewName("sunvote/event/event_edit"); | |
| 125 | + mv.addObject("msg", "save"); | |
| 126 | + mv.addObject("pd", pd); | |
| 127 | + return mv; | |
| 128 | + } | |
| 129 | + | |
| 130 | + /**去修改页面 | |
| 131 | + * @param | |
| 132 | + * @throws Exception | |
| 133 | + */ | |
| 134 | + @RequestMapping(value="/goEdit") | |
| 135 | + public ModelAndView goEdit()throws Exception{ | |
| 136 | + ModelAndView mv = this.getModelAndView(); | |
| 137 | + PageData pd = new PageData(); | |
| 138 | + pd = this.getPageData(); | |
| 139 | + pd = eventService.findById(pd); //根据ID读取 | |
| 140 | + mv.setViewName("sunvote/event/event_edit"); | |
| 141 | + mv.addObject("msg", "edit"); | |
| 142 | + mv.addObject("pd", pd); | |
| 143 | + return mv; | |
| 144 | + } | |
| 145 | + | |
| 146 | + /**批量删除 | |
| 147 | + * @param | |
| 148 | + * @throws Exception | |
| 149 | + */ | |
| 150 | + @RequestMapping(value="/deleteAll") | |
| 151 | + @ResponseBody | |
| 152 | + public Object deleteAll() throws Exception{ | |
| 153 | + logBefore(logger, Jurisdiction.getUsername()+"批量删除Event"); | |
| 154 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限 | |
| 155 | + PageData pd = new PageData(); | |
| 156 | + Map<String,Object> map = new HashMap<String,Object>(); | |
| 157 | + pd = this.getPageData(); | |
| 158 | + List<PageData> pdList = new ArrayList<PageData>(); | |
| 159 | + String DATA_IDS = pd.getString("DATA_IDS"); | |
| 160 | + if(null != DATA_IDS && !"".equals(DATA_IDS)){ | |
| 161 | + String ArrayDATA_IDS[] = DATA_IDS.split(","); | |
| 162 | + eventService.deleteAll(ArrayDATA_IDS); | |
| 163 | + pd.put("msg", "ok"); | |
| 164 | + }else{ | |
| 165 | + pd.put("msg", "no"); | |
| 166 | + } | |
| 167 | + pdList.add(pd); | |
| 168 | + map.put("list", pdList); | |
| 169 | + return AppUtil.returnObject(pd, map); | |
| 170 | + } | |
| 171 | + | |
| 172 | + /**导出到excel | |
| 173 | + * @param | |
| 174 | + * @throws Exception | |
| 175 | + */ | |
| 176 | + @RequestMapping(value="/excel") | |
| 177 | + public ModelAndView exportExcel() throws Exception{ | |
| 178 | + logBefore(logger, Jurisdiction.getUsername()+"导出Event到excel"); | |
| 179 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} | |
| 180 | + ModelAndView mv = new ModelAndView(); | |
| 181 | + PageData pd = new PageData(); | |
| 182 | + pd = this.getPageData(); | |
| 183 | + Map<String,Object> dataMap = new HashMap<String,Object>(); | |
| 184 | + List<String> titles = new ArrayList<String>(); | |
| 185 | + titles.add("时间名称"); //1 | |
| 186 | + titles.add("事件人"); //2 | |
| 187 | + titles.add("事件类型"); //3 | |
| 188 | + titles.add("事件起始时间"); //4 | |
| 189 | + titles.add("事件结束时间"); //5 | |
| 190 | + titles.add("客户ID"); //6 | |
| 191 | + titles.add("IP"); //7 | |
| 192 | + dataMap.put("titles", titles); | |
| 193 | + List<PageData> varOList = eventService.listAll(pd); | |
| 194 | + List<PageData> varList = new ArrayList<PageData>(); | |
| 195 | + for(int i=0;i<varOList.size();i++){ | |
| 196 | + PageData vpd = new PageData(); | |
| 197 | + vpd.put("var1", varOList.get(i).getString("EVENT_NAME")); //1 | |
| 198 | + vpd.put("var2", varOList.get(i).getString("EVENT_USER")); //2 | |
| 199 | + vpd.put("var3", varOList.get(i).getString("EVENT_TYPE")); //3 | |
| 200 | + vpd.put("var4", varOList.get(i).getString("EVENT_START_TIME")); //4 | |
| 201 | + vpd.put("var5", varOList.get(i).getString("EVENT_STOP_TIME")); //5 | |
| 202 | + vpd.put("var6", varOList.get(i).getString("CLIENT_ID")); //6 | |
| 203 | + vpd.put("var7", varOList.get(i).getString("EVENT_IP")); //7 | |
| 204 | + varList.add(vpd); | |
| 205 | + } | |
| 206 | + dataMap.put("varList", varList); | |
| 207 | + ObjectExcelView erv = new ObjectExcelView(); | |
| 208 | + mv = new ModelAndView(erv,dataMap); | |
| 209 | + return mv; | |
| 210 | + } | |
| 211 | + | |
| 212 | + @InitBinder | |
| 213 | + public void initBinder(WebDataBinder binder){ | |
| 214 | + DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); | |
| 215 | + binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true)); | |
| 216 | + } | |
| 217 | +} | ... | ... |
src/com/fh/controller/sunvote/schoolgradesubject/SchoolGradeSubjectController.java
| ... | ... | @@ -8,7 +8,9 @@ import java.util.Date; |
| 8 | 8 | import java.util.HashMap; |
| 9 | 9 | import java.util.List; |
| 10 | 10 | import java.util.Map; |
| 11 | + | |
| 11 | 12 | import javax.annotation.Resource; |
| 13 | + | |
| 12 | 14 | import org.springframework.beans.propertyeditors.CustomDateEditor; |
| 13 | 15 | import org.springframework.stereotype.Controller; |
| 14 | 16 | import org.springframework.web.bind.WebDataBinder; |
| ... | ... | @@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.InitBinder; |
| 16 | 18 | import org.springframework.web.bind.annotation.RequestMapping; |
| 17 | 19 | import org.springframework.web.bind.annotation.ResponseBody; |
| 18 | 20 | import org.springframework.web.servlet.ModelAndView; |
| 21 | + | |
| 19 | 22 | import com.fh.controller.base.BaseController; |
| 20 | 23 | import com.fh.entity.Page; |
| 21 | 24 | import com.fh.util.AppUtil; |
| ... | ... | @@ -23,7 +26,11 @@ import com.fh.util.ObjectExcelView; |
| 23 | 26 | import com.fh.util.PageData; |
| 24 | 27 | import com.fh.util.Jurisdiction; |
| 25 | 28 | import com.fh.util.Tools; |
| 29 | +import com.fh.service.sunvote.grade.GradeManager; | |
| 30 | +import com.fh.service.sunvote.school.SchoolManager; | |
| 26 | 31 | import com.fh.service.sunvote.schoolgradesubject.SchoolGradeSubjectManager; |
| 32 | +import com.fh.service.sunvote.subject.SubjectManager; | |
| 33 | +import com.fh.service.system.fhlog.FHlogManager; | |
| 27 | 34 | |
| 28 | 35 | /** |
| 29 | 36 | * 说明:学校年级科目表 |
| ... | ... | @@ -37,6 +44,15 @@ public class SchoolGradeSubjectController extends BaseController { |
| 37 | 44 | @Resource(name="schoolgradesubjectService") |
| 38 | 45 | private SchoolGradeSubjectManager schoolgradesubjectService; |
| 39 | 46 | |
| 47 | + @Resource(name="schoolService") | |
| 48 | + private SchoolManager schoolService; | |
| 49 | + | |
| 50 | + @Resource(name="gradeService") | |
| 51 | + private GradeManager gradeService; | |
| 52 | + | |
| 53 | + @Resource(name="subjectService") | |
| 54 | + private SubjectManager subjectService; | |
| 55 | + | |
| 40 | 56 | /**保存 |
| 41 | 57 | * @param |
| 42 | 58 | * @throws Exception |
| ... | ... | @@ -106,6 +122,12 @@ public class SchoolGradeSubjectController extends BaseController { |
| 106 | 122 | List<PageData> varList = schoolgradesubjectService.list(page); //列出SchoolGradeSubject列表 |
| 107 | 123 | mv.setViewName("sunvote/schoolgradesubject/schoolgradesubject_list"); |
| 108 | 124 | mv.addObject("varList", varList); |
| 125 | + | |
| 126 | + List<PageData> schools = schoolService.listAll(pd); | |
| 127 | + mv.addObject("schools",schools); | |
| 128 | + List<PageData> grades = gradeService.listAll(pd); | |
| 129 | + mv.addObject("grades", grades); | |
| 130 | + | |
| 109 | 131 | mv.addObject("pd", pd); |
| 110 | 132 | mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 |
| 111 | 133 | return mv; |
| ... | ... | @@ -122,6 +144,12 @@ public class SchoolGradeSubjectController extends BaseController { |
| 122 | 144 | pd = this.getPageData(); |
| 123 | 145 | mv.setViewName("sunvote/schoolgradesubject/schoolgradesubject_edit"); |
| 124 | 146 | mv.addObject("msg", "save"); |
| 147 | + List<PageData> schools = schoolService.listAll(pd); | |
| 148 | + mv.addObject("schools",schools); | |
| 149 | + List<PageData> grades = gradeService.listAll(pd); | |
| 150 | + mv.addObject("grades", grades); | |
| 151 | + List<PageData> subjects = subjectService.listAll(pd); | |
| 152 | + mv.addObject("subjects", subjects); | |
| 125 | 153 | mv.addObject("pd", pd); |
| 126 | 154 | return mv; |
| 127 | 155 | } |
| ... | ... | @@ -138,6 +166,14 @@ public class SchoolGradeSubjectController extends BaseController { |
| 138 | 166 | pd = schoolgradesubjectService.findById(pd); //根据ID读取 |
| 139 | 167 | mv.setViewName("sunvote/schoolgradesubject/schoolgradesubject_edit"); |
| 140 | 168 | mv.addObject("msg", "edit"); |
| 169 | + List<PageData> schools = schoolService.listAll(pd); | |
| 170 | + mv.addObject("schools",schools); | |
| 171 | + List<PageData> grades = gradeService.listAll(pd); | |
| 172 | + mv.addObject("grades", grades); | |
| 173 | + List<PageData> subjects = subjectService.listAll(pd); | |
| 174 | + mv.addObject("subjects", subjects); | |
| 175 | + | |
| 176 | + | |
| 141 | 177 | mv.addObject("pd", pd); |
| 142 | 178 | return mv; |
| 143 | 179 | } | ... | ... |
src/com/fh/controller/system/login/LoginController.java
| 1 | 1 | package com.fh.controller.system.login; |
| 2 | 2 | |
| 3 | 3 | import java.util.ArrayList; |
| 4 | +import java.util.Date; | |
| 4 | 5 | import java.util.HashMap; |
| 5 | 6 | import java.util.List; |
| 6 | 7 | import java.util.Map; |
| ... | ... | @@ -21,8 +22,12 @@ import org.springframework.web.bind.annotation.ResponseBody; |
| 21 | 22 | import org.springframework.web.servlet.ModelAndView; |
| 22 | 23 | |
| 23 | 24 | import com.fh.controller.base.BaseController; |
| 25 | +import com.fh.entity.system.Menu; | |
| 26 | +import com.fh.entity.system.Role; | |
| 27 | +import com.fh.entity.system.User; | |
| 24 | 28 | import com.fh.service.api.V1Manager; |
| 25 | 29 | import com.fh.service.fhoa.datajur.DatajurManager; |
| 30 | +import com.fh.service.sunvote.event.EventManager; | |
| 26 | 31 | import com.fh.service.sunvote.school.SchoolManager; |
| 27 | 32 | import com.fh.service.sunvote.teacher.TeacherManager; |
| 28 | 33 | import com.fh.service.system.appuser.AppuserManager; |
| ... | ... | @@ -31,9 +36,6 @@ import com.fh.service.system.fhbutton.FhbuttonManager; |
| 31 | 36 | import com.fh.service.system.fhlog.FHlogManager; |
| 32 | 37 | import com.fh.service.system.loginimg.LogInImgManager; |
| 33 | 38 | import com.fh.service.system.menu.MenuManager; |
| 34 | -import com.fh.entity.system.Menu; | |
| 35 | -import com.fh.entity.system.Role; | |
| 36 | -import com.fh.entity.system.User; | |
| 37 | 39 | import com.fh.service.system.role.RoleManager; |
| 38 | 40 | import com.fh.service.system.user.UserManager; |
| 39 | 41 | import com.fh.util.AppUtil; |
| ... | ... | @@ -81,6 +83,8 @@ public class LoginController extends BaseController { |
| 81 | 83 | @Resource(name = "v1Service") |
| 82 | 84 | private V1Manager v1Service ; |
| 83 | 85 | |
| 86 | + @Resource(name="eventService") | |
| 87 | + private EventManager eventService; | |
| 84 | 88 | /** |
| 85 | 89 | * 访问登录页 |
| 86 | 90 | * |
| ... | ... | @@ -134,6 +138,17 @@ public class LoginController extends BaseController { |
| 134 | 138 | user.setNAME(pd.getString("NAME")); |
| 135 | 139 | user.setRIGHTS(pd.getString("RIGHTS")); |
| 136 | 140 | user.setROLE_ID(pd.getString("ROLE_ID")); |
| 141 | + | |
| 142 | + PageData eventPd = new PageData(); | |
| 143 | + eventPd.put("EVENT_ID", get32UUID()); | |
| 144 | + eventPd.put("EVENT_NAME", "login"); | |
| 145 | + eventPd.put("EVENT_USER", pd.getString("USER_ID")); | |
| 146 | + eventPd.put("EVENT_TYPE", "0"); | |
| 147 | + eventPd.put("EVENT_START_TIME",Tools.date2Str(new Date())); | |
| 148 | + eventPd.put("CLIENT_ID", "SERVER"); | |
| 149 | + eventPd.put("EVENT_IP",pd.getString("IP")); | |
| 150 | + eventService.save(eventPd); | |
| 151 | + | |
| 137 | 152 | if("57bb1e6f138247a0b05cc721a5da1b64".equals(pd.getString("ROLE_ID"))){ |
| 138 | 153 | map.put("teacher", pd.getString("RIGHTS")); |
| 139 | 154 | } | ... | ... |
src/com/fh/service/sunvote/attachkeyboard/AttachKeyboardManager.java
0 → 100644
| 1 | +package com.fh.service.sunvote.attachkeyboard; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import com.fh.entity.Page; | |
| 6 | +import com.fh.util.PageData; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * 说明: 班级附加键盘接口 | |
| 10 | + * 创建人:FH Q313596790 | |
| 11 | + * 创建时间:2018-06-25 | |
| 12 | + * @version | |
| 13 | + */ | |
| 14 | +public interface AttachKeyboardManager{ | |
| 15 | + | |
| 16 | + /**新增 | |
| 17 | + * @param pd | |
| 18 | + * @throws Exception | |
| 19 | + */ | |
| 20 | + public void save(PageData pd)throws Exception; | |
| 21 | + | |
| 22 | + /**删除 | |
| 23 | + * @param pd | |
| 24 | + * @throws Exception | |
| 25 | + */ | |
| 26 | + public void delete(PageData pd)throws Exception; | |
| 27 | + | |
| 28 | + /**修改 | |
| 29 | + * @param pd | |
| 30 | + * @throws Exception | |
| 31 | + */ | |
| 32 | + public void edit(PageData pd)throws Exception; | |
| 33 | + | |
| 34 | + /**列表 | |
| 35 | + * @param page | |
| 36 | + * @throws Exception | |
| 37 | + */ | |
| 38 | + public List<PageData> list(Page page)throws Exception; | |
| 39 | + | |
| 40 | + /**列表(全部) | |
| 41 | + * @param pd | |
| 42 | + * @throws Exception | |
| 43 | + */ | |
| 44 | + public List<PageData> listAll(PageData pd)throws Exception; | |
| 45 | + | |
| 46 | + /**通过id获取数据 | |
| 47 | + * @param pd | |
| 48 | + * @throws Exception | |
| 49 | + */ | |
| 50 | + public PageData findById(PageData pd)throws Exception; | |
| 51 | + | |
| 52 | + /**批量删除 | |
| 53 | + * @param ArrayDATA_IDS | |
| 54 | + * @throws Exception | |
| 55 | + */ | |
| 56 | + public void deleteAll(String[] ArrayDATA_IDS)throws Exception; | |
| 57 | + | |
| 58 | + public List<PageData> listAllClassId(PageData pd)throws Exception; | |
| 59 | + | |
| 60 | +} | |
| 61 | + | ... | ... |
src/com/fh/service/sunvote/attachkeyboard/impl/AttachKeyboardService.java
0 → 100644
| 1 | +package com.fh.service.sunvote.attachkeyboard.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | +import javax.annotation.Resource; | |
| 5 | +import org.springframework.stereotype.Service; | |
| 6 | +import com.fh.dao.DaoSupport; | |
| 7 | +import com.fh.entity.Page; | |
| 8 | +import com.fh.util.PageData; | |
| 9 | +import com.fh.service.sunvote.attachkeyboard.AttachKeyboardManager; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * 说明: 班级附加键盘 | |
| 13 | + * 创建人:FH Q313596790 | |
| 14 | + * 创建时间:2018-06-25 | |
| 15 | + * @version | |
| 16 | + */ | |
| 17 | +@Service("attachkeyboardService") | |
| 18 | +public class AttachKeyboardService implements AttachKeyboardManager{ | |
| 19 | + | |
| 20 | + @Resource(name = "daoSupport") | |
| 21 | + private DaoSupport dao; | |
| 22 | + | |
| 23 | + /**新增 | |
| 24 | + * @param pd | |
| 25 | + * @throws Exception | |
| 26 | + */ | |
| 27 | + public void save(PageData pd)throws Exception{ | |
| 28 | + dao.save("AttachKeyboardMapper.save", pd); | |
| 29 | + } | |
| 30 | + | |
| 31 | + /**删除 | |
| 32 | + * @param pd | |
| 33 | + * @throws Exception | |
| 34 | + */ | |
| 35 | + public void delete(PageData pd)throws Exception{ | |
| 36 | + dao.delete("AttachKeyboardMapper.delete", pd); | |
| 37 | + } | |
| 38 | + | |
| 39 | + /**修改 | |
| 40 | + * @param pd | |
| 41 | + * @throws Exception | |
| 42 | + */ | |
| 43 | + public void edit(PageData pd)throws Exception{ | |
| 44 | + dao.update("AttachKeyboardMapper.edit", pd); | |
| 45 | + } | |
| 46 | + | |
| 47 | + /**列表 | |
| 48 | + * @param page | |
| 49 | + * @throws Exception | |
| 50 | + */ | |
| 51 | + @SuppressWarnings("unchecked") | |
| 52 | + public List<PageData> list(Page page)throws Exception{ | |
| 53 | + return (List<PageData>)dao.findForList("AttachKeyboardMapper.datalistPage", page); | |
| 54 | + } | |
| 55 | + | |
| 56 | + /**列表(全部) | |
| 57 | + * @param pd | |
| 58 | + * @throws Exception | |
| 59 | + */ | |
| 60 | + @SuppressWarnings("unchecked") | |
| 61 | + public List<PageData> listAll(PageData pd)throws Exception{ | |
| 62 | + return (List<PageData>)dao.findForList("AttachKeyboardMapper.listAll", pd); | |
| 63 | + } | |
| 64 | + /**列表(全部) | |
| 65 | + * @param pd | |
| 66 | + * @throws Exception | |
| 67 | + */ | |
| 68 | + @SuppressWarnings("unchecked") | |
| 69 | + public List<PageData> listAllClassId(PageData pd)throws Exception{ | |
| 70 | + return (List<PageData>)dao.findForList("AttachKeyboardMapper.listAllClassId", pd); | |
| 71 | + } | |
| 72 | + | |
| 73 | + /**通过id获取数据 | |
| 74 | + * @param pd | |
| 75 | + * @throws Exception | |
| 76 | + */ | |
| 77 | + public PageData findById(PageData pd)throws Exception{ | |
| 78 | + return (PageData)dao.findForObject("AttachKeyboardMapper.findById", pd); | |
| 79 | + } | |
| 80 | + | |
| 81 | + /**批量删除 | |
| 82 | + * @param ArrayDATA_IDS | |
| 83 | + * @throws Exception | |
| 84 | + */ | |
| 85 | + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ | |
| 86 | + dao.delete("AttachKeyboardMapper.deleteAll", ArrayDATA_IDS); | |
| 87 | + } | |
| 88 | + | |
| 89 | +} | |
| 90 | + | ... | ... |
src/com/fh/service/sunvote/event/EventManager.java
0 → 100644
| 1 | +package com.fh.service.sunvote.event; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | +import com.fh.entity.Page; | |
| 5 | +import com.fh.util.PageData; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * 说明: 事件记录接口 | |
| 9 | + * 创建人:FH Q313596790 | |
| 10 | + * 创建时间:2018-06-26 | |
| 11 | + * @version | |
| 12 | + */ | |
| 13 | +public interface EventManager{ | |
| 14 | + | |
| 15 | + /**新增 | |
| 16 | + * @param pd | |
| 17 | + * @throws Exception | |
| 18 | + */ | |
| 19 | + public void save(PageData pd)throws Exception; | |
| 20 | + | |
| 21 | + /**删除 | |
| 22 | + * @param pd | |
| 23 | + * @throws Exception | |
| 24 | + */ | |
| 25 | + public void delete(PageData pd)throws Exception; | |
| 26 | + | |
| 27 | + /**修改 | |
| 28 | + * @param pd | |
| 29 | + * @throws Exception | |
| 30 | + */ | |
| 31 | + public void edit(PageData pd)throws Exception; | |
| 32 | + | |
| 33 | + /**列表 | |
| 34 | + * @param page | |
| 35 | + * @throws Exception | |
| 36 | + */ | |
| 37 | + public List<PageData> list(Page page)throws Exception; | |
| 38 | + | |
| 39 | + /**列表(全部) | |
| 40 | + * @param pd | |
| 41 | + * @throws Exception | |
| 42 | + */ | |
| 43 | + public List<PageData> listAll(PageData pd)throws Exception; | |
| 44 | + | |
| 45 | + /**通过id获取数据 | |
| 46 | + * @param pd | |
| 47 | + * @throws Exception | |
| 48 | + */ | |
| 49 | + public PageData findById(PageData pd)throws Exception; | |
| 50 | + | |
| 51 | + /**批量删除 | |
| 52 | + * @param ArrayDATA_IDS | |
| 53 | + * @throws Exception | |
| 54 | + */ | |
| 55 | + public void deleteAll(String[] ArrayDATA_IDS)throws Exception; | |
| 56 | + | |
| 57 | +} | |
| 58 | + | ... | ... |
src/com/fh/service/sunvote/event/impl/EventService.java
0 → 100644
| 1 | +package com.fh.service.sunvote.event.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | +import javax.annotation.Resource; | |
| 5 | +import org.springframework.stereotype.Service; | |
| 6 | +import com.fh.dao.DaoSupport; | |
| 7 | +import com.fh.entity.Page; | |
| 8 | +import com.fh.util.PageData; | |
| 9 | +import com.fh.service.sunvote.event.EventManager; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * 说明: 事件记录 | |
| 13 | + * 创建人:FH Q313596790 | |
| 14 | + * 创建时间:2018-06-26 | |
| 15 | + * @version | |
| 16 | + */ | |
| 17 | +@Service("eventService") | |
| 18 | +public class EventService implements EventManager{ | |
| 19 | + | |
| 20 | + @Resource(name = "daoSupport") | |
| 21 | + private DaoSupport dao; | |
| 22 | + | |
| 23 | + /**新增 | |
| 24 | + * @param pd | |
| 25 | + * @throws Exception | |
| 26 | + */ | |
| 27 | + public void save(PageData pd)throws Exception{ | |
| 28 | + dao.save("EventMapper.save", pd); | |
| 29 | + } | |
| 30 | + | |
| 31 | + /**删除 | |
| 32 | + * @param pd | |
| 33 | + * @throws Exception | |
| 34 | + */ | |
| 35 | + public void delete(PageData pd)throws Exception{ | |
| 36 | + dao.delete("EventMapper.delete", pd); | |
| 37 | + } | |
| 38 | + | |
| 39 | + /**修改 | |
| 40 | + * @param pd | |
| 41 | + * @throws Exception | |
| 42 | + */ | |
| 43 | + public void edit(PageData pd)throws Exception{ | |
| 44 | + dao.update("EventMapper.edit", pd); | |
| 45 | + } | |
| 46 | + | |
| 47 | + /**列表 | |
| 48 | + * @param page | |
| 49 | + * @throws Exception | |
| 50 | + */ | |
| 51 | + @SuppressWarnings("unchecked") | |
| 52 | + public List<PageData> list(Page page)throws Exception{ | |
| 53 | + return (List<PageData>)dao.findForList("EventMapper.datalistPage", page); | |
| 54 | + } | |
| 55 | + | |
| 56 | + /**列表(全部) | |
| 57 | + * @param pd | |
| 58 | + * @throws Exception | |
| 59 | + */ | |
| 60 | + @SuppressWarnings("unchecked") | |
| 61 | + public List<PageData> listAll(PageData pd)throws Exception{ | |
| 62 | + return (List<PageData>)dao.findForList("EventMapper.listAll", pd); | |
| 63 | + } | |
| 64 | + | |
| 65 | + /**通过id获取数据 | |
| 66 | + * @param pd | |
| 67 | + * @throws Exception | |
| 68 | + */ | |
| 69 | + public PageData findById(PageData pd)throws Exception{ | |
| 70 | + return (PageData)dao.findForObject("EventMapper.findById", pd); | |
| 71 | + } | |
| 72 | + | |
| 73 | + /**批量删除 | |
| 74 | + * @param ArrayDATA_IDS | |
| 75 | + * @throws Exception | |
| 76 | + */ | |
| 77 | + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ | |
| 78 | + dao.delete("EventMapper.deleteAll", ArrayDATA_IDS); | |
| 79 | + } | |
| 80 | + | |
| 81 | +} | |
| 82 | + | ... | ... |