Commit 7242423dc7576210eebd8709818a6b314c62c888
1 parent
f8d83f1f
添加固件管理
Showing
15 changed files
with
2294 additions
and
45 deletions
WebRoot/WEB-INF/jsp/software/firm/firm_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="firm/${msg }.do" name="Form" id="Form" method="post" enctype="multipart/form-data"> | |
| 31 | + <input type="hidden" name="FIRM_ID" id="FIRM_ID" value="${pd.FIRM_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="PRODUCT_NAME" id="PRODUCT_NAME" data-placeholder="产品名称"> | |
| 38 | + <c:forEach var="item" items="${productList}"> | |
| 39 | + <option value="${item.PRODUCT_NAME}" <c:if test="${pd.PRODUCT_NAME==item.PRODUCT_NAME}">selected="true"</c:if>>${item.PRODUCT_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="FIRM_VERSION" id="FIRM_VERSION" value="${pd.FIRM_VERSION}" maxlength="255" placeholder="这里输入固件版本" title="固件版本" style="width:98%;"/></td> | |
| 47 | + </tr> | |
| 48 | + <tr> | |
| 49 | + <td style="width:75px;text-align: right;padding-top: 13px;">固件版本号:</td> | |
| 50 | + <td><input type="number" name="FRIM_CODE" id="FRIM_CODE" value="${pd.FRIM_CODE}" maxlength="32" placeholder="这里输入固件版本号" title="固件版本号" style="width:98%;"/></td> | |
| 51 | + </tr> | |
| 52 | + <tr> | |
| 53 | + <td style="width:75px;text-align: right;padding-top: 13px;">固件路径:</td> | |
| 54 | + <td><input type="file" name="FIRM_PATH" style="width:98%;"/></td> | |
| 55 | + </tr> | |
| 56 | + <tr> | |
| 57 | + <td style="width:75px;text-align: right;padding-top: 13px;">固件描述:</td> | |
| 58 | + <td><input type="text" name="FIRM_DESC" id="FIRM_DESC" value="${pd.FIRM_DESC}" maxlength="255" placeholder="这里输入固件描述" title="固件描述" style="width:98%;"/></td> | |
| 59 | + </tr> | |
| 60 | + <tr> | |
| 61 | + <td style="text-align: center;" colspan="10"> | |
| 62 | + <a class="btn btn-mini btn-primary" onclick="save();">保存</a> | |
| 63 | + <a class="btn btn-mini btn-danger" onclick="top.Dialog.close();">取消</a> | |
| 64 | + </td> | |
| 65 | + </tr> | |
| 66 | + </table> | |
| 67 | + </div> | |
| 68 | + <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> | |
| 69 | + </form> | |
| 70 | + </div> | |
| 71 | + <!-- /.col --> | |
| 72 | + </div> | |
| 73 | + <!-- /.row --> | |
| 74 | + </div> | |
| 75 | + <!-- /.page-content --> | |
| 76 | + </div> | |
| 77 | + </div> | |
| 78 | + <!-- /.main-content --> | |
| 79 | +</div> | |
| 80 | +<!-- /.main-container --> | |
| 81 | + | |
| 82 | + | |
| 83 | + <!-- 页面底部js¨ --> | |
| 84 | + <%@ include file="../../system/index/foot.jsp"%> | |
| 85 | + <!-- 下拉框 --> | |
| 86 | + <script src="static/ace/js/chosen.jquery.js"></script> | |
| 87 | + <!-- 日期框 --> | |
| 88 | + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script> | |
| 89 | + <!--提示框--> | |
| 90 | + <script type="text/javascript" src="static/js/jquery.tips.js"></script> | |
| 91 | + <script type="text/javascript"> | |
| 92 | + $(top.hangge()); | |
| 93 | + //保存 | |
| 94 | + function save(){ | |
| 95 | + if($("#PRODUCT_NAME").val()==""){ | |
| 96 | + $("#PRODUCT_NAME").tips({ | |
| 97 | + side:3, | |
| 98 | + msg:'请输入产品名称', | |
| 99 | + bg:'#AE81FF', | |
| 100 | + time:2 | |
| 101 | + }); | |
| 102 | + $("#PRODUCT_NAME").focus(); | |
| 103 | + return false; | |
| 104 | + } | |
| 105 | + if($("#FIRM_VERSION").val()==""){ | |
| 106 | + $("#FIRM_VERSION").tips({ | |
| 107 | + side:3, | |
| 108 | + msg:'请输入固件版本', | |
| 109 | + bg:'#AE81FF', | |
| 110 | + time:2 | |
| 111 | + }); | |
| 112 | + $("#FIRM_VERSION").focus(); | |
| 113 | + return false; | |
| 114 | + } | |
| 115 | + if($("#FRIM_CODE").val()==""){ | |
| 116 | + $("#FRIM_CODE").tips({ | |
| 117 | + side:3, | |
| 118 | + msg:'请输入固件版本号', | |
| 119 | + bg:'#AE81FF', | |
| 120 | + time:2 | |
| 121 | + }); | |
| 122 | + $("#FRIM_CODE").focus(); | |
| 123 | + return false; | |
| 124 | + } | |
| 125 | + if($("#FIRM_PATH").val()==""){ | |
| 126 | + $("#FIRM_PATH").tips({ | |
| 127 | + side:3, | |
| 128 | + msg:'请输入固件路径', | |
| 129 | + bg:'#AE81FF', | |
| 130 | + time:2 | |
| 131 | + }); | |
| 132 | + $("#FIRM_PATH").focus(); | |
| 133 | + return false; | |
| 134 | + } | |
| 135 | + if($("#FIRM_DESC").val()==""){ | |
| 136 | + $("#FIRM_DESC").tips({ | |
| 137 | + side:3, | |
| 138 | + msg:'请输入固件描述', | |
| 139 | + bg:'#AE81FF', | |
| 140 | + time:2 | |
| 141 | + }); | |
| 142 | + $("#FIRM_DESC").focus(); | |
| 143 | + return false; | |
| 144 | + } | |
| 145 | + $("#Form").submit(); | |
| 146 | + $("#zhongxin").hide(); | |
| 147 | + $("#zhongxin2").show(); | |
| 148 | + } | |
| 149 | + | |
| 150 | + $(function() { | |
| 151 | + //日期框 | |
| 152 | + $('.date-picker').datepicker({autoclose: true,todayHighlight: true}); | |
| 153 | + }); | |
| 154 | + </script> | |
| 155 | +</body> | |
| 156 | +</html> | |
| 0 | 157 | \ No newline at end of file | ... | ... |
WebRoot/WEB-INF/jsp/software/firm/firm_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="firm/list.do" method="post" name="Form" id="Form"> | |
| 34 | + <table style="margin-top:5px;"> | |
| 35 | + <tr> | |
| 36 | + <td style="vertical-align:top;padding-left:2px;"> | |
| 37 | + <select class="chosen-select form-control" name="PRODUCT_NAME" id="PRODUCT_NAME" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
| 38 | + <option value="">全部</option> | |
| 39 | + <c:forEach var="item" items="${productList}"> | |
| 40 | + <option value="${item.PRODUCT_NAME}" >${item.PRODUCT_NAME}</option> | |
| 41 | + </c:forEach> | |
| 42 | + </select> | |
| 43 | + </td> | |
| 44 | + <c:if test="${QX.cha == 1 }"> | |
| 45 | + <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td> | |
| 46 | + </c:if> | |
| 47 | + </tr> | |
| 48 | + </table> | |
| 49 | + <!-- 检索 --> | |
| 50 | + | |
| 51 | + <table id="simple-table" class="table table-striped table-bordered table-hover" style="margin-top:5px;"> | |
| 52 | + <thead> | |
| 53 | + <tr> | |
| 54 | + <th class="center" style="width:35px;"> | |
| 55 | + <label class="pos-rel"><input type="checkbox" class="ace" id="zcheckbox" /><span class="lbl"></span></label> | |
| 56 | + </th> | |
| 57 | + <th class="center" style="width:50px;">序号</th> | |
| 58 | + <th class="center">产品名称</th> | |
| 59 | + <th class="center">固件版本</th> | |
| 60 | + <th class="center">固件版本号</th> | |
| 61 | + <th class="center">固件文件</th> | |
| 62 | + <th class="center">固件描述</th> | |
| 63 | + <th class="center">操作</th> | |
| 64 | + </tr> | |
| 65 | + </thead> | |
| 66 | + | |
| 67 | + <tbody> | |
| 68 | + <!-- 开始循环 --> | |
| 69 | + <c:choose> | |
| 70 | + <c:when test="${not empty varList}"> | |
| 71 | + <c:if test="${QX.cha == 1 }"> | |
| 72 | + <c:forEach items="${varList}" var="var" varStatus="vs"> | |
| 73 | + <tr> | |
| 74 | + <td class='center'> | |
| 75 | + <label class="pos-rel"><input type='checkbox' name='ids' value="${var.FIRM_ID}" class="ace" /><span class="lbl"></span></label> | |
| 76 | + </td> | |
| 77 | + <td class='center' style="width: 30px;">${vs.index+1}</td> | |
| 78 | + <td class='center'>${var.PRODUCT_NAME}</td> | |
| 79 | + <td class='center'>${var.FIRM_VERSION}</td> | |
| 80 | + <td class='center'>${var.FRIM_CODE}</td> | |
| 81 | + <td class='center'><a target= '_blank' href='<%=basePath %>uploadFiles/uploadFile/${var.FIRM_PATH}'>下载</a> </td> | |
| 82 | + <td class='center'>${var.FIRM_DESC}</td> | |
| 83 | + <td class="center"> | |
| 84 | + <c:if test="${QX.edit != 1 && QX.del != 1 }"> | |
| 85 | + <span class="label label-large label-grey arrowed-in-right arrowed-in"><i class="ace-icon fa fa-lock" title="无权限"></i></span> | |
| 86 | + </c:if> | |
| 87 | + <div class="hidden-sm hidden-xs btn-group"> | |
| 88 | + <c:if test="${QX.edit == 1 }"> | |
| 89 | + <a class="btn btn-xs btn-success" title="编辑" onclick="edit('${var.FIRM_ID}');"> | |
| 90 | + <i class="ace-icon fa fa-pencil-square-o bigger-120" title="编辑"></i> | |
| 91 | + </a> | |
| 92 | + </c:if> | |
| 93 | + <c:if test="${QX.del == 1 }"> | |
| 94 | + <a class="btn btn-xs btn-danger" onclick="del('${var.FIRM_ID}','${var.FIRM_PATH}');"> | |
| 95 | + <i class="ace-icon fa fa-trash-o bigger-120" title="删除"></i> | |
| 96 | + </a> | |
| 97 | + </c:if> | |
| 98 | + </div> | |
| 99 | + <div class="hidden-md hidden-lg"> | |
| 100 | + <div class="inline pos-rel"> | |
| 101 | + <button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto"> | |
| 102 | + <i class="ace-icon fa fa-cog icon-only bigger-110"></i> | |
| 103 | + </button> | |
| 104 | + | |
| 105 | + <ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close"> | |
| 106 | + <c:if test="${QX.edit == 1 }"> | |
| 107 | + <li> | |
| 108 | + <a style="cursor:pointer;" onclick="edit('${var.FIRM_ID}');" class="tooltip-success" data-rel="tooltip" title="修改"> | |
| 109 | + <span class="green"> | |
| 110 | + <i class="ace-icon fa fa-pencil-square-o bigger-120"></i> | |
| 111 | + </span> | |
| 112 | + </a> | |
| 113 | + </li> | |
| 114 | + </c:if> | |
| 115 | + <c:if test="${QX.del == 1 }"> | |
| 116 | + <li> | |
| 117 | + <a style="cursor:pointer;" onclick="del('${var.FIRM_ID}','${var.FIRM_PATH}');" class="tooltip-error" data-rel="tooltip" title="删除"> | |
| 118 | + <span class="red"> | |
| 119 | + <i class="ace-icon fa fa-trash-o bigger-120"></i> | |
| 120 | + </span> | |
| 121 | + </a> | |
| 122 | + </li> | |
| 123 | + </c:if> | |
| 124 | + </ul> | |
| 125 | + </div> | |
| 126 | + </div> | |
| 127 | + </td> | |
| 128 | + </tr> | |
| 129 | + | |
| 130 | + </c:forEach> | |
| 131 | + </c:if> | |
| 132 | + <c:if test="${QX.cha == 0 }"> | |
| 133 | + <tr> | |
| 134 | + <td colspan="100" class="center">您无权查看</td> | |
| 135 | + </tr> | |
| 136 | + </c:if> | |
| 137 | + </c:when> | |
| 138 | + <c:otherwise> | |
| 139 | + <tr class="main_info"> | |
| 140 | + <td colspan="100" class="center" >没有相关数据</td> | |
| 141 | + </tr> | |
| 142 | + </c:otherwise> | |
| 143 | + </c:choose> | |
| 144 | + </tbody> | |
| 145 | + </table> | |
| 146 | + <div class="page-header position-relative"> | |
| 147 | + <table style="width:100%;"> | |
| 148 | + <tr> | |
| 149 | + <td style="vertical-align:top;"> | |
| 150 | + <c:if test="${QX.add == 1 }"> | |
| 151 | + <a class="btn btn-mini btn-success" onclick="add();">新增</a> | |
| 152 | + </c:if> | |
| 153 | + <c:if test="${QX.del == 1 }"> | |
| 154 | + <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a> | |
| 155 | + </c:if> | |
| 156 | + </td> | |
| 157 | + <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td> | |
| 158 | + </tr> | |
| 159 | + </table> | |
| 160 | + </div> | |
| 161 | + </form> | |
| 162 | + | |
| 163 | + </div> | |
| 164 | + <!-- /.col --> | |
| 165 | + </div> | |
| 166 | + <!-- /.row --> | |
| 167 | + </div> | |
| 168 | + <!-- /.page-content --> | |
| 169 | + </div> | |
| 170 | + </div> | |
| 171 | + <!-- /.main-content --> | |
| 172 | + | |
| 173 | + <!-- 返回顶部 --> | |
| 174 | + <a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse"> | |
| 175 | + <i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i> | |
| 176 | + </a> | |
| 177 | + | |
| 178 | + </div> | |
| 179 | + <!-- /.main-container --> | |
| 180 | + | |
| 181 | + <!-- basic scripts --> | |
| 182 | + <!-- 页面底部js¨ --> | |
| 183 | + <%@ include file="../../system/index/foot.jsp"%> | |
| 184 | + <!-- 删除时确认窗口 --> | |
| 185 | + <script src="static/ace/js/bootbox.js"></script> | |
| 186 | + <!-- ace scripts --> | |
| 187 | + <script src="static/ace/js/ace/ace.js"></script> | |
| 188 | + <!-- 下拉框 --> | |
| 189 | + <script src="static/ace/js/chosen.jquery.js"></script> | |
| 190 | + <!-- 日期框 --> | |
| 191 | + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script> | |
| 192 | + <!--提示框--> | |
| 193 | + <script type="text/javascript" src="static/js/jquery.tips.js"></script> | |
| 194 | + <script type="text/javascript"> | |
| 195 | + $(top.hangge());//关闭加载状态 | |
| 196 | + //检索 | |
| 197 | + function tosearch(){ | |
| 198 | + top.jzts(); | |
| 199 | + $("#Form").submit(); | |
| 200 | + } | |
| 201 | + $(function() { | |
| 202 | + | |
| 203 | + //日期框 | |
| 204 | + $('.date-picker').datepicker({ | |
| 205 | + autoclose: true, | |
| 206 | + todayHighlight: true | |
| 207 | + }); | |
| 208 | + | |
| 209 | + //下拉框 | |
| 210 | + if(!ace.vars['touch']) { | |
| 211 | + $('.chosen-select').chosen({allow_single_deselect:true}); | |
| 212 | + $(window) | |
| 213 | + .off('resize.chosen') | |
| 214 | + .on('resize.chosen', function() { | |
| 215 | + $('.chosen-select').each(function() { | |
| 216 | + var $this = $(this); | |
| 217 | + $this.next().css({'width': $this.parent().width()}); | |
| 218 | + }); | |
| 219 | + }).trigger('resize.chosen'); | |
| 220 | + $(document).on('settings.ace.chosen', function(e, event_name, event_val) { | |
| 221 | + if(event_name != 'sidebar_collapsed') return; | |
| 222 | + $('.chosen-select').each(function() { | |
| 223 | + var $this = $(this); | |
| 224 | + $this.next().css({'width': $this.parent().width()}); | |
| 225 | + }); | |
| 226 | + }); | |
| 227 | + $('#chosen-multiple-style .btn').on('click', function(e){ | |
| 228 | + var target = $(this).find('input[type=radio]'); | |
| 229 | + var which = parseInt(target.val()); | |
| 230 | + if(which == 2) $('#form-field-select-4').addClass('tag-input-style'); | |
| 231 | + else $('#form-field-select-4').removeClass('tag-input-style'); | |
| 232 | + }); | |
| 233 | + } | |
| 234 | + | |
| 235 | + | |
| 236 | + //复选框全选控制 | |
| 237 | + var active_class = 'active'; | |
| 238 | + $('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){ | |
| 239 | + var th_checked = this.checked;//checkbox inside "TH" table header | |
| 240 | + $(this).closest('table').find('tbody > tr').each(function(){ | |
| 241 | + var row = this; | |
| 242 | + if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true); | |
| 243 | + else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false); | |
| 244 | + }); | |
| 245 | + }); | |
| 246 | + }); | |
| 247 | + | |
| 248 | + //新增 | |
| 249 | + function add(){ | |
| 250 | + top.jzts(); | |
| 251 | + var diag = new top.Dialog(); | |
| 252 | + diag.Drag=true; | |
| 253 | + diag.Title ="新增"; | |
| 254 | + diag.URL = '<%=basePath%>firm/goAdd.do'; | |
| 255 | + diag.Width = 450; | |
| 256 | + diag.Height = 355; | |
| 257 | + diag.Modal = true; //有无遮罩窗口 | |
| 258 | + diag. ShowMaxButton = true; //最大化按钮 | |
| 259 | + diag.ShowMinButton = true; //最小化按钮 | |
| 260 | + diag.CancelEvent = function(){ //关闭事件 | |
| 261 | + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){ | |
| 262 | + if('${page.currentPage}' == '0'){ | |
| 263 | + tosearch(); | |
| 264 | + }else{ | |
| 265 | + tosearch(); | |
| 266 | + } | |
| 267 | + } | |
| 268 | + diag.close(); | |
| 269 | + }; | |
| 270 | + diag.show(); | |
| 271 | + } | |
| 272 | + | |
| 273 | + //删除 | |
| 274 | + function del(Id,path){ | |
| 275 | + bootbox.confirm("确定要删除吗?", function(result) { | |
| 276 | + if(result) { | |
| 277 | + top.jzts(); | |
| 278 | + var url = "<%=basePath%>firm/delete.do?FIRM_ID="+Id+"&firm_path=" + path + "&tm="+new Date().getTime(); | |
| 279 | + $.get(url,function(data){ | |
| 280 | + tosearch(); | |
| 281 | + }); | |
| 282 | + } | |
| 283 | + }); | |
| 284 | + } | |
| 285 | + | |
| 286 | + //修改 | |
| 287 | + function edit(Id){ | |
| 288 | + top.jzts(); | |
| 289 | + var diag = new top.Dialog(); | |
| 290 | + diag.Drag=true; | |
| 291 | + diag.Title ="编辑"; | |
| 292 | + diag.URL = '<%=basePath%>firm/goEdit.do?FIRM_ID='+Id; | |
| 293 | + diag.Width = 450; | |
| 294 | + diag.Height = 355; | |
| 295 | + diag.Modal = true; //有无遮罩窗口 | |
| 296 | + diag. ShowMaxButton = true; //最大化按钮 | |
| 297 | + diag.ShowMinButton = true; //最小化按钮 | |
| 298 | + diag.CancelEvent = function(){ //关闭事件 | |
| 299 | + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){ | |
| 300 | + tosearch(); | |
| 301 | + } | |
| 302 | + diag.close(); | |
| 303 | + }; | |
| 304 | + diag.show(); | |
| 305 | + } | |
| 306 | + | |
| 307 | + //批量操作 | |
| 308 | + function makeAll(msg){ | |
| 309 | + bootbox.confirm(msg, function(result) { | |
| 310 | + if(result) { | |
| 311 | + var str = ''; | |
| 312 | + for(var i=0;i < document.getElementsByName('ids').length;i++){ | |
| 313 | + if(document.getElementsByName('ids')[i].checked){ | |
| 314 | + if(str=='') str += document.getElementsByName('ids')[i].value; | |
| 315 | + else str += ',' + document.getElementsByName('ids')[i].value; | |
| 316 | + } | |
| 317 | + } | |
| 318 | + if(str==''){ | |
| 319 | + bootbox.dialog({ | |
| 320 | + message: "<span class='bigger-110'>您没有选择任何内容!</span>", | |
| 321 | + buttons: | |
| 322 | + { "button":{ "label":"确定", "className":"btn-sm btn-success"}} | |
| 323 | + }); | |
| 324 | + $("#zcheckbox").tips({ | |
| 325 | + side:1, | |
| 326 | + msg:'点这里全选', | |
| 327 | + bg:'#AE81FF', | |
| 328 | + time:8 | |
| 329 | + }); | |
| 330 | + return; | |
| 331 | + }else{ | |
| 332 | + if(msg == '确定要删除选中的数据吗?'){ | |
| 333 | + top.jzts(); | |
| 334 | + $.ajax({ | |
| 335 | + type: "POST", | |
| 336 | + url: '<%=basePath%>firm/deleteAll.do?tm='+new Date().getTime(), | |
| 337 | + data: {DATA_IDS:str}, | |
| 338 | + dataType:'json', | |
| 339 | + //beforeSend: validateData, | |
| 340 | + cache: false, | |
| 341 | + success: function(data){ | |
| 342 | + $.each(data.list, function(i, list){ | |
| 343 | + tosearch(); | |
| 344 | + }); | |
| 345 | + } | |
| 346 | + }); | |
| 347 | + } | |
| 348 | + } | |
| 349 | + } | |
| 350 | + }); | |
| 351 | + }; | |
| 352 | + | |
| 353 | + //导出excel | |
| 354 | + function toExcel(){ | |
| 355 | + window.location.href='<%=basePath%>firm/excel.do'; | |
| 356 | + } | |
| 357 | + </script> | |
| 358 | + | |
| 359 | + | |
| 360 | +</body> | |
| 361 | +</html> | |
| 0 | 362 | \ No newline at end of file | ... | ... |
WebRoot/WEB-INF/jsp/software/firmware/firmware_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="firmware/${msg }.do" name="Form" id="Form" method="post" enctype="multipart/form-data"> | |
| 31 | + <input type="hidden" name="FIRMWARE_ID" id="FIRMWARE_ID" value="${pd.FIRMWARE_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="PRODUCT_NAME" id="PRODUCT_NAME" value="${pd.PRODUCT_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="PRODUCT_NO" id="PRODUCT_NO" value="${pd.PRODUCT_NO}" 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> | |
| 45 | + <select class="chosen-select form-control" name="INDUSTRY" id="INDUSTRY" data-placeholder="请选择" style="vertical-align:top;width:98%;"> | |
| 46 | + <option value="教育" <c:if test="${pd.INDUSTRY eq '教育'}">selected="true"</c:if>>教育</option> | |
| 47 | + <option value="企业" <c:if test="${pd.INDUSTRY eq '企业'}">selected="true"</c:if>>企业</option> | |
| 48 | + <option value="政府" <c:if test="${pd.INDUSTRY eq '政府'}">selected="true"</c:if>>政府</option> | |
| 49 | + <option value="其他" <c:if test="${pd.INDUSTRY eq '其他'}">selected="true"</c:if>>其他</option> | |
| 50 | + </select> | |
| 51 | + </td> | |
| 52 | + </tr> | |
| 53 | + <tr> | |
| 54 | + <td style="width:75px;text-align: right;padding-top: 13px;">产品状态:</td> | |
| 55 | + <td> | |
| 56 | + <select class="chosen-select form-control" name="PRODUCT_STATE" id="PRODUCT_STATE" data-placeholder="请选择" style="vertical-align:top;width:98%;"> | |
| 57 | + <option value="产品销售" <c:if test="${pd.PRODUCT_STATE eq '产品销售'}">selected="true"</c:if>>产品销售</option> | |
| 58 | + <option value="产品发布" <c:if test="${pd.PRODUCT_STATE eq '产品发布'}">selected="true"</c:if>>产品发布</option> | |
| 59 | + <option value="产品研制" <c:if test="${pd.PRODUCT_STATE eq '产品研制'}">selected="true"</c:if>>产品研制</option> | |
| 60 | + <option value="其他" <c:if test="${pd.PRODUCT_STATE eq '其他'}">selected="true"</c:if>>其他</option> | |
| 61 | + </select> | |
| 62 | + </td> | |
| 63 | + </tr> | |
| 64 | + <tr> | |
| 65 | + <td style="width:75px;text-align: right;padding-top: 13px;">产品规格:</td> | |
| 66 | + <td><input type="text" name="PRODUCT_SPEC" id="PRODUCT_SPEC" value="${pd.PRODUCT_SPEC}" maxlength="255" placeholder="这里输入产品规格" title="产品规格" style="width:98%;"/></td> | |
| 67 | + </tr> | |
| 68 | + <tr> | |
| 69 | + <td style="width:75px;text-align: right;padding-top: 13px;">产品功能:</td> | |
| 70 | + <td><input type="text" name="PRODUCT_FUNC" id="PRODUCT_FUNC" value="${pd.PRODUCT_FUNC}" maxlength="1000" placeholder="这里输入产品功能" title="产品功能" style="width:98%;"/></td> | |
| 71 | + </tr> | |
| 72 | + <tr> | |
| 73 | + <td style="width:75px;text-align: right;padding-top: 13px;">产品性能:</td> | |
| 74 | + <td><input type="text" name="PRODUCT_PERF" id="PRODUCT_PERF" value="${pd.PRODUCT_PERF}" maxlength="255" placeholder="这里输入产品性能" title="产品性能" style="width:98%;"/></td> | |
| 75 | + </tr> | |
| 76 | + <tr> | |
| 77 | + <td style="width:75px;text-align: right;padding-top: 13px;">适配硬件:</td> | |
| 78 | + <td><input type="text" name="ADAPTABLE_HARDWARE" id="ADAPTABLE_HARDWARE" value="${pd.ADAPTABLE_HARDWARE}" maxlength="500" placeholder="这里输入适配硬件" title="适配硬件" style="width:98%;"/></td> | |
| 79 | + </tr> | |
| 80 | + <tr> | |
| 81 | + <td style="width:75px;text-align: right;padding-top: 13px;">适配软件:</td> | |
| 82 | + <td><input type="text" name="ADAPTABLE_SOFTWARE" id="ADAPTABLE_SOFTWARE" value="${pd.ADAPTABLE_SOFTWARE}" maxlength="255" placeholder="这里输入适配软件" title="适配软件" style="width:98%;"/></td> | |
| 83 | + </tr> | |
| 84 | + <tr> | |
| 85 | + <td style="width:75px;text-align: right;padding-top: 13px;">产品认证:</td> | |
| 86 | + <td><input type="text" name="PRODUCT_CERT" id="PRODUCT_CERT" value="${pd.PRODUCT_CERT}" maxlength="255" placeholder="这里输入产品认证" title="产品认证" style="width:98%;"/></td> | |
| 87 | + </tr> | |
| 88 | + <tr> | |
| 89 | + <td style="width:75px;text-align: right;padding-top: 13px;">注意事项:</td> | |
| 90 | + <td><input type="text" name="REMARK" id="REMARK" value="${pd.REMARK}" maxlength="255" placeholder="这里输入注意事项" title="注意事项" style="width:98%;"/> | |
| 91 | + </td> | |
| 92 | + </tr> | |
| 93 | + <tr> | |
| 94 | + <td style="width:75px;text-align: right;padding-top: 13px;">照片1:</td> | |
| 95 | + <td> | |
| 96 | + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[0]}"/>${pd.PRODUCT_IMAGE[0]} | |
| 97 | + <input type="hidden" name="PRODUCT_IMAGE0" id="PRODUCT_IMAGE0" value="${pd.PRODUCT_IMAGE[0]}"/> | |
| 98 | + </td> | |
| 99 | + </tr> | |
| 100 | + <tr> | |
| 101 | + <td style="width:75px;text-align: right;padding-top: 13px;">照片2:</td> | |
| 102 | + <td> | |
| 103 | + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[1]}"/>${pd.PRODUCT_IMAGE[1]} | |
| 104 | + <input type="hidden" name="PRODUCT_IMAGE1" id="PRODUCT_IMAGE1" value="${pd.PRODUCT_IMAGE[1]}"/> | |
| 105 | + </td> | |
| 106 | + </tr> | |
| 107 | + <tr> | |
| 108 | + <td style="width:75px;text-align: right;padding-top: 13px;">照片3:</td> | |
| 109 | + <td> | |
| 110 | + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[2]}"/>${pd.PRODUCT_IMAGE[2]} | |
| 111 | + <input type="hidden" name="PRODUCT_IMAGE2" id="PRODUCT_IMAGE2" value="${pd.PRODUCT_IMAGE[2]}"/> | |
| 112 | + </td> | |
| 113 | + </tr> | |
| 114 | + <tr> | |
| 115 | + <td style="width:75px;text-align: right;padding-top: 13px;">照片4:</td> | |
| 116 | + <td> | |
| 117 | + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[3]}"/>${pd.PRODUCT_IMAGE[3]} | |
| 118 | + <input type="hidden" name="PRODUCT_IMAGE3" id="PRODUCT_IMAGE3" value="${pd.PRODUCT_IMAGE[3]}"/> | |
| 119 | + </td> | |
| 120 | + | |
| 121 | + </tr> | |
| 122 | + <tr> | |
| 123 | + <td style="width:75px;text-align: right;padding-top: 13px;">照片5:</td> | |
| 124 | + <td> | |
| 125 | + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[4]}"/>${pd.PRODUCT_IMAGE[4]} | |
| 126 | + <input type="hidden" name="PRODUCT_IMAGE4" id="PRODUCT_IMAGE4" value="${pd.PRODUCT_IMAGE[4]}"/> | |
| 127 | + </td> | |
| 128 | + </tr> | |
| 129 | + <tr> | |
| 130 | + <td style="width:75px;text-align: right;padding-top: 13px;">照片6:</td> | |
| 131 | + <td> | |
| 132 | + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[5]}"/>${pd.PRODUCT_IMAGE[5]} | |
| 133 | + <input type="hidden" name="PRODUCT_IMAGE5" id="PRODUCT_IMAGE5" value="${pd.PRODUCT_IMAGE[5]}"/> | |
| 134 | + </td> | |
| 135 | + </tr> | |
| 136 | + <tr> | |
| 137 | + <td style="text-align: center;" colspan="10"> | |
| 138 | + <a class="btn btn-mini btn-primary" onclick="save();">保存</a> | |
| 139 | + <a class="btn btn-mini btn-danger" onclick="top.Dialog.close();">取消</a> | |
| 140 | + </td> | |
| 141 | + </tr> | |
| 142 | + </table> | |
| 143 | + </div> | |
| 144 | + <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> | |
| 145 | + </form> | |
| 146 | + </div> | |
| 147 | + <!-- /.col --> | |
| 148 | + </div> | |
| 149 | + <!-- /.row --> | |
| 150 | + </div> | |
| 151 | + <!-- /.page-content --> | |
| 152 | + </div> | |
| 153 | + </div> | |
| 154 | + <!-- /.main-content --> | |
| 155 | +</div> | |
| 156 | +<!-- /.main-container --> | |
| 157 | + | |
| 158 | + | |
| 159 | + <!-- 页面底部js¨ --> | |
| 160 | + <%@ include file="../../system/index/foot.jsp"%> | |
| 161 | + <!-- 下拉框 --> | |
| 162 | + <script src="static/ace/js/chosen.jquery.js"></script> | |
| 163 | + <!-- 日期框 --> | |
| 164 | + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script> | |
| 165 | + <!--提示框--> | |
| 166 | + <script type="text/javascript" src="static/js/jquery.tips.js"></script> | |
| 167 | + <script type="text/javascript"> | |
| 168 | + $(top.hangge()); | |
| 169 | + //保存 | |
| 170 | + function save(){ | |
| 171 | + if($("#PRODUCT_NAME").val()==""){ | |
| 172 | + $("#PRODUCT_NAME").tips({ | |
| 173 | + side:3, | |
| 174 | + msg:'请输入产品名称', | |
| 175 | + bg:'#AE81FF', | |
| 176 | + time:2 | |
| 177 | + }); | |
| 178 | + $("#PRODUCT_NAME").focus(); | |
| 179 | + return false; | |
| 180 | + } | |
| 181 | + if($("#PRODUCT_NO").val()==""){ | |
| 182 | + $("#PRODUCT_NO").tips({ | |
| 183 | + side:3, | |
| 184 | + msg:'请输入货品编号', | |
| 185 | + bg:'#AE81FF', | |
| 186 | + time:2 | |
| 187 | + }); | |
| 188 | + $("#PRODUCT_NO").focus(); | |
| 189 | + return false; | |
| 190 | + } | |
| 191 | + if($("#INDUSTRY").val()==""){ | |
| 192 | + $("#INDUSTRY").tips({ | |
| 193 | + side:3, | |
| 194 | + msg:'请输入应用行业', | |
| 195 | + bg:'#AE81FF', | |
| 196 | + time:2 | |
| 197 | + }); | |
| 198 | + $("#INDUSTRY").focus(); | |
| 199 | + return false; | |
| 200 | + } | |
| 201 | + if($("#PRODUCT_STATE").val()==""){ | |
| 202 | + $("#PRODUCT_STATE").tips({ | |
| 203 | + side:3, | |
| 204 | + msg:'请输入产品状态', | |
| 205 | + bg:'#AE81FF', | |
| 206 | + time:2 | |
| 207 | + }); | |
| 208 | + $("#PRODUCT_STATE").focus(); | |
| 209 | + return false; | |
| 210 | + } | |
| 211 | + if($("#PRODUCT_SPEC").val()==""){ | |
| 212 | + $("#PRODUCT_SPEC").tips({ | |
| 213 | + side:3, | |
| 214 | + msg:'请输入产品规格', | |
| 215 | + bg:'#AE81FF', | |
| 216 | + time:2 | |
| 217 | + }); | |
| 218 | + $("#PRODUCT_SPEC").focus(); | |
| 219 | + return false; | |
| 220 | + } | |
| 221 | + if($("#PRODUCT_FUNC").val()==""){ | |
| 222 | + $("#PRODUCT_FUNC").tips({ | |
| 223 | + side:3, | |
| 224 | + msg:'请输入产品功能', | |
| 225 | + bg:'#AE81FF', | |
| 226 | + time:2 | |
| 227 | + }); | |
| 228 | + $("#PRODUCT_FUNC").focus(); | |
| 229 | + return false; | |
| 230 | + } | |
| 231 | + if($("#PRODUCT_PERF").val()==""){ | |
| 232 | + $("#PRODUCT_PERF").tips({ | |
| 233 | + side:3, | |
| 234 | + msg:'请输入产品性能', | |
| 235 | + bg:'#AE81FF', | |
| 236 | + time:2 | |
| 237 | + }); | |
| 238 | + $("#PRODUCT_PERF").focus(); | |
| 239 | + return false; | |
| 240 | + } | |
| 241 | + if($("#ADAPTABLE_HARDWARE").val()==""){ | |
| 242 | + $("#ADAPTABLE_HARDWARE").tips({ | |
| 243 | + side:3, | |
| 244 | + msg:'请输入适配硬件', | |
| 245 | + bg:'#AE81FF', | |
| 246 | + time:2 | |
| 247 | + }); | |
| 248 | + $("#ADAPTABLE_HARDWARE").focus(); | |
| 249 | + return false; | |
| 250 | + } | |
| 251 | + if($("#ADAPTABLE_SOFTWARE").val()==""){ | |
| 252 | + $("#ADAPTABLE_SOFTWARE").tips({ | |
| 253 | + side:3, | |
| 254 | + msg:'请输入适配软件', | |
| 255 | + bg:'#AE81FF', | |
| 256 | + time:2 | |
| 257 | + }); | |
| 258 | + $("#ADAPTABLE_SOFTWARE").focus(); | |
| 259 | + return false; | |
| 260 | + } | |
| 261 | + if($("#PRODUCT_CERT").val()==""){ | |
| 262 | + $("#PRODUCT_CERT").tips({ | |
| 263 | + side:3, | |
| 264 | + msg:'请输入产品认证', | |
| 265 | + bg:'#AE81FF', | |
| 266 | + time:2 | |
| 267 | + }); | |
| 268 | + $("#PRODUCT_CERT").focus(); | |
| 269 | + return false; | |
| 270 | + } | |
| 271 | + if($("#REMARK").val()==""){ | |
| 272 | + $("#REMARK").tips({ | |
| 273 | + side:3, | |
| 274 | + msg:'请输入注意事项', | |
| 275 | + bg:'#AE81FF', | |
| 276 | + time:2 | |
| 277 | + }); | |
| 278 | + $("#REMARK").focus(); | |
| 279 | + return false; | |
| 280 | + } | |
| 281 | + | |
| 282 | + $("#Form").submit(); | |
| 283 | + $("#zhongxin").hide(); | |
| 284 | + $("#zhongxin2").show(); | |
| 285 | + } | |
| 286 | + | |
| 287 | + $(function() { | |
| 288 | + //日期框 | |
| 289 | + $('.date-picker').datepicker({autoclose: true,todayHighlight: true}); | |
| 290 | + }); | |
| 291 | + </script> | |
| 292 | +</body> | |
| 293 | +</html> | |
| 0 | 294 | \ No newline at end of file | ... | ... |
WebRoot/WEB-INF/jsp/software/firmware/firmware_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="firmware/list.do" method="post" name="Form" id="Form"> | |
| 34 | + <table style="margin-top:5px;"> | |
| 35 | + <tr> | |
| 36 | + | |
| 37 | + <td style="vertical-align:top;padding-left:2px;"> | |
| 38 | + <select class="chosen-select form-control" name="INDUSTRY" id="INDUSTRY" data-placeholder="请选择" style="vertical-align:top;"> | |
| 39 | + <option value="">应用行业</option> | |
| 40 | + <option value="教育">教育</option> | |
| 41 | + <option value="企业">企业</option> | |
| 42 | + <option value="政府">政府</option> | |
| 43 | + <option value="其他">其他</option> | |
| 44 | + </select> | |
| 45 | + </td> | |
| 46 | + <td style="vertical-align:top;padding-left:2px;"> | |
| 47 | + <select class="chosen-select form-control" name="PRODUCT_STATE" id="PRODUCT_STATE" data-placeholder="请选择" style="vertical-align:top;width:98%;"> | |
| 48 | + <option value="" >产品状态</option> | |
| 49 | + <option value="产品销售" <c:if test="${pd.PRODUCT_STATE eq '产品销售'}">selected="true"</c:if>>销售</option> | |
| 50 | + <option value="产品发布" <c:if test="${pd.PRODUCT_STATE eq '产品发布'}">selected="true"</c:if>>发布</option> | |
| 51 | + <option value="产品研制" <c:if test="${pd.PRODUCT_STATE eq '产品研制'}">selected="true"</c:if>>研制</option> | |
| 52 | + <option value="其他" <c:if test="${pd.PRODUCT_STATE eq '其他'}">selected="true"</c:if>>其他</option> | |
| 53 | + </select> | |
| 54 | + </td> | |
| 55 | + <td> | |
| 56 | + <div class="nav-search"> | |
| 57 | + <span class="input-icon"> | |
| 58 | + <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
| 59 | + <i class="ace-icon fa fa-search nav-search-icon"></i> | |
| 60 | + </span> | |
| 61 | + </div> | |
| 62 | + </td> | |
| 63 | + <c:if test="${QX.cha == 1 }"> | |
| 64 | + <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> | |
| 65 | + </c:if> | |
| 66 | + <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> | |
| 67 | + </tr> | |
| 68 | + </table> | |
| 69 | + <!-- 检索 --> | |
| 70 | + | |
| 71 | + <table id="simple-table" class="table table-striped table-bordered table-hover" style="margin-top:5px;"> | |
| 72 | + <thead> | |
| 73 | + <tr> | |
| 74 | + <th class="center" style="width:35px;"> | |
| 75 | + <label class="pos-rel"><input type="checkbox" class="ace" id="zcheckbox" /><span class="lbl"></span></label> | |
| 76 | + </th> | |
| 77 | + <th class="center" style="width:50px;">序号</th> | |
| 78 | + <th class="center">产品名称</th> | |
| 79 | + <th class="center">货品编号</th> | |
| 80 | + <th class="center">应用行业</th> | |
| 81 | + <th class="center">产品状态</th> | |
| 82 | + <th class="center">操作</th> | |
| 83 | + </tr> | |
| 84 | + </thead> | |
| 85 | + | |
| 86 | + <tbody> | |
| 87 | + <!-- 开始循环 --> | |
| 88 | + <c:choose> | |
| 89 | + <c:when test="${not empty varList}"> | |
| 90 | + <c:if test="${QX.cha == 1 }"> | |
| 91 | + <c:forEach items="${varList}" var="var" varStatus="vs"> | |
| 92 | + <tr> | |
| 93 | + <td class='center'> | |
| 94 | + <label class="pos-rel"><input type='checkbox' name='ids' value="${var.FIRMWARE_ID}" class="ace" /><span class="lbl"></span></label> | |
| 95 | + </td> | |
| 96 | + <td class='center' style="width: 30px;">${vs.index+1}</td> | |
| 97 | + <td class='center'><a href="javascrip:;">${var.PRODUCT_NAME}</a></td> | |
| 98 | + <td class='center'>${var.PRODUCT_NO}</td> | |
| 99 | + <td class='center'>${var.INDUSTRY}</td> | |
| 100 | + <td class='center'>${var.PRODUCT_STATE}</td> | |
| 101 | + <td class="center"> | |
| 102 | + <c:if test="${QX.edit != 1 && QX.del != 1 }"> | |
| 103 | + <span class="label label-large label-grey arrowed-in-right arrowed-in"><i class="ace-icon fa fa-lock" title="无权限"></i></span> | |
| 104 | + </c:if> | |
| 105 | + <div class="hidden-sm hidden-xs btn-group"> | |
| 106 | + <c:if test="${QX.edit == 1 }"> | |
| 107 | + <a class="btn btn-xs btn-success" title="编辑" onclick="edit('${var.FIRMWARE_ID}');"> | |
| 108 | + <i class="ace-icon fa fa-pencil-square-o bigger-120" title="编辑"></i> | |
| 109 | + </a> | |
| 110 | + </c:if> | |
| 111 | + <c:if test="${QX.del == 1 }"> | |
| 112 | + <a class="btn btn-xs btn-danger" onclick="del('${var.FIRMWARE_ID}');"> | |
| 113 | + <i class="ace-icon fa fa-trash-o bigger-120" title="删除"></i> | |
| 114 | + </a> | |
| 115 | + </c:if> | |
| 116 | + </div> | |
| 117 | + <div class="hidden-md hidden-lg"> | |
| 118 | + <div class="inline pos-rel"> | |
| 119 | + <button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto"> | |
| 120 | + <i class="ace-icon fa fa-cog icon-only bigger-110"></i> | |
| 121 | + </button> | |
| 122 | + | |
| 123 | + <ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close"> | |
| 124 | + <c:if test="${QX.edit == 1 }"> | |
| 125 | + <li> | |
| 126 | + <a style="cursor:pointer;" onclick="edit('${var.FIRMWARE_ID}');" class="tooltip-success" data-rel="tooltip" title="修改"> | |
| 127 | + <span class="green"> | |
| 128 | + <i class="ace-icon fa fa-pencil-square-o bigger-120"></i> | |
| 129 | + </span> | |
| 130 | + </a> | |
| 131 | + </li> | |
| 132 | + </c:if> | |
| 133 | + <c:if test="${QX.del == 1 }"> | |
| 134 | + <li> | |
| 135 | + <a style="cursor:pointer;" onclick="del('${var.FIRMWARE_ID}');" class="tooltip-error" data-rel="tooltip" title="删除"> | |
| 136 | + <span class="red"> | |
| 137 | + <i class="ace-icon fa fa-trash-o bigger-120"></i> | |
| 138 | + </span> | |
| 139 | + </a> | |
| 140 | + </li> | |
| 141 | + </c:if> | |
| 142 | + </ul> | |
| 143 | + </div> | |
| 144 | + </div> | |
| 145 | + </td> | |
| 146 | + </tr> | |
| 147 | + | |
| 148 | + </c:forEach> | |
| 149 | + </c:if> | |
| 150 | + <c:if test="${QX.cha == 0 }"> | |
| 151 | + <tr> | |
| 152 | + <td colspan="100" class="center">您无权查看</td> | |
| 153 | + </tr> | |
| 154 | + </c:if> | |
| 155 | + </c:when> | |
| 156 | + <c:otherwise> | |
| 157 | + <tr class="main_info"> | |
| 158 | + <td colspan="100" class="center" >没有相关数据</td> | |
| 159 | + </tr> | |
| 160 | + </c:otherwise> | |
| 161 | + </c:choose> | |
| 162 | + </tbody> | |
| 163 | + </table> | |
| 164 | + <div class="page-header position-relative"> | |
| 165 | + <table style="width:100%;"> | |
| 166 | + <tr> | |
| 167 | + <td style="vertical-align:top;"> | |
| 168 | + <c:if test="${QX.add == 1 }"> | |
| 169 | + <a class="btn btn-mini btn-success" onclick="add();">新增</a> | |
| 170 | + </c:if> | |
| 171 | + <c:if test="${QX.del == 1 }"> | |
| 172 | + <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a> | |
| 173 | + </c:if> | |
| 174 | + </td> | |
| 175 | + <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td> | |
| 176 | + </tr> | |
| 177 | + </table> | |
| 178 | + </div> | |
| 179 | + </form> | |
| 180 | + | |
| 181 | + </div> | |
| 182 | + <!-- /.col --> | |
| 183 | + </div> | |
| 184 | + <!-- /.row --> | |
| 185 | + </div> | |
| 186 | + <!-- /.page-content --> | |
| 187 | + </div> | |
| 188 | + </div> | |
| 189 | + <!-- /.main-content --> | |
| 190 | + | |
| 191 | + <!-- 返回顶部 --> | |
| 192 | + <a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse"> | |
| 193 | + <i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i> | |
| 194 | + </a> | |
| 195 | + | |
| 196 | + </div> | |
| 197 | + <!-- /.main-container --> | |
| 198 | + | |
| 199 | + <!-- basic scripts --> | |
| 200 | + <!-- 页面底部js¨ --> | |
| 201 | + <%@ include file="../../system/index/foot.jsp"%> | |
| 202 | + <!-- 删除时确认窗口 --> | |
| 203 | + <script src="static/ace/js/bootbox.js"></script> | |
| 204 | + <!-- ace scripts --> | |
| 205 | + <script src="static/ace/js/ace/ace.js"></script> | |
| 206 | + <!-- 下拉框 --> | |
| 207 | + <script src="static/ace/js/chosen.jquery.js"></script> | |
| 208 | + <!-- 日期框 --> | |
| 209 | + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script> | |
| 210 | + <!--提示框--> | |
| 211 | + <script type="text/javascript" src="static/js/jquery.tips.js"></script> | |
| 212 | + <script type="text/javascript"> | |
| 213 | + $(top.hangge());//关闭加载状态 | |
| 214 | + //检索 | |
| 215 | + function tosearch(){ | |
| 216 | + top.jzts(); | |
| 217 | + $("#Form").submit(); | |
| 218 | + } | |
| 219 | + $(function() { | |
| 220 | + | |
| 221 | + //日期框 | |
| 222 | + $('.date-picker').datepicker({ | |
| 223 | + autoclose: true, | |
| 224 | + todayHighlight: true | |
| 225 | + }); | |
| 226 | + | |
| 227 | + //下拉框 | |
| 228 | + if(!ace.vars['touch']) { | |
| 229 | + $('.chosen-select').chosen({allow_single_deselect:true}); | |
| 230 | + $(window) | |
| 231 | + .off('resize.chosen') | |
| 232 | + .on('resize.chosen', function() { | |
| 233 | + $('.chosen-select').each(function() { | |
| 234 | + var $this = $(this); | |
| 235 | + $this.next().css({'width': $this.parent().width()}); | |
| 236 | + }); | |
| 237 | + }).trigger('resize.chosen'); | |
| 238 | + $(document).on('settings.ace.chosen', function(e, event_name, event_val) { | |
| 239 | + if(event_name != 'sidebar_collapsed') return; | |
| 240 | + $('.chosen-select').each(function() { | |
| 241 | + var $this = $(this); | |
| 242 | + $this.next().css({'width': $this.parent().width()}); | |
| 243 | + }); | |
| 244 | + }); | |
| 245 | + $('#chosen-multiple-style .btn').on('click', function(e){ | |
| 246 | + var target = $(this).find('input[type=radio]'); | |
| 247 | + var which = parseInt(target.val()); | |
| 248 | + if(which == 2) $('#form-field-select-4').addClass('tag-input-style'); | |
| 249 | + else $('#form-field-select-4').removeClass('tag-input-style'); | |
| 250 | + }); | |
| 251 | + } | |
| 252 | + | |
| 253 | + | |
| 254 | + //复选框全选控制 | |
| 255 | + var active_class = 'active'; | |
| 256 | + $('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){ | |
| 257 | + var th_checked = this.checked;//checkbox inside "TH" table header | |
| 258 | + $(this).closest('table').find('tbody > tr').each(function(){ | |
| 259 | + var row = this; | |
| 260 | + if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true); | |
| 261 | + else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false); | |
| 262 | + }); | |
| 263 | + }); | |
| 264 | + }); | |
| 265 | + | |
| 266 | + //新增 | |
| 267 | + function add(){ | |
| 268 | + top.jzts(); | |
| 269 | + var diag = new top.Dialog(); | |
| 270 | + diag.Drag=true; | |
| 271 | + diag.Title ="新增"; | |
| 272 | + diag.URL = '<%=basePath%>firmware/goAdd.do'; | |
| 273 | + diag.Width = 600; | |
| 274 | + diag.Height = 600; | |
| 275 | + diag.Modal = true; //有无遮罩窗口 | |
| 276 | + diag. ShowMaxButton = true; //最大化按钮 | |
| 277 | + diag.ShowMinButton = true; //最小化按钮 | |
| 278 | + diag.CancelEvent = function(){ //关闭事件 | |
| 279 | + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){ | |
| 280 | + if('${page.currentPage}' == '0'){ | |
| 281 | + tosearch(); | |
| 282 | + }else{ | |
| 283 | + tosearch(); | |
| 284 | + } | |
| 285 | + } | |
| 286 | + diag.close(); | |
| 287 | + }; | |
| 288 | + diag.show(); | |
| 289 | + } | |
| 290 | + | |
| 291 | + //删除 | |
| 292 | + function del(Id){ | |
| 293 | + bootbox.confirm("确定要删除吗?", function(result) { | |
| 294 | + if(result) { | |
| 295 | + top.jzts(); | |
| 296 | + var url = "<%=basePath%>firmware/delete.do?FIRMWARE_ID="+Id+"&tm="+new Date().getTime(); | |
| 297 | + $.get(url,function(data){ | |
| 298 | + tosearch(); | |
| 299 | + }); | |
| 300 | + } | |
| 301 | + }); | |
| 302 | + } | |
| 303 | + | |
| 304 | + //修改 | |
| 305 | + function edit(Id){ | |
| 306 | + top.jzts(); | |
| 307 | + var diag = new top.Dialog(); | |
| 308 | + diag.Drag=true; | |
| 309 | + diag.Title ="编辑"; | |
| 310 | + diag.URL = '<%=basePath%>firmware/goEdit.do?FIRMWARE_ID='+Id; | |
| 311 | + diag.Width = 600; | |
| 312 | + diag.Height = 600; | |
| 313 | + diag.Modal = true; //有无遮罩窗口 | |
| 314 | + diag. ShowMaxButton = true; //最大化按钮 | |
| 315 | + diag.ShowMinButton = true; //最小化按钮 | |
| 316 | + diag.CancelEvent = function(){ //关闭事件 | |
| 317 | + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){ | |
| 318 | + tosearch(); | |
| 319 | + } | |
| 320 | + diag.close(); | |
| 321 | + }; | |
| 322 | + diag.show(); | |
| 323 | + <%-- var href = ("<%=basePath%>firmware/goEdit.do?FIRMWARE_ID="+Id); | |
| 324 | + window.location.href = href ; --%> | |
| 325 | + } | |
| 326 | + | |
| 327 | + //批量操作 | |
| 328 | + function makeAll(msg){ | |
| 329 | + bootbox.confirm(msg, function(result) { | |
| 330 | + if(result) { | |
| 331 | + var str = ''; | |
| 332 | + for(var i=0;i < document.getElementsByName('ids').length;i++){ | |
| 333 | + if(document.getElementsByName('ids')[i].checked){ | |
| 334 | + if(str=='') str += document.getElementsByName('ids')[i].value; | |
| 335 | + else str += ',' + document.getElementsByName('ids')[i].value; | |
| 336 | + } | |
| 337 | + } | |
| 338 | + if(str==''){ | |
| 339 | + bootbox.dialog({ | |
| 340 | + message: "<span class='bigger-110'>您没有选择任何内容!</span>", | |
| 341 | + buttons: | |
| 342 | + { "button":{ "label":"确定", "className":"btn-sm btn-success"}} | |
| 343 | + }); | |
| 344 | + $("#zcheckbox").tips({ | |
| 345 | + side:1, | |
| 346 | + msg:'点这里全选', | |
| 347 | + bg:'#AE81FF', | |
| 348 | + time:8 | |
| 349 | + }); | |
| 350 | + return; | |
| 351 | + }else{ | |
| 352 | + if(msg == '确定要删除选中的数据吗?'){ | |
| 353 | + top.jzts(); | |
| 354 | + $.ajax({ | |
| 355 | + type: "POST", | |
| 356 | + url: '<%=basePath%>firmware/deleteAll.do?tm='+new Date().getTime(), | |
| 357 | + data: {DATA_IDS:str}, | |
| 358 | + dataType:'json', | |
| 359 | + //beforeSend: validateData, | |
| 360 | + cache: false, | |
| 361 | + success: function(data){ | |
| 362 | + $.each(data.list, function(i, list){ | |
| 363 | + tosearch(); | |
| 364 | + }); | |
| 365 | + } | |
| 366 | + }); | |
| 367 | + } | |
| 368 | + } | |
| 369 | + } | |
| 370 | + }); | |
| 371 | + }; | |
| 372 | + | |
| 373 | + //导出excel | |
| 374 | + function toExcel(){ | |
| 375 | + window.location.href='<%=basePath%>firmware/excel.do'; | |
| 376 | + } | |
| 377 | + </script> | |
| 378 | + | |
| 379 | + | |
| 380 | +</body> | |
| 381 | +</html> | |
| 0 | 382 | \ No newline at end of file | ... | ... |
WebRoot/WEB-INF/jsp/software/software/software_list.jsp
| ... | ... | @@ -33,27 +33,6 @@ |
| 33 | 33 | <form action="software/list.do" method="post" name="Form" id="Form"> |
| 34 | 34 | <table style="margin-top:5px;"> |
| 35 | 35 | <tr> |
| 36 | - <td> | |
| 37 | - <div class="nav-search"> | |
| 38 | - <span class="input-icon"> | |
| 39 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
| 40 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | |
| 41 | - </span> | |
| 42 | - </div> | |
| 43 | - </td> | |
| 44 | - <td style="padding-left:2px;"><input class="span10 date-picker" name="lastStart" id="lastStart" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="开始日期" title="开始日期"/></td> | |
| 45 | - <td style="padding-left:2px;"><input class="span10 date-picker" name="lastEnd" name="lastEnd" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="结束日期" title="结束日期"/></td> | |
| 46 | - <td style="vertical-align:top;padding-left:2px;"> | |
| 47 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
| 48 | - <option value=""></option> | |
| 49 | - <option value="">全部</option> | |
| 50 | - <option value="">1</option> | |
| 51 | - <option value="">2</option> | |
| 52 | - </select> | |
| 53 | - </td> | |
| 54 | - <c:if test="${QX.cha == 1 }"> | |
| 55 | - <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td> | |
| 56 | - </c:if> | |
| 57 | 36 | <c:if test="${QX.toExcel == 1 }"><td style="vertical-align:top;padding-left:2px;"><a class="btn btn-light btn-xs" onclick="toExcel();" title="导出到EXCEL"><i id="nav-search-icon" class="ace-icon fa fa-download bigger-110 nav-search-icon blue"></i></a></td></c:if> |
| 58 | 37 | </tr> |
| 59 | 38 | </table> | ... | ... |
WebRoot/WEB-INF/jsp/software/softwareversion/softwareversion_list.jsp
| ... | ... | @@ -34,27 +34,6 @@ |
| 34 | 34 | <form action="softwareversion/list.do" method="post" name="Form" id="Form"> |
| 35 | 35 | <table style="margin-top:5px;"> |
| 36 | 36 | <tr> |
| 37 | - <td> | |
| 38 | - <div class="nav-search"> | |
| 39 | - <span class="input-icon"> | |
| 40 | - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/> | |
| 41 | - <i class="ace-icon fa fa-search nav-search-icon"></i> | |
| 42 | - </span> | |
| 43 | - </div> | |
| 44 | - </td> | |
| 45 | - <td style="padding-left:2px;"><input class="span10 date-picker" name="lastStart" id="lastStart" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="开始日期" title="开始日期"/></td> | |
| 46 | - <td style="padding-left:2px;"><input class="span10 date-picker" name="lastEnd" name="lastEnd" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="结束日期" title="结束日期"/></td> | |
| 47 | - <td style="vertical-align:top;padding-left:2px;"> | |
| 48 | - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;"> | |
| 49 | - <option value=""></option> | |
| 50 | - <option value="">全部</option> | |
| 51 | - <option value="">1</option> | |
| 52 | - <option value="">2</option> | |
| 53 | - </select> | |
| 54 | - </td> | |
| 55 | - <c:if test="${QX.cha == 1 }"> | |
| 56 | - <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td> | |
| 57 | - </c:if> | |
| 58 | 37 | <c:if test="${QX.toExcel == 1 }"><td style="vertical-align:top;padding-left:2px;"><a class="btn btn-light btn-xs" onclick="toExcel();" title="导出到EXCEL"><i id="nav-search-icon" class="ace-icon fa fa-download bigger-110 nav-search-icon blue"></i></a></td></c:if> |
| 59 | 38 | </tr> |
| 60 | 39 | </table> | ... | ... |
WebRoot/static/js/control-604.js
| ... | ... | @@ -368,10 +368,16 @@ function creatHtml(data){ |
| 368 | 368 | } |
| 369 | 369 | } |
| 370 | 370 | } |
| 371 | + | |
| 372 | +var answerLen = 0 ; | |
| 371 | 373 | /*快速建题中,每输入五个答案就加一个空格*/ |
| 372 | -$("#answer").on("input propertychange",function(){ | |
| 373 | - if($("#answer").val().length%5==0) | |
| 374 | - $("#answer").val($("#answer").val()+" "); | |
| 374 | +$("#answer").on("input propertychange",function(event){ | |
| 375 | + if($("#answer").val().length > answerLen){ | |
| 376 | + if(($("#answer").val().length + 1 )% 6 == 0){ | |
| 377 | + $("#answer").val($("#answer").val()+" "); | |
| 378 | + } | |
| 379 | + } | |
| 380 | + answerLen = $("#answer").val().length; | |
| 375 | 381 | }) |
| 376 | 382 | |
| 377 | 383 | /*数字转汉字数字*/ | ... | ... |
resources/mybatis1/software/FirmMapper.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="FirmMapper"> | |
| 4 | + | |
| 5 | + <!--表名 --> | |
| 6 | + <sql id="tableName"> | |
| 7 | + SV_FIRM | |
| 8 | + </sql> | |
| 9 | + | |
| 10 | + <!-- 字段 --> | |
| 11 | + <sql id="Field"> | |
| 12 | + PRODUCT_NAME, | |
| 13 | + FIRM_VERSION, | |
| 14 | + FRIM_CODE, | |
| 15 | + FIRM_PATH, | |
| 16 | + FIRM_DESC, | |
| 17 | + FIRM_ID | |
| 18 | + </sql> | |
| 19 | + | |
| 20 | + <!-- 字段值 --> | |
| 21 | + <sql id="FieldValue"> | |
| 22 | + #{PRODUCT_NAME}, | |
| 23 | + #{FIRM_VERSION}, | |
| 24 | + #{FRIM_CODE}, | |
| 25 | + #{FIRM_PATH}, | |
| 26 | + #{FIRM_DESC}, | |
| 27 | + #{FIRM_ID} | |
| 28 | + </sql> | |
| 29 | + | |
| 30 | + <!-- 新增--> | |
| 31 | + <insert id="save" parameterType="pd"> | |
| 32 | + insert into | |
| 33 | + <include refid="tableName"></include> | |
| 34 | + ( | |
| 35 | + <include refid="Field"></include> | |
| 36 | + ) values ( | |
| 37 | + <include refid="FieldValue"></include> | |
| 38 | + ) | |
| 39 | + </insert> | |
| 40 | + | |
| 41 | + <!-- 删除--> | |
| 42 | + <delete id="delete" parameterType="pd"> | |
| 43 | + delete from | |
| 44 | + <include refid="tableName"></include> | |
| 45 | + where | |
| 46 | + FIRM_ID = #{FIRM_ID} | |
| 47 | + </delete> | |
| 48 | + | |
| 49 | + <!-- 修改 --> | |
| 50 | + <update id="edit" parameterType="pd"> | |
| 51 | + update | |
| 52 | + <include refid="tableName"></include> | |
| 53 | + set | |
| 54 | + PRODUCT_NAME = #{PRODUCT_NAME}, | |
| 55 | + FIRM_VERSION = #{FIRM_VERSION}, | |
| 56 | + FRIM_CODE = #{FRIM_CODE}, | |
| 57 | + FIRM_PATH = #{FIRM_PATH}, | |
| 58 | + FIRM_DESC = #{FIRM_DESC}, | |
| 59 | + FIRM_ID = FIRM_ID | |
| 60 | + where | |
| 61 | + FIRM_ID = #{FIRM_ID} | |
| 62 | + </update> | |
| 63 | + | |
| 64 | + <!-- 通过ID获取数据 --> | |
| 65 | + <select id="findById" parameterType="pd" resultType="pd"> | |
| 66 | + select | |
| 67 | + <include refid="Field"></include> | |
| 68 | + from | |
| 69 | + <include refid="tableName"></include> | |
| 70 | + where | |
| 71 | + FIRM_ID = #{FIRM_ID} | |
| 72 | + </select> | |
| 73 | + | |
| 74 | + <!-- 列表 --> | |
| 75 | + <select id="datalistPage" parameterType="page" resultType="pd"> | |
| 76 | + select | |
| 77 | + <include refid="Field"></include> | |
| 78 | + from | |
| 79 | + <include refid="tableName"></include> | |
| 80 | + where 1=1 | |
| 81 | + <if test="pd.PRODUCT_NAME != null and pd.PRODUCT_NAME != ''"><!-- 关键词检索 --> | |
| 82 | + and | |
| 83 | + ( | |
| 84 | + PRODUCT_NAME = #{pd.PRODUCT_NAME} | |
| 85 | + ) | |
| 86 | + </if> | |
| 87 | + </select> | |
| 88 | + | |
| 89 | + <!-- 列表(全部) --> | |
| 90 | + <select id="listAll" parameterType="pd" resultType="pd"> | |
| 91 | + select | |
| 92 | + <include refid="Field"></include> | |
| 93 | + from | |
| 94 | + <include refid="tableName"></include> | |
| 95 | + </select> | |
| 96 | + | |
| 97 | + <!-- 批量删除 --> | |
| 98 | + <delete id="deleteAll" parameterType="String"> | |
| 99 | + delete from | |
| 100 | + <include refid="tableName"></include> | |
| 101 | + where | |
| 102 | + FIRM_ID in | |
| 103 | + <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> | |
| 104 | + #{item} | |
| 105 | + </foreach> | |
| 106 | + </delete> | |
| 107 | + | |
| 108 | + <!-- fh313596790qq(青苔) --> | |
| 109 | +</mapper> | |
| 0 | 110 | \ No newline at end of file | ... | ... |
resources/mybatis1/software/FirmwareMapper.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="FirmwareMapper"> | |
| 4 | + | |
| 5 | + <!--表名 --> | |
| 6 | + <sql id="tableName"> | |
| 7 | + SV_FIRMWARE | |
| 8 | + </sql> | |
| 9 | + | |
| 10 | + <!-- 字段 --> | |
| 11 | + <sql id="Field"> | |
| 12 | + PRODUCT_NAME, | |
| 13 | + PRODUCT_NO, | |
| 14 | + INDUSTRY, | |
| 15 | + PRODUCT_STATE, | |
| 16 | + PRODUCT_SPEC, | |
| 17 | + PRODUCT_FUNC, | |
| 18 | + PRODUCT_PERF, | |
| 19 | + ADAPTABLE_HARDWARE, | |
| 20 | + ADAPTABLE_SOFTWARE, | |
| 21 | + PRODUCT_CERT, | |
| 22 | + REMARK, | |
| 23 | + PRODUCT_IMAGE, | |
| 24 | + CREATE_DATE, | |
| 25 | + FIRMWARE_ID | |
| 26 | + </sql> | |
| 27 | + | |
| 28 | + <!-- 字段值 --> | |
| 29 | + <sql id="FieldValue"> | |
| 30 | + #{PRODUCT_NAME}, | |
| 31 | + #{PRODUCT_NO}, | |
| 32 | + #{INDUSTRY}, | |
| 33 | + #{PRODUCT_STATE}, | |
| 34 | + #{PRODUCT_SPEC}, | |
| 35 | + #{PRODUCT_FUNC}, | |
| 36 | + #{PRODUCT_PERF}, | |
| 37 | + #{ADAPTABLE_HARDWARE}, | |
| 38 | + #{ADAPTABLE_SOFTWARE}, | |
| 39 | + #{PRODUCT_CERT}, | |
| 40 | + #{REMARK}, | |
| 41 | + #{PRODUCT_IMAGE}, | |
| 42 | + #{CREATE_DATE}, | |
| 43 | + #{FIRMWARE_ID} | |
| 44 | + </sql> | |
| 45 | + | |
| 46 | + <!-- 新增--> | |
| 47 | + <insert id="save" parameterType="pd"> | |
| 48 | + insert into | |
| 49 | + <include refid="tableName"></include> | |
| 50 | + ( | |
| 51 | + <include refid="Field"></include> | |
| 52 | + ) values ( | |
| 53 | + <include refid="FieldValue"></include> | |
| 54 | + ) | |
| 55 | + </insert> | |
| 56 | + | |
| 57 | + <!-- 删除--> | |
| 58 | + <delete id="delete" parameterType="pd"> | |
| 59 | + delete from | |
| 60 | + <include refid="tableName"></include> | |
| 61 | + where | |
| 62 | + FIRMWARE_ID = #{FIRMWARE_ID} | |
| 63 | + </delete> | |
| 64 | + | |
| 65 | + <!-- 修改 --> | |
| 66 | + <update id="edit" parameterType="pd"> | |
| 67 | + update | |
| 68 | + <include refid="tableName"></include> | |
| 69 | + set | |
| 70 | + PRODUCT_NAME = #{PRODUCT_NAME}, | |
| 71 | + PRODUCT_NO = #{PRODUCT_NO}, | |
| 72 | + INDUSTRY = #{INDUSTRY}, | |
| 73 | + PRODUCT_STATE = #{PRODUCT_STATE}, | |
| 74 | + PRODUCT_SPEC = #{PRODUCT_SPEC}, | |
| 75 | + PRODUCT_FUNC = #{PRODUCT_FUNC}, | |
| 76 | + PRODUCT_PERF = #{PRODUCT_PERF}, | |
| 77 | + ADAPTABLE_HARDWARE = #{ADAPTABLE_HARDWARE}, | |
| 78 | + ADAPTABLE_SOFTWARE = #{ADAPTABLE_SOFTWARE}, | |
| 79 | + PRODUCT_CERT = #{PRODUCT_CERT}, | |
| 80 | + REMARK = #{REMARK}, | |
| 81 | + PRODUCT_IMAGE = #{PRODUCT_IMAGE}, | |
| 82 | + FIRMWARE_ID = FIRMWARE_ID | |
| 83 | + where | |
| 84 | + FIRMWARE_ID = #{FIRMWARE_ID} | |
| 85 | + </update> | |
| 86 | + | |
| 87 | + <!-- 通过ID获取数据 --> | |
| 88 | + <select id="findById" parameterType="pd" resultType="pd"> | |
| 89 | + select | |
| 90 | + <include refid="Field"></include> | |
| 91 | + from | |
| 92 | + <include refid="tableName"></include> | |
| 93 | + where | |
| 94 | + FIRMWARE_ID = #{FIRMWARE_ID} | |
| 95 | + </select> | |
| 96 | + | |
| 97 | + <!-- 列表 --> | |
| 98 | + <select id="datalistPage" parameterType="page" resultType="pd"> | |
| 99 | + select | |
| 100 | + <include refid="Field"></include> | |
| 101 | + from | |
| 102 | + <include refid="tableName"></include> | |
| 103 | + where 1=1 | |
| 104 | + <if test="pd.KEYWORDS!= null and pd.KEYWORDS != ''"><!-- 关键词检索 --> | |
| 105 | + and | |
| 106 | + ( | |
| 107 | + PRODUCT_NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') | |
| 108 | + or | |
| 109 | + PRODUCT_NO LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') | |
| 110 | + or | |
| 111 | + PRODUCT_SPEC LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') | |
| 112 | + or | |
| 113 | + PRODUCT_FUNC LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') | |
| 114 | + or | |
| 115 | + PRODUCT_PERF LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') | |
| 116 | + or | |
| 117 | + ADAPTABLE_HARDWARE LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') | |
| 118 | + or | |
| 119 | + ADAPTABLE_SOFTWARE LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') | |
| 120 | + or | |
| 121 | + PRODUCT_CERT LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') | |
| 122 | + ) | |
| 123 | + </if> | |
| 124 | + <if test="pd.INDUSTRY != null and pd.INDUSTRY != ''"> | |
| 125 | + and INDUSTRY = #{pd.INDUSTRY} | |
| 126 | + </if> | |
| 127 | + <if test="pd.PRODUCT_STATE != null and pd.PRODUCT_STATE != ''"> | |
| 128 | + and PRODUCT_STATE = #{pd.PRODUCT_STATE} | |
| 129 | + </if> | |
| 130 | + | |
| 131 | + </select> | |
| 132 | + | |
| 133 | + <!-- 列表(全部) --> | |
| 134 | + <select id="listAll" parameterType="pd" resultType="pd"> | |
| 135 | + select | |
| 136 | + <include refid="Field"></include> | |
| 137 | + from | |
| 138 | + <include refid="tableName"></include> | |
| 139 | + </select> | |
| 140 | + | |
| 141 | + <!-- 批量删除 --> | |
| 142 | + <delete id="deleteAll" parameterType="String"> | |
| 143 | + delete from | |
| 144 | + <include refid="tableName"></include> | |
| 145 | + where | |
| 146 | + FIRMWARE_ID in | |
| 147 | + <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> | |
| 148 | + #{item} | |
| 149 | + </foreach> | |
| 150 | + </delete> | |
| 151 | + | |
| 152 | + <!-- fh313596790qq(青苔) --> | |
| 153 | +</mapper> | |
| 0 | 154 | \ No newline at end of file | ... | ... |
src/com/fh/controller/software/firm/FirmController.java
0 → 100644
| 1 | +package com.fh.controller.software.firm; | |
| 2 | + | |
| 3 | +import java.io.File; | |
| 4 | +import java.io.PrintWriter; | |
| 5 | +import java.text.DateFormat; | |
| 6 | +import java.text.SimpleDateFormat; | |
| 7 | +import java.util.ArrayList; | |
| 8 | +import java.util.Date; | |
| 9 | +import java.util.HashMap; | |
| 10 | +import java.util.List; | |
| 11 | +import java.util.Map; | |
| 12 | + | |
| 13 | +import javax.annotation.Resource; | |
| 14 | +import javax.servlet.http.HttpServletRequest; | |
| 15 | + | |
| 16 | +import org.springframework.beans.propertyeditors.CustomDateEditor; | |
| 17 | +import org.springframework.stereotype.Controller; | |
| 18 | +import org.springframework.web.bind.WebDataBinder; | |
| 19 | +import org.springframework.web.bind.annotation.InitBinder; | |
| 20 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 21 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 22 | +import org.springframework.web.bind.annotation.ResponseBody; | |
| 23 | +import org.springframework.web.multipart.MultipartFile; | |
| 24 | +import org.springframework.web.servlet.ModelAndView; | |
| 25 | + | |
| 26 | +import com.fh.controller.base.BaseController; | |
| 27 | +import com.fh.controller.sunvote.Myelfun; | |
| 28 | +import com.fh.entity.Page; | |
| 29 | +import com.fh.service.software.firm.FirmManager; | |
| 30 | +import com.fh.service.software.firmware.FirmwareManager; | |
| 31 | +import com.fh.util.AppUtil; | |
| 32 | +import com.fh.util.Jurisdiction; | |
| 33 | +import com.fh.util.ObjectExcelView; | |
| 34 | +import com.fh.util.PageData; | |
| 35 | + | |
| 36 | +/** | |
| 37 | + * 说明:固件管理 | |
| 38 | + * 创建人:FH Q313596790 | |
| 39 | + * 创建时间:2018-07-09 | |
| 40 | + */ | |
| 41 | +@Controller | |
| 42 | +@RequestMapping(value="/firm") | |
| 43 | +public class FirmController extends BaseController { | |
| 44 | + | |
| 45 | + String menuUrl = "firm/list.do"; //菜单地址(权限用) | |
| 46 | + @Resource(name="firmService") | |
| 47 | + private FirmManager firmService; | |
| 48 | + | |
| 49 | + @Resource(name="firmwareService") | |
| 50 | + private FirmwareManager firmwareService; | |
| 51 | + | |
| 52 | + /**保存 | |
| 53 | + * @param | |
| 54 | + * @throws Exception | |
| 55 | + */ | |
| 56 | + @RequestMapping(value="/save") | |
| 57 | + public ModelAndView save(@RequestParam(value="FIRM_PATH",required=false) MultipartFile file, HttpServletRequest request) throws Exception{ | |
| 58 | + logBefore(logger, Jurisdiction.getUsername()+"新增Firm"); | |
| 59 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限 | |
| 60 | + ModelAndView mv = this.getModelAndView(); | |
| 61 | + PageData pd = new PageData(request); | |
| 62 | + pd.put("FIRM_ID", this.get32UUID()); //主键 | |
| 63 | + String path = request.getSession().getServletContext() | |
| 64 | + .getRealPath("/uploadFiles/uploadFile/"); | |
| 65 | + if (file != null) { | |
| 66 | + String name = pd.getString("FIRM_ID") + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); | |
| 67 | + File pathFile = new File(path); | |
| 68 | + pathFile.mkdirs(); | |
| 69 | + File saveFile = new File(path + File.separator + name); | |
| 70 | + if (saveFile.exists()) { | |
| 71 | + saveFile.delete(); | |
| 72 | + } | |
| 73 | + saveFile.createNewFile(); | |
| 74 | + file.transferTo(saveFile); | |
| 75 | + pd.put("FIRM_PATH", name); | |
| 76 | + } | |
| 77 | + firmService.save(pd); | |
| 78 | + mv.addObject("msg","success"); | |
| 79 | + mv.setViewName("save_result"); | |
| 80 | + return mv; | |
| 81 | + } | |
| 82 | + | |
| 83 | + /**删除 | |
| 84 | + * @param out | |
| 85 | + * @throws Exception | |
| 86 | + */ | |
| 87 | + @RequestMapping(value="/delete") | |
| 88 | + public void delete(PrintWriter out,HttpServletRequest request) throws Exception{ | |
| 89 | + logBefore(logger, Jurisdiction.getUsername()+"删除Firm"); | |
| 90 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限 | |
| 91 | + PageData pd = new PageData(); | |
| 92 | + pd = this.getPageData(); | |
| 93 | + firmService.delete(pd); | |
| 94 | + String path = request.getSession().getServletContext() | |
| 95 | + .getRealPath("/uploadFiles/uploadFile/"); | |
| 96 | + File file = new File(path + File.separator + pd.getString("FIRM_PATH")); | |
| 97 | + file.deleteOnExit(); | |
| 98 | + out.write("success"); | |
| 99 | + out.close(); | |
| 100 | + } | |
| 101 | + | |
| 102 | + /**修改 | |
| 103 | + * @param | |
| 104 | + * @throws Exception | |
| 105 | + */ | |
| 106 | + @RequestMapping(value="/edit") | |
| 107 | + public ModelAndView edit() throws Exception{ | |
| 108 | + logBefore(logger, Jurisdiction.getUsername()+"修改Firm"); | |
| 109 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限 | |
| 110 | + ModelAndView mv = this.getModelAndView(); | |
| 111 | + PageData pd = new PageData(); | |
| 112 | + pd = this.getPageData(); | |
| 113 | + firmService.edit(pd); | |
| 114 | + mv.addObject("msg","success"); | |
| 115 | + mv.setViewName("save_result"); | |
| 116 | + return mv; | |
| 117 | + } | |
| 118 | + | |
| 119 | + /**列表 | |
| 120 | + * @param page | |
| 121 | + * @throws Exception | |
| 122 | + */ | |
| 123 | + @RequestMapping(value="/list") | |
| 124 | + public ModelAndView list(Page page) throws Exception{ | |
| 125 | + logBefore(logger, Jurisdiction.getUsername()+"列表Firm"); | |
| 126 | + //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) | |
| 127 | + ModelAndView mv = this.getModelAndView(); | |
| 128 | + PageData pd = new PageData(); | |
| 129 | + pd = this.getPageData(); | |
| 130 | + String keywords = pd.getString("keywords"); //关键词检索条件 | |
| 131 | + if(null != keywords && !"".equals(keywords)){ | |
| 132 | + pd.put("keywords", keywords.trim()); | |
| 133 | + } | |
| 134 | + page.setPd(pd); | |
| 135 | + List<PageData> varList = firmService.list(page); //列出Firm列表 | |
| 136 | + mv.setViewName("software/firm/firm_list"); | |
| 137 | + List<PageData> productList = firmwareService.listAll(pd); | |
| 138 | + mv.addObject("productList",productList); | |
| 139 | + mv.addObject("varList", varList); | |
| 140 | + mv.addObject("pd", pd); | |
| 141 | + mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 | |
| 142 | + return mv; | |
| 143 | + } | |
| 144 | + | |
| 145 | + /**去新增页面 | |
| 146 | + * @param | |
| 147 | + * @throws Exception | |
| 148 | + */ | |
| 149 | + @RequestMapping(value="/goAdd") | |
| 150 | + public ModelAndView goAdd()throws Exception{ | |
| 151 | + ModelAndView mv = this.getModelAndView(); | |
| 152 | + PageData pd = new PageData(); | |
| 153 | + pd = this.getPageData(); | |
| 154 | + mv.setViewName("software/firm/firm_edit"); | |
| 155 | + mv.addObject("msg", "save"); | |
| 156 | + List<PageData> productList = firmwareService.listAll(pd); | |
| 157 | + mv.addObject("productList",productList); | |
| 158 | + mv.addObject("pd", pd); | |
| 159 | + return mv; | |
| 160 | + } | |
| 161 | + | |
| 162 | + /**去修改页面 | |
| 163 | + * @param | |
| 164 | + * @throws Exception | |
| 165 | + */ | |
| 166 | + @RequestMapping(value="/goEdit") | |
| 167 | + public ModelAndView goEdit()throws Exception{ | |
| 168 | + ModelAndView mv = this.getModelAndView(); | |
| 169 | + PageData pd = new PageData(); | |
| 170 | + pd = this.getPageData(); | |
| 171 | + pd = firmService.findById(pd); //根据ID读取 | |
| 172 | + mv.setViewName("software/firm/firm_edit"); | |
| 173 | + List<PageData> productList = firmwareService.listAll(pd); | |
| 174 | + mv.addObject("productList",productList); | |
| 175 | + mv.addObject("msg", "edit"); | |
| 176 | + mv.addObject("pd", pd); | |
| 177 | + return mv; | |
| 178 | + } | |
| 179 | + | |
| 180 | + /**批量删除 | |
| 181 | + * @param | |
| 182 | + * @throws Exception | |
| 183 | + */ | |
| 184 | + @RequestMapping(value="/deleteAll") | |
| 185 | + @ResponseBody | |
| 186 | + public Object deleteAll() throws Exception{ | |
| 187 | + logBefore(logger, Jurisdiction.getUsername()+"批量删除Firm"); | |
| 188 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限 | |
| 189 | + PageData pd = new PageData(); | |
| 190 | + Map<String,Object> map = new HashMap<String,Object>(); | |
| 191 | + pd = this.getPageData(); | |
| 192 | + List<PageData> pdList = new ArrayList<PageData>(); | |
| 193 | + String DATA_IDS = pd.getString("DATA_IDS"); | |
| 194 | + if(null != DATA_IDS && !"".equals(DATA_IDS)){ | |
| 195 | + String ArrayDATA_IDS[] = DATA_IDS.split(","); | |
| 196 | + firmService.deleteAll(ArrayDATA_IDS); | |
| 197 | + pd.put("msg", "ok"); | |
| 198 | + }else{ | |
| 199 | + pd.put("msg", "no"); | |
| 200 | + } | |
| 201 | + pdList.add(pd); | |
| 202 | + map.put("list", pdList); | |
| 203 | + return AppUtil.returnObject(pd, map); | |
| 204 | + } | |
| 205 | + | |
| 206 | + /**导出到excel | |
| 207 | + * @param | |
| 208 | + * @throws Exception | |
| 209 | + */ | |
| 210 | + @RequestMapping(value="/excel") | |
| 211 | + public ModelAndView exportExcel() throws Exception{ | |
| 212 | + logBefore(logger, Jurisdiction.getUsername()+"导出Firm到excel"); | |
| 213 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} | |
| 214 | + ModelAndView mv = new ModelAndView(); | |
| 215 | + PageData pd = new PageData(); | |
| 216 | + pd = this.getPageData(); | |
| 217 | + Map<String,Object> dataMap = new HashMap<String,Object>(); | |
| 218 | + List<String> titles = new ArrayList<String>(); | |
| 219 | + titles.add("产品名称"); //1 | |
| 220 | + titles.add("固件版本"); //2 | |
| 221 | + titles.add("固件版本号"); //3 | |
| 222 | + titles.add("固件路径"); //4 | |
| 223 | + titles.add("固件描述"); //5 | |
| 224 | + dataMap.put("titles", titles); | |
| 225 | + List<PageData> varOList = firmService.listAll(pd); | |
| 226 | + List<PageData> varList = new ArrayList<PageData>(); | |
| 227 | + for(int i=0;i<varOList.size();i++){ | |
| 228 | + PageData vpd = new PageData(); | |
| 229 | + vpd.put("var1", varOList.get(i).getString("PRODUCT_NAME")); //1 | |
| 230 | + vpd.put("var2", varOList.get(i).getString("FIRM_VERSION")); //2 | |
| 231 | + vpd.put("var3", varOList.get(i).get("FRIM_CODE").toString()); //3 | |
| 232 | + vpd.put("var4", varOList.get(i).getString("FIRM_PATH")); //4 | |
| 233 | + vpd.put("var5", varOList.get(i).getString("FIRM_DESC")); //5 | |
| 234 | + varList.add(vpd); | |
| 235 | + } | |
| 236 | + dataMap.put("varList", varList); | |
| 237 | + ObjectExcelView erv = new ObjectExcelView(); | |
| 238 | + mv = new ModelAndView(erv,dataMap); | |
| 239 | + return mv; | |
| 240 | + } | |
| 241 | + | |
| 242 | + @InitBinder | |
| 243 | + public void initBinder(WebDataBinder binder){ | |
| 244 | + DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); | |
| 245 | + binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true)); | |
| 246 | + } | |
| 247 | +} | ... | ... |
src/com/fh/controller/software/firmware/FirmwareController.java
0 → 100644
| 1 | +package com.fh.controller.software.firmware; | |
| 2 | + | |
| 3 | +import java.io.File; | |
| 4 | +import java.io.PrintWriter; | |
| 5 | +import java.text.DateFormat; | |
| 6 | +import java.text.SimpleDateFormat; | |
| 7 | +import java.util.ArrayList; | |
| 8 | +import java.util.Date; | |
| 9 | +import java.util.HashMap; | |
| 10 | +import java.util.List; | |
| 11 | +import java.util.Map; | |
| 12 | + | |
| 13 | +import javax.annotation.Resource; | |
| 14 | +import javax.servlet.http.HttpServletRequest; | |
| 15 | + | |
| 16 | +import org.springframework.beans.propertyeditors.CustomDateEditor; | |
| 17 | +import org.springframework.stereotype.Controller; | |
| 18 | +import org.springframework.web.bind.WebDataBinder; | |
| 19 | +import org.springframework.web.bind.annotation.InitBinder; | |
| 20 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 21 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 22 | +import org.springframework.web.bind.annotation.ResponseBody; | |
| 23 | +import org.springframework.web.multipart.MultipartFile; | |
| 24 | +import org.springframework.web.servlet.ModelAndView; | |
| 25 | + | |
| 26 | +import com.fh.controller.base.BaseController; | |
| 27 | +import com.fh.entity.Page; | |
| 28 | +import com.fh.util.AppUtil; | |
| 29 | +import com.fh.util.ObjectExcelView; | |
| 30 | +import com.fh.util.PageData; | |
| 31 | +import com.fh.util.Jurisdiction; | |
| 32 | +import com.fh.util.Tools; | |
| 33 | +import com.fh.service.software.firmware.FirmwareManager; | |
| 34 | + | |
| 35 | +/** | |
| 36 | + * 说明:固件管理 | |
| 37 | + * 创建人:FH Q313596790 | |
| 38 | + * 创建时间:2018-07-09 | |
| 39 | + */ | |
| 40 | +@Controller | |
| 41 | +@RequestMapping(value="/firmware") | |
| 42 | +public class FirmwareController extends BaseController { | |
| 43 | + | |
| 44 | + String menuUrl = "firmware/list.do"; //菜单地址(权限用) | |
| 45 | + @Resource(name="firmwareService") | |
| 46 | + private FirmwareManager firmwareService; | |
| 47 | + | |
| 48 | + /**保存 | |
| 49 | + * @param | |
| 50 | + * @throws Exception | |
| 51 | + */ | |
| 52 | + @RequestMapping(value="/save") | |
| 53 | + public ModelAndView save(@RequestParam(value="PRODUCT_IMAGE",required=false) MultipartFile[] files, HttpServletRequest request) throws Exception{ | |
| 54 | + logBefore(logger, Jurisdiction.getUsername()+"新增Firmware"); | |
| 55 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限 | |
| 56 | + ModelAndView mv = this.getModelAndView(); | |
| 57 | + PageData pd = new PageData(request); | |
| 58 | + pd.put("FIRMWARE_ID", this.get32UUID()); //主键 | |
| 59 | + pd.put("CREATE_DATE", Tools.date2Str(new Date())); | |
| 60 | + String path = request.getSession().getServletContext() | |
| 61 | + .getRealPath("/uploadFiles/uploadFile/"); | |
| 62 | + int index = 0 ; | |
| 63 | + String FIRM_PATH = "" ; | |
| 64 | + if (files != null) { | |
| 65 | + for (MultipartFile file : files) { | |
| 66 | + if (file != null) { | |
| 67 | + String name = pd.getString("FIRMWARE_ID")+ "_" + index + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); | |
| 68 | + File pathFile = new File(path); | |
| 69 | + pathFile.mkdirs(); | |
| 70 | + File saveFile = new File(path + File.separator + name); | |
| 71 | + if (saveFile.exists()) { | |
| 72 | + saveFile.delete(); | |
| 73 | + } | |
| 74 | + saveFile.createNewFile(); | |
| 75 | + file.transferTo(saveFile); | |
| 76 | + FIRM_PATH += name + ";"; | |
| 77 | + } | |
| 78 | + index++; | |
| 79 | + } | |
| 80 | + } | |
| 81 | + | |
| 82 | + pd.put("PRODUCT_IMAGE", FIRM_PATH); | |
| 83 | + firmwareService.save(pd); | |
| 84 | + mv.addObject("msg","success"); | |
| 85 | + mv.setViewName("save_result"); | |
| 86 | + return mv; | |
| 87 | + } | |
| 88 | + | |
| 89 | + /**删除 | |
| 90 | + * @param out | |
| 91 | + * @throws Exception | |
| 92 | + */ | |
| 93 | + @RequestMapping(value="/delete") | |
| 94 | + public void delete(PrintWriter out,HttpServletRequest request) throws Exception{ | |
| 95 | + logBefore(logger, Jurisdiction.getUsername()+"删除Firmware"); | |
| 96 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限 | |
| 97 | + PageData pd = new PageData(); | |
| 98 | + pd = this.getPageData(); | |
| 99 | + firmwareService.delete(pd); | |
| 100 | + String path = request.getSession().getServletContext() | |
| 101 | + .getRealPath("/uploadFiles/uploadFile/"); | |
| 102 | + String fileList = pd.getString("PRODUCT_IMAGE"); | |
| 103 | + String[] fileName = fileList.split(";"); | |
| 104 | + for(String fName:fileName){ | |
| 105 | + File file = new File(path + File.separator + fName); | |
| 106 | + file.deleteOnExit(); | |
| 107 | + } | |
| 108 | + out.write("success"); | |
| 109 | + out.close(); | |
| 110 | + } | |
| 111 | + | |
| 112 | + /**修改 | |
| 113 | + * @param | |
| 114 | + * @throws Exception | |
| 115 | + */ | |
| 116 | + @RequestMapping(value="/edit") | |
| 117 | + public ModelAndView edit(@RequestParam(value="PRODUCT_IMAGE",required=false) MultipartFile[] files, HttpServletRequest request) throws Exception{ | |
| 118 | + logBefore(logger, Jurisdiction.getUsername()+"修改Firmware"); | |
| 119 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限 | |
| 120 | + ModelAndView mv = this.getModelAndView(); | |
| 121 | + PageData pd = new PageData(); | |
| 122 | + pd = this.getPageData(); | |
| 123 | + | |
| 124 | + String path = request.getSession().getServletContext() | |
| 125 | + .getRealPath("/uploadFiles/uploadFile/"); | |
| 126 | + int index = 0 ; | |
| 127 | + String FIRM_PATH = "" ; | |
| 128 | + if (files != null) { | |
| 129 | + for (MultipartFile file : files) { | |
| 130 | + System.out.println("filename:" + file.getSize()); | |
| 131 | + if (file != null && file.getSize() != 0) { | |
| 132 | + String name = pd.getString("FIRMWARE_ID") | |
| 133 | + + "_" | |
| 134 | + + index | |
| 135 | + + file.getOriginalFilename() | |
| 136 | + .substring( | |
| 137 | + file.getOriginalFilename() | |
| 138 | + .lastIndexOf(".")); | |
| 139 | + File pathFile = new File(path); | |
| 140 | + pathFile.mkdirs(); | |
| 141 | + File saveFile = new File(path + File.separator + name); | |
| 142 | + if (saveFile.exists()) { | |
| 143 | + saveFile.delete(); | |
| 144 | + } | |
| 145 | + saveFile.createNewFile(); | |
| 146 | + file.transferTo(saveFile); | |
| 147 | + FIRM_PATH += name + ";"; | |
| 148 | + }else{ | |
| 149 | + String imagePath = pd.getString("PRODUCT_IMAGE" + index); | |
| 150 | + if(imagePath != null){ | |
| 151 | + FIRM_PATH += imagePath + ";"; | |
| 152 | + }else{ | |
| 153 | + FIRM_PATH += ";"; | |
| 154 | + } | |
| 155 | + } | |
| 156 | + index++; | |
| 157 | + } | |
| 158 | + } | |
| 159 | + pd.put("PRODUCT_IMAGE", FIRM_PATH); | |
| 160 | + firmwareService.edit(pd); | |
| 161 | + mv.addObject("msg","success"); | |
| 162 | + mv.setViewName("save_result"); | |
| 163 | + return mv; | |
| 164 | + } | |
| 165 | + | |
| 166 | + /**列表 | |
| 167 | + * @param page | |
| 168 | + * @throws Exception | |
| 169 | + */ | |
| 170 | + @RequestMapping(value="/list") | |
| 171 | + public ModelAndView list(Page page) throws Exception{ | |
| 172 | + logBefore(logger, Jurisdiction.getUsername()+"列表Firmware"); | |
| 173 | + //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) | |
| 174 | + ModelAndView mv = this.getModelAndView(); | |
| 175 | + PageData pd = new PageData(); | |
| 176 | + pd = this.getPageData(); | |
| 177 | + String keywords = pd.getString("KEYWORDS"); //关键词检索条件 | |
| 178 | + if(null != keywords && !"".equals(keywords)){ | |
| 179 | + pd.put("KEYWORDS", keywords.trim()); | |
| 180 | + } | |
| 181 | + page.setPd(pd); | |
| 182 | + List<PageData> varList = firmwareService.list(page); //列出Firmware列表 | |
| 183 | + mv.setViewName("software/firmware/firmware_list"); | |
| 184 | + mv.addObject("varList", varList); | |
| 185 | + mv.addObject("pd", pd); | |
| 186 | + mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 | |
| 187 | + return mv; | |
| 188 | + } | |
| 189 | + | |
| 190 | + /**去新增页面 | |
| 191 | + * @param | |
| 192 | + * @throws Exception | |
| 193 | + */ | |
| 194 | + @RequestMapping(value="/goAdd") | |
| 195 | + public ModelAndView goAdd()throws Exception{ | |
| 196 | + ModelAndView mv = this.getModelAndView(); | |
| 197 | + PageData pd = new PageData(); | |
| 198 | + pd = this.getPageData(); | |
| 199 | + mv.setViewName("software/firmware/firmware_edit"); | |
| 200 | + mv.addObject("msg", "save"); | |
| 201 | + mv.addObject("pd", pd); | |
| 202 | + return mv; | |
| 203 | + } | |
| 204 | + | |
| 205 | + /**去修改页面 | |
| 206 | + * @param | |
| 207 | + * @throws Exception | |
| 208 | + */ | |
| 209 | + @RequestMapping(value="/goEdit") | |
| 210 | + public ModelAndView goEdit()throws Exception{ | |
| 211 | + ModelAndView mv = this.getModelAndView(); | |
| 212 | + PageData pd = new PageData(); | |
| 213 | + pd = this.getPageData(); | |
| 214 | + pd = firmwareService.findById(pd); //根据ID读取 | |
| 215 | + String PRODUCT_IMAGE = pd.getString("PRODUCT_IMAGE"); | |
| 216 | + String[] PRODUCT_IMAGEs = PRODUCT_IMAGE.split(";"); | |
| 217 | + pd.put("PRODUCT_IMAGE", PRODUCT_IMAGEs); | |
| 218 | + mv.setViewName("software/firmware/firmware_edit"); | |
| 219 | + mv.addObject("msg", "edit"); | |
| 220 | + mv.addObject("pd", pd); | |
| 221 | + return mv; | |
| 222 | + } | |
| 223 | + | |
| 224 | + /**批量删除 | |
| 225 | + * @param | |
| 226 | + * @throws Exception | |
| 227 | + */ | |
| 228 | + @RequestMapping(value="/deleteAll") | |
| 229 | + @ResponseBody | |
| 230 | + public Object deleteAll() throws Exception{ | |
| 231 | + logBefore(logger, Jurisdiction.getUsername()+"批量删除Firmware"); | |
| 232 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限 | |
| 233 | + PageData pd = new PageData(); | |
| 234 | + Map<String,Object> map = new HashMap<String,Object>(); | |
| 235 | + pd = this.getPageData(); | |
| 236 | + List<PageData> pdList = new ArrayList<PageData>(); | |
| 237 | + String DATA_IDS = pd.getString("DATA_IDS"); | |
| 238 | + if(null != DATA_IDS && !"".equals(DATA_IDS)){ | |
| 239 | + String ArrayDATA_IDS[] = DATA_IDS.split(","); | |
| 240 | + firmwareService.deleteAll(ArrayDATA_IDS); | |
| 241 | + pd.put("msg", "ok"); | |
| 242 | + }else{ | |
| 243 | + pd.put("msg", "no"); | |
| 244 | + } | |
| 245 | + pdList.add(pd); | |
| 246 | + map.put("list", pdList); | |
| 247 | + return AppUtil.returnObject(pd, map); | |
| 248 | + } | |
| 249 | + | |
| 250 | + /**导出到excel | |
| 251 | + * @param | |
| 252 | + * @throws Exception | |
| 253 | + */ | |
| 254 | + @RequestMapping(value="/excel") | |
| 255 | + public ModelAndView exportExcel() throws Exception{ | |
| 256 | + logBefore(logger, Jurisdiction.getUsername()+"导出Firmware到excel"); | |
| 257 | + if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} | |
| 258 | + ModelAndView mv = new ModelAndView(); | |
| 259 | + PageData pd = new PageData(); | |
| 260 | + pd = this.getPageData(); | |
| 261 | + Map<String,Object> dataMap = new HashMap<String,Object>(); | |
| 262 | + List<String> titles = new ArrayList<String>(); | |
| 263 | + titles.add("产品名称"); //1 | |
| 264 | + titles.add("货品编号"); //2 | |
| 265 | + titles.add("应用行业"); //3 | |
| 266 | + titles.add("产品状态"); //4 | |
| 267 | + titles.add("产品规格"); //5 | |
| 268 | + titles.add("产品功能"); //6 | |
| 269 | + titles.add("产品性能"); //7 | |
| 270 | + titles.add("适配硬件"); //8 | |
| 271 | + titles.add("适配软件"); //9 | |
| 272 | + titles.add("产品认证"); //10 | |
| 273 | + titles.add("注意事项"); //11 | |
| 274 | + titles.add("产品照片"); //12 | |
| 275 | + dataMap.put("titles", titles); | |
| 276 | + List<PageData> varOList = firmwareService.listAll(pd); | |
| 277 | + List<PageData> varList = new ArrayList<PageData>(); | |
| 278 | + for(int i=0;i<varOList.size();i++){ | |
| 279 | + PageData vpd = new PageData(); | |
| 280 | + vpd.put("var1", varOList.get(i).getString("PRODUCT_NAME")); //1 | |
| 281 | + vpd.put("var2", varOList.get(i).getString("PRODUCT_NO")); //2 | |
| 282 | + vpd.put("var3", varOList.get(i).getString("INDUSTRY")); //3 | |
| 283 | + vpd.put("var4", varOList.get(i).getString("PRODUCT_STATE")); //4 | |
| 284 | + vpd.put("var5", varOList.get(i).getString("PRODUCT_SPEC")); //5 | |
| 285 | + vpd.put("var6", varOList.get(i).getString("PRODUCT_FUNC")); //6 | |
| 286 | + vpd.put("var7", varOList.get(i).getString("PRODUCT_PERF")); //7 | |
| 287 | + vpd.put("var8", varOList.get(i).getString("ADAPTABLE_HARDWARE")); //8 | |
| 288 | + vpd.put("var9", varOList.get(i).getString("ADAPTABLE_SOFTWARE")); //9 | |
| 289 | + vpd.put("var10", varOList.get(i).getString("PRODUCT_CERT")); //10 | |
| 290 | + vpd.put("var11", varOList.get(i).getString("REMARK")); //11 | |
| 291 | + vpd.put("var12", varOList.get(i).getString("PRODUCT_IMAGE")); //12 | |
| 292 | + varList.add(vpd); | |
| 293 | + } | |
| 294 | + dataMap.put("varList", varList); | |
| 295 | + ObjectExcelView erv = new ObjectExcelView(); | |
| 296 | + mv = new ModelAndView(erv,dataMap); | |
| 297 | + return mv; | |
| 298 | + } | |
| 299 | + | |
| 300 | + @InitBinder | |
| 301 | + public void initBinder(WebDataBinder binder){ | |
| 302 | + DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); | |
| 303 | + binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true)); | |
| 304 | + } | |
| 305 | +} | ... | ... |
src/com/fh/service/software/firm/FirmManager.java
0 → 100644
| 1 | +package com.fh.service.software.firm; | |
| 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-07-09 | |
| 11 | + * @version | |
| 12 | + */ | |
| 13 | +public interface FirmManager{ | |
| 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/software/firm/impl/FirmService.java
0 → 100644
| 1 | +package com.fh.service.software.firm.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.software.firm.FirmManager; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * 说明: 固件管理 | |
| 13 | + * 创建人:FH Q313596790 | |
| 14 | + * 创建时间:2018-07-09 | |
| 15 | + * @version | |
| 16 | + */ | |
| 17 | +@Service("firmService") | |
| 18 | +public class FirmService implements FirmManager{ | |
| 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("FirmMapper.save", pd); | |
| 29 | + } | |
| 30 | + | |
| 31 | + /**删除 | |
| 32 | + * @param pd | |
| 33 | + * @throws Exception | |
| 34 | + */ | |
| 35 | + public void delete(PageData pd)throws Exception{ | |
| 36 | + dao.delete("FirmMapper.delete", pd); | |
| 37 | + } | |
| 38 | + | |
| 39 | + /**修改 | |
| 40 | + * @param pd | |
| 41 | + * @throws Exception | |
| 42 | + */ | |
| 43 | + public void edit(PageData pd)throws Exception{ | |
| 44 | + dao.update("FirmMapper.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("FirmMapper.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("FirmMapper.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("FirmMapper.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("FirmMapper.deleteAll", ArrayDATA_IDS); | |
| 79 | + } | |
| 80 | + | |
| 81 | +} | |
| 82 | + | ... | ... |
src/com/fh/service/software/firmware/FirmwareManager.java
0 → 100644
| 1 | +package com.fh.service.software.firmware; | |
| 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-07-09 | |
| 11 | + * @version | |
| 12 | + */ | |
| 13 | +public interface FirmwareManager{ | |
| 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/software/firmware/impl/FirmwareService.java
0 → 100644
| 1 | +package com.fh.service.software.firmware.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.software.firmware.FirmwareManager; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * 说明: 固件管理 | |
| 13 | + * 创建人:FH Q313596790 | |
| 14 | + * 创建时间:2018-07-09 | |
| 15 | + * @version | |
| 16 | + */ | |
| 17 | +@Service("firmwareService") | |
| 18 | +public class FirmwareService implements FirmwareManager{ | |
| 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("FirmwareMapper.save", pd); | |
| 29 | + } | |
| 30 | + | |
| 31 | + /**删除 | |
| 32 | + * @param pd | |
| 33 | + * @throws Exception | |
| 34 | + */ | |
| 35 | + public void delete(PageData pd)throws Exception{ | |
| 36 | + dao.delete("FirmwareMapper.delete", pd); | |
| 37 | + } | |
| 38 | + | |
| 39 | + /**修改 | |
| 40 | + * @param pd | |
| 41 | + * @throws Exception | |
| 42 | + */ | |
| 43 | + public void edit(PageData pd)throws Exception{ | |
| 44 | + dao.update("FirmwareMapper.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("FirmwareMapper.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("FirmwareMapper.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("FirmwareMapper.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("FirmwareMapper.deleteAll", ArrayDATA_IDS); | |
| 79 | + } | |
| 80 | + | |
| 81 | +} | |
| 82 | + | ... | ... |