From 09d137249b4ee41603a8e4becc41923b99f13e95 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 20 Jan 2022 11:31:49 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/school-web

---
 src/components/mobileWindow/index.vue        |   46 +++++
 src/components/mobilemap/index.vue           |  106 +++++++++++++
 src/components/mobilePopupOurAfter/index.vue |  142 +++++++++--------
 src/components/mobileLeftNav/index.vue       |    1 
 src/components/mobilePopupOur/index.vue      |    3 
 src/store/getters.js                         |  118 +++++++-------
 src/store/modules/mobile.js                  |   17 ++
 src/components/mobilePopupOurOnce/index.vue  |   21 ++
 8 files changed, 317 insertions(+), 137 deletions(-)

diff --git a/src/components/mobileLeftNav/index.vue b/src/components/mobileLeftNav/index.vue
index e584f72..768b558 100644
--- a/src/components/mobileLeftNav/index.vue
+++ b/src/components/mobileLeftNav/index.vue
@@ -365,6 +365,7 @@
                 video: data[k].videourl || "",
                 from: "labels",
                 introduce: data[k].introduce,
+                panoramaurl: data[k].panoramaurl,
               };
               // 定制化窗体
               that.openPopupS(
diff --git a/src/components/mobilePopupOur/index.vue b/src/components/mobilePopupOur/index.vue
index 42461d2..e00fde2 100644
--- a/src/components/mobilePopupOur/index.vue
+++ b/src/components/mobilePopupOur/index.vue
@@ -247,6 +247,7 @@
                 item.address.split(";")[0].split(",")[0],
                 item.address.split(";")[0].split(",")[1],
               ],
+              panoramaurl: item.panoramaurl, //全景
             };
             outList.push(useData);
           });
@@ -276,6 +277,7 @@
                 that.mBigPopup.name == "文化风景"
                   ? ["定位", "实景", "图集"]
                   : ["定位"],
+              panoramaurl: item.panoramaurl, //全景
             };
             outList.push(useData);
           });
@@ -326,6 +328,7 @@
               that.mBigPopup.name == "文化风景"
                 ? ["定位", "实景", "图集"]
                 : ["定位"],
+            panoramaurl: item.panoramaurl, //全景
           };
           outList.push(useData);
         });
diff --git a/src/components/mobilePopupOurAfter/index.vue b/src/components/mobilePopupOurAfter/index.vue
index c0fbf14..a90857f 100644
--- a/src/components/mobilePopupOurAfter/index.vue
+++ b/src/components/mobilePopupOurAfter/index.vue
@@ -17,7 +17,7 @@
           :key="index"
         >
           <div class="m_p_a_c_o_up"><i :class="[item.icon]"></i></div>
-          <div class="m_p_a_c_o_down">{{ item.name }}</div>
+          <div class="m_p_a_c_o_down">{{ item.seeName || item.name }}</div>
         </div>
       </div>
       <div class="m_p_a_center_group">
@@ -28,7 +28,7 @@
           :key="index"
         >
           <div class="m_p_a_c_o_up"><i :class="[item.icon]"></i></div>
-          <div class="m_p_a_c_o_down">{{ item.name }}</div>
+          <div class="m_p_a_c_o_down">{{ item.seeName || item.name }}</div>
         </div>
       </div>
     </div>
@@ -36,9 +36,9 @@
 </template>
 
 <script>
-import { mapGetters } from "vuex";
-import { getList } from "@/api/mobile/orgnav/index"; //机构单位
-import { getChildNavList } from "@/api/mobile/public/arc"; //社区建筑
+import { mapGetters } from 'vuex'
+import { getList } from '@/api/mobile/orgnav/index' // 机构单位
+import { getChildNavList } from '@/api/mobile/public/arc' // 社区建筑
 import {
   // getListlivingFacilitiesr,
   // getListsupermarket,
@@ -50,67 +50,69 @@
   // getListaed,
   // getListsignal,
   // getListtransference,
-  getListLifeOnce, //所有的
-} from "@/api/mobile/livingFacilities/index"; //生活设施
+  getListLifeOnce // 所有的
+} from '@/api/mobile/livingFacilities/index' // 生活设施
 // import { getListdoor } from "@/api/mobile/outIn/index"; //出入口
 // import { getListparking } from "@/api/mobile/stop/index"; //停车场
 export default {
-  name: "mobilePopupOurAfter",
+  name: 'mobilePopupOurAfter',
   computed: {
-    ...mapGetters(["mBigPopupAfter"]),
+    ...mapGetters(['mBigPopupAfter'])
   },
-  data() {
+  data () {
     return {
-      choiceValue: "",
+      choiceValue: '',
       choiceDataUp: [
         {
-          name: "机构单位",
-          icon: "el-icon-s-cooperation",
-          opendata: "openData1",
+          // seeName: "社区内机构导览",
+          name: '机构单位',
+          icon: 'el-icon-s-cooperation',
+          opendata: 'openData1'
         },
         {
-          name: "社区建筑",
-          opendata: "openData2",
-          icon: "el-icon-s-management",
+          name: '社区建筑',
+          opendata: 'openData2',
+          icon: 'el-icon-s-management'
         },
         {
-          name: "生活设施",
-          opendata: "openData3",
-          icon: "el-icon-s-flag",
-        },
+          // seeName: "生活服务设施",
+          name: '生活设施',
+          opendata: 'openData3',
+          icon: 'el-icon-s-flag'
+        }
       ],
       choiceDataDown: [
         {
-          name: "文化风景",
-          opendata: "openData4",
-          icon: "el-icon-s-opportunity",
+          name: '文化风景',
+          opendata: 'openData4',
+          icon: 'el-icon-s-opportunity'
         },
         {
-          name: "出入口",
-          opendata: "openData5",
-          icon: "el-icon-s-promotion",
+          name: '出入口',
+          opendata: 'openData5',
+          icon: 'el-icon-s-promotion'
         },
         {
-          name: "停车场",
-          opendata: "openData6",
-          icon: "el-icon-s-flag",
-        },
+          name: '停车场',
+          opendata: 'openData6',
+          icon: 'el-icon-s-flag'
+        }
       ],
       openData1: [
-        { 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 },
+        { 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, 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 },
+        { 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, method: getListlivingFacilitiesr },
@@ -127,37 +129,39 @@
       // openData6: [{ name: "停车场", type: 1, method: getListparking }],
       // openData5: [{ name: "出入口", type: 1, method: getListdoor }],
       openData3: [
-        { name: "食堂餐厅", type: 1, method: getListLifeOnce },
-        { name: "购物超市", type: 2, method: getListLifeOnce },
-        { name: "社区内医疗", type: 3, method: getListLifeOnce },
-        { name: "邮寄快递", type: 4, method: getListLifeOnce },
-        { name: "社区浴室", type: 5, method: getListLifeOnce },
-        { name: "圈存机", type: 6, method: getListLifeOnce },
-        { name: "打字复印", type: 7, method: getListLifeOnce },
-        { name: "银行网点", type: 8, method: getListLifeOnce },
-        { name: "AED", type: 9, method: getListLifeOnce },
-        { name: "通信营业厅", type: 10, method: getListLifeOnce },
+        // { name: "食堂餐厅", type: 1, method: getListLifeOnce },
+        { name: '购物超市', type: 2, method: getListLifeOnce },
+        { name: '社区医疗', type: 3, method: getListLifeOnce },
+        { name: '邮寄快递', type: 4, method: getListLifeOnce },
+        { name: '社区浴室', type: 5, method: getListLifeOnce },
+        // { name: "圈存机", type: 6, method: getListLifeOnce },
+        { name: '打字复印', type: 7, method: getListLifeOnce },
+        { name: '银行网点', type: 8, method: getListLifeOnce },
+        { name: 'AED', type: 9, method: getListLifeOnce },
+        { name: '通信营业厅', type: 10, method: getListLifeOnce },
+        { name: '停车场', type: 11, method: getListLifeOnce },
+        { name: '出入口', type: 12, method: getListLifeOnce }
       ],
-      openData6: [{ name: "停车场", type: 11, method: getListLifeOnce }],
-      openData5: [{ name: "出入口", type: 12, method: getListLifeOnce }],
-      openData4: [{ name: "文化风景", type: 5, method: getChildNavList }],
-    };
+      openData6: [{ name: '停车场', type: 11, method: getListLifeOnce }],
+      openData5: [{ name: '出入口', type: 12, method: getListLifeOnce }],
+      openData4: [{ name: '文化风景', type: 5, method: getChildNavList }]
+    }
   },
-  mounted() {},
+  mounted () {},
   methods: {
-    openBigPopup(val) {
-      let d = {
+    openBigPopup (val) {
+      const d = {
         main: this[val.opendata],
-        qurey: val.name,
-      };
-      this.$store.commit("MSET_POPUPOUROPENDATA", d);
-      this.$store.commit("MSET_BIGPOPUP", val);
+        qurey: val.name
+      }
+      this.$store.commit('MSET_POPUPOUROPENDATA', d)
+      this.$store.commit('MSET_BIGPOPUP', val)
     },
-    closeBigPopupAfter() {
-      this.$store.commit("MSET_BIGPOPUPAFTER", false);
-    },
-  },
-};
+    closeBigPopupAfter () {
+      this.$store.commit('MSET_BIGPOPUPAFTER', false)
+    }
+  }
+}
 </script>
 
 <style lang="scss" scoped>
diff --git a/src/components/mobilePopupOurOnce/index.vue b/src/components/mobilePopupOurOnce/index.vue
index 00a3331..097ce3b 100644
--- a/src/components/mobilePopupOurOnce/index.vue
+++ b/src/components/mobilePopupOurOnce/index.vue
@@ -80,8 +80,20 @@
       let buts = this.onceData.buts;
       let b = [];
       for (let k in buts) {
+        if (buts[k] == "实景") {
+          continue;
+        }
         b.push({
           name: buts[k],
+        });
+      }
+      if (this.ourData.panoramaurl) {
+        b.push({
+          name: "实景",
+        });
+      } else {
+        b = b.filter((res) => {
+          return res.name != "实景";
         });
       }
       return b;
@@ -116,10 +128,10 @@
         //固定窗口
         // that.$store.dispatch("SET_OPENWIDOWFIXED", d);
       } else if (val == "实景") {
-        this.$store.commit(
-          "MSET_OPENMOBILEPANORAMA",
-          "https://www.kuleiman.com/110487/index.html?m=1"
-        );
+        this.$store.commit("MSET_OPENMOBILEPANORAMA", this.ourData.panoramaurl);
+        // if(this.ourData.panoramaurl){
+        // }
+        // console.log(this.ourData.panoramaurl);
       } else if (val == "图集") {
         let imgsDom = document.getElementById("mobileBigImgs" + this.icon + "");
         imgsDom.click();
@@ -143,6 +155,7 @@
           address: result.address,
           introduce: result.introduce,
           video: result.videourl,
+          panoramaurl: result.panoramaurl, //全景
         };
         this.ourData = d;
       });
diff --git a/src/components/mobileWindow/index.vue b/src/components/mobileWindow/index.vue
index 0507adf..9cda73e 100644
--- a/src/components/mobileWindow/index.vue
+++ b/src/components/mobileWindow/index.vue
@@ -97,6 +97,7 @@
       "query",
       "MobileWindowChangeData",
       "audioState",
+      "areaLayerSelect",
     ]),
   },
   watch: {
@@ -108,7 +109,7 @@
         this.video = ""; //清除视频
         this.seebut = []; //清除按钮
         let queryData = this.query.query;
-        console.log(queryData, 789);
+        // console.log(queryData, 789);
         this.title = queryData.name;
 
         if (queryData.seebut) {
@@ -121,6 +122,11 @@
             this.seebut.push({
               name: "显示活动",
             });
+            if (queryData.notAddGoOn == "notAddGoOn") {
+              this.seebut.push({
+                name: "去这",
+              });
+            }
           }
           for (let k in this.seebut) {
             if (this.seebut[k].name == "定位") {
@@ -134,9 +140,9 @@
           }
         } else {
           this.seebut = [
-            {
-              name: "实景",
-            },
+            // {
+            //   name: "实景",
+            // },
             {
               name: "图集",
             },
@@ -145,6 +151,7 @@
             },
           ];
         }
+        //图集
         if (queryData.bgImg) {
           this.srcList = queryData.bgImg.split(",");
           this.url = this.srcList[0];
@@ -153,6 +160,7 @@
             return res.name != "图集";
           });
         }
+        //视频
         if (queryData.video) {
           if (queryData.from == "labels") {
             this.seebut = [];
@@ -161,6 +169,20 @@
             this.seebut.push({ name: "视频" });
           }
         }
+        //全景
+        if (queryData.panoramaurl) {
+          this.panoramaurl = queryData.panoramaurl;
+          this.seebut = this.seebut.filter((res) => {
+            return res.name != "实景";
+          });
+          this.seebut.splice(0, 0, { name: "实景" });
+        } else {
+          this.panoramaurl = "";
+          this.seebut = this.seebut.filter((res) => {
+            return res.name != "实景";
+          });
+        }
+        //中心内容
         this.center = [];
         for (let k in queryData) {
           for (let n in this.getCenter) {
@@ -220,6 +242,7 @@
       srcList: [],
       seebut: [],
       center: [],
+      panoramaurl: "",
     };
   },
   methods: {
@@ -228,6 +251,7 @@
       that.routerS = [];
       let once = true;
       let query = this.query.query;
+      // console.log(query);
       if (val == "去这") {
         //定位
         // console.log(this.query.query);
@@ -235,7 +259,7 @@
         let ints = {
           // start: [114.039946, 27.628475],
           // end: that.query.query.lntLat,
-          start: [+that.query.query.lntLat[0], +that.query.query.lntLat[1]],
+          start: [+query.lntLat[0], +query.lntLat[1], 360],
           end: [114.031946, 27.621475],
           type: "driving",
           fn: function (datas) {
@@ -252,6 +276,9 @@
         };
         that.$store.dispatch("MSET_GOTOWHERE", ints);
       } else if (val == "实景") {
+        // console.log(this.panoramaurl, query);
+        this.$store.commit("MSET_OPENMOBILEPANORAMA", this.panoramaurl);
+        return;
         this.$store.commit(
           "MSET_OPENMOBILEPANORAMA",
           "https://www.kuleiman.com/110487/index.html?m=1"
@@ -299,7 +326,16 @@
     },
     closeWindow() {
       if (!this.MobileWindowsHide) {
+        let that = this;
         this.$store.dispatch("closeMobileWindowsDom"); //关闭随地图弹窗
+        if (that.areaLayerSelect.overlay != undefined) {
+          that.areaLayerSelect.overlay.setStyle({
+            material: that.areaLayerSelect.color,
+            outline: false,
+          });
+
+          that.$store.commit("mset_changeSelect", [undefined, undefined]);
+        }
       }
     },
     openAudio() {
diff --git a/src/components/mobilemap/index.vue b/src/components/mobilemap/index.vue
index c15d548..cc9c4ae 100644
--- a/src/components/mobilemap/index.vue
+++ b/src/components/mobilemap/index.vue
@@ -33,6 +33,7 @@
   </div>
 </template>
 <script>
+import axios from "axios";
 import { mapGetters } from "vuex";
 export default {
   name: "mobilemapBox",
@@ -79,6 +80,7 @@
         [116.39585177, 27.93945304, 100],
         [116.41526036, 27.95352217, 100],
       ],
+      areaLayer: null,
     };
   },
   computed: {
@@ -92,6 +94,8 @@
       "MobileWindowsHideFixed",
       "dimension",
       "dimensionData",
+      "areaLayer", //绿布
+      "areaLayerSelect", //绿布颜色控制
     ]),
   },
   watch: {
@@ -480,6 +484,108 @@
       };
 
       const newLayer = usetowpointfive();
+      //2.5d贴图事件
+      const layerGroup = new that.DC.LayerGroup("modelBox");
+      viewer.addLayerGroup(layerGroup);
+
+      let areaLayer = new that.DC.VectorLayer("areaLayer");
+      layerGroup.addLayer(areaLayer);
+      axios
+        .get(
+          "http://arcgis.jxpskj.com:6080/arcgis/rest/services/lxxqwxq/MapServer/0/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson"
+        )
+        .then((resultData) => {
+          resultData.data.features.forEach((item) => {
+            item.geometry.rings[0].forEach((it) => {
+              it = it.join(",");
+            });
+
+            item.geometry.rings[0] = item.geometry.rings[0].join(";");
+
+            const polygon = new that.DC.Polygon(item.geometry.rings[0]);
+            polygon.attr = item.attributes;
+
+            polygon.setStyle({
+              material: that.DC.Namespace.Cesium.Color.fromBytes(
+                255,
+                255,
+                255,
+                1
+              ),
+            });
+
+            areaLayer.addOverlay(polygon);
+          });
+
+          areaLayer.show = true;
+        });
+      that.$store.commit("MSET_areaLayer", areaLayer);
+      // var select = {
+      //   overlay: undefined,
+      //   color: undefined,
+      // };
+      viewer.on(that.DC.MouseEventType.CLICK, (e) => {
+        // console.log(e);
+        if (e.overlay != undefined && e.layer.id == "areaLayer") {
+          if (that.areaLayerSelect.overlay != undefined) {
+            if (e.overlay != that.areaLayerSelect.overlay) {
+              that.areaLayerSelect.overlay.setStyle({
+                material: that.areaLayerSelect.color,
+                outline: false,
+              });
+
+              that.$store.commit("mset_changeSelect", [undefined, undefined]);
+            }
+          }
+
+          if (that.areaLayerSelect.overlay == undefined) {
+            that.areaLayerSelect.overlay = e.overlay;
+
+            that.areaLayerSelect.color = e.overlay._style.material;
+            that.areaLayerSelect.overlay.setStyle({
+              outline: true,
+              outlineColor: that.DC.Namespace.Cesium.Color.fromBytes(
+                3,
+                255,
+                13,
+                255
+              ), // 边框颜色
+              outlineWidth: 10, // 边框大小,
+              height: 0.01,
+              material: that.DC.Namespace.Cesium.Color.fromBytes(
+                108,
+                245,
+                113,
+                158
+              ),
+            });
+          }
+          // 定制化窗体
+          that.openPopupS(
+            {},
+            [e.wgs84SurfacePosition.lng, e.wgs84SurfacePosition.lat],
+            {
+              name: "楼栋号:" + e.overlay.attr["楼栋号"],
+              bgImg:
+                "http://223.82.109.183:2081/zhxy/upload/20220105/3c05dd70a9eac17b7e49afbfc7b1b68e.png",
+              address: "",
+              introduce: "",
+              data: e,
+              lntLat: [e.wgs84SurfacePosition.lng, e.wgs84SurfacePosition.lat],
+            }
+          );
+        } else {
+          if (that.areaLayerSelect.overlay != undefined) {
+            that.areaLayerSelect.overlay.setStyle({
+              material: that.areaLayerSelect.color,
+              outline: false,
+            });
+
+            that.$store.commit("mset_changeSelect", [undefined, undefined]);
+          }
+        }
+      });
+
       // 2.5D贴图↑
       let startPoint;
       if (true) {
diff --git a/src/store/getters.js b/src/store/getters.js
index 8e9568c..df05f42 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -1,26 +1,28 @@
 // 手机端
 const mobile = {
-    mviewer: (state) => state.mobile.mviewer,
-    mBigPopup: (state) => state.mobile.mBigPopup,
-    popupOurOpenData: (state) => state.mobile.popupOurOpenData,
-    popupTableName: (state) => state.mobile.popupTableName,
-    mBigPopupAfter: (state) => state.mobile.mBigPopupAfter,
-    iconHide: (state) => state.mobile.iconHide,
-    MobileWindowsHide: (state) => state.mobile.MobileWindowsHide, // 随地图移动窗口
-    MobileWindowChangeData: (state) => state.mobile.MobileWindowChangeData, // 随地图移动窗口
-    popupsDom: (state) => state.mobile.popupsDom,
-    query: (state) => state.mobile.query,
-    openmobileGoTo: (state) => state.mobile.openmobileGoTo, // 测试
-    ccDataState: (state) => state.mobile.ccDataState, // 测试
-    openmobilePanorama: (state) => state.mobile.openmobilePanorama,
-    MobileWindowsHideFixed: (state) => state.mobile.MobileWindowsHideFixed, // 固定窗口
-    MobileWindowChangeDataFixed: (state) =>
-        state.mobile.MobileWindowChangeDataFixed, // 固定窗口
-    startPointFn: (state) => state.mobile.startPointFn, // 默认起始点位置
-    dimension: (state) => state.mobile.dimension, // 维度
-    dimensionData: (state) => state.mobile.dimensionData, // 维度镜头数据
-    perspectiveControl: (state) => state.mobile.perspectiveControl, /// 视角控制:高度、角度  ()=>{}
-    audioState: (state) => state.mobile.audioState, // 文字转语音状态
+  mviewer: (state) => state.mobile.mviewer,
+  mBigPopup: (state) => state.mobile.mBigPopup,
+  popupOurOpenData: (state) => state.mobile.popupOurOpenData,
+  popupTableName: (state) => state.mobile.popupTableName,
+  mBigPopupAfter: (state) => state.mobile.mBigPopupAfter,
+  iconHide: (state) => state.mobile.iconHide,
+  MobileWindowsHide: (state) => state.mobile.MobileWindowsHide, // 随地图移动窗口
+  MobileWindowChangeData: (state) => state.mobile.MobileWindowChangeData, // 随地图移动窗口
+  popupsDom: (state) => state.mobile.popupsDom,
+  query: (state) => state.mobile.query,
+  openmobileGoTo: (state) => state.mobile.openmobileGoTo, // 测试
+  ccDataState: (state) => state.mobile.ccDataState, // 测试
+  openmobilePanorama: (state) => state.mobile.openmobilePanorama,
+  MobileWindowsHideFixed: (state) => state.mobile.MobileWindowsHideFixed, // 固定窗口
+  MobileWindowChangeDataFixed: (state) =>
+    state.mobile.MobileWindowChangeDataFixed, // 固定窗口
+  startPointFn: (state) => state.mobile.startPointFn, // 默认起始点位置
+  dimension: (state) => state.mobile.dimension, // 维度
+  dimensionData: (state) => state.mobile.dimensionData, // 维度镜头数据
+  perspectiveControl: (state) => state.mobile.perspectiveControl, /// 视角控制:高度、角度  ()=>{}
+  audioState: (state) => state.mobile.audioState, // 文字转语音状态
+  areaLayer: (state) => state.mobile.areaLayer, // 文字转语音状态
+  areaLayerSelect: (state) => state.mobile.select, // 文字转语音状态
 
   isOpenDrawALine: (state) => state.mobile.isOpenDrawALine, // 是否开启路线
   isendPosition: (state) => state.mobile.isendPosition, // 路线导航终点数据改变
@@ -29,46 +31,46 @@
   choiceRouterS: (state) => state.mobile.choiceRouterS, // 当前选择路径
 
   showActivity: (state) => state.mobile.showActivity, // 显影活动弹窗
-  isOpenDrawALineMany: (state) => state.mobile.isOpenDrawALineMany // 显影活动弹窗
-}
+  isOpenDrawALineMany: (state) => state.mobile.isOpenDrawALineMany, // 显影活动弹窗
+};
 
 const navigation = {
-    campusNavFlag: (state) => state.navigation.campusNavFlag,
-    comeName: (state) => state.navigation.comeName,
-    getToName: (state) => state.navigation.getToName
-}
+  campusNavFlag: (state) => state.navigation.campusNavFlag,
+  comeName: (state) => state.navigation.comeName,
+  getToName: (state) => state.navigation.getToName,
+};
 
 const search = {
-    orgNavBarFlag: (state) => state.search.orgNavBarFlag,
-    orgNavBarTitle: (state) => state.search.orgNavBarTitle,
-    orgNavBarList: (state) => state.search.orgNavBarList,
-    arcNavBarFlag: (state) => state.search.arcNavBarFlag,
-    arcNavBarTitle: (state) => state.search.arcNavBarTitle,
-    arcNavBarCode: (state) => state.search.arcNavBarCode
-}
+  orgNavBarFlag: (state) => state.search.orgNavBarFlag,
+  orgNavBarTitle: (state) => state.search.orgNavBarTitle,
+  orgNavBarList: (state) => state.search.orgNavBarList,
+  arcNavBarFlag: (state) => state.search.arcNavBarFlag,
+  arcNavBarTitle: (state) => state.search.arcNavBarTitle,
+  arcNavBarCode: (state) => state.search.arcNavBarCode,
+};
 
 const getters = {
-    ...mobile,
-    ...navigation,
-    ...search,
-    viewer: (state) => state.viewer.viewer,
-    twoOrThree: (state) => state.viewer.twoOrThree,
-    popupBgUrl: (state) => state.popupParams.popupBgUrl,
-    pupupQRUrl: (state) => state.popupParams.pupupQRUrl,
-    pointPosition: (state) => state.popupParams.pointPosition,
-    terminus: (state) => state.popupParams.terminus,
-    startingPoint: (state) => state.popupParams.startingPoint,
-    stateName: (state) => state.popupParams.stateName,
-    siteName: (state) => state.popupParams.siteName,
-    telephone: (state) => state.popupParams.telephone,
-    introduceText: (state) => state.popupParams.introduceText,
-    panoramaUrl: (state) => state.popupParams.panoramaUrl,
-    panoramaPopup: (state) => state.popupParams.panoramaPopup,
-    monitorUrl: (state) => state.popupParams.monitorUrl,
-    monitorPopup: (state) => state.popupParams.monitorPopup,
-    detailsPopup: (state) => state.popupParams.detailsPopup,
-    popupImgAtlas: (state) => state.popupParams.popupImgAtlas,
-    teachList: (state) => state.popupParams.teachList,
-    liveList: (state) => state.popupParams.liveList
-}
-export default getters
+  ...mobile,
+  ...navigation,
+  ...search,
+  viewer: (state) => state.viewer.viewer,
+  twoOrThree: (state) => state.viewer.twoOrThree,
+  popupBgUrl: (state) => state.popupParams.popupBgUrl,
+  pupupQRUrl: (state) => state.popupParams.pupupQRUrl,
+  pointPosition: (state) => state.popupParams.pointPosition,
+  terminus: (state) => state.popupParams.terminus,
+  startingPoint: (state) => state.popupParams.startingPoint,
+  stateName: (state) => state.popupParams.stateName,
+  siteName: (state) => state.popupParams.siteName,
+  telephone: (state) => state.popupParams.telephone,
+  introduceText: (state) => state.popupParams.introduceText,
+  panoramaUrl: (state) => state.popupParams.panoramaUrl,
+  panoramaPopup: (state) => state.popupParams.panoramaPopup,
+  monitorUrl: (state) => state.popupParams.monitorUrl,
+  monitorPopup: (state) => state.popupParams.monitorPopup,
+  detailsPopup: (state) => state.popupParams.detailsPopup,
+  popupImgAtlas: (state) => state.popupParams.popupImgAtlas,
+  teachList: (state) => state.popupParams.teachList,
+  liveList: (state) => state.popupParams.liveList,
+};
+export default getters;
diff --git a/src/store/modules/mobile.js b/src/store/modules/mobile.js
index 117f84b..a6d6a20 100644
--- a/src/store/modules/mobile.js
+++ b/src/store/modules/mobile.js
@@ -46,6 +46,12 @@
     tilesetLayer: null, //2.5d模型
     usetowpointfive: null,
     tilesetLayer: null, //瀑布流
+    areaLayer: null, //2.5d事件--绿色图层
+    select: {
+      //绿色图层控制显示
+      overlay: undefined,
+      color: undefined,
+    },
 
     vecLayer: null, //3D底图
     cvaLayer: null, //3D底图
@@ -177,6 +183,7 @@
         state.tilesetLayer.show = true; //显示3d图形
         state.startPointFn(); //移动默认视角
         // state.mviewer.flyTo(state.tileset);
+        state.areaLayer.show = false; //绿布
 
         //3D视角不限制
         state.mviewer.scene.screenSpaceCameraController.minimumZoomDistance = 80;
@@ -208,7 +215,7 @@
         state.newLayer = state.usetowpointfive(); //添加2.5d图形贴片
         state.wallLayer.show = false; //打开瀑布
         state.startPointFn(); //移动默认视角
-
+        state.areaLayer.show = true; //绿布
         //2.5D视角限制
         state.mviewer.scene.screenSpaceCameraController.minimumZoomDistance = 0;
         // 最大
@@ -224,6 +231,10 @@
         // 视角旋转
         state.mviewer.scene.screenSpaceCameraController.enableTilt = false;
       }
+    },
+    //绿布
+    MSET_areaLayer(state, data) {
+      state.areaLayer = data;
     },
     //切换控制
     MSET_PERSPECTIVECONTROL(state, data) {
@@ -297,6 +308,10 @@
     set_showActivity(state, data) {
       state.showActivity = data;
     },
+    mset_changeSelect(state, data) {
+      state.select.overlay = data[0];
+      state.select.color = data[1];
+    },
   },
   actions: {
     MSET_CREADE({ state, commit, dispatch }) {

--
Gitblit v1.9.3