|  |  | 
 |  |  | <html lang="zh" xmlns:th="http://www.thymeleaf.org" > | 
 |  |  | <head> | 
 |  |  |     <th:block th:include="include :: header('基本信息')" /> | 
 |  |  |     <th:block th:include="include :: datetimepicker-css" /> | 
 |  |  | <!--    <link th:href="@{/js/elementUI/index.css}" rel="stylesheet" />--> | 
 |  |  |     <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> | 
 |  |  |     <script th:src="@{/js/jquery.min.js}"></script> | 
 |  |  |     <script th:src="@{/js/vue.min.js}"></script> | 
 |  |  | <!--    <script th:src="@{/js/elementUI/index.js}"></script>--> | 
 |  |  |     <script src="https://unpkg.com/element-ui/lib/index.js"></script> | 
 |  |  |     <style type="text/css"> | 
 |  |  |         * { | 
 |  |  |             padding: 0px; | 
 |  |  |             margin: 0px; | 
 |  |  |             box-sizing: border-box; | 
 |  |  |             user-select: none; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         html, | 
 |  |  |         body { | 
 |  |  |             height: 100%; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #container { | 
 |  |  |         .el-card__header{ | 
 |  |  |             height: 55px; | 
 |  |  |             padding: 18px 20px; | 
 |  |  |             color: #FFFFFF; | 
 |  |  |             font-weight: 500; | 
 |  |  |             font-size: 14px; | 
 |  |  |         } | 
 |  |  |         #app { | 
 |  |  |             height: 100%; | 
 |  |  |             padding: 20px; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         .basic-info { | 
 |  |  |             border-collapse: collapse; | 
 |  |  |             width: 100%; | 
 |  |  |             | 
 |  |  |         .el-progress-circle{ | 
 |  |  |             width: 180px !important; | 
 |  |  |             height: 180px !important; | 
 |  |  |         } | 
 |  |  |         .card1{ | 
 |  |  |             height: 320px;margin-right: 20px; | 
 |  |  |         } | 
 |  |  |         .card-blue .el-card__header{ | 
 |  |  |             height: 40px; | 
 |  |  |             padding: 8px 20px; | 
 |  |  |             background: #1894F6; | 
 |  |  |         } | 
 |  |  |         .card-yellow .el-card__header{ | 
 |  |  |             height: 40px; | 
 |  |  |             padding: 8px 20px; | 
 |  |  |             background: #F7931E; | 
 |  |  |         } | 
 |  |  |         .card-red .el-card__header{ | 
 |  |  |             height: 40px; | 
 |  |  |             padding: 8px 20px; | 
 |  |  |             background: #FF0000; | 
 |  |  |         } | 
 |  |  |         .card-green .el-card__header{ | 
 |  |  |             height: 40px; | 
 |  |  |             padding: 8px 20px; | 
 |  |  |             background: #67C23A; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         .basic-info td { | 
 |  |  |             border: 1px solid #8080807a; | 
 |  |  |             padding: 8px 0px 8px 5px; | 
 |  |  |         } | 
 |  |  |          | 
 |  |  |         .project-name{ | 
 |  |  |            font-size: 16px; | 
 |  |  |         } | 
 |  |  |          | 
 |  |  |         .map-model{ | 
 |  |  |            margin-top: 10px; | 
 |  |  |            text-align: right; | 
 |  |  |         } | 
 |  |  |          | 
 |  |  |         .map-model button{ | 
 |  |  |            background-color: rgb(66,139,202); | 
 |  |  |           height: 30px; | 
 |  |  |           line-height: 30px; | 
 |  |  |           color: white; | 
 |  |  |           padding: 0px 10px; | 
 |  |  |           border-width: 0px; | 
 |  |  |           border-radius: 3px;	 | 
 |  |  |         } | 
 |  |  |     </style> | 
 |  |  | </head> | 
 |  |  | <body class="white-bg"> | 
 |  |  |     <div id="container"> | 
 |  |  | <body> | 
 |  |  |     <div id="app"  v-cloak> | 
 |  |  |         <el-row style="height: 200px;"> | 
 |  |  |             <el-col :span="8"> | 
 |  |  |                 <el-card class="box-card  card-blue" style="height: 320px;margin-right: 20px;"> | 
 |  |  |                     <div slot="header" class="clearfix"> | 
 |  |  |                         <span>场地简介</span> | 
 |  |  |                     </div> | 
 |  |  |                     <el-descriptions class="margin-top" title=""  :column="1" size="small" border> | 
 |  |  |                         <el-descriptions-item> | 
 |  |  |                             <template slot="label"> | 
 |  |  |                                 <i class="el-icon-s-tools"></i> | 
 |  |  |                                 项目名称 | 
 |  |  |                             </template> | 
 |  |  |                             {{project.fullName}} | 
 |  |  |                         </el-descriptions-item> | 
 |  |  |  | 
 |  |  |         <div class="row"> | 
 |  |  |             <p class="project-name"> | 
 |  |  |                  <h3>场地信息</h3> | 
 |  |  | <!--                <span class="name-label">场地名称:</span>--> | 
 |  |  | <!--                <span class="name-val" th:text="${project.fullName}"></span>--> | 
 |  |  |             </p> | 
 |  |  |             <table class="basic-info"> | 
 |  |  |                 <tr> | 
 |  |  |                     <td>建设单位:</td> | 
 |  |  |                     <td colspan="3" th:text="${project.companyName}"></td> | 
 |  |  |                     <td>劳务单位:</td> | 
 |  |  |                     <td colspan="3" th:text="${project.laborUnit}"></td> | 
 |  |  |                 </tr> | 
 |  |  |                 <tr> | 
 |  |  |                     <td>建设地点:</td> | 
 |  |  |                     <td colspan="7" th:text="${project.address}"></td> | 
 |  |  |                 </tr> | 
 |  |  |                 <tr> | 
 |  |  |                     <td>场地名称:</td> | 
 |  |  |                     <td colspan="5" th:text="${project.fullName}"></td> | 
 |  |  |                     <td>场地编号:</td> | 
 |  |  |                     <td th:text="${project.code}"></td> | 
 |  |  |                 </tr> | 
 |  |  |                 <tr> | 
 |  |  |                     <td>钻孔个数:</td> | 
 |  |  |                     <td th:text="${project.holeNum}"></td> | 
 |  |  |                     <td>开始时间:</td> | 
 |  |  |                     <td th:text="${#dates.format(project.createTime,'yyyy-MM-dd')}"></td> | 
 |  |  |                     <td>终止时间:</td> | 
 |  |  |                     <td th:text="${#dates.format(project.endTime,'yyyy-MM-dd')}"></td> | 
 |  |  |                     <td>负责人:</td> | 
 |  |  |                     <td th:text="${project.leaderName}"></td> | 
 |  |  |                 </tr> | 
 |  |  |             </table> | 
 |  |  |             <!--        <div class="map-model">--> | 
 |  |  |             <!--           <button onclick="map()" type="button">地图模式</button>--> | 
 |  |  |             <!--        </div>--> | 
 |  |  |         </div> | 
 |  |  |                         <el-descriptions-item> | 
 |  |  |                             <template slot="label"> | 
 |  |  |                                 <i class="el-icon-menu"></i> | 
 |  |  |                                 场地编号 | 
 |  |  |                             </template> | 
 |  |  |                             {{project.code}} | 
 |  |  |                         </el-descriptions-item> | 
 |  |  |  | 
 |  |  |         <div class="row" style="margin-top: 30px;"> | 
 |  |  |             <h3>场地钻孔列表</h3> | 
 |  |  |         </div> | 
 |  |  |         <div class="row"> | 
 |  |  |             <div class="col-sm-12 select-table table-striped"> | 
 |  |  |                 <table id="bootstrap-table"></table> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |                         <el-descriptions-item> | 
 |  |  |                             <template slot="label"> | 
 |  |  |                                 <i class="el-icon-map-location"></i> | 
 |  |  |                                 所在区域 | 
 |  |  |                             </template> | 
 |  |  |                             {{project.district}} | 
 |  |  |                         </el-descriptions-item> | 
 |  |  |  | 
 |  |  |                         <el-descriptions-item> | 
 |  |  |                             <template slot="label"> | 
 |  |  |                                 <i class="el-icon-location"></i> | 
 |  |  |                                 场地位置 | 
 |  |  |                             </template> | 
 |  |  |                             {{project.address}} | 
 |  |  |                         </el-descriptions-item> | 
 |  |  |                         <el-descriptions-item> | 
 |  |  |                             <template slot="label"> | 
 |  |  |                                 <i class="el-icon-user"></i> | 
 |  |  |                                 负责人: | 
 |  |  |                             </template> | 
 |  |  |                             {{project.leader}} | 
 |  |  |                         </el-descriptions-item> | 
 |  |  |                         <el-descriptions-item> | 
 |  |  |                             <template slot="label"> | 
 |  |  |                                 <i class="el-icon-s-operation"></i> | 
 |  |  |                                 当前进度 | 
 |  |  |                             </template> | 
 |  |  |                             {{project.rate}} | 
 |  |  |                         </el-descriptions-item> | 
 |  |  |                         <el-descriptions-item> | 
 |  |  |                             <template slot="label"> | 
 |  |  |                                 <i class="el-icon-price-tag"></i> | 
 |  |  |                                 劳务单位 | 
 |  |  |                             </template> | 
 |  |  |                             {{project.laborUnit}} | 
 |  |  |                         </el-descriptions-item> | 
 |  |  |  | 
 |  |  |                     </el-descriptions> | 
 |  |  |                 </el-card> | 
 |  |  |             </el-col> | 
 |  |  |  | 
 |  |  |             <el-col :span="10" > | 
 |  |  |                 <el-card class="box-card card-blue" style="height: 320px;margin-right: 20px;"> | 
 |  |  |                     <div slot="header" class="clearfix"> | 
 |  |  |                         <span>钻孔分布图</span> | 
 |  |  |                     </div> | 
 |  |  |                     <div> | 
 |  |  |                         <el-image :src="src" | 
 |  |  |                                   :preview-src-list="srcList"> | 
 |  |  |                             <div slot="placeholder" class="image-slot"> | 
 |  |  |                                 加载中<span class="dot">...</span> | 
 |  |  |                             </div> | 
 |  |  |                         </el-image> | 
 |  |  |                     </div> | 
 |  |  |                 </el-card> | 
 |  |  |             </el-col> | 
 |  |  |  | 
 |  |  |             <el-col :span="6" > | 
 |  |  |                 <el-card class="box-card card-red" style="height: 320px;"> | 
 |  |  |                     <div slot="header" class="clearfix"> | 
 |  |  |                         <span>场地进度(%)</span> | 
 |  |  |                     </div> | 
 |  |  |                     <div> | 
 |  |  |                         <div style="padding-left: 20%;"> | 
 |  |  |                             <el-progress  type="dashboard" color="#FF0000" :percentage=holeProcess> | 
 |  |  |                             </el-progress> | 
 |  |  |                         </div> | 
 |  |  |                     </div> | 
 |  |  |                 </el-card> | 
 |  |  |             </el-col> | 
 |  |  |  | 
 |  |  |         </el-row> | 
 |  |  |  | 
 |  |  |         <el-row style="height: 200px;"> | 
 |  |  |             <el-col :span="24" > | 
 |  |  |                 <el-card class="box-card card-blue" style="height: 320px;margin-top: 20px"> | 
 |  |  |                     <div slot="header" class="clearfix"> | 
 |  |  |                         <span>钻孔进度</span> | 
 |  |  |                     </div> | 
 |  |  |                     <div style="height: 250px;"> | 
 |  |  |                         <template> | 
 |  |  |                             <el-table :data="holeData" size="small" style="width: 99%" height="250"> | 
 |  |  |                                 <el-table-column prop="code" label="编号"></el-table-column> | 
 |  |  |                                 <el-table-column prop="type" label="类型"></el-table-column> | 
 |  |  |                                 <el-table-column prop="footage" label="总进尺(m)"></el-table-column> | 
 |  |  |                                 <el-table-column prop="footageCpl" label="已完成(m)"></el-table-column> | 
 |  |  |                                 <el-table-column label="进度(%)"> | 
 |  |  |                                     <template slot-scope="scope"> | 
 |  |  |                                         <el-progress  :percentage=(scope.row.rate*100).toFixed(0) ></el-progress> | 
 |  |  |                                     </template> | 
 |  |  |                                 </el-table-column> | 
 |  |  |  | 
 |  |  |                             </el-table> | 
 |  |  |                         </template> | 
 |  |  |  | 
 |  |  |                     </div> | 
 |  |  |                 </el-card> | 
 |  |  |             </el-col> | 
 |  |  |  | 
 |  |  |         </el-row> | 
 |  |  |  | 
 |  |  |         <el-row style="height: 200px;"> | 
 |  |  |             <el-col :span="24"> | 
 |  |  |                 <el-card class="box-card  card-blue"  style="height: 320px;margin-top: 20px"> | 
 |  |  |                         <div slot="header" class="clearfix"> | 
 |  |  |                             <span>材料统计</span> | 
 |  |  |                         </div> | 
 |  |  |                         <el-col :span="10" style="height: 320px;"> | 
 |  |  |                             <template> | 
 |  |  |                                 <el-table :data="tubLogs" border size="small" style="width: 99%" | 
 |  |  |                                           :header-cell-style="{color: '#4D4D4D',background: '#F7931E',fontWeight: '400'}" | 
 |  |  |                                           :row-class-name="tableRowClassName"> | 
 |  |  |                                     <el-table-column prop="tubName" label="名称"></el-table-column> | 
 |  |  |                                     <el-table-column prop="inboundNumber" label="入库数量"></el-table-column> | 
 |  |  |                                     <el-table-column prop="outboundNumber" label="出库数量"></el-table-column> | 
 |  |  |                                     <el-table-column prop="unit" label="单位"></el-table-column> | 
 |  |  |                                 </el-table> | 
 |  |  |                             </template> | 
 |  |  |                         </el-col> | 
 |  |  |                         <el-col :span="14" style="height: 320px;"> | 
 |  |  |                             <div id="column-chart" style="height: 250px; width: 100%;"></div> | 
 |  |  |                         </el-col> | 
 |  |  |                 </el-card> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             </el-col> | 
 |  |  |  | 
 |  |  |         </el-row> | 
 |  |  |     </div> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     <th:block th:include="include :: footer" /> | 
 |  |  |     <th:block th:include="include :: datetimepicker-js" /> | 
 |  |  |     <script th:src="@{/ajax/libs/report/echarts/echarts-all.js}"></script> | 
 |  |  |  | 
 |  |  |    <script th:inline="javascript"> | 
 |  |  |         var project =[[${project}]]; | 
 |  |  |  | 
 |  |  |         var winURL = window.location.protocol + "//" + window.location.host + "/bjfw/profile"; | 
 |  |  |         console.log(winURL) | 
 |  |  |  | 
 |  |  |         var projectUrl = winURL + project.url; | 
 |  |  |         var arrayImg= new Array(); | 
 |  |  |         arrayImg.push(projectUrl); | 
 |  |  |  | 
 |  |  |         var projectId=[[${projectId}]]; | 
 |  |  |         var statusDatas = [[${@dict.getType('hole_status')}]]; | 
 |  |  |         var prefix = ctx + "geo/hole"; | 
 |  |  |         var prefix2 = ctx + "geo/TubLog"; | 
 |  |  |  | 
 |  |  |         $(function() { | 
 |  |  |             var options = { | 
 |  |  |                 url: prefix + "/list?projectId=" + projectId, | 
 |  |  |                 modalName: "钻孔", | 
 |  |  |                 columns: [ | 
 |  |  |                     { | 
 |  |  |                         field : 'code', | 
 |  |  |                         title : '钻孔编号' | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         field : 'elevation', | 
 |  |  |                         title : '孔口高程(m)' | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         field : 'depth', | 
 |  |  |                         title : '设计孔深(m)' | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         field : 'longitude', | 
 |  |  |                         title : '钻孔经度', | 
 |  |  |                         visible: false | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         field : 'latitude', | 
 |  |  |                         title : '钻孔纬度', | 
 |  |  |                         visible: false | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         field : 'status', | 
 |  |  |                         title : '钻孔状态', | 
 |  |  |                         formatter: function(value, row, index) { | 
 |  |  |                             return $.table.selectDictLabel(statusDatas, value); | 
 |  |  |                         } | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         field : 'footage', | 
 |  |  |                         title : '总进尺(m)', | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         field : 'footageCpl', | 
 |  |  |                         title : '已完成进尺(m)', | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         field : 'rate', | 
 |  |  |                         title : '完成进度(%)', | 
 |  |  |                         formatter: function(value, row, index) { | 
 |  |  |                             if (row.rate !=null){ | 
 |  |  |                                 return (row.rate*100).toFixed(2) + "%"; | 
 |  |  |                             }else{ | 
 |  |  |                                 return "0%"; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |             //场地钻孔列表 | 
 |  |  |             var url = prefix + "/holelist?projectId=" + projectId; | 
 |  |  |             $.ajaxSettings.async = false; | 
 |  |  |             $.get(url,{},function(res){ | 
 |  |  |                 vm.holeData = res.data; | 
 |  |  |             }); | 
 |  |  |             vm.project = project; | 
 |  |  |             //场地进度 | 
 |  |  |             var url2 = prefix + "/holeProcess?projectId=" + projectId; | 
 |  |  |             $.ajaxSettings.async = false; | 
 |  |  |             $.get(url2,{},function(res){ | 
 |  |  |                 vm.holeProcess = res.data==null ? 0 :(res.data*100).toFixed(0); | 
 |  |  |             }); | 
 |  |  |  | 
 |  |  |             vm.src = projectUrl; | 
 |  |  |             vm.srcList = arrayImg; | 
 |  |  |             tubLogs(); | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         function tubLogs() { | 
 |  |  |             const chart = echarts.init(document.getElementById("column-chart")); | 
 |  |  |             const option = { | 
 |  |  |                 tooltip: { | 
 |  |  |                     trigger: 'axis', | 
 |  |  |                     axisPointer: { | 
 |  |  |                         type: 'shadow' | 
 |  |  |                     } | 
 |  |  |                 }, | 
 |  |  |                 legend: {}, | 
 |  |  |                 grid: { | 
 |  |  |                     left: '3%', | 
 |  |  |                     right: '4%', | 
 |  |  |                     bottom: '3%', | 
 |  |  |                     containLabel: true | 
 |  |  |                 }, | 
 |  |  |                 xAxis: [ | 
 |  |  |                     { | 
 |  |  |                         type: 'category', | 
 |  |  |                         data: [] | 
 |  |  |                     } | 
 |  |  |                 ], | 
 |  |  |                 yAxis: [ | 
 |  |  |                     { | 
 |  |  |                         type: 'value' | 
 |  |  |                     } | 
 |  |  |                 ], | 
 |  |  |                 series: [ | 
 |  |  |                     { | 
 |  |  |                         name: '出库', | 
 |  |  |                         type: 'bar', | 
 |  |  |                         emphasis: { | 
 |  |  |                             focus: 'series' | 
 |  |  |                         }, | 
 |  |  |                         data: [], | 
 |  |  |                         itemStyle: { | 
 |  |  |                             // 修改柱子的颜色 | 
 |  |  |                             color: '#e2b507' | 
 |  |  |                         } | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         name: '入库', | 
 |  |  |                         type: 'bar', | 
 |  |  |                         stack: 'Ad', | 
 |  |  |                         emphasis: { | 
 |  |  |                             focus: 'series' | 
 |  |  |                         }, | 
 |  |  |                         data: [], | 
 |  |  |                         itemStyle: { | 
 |  |  |                             // 修改柱子的颜色 | 
 |  |  |                             color: '#2992c6' | 
 |  |  |                         } | 
 |  |  |                     }, | 
 |  |  |  | 
 |  |  |                 ] | 
 |  |  |             }; | 
 |  |  |             $.table.init(options); | 
 |  |  |  | 
 |  |  |             let url = prefix2 + "/countTubLogDate/" + projectId; | 
 |  |  |             $.ajaxSettings.async = false; | 
 |  |  |             $.get(url,{},function(res){ | 
 |  |  |                 vm.tubLogs = res.data; | 
 |  |  |  | 
 |  |  |                 res.data.forEach(function(value, index, array) { | 
 |  |  |                     const tubName = value.tubName; | 
 |  |  |                     const inboundNumber = value.inboundNumber; | 
 |  |  |                     const outboundNumber = value.outboundNumber; | 
 |  |  |                     const unit = value.unit; | 
 |  |  |                     option.xAxis[0].data[index] = tubName; | 
 |  |  |                     option.series[0].data[index] = outboundNumber; | 
 |  |  |                     option.series[1].data[index] = inboundNumber; | 
 |  |  |                 }); | 
 |  |  |                 chart.setOption(option, true); | 
 |  |  |  | 
 |  |  |             }) | 
 |  |  |             $.ajaxSettings.async = false; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         var vm = new Vue({ | 
 |  |  |             el: "#app", | 
 |  |  |             data() { | 
 |  |  |                 return { | 
 |  |  |                     holeProcess:"", | 
 |  |  |                     project: "", | 
 |  |  |                     holeData: [], | 
 |  |  |                     tubLogs:[], | 
 |  |  |                     src:"", | 
 |  |  |                     srcList:[], | 
 |  |  |                 }; | 
 |  |  |             }, | 
 |  |  |             methods: { | 
 |  |  |                 tableRowClassName({ row, rowIndex }) { | 
 |  |  |                     if (rowIndex % 2 == 0) { | 
 |  |  |                         return ""; | 
 |  |  |                     } else { | 
 |  |  |                         return "warning-row"; | 
 |  |  |                     } | 
 |  |  |                 }, | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         // | 
 |  |  |        // function map(){ | 
 |  |  |        //    parent.$.modal.openTab("项目地图",ctx+"/geo/projectwork/map?id=" + project.ids); |