From 8e72ebbb44dba3ec5cf6dd3cd2613e6e9aed31ef Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 22 Nov 2024 15:37:33 +0800
Subject: [PATCH] Merge branch 'main' of http://139.196.74.78:10010/r/zhyq/bigScreen

---
 src/views/pac/components/box/dataContent.vue               |   11 +-
 src/views/rt/components/box/dataContent.vue                |    3 
 src/pages/layout/components/scomponents/layersControl.vue  |   11 +-
 src/pages/layout/components/scomponents/popup/panorama.vue |    6 
 src/views/companyInfo/components/box/unitContent.vue       |   88 +++++++++------------
 src/views/supplies/components/box/dataContent.vue          |   26 +++++-
 src/views/companyInfo/components/box/dataContent.vue       |    3 
 src/views/companyInfo/components/box/fireTrend.vue         |   54 +++++--------
 src/views/space/components/leftContainer.vue               |    3 
 src/styles/element/index.scss                              |    4 
 10 files changed, 103 insertions(+), 106 deletions(-)

diff --git a/src/pages/layout/components/scomponents/layersControl.vue b/src/pages/layout/components/scomponents/layersControl.vue
index fda8168..94e25e7 100644
--- a/src/pages/layout/components/scomponents/layersControl.vue
+++ b/src/pages/layout/components/scomponents/layersControl.vue
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2024-10-31 10:47:29
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-11-22 14:52:56
+ * @LastEditTime: 2024-11-22 15:37:11
  * @FilePath: \bigScreen\src\pages\layout\components\scomponents\layersControl.vue
  * @Description:
  *
@@ -74,7 +74,7 @@
 
 const { VITE_APP_BASE } = import.meta.env
 
-let indexPoint = ref(['1'])
+let indexPoint = ref(['5', '7', '1'])
 
 const treeRef = ref(null)
 const Cesium = DC.getLib('Cesium')
@@ -169,7 +169,7 @@
           addPupoLayers[attrParams.name] = new DC.HtmlLayer(attrParams.name)
           window.$viewer.addLayer(addPupoLayers[attrParams.name])
           let iconEl = `<div class="marsBlueGradientPnl">
-            <div>${attrParams.fullName}</div>
+            <div>${attrParams.fullName}</div>      
             <img src="${attrParams.imageUrl}" />
                 </div>`
           let divIcon = new DC.DivIcon(
@@ -598,7 +598,6 @@
         } else {
           window.addTileLayers[item.layerName].forEach(i => i.show = true)
         }
-        // window.$viewer.flyTo(window.addTileLayers[item.layerName][0])
       } else if (item.subType == 'labelPoint') {
         if (!window.addTileLayers[item.layerName]) {
           window.addTileLayers[item.layerName] = new DC.HtmlLayer(item.layerName)
@@ -660,7 +659,7 @@
             wall.setStyle({
               material: new DC.WallTrailMaterialProperty({
                 color: Cesium.Color.fromBytes(0, 123, 255, 180),
-                speed: 10
+                speed: 8
               })
             })
             window.addTileLayers[item.layerName].addOverlay(wall)
@@ -668,6 +667,8 @@
         } else {
           window.addTileLayers[item.layerName].show = true
         }
+        window.$viewer.flyTo(addTileLayers[item.layerName])
+        console.log(addTileLayers[item.layerName], "22222222222222222222222222222222")
       } else if (item.subType == 'geojsonPipe') {
         if (!window.addTileLayers[item.layerName]) {
           window.addTileLayers[item.layerName] = new DC.VectorLayer(item.layerName)
diff --git a/src/pages/layout/components/scomponents/popup/panorama.vue b/src/pages/layout/components/scomponents/popup/panorama.vue
index 5a9f7ef..7b8e91d 100644
--- a/src/pages/layout/components/scomponents/popup/panorama.vue
+++ b/src/pages/layout/components/scomponents/popup/panorama.vue
@@ -37,11 +37,11 @@
   bottom: 0;
   right: 0;
   z-index: 999;
-  background: #00d2ff;
+  background: transparent;
   /* fallback for old browsers */
-  background: -webkit-linear-gradient(to right, #3a7bd5, #00d2ff);
+  // background: -webkit-linear-gradient(to right, #3a7bd5, #00d2ff);
   /* Chrome 10-25, Safari 5.1-6 */
-  background: linear-gradient(to right, #3a7bd5, #00d2ff);
+  // background: linear-gradient(to right, #3a7bd5, #00d2ff);
   /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
   pointer-events: auto;
 
diff --git a/src/styles/element/index.scss b/src/styles/element/index.scss
index 94a0c6b..55bdb54 100644
--- a/src/styles/element/index.scss
+++ b/src/styles/element/index.scss
@@ -8,7 +8,7 @@
   // border: none;
 
   .el-table__header-wrapper {
-    font-size: 18px;
+    font-size: 14px;
 
     tr {
       height: 38px;
@@ -27,7 +27,7 @@
   }
 
   .el-table__body-wrapper {
-    font-size: 16px;
+    font-size: 14px;
 
     // table {
     //   border-collapse: separate !important;
diff --git a/src/views/companyInfo/components/box/dataContent.vue b/src/views/companyInfo/components/box/dataContent.vue
index f795b1c..027d115 100644
--- a/src/views/companyInfo/components/box/dataContent.vue
+++ b/src/views/companyInfo/components/box/dataContent.vue
@@ -155,7 +155,8 @@
 
             &.on {
                 position: relative;
-                color: #75b1ff;
+                // color: #75b1ff;
+                box-shadow: inset 0 0 100px #2a8ef1;
             }
         }
     }
diff --git a/src/views/companyInfo/components/box/fireTrend.vue b/src/views/companyInfo/components/box/fireTrend.vue
index a761459..8a39922 100644
--- a/src/views/companyInfo/components/box/fireTrend.vue
+++ b/src/views/companyInfo/components/box/fireTrend.vue
@@ -10,7 +10,7 @@
 -->
 <script setup>
 import publicContent from "./publicContent.vue"
-import { getList } from "@/api/emergencySupplies/emergencySupplies"
+import { getList, getCompanyList } from "@/api/emergencySupplies/emergencySupplies"
 import { reactive } from "vue"
 
 const { VITE_APP_BASE } = import.meta.env
@@ -80,6 +80,10 @@
   pages.total = 0
   getLists(formInline)
 }
+// 应急物资图片
+let picList = ref([])
+// 应急物资
+let emergencySupplies = reactive({})
 
 // 查询分页数据
 function getLists(param = {}) {
@@ -87,17 +91,16 @@
   param.size = pages.pageSize
   param.firmId = data.companyInfo.id
   loading.value = true
-  getList(param)
+  getCompanyList(param)
     .then((res) => {
       const data = res.data.data
-      data.records.forEach((element) => {
-        if (element.ownership == 1) {
-          element.ownership = "园区"
-        } else {
-          element.ownership = "企业"
+      tableData.value = data.dataList
+      data.dataList.forEach(item => {
+        if (item.lng && item.lat) {
+          emergencySupplies = item
         }
       })
-      tableData.value = data.records
+      picList.value = data.picList
       pages.total = data.total
       loading.value = false
     })
@@ -108,43 +111,25 @@
 }
 let addTileLayers = {}
 // 行点击
-function rowClick(row) {
+function rowClick() {
+
   // 销毁之前的
   destroy()
   if (!addTileLayers[row.name]) {
     addTileLayers[row.name] = new DC.HtmlLayer(row.name)
     window.$viewer.addLayer(addTileLayers[row.name])
-
-    // item.method(item.params).then(res => {
-    // let data = res.data.data.records
-
-    // tableData.value.filter(i => i.lng && i.lng != '' && i.lat && i.lat != '').forEach(i => {
-    let iconEl = ''
-
-    // if ('showPanel' in item && item.showPanel == false) {
-    //   if (item.backgroundIcon) {
-    iconEl = `
+    let iconEl = `
                 <div class="map-name">${row.name}</div>
                 <div class="map-icon">
                   <img src="${image.value}">
                 </div>
                 `
-    //   }
-    // } else
-    // {
-    //   iconEl = `<div class="marsBlueGradientPnl">
-    //               <div>${row.name}</div>
-    //             </div>`
-    // }
-
     let divIcon = new DC.DivIcon(
       new DC.Position(row.lng, row.lat, 64),
       `<div class="public-map-popup ${'qyfb-box'}">
                     ${iconEl}
                   </div>`
     )
-
-    // divIcon.attrParams = i
 
     let incident = () => { }
 
@@ -187,17 +172,18 @@
     </el-form>
     <!-- <global-search :options="options" @searchBtn="searchBtn" @resetBtn="resetBtn" ref="SeachBarCondition"></global-search> -->
     <div class="table-box">
-      <el-table :data="tableData" empty-text="" style="width: 100%" :header-cell-style="headerCellStyle"
-        :cell-style="tableCellStyle" element-loading-background="rgba(122, 122, 122, 0.1)">
-        <el-table-column prop="name" label="名称" width="200" />
+      <el-table :data="tableData" @click="rowClick()" empty-text="" style="width: 100%"
+        :header-cell-style="headerCellStyle" :cell-style="tableCellStyle"
+        element-loading-background="rgba(122, 122, 122, 0.1)">
+        <el-table-column prop="name" label="名称" width="240" />
         <el-table-column prop="numUnit" label="数量" />
         <el-table-column prop="personInCha" label="负责人" />
-        <el-table-column label="操作">
+        <!-- <el-table-column label="操作">
           <template #default="scope">
             <el-button link type="primary" size="small" :disabled="scope.row.lng == ''"
               @click="rowClick(scope.row)">定位</el-button>
           </template>
-        </el-table-column>
+        </el-table-column> -->
       </el-table>
     </div>
   </div>
diff --git a/src/views/companyInfo/components/box/unitContent.vue b/src/views/companyInfo/components/box/unitContent.vue
index 5b2b492..c1cdb8d 100644
--- a/src/views/companyInfo/components/box/unitContent.vue
+++ b/src/views/companyInfo/components/box/unitContent.vue
@@ -27,6 +27,7 @@
 const curSelect = ref('')
 
 let addTileLayers = {}
+let addPupoLayers = {}
 onMounted(() => {
     handleCheckChange()
 })
@@ -44,29 +45,42 @@
         }).then(res => {
             let data = res.data.data.records
             data.filter(i => i.lng && i.lng != '' && i.lat && i.lat != '').forEach(i => {
-                let iconEl = ''
-                // {
-                //     iconEl = `<div class="marsBlueGradientPnl">
-                //   <div>${i.name}</div>
-                // </div>`
-                // }
                 let img = image.value.filter(l => i.name.includes(l.label))
                 img = img.length > 0 ? img : image
-                iconEl = `<div class="map-name">${i.name}</div>
-                            <div class="map-icon">
-                            <img src="${img[0].value}">
-                            </div>`
-
+                let iconEl = `<div class="map-name">${i.name}</div>
+                            <div class="map-icon"> <img src="${img[0].value}"> </div>`
                 let divIcon = new DC.DivIcon(
-                    new DC.Position(i.lng, i.lat, 0),
-                    `<div class="public-map-popup  ${'yjc-box'}">
-                    ${iconEl}
-                    </div>`
+                    new DC.Position(i.lng, i.lat, 64),
+                    `<div class="public-map-popup  ${'yjc-box'}"> ${iconEl}  </div>`
                 )
 
                 divIcon.attrParams = i
 
-                let incident = () => { }
+                let incident = (e) => {
+                    const { attrParams } = e.overlay
+                    // 删除
+                    destroy()
+                    if (!attrParams.imageUrl) {
+                        return
+                    }
+                    addPupoLayers[attrParams.name] = new DC.HtmlLayer(attrParams.name)
+                    window.$viewer.addLayer(addPupoLayers[attrParams.name])
+                    let iconEl = `<div class="marsBlueGradientPnl">
+            <div>${attrParams.fullName}</div>
+            <img src="${attrParams.imageUrl}" />
+                </div>`
+                    let divIcon = new DC.DivIcon(
+                        new DC.Position(attrParams.lng, attrParams.lat, 64),
+                        `<div class="public-map-popup-two">
+                    ${iconEl}
+                  </div>`
+                    )
+                    let incident = () => {
+                        destroy()
+                    }
+                    divIcon.on(DC.MouseEventType.CLICK, incident)
+                    addPupoLayers[attrParams.name].addOverlay(divIcon)
+                }
 
                 // if (item.incident) incident = item.incident
 
@@ -85,45 +99,21 @@
     // }
     // })
 }
-
-// 获取下拉字典
-// const getDictData = (code) => {
-//     const param = {
-//         code: code,
-//     }
-//     getDictionary(param).then((res) => {
-//         resData.data = res.data.data.map(item => {
-//             return {
-//                 type: item.sort,
-//                 label: item.dictValue,
-//                 value: item.dictKey
-//             }
-//         })
-
-//         tabClick(resData.data[0])
-//     })
-// }
-
-// const tabClick = (item) => {
-//     handleCheckChange(item)
-//     // curSelect.value = item.value
-// }
-
-// const showOn = computed(() => (item) => {
-//     if (curSelect.value == item.value) {
-//         return true
-//     }
-//     return false
-// })
-
-// getDictData("emergency_space_type")
-
+// 销毁
+function destroy() {
+    let arr = Object.keys(addPupoLayers)
+    arr.filter(i => i != 'hgyq').forEach(i => {
+        addPupoLayers[i] && window.$viewer.removeLayer(addPupoLayers[i])
+    })
+    addPupoLayers = {}
+}
 onUnmounted(() => {
     console.log('leftContainer unmounted***********************')
     let arr = Object.keys(addTileLayers)
     arr.forEach(i => {
         addTileLayers[i] && window.$viewer.removeLayer(addTileLayers[i])
     })
+    destroy()
 })
 </script>
 
diff --git a/src/views/pac/components/box/dataContent.vue b/src/views/pac/components/box/dataContent.vue
index bab83b1..e3913f4 100644
--- a/src/views/pac/components/box/dataContent.vue
+++ b/src/views/pac/components/box/dataContent.vue
@@ -84,9 +84,7 @@
           let data = res.data.data.records
           data.filter(i => i.lng && i.lng != '' && i.lat && i.lat != '').forEach(i => {
             let iconEl = ''
-
             let flag = typeList.find(l => l.type == i.type)
-
             if (flag) {
               if (flag.backgroundIcon) {
                 iconEl = `
@@ -129,9 +127,11 @@
   })
 
   if (row.type == 2) {
-    EventBus.emit('restHandleCheckChange', `3-3`)
+    EventBus.emit('restHandleCheckChange', `3-3-2`)
+    EventBus.emit('restHandleCheckChange', `3-3-4`)
   } else {
-    EventBus.emit('restHandleDelChange', `3-3`)
+    EventBus.emit('restHandleDelChange', `3-3-2`)
+    EventBus.emit('restHandleDelChange', `3-3-4`)
   }
 }
 
@@ -200,7 +200,8 @@
 
       &.on {
         position: relative;
-        color: #75b1ff;
+        // color: #75b1ff;
+        box-shadow: inset 0 0 100px #2a8ef1;
       }
     }
   }
diff --git a/src/views/rt/components/box/dataContent.vue b/src/views/rt/components/box/dataContent.vue
index fc17f2c..083443a 100644
--- a/src/views/rt/components/box/dataContent.vue
+++ b/src/views/rt/components/box/dataContent.vue
@@ -181,7 +181,8 @@
 }
 
 .list_box li.active {
-  color: #409eff;
+  // color: #409eff;
+  box-shadow: inset 0 0 100px #2a8ef1;
 }
 
 .page_box {
diff --git a/src/views/space/components/leftContainer.vue b/src/views/space/components/leftContainer.vue
index a75818f..cec37bb 100644
--- a/src/views/space/components/leftContainer.vue
+++ b/src/views/space/components/leftContainer.vue
@@ -98,7 +98,8 @@
 
       &.on {
         position: relative;
-        color: #75b1ff;
+        // color: #75b1ff;
+        box-shadow: inset 0 0 100px #2a8ef1;
       }
 
       .label-box {
diff --git a/src/views/supplies/components/box/dataContent.vue b/src/views/supplies/components/box/dataContent.vue
index a11f735..1859838 100644
--- a/src/views/supplies/components/box/dataContent.vue
+++ b/src/views/supplies/components/box/dataContent.vue
@@ -3,7 +3,9 @@
     <template #content>
       <div class="content_box">
         <div class="list_box">
-          <span class="content_span" @click="scrollLeft">《</span>
+          <span class="content_span" @click="scrollLeft">
+            <img src="@/assets/images/left.png" alt="">
+          </span>
           <el-scrollbar ref="scrollbarRef" @scroll="scroll">
             <div class="scrollbar-flex-content">
               <p v-for="(item, index) in tilteList" @click="handleClick(item, index)" :key="index"
@@ -12,7 +14,9 @@
               </p>
             </div>
           </el-scrollbar>
-          <span class="content_span" @click="scrollRight">》</span>
+          <span class="content_span" @click="scrollRight">
+            <img src="@/assets/images/right.png" alt="">
+          </span>
         </div>
 
         <div class="page_box">
@@ -248,6 +252,18 @@
   line-height: 70px;
   margin: 0 15px;
   cursor: pointer;
+
+  & img {
+    // 图片上下居中
+    vertical-align: middle;
+    width: 30px;
+    height: 30px;
+  }
+
+  & img:hover {
+    box-shadow: inset 0 0 40px #fff;
+    border-radius: 10px;
+  }
 }
 
 .page_box .el-table {
@@ -257,8 +273,8 @@
 }
 
 .active {
-  // background-color: rgba(255, 255, 255, 0.3);
-  color: #409eff;
-  border-radius: 10px;
+  // color: #409eff;
+  // border-radius: 10px;
+  box-shadow: inset 0 0 100px #2a8ef1;
 }
 </style>

--
Gitblit v1.9.3