ホームページ  >  記事  >  php教程  >  BootStrap は WeChat ページ開発コード共有を簡単に実装します

BootStrap は WeChat ページ開発コード共有を簡単に実装します

PHPz
PHPzオリジナル
2016-12-09 14:04:061795ブラウズ

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" %>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>




















物料



${materialDto.projectName }
${materialDto.name }
${materialDto.inDate }
${materialDto.inQuantity }
${materialDto.inLeader }
出库列表
出库时间: 出库数量: 出库人:
<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>


4.

5、ページを追加

var MaterialManager = {};
$(document).ready(function() {
MaterialManager.query = function(){
 $(&#39;#outMaterialTable&#39;).bootstrapTable(&#39;destroy&#39;);
 //初始化表格,动态从服务器加载数据
 $("#outMaterialTable").bootstrapTable({
  url:&#39;../../supManage/material/queryOutMaterialList.do&#39;,
  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(&#39;show&#39;);
  $("#myModal").modal(&#39;hide&#39;);
  $.ajax({
   type: "POST",
   url: "../../supManage/material/saveOutMaterial.do",
   data:$("#outMaterialForm").serialize(),
   dataType: "json",
   success: function(data){
    $("#loadingModal").modal(&#39;hide&#39;);
    $("#alertModal").modal(&#39;show&#39;);
    MaterialManager.query();
    setInterval(function(){$("#alertModal").modal(&#39;hide&#39;);},2000);
   }
  });
 });
 // 出库按钮
 $("#outQuantityBtn").click(function(){
  $("#myModal").modal(&#39;show&#39;);
 });
 $(&#39;#outDate&#39;).datetimepicker({
  format: &#39;yyyy-mm-dd hh:ii:ss&#39;,
  language:&#39;zh-CN&#39;,
  autoclose:true,
  startDate:&#39;2016-09-01&#39;,
  endDate:&#39;2025-12-12&#39;
 });
  $(".quantity-add").click(function(e){
   //Vars
   var count = 1;
   var newcount = 0;
   //Wert holen + Rechnen
   var elemID = $(this).parent().attr("id");
   var countField = $("#"+elemID+&#39;inp&#39;);
   var count = $("#"+elemID+&#39;inp&#39;).val();
   var newcount = parseInt(count) + 1;
   //Neuen Wert setzen
   $("#"+elemID+&#39;inp&#39;).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+&#39;inp&#39;);
   var count = $("#"+elemID+&#39;inp&#39;).val();
   var newcount = parseInt(count) - 1;
   //Neuen Wert setzen
   $("#"+elemID+&#39;inp&#39;).val(newcount);
  });
});

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 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,&#39;sSecurityFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getsSecurityFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.sSecurityFileId}&#39;);"><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,&#39;sCiviliztionFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getsCiviliztionFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.sCiviliztionFileId}&#39;);"><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,&#39;sScaffoldFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getsScaffoldFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.sScaffoldFileId}&#39;);"><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,&#39;sFounationFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getsFounationFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.sFounationFileId}&#39;);"><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,&#39;sLiftFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getsLiftFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.sLiftFileId}&#39;);"><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,&#39;sElectricityFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getsElectricityFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.sElectricityFileId}&#39;);"><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,&#39;sMachineryFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getsMachineryFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.sMachineryFileId}&#39;);"><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,&#39;qLimeFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getqLimeFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.qLimeFileId}&#39;);"><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,&#39;qCementFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getqCementFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.qCementFileId}&#39;);"><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,&#39;qPileCountFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getqPileCountFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.qPileCountFileId}&#39;);"><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,&#39;qFillingFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getqFillingFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.qFillingFileId}&#39;);"><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,&#39;qTechnologyFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getqTechnologyFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.qTechnologyFileId}&#39;);"><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,&#39;qPileDensityFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getqPileDensityFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.qPileDensityFileId}&#39;);"><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,&#39;qBearingFile&#39;);">
   </a> 
   <%if(!StringUtils.isEmpty(pDto.getqBearingFileName())){ %>
   <a href="javascript:void(0);" class="file" onclick="showPicture(&#39;${pointQualitySecurityDto.qBearingFileId}&#39;);"><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,&#39;${pointQualitySecurityDto.scrollTop}&#39;);
// setTimeout("$(&#39;#loadingModal&#39;).modal(&#39;hide&#39;);",1000);
//选择文件; 图片上传
function changeFile(obj,name){
 $("#loadingModal").modal(&#39;show&#39;);
 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(&#39;show&#39;);
}
</script>

7. リストページ

<%@ 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(&#39;${pointQualitySecurityDto.sSecurityFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.sCiviliztionFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.sScaffoldFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.sFounationFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.sLiftFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.sElectricityFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.sMachineryFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.qLimeFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.qCementFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.qPileCountFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.qFillingFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.qTechnologyFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.qPileDensityFileId}&#39;);"><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(&#39;${pointQualitySecurityDto.qBearingFileId}&#39;);"><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(&#39;<div></div>&#39;);
 if(!attenchmentId){
  $("#alertContent").html(&#39;<div>未上传图片。</div>&#39;);
  setTimeout("$(&#39;#myModal&#39;).modal(&#39;hide&#39;);",1000);
 }else{
  $("#modelPicture").attr("src","../../attachment/displayjpg.do?attenchmentId="+attenchmentId);
 }
 $("#myModal").modal(&#39;show&#39;);
}
</script>

【関連動画おすすめ:

Bootstrapチュートリアル

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。