From 41750848c6cc6506fa107036d04b28c0f28cfba8 Mon Sep 17 00:00:00 2001 From: zmk <496160012@qq.com> Date: 星期三, 03 七月 2024 16:19:07 +0800 Subject: [PATCH] 提交 --- javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/info.html | 461 +++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 318 insertions(+), 143 deletions(-) diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/info.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/info.html index 1f4867a..567316f 100644 --- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/info.html +++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/info.html @@ -2,176 +2,351 @@ <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> + <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"> - <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"> - <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="margin-top: 10px;"> + <el-col :span="24" > + <el-card class="box-card card-blue" style="height: 400px;"> + <div slot="header" class="clearfix"> + <span>閽诲瓟杩涘害</span> + </div> + <div style="height: 320px;"> + <template> + <el-table :data="holeData" size="small" style="width: 99%" height="320"> + <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> + <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: [{ - checkbox: true - }, - { - field : 'ids', - title : '涓婚敭', - visible: false - }, - { - field : 'code', - title : '閽诲瓟缂栧彿' - }, - { - field : 'elevation', - title : '瀛斿彛楂樼▼锛坢锛�' - }, - { - field : 'depth', - title : '璁捐瀛旀繁锛坢锛�' - }, - { - 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); -- Gitblit v1.9.1