From 65f4b3f007fe452dc2dcc0045577f1cd10dd4e06 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 30 Oct 2024 11:18:20 +0800
Subject: [PATCH] 工具栏,菜单,等更改

---
 src/views/space/index.vue                                    |    0 
 src/views/supplies/index.vue                                 |    0 
 src/views/layout/components/scomponents/tool/location.vue    |   92 +++++++
 src/utils/http.js                                            |    1 
 src/views/equipment/components/box/fireTrend.vue             |    0 
 src/views/supplies/components/box/occurStatistics.vue        |    0 
 src/views/space/components/box/unitContent.vue               |    0 
 src/views/pac/components/box/fireSource.vue                  |    0 
 src/views/supplies/components/rightContainer.vue             |   28 +
 pnpm-lock.yaml                                               |   12 
 src/assets/img/stand.png                                     |    0 
 src/views/space/components/box/fireContent.vue               |    0 
 src/views/supplies/components/box/fireSource.vue             |    0 
 public/images/header.png                                     |    0 
 src/views/pac/components/rightContainer.vue                  |   28 +
 vite.config.js                                               |    6 
 src/views/supplies/components/box/publicContent.vue          |    0 
 src/views/equipment/index.vue                                |    0 
 src/assets/img/satellite.png                                 |    0 
 src/views/pac/index.vue                                      |    0 
 src/views/supplies/components/leftContainer.vue              |    0 
 src/views/layout/components/scomponents/toolList.vue         |  132 ++++++++++
 src/views/pac/components/box/fireTrend.vue                   |    0 
 src/views/supplies/components/box/unitContent.vue            |    0 
 src/router/index.js                                          |   30 +
 src/views/equipment/components/box/dataContent.vue           |    0 
 src/views/space/components/box/fireSource.vue                |    0 
 src/views/supplies/components/box/fireContent.vue            |    0 
 src/views/equipment/components/box/fireSource.vue            |    0 
 src/views/space/components/box/occurStatistics.vue           |    0 
 src/views/layout/components/scomponents/tool/exportScene.vue |   12 
 src/views/pac/components/box/dataContent.vue                 |    0 
 src/views/equipment/components/box/occurStatistics.vue       |    0 
 src/views/supplies/components/box/fireTrend.vue              |    0 
 src/views/equipment/components/box/fireContent.vue           |    0 
 src/views/pac/components/box/unitContent.vue                 |    0 
 src/views/pac/components/box/publicContent.vue               |    0 
 src/views/space/components/leftContainer.vue                 |    0 
 src/views/layout/components/mainMenu.vue                     |   16 
 src/utils/getViewer.js                                       |   16 +
 src/utils/utils.js                                           |   15 +
 src/views/layout/components/mainTool.vue                     |   56 +---
 src/views/space/components/box/publicContent.vue             |    0 
 src/views/equipment/components/leftContainer.vue             |    0 
 src/views/supplies/components/box/dataContent.vue            |    0 
 src/views/space/components/rightContainer.vue                |   28 +
 src/views/equipment/components/box/publicContent.vue         |    0 
 src/views/space/components/box/fireTrend.vue                 |    0 
 src/views/equipment/components/rightContainer.vue            |   28 +
 src/styles/base/container.scss                               |    4 
 src/views/pac/components/box/fireContent.vue                 |    0 
 /dev/null                                                    |   30 --
 src/components/global/publicBox.vue                          |   59 ++++
 src/views/pac/components/box/occurStatistics.vue             |    0 
 package.json                                                 |    1 
 src/views/equipment/components/box/unitContent.vue           |    0 
 src/views/layout/components/scomponents/baseMap.vue          |  155 ++++++-----
 src/views/pac/components/leftContainer.vue                   |    0 
 src/views/space/components/box/dataContent.vue               |    0 
 59 files changed, 547 insertions(+), 202 deletions(-)

diff --git a/package.json b/package.json
index 77689ff..f79ce45 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,7 @@
     "vue-router": "^4.4.5"
   },
   "devDependencies": {
+    "@vitejs/plugin-basic-ssl": "^1.1.0",
     "@vitejs/plugin-vue": "^5.1.4",
     "sass": "^1.80.4",
     "sass-loader": "^16.0.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 81fa315..afc4342 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -40,6 +40,9 @@
     version: 4.4.5(vue@3.5.12)
 
 devDependencies:
+  '@vitejs/plugin-basic-ssl':
+    specifier: ^1.1.0
+    version: 1.1.0(vite@5.4.10)
   '@vitejs/plugin-vue':
     specifier: ^5.1.4
     version: 5.1.4(vite@5.4.10)(vue@3.5.12)
@@ -717,6 +720,15 @@
     resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
     dev: false
 
+  /@vitejs/plugin-basic-ssl@1.1.0(vite@5.4.10):
+    resolution: {integrity: sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==}
+    engines: {node: '>=14.6.0'}
+    peerDependencies:
+      vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+    dependencies:
+      vite: 5.4.10(sass@1.80.4)(terser@5.31.1)
+    dev: true
+
   /@vitejs/plugin-vue@5.1.4(vite@5.4.10)(vue@3.5.12):
     resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==}
     engines: {node: ^18.0.0 || >=20.0.0}
diff --git a/public/images/header.png b/public/images/header.png
index cf41b4c..7ba2250 100644
--- a/public/images/header.png
+++ b/public/images/header.png
Binary files differ
diff --git a/src/assets/img/satellite.png b/src/assets/img/satellite.png
new file mode 100644
index 0000000..8808789
--- /dev/null
+++ b/src/assets/img/satellite.png
Binary files differ
diff --git a/src/assets/img/stand.png b/src/assets/img/stand.png
new file mode 100644
index 0000000..bb86b66
--- /dev/null
+++ b/src/assets/img/stand.png
Binary files differ
diff --git a/src/components/global/publicBox.vue b/src/components/global/publicBox.vue
new file mode 100644
index 0000000..1f8ca2f
--- /dev/null
+++ b/src/components/global/publicBox.vue
@@ -0,0 +1,59 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2024-10-29 13:33:11
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2024-10-29 19:58:45
+ * @FilePath: \bigScreen\src\components\global\publicBox.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2024 by shuishen, All Rights Reserved. 
+-->
+<template>
+  <div class="map-layers-change-box">
+    <div class="title">
+      <slot name="name"></slot>
+      <slot name="close"></slot>
+    </div>
+
+    <div class="content">
+      <slot name="content"></slot>
+    </div>
+  </div>
+</template>
+
+<script setup>
+
+</script>
+
+<script>
+export default {
+  name: 'publicBox'
+}
+</script>
+
+<style lang="scss" scoped>
+.map-layers-change-box {
+  position: absolute;
+  right: 540px;
+  z-index: 99;
+  top: 152px;
+  border: 1px solid #4081CB;
+  border-radius: 4px;
+  background: rgba(30, 36, 50, 0.6);
+  box-shadow: inset 0px 3px 7px 0px rgba(42, 138, 236, 0.95);
+  pointer-events: auto;
+  color: #fff;
+
+  .title {
+    display: flex;
+    justify-content: space-between;
+    padding: 0 10px;
+    border-bottom: 1px solid;
+    border-color: rgba(32, 160, 255, 0.3);
+    height: 40px;
+    line-height: 40px;
+    color: #FFFFFF;
+    font-size: 16px;
+  }
+}
+</style>
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index 887aef7..0ff1b79 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2024-10-25 16:35:31
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-10-25 19:13:08
+ * @LastEditTime: 2024-10-29 17:48:52
  * @FilePath: \bigScreen\src\router\index.js
  * @Description: 
  * 
@@ -24,23 +24,37 @@
       {
         path: 'survey',
         meta: {
-          title: 'survey'
+          title: '园区概况'
         },
         component: () => import('@/views/survey/index.vue')
       },
       {
-        path: 'env',
+        path: 'space',
         meta: {
-          title: '环境监测'
+          title: '应急空间'
         },
-        component: () => import('@/views/env/index.vue')
+        component: () => import('@/views/space/index.vue')
       },
       {
-        path: 'monitoring',
+        path: 'supplies',
         meta: {
-          title: '视频监控'
+          title: '应急物资'
         },
-        component: () => import('@/views/monitoring/index.vue')
+        component: () => import('@/views/supplies/index.vue')
+      },
+      {
+        path: 'equipment',
+        meta: {
+          title: '应急设备'
+        },
+        component: () => import('@/views/equipment/index.vue')
+      },
+      {
+        path: 'pac',
+        meta: {
+          title: '三级防控'
+        },
+        component: () => import('@/views/pac/index.vue')
       }
     ]
   },
diff --git a/src/styles/base/container.scss b/src/styles/base/container.scss
index 9fd9263..21c003e 100644
--- a/src/styles/base/container.scss
+++ b/src/styles/base/container.scss
@@ -13,4 +13,8 @@
 #app {
   width: 100%;
   height: 100%;
+}
+
+.cursor-p {
+  cursor: pointer;
 }
\ No newline at end of file
diff --git a/src/utils/getViewer.js b/src/utils/getViewer.js
new file mode 100644
index 0000000..280e41a
--- /dev/null
+++ b/src/utils/getViewer.js
@@ -0,0 +1,16 @@
+/*
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2024-10-29 15:30:08
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2024-10-29 15:31:44
+ * @FilePath: \bigScreen\src\utils\getViewer.js
+ * @Description: 
+ * 
+ * Copyright (c) 2024 by shuishen, All Rights Reserved. 
+ */
+export const getViewer = () => {
+  const { appContext } = getCurrentInstance()
+  const global = appContext.config.globalProperties
+
+  return global.$viewer
+}
\ No newline at end of file
diff --git a/src/utils/http.js b/src/utils/http.js
index 804c9be..7c162c2 100644
--- a/src/utils/http.js
+++ b/src/utils/http.js
@@ -38,6 +38,7 @@
 //http request拦截
 axios.interceptors.request.use(
   config => {
+    console.log(config, '906456456465')
     // start progress bar
     NProgress.start()
     // 初始化错误提示状态
diff --git a/src/utils/initMap.js b/src/utils/initMap.js
deleted file mode 100644
index 3c6cb06..0000000
--- a/src/utils/initMap.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * @Author: shuishen 1109946754@qq.com
- * @Date: 2024-10-25 15:09:55
- * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-10-28 12:02:38
- * @FilePath: \bigScreen\src\utils\initMap.js
- * @Description: 
- * 
- * Copyright (c) 2024 by shuishen, All Rights Reserved. 
- */
-import { reactive } from "vue"
-
-let viewer = reactive(null)
-const { VITE_APP_BASE } = import.meta.env
-
-function initViewer () {
-  viewer = new DC.Viewer('viewer-container')
-
-  console.log(viewer, window, 1111)
-}
-
-export function readyViewer () {
-  DC.ready({
-    baseUrl: `${VITE_APP_BASE}/libs/dc-sdk/resources/`
-  }).then(initViewer)
-}
-
-export function getViewer () {
-  return viewer
-}
\ No newline at end of file
diff --git a/src/utils/utils.js b/src/utils/utils.js
new file mode 100644
index 0000000..99f75e2
--- /dev/null
+++ b/src/utils/utils.js
@@ -0,0 +1,15 @@
+/*
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2024-10-29 19:46:37
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2024-10-29 19:50:09
+ * @FilePath: \bigScreen\src\utils\utils.js
+ * @Description: 
+ * 
+ * Copyright (c) 2024 by shuishen, All Rights Reserved. 
+ */
+// 获取assets静态资源
+export const getAssetsFile = (url) => {
+  console.log(import.meta.url, 1222222)
+  return new URL(`../assets/img/${url}`, import.meta.url).href
+}
\ No newline at end of file
diff --git a/src/views/env/components/box/dataContent.vue b/src/views/equipment/components/box/dataContent.vue
similarity index 100%
copy from src/views/env/components/box/dataContent.vue
copy to src/views/equipment/components/box/dataContent.vue
diff --git a/src/views/env/components/box/fireContent.vue b/src/views/equipment/components/box/fireContent.vue
similarity index 100%
copy from src/views/env/components/box/fireContent.vue
copy to src/views/equipment/components/box/fireContent.vue
diff --git a/src/views/env/components/box/fireSource.vue b/src/views/equipment/components/box/fireSource.vue
similarity index 100%
copy from src/views/env/components/box/fireSource.vue
copy to src/views/equipment/components/box/fireSource.vue
diff --git a/src/views/env/components/box/fireTrend.vue b/src/views/equipment/components/box/fireTrend.vue
similarity index 100%
copy from src/views/env/components/box/fireTrend.vue
copy to src/views/equipment/components/box/fireTrend.vue
diff --git a/src/views/env/components/box/occurStatistics.vue b/src/views/equipment/components/box/occurStatistics.vue
similarity index 100%
copy from src/views/env/components/box/occurStatistics.vue
copy to src/views/equipment/components/box/occurStatistics.vue
diff --git a/src/views/env/components/box/publicContent.vue b/src/views/equipment/components/box/publicContent.vue
similarity index 100%
copy from src/views/env/components/box/publicContent.vue
copy to src/views/equipment/components/box/publicContent.vue
diff --git a/src/views/env/components/box/unitContent.vue b/src/views/equipment/components/box/unitContent.vue
similarity index 100%
copy from src/views/env/components/box/unitContent.vue
copy to src/views/equipment/components/box/unitContent.vue
diff --git a/src/views/env/components/leftContainer.vue b/src/views/equipment/components/leftContainer.vue
similarity index 100%
copy from src/views/env/components/leftContainer.vue
copy to src/views/equipment/components/leftContainer.vue
diff --git a/src/views/env/components/rightContainer.vue b/src/views/equipment/components/rightContainer.vue
similarity index 73%
rename from src/views/env/components/rightContainer.vue
rename to src/views/equipment/components/rightContainer.vue
index 8e8592b..67eb54e 100644
--- a/src/views/env/components/rightContainer.vue
+++ b/src/views/equipment/components/rightContainer.vue
@@ -2,8 +2,8 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2023-03-10 15:27:59
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-10-25 18:41:28
- * @FilePath: \bigScreen\src\views\statistics\components\rightContainer.vue
+ * @LastEditTime: 2024-10-26 14:49:05
+ * @FilePath: \bigScreen\src\views\survey\components\rightContainer.vue
  * @Description: 
  * 
  * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
@@ -18,23 +18,29 @@
 <template>
   <div class="right-container">
     <div class="fire-source box">
-      <div class="title-box">
-        火警事件来源
-      </div>
+      <title-box>
+        <template #titleName>
+          火警事件来源
+        </template>
+      </title-box>
       <fire-source></fire-source>
     </div>
 
     <div class="occur-statistics box">
-      <div class="title-box">
-        易发区统计
-      </div>
+      <title-box>
+        <template #titleName>
+          易发区统计
+        </template>
+      </title-box>
       <fire-trend></fire-trend>
     </div>
 
     <div class="fire-trend box">
-      <div class="title-box">
-        火警上报趋势
-      </div>
+      <title-box>
+        <template #titleName>
+          火警上报趋势
+        </template>
+      </title-box>
       <occur-statistics></occur-statistics>
     </div>
   </div>
diff --git a/src/views/env/index.vue b/src/views/equipment/index.vue
similarity index 100%
copy from src/views/env/index.vue
copy to src/views/equipment/index.vue
diff --git a/src/views/layout/components/mainMenu.vue b/src/views/layout/components/mainMenu.vue
index 84576eb..5078cde 100644
--- a/src/views/layout/components/mainMenu.vue
+++ b/src/views/layout/components/mainMenu.vue
@@ -22,12 +22,20 @@
       path: '/layout/survey'
     },
     {
-      menuName: '环境监测',
-      path: '/layout/env'
+      menuName: '应急空间',
+      path: '/layout/space'
     },
     {
-      menuName: '视频监控',
-      path: '/layout/monitoring'
+      menuName: '应急物资',
+      path: '/layout/supplies'
+    },
+    {
+      menuName: '应急设备',
+      path: '/layout/equipment'
+    },
+    {
+      menuName: '三级防控',
+      path: '/layout/pac'
     },
   ]
 )
diff --git a/src/views/layout/components/mainTool.vue b/src/views/layout/components/mainTool.vue
index 50c0a70..2ae6bdc 100644
--- a/src/views/layout/components/mainTool.vue
+++ b/src/views/layout/components/mainTool.vue
@@ -6,53 +6,17 @@
     </el-button>
   </div>
 
-  <base-map v-show="showBaseMap" @close="closeBaseMap"></base-map>
+  <base-map v-show="showBaseMap" @close="closeBox"></base-map>
 
-  <ul v-show="moreToolShow" class="dropdown-menu dropdown-menu-right toolBarRight-dropdown-menu" style="">
-    <li class="widget-btn" data-widget="widgets/measure/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-calculator"></i>图上量算</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/analysis/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-bar-chart"></i>空间分析</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/centerXY/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-map-pin"></i>坐标定位</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/navXZQH/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-paper-plane"></i>地区导航</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/addmarker/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-edit"></i>我的标记</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/bookmark/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-tags"></i>视角书签</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/print/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-print"></i>地图打印</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/plot/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-object-group"></i>图上标绘</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/roamLine/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-send-o"></i>飞行漫游</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/queryRoute/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-level-up"></i>路线导航</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/mapSplit/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-columns"></i>卷帘对比</a>
-    </li>
-    <li class="widget-btn" data-widget="widgets/mapCompare/widget.js">
-      <a href="javascript:void(0)"><i class="fa fa-window-restore"></i>分屏对比</a>
-    </li>
-  </ul>
+  <tool-list :moreToolShow="moreToolShow" @close="closeBox"></tool-list>
 </template>
 
 <script setup>
 import baseMap from './scomponents/baseMap.vue'
-let moreToolShow = ref(false)
+import toolList from './scomponents/toolList.vue'
 
 let showBaseMap = ref(false)
+let moreToolShow = ref(false)
 
 const btnGroup = [
   {
@@ -76,11 +40,19 @@
 
   if (item.key == 'map') {
     showBaseMap.value = !showBaseMap.value
-    moreToolShow.value = false
+
+  }
+
+  if (item.key == 'tool') {
+    moreToolShow.value = !moreToolShow.value
   }
 }
 
-const closeBaseMap = () => showBaseMap.value = false
+const closeBox = (type) => {
+  if (type == 'map') showBaseMap.value = false
+
+  if (type == 'tool') moreToolShow.value = false
+}
 </script>
 
 <style lang="scss" scoped>
diff --git a/src/views/layout/components/scomponents/baseMap.vue b/src/views/layout/components/scomponents/baseMap.vue
index 85430ef..7d5f699 100644
--- a/src/views/layout/components/scomponents/baseMap.vue
+++ b/src/views/layout/components/scomponents/baseMap.vue
@@ -2,20 +2,23 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2024-10-28 11:44:45
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-10-29 00:05:47
+ * @LastEditTime: 2024-10-29 20:50:40
  * @FilePath: \bigScreen\src\views\layout\components\scomponents\baseMap.vue
  * @Description: 
  * 
  * Copyright (c) 2024 by shuishen, All Rights Reserved. 
 -->
 <template>
-  <div class="map-layers-change-box">
-    <div class="title">
+  <public-box>
+    <template #name>
       <div class="name"><i class="fa fa-map"></i>&nbsp;底图</div>
-      <div class="close" @click="$emit('close')"><i class="fa fa-close"></i></div>
-    </div>
+    </template>
 
-    <div class="content">
+    <template #close>
+      <div class="close" @click="$emit('close', 'map')"><i class="fa fa-close"></i></div>
+    </template>
+
+    <template #content>
       <div class="layers-box-content">
         <ul class="layers-box">
           <li :class="{ on: item.mode == curMode }" v-for="item, index in baseMaps" :key="index"
@@ -26,18 +29,23 @@
         </ul>
       </div>
 
-      <div class="checkbox checkbox-primary checkbox-inline" style="margin-left:10px;color:#fff"><input
-          id="chkHasTerrain" class="styled" type="checkbox"> <label for="chkHasTerrain">显示地形</label></div>
-    </div>
-  </div>
+      <div class="show-terrain" style="margin-left:10px;color:#fff">
+        <el-checkbox @change="terrainChange" v-model="showTerrainFlag" label="显示地形" size="large" />
+      </div>
+    </template>
+  </public-box>
 </template>
 
 <script setup>
+import { getAssetsFile } from 'utils/utils'
 import AmapMercatorTilingScheme from './cesium/AmapMercatorTilingScheme/index'
 
 const { appContext } = getCurrentInstance()
 const global = appContext.config.globalProperties
 const Cesium = DC.getLib('Cesium')
+const cesiumToken =
+  'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M'
+Cesium.Ion.defaultAccessToken = cesiumToken
 
 const TDT_Token = 'c6eea7dad4fa1e2d1e32ec0e7c9735db'
 // 天地图Key
@@ -166,7 +174,7 @@
 
 let mapLayers = [
   {
-    src: '',
+    src: getAssetsFile('stand.png'),
     mode: '0',
     name: '天地图矢量',
     layers: [
@@ -175,7 +183,7 @@
     ]
   },
   {
-    src: '',
+    src: getAssetsFile('satellite.png'),
     mode: '1',
     name: '天地图影像',
     layers: [
@@ -187,7 +195,7 @@
     ]
   },
   {
-    src: '',
+    src: getAssetsFile('stand.png'),
     mode: '2',
     name: '高德矢量',
     layers: [
@@ -198,7 +206,7 @@
     ]
   },
   {
-    src: '',
+    src: getAssetsFile('satellite.png'),
     mode: '3',
     name: '高德影像',
     layers: [
@@ -268,78 +276,79 @@
 }
 
 loadLAYER(0, 0)
+
+const showTerrainFlag = ref(false)
+
+const terrainChange = (e) => {
+  if (e) {
+    let terrain = DC.TerrainFactory.createTerrain(DC.TerrainType.XYZ, {
+      url: 'https://data.marsgis.cn/terrain'
+    })
+    global.$viewer.setTerrain(terrain)
+  } else {
+    global.$viewer.setTerrain()
+  }
+} 
 </script>
 
 <style lang="scss" scoped>
-.map-layers-change-box {
-  position: absolute;
-  right: 540px;
-  z-index: 99;
-  top: 152px;
-  border: 1px solid #4081CB;
-  border-radius: 4px;
-  background: rgba(135, 158, 199, 0.3);
-  box-shadow: inset 0px 3px 7px 0px rgba(42, 138, 236, 0.95);
-  pointer-events: auto;
+.close {
+  cursor: pointer;
+}
 
-  .title {
+.layers-box-content {
+  .layers-box {
     display: flex;
     justify-content: space-between;
+    flex-wrap: wrap;
+    width: 354px;
     padding: 0 10px;
-    border-color: rgba(32, 160, 255, 0.3);
-    background: rgba(30, 36, 50, 0.6);
-    height: 40px;
-    line-height: 40px;
-    color: #FFFFFF;
-    font-size: 16px;
+    box-sizing: border-box;
 
-    .close {
+    li {
+      margin-top: 10px;
       cursor: pointer;
-    }
-  }
 
-  .content {
-    .layers-box-content {
-      .layers-box {
-        display: flex;
-        justify-content: space-between;
-        flex-wrap: wrap;
-        width: 354px;
-        padding: 0 10px;
-        box-sizing: border-box;
+      &.on,
+      &:hover {
+        div:first-child {
+          border: solid 2px #337fe5;
+        }
 
-        li {
-          margin-top: 10px;
-          cursor: pointer;
-
-          &.on,
-          &:hover {
-            div:first-child {
-              border: solid 2px #337fe5;
-            }
-
-            div:last-child {
-              color: #337fe5;
-            }
-          }
-
-          div:first-child {
-            width: 76px;
-            height: 76px;
-            background: red;
-            border: 2px solid white;
-            box-sizing: border-box;
-          }
-
-          div:last-child {
-            width: 76px;
-            height: 20px;
-            line-height: 20px;
-            font-size: 12px;
-            text-align: center;
-          }
+        div:last-child {
+          color: #337fe5;
         }
       }
+
+      div:first-child {
+        width: 76px;
+        height: 76px;
+        background: red;
+        border: 2px solid white;
+        box-sizing: border-box;
+
+        img {
+          width: 100%;
+          height: 100%;
+        }
+      }
+
+      div:last-child {
+        width: 76px;
+        height: 20px;
+        line-height: 20px;
+        color: #fff;
+        font-size: 12px;
+        text-align: center;
+      }
+    }
+  }
+}
+
+.show-terrain {
+  ::v-deep(.el-checkbox) {
+    .el-checkbox__label {
+      color: #fff;
     }
   }
 }
diff --git a/src/views/layout/components/scomponents/tool/exportScene.vue b/src/views/layout/components/scomponents/tool/exportScene.vue
new file mode 100644
index 0000000..68bd080
--- /dev/null
+++ b/src/views/layout/components/scomponents/tool/exportScene.vue
@@ -0,0 +1,12 @@
+<template>
+</template>
+
+<script setup>
+import { getViewer } from 'utils/getViewer'
+const globalViewer = getViewer()
+globalViewer.exportScene()
+const emit = defineEmits(['closeChild'])
+emit('closeChild')
+</script>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/src/views/layout/components/scomponents/tool/location.vue b/src/views/layout/components/scomponents/tool/location.vue
new file mode 100644
index 0000000..6642fd8
--- /dev/null
+++ b/src/views/layout/components/scomponents/tool/location.vue
@@ -0,0 +1,92 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2024-10-29 15:48:36
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2024-10-29 19:53:49
+ * @FilePath: \bigScreen\src\views\layout\components\scomponents\tool\location.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2024 by shuishen, All Rights Reserved. 
+-->
+<template>
+  <public-box style="z-index: 100;">
+    <template #name>
+      <div class="name"><i class="fa fa-map-pin"></i>&nbsp;底图</div>
+    </template>
+
+    <template #close>
+      <div class="close cursor-p" @click="$emit('closeChild')"><i class="fa fa-close"></i></div>
+    </template>
+
+    <template #content>
+      <div class="cur-content">
+        <div>
+          <span>经度:</span>
+          <el-input v-model="longitude" size="small" placeholder="请输入经度" />
+        </div>
+        <div>
+          <span>纬度:</span>
+          <el-input v-model="latitude" size="small" placeholder="请输入纬度" />
+        </div>
+        <div>
+          <span>高度:</span>
+          <el-input v-model="height" size="small" placeholder="请输入高度" />
+        </div>
+      </div>
+
+      <div class="cur-btn">
+        <el-button color="rgba(13,100,167,.8)" @click="flyTo" type="primary" size="small">坐标定位</el-button>
+      </div>
+    </template>
+  </public-box>
+</template>
+
+<script setup>
+const longitude = ref(0)
+const latitude = ref(0)
+const height = ref(0)
+
+import { getViewer } from 'utils/getViewer'
+const globalViewer = getViewer()
+
+const flyTo = () => {
+  globalViewer.flyToPosition(new DC.Position(longitude.value, latitude.value, height.value, 0, -90, 0), () => { }, 3)
+}
+</script>
+
+<style lang="scss" scoped>
+.cur-content {
+  &>div {
+    margin-top: 10px;
+    padding: 0 10px;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+
+    span {
+      width: 54px;
+    }
+
+    ::v-deep(.el-input) {
+      border: none !important;
+
+      .el-input__wrapper {
+        background: rgba(63, 72, 84, .7) !important;
+        border: none !important;
+        box-shadow: none;
+
+        input {
+          color: #fff;
+        }
+      }
+    }
+  }
+}
+
+.cur-btn {
+  margin: 10px 0;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/layout/components/scomponents/toolList.vue b/src/views/layout/components/scomponents/toolList.vue
new file mode 100644
index 0000000..1ad59ca
--- /dev/null
+++ b/src/views/layout/components/scomponents/toolList.vue
@@ -0,0 +1,132 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2024-10-29 14:20:49
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2024-10-29 17:21:51
+ * @FilePath: \bigScreen\src\views\layout\components\scomponents\toolList.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2024 by shuishen, All Rights Reserved. 
+-->
+<template>
+  <ul v-show="moreToolShow" class="tool-list-box">
+    <li @click="showComponent(item.component)" v-for="item, index in components" :key="index">
+      <i :class="item.icon"></i> {{ item.title }}
+    </li>
+  </ul>
+
+  <component :is="currentComponent" v-if="currentComponent" @closeChild="closeComponent" />
+</template>
+
+<script setup>
+const { moreToolShow } = defineProps({
+  moreToolShow: {
+    type: Boolean, //参数类型
+    default: false, //默认值
+    required: true, //是否必须传递
+  }
+})
+import location from './tool/location.vue'
+import exportScene from './tool/exportScene.vue'
+import { getViewer } from 'utils/getViewer'
+import component from 'element-plus/es/components/tree-select/src/tree-select-option.mjs'
+const emit = defineEmits(['close'])
+const globalViewer = getViewer()
+
+let currentComponent = shallowRef(null)
+const components = [
+  {
+    icon: 'fa fa-calculator',
+    title: '图上量算',
+  },
+  {
+    icon: 'fa fa-bar-chart',
+    title: '空间分析',
+  },
+  {
+    name: 'location',
+    icon: 'fa fa-map-pin',
+    title: '坐标定位',
+    component: location
+  },
+  {
+    icon: 'fa fa-paper-plane',
+    title: '地区导航',
+  },
+  {
+    icon: 'fa fa-edit',
+    title: '我的标记',
+  },
+  {
+    icon: 'fa fa-tags',
+    title: '视角书签',
+  },
+  {
+    name: 'exportScene',
+    icon: 'fa fa-download',
+    title: '场景导出',
+    component: exportScene
+  },
+  {
+    icon: 'fa fa-object-group',
+    title: '图上标绘',
+  },
+  {
+    icon: 'fa fa-helicopter',
+    title: '飞行漫游',
+  },
+  {
+    icon: 'fa fa-level-up',
+    title: '路线导航',
+  },
+  {
+    icon: 'fa fa-columns',
+    title: '卷帘对比',
+  },
+  {
+    icon: 'fa fa-window-restore',
+    title: '分屏对比',
+  },
+]
+
+const showComponent = (component) => {
+  currentComponent.value = component
+  emit('close', 'tool')
+}
+
+const closeComponent = () => {
+  currentComponent.value = null
+}
+</script>
+
+<style lang="scss" scoped>
+.tool-list-box {
+  position: absolute;
+  right: 540px;
+  z-index: 101;
+  top: 152px;
+  background: rgba(63, 72, 84, .7);
+  pointer-events: auto;
+
+  li {
+    padding: 6px 10px;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    color: #fff;
+    cursor: pointer;
+
+    i {
+      margin-right: 5px;
+    }
+  }
+
+  li:hover {
+    background: #4db3ff;
+  }
+
+  li:first-child {
+    margin-top: 0;
+  }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/env/components/box/dataContent.vue b/src/views/pac/components/box/dataContent.vue
similarity index 100%
rename from src/views/env/components/box/dataContent.vue
rename to src/views/pac/components/box/dataContent.vue
diff --git a/src/views/env/components/box/fireContent.vue b/src/views/pac/components/box/fireContent.vue
similarity index 100%
rename from src/views/env/components/box/fireContent.vue
rename to src/views/pac/components/box/fireContent.vue
diff --git a/src/views/env/components/box/fireSource.vue b/src/views/pac/components/box/fireSource.vue
similarity index 100%
rename from src/views/env/components/box/fireSource.vue
rename to src/views/pac/components/box/fireSource.vue
diff --git a/src/views/env/components/box/fireTrend.vue b/src/views/pac/components/box/fireTrend.vue
similarity index 100%
rename from src/views/env/components/box/fireTrend.vue
rename to src/views/pac/components/box/fireTrend.vue
diff --git a/src/views/env/components/box/occurStatistics.vue b/src/views/pac/components/box/occurStatistics.vue
similarity index 100%
rename from src/views/env/components/box/occurStatistics.vue
rename to src/views/pac/components/box/occurStatistics.vue
diff --git a/src/views/env/components/box/publicContent.vue b/src/views/pac/components/box/publicContent.vue
similarity index 100%
rename from src/views/env/components/box/publicContent.vue
rename to src/views/pac/components/box/publicContent.vue
diff --git a/src/views/env/components/box/unitContent.vue b/src/views/pac/components/box/unitContent.vue
similarity index 100%
rename from src/views/env/components/box/unitContent.vue
rename to src/views/pac/components/box/unitContent.vue
diff --git a/src/views/env/components/leftContainer.vue b/src/views/pac/components/leftContainer.vue
similarity index 100%
rename from src/views/env/components/leftContainer.vue
rename to src/views/pac/components/leftContainer.vue
diff --git a/src/views/env/components/rightContainer.vue b/src/views/pac/components/rightContainer.vue
similarity index 73%
copy from src/views/env/components/rightContainer.vue
copy to src/views/pac/components/rightContainer.vue
index 8e8592b..67eb54e 100644
--- a/src/views/env/components/rightContainer.vue
+++ b/src/views/pac/components/rightContainer.vue
@@ -2,8 +2,8 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2023-03-10 15:27:59
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-10-25 18:41:28
- * @FilePath: \bigScreen\src\views\statistics\components\rightContainer.vue
+ * @LastEditTime: 2024-10-26 14:49:05
+ * @FilePath: \bigScreen\src\views\survey\components\rightContainer.vue
  * @Description: 
  * 
  * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
@@ -18,23 +18,29 @@
 <template>
   <div class="right-container">
     <div class="fire-source box">
-      <div class="title-box">
-        火警事件来源
-      </div>
+      <title-box>
+        <template #titleName>
+          火警事件来源
+        </template>
+      </title-box>
       <fire-source></fire-source>
     </div>
 
     <div class="occur-statistics box">
-      <div class="title-box">
-        易发区统计
-      </div>
+      <title-box>
+        <template #titleName>
+          易发区统计
+        </template>
+      </title-box>
       <fire-trend></fire-trend>
     </div>
 
     <div class="fire-trend box">
-      <div class="title-box">
-        火警上报趋势
-      </div>
+      <title-box>
+        <template #titleName>
+          火警上报趋势
+        </template>
+      </title-box>
       <occur-statistics></occur-statistics>
     </div>
   </div>
diff --git a/src/views/env/index.vue b/src/views/pac/index.vue
similarity index 100%
rename from src/views/env/index.vue
rename to src/views/pac/index.vue
diff --git a/src/views/env/components/box/dataContent.vue b/src/views/space/components/box/dataContent.vue
similarity index 100%
copy from src/views/env/components/box/dataContent.vue
copy to src/views/space/components/box/dataContent.vue
diff --git a/src/views/env/components/box/fireContent.vue b/src/views/space/components/box/fireContent.vue
similarity index 100%
copy from src/views/env/components/box/fireContent.vue
copy to src/views/space/components/box/fireContent.vue
diff --git a/src/views/env/components/box/fireSource.vue b/src/views/space/components/box/fireSource.vue
similarity index 100%
copy from src/views/env/components/box/fireSource.vue
copy to src/views/space/components/box/fireSource.vue
diff --git a/src/views/env/components/box/fireTrend.vue b/src/views/space/components/box/fireTrend.vue
similarity index 100%
copy from src/views/env/components/box/fireTrend.vue
copy to src/views/space/components/box/fireTrend.vue
diff --git a/src/views/env/components/box/occurStatistics.vue b/src/views/space/components/box/occurStatistics.vue
similarity index 100%
copy from src/views/env/components/box/occurStatistics.vue
copy to src/views/space/components/box/occurStatistics.vue
diff --git a/src/views/env/components/box/publicContent.vue b/src/views/space/components/box/publicContent.vue
similarity index 100%
copy from src/views/env/components/box/publicContent.vue
copy to src/views/space/components/box/publicContent.vue
diff --git a/src/views/env/components/box/unitContent.vue b/src/views/space/components/box/unitContent.vue
similarity index 100%
copy from src/views/env/components/box/unitContent.vue
copy to src/views/space/components/box/unitContent.vue
diff --git a/src/views/env/components/leftContainer.vue b/src/views/space/components/leftContainer.vue
similarity index 100%
copy from src/views/env/components/leftContainer.vue
copy to src/views/space/components/leftContainer.vue
diff --git a/src/views/env/components/rightContainer.vue b/src/views/space/components/rightContainer.vue
similarity index 73%
copy from src/views/env/components/rightContainer.vue
copy to src/views/space/components/rightContainer.vue
index 8e8592b..67eb54e 100644
--- a/src/views/env/components/rightContainer.vue
+++ b/src/views/space/components/rightContainer.vue
@@ -2,8 +2,8 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2023-03-10 15:27:59
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-10-25 18:41:28
- * @FilePath: \bigScreen\src\views\statistics\components\rightContainer.vue
+ * @LastEditTime: 2024-10-26 14:49:05
+ * @FilePath: \bigScreen\src\views\survey\components\rightContainer.vue
  * @Description: 
  * 
  * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
@@ -18,23 +18,29 @@
 <template>
   <div class="right-container">
     <div class="fire-source box">
-      <div class="title-box">
-        火警事件来源
-      </div>
+      <title-box>
+        <template #titleName>
+          火警事件来源
+        </template>
+      </title-box>
       <fire-source></fire-source>
     </div>
 
     <div class="occur-statistics box">
-      <div class="title-box">
-        易发区统计
-      </div>
+      <title-box>
+        <template #titleName>
+          易发区统计
+        </template>
+      </title-box>
       <fire-trend></fire-trend>
     </div>
 
     <div class="fire-trend box">
-      <div class="title-box">
-        火警上报趋势
-      </div>
+      <title-box>
+        <template #titleName>
+          火警上报趋势
+        </template>
+      </title-box>
       <occur-statistics></occur-statistics>
     </div>
   </div>
diff --git a/src/views/env/index.vue b/src/views/space/index.vue
similarity index 100%
copy from src/views/env/index.vue
copy to src/views/space/index.vue
diff --git a/src/views/env/components/box/dataContent.vue b/src/views/supplies/components/box/dataContent.vue
similarity index 100%
copy from src/views/env/components/box/dataContent.vue
copy to src/views/supplies/components/box/dataContent.vue
diff --git a/src/views/env/components/box/fireContent.vue b/src/views/supplies/components/box/fireContent.vue
similarity index 100%
copy from src/views/env/components/box/fireContent.vue
copy to src/views/supplies/components/box/fireContent.vue
diff --git a/src/views/env/components/box/fireSource.vue b/src/views/supplies/components/box/fireSource.vue
similarity index 100%
copy from src/views/env/components/box/fireSource.vue
copy to src/views/supplies/components/box/fireSource.vue
diff --git a/src/views/env/components/box/fireTrend.vue b/src/views/supplies/components/box/fireTrend.vue
similarity index 100%
copy from src/views/env/components/box/fireTrend.vue
copy to src/views/supplies/components/box/fireTrend.vue
diff --git a/src/views/env/components/box/occurStatistics.vue b/src/views/supplies/components/box/occurStatistics.vue
similarity index 100%
copy from src/views/env/components/box/occurStatistics.vue
copy to src/views/supplies/components/box/occurStatistics.vue
diff --git a/src/views/env/components/box/publicContent.vue b/src/views/supplies/components/box/publicContent.vue
similarity index 100%
copy from src/views/env/components/box/publicContent.vue
copy to src/views/supplies/components/box/publicContent.vue
diff --git a/src/views/env/components/box/unitContent.vue b/src/views/supplies/components/box/unitContent.vue
similarity index 100%
copy from src/views/env/components/box/unitContent.vue
copy to src/views/supplies/components/box/unitContent.vue
diff --git a/src/views/env/components/leftContainer.vue b/src/views/supplies/components/leftContainer.vue
similarity index 100%
copy from src/views/env/components/leftContainer.vue
copy to src/views/supplies/components/leftContainer.vue
diff --git a/src/views/env/components/rightContainer.vue b/src/views/supplies/components/rightContainer.vue
similarity index 73%
copy from src/views/env/components/rightContainer.vue
copy to src/views/supplies/components/rightContainer.vue
index 8e8592b..67eb54e 100644
--- a/src/views/env/components/rightContainer.vue
+++ b/src/views/supplies/components/rightContainer.vue
@@ -2,8 +2,8 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2023-03-10 15:27:59
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-10-25 18:41:28
- * @FilePath: \bigScreen\src\views\statistics\components\rightContainer.vue
+ * @LastEditTime: 2024-10-26 14:49:05
+ * @FilePath: \bigScreen\src\views\survey\components\rightContainer.vue
  * @Description: 
  * 
  * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
@@ -18,23 +18,29 @@
 <template>
   <div class="right-container">
     <div class="fire-source box">
-      <div class="title-box">
-        火警事件来源
-      </div>
+      <title-box>
+        <template #titleName>
+          火警事件来源
+        </template>
+      </title-box>
       <fire-source></fire-source>
     </div>
 
     <div class="occur-statistics box">
-      <div class="title-box">
-        易发区统计
-      </div>
+      <title-box>
+        <template #titleName>
+          易发区统计
+        </template>
+      </title-box>
       <fire-trend></fire-trend>
     </div>
 
     <div class="fire-trend box">
-      <div class="title-box">
-        火警上报趋势
-      </div>
+      <title-box>
+        <template #titleName>
+          火警上报趋势
+        </template>
+      </title-box>
       <occur-statistics></occur-statistics>
     </div>
   </div>
diff --git a/src/views/env/index.vue b/src/views/supplies/index.vue
similarity index 100%
copy from src/views/env/index.vue
copy to src/views/supplies/index.vue
diff --git a/vite.config.js b/vite.config.js
index 491ff95..5af17bd 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2024-10-25 10:56:27
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-10-28 11:51:46
+ * @LastEditTime: 2024-10-29 21:44:48
  * @FilePath: \bigScreen\vite.config.js
  * @Description: 
  * 
@@ -14,6 +14,7 @@
 import DC from "@dvgis/vite-plugin-dc"
 
 import AutoImport from 'unplugin-auto-import/vite'
+import basicSsl from '@vitejs/plugin-basic-ssl'
 
 export default ({ mode, command }) => {
   const env = loadEnv(mode, process.cwd())
@@ -48,6 +49,7 @@
     plugins: [
       vue(),
       DC(),
+      basicSsl(),
       AutoImport({
         imports: ["vue", "vue-router"], // 自动导入vue和vue-router相关函数
       })
@@ -76,6 +78,8 @@
 
     server: {
       port: 668,
+      https: true,
+      host: '0.0.0.0',
       proxy: {
         '/api': {
           // target: 'http://localhost',

--
Gitblit v1.9.3