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 相关文章推荐
jQuery EasyUI API 中文文档 - ProgressBar 进度条
Sep 29 Javascript
js中如何把字符串转化为对象、数组示例代码
Jul 17 Javascript
JavaScript中window.showModalDialog()用法详解
Dec 18 Javascript
javascript html5实现表单验证
Mar 01 Javascript
jquery显示隐藏元素的实现代码
May 19 Javascript
使用jQuery给input标签设置默认值
Jun 20 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 Javascript
浅谈node中的exports与module.exports的关系
Aug 01 Javascript
Vue2.X 通过AJAX动态更新数据
Jul 17 Javascript
js实现点击上传图片并设为模糊背景
Aug 02 Javascript
Vue获取微博授权URL代码实例
Nov 04 Javascript
浅谈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使用pack处理二进制文件的方法
2014/07/03 PHP
php中in_array函数用法探究
2014/11/25 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
javascript 写类方式之八
2009/07/05 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
jQuery中extend函数简单用法示例
2017/10/11 jQuery
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
最小二乘法及其python实现详解
2020/02/24 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
Python远程linux执行命令实现
2020/11/11 Python
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
高级护理专业大学生求职信
2013/10/24 职场文书
周鸿祎:教你写创业计划书
2013/12/30 职场文书
《可爱的动物》教学反思
2014/02/22 职场文书
花坛标语大全
2014/06/30 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
工作失职检讨书500字
2014/10/17 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
先进个人自荐书
2015/03/06 职场文书
导游词之山西-五老峰
2019/10/07 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android