From 7bcdaba7faad85bf16bf0f2a1dbd3e390bdb15dd Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 05 Nov 2024 21:15:40 +0800
Subject: [PATCH] 救援队伍统计、应急空间统计、风险源统计图表样式初步调整,园区概况布局调整 倾斜模型加载配置微调后续看加载效果 企业名录样式调整

---
 src/views/survey/components/box/fireSource.vue |  310 +++++++++++++++++++--------------------------------
 1 files changed, 116 insertions(+), 194 deletions(-)

diff --git a/src/views/survey/components/box/fireSource.vue b/src/views/survey/components/box/fireSource.vue
index 9261c7f..fe9f2a9 100644
--- a/src/views/survey/components/box/fireSource.vue
+++ b/src/views/survey/components/box/fireSource.vue
@@ -1,25 +1,63 @@
-<!--
- * @Author: shuishen 1109946754@qq.com
- * @Date: 2023-03-13 14:54:26
- * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-11-01 09:54:15
- * @FilePath: \bigScreen\src\views\survey\components\box\fireSource.vue
- * @Description: 
- * 
- * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
--->
 <script setup>
-import publicContent from './publicContent.vue'
+import { Text } from 'vue'
 const { VITE_APP_BASE } = import.meta.env
 import { getDetail } from '@/api/indParkInfo'
 
-import { ref, reactive } from 'vue'
+import { getAssetsFile } from 'utils/utils'
 
 let state = reactive({
   parkInfo: {}
 })
 
+// 企业信息统计数组
+let parkInfoList = reactive([
+  {
+    id: 1,
+    name: 'plaArea',
+    title: '园区面积',
+    content: '1000',
+    unit: '公顷',
+    img: getAssetsFile('yq-mj.png', '/bgicon')
+  },
+  {
+    id: 2,
+    name: 'recNum',
+    title: '救援人员数量',
+    content: '1000',
+    unit: '人',
+    img: getAssetsFile('yq-jy.png', '/bgicon')
 
+  },
+  {
+    id: 3,
+    name: 'riskFirmNum',
+    title: '风险企业数量',
+    content: '1000',
+    img: getAssetsFile('yq-fx.png', '/bgicon')
+  },
+  {
+    id: 4,
+    name: 'proTarNum',
+    title: '保护目标数量',
+    content: '1000',
+    img: getAssetsFile('yq-bh.png', '/bgicon')
+  },
+  {
+    id: 5,
+    name: 'spaceNum',
+    title: '应急空间数量',
+    content: '1000',
+    img: getAssetsFile('yq-yj.png', '/bgicon')
+  },
+  {
+    id: 6,
+    name: 'firmNum',
+    title: '企业数量',
+    content: '1000',
+    img: getAssetsFile('yq-qy.png', '/bgicon')
+  }
+]
+)
 
 // 初始化
 onMounted(() => {
@@ -30,7 +68,13 @@
 function getData () {
   getDetail().then(res => {
     state.parkInfo = res.data.data
-    // console.log("************************", parkInfo)
+    parkInfoList.forEach(item => {
+      if (item.name == 'plaArea') {
+        state.parkInfo[item.name] && (item.content = (state.parkInfo[item.name] * 100).toFixed(2))
+      } else {
+        state.parkInfo[item.name] && (item.content = state.parkInfo[item.name])
+      }
+    })
   }).catch(err => {
     console.log(err)
   })
@@ -41,165 +85,38 @@
 </script>
 
 <template>
-  <public-content>
-    <template #content>
-      <div class="box-content-box">
-        <div class="box-content">
-          <div>
-            <div class="box-content-img">
-              <img :src="state.parkInfo.imageUrls" alt="">
-            </div>
-          </div>
-          <div class="box-content-text-remark">
-            <div class="box-content-text">
-              {{ state.parkInfo.remark }}
-            </div>
-          </div>
+  <div class="box-content-box">
+    <div class="box-content">
+      <div>
+        <div class="box-content-img">
+          <img :src="state.parkInfo.imageUrls" alt="">
+          {{ state.parkInfo.remark }}
         </div>
-
-        <div class="container">
-          <div class="box-content-sj">
-            <img :src="VITE_APP_BASE + 'images/雨量站@2x.png'" alt="">
-            <div>
-              <div class="box-content-ss">
-                <div>
-                  <div class="box-content-text-title">
-                    <span class="box-content-text-title-span">{{ state.parkInfo.plaArea }}</span>
-                  </div>
-                </div>
-                <div>
-                  <div class="box-content-text-content">
-                    <span class="box-content-text-content-span">园区面积 (公顷)</span>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-
-          <div class="box-content-sj">
-            <img :src="VITE_APP_BASE + 'images/雨量站@2x.png'" alt="">
-            <div>
-              <div class="box-content-ss">
-                <div>
-                  <div class="box-content-text-title">
-                    <span class="box-content-text-title-span">{{ state.parkInfo.recNum }}</span>
-                  </div>
-                </div>
-                <div>
-                  <div class="box-content-text-content">
-                    <span class="box-content-text-content-span">救援人员数量</span>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-
-          <div class="box-content-sj">
-            <img src="../../../../../public/images/雨量站@2x.png" alt="">
-            <div>
-              <div class="box-content-ss">
-                <div>
-                  <div class="box-content-text-title">
-                    <span class="box-content-text-title-span">{{ state.parkInfo.riskFirmNum }}</span>
-                  </div>
-                </div>
-                <div>
-                  <div class="box-content-text-content">
-                    <span class="box-content-text-content-span">风险企业数量</span>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-
-          <div class="box-content-sj">
-            <img src="../../../../../public/images/雨量站@2x.png" alt="">
-            <div>
-              <div class="box-content-ss">
-                <div>
-                  <div class="box-content-text-title">
-                    <span class="box-content-text-title-span">{{ state.parkInfo.proTarNum }}</span>
-                  </div>
-                </div>
-                <div>
-                  <div class="box-content-text-content">
-                    <span class="box-content-text-content-span">保护目标数量</span>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-
-          <div class="box-content-sj">
-            <img src="../../../../../public/images/雨量站@2x.png" alt="">
-            <div>
-              <div class="box-content-ss">
-                <div>
-                  <div class="box-content-text-title">
-                    <span class="box-content-text-title-span">{{ state.parkInfo.spaceNum }}</span>
-                  </div>
-                </div>
-                <div>
-                  <div class="box-content-text-content">
-                    <span class="box-content-text-content-span">应急空间数量</span>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-
-          <div class="box-content-sj">
-            <img src="../../../../../public/images/雨量站@2x.png" alt="">
-            <div>
-              <div class="box-content-ss">
-                <div>
-                  <div class="box-content-text-title">
-                    <span class="box-content-text-title-span">{{ state.parkInfo.firmNum }}</span>
-                  </div>
-                </div>
-                <div>
-                  <div class="box-content-text-content">
-                    <span class="box-content-text-content-span">企业数量</span>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-
-
-        <div class="content-qy-info">
-          <div class="box-content-title">
-            <img src="../../../../../public/images/雨量站@2x.png" alt="">
-            <div class="box-content-title-text">
-              <span class="box-content-title-text-span">企业</span>
-            </div>
-          </div>
-
-          <div class="box-content-title">
-            <img src="../../../../../public/images/雨量站@2x.png" alt="">
-            <div class="box-content-title-text">
-              <span class="box-content-title-text-span">分区</span>
-            </div>
-          </div>
-
-          <div class="box-content-title">
-            <img src="../../../../../public/images/雨量站@2x.png" alt="">
-            <div class="box-content-title-text">
-              <span class="box-content-title-text-span">图层</span>
-            </div>
-          </div>
-
-        </div>
-
-
       </div>
-    </template>
-  </public-content>
+    </div>
+
+    <div class="container">
+      <div class="box-content-sj" v-for="item in parkInfoList" :key="item.id">
+        <img :src="item.img" alt="">
+
+        <div class="r">
+          <div class="box-content-text-title">
+            {{ item.content }}
+          </div>
+
+          <div class="box-content-text-content">
+            {{ item.title }}
+            <text v-if="item.unit">({{ item.unit }})</text>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
 </template>
 
 <style lang="scss" scoped>
 .box-content-box {
+  padding: 10px;
   color: #fff;
   font-size: 15px;
 }
@@ -209,18 +126,17 @@
   justify-content: space-between;
 }
 
-.box-content-text-remark {}
-
-.content-qy-info {
-  display: flex;
-  justify-content: space-between;
-  text-align: center;
-  margin-top: 15px;
+.box-content-img {
+  height: 360px;
+  overflow-x: hidden;
+  overflow-y: auto;
 }
 
 .box-content-img img {
+  float: left;
   margin: 5px;
   /* 宽度可以根据实际情况调整 */
+  width: 120px;
   height: 120px;
 }
 
@@ -231,7 +147,7 @@
 
 .box-content-text {
   padding-left: 5px;
-  height: 130px;
+  height: 360px;
   overflow: scroll;
   // 隐藏滚动条
   scrollbar-width: none;
@@ -239,42 +155,48 @@
 }
 
 .container {
+  margin-top: 10px;
   display: flex;
+  justify-content: space-around;
   flex-wrap: wrap;
   gap: 5px;
 }
 
 .box-content-sj {
-  flex: 1 1 31%;
   /* 每个盒子占据大约31%的宽度,留出一些空间用于间距 */
-  min-width: 100px;
+  min-width: 30%;
   /* 最小宽度,防止在非常小的屏幕上变得太窄 */
   box-sizing: border-box;
-  padding: 5px;
   // border: 1px solid #ccc;
   display: flex;
   // 设置高度
   align-items: center;
-}
+  justify-content: space-between;
 
-.box-content-sj img {
-  max-width: 60%;
-  height: 60px;
-}
+  img {
+    width: 36px;
+    height: 36px;
+    vertical-align: middle;
+  }
 
-.box-content-ss {
-  margin: 0px 0px 0px 10px;
-}
+  .r {
+    margin-left: 6px;
+    flex: 1;
+    display: flex;
+    flex-direction: column;
+    justify-content: space-around;
 
-.box-content-text-title,
-.box-content-text-content {
-  margin-top: 5px;
-  font-size: 12px;
-  text-align: center;
-}
+    .box-content-text-title,
+    .box-content-text-content {
+      margin-top: 5px;
+      font-size: 10px;
+      text-align: center;
+    }
 
-.box-content-text-title-span,
-.box-content-text-content-span {
-  font-weight: bold;
+    .box-content-text-title {
+      font-size: 16px;
+      font-weight: bold;
+    }
+  }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3