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 |  414 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 333 insertions(+), 81 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 cf01935..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,103 +2,355 @@
 <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">
-	    <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>-->
+<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>
+
+                        <el-descriptions-item>
+                            <template slot="label">
+                                <i class="el-icon-menu"></i>
+                                鍦哄湴缂栧彿
+                            </template>
+                            {{project.code}}
+                        </el-descriptions-item>
+
+                        <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}]];
 
-	    function map(){
-	       parent.$.modal.openTab("椤圭洰鍦板浘",ctx+"/geo/projectwork/map?id=" + project.ids);
-	   }
+        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 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'
+                        }
+                    },
+
+                ]
+            };
+
+            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);
+	    // }
     </script>
 </body>
 </html>
\ No newline at end of file

--
Gitblit v1.9.1