From 3d69aca217ca66daa01a80c26570441e0b03875f Mon Sep 17 00:00:00 2001
From: lixuliang <lixuliang_hd@126.com>
Date: 星期一, 12 五月 2025 16:47:41 +0800
Subject: [PATCH] 1

---
 src/components/menu/bottom-menu.vue |  322 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 195 insertions(+), 127 deletions(-)

diff --git a/src/components/menu/bottom-menu.vue b/src/components/menu/bottom-menu.vue
index 288b38e..7f9fb6e 100644
--- a/src/components/menu/bottom-menu.vue
+++ b/src/components/menu/bottom-menu.vue
@@ -17,25 +17,24 @@
         <span> 鍘嗗彶褰卞儚 </span>
       </div>
     </div>
-    <div class="bottomwrapper csbj">
-      <el-dropdown trigger="click" @command="handleCommand">
-        <div class="imgbox">
-          <img src="@assets/img/new/chengshibujian.png" alt="" />
-        </div>
-        <div class="textbox">
-          <span> 缁煎悎鎵╁睍 </span>
-        </div>
-        <el-dropdown-menu slot="dropdown" :append-to-body="false" class="popper-dropdown">
-          <el-dropdown-item command="stdsjHandle">瑙嗗浘澶ф暟鎹钩鍙�</el-dropdown-item>
-          <el-dropdown-item command="bzdSystem">鏍囧噯鍦扮洃绠″钩鍙�</el-dropdown-item>
-          <el-dropdown-item v-if="isShowSPJK" command="spjkHandle">瑙嗛闆嗘垚涓庡彲瑙嗗寲</el-dropdown-item>
-          <el-dropdown-item v-else command="closeSpjk">鍏抽棴瑙嗛鐐逛綅鍒嗗竷</el-dropdown-item>
-          <el-dropdown-item v-if="isShowSjxl" command="sjxlHandle">鎵嬫満淇′护鐑姏鍒嗗竷</el-dropdown-item>
-          <el-dropdown-item v-else command="closeSjxl">鍏抽棴淇′护鐑姏鍒嗗竷</el-dropdown-item>
-          <el-dropdown-item command="csgxHandle">鍩庡競鏇存柊</el-dropdown-item>
-        </el-dropdown-menu>
-      </el-dropdown>
+    <div class="bottomwrapper csbj" @click="spjkHandle" :class="{ 'top-btn-active': !isShowSPJK }">
+      <div class="imgbox">
+        <img src="@assets/img/new/spjk.png" alt="" />
+      </div>
+      <div class="textbox">
+        <span>瑙嗛鐩戞帶</span>
+      </div>
     </div>
+
+    <div class="bottomwrapper spjk" @click="shoujixinling" :class="{ 'top-btn-active': !isShowSjxl }">
+      <div class="imgbox">
+        <img src="@assets/img/new/sjxl.png" alt="" />
+      </div>
+      <div class="textbox">
+        <span> 鎵嬫満淇′护 </span>
+      </div>
+    </div>
+
     <div class="bottomwrapper jxmx">
       <el-dropdown trigger="click" @command="handleCommand">
         <div class="imgbox">
@@ -49,6 +48,7 @@
           <!-- <el-dropdown-item command="sprhHandle">鍦烘櫙瑙嗛铻嶅悎</el-dropdown-item> -->
           <el-dropdown-item v-if="isShowSPRH" command="jiqirendahui">鍦烘櫙瑙嗛铻嶅悎</el-dropdown-item>
           <el-dropdown-item v-else command="jiqirendahui">鍏抽棴瑙嗛铻嶅悎</el-dropdown-item>
+          <el-dropdown-item command="gkshHandle">楂樺彲瑙嗗寲妯″瀷</el-dropdown-item>
         </el-dropdown-menu>
       </el-dropdown>
     </div>
@@ -88,14 +88,23 @@
         </el-form-item>
       </el-form>
     </div>
-
-
+    <!-- 鏁扮粍浜烘枃瀛楄緭鍏ュ脊妗� -->
+    <div class="SZRtextAreaBox" v-if="isShowTextArea">
+      <el-row :gutter="10">
+        <el-col :span="19">
+          <el-input v-model="input" placeholder="璇疯緭鍏ュ唴瀹�" clearable @keyup.enter.native="sendCommand($event)"></el-input>
+        </el-col>
+        <el-col :span="4">
+          <el-button type="primary" @click="sendCommand('click')">鎼滅储</el-button>
+        </el-col>
+      </el-row>
+    </div>
   </div>
 </template>
 
 <style scoped>
 .specialTool {
-  width: 440px;
+  width: 550px;
   position: absolute;
   bottom: 65px;
   color: #fff;
@@ -107,8 +116,36 @@
   justify-content: space-between;
 }
 
-.specialTool .bottomwrapper:nth-of-type(2),
+.SZRtextAreaBox {
+  background: rgba(5, 39, 126, 0.7);
+  padding: 10px;
+  width: 375px;
+  position: absolute;
+  /* display: flex; */
+  /* justify-content: space-around; */
+  bottom: 165px;
+  color: #fff;
+  left: 50%;
+  transform: translateX(-50%);
+  z-index: 99999;
+}
+
+.SZRtextAreaBox .el-form-item {
+  margin: 0;
+}
+
+.SZRtextAreaBox .el-input {
+  /* width: 300px; */
+}
+
 .specialTool .bottomwrapper:nth-of-type(3) {
+  /* background: red; */
+  position: relative;
+  top: -30px;
+}
+
+.specialTool .bottomwrapper:nth-of-type(2),
+.specialTool .bottomwrapper:nth-of-type(4) {
   /* background: red; */
   position: relative;
   top: -18px;
@@ -122,18 +159,22 @@
 }
 
 .imgbox {
-  width: 84px;
-  height: 81px;
-  background-image: url("~@/assets/img/new/bottomBox.png");
+  width: 110px;
+  height: 90px;
+  background-image: url("~@/assets/img/new/b1.png");
   background-size: 100% 100%;
   position: relative;
 }
 
+.imgbox:hover {
+  background-image: url("~@/assets/img/new/h1.png");
+}
+
 .imgbox img {
-  width: 38px;
+  width: 32px;
   position: absolute;
-  top: 50%;
-  left: 52.5%;
+  top: 37%;
+  left: 50%;
   transform: translate(-50%, -50%);
 }
 
@@ -180,21 +221,22 @@
   background: rgba(14, 50, 143, 0.6);
   box-shadow: 0px 0px 9px 3px rgba(20, 105, 233, 0.7) inset;
   text-align: center;
-  left: -36.5% !important;
   width: 155px;
   border: none;
 }
 
 .el-dropdown /deep/ .el-dropdown-selfdefine {
-  margin-left: 8px !important;
+  margin-left: 0 !important;
 }
 
 .csbj .el-dropdown-menu {
-  top: -215px !important;
+  top: -180px !important;
+  left: -30.5% !important;
 }
 
 .jxmx .el-dropdown-menu {
-  top: -110px !important;
+  top: -133px !important;
+  left: -26.5% !important;
 }
 
 .el-dropdown-menu /deep/ .el-dropdown-menu__item {
@@ -207,19 +249,22 @@
 }
 
 .csbj .el-popper /deep/ .popper__arrow::after {
+  margin: 0;
   border-top-color: rgba(14, 50, 143, 0.6);
   border-top-width: 6px;
   border-bottom-width: 0;
-  top: 201px;
-  left: 37px;
+  top: 166px;
+  left: 31px;
 }
 
 .jxmx .el-popper /deep/ .popper__arrow::after {
+  margin: 0;
+
   border-top-color: rgba(14, 50, 143, 0.6);
   border-top-width: 6px;
   border-bottom-width: 0;
   top: 96px;
-  left: -26px;
+  left: -32px;
 }
 
 .el-dropdown-menu__item:focus,
@@ -232,8 +277,9 @@
   box-shadow: 0px 0px 5px 3px rgba(0, 168, 255, 0.16);
 }
 
-.top-btn-active {
-  background: #0987ff !important;
+.top-btn-active .imgbox {
+  background-image: url("~@/assets/img/new/h1.png");
+  background-size: 100% 100%;
 }
 
 .scroll_div {
@@ -270,7 +316,8 @@
 let video4;
 let heatMapItem;
 import { mapState, mapMutations } from "vuex";
-import { queryBySquare } from "@/utils/request";
+import { queryBySquare } from "@/api/api";
+
 import Bus from "../tools/Bus";
 import { roman } from "../../assets/json/index.js";
 import URLInCode from "@/assets/js/urlInCode";
@@ -286,6 +333,7 @@
       isShowSPRH: true,
       csbjShow: false,
       jxmxShow: false,
+      input: "",
       romanOption: [
         { name: "鏍稿績鍖�" },
         { name: "鏅缁垮湴" },
@@ -315,7 +363,6 @@
           far: 3000,
           cameraIndexCode: "2b046ef675704975a8d45f1b00cd946b",
         },
-
       ],
       robotVideoList: [
         {
@@ -414,6 +461,12 @@
   },
   computed: {
     ...mapState(["viewer1Show", "isLand", "yqfk", "qyEchartsShow"]),
+    isShowTextArea() {
+      if (this.$store.state.isShowTextArea) {
+        this.input = "";
+      }
+      return this.$store.state.isShowTextArea;
+    },
   },
   methods: {
     ...mapMutations(["setViewer1Show", "setIsLand", "setqyEchartsShow"]),
@@ -429,11 +482,17 @@
           break;
       }
     },
+    sendCommand(event) {
+      // if (event == "click") {
+      mapMsg.testMsg(this.input);
+      // } else {
+      // // 闃绘榛樿琛屼负锛堝鏋滈渶瑕佺殑璇濓級
+      // mapMsg.testMsg(this.input);
+      // event.preventDefault();
+      // }
+    },
     handleCommand(command) {
       switch (command) {
-        case "qytj":
-          this.qytj();
-          break;
         case "spjkHandle":
           this.spjkHandle();
           break;
@@ -445,6 +504,10 @@
           break;
         case "bzdSystem":
           this.bzdSystem();
+          break;
+
+        case "gkshHandle":
+          window.open('http://10.128.12.160:8002/')
           break;
         case "fcfhHandle":
           this.fencengfenhu();
@@ -458,17 +521,15 @@
         case "closeSjxl":
           this.closeSjxl();
           break;
-        case "csgxHandle":
-          this.csgxHandle();
-          break;
         case "jiqirendahui":
           this.jiqirendahui(this.robotVideoList);
           break;
       }
     },
     historyHandle() {
+      this.switchMenu(1);
       if (this.isLand) {
-        this.$parent.changeMode('褰卞儚搴曞浘');
+        this.$parent.changeMode("褰卞儚搴曞浘");
         if (!this.viewer1Show) {
           window.loading = this.$loading({
             lock: true,
@@ -481,7 +542,7 @@
         this.setViewer1Show(true);
       } else {
         if (!this.viewer1Show) {
-          this.$parent.changeMode('褰卞儚搴曞浘');
+          this.$parent.changeMode("褰卞儚搴曞浘");
           window.loading = this.$loading({
             lock: true,
             text: "褰卞儚瀵规瘮鍔熻兘鍔犺浇涓紝璇风◢鍚�",
@@ -494,8 +555,22 @@
       }
     },
     tdglHandle() {
+      this.switchMenu(1);
       if (!this.isLand) {
         if (!this.viewer1Show) {
+          let p = sgworld.Navigate.getCameraInfo();
+          sgworld.Navigate.flyToPointsInterest({
+            destination: new Cesium.Cartesian3.fromDegrees(
+              p.location.lon,
+              p.location.lat,
+              p.location.height
+            ),
+            orientation: {
+              heading: Cesium.Math.toRadians(0),
+              pitch: Cesium.Math.toRadians(-90),
+              roll: Cesium.Math.toRadians(0),
+            },
+          });
           window.loading = this.$loading({
             lock: true,
             text: "鍦熷湴绠$悊鍔熻兘鍔犺浇涓紝璇风◢鍚�",
@@ -507,6 +582,19 @@
         this.setViewer1Show(true);
       } else {
         if (!this.viewer1Show) {
+          let p = sgworld.Navigate.getCameraInfo();
+          sgworld.Navigate.flyToPointsInterest({
+            destination: new Cesium.Cartesian3.fromDegrees(
+              p.location.lon,
+              p.location.lat,
+              p.location.height
+            ),
+            orientation: {
+              heading: Cesium.Math.toRadians(0),
+              pitch: Cesium.Math.toRadians(-90),
+              roll: Cesium.Math.toRadians(0),
+            },
+          });
           window.loading = this.$loading({
             lock: true,
             text: "鍦熷湴绠$悊鍔熻兘鍔犺浇涓紝璇风◢鍚�",
@@ -525,63 +613,36 @@
         "http://10.9.2.29:8080/#/login?token=1ed14c5157acb8088efe65bc93a032c3"
       );
     },
+    switchMenu(id) {
+      if (id != 1) {
+        this.setViewer1Show(false);
+      }
+      if (id != 3) {
+        this.closeSjxl();
+      }
+      if (id != 4) {
+        this.closeSpjk();
+      }
+    },
     bzdSystem() {
       window.open("http://192.162.24.2:8076/login");
     },
     shoujixinling() {
-      const loading = this.$loading({
-        lock: true,
-        text: "鎵嬫満淇′护鏁版嵁鍔犺浇涓紝璇风◢鍚�",
-        spinner: "el-icon-loading",
-        background: "rgba(0, 0, 0, 0.7)",
-      });
-      setTimeout(() => {
-        loading.close();
-      }, 2000);
-      this.isShowSjxl = false;
-      let heatMapUrl = URLInCode.heatMapUrl;
-      sgworld.Core.getJSON(heatMapUrl, (data) => {
-        let res = [];
-        data.features.forEach((item) => {
-          let obj = {
-            x: item.properties["center_x"],
-            y: item.properties["center_y"],
-            value: item.properties["sd_total"],
-            radius: 50,
-          };
-          res.push(obj);
-        });
-        // //鍒涘缓鐑姏鍥�
-        heatMapItem = sgworld.Creator.addHeatMap("鐑姏鍥�", {
-          type: "Heatmap", // 鐑姏鍥剧被鍨嬨�怘eatmap/HeatmapGL銆戯紙鍙�夛級
-          sourceData: res,
-          radius: 7,
-          gradient: {
-            ".3": "blue",
-            ".5": "green",
-            ".7": "yellow",
-            ".95": "red",
-          },
-          tooltip: true, // tooltip鏄剧ず鏁板��
-        });
-      });
+      this.switchMenu(3);
+      if (this.isShowSjxl) {
+        this.isShowSjxl = false;
+        this.$parent.signallingShow = true;
+      } else {
+        this.closeSjxl();
+      }
     },
     closeSjxl() {
-      if (heatMapItem) {
-        this.isShowSjxl = true;
-        heatMapItem.deleteObject();
-      }
+      this.isShowSjxl = true;
+      this.$parent.signallingShow = false;
     },
     // historyHandle() {
     //   this.$store.commit("showHistory", true);
     // },
-    csgxHandle() {
-      Bus.$emit("openMyResourcePop", true);
-    },
-    qytj() {
-      this.setqyEchartsShow(!this.qyEchartsShow);
-    },
-
     sceneRoaming() {
       if (this.showFlag) {
         document.getElementById("scroll").style.display = "none";
@@ -623,42 +684,49 @@
       });
     },
     spjkHandle() {
-      const loading = this.$loading({
-        lock: true,
-        text: "瑙嗛鐐逛綅鏁版嵁鍔犺浇涓紝璇风◢鍚�",
-        spinner: "el-icon-loading",
-        background: "rgba(0, 0, 0, 0.7)",
-      });
-      setTimeout(() => {
-        loading.close();
-      }, 2000);
-      this.isShowSPJK = false;
-      if (window.sxtkGeojson) {
-        window.sxtkGeojson.deleteObject();
-        window.sxtkGeojson = null;
-        window.sxthandler.destroy();
-        //鍏抽棴寮圭獥
-        Bus.$emit("closeRightPop", true);
-        layuiLayer.close(SmartEarthPopupData.layerProp);
-        return;
+      this.switchMenu(4);
+      if (this.isShowSPJK) {
+        const loading = this.$loading({
+          lock: true,
+          text: "瑙嗛鐐逛綅鏁版嵁鍔犺浇涓紝璇风◢鍚�",
+          spinner: "el-icon-loading",
+          background: "rgba(0, 0, 0, 0.7)",
+        });
+        setTimeout(() => {
+          loading.close();
+        }, 1500);
+        this.isShowSPJK = false;
+        if (window.sxtkGeojson) {
+          window.sxtkGeojson.deleteObject();
+          window.sxtkGeojson = null;
+          window.sxthandler.destroy();
+          //鍏抽棴寮圭獥
+          Bus.$emit("closeRightPop", true);
+          layuiLayer.close(SmartEarthPopupData.layerProp);
+          return;
+        } else {
+          Bus.$emit("showSPJK");
+          // this.spjkLoad();
+        }
       } else {
-        Bus.$emit("showSPJK");
-        // this.spjkLoad();
+        this.closeSpjk();
       }
     },
     closeSpjk() {
-      this.isShowSPJK = true;
-      if (window.sxtkGeojson) {
-        window.sxtkGeojson.deleteObject();
-        window.sxtkGeojson = null;
-        window.sxthandler.destroy();
-        //鍏抽棴寮圭獥
-        Bus.$emit("closeRightPop", true);
-        layuiLayer.close(SmartEarthPopupData.layerProp);
-        return;
-      } else {
-        Bus.$emit("closeSPJK");
-        // this.spjkLoad();
+      if (!this.isShowSPJK) {
+        this.isShowSPJK = true;
+        if (window.sxtkGeojson) {
+          window.sxtkGeojson.deleteObject();
+          window.sxtkGeojson = null;
+          window.sxthandler.destroy();
+          //鍏抽棴寮圭獥
+          Bus.$emit("closeRightPop", true);
+          layuiLayer.close(SmartEarthPopupData.layerProp);
+          return;
+        } else {
+          Bus.$emit("closeSPJK");
+          // this.spjkLoad();
+        }
       }
     },
     // 鍒嗗眰鍒嗘埛
@@ -703,7 +771,7 @@
           await $.ajax({
             url:
               "http://10.10.4.116:8086/getCamerasInfoHls?cameraIndexCode=" +
-              item[i].cameraIndexCode,
+              item[i].,
             // url: "http://10.10.4.116:8086/getCamerasInfoHls?cameraIndexCode=49ee9fed701444738112e80a4835122c",
             success: function (result) {
               video = sgworld.Creator.Video3D({

--
Gitblit v1.9.3