BootStrap轻松实现微信页面开发代码分享


Posted in Javascript onOctober 21, 2016

1.  行长度:

<div class="col-md-12"> </div>

2.modal

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
 <div class="modal-dialog"> 
  <div class="modal-content"> 
   <div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
    <h4 class="modal-title" id="myModalLabel">出库信息</h4><br> 
   </div> 
   <div class="modal-body"> 
    <spring:form id="outMaterialForm" action="" class="form-horizontal" modelAttribute="outMaterialDto"> 
     <spring:hidden path="mId"/> 
     <div class="form-group"> 
      <label class="col-sm-2 control-label">出库时间:</label> 
      <div class="col-sm-4"> 
       <spring:input class="form-control" path="outDate" readonly="true" placeholder="请选择时间" 
        data-bv-notempty="true" data-bv-notempty-message="不能为空"/> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="col-sm-2 control-label">出库数量:</label> 
      <div class="col-sm-4"> 
       <div id="1" class="input-group input-group-option quantity-wrapper"> 
        <span class="input-group-addon input-group-addon-remove quantity-remove btn"> 
         <span class="glyphicon glyphicon-minus"></span> 
        </span> 
        <spring:input id="1inp" value="6" path="outQuantity" name="option[]" class="form-control quantity-count" placeholder="1" /> 
        <span class="input-group-addon input-group-addon-remove quantity-add btn"> 
         <span class="glyphicon glyphicon-plus"></span> 
        </span> 
       </div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="col-sm-2 control-label">出库人:</label> 
      <div class="col-sm-4"> 
       <spring:input class="form-control" path="outLeader"/> 
      </div> 
     </div> 
    </spring:form>    
   </div> 
   <div class="modal-footer" style="text-align: center;"> 
    <button type="button" class="btn btn-default" data-dismiss="modal">取消</button> 
    <button type="button" class="btn btn-primary" id="saveOutMaterialBtn">保存</button> 
   </div> 
  </div> 
 </div> 
</div>

3.  事例

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags/form" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<html> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
<head> 
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0" /> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<!-- 新 Bootstrap 核心 CSS 文件 --> 
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"> 
<!-- 可选的Bootstrap主题文件(一般不用引入) --> 
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> 
<link href="<%=basePath%>/page/pf/base/bootstrap/css/bootstrap-datetimepicker.min.css" rel="stylesheet"/> 
<link href="<%=basePath%>/page/pf/base/bootstrap/table/bootstrap-table.css" rel="stylesheet"/> 
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 --> 
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> 
<!-- 最新的 Bootstrap 核心 JavaScript 文件 --> 
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
<script src="http://cdn.bootcss.com/bootstrap-table/1.9.1/bootstrap-table.min.js"></script> 
<script src="http://cdn.bootcss.com/bootstrap-table/1.9.1/locale/bootstrap-table-zh-CN.min.js"></script> 
<script type="text/javascript" src="<%=basePath%>/page/pf/base/bootstrap/bootstrap-datetimepicker.min.js?version=09092200010"></script> 
<script type="text/javascript" src="<%=basePath%>/page/pf/base/bootstrap/bootstrap-datetimepicker.fr.js?version=09092200010"></script> 
<script type="text/javascript" src="<%=basePath%>/page/pf/base/bootstrap/bootstrap-datetimepicker.zh-CN.js?version=09092200010"></script> 
<style type="text/css"> 
.quantity-remove, .quantity-add { 
 cursor: pointer; 
} 
.quantity-add.glyphicon, .quantity-remove.glyphicon { 
 display: block; 
 cursor: pointer; 
} 
</style> 
<script src="<%=basePath%>/page/project/wechat/m600material/js/material_view.js"></script> 
<title>物料</title> 
</head> 
<body class="container"> 
<h4 class="page-header">详细</h4> 
<div style="text-align: right;"> 
 <button type="button" id="outQuantityBtn" class="btn btn-primary">出库</button> 
</div> 
<spring:form id="defaultForm" class="form-horizontal" modelAttribute="materialDto"> 
 <input type="hidden" id="id" value="${materialDto.id }"/> 
 <div class="form-group"> 
  <label class="col-sm-2 control-label">项目名称:</label>${materialDto.projectName } 
 </div> 
 <div class="form-group"> 
  <label class="col-sm-2 control-label">物料名称:</label>${materialDto.name } 
 </div> 
 <div class="form-group"> 
  <label class="col-sm-2 control-label">入库时间:</label>${materialDto.inDate } 
 </div> 
 <div class="form-group"> 
  <label class="col-sm-2 control-label">物料数量:</label>${materialDto.inQuantity } 
 </div> 
 <div class="form-group"> 
  <label class="col-sm-2 control-label">入库负责人:</label>${materialDto.inLeader } 
 </div> 
<table class="table table-hover table-bordered" id="outMaterialTable" data-pagination="false" 
  data-search="false" 
  data-show-refresh="false" 
  data-toggle="card" 
  data-card-view = "true" 
  data-show-toggle="false" 
  data-show-columns="false" 
  data-page-list="[10,20,50,100]"> 
 <caption>出库列表</caption> 
 <thead> 
  <thead> 
   <tr>                
    <th data-field="outDate" data-halign="center">出库时间:</th> 
    <th data-field="outQuantity" data-halign="center">出库数量:</th> 
    <th data-field="outLeader" data-halign="center">出库人:</th> 
   </tr> 
  </thead> 
  <tbody> 
  </tbody> 
</table> 
</spring:form> 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
 <div class="modal-dialog"> 
  <div class="modal-content"> 
   <div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
    <h4 class="modal-title" id="myModalLabel">出库信息</h4><br> 
   </div> 
   <div class="modal-body"> 
    <spring:form id="outMaterialForm" action="" class="form-horizontal" modelAttribute="outMaterialDto"> 
     <spring:hidden path="mId"/> 
     <div class="form-group"> 
      <label class="col-sm-2 control-label">出库时间:</label> 
      <div class="col-sm-4"> 
       <spring:input class="form-control" path="outDate" readonly="true" placeholder="请选择时间" 
        data-bv-notempty="true" data-bv-notempty-message="不能为空"/> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="col-sm-2 control-label">出库数量:</label> 
      <div class="col-sm-4"> 
       <div id="1" class="input-group input-group-option quantity-wrapper"> 
        <span class="input-group-addon input-group-addon-remove quantity-remove btn"> 
         <span class="glyphicon glyphicon-minus"></span> 
        </span> 
        <spring:input id="1inp" value="6" path="outQuantity" name="option[]" class="form-control quantity-count" placeholder="1" /> 
        <span class="input-group-addon input-group-addon-remove quantity-add btn"> 
         <span class="glyphicon glyphicon-plus"></span> 
        </span> 
       </div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="col-sm-2 control-label">出库人:</label> 
      <div class="col-sm-4"> 
       <spring:input class="form-control" path="outLeader"/> 
      </div> 
     </div> 
    </spring:form>    
   </div> 
   <div class="modal-footer" style="text-align: center;"> 
    <button type="button" class="btn btn-default" data-dismiss="modal">取消</button> 
    <button type="button" class="btn btn-primary" id="saveOutMaterialBtn">保存</button> 
   </div> 
  </div> 
 </div> 
</div> 
<div class="modal fade" id="loadingModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
 <div class="modal-dialog"> 
  <div class="modal-content"> 
   <div class="modal-header"> 
   </div> 
   <div class="modal-body"> 
    <a href="#" class="thumbnail"> 
     正在保存,请稍后... 
    </a> 
   </div> 
   <div class="modal-footer"> 
   </div> 
  </div> 
 </div> 
</div> 
<div class="modal fade" id="alertModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
 <div class="modal-dialog"> 
  <div class="modal-content"> 
   <div class="modal-header"> 
   </div> 
   <div class="modal-body"> 
    <a href="#" class="thumbnail"> 
     保存成功。 
    </a> 
   </div> 
   <div class="modal-footer"> 
   </div> 
  </div> 
 </div> 
</div> 
</body> 
</html>

4. js文件

var MaterialManager = {}; 
$(document).ready(function() { 
MaterialManager.query = function(){ 
 $('#outMaterialTable').bootstrapTable('destroy'); 
 //初始化表格,动态从服务器加载数据 
 $("#outMaterialTable").bootstrapTable({ 
  url:'../../supManage/material/queryOutMaterialList.do', 
  method: "get", //使用get请求到服务器获取数据 
  contentType: "application/x-www-form-urlencoded", 
  striped: true, //表格显示条纹 
  pageSize: 10, //每页显示的记录数 
  pageNumber:1, //当前第几页 
  pageList: [5, 10, 15, 20, 25], //记录数可选列表 
  sidePagination: "server", //表示服务端请求 
  //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder 
  //设置为limit可以获取limit, offset, search, sort, order 
  queryParamsType : "undefined",  
  queryParams: function queryParams(params) { //设置查询参数 
   var param = { 
   currentPage: params.pageNumber,  
   recordsPerPage: params.pageSize, 
   mId:$("#id").val() 
   };  
   return param;      
  } 
  }); 
 }; 
 MaterialManager.query(); 
 $("#saveOutMaterialBtn").click(function(){ 
  $("#loadingModal").modal('show'); 
  $("#myModal").modal('hide'); 
  $.ajax({ 
   type: "POST", 
   url: "../../supManage/material/saveOutMaterial.do", 
   data:$("#outMaterialForm").serialize(), 
   dataType: "json", 
   success: function(data){ 
    $("#loadingModal").modal('hide'); 
    $("#alertModal").modal('show'); 
    MaterialManager.query(); 
    setInterval(function(){$("#alertModal").modal('hide');},2000); 
   } 
  }); 
 }); 
 // 出库按钮 
 $("#outQuantityBtn").click(function(){ 
  $("#myModal").modal('show'); 
 }); 
 $('#outDate').datetimepicker({ 
  format: 'yyyy-mm-dd hh:ii:ss', 
  language:'zh-CN', 
  autoclose:true, 
  startDate:'2016-09-01', 
  endDate:'2025-12-12' 
 }); 
  $(".quantity-add").click(function(e){ 
   //Vars 
   var count = 1; 
   var newcount = 0; 
   //Wert holen + Rechnen 
   var elemID = $(this).parent().attr("id"); 
   var countField = $("#"+elemID+'inp'); 
   var count = $("#"+elemID+'inp').val(); 
   var newcount = parseInt(count) + 1; 
   //Neuen Wert setzen 
   $("#"+elemID+'inp').val(newcount); 
  }); 
  //Remove 
  $(".quantity-remove").click(function(e){ 
   //Vars 
   var count = 1; 
   var newcount = 0; 
   //Wert holen + Rechnen 
   var elemID = $(this).parent().attr("id"); 
   var countField = $("#"+elemID+'inp'); 
   var count = $("#"+elemID+'inp').val(); 
   var newcount = parseInt(count) - 1; 
   //Neuen Wert setzen 
   $("#"+elemID+'inp').val(newcount); 
  }); 
});

5 , 添加页面

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags/form" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@page import="com.base.project.wechat.m500point.dto.PointQualitySecurityDto" %> 
<%@page import="com.base.pf.base.util.StringUtils" %> 
<html> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
<head> 
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0" /> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<!-- 新 Bootstrap 核心 CSS 文件 --> 
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"> 
<!-- 可选的Bootstrap主题文件(一般不用引入) --> 
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> 
<link href="<%=basePath%>/page/pf/base/bootstrap/table/bootstrap-table.css" rel="stylesheet"/> 
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 --> 
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> 
<!-- 最新的 Bootstrap 核心 JavaScript 文件 --> 
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
<script src="http://cdn.bootcss.com/bootstrap-table/1.9.1/bootstrap-table.min.js"></script> 
<script src="http://cdn.bootcss.com/bootstrap-table/1.9.1/locale/bootstrap-table-zh-CN.min.js"></script> 
<script type="text/javascript" src="<%=basePath%>/page/project/wechat/m500point/js/point_quality_security.js"></script> 
<title>安全/质量填报</title> 
</head> 
<style type="text/css"> 
.file { 
 position: relative; 
 display: inline-block; 
/*  background: #D0EEFF; */ 
/*  border: 1px solid #99D3F5; */ 
/*  border-radius: 4px; */ 
/*  padding: 4px 12px; */ 
 overflow: hidden; 
/*  color: #1E88C7; */ 
 text-decoration: none; 
 text-indent: 0; 
/*  line-height: 20px; */ 
} 
.file input { 
 position: absolute; 
 font-size: 100px; 
 right: 0; 
 top: 0; 
 opacity: 0; 
} 
.file:hover { 
 background: #AADFFD; 
 border-color: #78C3F3; 
 color: #004974; 
 text-decoration: none; 
} 
</style> 
<%PointQualitySecurityDto pDto = ((PointQualitySecurityDto)request.getAttribute("pointQualitySecurityDto")); %> 
<body class="container"> 
<h4 class="page-header">安全/质量填报</h4> 
<spring:form id="defaultForm" modelAttribute="pointQualitySecurityDto" action="save.do" method="post" enctype="multipart/form-data" > 
 <input type="hidden" name="pId" value="${pointQualitySecurityDto.pId }"/> 
 <input type="hidden" name="sId" value="${pointQualitySecurityDto.sId }"/> 
 <input type="hidden" name="qId" value="${pointQualitySecurityDto.qId }"/> 
 <input type="hidden" name="pointProject" value="${pointQualitySecurityDto.pointProject }"/> 
 <input type="hidden" name="recordPerson" value="${pointQualitySecurityDto.recordPerson }"/> 
 <input type="hidden" name="recordDate" value="${pointQualitySecurityDto.recordDate }"/> 
 <spring:hidden path="scrollTop"/> 
 <spring:hidden path="isSave"/> 
 <input type="hidden" name="category" id="uploadCategory"/> 
 <table id="formQRCode" class="table table-striped table-hover table-bordered"> 
  <thead> 
   <tr>                
    <th data-field="name" data-halign="center" valign="middle">工程部位(工点)</th> 
    <th data-field="qrcode" data-halign="center" valign="middle">检查人</th> 
    <th data-field="url" data-halign="center" width="100">检查时间</th> 
   </tr> 
  </thead> 
  <tbody> 
  <tr> 
   <td>${pointQualitySecurityDto.pointProject }</td> 
   <td>${pointQualitySecurityDto.recordPerson }</td> 
   <td>${pointQualitySecurityDto.recordDate }</td> 
  </tr> 
  </tbody> 
 </table> 
 <table class="table table-hover table-bordered" id="securityTable" data-pagination="false" 
  data-search="false" 
  data-show-refresh="false" 
  data-toggle="card" 
  data-card-view = "true" 
  data-show-toggle="false" 
  data-show-columns="false" 
  data-page-list="[10,20,50,100]"> 
 <caption>安全</caption> 
 <thead> 
  <thead> 
   <tr>                
   <th data-field="" data-halign="center">检查项目</th> 
   <th data-field="" data-halign="center">实际得分</th> 
   <th data-field="" data-halign="center">是否合格</th> 
   <th data-field="" data-halign="center">附件</th> 
   </tr> 
  </thead> 
  <tbody> 
  <tr> 
   <td>安全施工 
   </td> 
   <td> 
   <spring:input style="width: 40px;" path="sSecurityScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isSSecurity" value="1" <%if("1".equals(pDto.getIsSSecurity())){ %>checked<%} %>>是 
   <input type="radio" name="isSSecurity" value="0" <%if("0".equals(pDto.getIsSSecurity())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.sSecurityFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="sSecurityFile" accept="image/*" onchange="changeFile(this,'sSecurityFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getsSecurityFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sSecurityFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>文明施工</td> 
   <td> 
   <spring:input style="width: 40px;" path="sCiviliztionScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isSCiviliztion" value="1" <%if("1".equals(pDto.getIsSCiviliztion())){ %>checked<%} %>>是 
   <input type="radio" name="isSCiviliztion" value="0" <%if("0".equals(pDto.getIsSCiviliztion())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.sCiviliztionFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="sCiviliztionFile" accept="image/*" onchange="changeFile(this,'sCiviliztionFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getsCiviliztionFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sCiviliztionFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>脚手架</td> 
   <td> 
   <spring:input style="width: 40px;" path="sScaffoldScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isSScaffold" value="1" <%if("1".equals(pDto.getIsSScaffold())){ %>checked<%} %>>是 
   <input type="radio" name="isSScaffold" value="0" <%if("0".equals(pDto.getIsSScaffold())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.sScaffoldFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="sScaffoldFile" accept="image/*" onchange="changeFile(this,'sScaffoldFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getsScaffoldFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sScaffoldFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>基坑支撑</td> 
   <td> 
   <spring:input style="width: 40px;" path="sFounationScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isSFounation" value="1" <%if("1".equals(pDto.getIsSFounation())){ %>checked<%} %>>是 
   <input type="radio" name="isSFounation" value="0" <%if("0".equals(pDto.getIsSFounation())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.sFounationFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="sFounationFile" accept="image/*" onchange="changeFile(this,'sFounationFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getsFounationFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sFounationFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>外用电梯</td> 
   <td> 
   <spring:input style="width: 40px;" path="sLiftScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isSLift" value="1" <%if("1".equals(pDto.getIsSLift())){ %>checked<%} %>>是 
   <input type="radio" name="isSLift" value="0" <%if("0".equals(pDto.getIsSLift())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.sLiftFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="sLiftFile" accept="image/*" onchange="changeFile(this,'sLiftFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getsLiftFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sLiftFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>施工用电</td> 
   <td> 
   <spring:input style="width: 40px;" path="sElectricityScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isSElectricity" value="1" <%if("1".equals(pDto.getIsSElectricity())){ %>checked<%} %>>是 
   <input type="radio" name="isSElectricity" value="0" <%if("0".equals(pDto.getIsSElectricity())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.sElectricityFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="sElectricityFile" accept="image/*" onchange="changeFile(this,'sElectricityFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getsElectricityFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sElectricityFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>施工机械</td> 
   <td> 
   <spring:input style="width: 40px;" path="sMachineryScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isSMachinery" value="1" <%if("1".equals(pDto.getIsSSecurity())){ %>checked<%} %>>是 
   <input type="radio" name="isSMachinery" value="0" <%if("0".equals(pDto.getIsSSecurity())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.sMachineryFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="sMachineryFile" accept="image/*" onchange="changeFile(this,'sMachineryFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getsMachineryFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sMachineryFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  </tbody> 
</table> 
 <table class="table table-hover table-bordered" id="qualityTable" data-pagination="false" 
  data-search="false" 
  data-show-refresh="false" 
  data-toggle="card" 
  data-card-view = "true" 
  data-show-toggle="false" 
  data-show-columns="false" 
  data-page-list="[10,20,50,100]"> 
 <caption>质量</caption> 
 <thead> 
  <thead> 
   <tr>                
   <th data-field="" data-halign="center">检查项目</th> 
   <th data-field="" data-halign="center">实际得分</th> 
   <th data-field="" data-halign="center">是否合格</th> 
   <th data-field="" data-halign="center">拍照</th> 
   </tr> 
  </thead> 
  <tbody> 
  <tr> 
   <td>石灰质量</td> 
   <td> 
   <spring:input style="width: 40px;" path="qLimeScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isQLime" value="1" <%if("1".equals(pDto.getIsQLime())){ %>checked<%} %>>是 
   <input type="radio" name="isQLime" value="0" <%if("0".equals(pDto.getIsQLime())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.qLimeFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="qLimeFile" accept="image/*" onchange="changeFile(this,'qLimeFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getqLimeFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qLimeFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>水泥质量</td> 
   <td> 
   <spring:input style="width: 40px;" path="qCementScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isQCement" value="1" <%if("1".equals(pDto.getIsQCement())){ %>checked<%} %>>是 
   <input type="radio" name="isQCement" value="0" <%if("0".equals(pDto.getIsQCement())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.qCementFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="qCementFile" accept="image/*" onchange="changeFile(this,'qCementFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getqCementFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qCementFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>桩的数量<br>、类型、<br>布置形式</td> 
   <td> 
   <spring:input style="width: 40px;" path="qPileCountScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isQPileCount" value="1" <%if("1".equals(pDto.getIsQPileCount())){ %>checked<%} %>>是 
   <input type="radio" name="isQPileCount" value="0" <%if("0".equals(pDto.getIsQPileCount())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.qPileCountFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="qPileCountFile" accept="image/*" onchange="changeFile(this,'qPileCountFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getqPileCountFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qPileCountFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>材料的配<br>合比例</td> 
   <td> 
   <spring:input style="width: 40px;" path="qFillingScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isQFilling" value="1" <%if("1".equals(pDto.getIsQFilling())){ %>checked<%} %>>是 
   <input type="radio" name="isQFilling" value="0" <%if("0".equals(pDto.getIsQFilling())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.qFillingFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="qFillingFile" accept="image/*" onchange="changeFile(this,'qFillingFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getqFillingFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qFillingFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>施工工艺</td> 
   <td> 
   <spring:input style="width: 40px;" path="qTechnologyScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isQTechnology" value="1" <%if("1".equals(pDto.getIsQTechnology())){ %>checked<%} %>>是 
   <input type="radio" name="isQTechnology" value="0" <%if("0".equals(pDto.getIsQTechnology())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.qTechnologyFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="qTechnologyFile" accept="image/*" onchange="changeFile(this,'qTechnologyFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getqTechnologyFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qTechnologyFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>桩的密实<br>度</td> 
   <td> 
   <spring:input style="width: 40px;" path="qPileDensityScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isQPileDensity" value="1" <%if("1".equals(pDto.getIsQPileDensity())){ %>checked<%} %>>是 
   <input type="radio" name="isQPileDensity" value="0" <%if("0".equals(pDto.getIsQPileDensity())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.qPileDensityFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="qPileDensityFile" accept="image/*" onchange="changeFile(this,'qPileDensityFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getqPileDensityFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qPileDensityFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>地基承载<br>力</td> 
   <td> 
   <spring:input style="width: 40px;" path="qBearingScore"/> 
   </td> 
   <td> 
   <input type="radio" name="isQBearing" value="1" <%if("1".equals(pDto.getIsQBearing())){ %>checked<%} %>>是 
   <input type="radio" name="isQBearing" value="0" <%if("0".equals(pDto.getIsQBearing())){ %>checked<%} %>>否 
   </td> 
   <td> 
<%--    ${pointQualitySecurityDto.qBearingFileName } --%> 
   <a href="javascript:void(0);" class="file"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/camera_picture.png"> 
    <input type="file" name="qBearingFile" accept="image/*" onchange="changeFile(this,'qBearingFile');"> 
   </a>  
   <%if(!StringUtils.isEmpty(pDto.getqBearingFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qBearingFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  </tbody> 
</table> 
 <div style="text-align:center;"> 
  <button type="button" onclick="saveForm();" class="btn btn-default">保存</button> 
 </div> 
 <div style="text-align:center;"> </div> 
</spring:form> 
<!-- <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> --> 
<!--  开始演示模态框 --> 
<!-- </button> --> 
<!-- 模态框(Modal) --> 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
 <div class="modal-dialog"> 
  <div class="modal-content"> 
   <div class="modal-header"> 
<!--     <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> --> 
<!--      × --> 
<!--     </button> --> 
<!--     <h4 class="modal-title" id="myModalLabel"> --> 
<!--      图片<img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"> --> 
<!--     </h4><br> --> 
    <button type="button" class="btn btn-default" data-dismiss="modal">关闭 
    </button> 
   </div> 
   <div class="modal-body"> 
    <a href="#" class="thumbnail"> 
     <img id="modelPicture" src="" alt=""> 
    </a> 
   </div> 
   <div class="modal-footer"> 
   </div> 
  </div><!-- /.modal-content --> 
 </div><!-- /.modal --> 
</div> 
<div class="modal fade" id="loadingModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
 <div class="modal-dialog"> 
  <div class="modal-content"> 
   <div class="modal-header"> 
   </div> 
   <div class="modal-body"> 
    <a href="#" class="thumbnail"> 
     图片正在上传,请稍后... 
<!--      <img id="modelPicture" src="http://imgsrc.baidu.com/forum/w%3D580/sign=203354c7a864034f0fcdc20e9fc27980/1a52738da9773912d8d31f7bfb198618377ae281.jpg"> --> 
    </a> 
   </div> 
   <div class="modal-footer"> 
   </div> 
  </div> 
 </div> 
</div> 
</body> 
</html> 
<script type="text/javascript"> 
window.scrollTo(1,'${pointQualitySecurityDto.scrollTop}'); 
// setTimeout("$('#loadingModal').modal('hide');",1000); 
//选择文件; 图片上传 
function changeFile(obj,name){ 
 $("#loadingModal").modal('show'); 
 var scrollTop = document.body.scrollTop; 
 $("#scrollTop").val(scrollTop); 
 $("#uploadCategory").val(name); 
 $("#defaultForm").submit(); 
} 
// 保存 
function saveForm(){ 
 $("#isSave").val("yes"); 
 $("#defaultForm").submit(); 
} 
function showPicture(attenchmentId){ 
 if(!attenchmentId) 
  return; 
 $("#modelPicture").attr("src","../../attachment/displayjpg.do?attenchmentId="+attenchmentId); 
 $("#myModal").modal('show'); 
} 
</script>

6. 查看页面

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags/form" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@page import="com.base.project.wechat.m500point.dto.PointQualitySecurityDto" %> 
<%@page import="com.base.pf.base.util.StringUtils" %> 
<html> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
<head> 
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0" /> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<!-- 新 Bootstrap 核心 CSS 文件 --> 
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"> 
<!-- 可选的Bootstrap主题文件(一般不用引入) --> 
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> 
<link href="<%=basePath%>/page/pf/base/bootstrap/table/bootstrap-table.css" rel="stylesheet"/> 
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 --> 
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> 
<!-- 最新的 Bootstrap 核心 JavaScript 文件 --> 
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
<script src="http://cdn.bootcss.com/bootstrap-table/1.9.1/bootstrap-table.min.js"></script> 
<script src="http://cdn.bootcss.com/bootstrap-table/1.9.1/locale/bootstrap-table-zh-CN.min.js"></script> 
<script src="<%=basePath%>/page/project/wechat/m500point/js/point_view.js"></script> 
<style type="text/css"> 
.file { 
 position: relative; 
 display: inline-block; 
/*  background: #D0EEFF; */ 
/*  border: 1px solid #99D3F5; */ 
/*  border-radius: 4px; */ 
/*  padding: 4px 12px; */ 
 overflow: hidden; 
/*  color: #1E88C7; */ 
 text-decoration: none; 
 text-indent: 0; 
/*  line-height: 20px; */ 
} 
.file input { 
 position: absolute; 
 font-size: 100px; 
 right: 0; 
 top: 0; 
 opacity: 0; 
} 
.file:hover { 
 background: #AADFFD; 
 border-color: #78C3F3; 
 color: #004974; 
 text-decoration: none; 
} 
td{ 
 valign: middle 
} 
</style> 
<%PointQualitySecurityDto pDto = ((PointQualitySecurityDto)request.getAttribute("pointQualitySecurityDto")); %> 
<title>安全/质量填报</title> 
</head> 
<body class="container"> 
<h4 class="page-header">安全/质量填报</h4> 
<spring:form id="defaultForm" class="form-horizontal" modelAttribute="pointQualitySecurityDto" action="save.do" method="post" enctype="multipart/form-data" > 
 <input type="hidden" name="pId" value="${pointQualitySecurityDto.pId }"/> 
 <table id="formQRCode" class="table table-striped table-hover table-bordered"> 
  <thead> 
   <tr>                
    <th data-field="name" data-halign="center" valign="middle">工程部位(工点)</th> 
    <th data-field="qrcode" data-halign="center" valign="middle">检查人</th> 
    <th data-field="url" data-halign="center">检查时间</th> 
   </tr> 
  </thead> 
  <tbody> 
  <tr> 
   <td>${pointQualitySecurityDto.pointProject }</td> 
   <td>${pointQualitySecurityDto.recordPerson }</td> 
   <td>${pointQualitySecurityDto.recordDate }</td> 
  </tr> 
  </tbody> 
 </table> 
 <table class="table table-hover table-bordered" id="securityTable" data-pagination="false" 
  data-search="false" 
  data-show-refresh="false" 
  data-toggle="card" 
  data-card-view = "true" 
  data-show-toggle="false" 
  data-show-columns="false" 
  data-page-list="[10,20,50,100]"> 
 <caption>安全</caption> 
 <thead> 
  <thead> 
   <tr>                
   <th data-field="" data-halign="center">检查项目</th> 
   <th data-field="" data-halign="center">实际得分</th> 
   <th data-field="" data-halign="center">是否合格</th> 
   <th data-field="" data-halign="center">附件</th> 
   </tr> 
  </thead> 
  <tbody> 
  <tr> 
   <td>安全施工</td> 
   <td>${pointQualitySecurityDto.sSecurityScore } 
   </td> 
   <td>${pointQualitySecurityDto.isSSecurity } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getsSecurityFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sSecurityFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>文明施工</td> 
   <td>${pointQualitySecurityDto.sCiviliztionScore } 
   </td> 
   <td>${pointQualitySecurityDto.isSCiviliztion } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getsCiviliztionFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sCiviliztionFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>脚手架</td> 
   <td>${pointQualitySecurityDto.sScaffoldScore } 
   </td> 
   <td>${pointQualitySecurityDto.isSScaffold } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getsScaffoldFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sScaffoldFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>基坑支撑</td> 
   <td>${pointQualitySecurityDto.sFounationScore } 
   </td> 
   <td>${pointQualitySecurityDto.isSFounation } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getsFounationFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sFounationFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>外用电梯</td> 
   <td>${pointQualitySecurityDto.sLiftScore } 
   </td> 
   <td>${pointQualitySecurityDto.isSLift } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getsLiftFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sLiftFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>施工用电</td> 
   <td>${pointQualitySecurityDto.sElectricityScore } 
   </td> 
   <td>${pointQualitySecurityDto.isSElectricity } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getsElectricityFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sElectricityFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>施工机械</td> 
   <td>${pointQualitySecurityDto.sMachineryScore } 
   </td> 
   <td>${pointQualitySecurityDto.isSMachinery } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getsMachineryFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.sMachineryFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  </tbody> 
</table> 
 <table class="table table-hover table-bordered" id="qualityTable" data-pagination="false" 
  data-search="false" 
  data-show-refresh="false" 
  data-toggle="card" 
  data-card-view = "true" 
  data-show-toggle="false" 
  data-show-columns="false" 
  data-page-list="[10,20,50,100]"> 
 <caption>质量</caption> 
 <thead> 
  <thead> 
   <tr>                
   <th data-field="" data-halign="center">检查项目</th> 
   <th data-field="" data-halign="center">实际得分</th> 
   <th data-field="" data-halign="center">是否合格</th> 
   <th data-field="" data-halign="center">附件</th> 
   </tr> 
  </thead> 
  <tbody> 
  <tr> 
   <td>石灰质量</td> 
   <td>${pointQualitySecurityDto.qLimeScore } 
   </td> 
   <td>${pointQualitySecurityDto.isQLime } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getqLimeFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qLimeFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>水泥质量</td> 
   <td>${pointQualitySecurityDto.qCementScore } 
   </td> 
   <td>${pointQualitySecurityDto.isQCement } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getqCementFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qCementFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>桩的数量<br>、类型、<br>布置形式</td> 
   <td>${pointQualitySecurityDto.qPileCountScore } 
   </td> 
   <td>${pointQualitySecurityDto.isQPileCount } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getqPileCountFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qPileCountFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>材料的配<br>合比例</td> 
   <td>${pointQualitySecurityDto.qFillingScore } 
   </td> 
   <td>${pointQualitySecurityDto.isQFilling } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getqFillingFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qFillingFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>施工工艺</td> 
   <td>${pointQualitySecurityDto.qTechnologyScore } 
   </td> 
   <td>${pointQualitySecurityDto.isQTechnology } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getqTechnologyFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qTechnologyFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>桩的密实<br>度</td> 
   <td>${pointQualitySecurityDto.qPileDensityScore } 
   </td> 
   <td>${pointQualitySecurityDto.isQPileDensity } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getqPileDensityFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qPileDensityFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  <tr> 
   <td>地基承载<br>力</td> 
   <td>${pointQualitySecurityDto.qBearingScore } 
   </td> 
   <td>${pointQualitySecurityDto.isQBearing } 
   </td> 
   <td> 
   <%if(!StringUtils.isEmpty(pDto.getqBearingFileName())){ %> 
   <a href="javascript:void(0);" class="file" onclick="showPicture('${pointQualitySecurityDto.qBearingFileId}');"><img alt="" src="<%=basePath%>/page/project/wechat/m500point/img/box_picture.png"></a> 
   <%} %> 
   </td> 
  </tr> 
  </tbody> 
</table> 
 <div style="text-align:center;"> </div> 
</spring:form> 
<!-- <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> --> 
<!--  开始演示模态框 --> 
<!-- </button> --> 
<!-- 模态框(Modal) --> 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
 <div class="modal-dialog"> 
  <div class="modal-content"> 
   <div class="modal-header"> 
<!--     <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> --> 
<!--      × --> 
<!--     </button> --> 
<!--     <h4 class="modal-title" id="myModalLabel"> --> 
<!--      图片查看 --> 
<!--     </h4><br> --> 
    <button type="button" class="btn btn-default" data-dismiss="modal">关闭 
    </button> 
   </div> 
   <div class="modal-body"> 
    <a href="#" class="thumbnail"> 
     <div id="alertContent"></div> 
     <img id="modelPicture" src="" alt=""> 
    </a> 
   </div> 
   <div class="modal-footer"> 
   </div> 
  </div><!-- /.modal-content --> 
 </div><!-- /.modal --> 
</div> 
</body> 
</html> 
<script type="text/javascript"> 
function showPicture(attenchmentId){ 
 $("#modelPicture").attr("src",""); 
 $("#alertContent").html('<div></div>'); 
 if(!attenchmentId){ 
  $("#alertContent").html('<div>未上传图片。</div>'); 
  setTimeout("$('#myModal').modal('hide');",1000); 
 }else{ 
  $("#modelPicture").attr("src","../../attachment/displayjpg.do?attenchmentId="+attenchmentId); 
 } 
 $("#myModal").modal('show'); 
} 
</script>

7. 列表页面

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<html> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
<head> 
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0" /> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<!-- 新 Bootstrap 核心 CSS 文件 --> 
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"> 
<!-- 可选的Bootstrap主题文件(一般不用引入) --> 
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> 
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 --> 
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> 
<!-- 最新的 Bootstrap 核心 JavaScript 文件 --> 
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
<link href="<%=basePath%>/page/pf/base/bootstrap/table/bootstrap-table.css" rel="stylesheet"/> 
<script src="http://cdn.bootcss.com/bootstrap-table/1.9.1/bootstrap-table.min.js"></script> 
<script src="http://cdn.bootcss.com/bootstrap-table/1.9.1/locale/bootstrap-table-zh-CN.min.js"></script> 
<title>质量/安全列表</title> 
<script type="text/javascript" src="<%=basePath%>/page/project/wechat/m500point/js/point_quality_security_list.js?version=09092200010"></script> 
</head> 
<body> 
<div class="container"> 
<h4 class="page-header">质量/安全列表</h4> 
<table class="table table-hover" id="pointQualitySecurityTable" data-pagination="false" 
  data-search="false" 
  data-show-refresh="false" 
  data-toggle="card" 
  data-card-view = "true" 
  data-show-toggle="false" 
  data-show-columns="true"> 
  <input type="hidden" id="pId" value="${pointQualitySecurityDto.pId }"/> 
  <thead> 
   <tr>                
    <th data-field="pointProject" data-halign="center" >工程部位(工点):</th> 
    <th data-field="recordPerson" data-halign="center">记录人:</th> 
    <th data-field="recordDate" data-halign="center">记录时间:</th> 
    <th data-field="checkType" data-halign="center">检查类型:</th> 
    <th data-field="sId" data-visible="false"> 
    <th data-field="qId" data-visible="false"> 
    <th data-field="ck" data-halign="center" data-formatter="showDetail">详细:</th> 
   </tr> 
  </thead> 
  <tbody> 
  </tbody> 
</table> 
</div> 
</body> 
</html> 

function initTable() { 
 // 先销毁表格 
// $('#cusTable').bootstrapTable('destroy'); 
 // 初始化表格,动态从服务器加载数据 
 $("#pointQualitySecurityTable").bootstrapTable({ 
  method : "get", // 使用get请求到服务器获取数据 
  url : "queryQualitySecurityList.do", // 获取数据的Servlet地址 
  contentType: "application/x-www-form-urlencoded", 
  striped : true, // 表格显示条纹 
  pagination : false, // 启动分页 
  pageNumber : 1, // 当前第几页 
  sidePagination : "server", // 表示服务端请求 
  // 设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder 
  // 设置为limit可以获取limit, offset, search, sort, order 
  queryParamsType : "undefined", 
  queryParams : function queryParams(params) { // 设置查询参数 
   var param = { 
    pageNumber : params.pageNumber, 
    pId:$("#pId").val() 
   }; 
   return param; 
  } 
 }); 
} 
function showDetail(value,row,index){ 
 return "<a href='toQualitySecurityViewPage.do?sId="+row.sId+"&qId="+row.qId+"'>查看</a>"; 
} 
$(document).ready(function() { 
 // 调用函数,初始化表格 
 initTable(); 
 // 当点击查询按钮的时候执行 
 // $("#search").bind("click", initTable); 
});

以上所述是小编给大家介绍的BootStrap轻松实现微信页面开发代码分享,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript入门教程(1) 什么是JS
Jan 31 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
Oct 12 Javascript
jQuery中filter()方法用法实例
Jan 06 Javascript
javascript中call和apply的用法示例分析
Apr 02 Javascript
AngularJS 指令详细介绍
Jul 27 Javascript
利用js+css+html实现固定table的列头不动
Dec 08 Javascript
常见的浏览器Hack技巧整理
Jun 29 Javascript
ReactNative列表ListView的用法
Aug 02 Javascript
vue 计时器组件的实现代码
Sep 14 Javascript
webpack4打包vue前端多页面项目
Sep 17 Javascript
如何在node环境实现“get数据解析”代码实例
Jul 03 Javascript
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 Vue.js
浅谈angularjs module返回对象的坑(推荐)
Oct 21 #Javascript
浅谈Angularjs link和compile的使用区别
Oct 21 #Javascript
JavaScript高仿支付宝倒计时页面及代码实现
Oct 21 #Javascript
基于angularJS的表单验证指令介绍
Oct 21 #Javascript
全屏滚动插件fullPage.js使用实例解析
Oct 21 #Javascript
connection reset by peer问题总结及解决方案
Oct 21 #Javascript
seajs模块之间依赖的加载以及模块的执行
Oct 21 #Javascript
You might like
PHP生成等比缩略图类和自定义函数分享
2014/06/25 PHP
ThinkPHP简单使用memcache缓存的方法
2016/11/15 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
通过jquery 获取URL参数并进行转码
2014/08/18 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
javascript中的this详解
2014/12/08 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
JavaScript中数组去除重复的三种方法
2016/04/22 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
在vue中使用inheritAttrs实现组件的扩展性介绍
2020/12/07 Vue.js
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
Python之web模板应用
2017/12/26 Python
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
java程序员面试交流
2012/11/29 面试题
2014法制宣传日活动总结
2014/07/09 职场文书
离婚协议书标准格式
2014/10/04 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书