From 4342ccaa6a8dff9f10554867891c3abfbc23f0b1 Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Thu, 24 Mar 2022 11:59:06 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/school-java-web

---
 src/views/hd/baseMapMap.vue |  152 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 152 insertions(+), 0 deletions(-)

diff --git a/src/views/hd/baseMapMap.vue b/src/views/hd/baseMapMap.vue
new file mode 100644
index 0000000..822f35d
--- /dev/null
+++ b/src/views/hd/baseMapMap.vue
@@ -0,0 +1,152 @@
+<template>
+  <div class="baseMapMap" :key="Refresh">
+    <MapInThere ref="baseMapMapsMap" />
+    <div class="controlbaseMapMap">
+      <div v-for="(item, index) in mapServiceValue" :key="index">
+        {{ item.type + " " + index }}
+        <el-switch class="around_left" v-model="item.show"> </el-switch>
+        <el-button
+          class="around_left"
+          type="danger"
+          icon="el-icon-delete"
+          circle
+          @click="deleteMapService(index)"
+          :disabled="notSet"
+        ></el-button>
+        <el-divider v-if="index != mapServiceValue.length - 1"></el-divider>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import MapInThere from "@/components/basemap/mainInThere.vue";
+export default {
+  name: "getMapData",
+  components: {
+    MapInThere,
+  },
+  computed: {
+    ...mapGetters(["mapServiceValue", "notSet"]),
+  },
+  watch: {
+    mapServiceValue: {
+      handler(val) {
+        // console.log("深度监听:", val);
+        //改变父级标单字段验证状态
+        this.$emit("changeMapSI");
+        this.checkDom("baseMapMapsMap", (dom) => {
+          //更改地图图层数据
+          dom.setServiceData(this.mapServiceValue);
+        });
+      },
+      deep: true,
+    },
+  },
+  data() {
+    return {
+      mapServiceData: [],
+    };
+  },
+  destroyed() {
+    //销毁清楚数据
+    this.$store.commit("clearMapServiceValue");
+    this.checkDom("baseMapMapsMap", (dom) => {
+      //更改地图图层数据
+      dom.clearServiceData();
+    });
+  },
+  mounted() {},
+  methods: {
+    deleteMapService(index) {
+      // console.log(index);
+      this.$store.commit("deleteMapServiceValue", index);
+    },
+    // addService(data) {
+    //   this.mapServiceData.push({
+    //     ...data,
+    //     show: true,
+    //   });
+    //   console.log(this.mapServiceData);
+    //   this.$refs.baseMapMapsMap.addMapService();
+    // },
+    checkDom(name, fn) {
+      //  声明定时器
+      let that = this;
+      var timer = null;
+      //  检查dom是否执行完成
+      function checkDom() {
+        let dom = that.$refs[name];
+        if (dom) {
+          //  执行dom加载完成后的操作
+          //  清除定时器
+          if (!timer) {
+            clearTimeout(timer);
+          }
+          if (fn) {
+            //回调函数
+            fn(dom);
+            return;
+          } else {
+            return dom;
+          }
+        } else {
+          //  自我调用
+          timer = setTimeout(checkDom, 100);
+        }
+      }
+      //  首次执行
+      checkDom();
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+.flexCenter {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.baseMapMap {
+  width: 100%;
+  height: 100%;
+  position: relative;
+  .controlbaseMapMap {
+    position: absolute;
+    top: 5px;
+    right: 5px;
+    background-color: #fff;
+    padding: 10px;
+    border-radius: 10px;
+    box-shadow: 0px 0px 10px -3px #000;
+  }
+  // 验证
+  .notPath {
+    // border-bottom: 0.5px solid red;
+  }
+}
+
+//过度动画
+.list-enter {
+  opacity: 0;
+  transform: translateY(10px);
+}
+.list-leave-to {
+  opacity: 0;
+  transform: translateY(-10px);
+}
+
+.list-enter-to,
+.list-leave {
+  opacity: 1;
+}
+​ .list-enter-active,
+.list-leave-active {
+  transition: all 0.3s;
+}
+.around_left {
+  padding: 0 5px;
+}
+</style>

--
Gitblit v1.9.3