From 81773ab04fd259e893c2d7f08dbdc9be772d01c4 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 21 Dec 2021 17:18:45 +0800
Subject: [PATCH] +,请求数据,弹框显示,优化代码长度

---
 src/components/mobileWindow/index.vue        |  117 ++++--
 src/api/mobile/livingFacilities/index.js     |   74 ++++
 src/components/mobilemap/index.vue           |   10 
 src/components/mobileCortrolButtom/index.vue |   60 ++
 src/components/mobilePopupOurAfter/index.vue |   68 ++-
 src/styles/mobile/popup.scss                 |   97 +++++
 src/components/mobilePopupOur/index.vue      |  290 ++++-------------
 src/store/modules/mobile.js                  |   86 +++++
 src/components/mobileCortrol/index.vue       |   62 ---
 src/api/mobile/stop/index.js                 |   19 +
 src/components/mobilePopupOurOnce/index.vue  |   19 
 src/mobileDivForms/mobileDivForms.js         |    9 
 12 files changed, 527 insertions(+), 384 deletions(-)

diff --git a/src/api/mobile/livingFacilities/index.js b/src/api/mobile/livingFacilities/index.js
index a0e051a..9430cfa 100644
--- a/src/api/mobile/livingFacilities/index.js
+++ b/src/api/mobile/livingFacilities/index.js
@@ -2,7 +2,7 @@
  * @Author: Morpheus
  * @Date: 2021-05-09 15:17:44
  * @Last Modified by: liu
- * @Last Modified time: 2021-12-20 17:05:16
+ * @Last Modified time: 2021-12-21 09:57:32
  */
 // 生活设施
 import request from '@/router/axios'
@@ -25,3 +25,75 @@
     })
 }
 
+//医疗
+export const getListmedical = (params) => { //获取生活设施
+    return request({
+        url: 'blade-medical/medical/list',
+        method: 'get',
+        params: params
+    })
+}
+
+//快递
+export const getListmail = (params) => { //获取生活设施
+    return request({
+        url: 'blade-mail/mail/list',
+        method: 'get',
+        params: params
+    })
+}
+
+//浴室
+export const getListbathroom = (params) => { //获取生活设施
+    return request({
+        url: 'blade-bathroom/bathroom/list',
+        method: 'get',
+        params: params
+    })
+}
+
+//打字复印
+export const getListduplicate = (params) => { //获取生活设施
+    return request({
+        url: 'blade-duplicate/duplicate/list',
+        method: 'get',
+        params: params
+    })
+}
+
+//银行网点
+export const getListnetwork = (params) => { //获取生活设施
+    return request({
+        url: 'blade-network/network/list',
+        method: 'get',
+        params: params
+    })
+}
+
+//AED
+export const getListaed = (params) => { //获取生活设施
+    return request({
+        url: 'blade-aed/aed/list',
+        method: 'get',
+        params: params
+    })
+}
+
+//通讯
+export const getListsignal = (params) => { //获取生活设施
+    return request({
+        url: 'blade-signal/signal/list',
+        method: 'get',
+        params: params
+    })
+}
+
+// //停车场
+// export const getListnetwork = (params) => { //获取生活设施
+//     return request({
+//         url: 'blade-parking/parking/list',
+//         method: 'get',
+//         params: params
+//     })
+// }
+
diff --git a/src/api/mobile/stop/index.js b/src/api/mobile/stop/index.js
new file mode 100644
index 0000000..a2d1b98
--- /dev/null
+++ b/src/api/mobile/stop/index.js
@@ -0,0 +1,19 @@
+/*
+ * @Author: Morpheus
+ * @Date: 2021-05-09 15:17:44
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-12-21 10:00:12
+ */
+// 停车场
+import request from '@/router/axios'
+
+
+
+export const getListparking = (params) => { //获取生活设施
+    return request({
+        url: 'blade-parking/parking/list',
+        method: 'get',
+        params: params
+    })
+}
+
diff --git a/src/components/mobileCortrol/index.vue b/src/components/mobileCortrol/index.vue
index b3a1cbc..726fd18 100644
--- a/src/components/mobileCortrol/index.vue
+++ b/src/components/mobileCortrol/index.vue
@@ -23,59 +23,13 @@
   },
   methods: {
     zoomIn(val) {
-      let that = this;
-      // console.log(val);
-      // 121.49592752204283 31.23567802276832
-      this.mviewer.zoomToPosition(
-        new that.DC.Position(
-          121.49592752204283,
-          31.23567802276832 - 0.012,
-          2530,
-          0,
-          -45
-        )
-      );
-      // let camera = this.mviewer.camera;
-      // // console.log(camera.moveStart());
-      // // this.mviewer.getImageryLayerInfo().then((res) => {
-      // //   console.log(res);
-      // // });
-      // var ellipsoid = this.mviewer.scene.globe.ellipsoid;
-      // var cartesian3 = DC.Namespace.Cesium.cartesian3(
-      //   camera.position.x,
-      //   camera.position.y,
-      //   camera.position.z
-      // );
-      // // // var cartographic = ellipsoid.cartesianToCartographic(cartesian3);
-      // // // var lat = Cesium.Math.toDegrees(cartograhphic.latitude);
-      // // // var lng = Cesium.Math.toDegrees(cartograhpinc.longitude);
-      // // // var alt = cartographic.height;
-      // console.log(cartesian3);
-      // let position = camera.position;
-      // for (let k in position) {
-      //   if (k == "x" || k == "y" || k == "z") {
-      //     console.log(k, " : ", position[k]);
-      //   }
-      // }
-      // if (val == "+") {
-      //   camera.position.x -= 614.8521;
-      //   camera.position.y -= 1002.9298;
-      //   camera.position.z += 682.3683;
-      // } else if (val == "-") {
-      //   camera.position.x += 614.8521;
-      //   camera.position.y += 1002.9298;
-      //   camera.position.z -= 682.3683;
-      // }
-      // camera.flyTo({
-      //   destination: position,
-      //   orientation: {
-      //     heading: camera.heading,
-      //     pitch: camera.pitch,
-      //     roll: camera.roll,
-      //   },
-      //   duration: 0.5,
-      //   convert: false,
-      // });
+      this.$store.dispatch("mapFlyTo", {
+        //飞入
+        lntLat: [121.50492752204283, 31.21567802276832, 2530],
+        heading: 0,
+        pitch: -45,
+        roll: 0,
+      });
     },
   },
 };
@@ -86,7 +40,7 @@
   position: fixed;
   left: 20px;
   top: 87px;
-  z-index: 201 !important;
+  z-index: 20 !important;
   .m-l-inbut {
     width: 35px;
     height: 35px;
diff --git a/src/components/mobileCortrolButtom/index.vue b/src/components/mobileCortrolButtom/index.vue
index 350cbad..417eede 100644
--- a/src/components/mobileCortrolButtom/index.vue
+++ b/src/components/mobileCortrolButtom/index.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="m-left-mobileCortrolButtom">
-    <div class="m-l-inbut"><i class="el-icon-s-help"></i></div>
+    <div class="m-l-inbut" @click="mubiao"><i class="el-icon-s-help"></i></div>
     <div class="m-l-inbut">
       <!-- <i class="el-icon-s-flag"></i> -->
       <el-dropdown trigger="click" @command="handleCommand">
@@ -34,6 +34,24 @@
     return {
       DC: "",
       tabTable: [],
+      ccData: [
+        {
+          lnt: 115.87071885,
+          lat: 28.74382592,
+        },
+        {
+          lnt: 121.50266534548483,
+          lat: 31.24357506330159,
+        },
+        {
+          lnt: 121.56405019,
+          lat: 31.20845211,
+        },
+        {
+          lnt: 121.55500463461836,
+          lat: 31.257934074839717,
+        },
+      ],
     };
   },
   computed: {
@@ -45,19 +63,21 @@
   },
   mounted() {},
   methods: {
+    mubiao() {
+      let that = this;
+      //测试fllyTo
+    },
     handleCommand(command) {
       let that = this;
       console.log(command, "定位");
       // 定位
-      // this.mviewer.zoomToPosition(
-      //   new that.DC.Position(
-      //     command.position[0],
-      //     command.position[1] - 0.012,
-      //     1530,
-      //     0,
-      //     -45
-      //   )
-      // );
+      this.$store.dispatch("mapFlyTo", {
+        //飞入
+        lntLat: [command.lnt, command.lat, 2530],
+        heading: 0,
+        pitch: -45,
+        roll: 0,
+      });
     },
     openBigPopupAfter() {
       this.$store.commit("MSET_BIGPOPUPAFTER", true);
@@ -77,16 +97,28 @@
       // });
     },
     getStreet() {
+      let that = this;
       getListarc().then((res) => {
         let title = [];
-        res.data.data.forEach((item) => {
+        const data = res.data.data;
+        for (let k = 0; k < data.length; k++) {
           title.push({
-            title: item.dictValue,
+            title: data[k].dictValue,
             flag: false,
-            key: item.dictKey,
+            key: data[k].dictKey,
             child: [],
+            lnt: that.ccData[k].lnt,
+            lat: that.ccData[k].lat,
           });
-        });
+        }
+        // res.data.data.forEach((item) => {
+        //   title.push({
+        //     title: item.dictValue,
+        //     flag: false,
+        //     key: item.dictKey,
+        //     child: [],
+        //   });
+        // });
         this.tabTable = title;
         this.$store.commit("MSET_POPUPTABLENAME", title);
       });
diff --git a/src/components/mobilePopupOur/index.vue b/src/components/mobilePopupOur/index.vue
index b848294..0c89a11 100644
--- a/src/components/mobilePopupOur/index.vue
+++ b/src/components/mobilePopupOur/index.vue
@@ -78,12 +78,7 @@
 </template>
 
 <script>
-import { getList } from "@/api/mobile/orgnav/index";
-import { getListarc, getChildNavList } from "@/api/mobile/public/arc";
-import {
-  getListlivingFacilitiesr,
-  getListsupermarket,
-} from "@/api/mobile/livingFacilities/index";
+import { getListarc } from "@/api/mobile/public/arc"; //头部下标签页数据
 import { mapGetters } from "vuex";
 export default {
   computed: {
@@ -95,89 +90,61 @@
       searchLabel: "",
       choiceValue: "",
       choiceKey: "",
+      choiceMethod: "",
       choiceData: [],
       tabTable: [],
       fullscreenLoading: false,
       activeName: "1",
       choiceMain: "",
       onlyData: [],
-      OURAPI_FORLIFE: {},
     };
   },
   mounted() {
     this.fullscreenLoading = true;
     if (this.mBigPopup.search) {
+      //搜索事件
       this.searchLabel = this.mBigPopup.value;
       // console.log("查询搜索结果", this.mBigPopup.value);
       this.fullscreenLoading = false;
       this.choiceMain = "搜索";
       return;
     }
-    this.choiceMain = this.popupOurOpenData.qurey;
-    this.choiceData = this.popupOurOpenData.main;
+    this.choiceMain = this.popupOurOpenData.qurey; // 进入的主题:列:机构单位,校园建筑
+    this.choiceData = this.popupOurOpenData.main; //带入数据  包括name、type、method
+
     this.choiceValue = this.popupOurOpenData.main[0].name;
     this.choiceKey = this.popupOurOpenData.main[0].type;
-    this.$store.commit("MSET_BIGPOPUPAFTER", false);
+    this.choiceMethod = this.popupOurOpenData.main[0].method;
+
+    this.$store.commit("MSET_BIGPOPUPAFTER", false); //关闭前一个弹窗
     // console.log("请求对应街道接口", this.popupOurOpenData);
-    if (this.choiceMain == "校园建筑") {
-      //校园建筑:加入街道的选择
-      this.getDataCampus();
-    } else if (this.choiceMain == "机构单位") {
-      this.getInstitutional(this.choiceKey);
-    } else if (this.choiceMain == "生活设施") {
-      // 加入所有请求接口函数
-      this.OURAPI_FORLIFE = {
-        1: getListlivingFacilitiesr,
-        2: getListsupermarket,
-        3: getListlivingFacilitiesr,
-        4: getListlivingFacilitiesr,
-        5: getListlivingFacilitiesr,
-        6: getListlivingFacilitiesr,
-        7: getListlivingFacilitiesr,
-        8: getListlivingFacilitiesr,
-        9: getListlivingFacilitiesr,
-        10: getListlivingFacilitiesr,
-      };
-      this.getDatalivingFacilities();
-    } else if (this.choiceMain == "文化风景") {
-      console.log(this.choiceKey, " : ", this.choiceMain);
-      this.fullscreenLoading = false;
-    } else if (this.choiceMain == "出入口") {
-      console.log(this.choiceKey, " : ", this.choiceMain);
-      this.fullscreenLoading = false;
-    } else if (this.choiceMain == "停车场") {
-      console.log(this.choiceKey, " : ", this.choiceMain);
-      this.fullscreenLoading = false;
-    }
+    this.getDataHeardDown();
   },
   methods: {
     handleClick(tab, event) {
+      //头下部标签
       this.fullscreenLoading = true;
-      if (this.choiceMain == "校园建筑") {
-        this.getListCampus(this.activeName, this.choiceKey);
-      } else if (this.choiceMain == "生活设施") {
-        this.getListlivingFacilities(this.activeName, this.choiceKey); //生活设施 用choiceKey定位请求函数
-      }
+      this.getOutList(this.activeName, this.choiceKey);
     },
     choiceIt(command) {
+      //头部下拉菜单
       this.fullscreenLoading = true;
       this.choiceValue = command.name;
       this.choiceKey = command.type;
-      console.log("请求对应头部下拉菜单接口", command);
-      if (this.choiceMain == "校园建筑") {
-        this.getListCampus(this.activeName, this.choiceKey);
-      } else if (this.choiceMain == "机构单位") {
-        this.getInstitutional(this.choiceKey);
-      } else if (this.choiceMain == "生活设施") {
-        this.getListlivingFacilities(this.activeName, this.choiceKey); //生活设施 用choiceKey定位请求函数
-      }
+      this.choiceMethod = command.method; //更改请求
+      // console.log("请求对应头部下拉菜单接口", command);
+      this.getOutList(this.activeName, this.choiceKey);
     },
     closeBigPopup() {
       this.$store.commit("MSET_BIGPOPUP", false);
     },
-    //"生活设施"↓
-    getDatalivingFacilities(data) {
-      let that = this;
+    getDataHeardDown() {
+      if (this.choiceMain == "机构单位") {
+        //不请求头部标签页数据
+        this.getOutList(this.activeName, this.choiceKey);
+        return;
+      }
+      //获取头下部标签页
       getListarc().then((res) => {
         let title = [];
         res.data.data.forEach((item) => {
@@ -189,173 +156,66 @@
           });
         });
         this.tabTable = title;
-
-        this.getListlivingFacilities(this.activeName, this.choiceKey); //生活设施 用choiceKey定位请求函数
+        this.getOutList(this.activeName, this.choiceKey);
       });
     },
-    getListlivingFacilities(campus, type) {
+    //请求
+    getOutList(campus, type) {
       let that = this;
-      this.OURAPI_FORLIFE[type]({ campus: campus }).then((res) => {
-        const data = res.data.data.records;
-        // console.log(data);
-        // return;
+      this.choiceMethod({ campus: campus, type: type }).then((res) => {
+        const data = res.data.data;
         let outList = [];
-        data.forEach((item) => {
-          let icon = item.tpurl.split(",");
-          outList.push({
-            name: item.mechanismname,
-            lntLat: [item.jd, item.wd],
-            alt: item.gd,
-            heading: item.heading,
-            pitch: item.pitch,
-            roll: item.roll,
-            bgImg: item.tpurl,
-            icon: icon,
-            from: this.choiceMain,
-            QRImg: item.codeurl,
-            websiteUrl: item.websiteurl,
-            telePhone: item.telephone,
-            buts:
-              that.mBigPopup.name == "校园建筑" ||
-              that.mBigPopup.name == "文化风景"
-                ? ["定位", "实景", "图集"]
-                : ["定位"],
+        if (this.choiceMain == "校园建筑") {
+          // 校园建筑使用该id获取具体信息
+          data.forEach((item) => {
+            let icon = item.tpurl.split(",");
+            outList.push({
+              id: item.id,
+              name: item.mechanismname,
+              icon: icon,
+              from: this.choiceMain,
+              buts:
+                this.mBigPopup.name == "校园建筑" ||
+                this.mBigPopup.name == "文化风景"
+                  ? ["定位", "实景", "图集"]
+                  : ["定位"],
+            });
           });
-        });
+        } else {
+          //正常获取全部数据
+          data.records.forEach((item) => {
+            let icon = item.tpurl.split(",");
+            outList.push({
+              name: item.mechanismname,
+              lntLat: [item.jd, item.wd],
+              alt: item.gd,
+              heading: item.heading,
+              pitch: item.pitch,
+              roll: item.roll,
+              bgImg: item.tpurl,
+              icon: icon,
+              from: this.choiceMain,
+              QRImg: item.codeurl,
+              websiteUrl: item.websiteurl,
+              telePhone: item.telephone,
+              address: item.address,
+              introduce: item.introduce,
+              buts:
+                that.mBigPopup.name == "校园建筑" ||
+                that.mBigPopup.name == "文化风景"
+                  ? ["定位", "实景", "图集"]
+                  : ["定位"],
+            });
+          });
+        }
         that.fullscreenLoading = false;
+        if (this.choiceMain == "机构单位") {
+          that.onlyData = outList;
+          return;
+        }
         that.tabTable[+campus - 1].child = outList;
       });
     },
-    //"生活设施"↑
-
-    //""机构单位""↓
-    getInstitutional(type) {
-      let that = this;
-      // console.log(type);
-      getList({ type: type }).then((res) => {
-        const data = res.data.data;
-        let outList = [];
-        data.records.forEach((item) => {
-          let icon = item.tpurl.split(",");
-          outList.push({
-            name: item.mechanismname,
-            lntLat: [item.jd, item.wd],
-            alt: item.gd,
-            heading: item.heading,
-            pitch: item.pitch,
-            roll: item.roll,
-            bgImg: item.tpurl,
-            icon: icon,
-            from: this.choiceMain,
-            QRImg: item.codeurl,
-            websiteUrl: item.websiteurl,
-            telePhone: item.telephone,
-            buts:
-              that.mBigPopup.name == "校园建筑" ||
-              that.mBigPopup.name == "文化风景"
-                ? ["定位", "实景", "图集"]
-                : ["定位"],
-          });
-        });
-        that.fullscreenLoading = false;
-        that.onlyData = outList;
-      });
-    },
-    //""机构单位""↑
-    //"校园建筑"↓
-    getDataCampus() {
-      getListarc().then((res) => {
-        let title = [];
-        res.data.data.forEach((item) => {
-          title.push({
-            title: item.dictValue,
-            flag: false,
-            key: item.dictKey,
-            child: [],
-          });
-        });
-        this.tabTable = title;
-        this.getListCampus(this.activeName, this.choiceKey);
-      });
-    },
-    getListCampus(campus, type) {
-      let that = this;
-      getChildNavList({ campus: campus, type: type }).then((res) => {
-        const data = res.data.data;
-        let outList = [];
-        data.forEach((item) => {
-          let icon = item.tpurl.split(",");
-          outList.push({
-            id: item.id,
-            name: item.mechanismname,
-            icon: icon,
-            from: this.choiceMain,
-            buts:
-              this.mBigPopup.name == "校园建筑" ||
-              this.mBigPopup.name == "文化风景"
-                ? ["定位", "实景", "图集"]
-                : ["定位"],
-          });
-        });
-        that.fullscreenLoading = false;
-        that.tabTable[+campus - 1].child = outList;
-      });
-    },
-    //"校园建筑"↑
   },
 };
-</script>
-
-<style lang="scss" scoped>
-#mobilePopupOur {
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  background-color: #fff;
-  z-index: 300;
-  .m_p_heard {
-    width: 100%;
-    height: 50px;
-    background-color: #a40000;
-    .m_p_h_break {
-      position: absolute;
-      left: 0;
-      top: 0;
-      width: 50px;
-      height: 50px;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      .icon {
-        font-size: 22px;
-        color: #fff;
-      }
-    }
-    .m_p_h_center {
-      width: 100%;
-      height: 50px;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      .el-dropdown-link {
-        color: #fff;
-      }
-    }
-  }
-  .m_p_center {
-    width: 100%;
-    height: calc(100% - 50px);
-    // border: 1px solid red
-    box-sizing: border-box;
-    .m_p_c_tableIn {
-      width: 100%;
-      height: 100%;
-      box-sizing: border-box;
-      overflow-x: hidden;
-      overflow-y: auto;
-    }
-  }
-}
-</style>
\ No newline at end of file
+</script>
\ No newline at end of file
diff --git a/src/components/mobilePopupOurAfter/index.vue b/src/components/mobilePopupOurAfter/index.vue
index 5d8e20c..d5714e1 100644
--- a/src/components/mobilePopupOurAfter/index.vue
+++ b/src/components/mobilePopupOurAfter/index.vue
@@ -32,6 +32,20 @@
 </template>
 
 <script>
+import { getList } from "@/api/mobile/orgnav/index"; //机构单位
+import { getChildNavList } from "@/api/mobile/public/arc"; //校园建筑
+import {
+  getListlivingFacilitiesr,
+  getListsupermarket,
+  getListmedical,
+  getListmail,
+  getListbathroom,
+  getListduplicate,
+  getListnetwork,
+  getListaed,
+  getListsignal,
+} from "@/api/mobile/livingFacilities/index"; //生活设施
+import { getListparking } from "@/api/mobile/stop/index"; //停车场
 export default {
   name: "mobilePopupOurAfter",
   data() {
@@ -72,36 +86,40 @@
         },
       ],
       openData1: [
-        { name: "党群机构", type: 1 },
-        { name: "职能部处", type: 2 },
-        { name: "直属及附属单位", type: 3 },
-        { name: "教学与科研机构", type: 4 },
-        { name: "其他机构", type: 5 },
+        { name: "党群机构", type: 1, method: getList },
+        { name: "职能部处", type: 2, method: getList },
+        { name: "直属及附属单位", type: 3, method: getList },
+        { name: "教学与科研机构", type: 4, method: getList },
+        { name: "其他机构", type: 5, method: getList },
       ],
       openData2: [
-        { name: "行政办公", type: 1 },
-        { name: "教学科研", type: 2 },
-        { name: "校内场馆", type: 3 },
-        { name: "宿舍公寓", type: 4 },
-        { name: "文化风景", type: 5 },
-        { name: "家属住宅", type: 6 },
-        { name: "其他楼宇", type: 7 },
+        { name: "行政办公", type: 1, method: getChildNavList },
+        { name: "教学科研", type: 2, method: getChildNavList },
+        { name: "校内场馆", type: 3, method: getChildNavList },
+        { name: "宿舍公寓", type: 4, method: getChildNavList },
+        { name: "文化风景", type: 5, method: getChildNavList },
+        { name: "家属住宅", type: 6, method: getChildNavList },
+        { name: "其他楼宇", type: 7, method: getChildNavList },
       ],
       openData3: [
-        { name: "食堂餐厅", type: 1 },
-        { name: "购物超市", type: 2 },
-        { name: "校内医疗", type: 3 },
-        { name: "邮寄快递", type: 4 },
-        { name: "学生浴室", type: 5 },
-        { name: "圈存机", type: 6 },
-        { name: "打字复印", type: 7 },
-        { name: "AED", type: 8 },
-        { name: "银行网点", type: 9 },
-        { name: "通信营业厅", type: 10 },
+        { name: "食堂餐厅", type: 1, method: getListlivingFacilitiesr },
+        { name: "购物超市", type: 2, method: getListsupermarket },
+        { name: "校内医疗", type: 3, method: getListmedical },
+        { name: "邮寄快递", type: 4, method: getListmail },
+        { name: "学生浴室", type: 5, method: getListbathroom },
+        // { name: "圈存机", type: 6 ,method:getListlivingFacilitiesr},
+        { name: "打字复印", type: 7, method: getListduplicate },
+        { name: "AED", type: 8, method: getListaed },
+        { name: "银行网点", type: 9, method: getListnetwork },
+        { name: "通信营业厅", type: 10, method: getListsignal },
       ],
-      openData4: [{ name: "文化风景", type: 1 }],
-      openData5: [{ name: "出入口", type: 1 }],
-      openData6: [{ name: "停车场", type: 1 }],
+      openData4: [
+        { name: "文化风景", type: 1, method: getListlivingFacilitiesr },
+      ],
+      openData5: [
+        { name: "出入口", type: 1, method: getListlivingFacilitiesr },
+      ],
+      openData6: [{ name: "停车场", type: 1, method: getListparking }],
     };
   },
   mounted() {},
diff --git a/src/components/mobilePopupOurOnce/index.vue b/src/components/mobilePopupOurOnce/index.vue
index 6ef5d47..bb20d60 100644
--- a/src/components/mobilePopupOurOnce/index.vue
+++ b/src/components/mobilePopupOurOnce/index.vue
@@ -23,7 +23,15 @@
         <div class="mobilePopupOurOnce_r_down">
           <div v-for="(item, index) in seebut" :key="index">
             <el-link
-              icon="el-icon-map-location"
+              :icon="
+                item.name == '实景'
+                  ? 'el-icon-place'
+                  : item.name == '图集'
+                  ? 'el-icon-data-board'
+                  : item.name == '定位'
+                  ? 'el-icon-map-location'
+                  : ''
+              "
               class="mobilePopupOurOnce_r_d_in"
               @click="openOnce(item.name)"
               >{{ item.name }}</el-link
@@ -48,17 +56,13 @@
   name: "mobilePopupOurOnce",
   created() {
     this.DC = global.DC;
-    // console.log(this.onceData);
     if (this.onceData.icon) {
       this.srcList = this.onceData.icon;
       this.icon = this.srcList[0];
     }
     if (this.onceData.from == "校园建筑") {
       this.getOnceCampus(this.onceData.id);
-    } else if (
-      this.onceData.from == "机构单位" ||
-      this.onceData.from == "生活设施"
-    ) {
+    } else {
       this.ourData = this.onceData;
     }
   },
@@ -111,7 +115,6 @@
           "https://www.kuleiman.com/110487/index.html?m=1"
         );
       } else if (val == "图集") {
-        console.log(this.srcList);
         let imgsDom = document.getElementById("mobileBigImgs" + this.icon + "");
         imgsDom.click();
       }
@@ -120,7 +123,6 @@
     getOnceCampus(id) {
       getChildNavDetail({ id: id }).then((res) => {
         var result = res.data.data[0].list;
-        // console.log(result);
         let d = {
           name: result.mechanismname,
           lntLat: [result.jd, result.wd],
@@ -132,6 +134,7 @@
           QRImg: result.codeurl,
           websiteUrl: result.websiteurl,
           telePhone: result.telephone,
+          address: result.address,
         };
         this.ourData = d;
       });
diff --git a/src/components/mobileWindow/index.vue b/src/components/mobileWindow/index.vue
index 957a407..42a25d3 100644
--- a/src/components/mobileWindow/index.vue
+++ b/src/components/mobileWindow/index.vue
@@ -4,41 +4,55 @@
     v-show="!MobileWindowsHide"
     id="mobile-map_content_content"
   >
-    <div class="mobile-popup-imgs-heard">
-      <img :src="url" alt="" />
-      <el-image
-        style="width: 100px; height: 100px"
-        :src="url"
-        id="mobileBigImgs"
-        v-show="false"
-        :preview-src-list="srcList"
-      >
-      </el-image>
-      <!-- <div>{{ query.query }}</div> -->
-      <div class="mobileBig-center-our">
-        <div
-          v-for="(item, index) in center"
-          :key="index"
-          class="mobileBig-center"
+    <div class="mobiletitle">{{ title }}</div>
+    <div class="mobilelabel-content">
+      <div class="mobile-popup-imgs-heard">
+        <div class="mobile-popup-imgs-h-close">
+          <i class="el-icon-circle-close icon" @click="closeWindow"></i>
+        </div>
+        <img :src="url" alt="" />
+        <el-image
+          style="width: 100px; height: 100px"
+          :src="url"
+          id="mobileBigImgs"
+          v-show="false"
+          :preview-src-list="srcList"
         >
-          <div class="m-c-title">{{ item.name }}:</div>
-          <span class="m-c-center">{{ item.value }}</span>
+        </el-image>
+        <!-- <div>{{ query.query }}</div> -->
+        <div class="mobileBig-center-our">
+          <div
+            v-for="(item, index) in center"
+            :key="index"
+            class="mobileBig-center"
+          >
+            <div class="m-c-title">{{ item.name }}:</div>
+            <span class="m-c-center">{{ item.value }}</span>
+          </div>
         </div>
       </div>
-    </div>
-    <div class="mobile-popup-control">
-      <div v-for="(item, index) in seebut" :key="index">
-        <el-link
-          icon="el-icon-map-location"
-          class="mobilePopupOurOnce_r_d_in"
-          @click="openOnce(item.name)"
-          >{{ item.name }}</el-link
-        >
-        <el-divider
-          direction="vertical"
-          class="mobilePopupOurOnce_r_d_in"
-          v-if="index != seebut.length - 1"
-        ></el-divider>
+      <div class="mobile-popup-control">
+        <div v-for="(item, index) in seebut" :key="index">
+          <el-link
+            :icon="
+              item.name == '实景'
+                ? 'el-icon-place'
+                : item.name == '图集'
+                ? 'el-icon-data-board'
+                : item.name == '去这'
+                ? 'el-icon-finished'
+                : ''
+            "
+            class="mobilePopupOurOnce_r_d_in"
+            @click="openOnce(item.name)"
+            >{{ item.name }}</el-link
+          >
+          <el-divider
+            direction="vertical"
+            class="mobilePopupOurOnce_r_d_in"
+            v-if="index != seebut.length - 1"
+          ></el-divider>
+        </div>
       </div>
     </div>
   </div>
@@ -71,11 +85,23 @@
           this.seebut.push({
             name: "去这",
           });
+        } else {
+          this.seebut = [
+            {
+              name: "实景",
+            },
+            {
+              name: "图集",
+            },
+            {
+              name: "去这",
+            },
+          ];
         }
         this.center = [];
         for (let k in this.query.query) {
           for (let n in this.getCenter) {
-            if (k == this.getCenter[n].name) {
+            if (k == this.getCenter[n].name && this.query.query[k]) {
               this.center.push({
                 name: this.getCenter[n].value,
                 value: this.query.query[k] ? this.query.query[k] : "暂无",
@@ -97,6 +123,14 @@
           name: "telePhone",
           value: "电话",
         },
+        {
+          name: "address",
+          value: "地址",
+        },
+        {
+          name: "introduce",
+          value: "详情",
+        },
       ],
       title: "",
       fullscreenLoading: false,
@@ -104,12 +138,7 @@
       positions: "",
       srcList: [],
       seebut: [],
-      center: [
-        {
-          name: "网址",
-          value: "123",
-        },
-      ],
+      center: [],
     };
   },
   methods: {
@@ -119,12 +148,20 @@
       if (val == "去这") {
         //定位
       } else if (val == "实景") {
-        this.$store.commit("MSET_OPENMOBILEPANORAMA", true);
+        this.$store.commit(
+          "MSET_OPENMOBILEPANORAMA",
+          "https://www.kuleiman.com/110487/index.html?m=1"
+        );
       } else if (val == "图集") {
         let imgsDom = document.getElementById("mobileBigImgs");
         imgsDom.click();
       }
     },
+    closeWindow() {
+      if (!this.MobileWindowsHide) {
+        this.$store.dispatch("closeMobileWindowsDom"); //关闭随地图弹窗
+      }
+    },
   },
 };
 </script>
diff --git a/src/components/mobilemap/index.vue b/src/components/mobilemap/index.vue
index d289e6d..7309ca1 100644
--- a/src/components/mobilemap/index.vue
+++ b/src/components/mobilemap/index.vue
@@ -184,7 +184,7 @@
           that.$store.commit("MSET_ICONHIDE", true);
         }
         if (!that.MobileWindowsHide) {
-          that.$store.dispatch("closeMobileWindowsDom"); //关闭随地图弹窗
+          // that.$store.dispatch("closeMobileWindowsDom"); //关闭随地图弹窗
         }
         // if (!that.MobileWindowsHideFixed) {
         //   that.$store.dispatch("CLOSE_WIDOWFIXED"); //关闭固定弹窗
@@ -219,8 +219,8 @@
       viewer.use(new DC.Measure());
 
       tileset.setStyle(style);
-      // layer.addOverlay(tileset);
-      // viewer.flyTo(tileset);
+      layer.addOverlay(tileset);
+      viewer.flyTo(tileset);
 
       tileset.on(DC.MouseEventType.CLICK, (e) => {
         // that.popupFlag = true
@@ -229,7 +229,7 @@
         viewer.scene.globe.depthTestAgainstTerrain = false;
 
         // console.log(document.getElementById("mobile-map_content_content"));
-        console.log(e);
+        // console.log(e);
 
         // 定制化窗体
         that.openPopupS(e.position, [e.wgs84Position.lng, e.wgs84Position.lat]);
@@ -258,7 +258,7 @@
       let d = {
         position,
         lntLat,
-        query: { ...(query || {}), position, lntLat },
+        query: { ...(query || {}), introduce: position, address: lntLat },
         useJWD: true, //仅使用经纬度
       };
       that.$store.dispatch("setMobileWindows", d);
diff --git a/src/mobileDivForms/mobileDivForms.js b/src/mobileDivForms/mobileDivForms.js
index aacdde5..25cb2ed 100644
--- a/src/mobileDivForms/mobileDivForms.js
+++ b/src/mobileDivForms/mobileDivForms.js
@@ -74,11 +74,12 @@
 
         var el = $("<div class=''></div>")
 
-        var titleDiv = $("<div class='mobiletitle'></div>").text(this._title)
-        var labelContent = $("<div class='mobilelabel-content'></div>").append(this._content)
+        // var titleDiv = $("<div class='mobiletitle'></div>").text(this._title)
+        // var labelContent = $("<div class='mobilelabel-content'></div>").append(this._content)
 
-        el.append(titleDiv)
-        el.append(labelContent)
+        // el.append(titleDiv)
+        // el.append(labelContent)
+        el.append(this._content)
 
         el.attr('id', id)
 
diff --git a/src/store/modules/mobile.js b/src/store/modules/mobile.js
index 3cca045..a99ce68 100644
--- a/src/store/modules/mobile.js
+++ b/src/store/modules/mobile.js
@@ -62,7 +62,9 @@
         },
     },
     actions: {
-        setMobileWindows({ state, commit, }, data) {//打开随地图移动窗口,暂不使用
+        setMobileWindows({ state, commit, dispatch }, data) {//打开随地图移动窗口
+            // 关闭前一个弹窗?
+            dispatch("closeMobileWindowsDom");
             if (data.useJWD) {
                 var ellipsoid = state.mviewer.scene.globe.ellipsoid;
                 var cartographic = global.DC.Namespace.Cesium.Cartographic.fromDegrees(
@@ -82,10 +84,31 @@
                 content: document.getElementById("mobile-map_content_content"),
                 position: [data.position],
             });
-            commit("MSET_MOBILEWINDOWSHIDE", false)
-            state.mviewer.zoomToPosition(
-                new global.DC.Position(data.lntLat[0], data.lntLat[1] - 0.012, 1530, 0, -45)
+            // commit("MSET_MOBILEWINDOWSHIDE", false)//显示弹窗
+            // dispatch("CHANGETOC3", { // 转换坐标
+            //     lnt: data.lntLat[0],
+            //     lat: data.lntLat[1]
+            // }).then(res => {
+            // console.log(res)
+
+            //基于高度基础设置
+            // h:1530
+            // lnt: + 0.01187 x轴
+            // Lat + 0.0108 y轴
+            let Position = new global.DC.Position(//转坐标
+                +data.lntLat[0] + 0.01187,
+                +data.lntLat[1] - 0.0108,
+                1530,
+                0,
+                -45
             );
+            dispatch("mapFlyTo", {//飞入
+                lntLat: [Position.lng, Position.lat, Position.alt],
+                heading: Position.heading,
+                pitch: Position.pitch,
+                roll: Position.roll,
+            })
+            // })
             commit("MSET_POPUPDOM", popupsDom)
         },
         closeMobileWindowsDom({ state, commit }) {
@@ -98,7 +121,7 @@
             var ellipsoid = state.mviewer.scene.globe.ellipsoid;
             var cartographic = global.DC.Namespace.Cesium.Cartographic.fromDegrees(
                 data.lnt,
-                data.lat - 0.0004,
+                data.lat - 0.00006,
                 data.alt || "90.648862227"
             );
             var position = ellipsoid.cartographicToCartesian(cartographic);
@@ -124,6 +147,59 @@
         //加入当时的选点
         JOIN_POINT({ state, commit }, data) {
 
+        },
+        //flyTo
+        mapFlyTo({ state, commit, dispatch }, data) {
+            state.mviewer.camera.flyTo({
+                destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
+                    data.lntLat[0] - 0.012, data.lntLat[1],
+                    data.lntLat[2] || 15000.0
+                ),
+                // destination: data.res,
+                orientation: {
+                    heading: global.DC.Namespace.Cesium.Math.toRadians(data.heading),
+                    pitch: global.DC.Namespace.Cesium.Math.toRadians(data.pitch),
+                    // heading: data.heading,
+                    // pitch: data.pitch,
+                    roll: data.roll
+                },
+                duration: 2,   //定位的时间间隔
+                complete: () => {//完成后的回调
+                    setTimeout(() => {
+                        !state.MobileWindowsHide ||
+                            commit("MSET_MOBILEWINDOWSHIDE", false)//显示弹窗
+                    }, 0);
+                }
+            });
+            //官网flyto使用方法
+            // 1. Fly to a position with a top-down view
+            // viewer.camera.flyTo({
+            //     destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0)
+            // });
+
+            // // 2. Fly to a Rectangle with a top-down view
+            // viewer.camera.flyTo({
+            //     destination : Cesium.Rectangle.fromDegrees(west, south, east, north)
+            // });
+
+            // // 3. Fly to a position with an orientation using unit vectors.
+            // viewer.camera.flyTo({
+            //     destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0),
+            //     orientation : {
+            //         direction : new Cesium.Cartesian3(-0.04231243104240401, -0.20123236049443421, -0.97862924300734),
+            //         up : new Cesium.Cartesian3(-0.47934589305293746, -0.8553216253114552, 0.1966022179118339)
+            //     }
+            // });
+
+            // // 4. Fly to a position with an orientation using heading, pitch and roll.
+            // viewer.camera.flyTo({
+            //     destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0),
+            //     orientation : {
+            //         heading : Cesium.Math.toRadians(175.0),
+            //         pitch : Cesium.Math.toRadians(-35.0),
+            //         roll : 0.0
+            //     }
+            // });
         }
     }
 }
diff --git a/src/styles/mobile/popup.scss b/src/styles/mobile/popup.scss
index cae4d19..f7eedc5 100644
--- a/src/styles/mobile/popup.scss
+++ b/src/styles/mobile/popup.scss
@@ -3,11 +3,12 @@
     align-items: center;
     justify-content: center;
 }
+//随地图移动弹窗
 #mobile-map_popup_content {
     //弹窗
     width: 100%;
     position: fixed;
-    z-index: 999;
+    z-index: 100;
     left: -1000px;
     box-sizing: border-box;
     #mobilePopup {
@@ -18,18 +19,10 @@
         background-color: #fff;
         border-radius: 10px;
         position: relative;
-        &::before {
-            content: "";
-            width: 0px;
-            height: 0px;
-            border: 8px solid #ebebeb;
-            position: absolute;
-            bottom: -8px;
-            left: calc(50% - 8px);
-            transform: rotate(45deg);
-        }
+
         .mobiletitle {
-            width: calc(90% - 1px);
+            // width: calc(90% - 1px);
+            width: 100%;
             height: 35px;
             background-color: #f7f7f7;
             border-bottom: 1px solid #ebebeb;
@@ -43,6 +36,19 @@
             height: auto;
             // 内容样式
             .mobile-popup-imgs-heard {
+                .mobile-popup-imgs-h-close {
+                    width: 35px;
+                    height: 35px;
+                    background-color: #f7f7f7;
+                    position: absolute;
+                    @extend .centersFlex;
+                    border-radius: 100px;
+                    right: 0;
+                    top: 0;
+                    .icon {
+                        font-size: 25px;
+                    }
+                }
                 width: 100%;
                 padding: 10px;
                 text-align: justify;
@@ -66,7 +72,7 @@
                         }
                         .m-c-center {
                             width: 75%;
-                            text-indent: 2em;
+                            // text-indent: 2em;
                             word-wrap: break-word;
                             line-height: 25px;
                         }
@@ -83,11 +89,23 @@
                 display: flex;
                 align-items: center;
                 justify-content: center;
+                position: relative;
+                &::before {
+                    content: "";
+                    width: 0px;
+                    height: 0px;
+                    border: 8px solid #ebebeb;
+                    position: absolute;
+                    bottom: -8px;
+                    left: calc(50% - 8px);
+                    transform: rotate(45deg);
+                }
             }
         }
     }
 }
 
+//地图基础样式更改
 $controllerw: 35px !important;
 #mobile-viewer-container {
     // 继承类
@@ -262,3 +280,56 @@
         }
     }
 }
+
+//全屏弹窗
+#mobilePopupOur {
+    position: fixed;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    background-color: #fff;
+    z-index: 300;
+    .m_p_heard {
+        width: 100%;
+        height: 50px;
+        background-color: #a40000;
+        .m_p_h_break {
+            position: absolute;
+            left: 0;
+            top: 0;
+            width: 50px;
+            height: 50px;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+            .icon {
+                font-size: 22px;
+                color: #fff;
+            }
+        }
+        .m_p_h_center {
+            width: 100%;
+            height: 50px;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+            .el-dropdown-link {
+                color: #fff;
+            }
+        }
+    }
+    .m_p_center {
+        width: 100%;
+        height: calc(100% - 50px);
+        // border: 1px solid red
+        box-sizing: border-box;
+        .m_p_c_tableIn {
+            width: 100%;
+            height: 100%;
+            box-sizing: border-box;
+            overflow-x: hidden;
+            overflow-y: auto;
+        }
+    }
+}

--
Gitblit v1.9.3