From 97277a2c41d80bbf375f88a47e242f1b17602b2b Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期三, 29 十一月 2023 16:53:10 +0800
Subject: [PATCH] 发布管理修改

---
 src/views/Tools/AddOnlineOLMap.vue    |  221 ++++++++++
 src/views/datamanage/uploadmanage.vue |   24 
 src/views/Tools/layer.js              |   92 ++++
 src/components/MapDiv.vue             |   31 +
 src/components/mapol.vue              |    4 
 src/store/index.js                    |    3 
 src/components/mapsdk.vue             |  657 +++++++----------------------
 src/views/datamanage/dataUpdata.vue   |   10 
 src/views/Tools/AddOnlineMap.vue      |  230 +---------
 9 files changed, 550 insertions(+), 722 deletions(-)

diff --git a/src/components/MapDiv.vue b/src/components/MapDiv.vue
index 9c1be5b..e55ced2 100644
--- a/src/components/MapDiv.vue
+++ b/src/components/MapDiv.vue
@@ -24,6 +24,7 @@
       <mapol></mapol>
     </div>
     <add-online-map ref="addOnlineMap" />
+    <add-online-ol-map ref="addOnlineOlMap"></add-online-ol-map>
   </div>
 </template>
 
@@ -35,13 +36,15 @@
 import ol from "ol"
 import $ from "jquery"
 import AddOnlineMap from '../views/Tools/AddOnlineMap.vue'
+import AddOnlineOlMap from '../views/Tools/AddOnlineOLMap.vue'
 export default {
   name: "",
 
   components: {
     mapsdk,
     mapol,
-    AddOnlineMap
+    AddOnlineMap,
+    AddOnlineOlMap
   },
   data() {
     return {
@@ -62,6 +65,7 @@
     changeMap(res) {
       this.isSplitFlag = res
       this.getMapViewCenter(this.isSplitFlag);
+  
       switch (res) {
         case 1:
           this.isShowCeMap = true
@@ -70,8 +74,9 @@
           this.isShowOlMap = true
           this.isSdkMapFlag = true
           var that = this
-
+          this.$store.state.setChangeBaseMap = false;
           setTimeout(function () {
+       
             window.map.updateSize()
             that.showSplitMap()
           }, 500)
@@ -96,6 +101,7 @@
           this.isOlMapFlag = false
           this.isShowCeMap = false
           var val = this.$store.state.Map3;
+          this.$store.state.setChangeBaseMap = true; 
           window.Viewer.camera.setView({
             destination: Cesium.Cartesian3.fromDegrees(val[0], val[1], val[2]),
           })
@@ -227,13 +233,22 @@
       }
       return this.levelArray[this.levelArray.length - 1]
     },
-    showBaseMapLayer() {
-      this.$refs && this.$refs.addOnlineMap && this.$refs.addOnlineMap.open("鍦ㄧ嚎鍦板浘", null);
-    }
+    showBaseMapLayer(res) {
+      this.closeAllBaseMapLayer();
+      if(res.type == 'ol'){
+        this.$refs && this.$refs.addOnlineOlMap && this.$refs.addOnlineOlMap.open("2D鍦ㄧ嚎鍦板浘", null);
+      }else{
+        this.$refs && this.$refs.addOnlineMap && this.$refs.addOnlineMap.open("3D鍦ㄧ嚎鍦板浘", null);
+      }
+    },
+    closeAllBaseMapLayer(){
+      this.$refs && this.$refs.addOnlineOlMap && this.$refs.addOnlineOlMap.close();
+      this.$refs && this.$refs.addOnlineMap && this.$refs.addOnlineMap.close();
+    },
   },
   mounted() {
     this.$bus.$on("setChangeBaseMapLayer", (res) => {
-      this.showBaseMapLayer()
+      this.showBaseMapLayer(res)
 
 
     })
@@ -269,7 +284,7 @@
   width: 100%;
 }
 .sdkMapTwo {
-  width: calc(50% - 1px);
+  width: calc(50% - 2px);
 }
 .olMap {
   height: 100%;
@@ -281,7 +296,7 @@
   width: 100%;
 }
 .olMapTwo {
-  width: calc(50% - 1px);
+  width: calc(50% - 2px);
 }
 #ds {
   height: 100%;
diff --git a/src/components/mapol.vue b/src/components/mapol.vue
index 8ee1c0e..56a3a30 100644
--- a/src/components/mapol.vue
+++ b/src/components/mapol.vue
@@ -26,7 +26,9 @@
       <div
         @click="changeMapType"
         class="changeMapType"
+        v-if="$store.state.setChangeBaseMap"
         style="  position: absolute;
+        
   bottom: 52px;
   right: 46px;
   height: 30px;
@@ -203,7 +205,7 @@
     },
 
     changeMenulayer() {
-      this.$bus.$emit("setChangeBaseMapLayer", true)
+      this.$bus.$emit("setChangeBaseMapLayer", {type:'ol',boolen:true})
       // this.isActive = !this.isActive
       // this.isMenuLayer = !this.isMenuLayer
       // this.setLayerVisible()
diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue
index 803cf80..ec54a0d 100644
--- a/src/components/mapsdk.vue
+++ b/src/components/mapsdk.vue
@@ -1,212 +1,107 @@
 <template>
   <div class="mapBox">
     <div id="mapdiv">
-      <div
-        class="menu_Top box_divm"
-        v-if="$store.state.mapMenuBoolean"
-      >
+      <div class="menu_Top box_divm" v-if="$store.state.mapMenuBoolean">
         <map-menu-top v-if="$store.state.mapMenuBoxFlag == '1'" />
         <map-space-top v-if="$store.state.mapMenuBoxFlag == '2'" />
       </div>
-      <div
-        class="bufferBox"
-        v-if="showBufferBoxDialog"
-      >
+      <div class="bufferBox" v-if="showBufferBoxDialog">
         <el-card class="box-card box_divm">
-          <div
-            slot="header"
-            class="clearfix"
-          >
+          <div slot="header" class="clearfix">
             <span>缂撳啿鍖哄垎鏋�</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(1)"
-              ></i>
+              <i class="el-icon-close" @click="closeBufferBox(1)"></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form
-              ref="form"
-              :model="bufFrom"
-              label-width="100px"
-            >
+            <el-form ref="form" :model="bufFrom" label-width="100px">
               <el-form-item label="缂撳啿鍗婂緞(绫�):">
                 <el-input v-model="bufFrom.val"></el-input>
               </el-form-item>
               <el-form-item>
-                <el-button
-                  @click="addBuffer(1)"
-                  type="info"
-                >鐐�</el-button>
-                <el-button
-                  @click="addBuffer(2)"
-                  type="info"
-                >绾�</el-button>
-                <el-button
-                  @click="addBuffer(3)"
-                  type="info"
-                >闈�</el-button>
-                <el-button
-                  @click="clearBuffer"
-                  type="info"
-                >娓呴櫎</el-button>
+                <el-button @click="addBuffer(1)" type="info">鐐�</el-button>
+                <el-button @click="addBuffer(2)" type="info">绾�</el-button>
+                <el-button @click="addBuffer(3)" type="info">闈�</el-button>
+                <el-button @click="clearBuffer" type="info">娓呴櫎</el-button>
               </el-form-item>
             </el-form>
           </div>
         </el-card>
       </div>
       <!--鍧愭爣鐐逛綅-->
-      <div
-        class="coordLocalBox"
-        v-if="showCoordLocalBoxDialog"
-      >
+      <div class="coordLocalBox" v-if="showCoordLocalBoxDialog">
         <el-card class="box-card">
           <div slot="header">
             <span>鍧愭爣瀹氫綅</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(2)"
-              ></i>
+              <i class="el-icon-close" @click="closeBufferBox(2)"></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form
-              ref="form"
-              :model="coordFrom"
-              label-width="70px"
-            >
+            <el-form ref="form" :model="coordFrom" label-width="70px">
               <el-form-item label="缁忓害:">
-                <el-input
-                  v-model="coordFrom.lon"
-                  placeholder="璇疯緭鍏ョ粡搴�"
-                ></el-input>
+                <el-input v-model="coordFrom.lon" placeholder="璇疯緭鍏ョ粡搴�"></el-input>
               </el-form-item>
               <el-form-item label="绾害:">
-                <el-input
-                  v-model="coordFrom.lat"
-                  placeholder="璇疯緭鍏ョ淮搴�"
-                ></el-input>
+                <el-input v-model="coordFrom.lat" placeholder="璇疯緭鍏ョ淮搴�"></el-input>
               </el-form-item>
               <el-form-item label="楂樺害:">
-                <el-input
-                  v-model="coordFrom.height"
-                  placeholder="璇疯緭鍏ラ珮搴�"
-                ></el-input>
+                <el-input v-model="coordFrom.height" placeholder="璇疯緭鍏ラ珮搴�"></el-input>
               </el-form-item>
               <el-form-item>
-                <el-button
-                  @click="setCoordLocal"
-                  type="info"
-                >瀹氫綅</el-button>
+                <el-button @click="setCoordLocal" type="info">瀹氫綅</el-button>
               </el-form-item>
             </el-form>
           </div>
         </el-card>
       </div>
       <!--鍦板舰骞虫暣-->
-      <div
-        class="terrainLevelBox"
-        v-if="showTerrainLevelDialog"
-      >
+      <div class="terrainLevelBox" v-if="showTerrainLevelDialog">
         <el-card class="box-card">
           <div slot="header">
             <span>鍦板舰骞虫暣</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(5)"
-              ></i>
+              <i class="el-icon-close" @click="closeBufferBox(5)"></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form
-              ref="form"
-              :model="terrainFrom"
-              label-width="100px"
-            >
+            <el-form ref="form" :model="terrainFrom" label-width="100px">
               <el-form-item label="骞虫暣楂樺害:">
                 <el-input v-model="terrainFrom.height"></el-input>
               </el-form-item>
 
               <el-form-item>
-                <el-button
-                  @click="drawTerrainLevel"
-                  type="parmary"
-                >缁樺埗</el-button>
-                <el-button
-                  @click="clearTerrainLevel"
-                  type="info"
-                >娓呴櫎</el-button>
+                <el-button @click="drawTerrainLevel" type="parmary">缁樺埗</el-button>
+                <el-button @click="clearTerrainLevel" type="info">娓呴櫎</el-button>
               </el-form-item>
             </el-form>
           </div>
         </el-card>
       </div>
-      <div
-        class="toponymicLocalBox"
-        v-if="showToponymicLocalBoxDialog"
-      >
+      <div class="toponymicLocalBox" v-if="showToponymicLocalBoxDialog">
         <el-card class="box-card">
-          <div
-            slot="header"
-            class="clearfix"
-          >
+          <div slot="header" class="clearfix">
             <span>鍦板悕瀹氫綅</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(3)"
-              ></i>
+              <i class="el-icon-close" @click="closeBufferBox(3)"></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form
-              :model="comprehensive"
-              :inline="true"
-            >
+            <el-form :model="comprehensive" :inline="true">
               <el-form-item label="鍦板悕:">
-                <el-input
-                  size="small"
-                  style="width: 160px"
-                  v-model="comprehensive.name"
-                  placeholder="璇疯緭鍏ュ湴鍚�...."
-                ></el-input>
+                <el-input size="small" style="width: 160px" v-model="comprehensive.name"
+                  placeholder="璇疯緭鍏ュ湴鍚�...."></el-input>
               </el-form-item>
               <el-form-item>
-                <el-button
-                  @click="setQueryTable"
-                  type="info"
-                  size="small"
-                >鏌ヨ</el-button>
+                <el-button @click="setQueryTable" type="info" size="small">鏌ヨ</el-button>
               </el-form-item>
             </el-form>
-            <el-table
-              :data="tableData"
-              height="200px"
-              border
-              style="width: 100%"
-            >
-              <el-table-column
-                align="center"
-                type="index"
-                label="搴忓彿"
-                width="70"
-              />
-              <el-table-column
-                prop="name"
-                align="center"
-                label="鍦板悕"
-              >
+            <el-table :data="tableData" height="200px" border style="width: 100%">
+              <el-table-column align="center" type="index" label="搴忓彿" width="70" />
+              <el-table-column prop="name" align="center" label="鍦板悕">
                 <template slot-scope="scope">
-                  <el-button
-                    @click="handleLocation(scope.$index, scope.row)"
-                    size="small"
-                  >{{scope.row.name}}<i
-                      class="el-icon-place"
-                      style="padding-left: 5px"
-                    ></i></el-button>
+                  <el-button @click="handleLocation(scope.$index, scope.row)" size="small">{{ scope.row.name }}<i
+                      class="el-icon-place" style="padding-left: 5px"></i></el-button>
                 </template>
               </el-table-column>
               <!--              <el-table-column-->
@@ -230,81 +125,37 @@
               <!--              </el-table-column>-->
             </el-table>
             <div class="pagination_box">
-              <el-pagination
-                @size-change="handleSizeChange"
-                @current-change="handleCurrentChange"
-                :current-page="listData.pageIndex"
-                :page-sizes="[10, 20, 50, 100]"
-                :pager-count="3"
-                :page-size="listData.pageSize"
-                layout="total, prev, pager, next"
-                :total="count"
-              >
+              <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+                :current-page="listData.pageIndex" :page-sizes="[10, 20, 50, 100]" :pager-count="3"
+                :page-size="listData.pageSize" layout="total, prev, pager, next" :total="count">
               </el-pagination>
             </div>
           </div>
         </el-card>
       </div>
       <!-- 璺緞鍒嗘瀽寮圭獥-->
-      <div
-        class="pathAnalysisBox"
-        v-if="showPathAnalysisBoxDialog"
-      >
+      <div class="pathAnalysisBox" v-if="showPathAnalysisBoxDialog">
         <el-card class="box-card">
-          <div
-            slot="header"
-            class="clearfix"
-          >
+          <div slot="header" class="clearfix">
             <span>璺緞鍒嗘瀽</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(4)"
-              ></i>
+              <i class="el-icon-close" @click="closeBufferBox(4)"></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form
-              ref="form"
-              :model="pathFrom"
-              :rules="rules"
-              label-width="55px"
-            >
-              <el-form-item
-                label="璧风偣:"
-                prop="lon"
-              >
-                <el-input
-                  style="width: 250px"
-                  v-model="pathFrom.lon"
-                  placeholder="鍧愭爣鏍煎紡:116.799,39.979"
-                ></el-input>
-                <el-link
-                  :underline="false"
-                  @click="showMouseLeftClick(1)"
-                  style="margin-left: 10px"
-                ><i class="el-icon-plus"></i></el-link>
+            <el-form ref="form" :model="pathFrom" :rules="rules" label-width="55px">
+              <el-form-item label="璧风偣:" prop="lon">
+                <el-input style="width: 250px" v-model="pathFrom.lon" placeholder="鍧愭爣鏍煎紡:116.799,39.979"></el-input>
+                <el-link :underline="false" @click="showMouseLeftClick(1)" style="margin-left: 10px"><i
+                    class="el-icon-plus"></i></el-link>
               </el-form-item>
-              <el-form-item
-                label="缁堢偣:"
-                prop="lat"
-              >
-                <el-input
-                  style="width: 250px"
-                  v-model="pathFrom.lat"
-                  placeholder="鍧愭爣鏍煎紡:116.824,39.938"
-                ></el-input>
-                <el-link
-                  :underline="false"
-                  @click="showMouseLeftClick(2)"
-                  style="margin-left: 10px"
-                ><i class="el-icon-plus"></i></el-link>
+              <el-form-item label="缁堢偣:" prop="lat">
+                <el-input style="width: 250px" v-model="pathFrom.lat" placeholder="鍧愭爣鏍煎紡:116.824,39.938"></el-input>
+                <el-link :underline="false" @click="showMouseLeftClick(2)" style="margin-left: 10px"><i
+                    class="el-icon-plus"></i></el-link>
               </el-form-item>
               <el-form-item>
-                <el-button
-                  @click="showMouseLeftClick(3)"
-                  type="info"
-                >鏌ヨ</el-button>
+                <el-button @click="showMouseLeftClick(3)" type="info">鏌ヨ</el-button>
               </el-form-item>
             </el-form>
           </div>
@@ -333,10 +184,7 @@
         ></div>
       </div> -->
       <!--      class="center CenDiv"-->
-      <div
-        @click="changeMenulayer"
-        class="changeLayer"
-        style="  position: absolute;
+      <div @click="changeMenulayer" class="changeLayer" style="  position: absolute;
   bottom: 116px;
   right: 46px;
   height: 30px;
@@ -346,19 +194,11 @@
   justify-content: center;
   align-items: center;
   cursor: pointer;
-  border: 1px solid rgba(255, 255, 255, 0.5);"
-      >
-        <div
-          title="搴曞浘鍒囨崲"
-          id="cenBg"
-          class="mapBaseMap"
-        ></div>
+  border: 1px solid rgba(255, 255, 255, 0.5);">
+        <div title="搴曞浘鍒囨崲" id="cenBg" class="mapBaseMap"></div>
       </div>
 
-      <div
-        @click="changeMapType"
-        class="changeMapType"
-        style="  position: absolute;
+      <div @click="changeMapType" class="changeMapType" v-if="$store.state.setChangeBaseMap" style="  position: absolute;
   bottom: 85px;
   right: 46px;
   height: 30px;
@@ -368,27 +208,16 @@
   justify-content: center;
   align-items: center;
   cursor: pointer;
-  border: 1px solid rgba(255, 255, 255, 0.5);"
-      >
-        <div
-          title="2/3缁村垏鎹�"
-          id="cenBg"
-          :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"
-        ></div>
+  border: 1px solid rgba(255, 255, 255, 0.5);">
+        <div title="2/3缁村垏鎹�" id="cenBg" :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"></div>
       </div>
       <!--      </div>-->
       <!-- 鍧″害鍒嗘瀽寮圭獥-->
-      <div
-        class="lengend"
-        v-show="showLengendDialog"
-      >
+      <div class="lengend" v-show="showLengendDialog">
         <el-card class="box-card">
           <div class="lengendBox">
             <div>
-              <img
-                class="lengendImg"
-                src="../assets/img/colors.png"
-              />
+              <img class="lengendImg" src="../assets/img/colors.png" />
             </div>
             <div class="lengendSpan">
               <div>0掳</div>
@@ -400,10 +229,7 @@
           </div>
         </el-card>
       </div>
-      <div
-        class="HistLeng"
-        v-show="$store.state.histLenged"
-      >
+      <div class="HistLeng" v-show="$store.state.histLenged">
         <el-card class="box-card">
           <table>
             <tr>
@@ -473,104 +299,51 @@
         </el-card>
       </div>
       <!--灞炴�т俊鎭脊绐�-->
-      <div
-        class="propertiesPop"
-        v-if="$store.state.propertiesFlag == '1'"
-        v-drag
-      >
+      <div class="propertiesPop" v-if="$store.state.propertiesFlag == '1'" v-drag>
         <el-card class="box-card">
           <div slot="header">
             <span>灞炴�т俊鎭�</span>
             <div style="float: right; cursor: pointer">
-              <el-link
-                v-if="$store.state.surfaceDeForm.flag && this.$store.state.surfaceDeForm.gid"
-                type="primary"
-                :underline="false"
-                @click="setSurfaceDeForm"
-                style="margin-right: 10px"
-              >鍦拌〃褰㈠彉鏃跺簭鍥�</el-link>
-              <el-link
-                v-if="$store.state.propertiesName.enName == 's_surveyworksite'"
-                type="primary"
-                :underline="false"
-                @click="getPointInfo"
-                style="margin-right: 10px"
-              >鍕樺療淇℃伅琛�</el-link>
-              <el-link
-                type="primary"
-                :underline="false"
-                @click="getAttatchList"
-                style="margin-right: 10px"
-              >鏌ョ湅闄勪欢</el-link>
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(6)"
-              ></i>
+              <el-link v-if="$store.state.surfaceDeForm.flag && this.$store.state.surfaceDeForm.gid" type="primary"
+                :underline="false" @click="setSurfaceDeForm" style="margin-right: 10px">鍦拌〃褰㈠彉鏃跺簭鍥�</el-link>
+              <el-link v-if="$store.state.propertiesName.enName == 's_surveyworksite'" type="primary" :underline="false"
+                @click="getPointInfo" style="margin-right: 10px">鍕樺療淇℃伅琛�</el-link>
+              <el-link type="primary" :underline="false" @click="getAttatchList" style="margin-right: 10px">鏌ョ湅闄勪欢</el-link>
+              <i class="el-icon-close" @click="closeBufferBox(6)"></i>
             </div>
           </div>
-          <div
-            class="pointInfoBoxContext"
-            style="height:250px;overflow-y: auto"
-          >
-            <div
-              style="line-height: 20px"
-              v-for="(value, key) in $store.state.propertiesInfo"
-              :key="key"
-            >
-              <span
-                v-if="key != 'eventid'"
-                style="font-size: 14px;font-weight: bold;margin-right: 5px"
-              >{{key}}:</span>
-              <span v-if="key != 'eventid'">{{value}}</span>
+          <div class="pointInfoBoxContext" style="height:250px;overflow-y: auto">
+            <div style="line-height: 20px" v-for="(value, key) in $store.state.propertiesInfo" :key="key">
+              <span v-if="key != 'eventid'" style="font-size: 14px;font-weight: bold;margin-right: 5px">{{ key }}:</span>
+              <span v-if="key != 'eventid'">{{ value }}</span>
             </div>
           </div>
         </el-card>
       </div>
       <!--鍕樺療淇℃伅寮圭獥-->
-      <div
-        v-drag
-        class="attributionPop"
-        v-if="showAttribute"
-      >
+      <div v-drag class="attributionPop" v-if="showAttribute">
         <el-card class="box-card">
           <div slot="header">
             <span>鍕樺療淇℃伅</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="showAttribute=false"
-              ></i>
+              <i class="el-icon-close" @click="showAttribute = false"></i>
             </div>
           </div>
-          <div
-            class="pointInfoBoxContext"
-            style="height:250px;overflow-y: auto"
-          >
-            <div
-              style="line-height: 20px"
-              v-for="(item, index) in attributeList"
-              :key="index"
-            >
-              <span style="font-size: 14px;font-weight: bold;margin-right: 5px">{{item.alias}}:</span>
-              <span>{{item.value ? item.value :'鏆傛棤鏁版嵁'}}</span>
+          <div class="pointInfoBoxContext" style="height:250px;overflow-y: auto">
+            <div style="line-height: 20px" v-for="(item, index) in attributeList" :key="index">
+              <span style="font-size: 14px;font-weight: bold;margin-right: 5px">{{ item.alias }}:</span>
+              <span>{{ item.value ? item.value : '鏆傛棤鏁版嵁' }}</span>
             </div>
           </div>
         </el-card>
       </div>
 
-      <div
-        class="propertiesPop"
-        style="right:22%"
-        v-if="$store.state.propertiesFlag == '2'"
-      >
+      <div class="propertiesPop" style="right:22%" v-if="$store.state.propertiesFlag == '2'">
         <el-card class="box-card">
           <div slot="header">
             <span>{{ $store.state.propertiesInfo.title }}</span>
           </div>
-          <div
-            class="pointInfoBoxContext"
-            style="height:250px;overflow-y: auto"
-          >
+          <div class="pointInfoBoxContext" style="height:250px;overflow-y: auto">
             <div style="line-height: 20px">宀╁湡鍚嶇О锛� {{ $store.state.propertiesInfo.name }}</div>
             <div style="line-height: 20px">宀╁湡绫诲瀷锛� {{ $store.state.propertiesInfo.type }}</div>
             <div style="line-height: 20px">灞傚簳娣卞害锛� {{ $store.state.propertiesInfo.botdepth }} 绫�</div>
@@ -580,225 +353,95 @@
         </el-card>
       </div>
       <!--涓夌淮鎴潰鍒嗘瀽寮圭獥-->
-      <div
-        class="modelClipPop"
-        v-if="$store.state.propertiesFlag == '3'"
-      >
+      <div class="modelClipPop" v-if="$store.state.propertiesFlag == '3'">
         <div class="slide-bg">
-          <el-slider
-            class="slide"
-            @change="valveChange()"
-            :min="-300"
-            :max="300"
-            v-model="valueX"
-          ></el-slider>
+          <el-slider class="slide" @change="valveChange()" :min="-300" :max="300" v-model="valueX"></el-slider>
           <span>宸﹀彸鎴潰</span>
         </div>SpatialQuery
         <div class="slide-bg">
-          <el-slider
-            class="slide"
-            @change="valveChange()"
-            :min="-300"
-            :max="300"
-            v-model="valueY"
-          ></el-slider>
+          <el-slider class="slide" @change="valveChange()" :min="-300" :max="300" v-model="valueY"></el-slider>
           <span>鍓嶅悗鎴潰</span>
         </div>
         <div class="slide-bg">
-          <el-slider
-            class="slide"
-            @change="valveChange()"
-            :min="-300"
-            :max="300"
-            v-model="valueZ"
-          ></el-slider>
+          <el-slider class="slide" @change="valveChange()" :min="-300" :max="300" v-model="valueZ"></el-slider>
           <span>涓婁笅鎴潰</span>
         </div>
       </div>
       <!-- 鍦拌〃褰㈠彉鏃跺簭鍥� -->
-      <div
-        class="surfaceDeFormPop"
-        style="    width: 800px;
-      height: 800px;"
-        v-show="surfaceDeFormFlag"
-        v-drag
-      >
+      <div class="surfaceDeFormPop" style="    width: 800px;
+      height: 800px;" v-show="surfaceDeFormFlag" v-drag>
         <el-card class="box-card">
           <div slot="header">
             <span>鍦拌〃褰㈠彉鏃跺簭鍥�</span>
             <div style="float: right; cursor: pointer">
-              <i
-                class="el-icon-close"
-                @click="closeBufferBox(7)"
-              ></i>
+              <i class="el-icon-close" @click="closeBufferBox(7)"></i>
             </div>
           </div>
-          <div
-            id="surfaceDeFormEchart"
-            class="pointInfoBoxContext"
-            style="height:500px;width:750px;"
-          >
+          <div id="surfaceDeFormEchart" class="pointInfoBoxContext" style="height:500px;width:750px;">
 
           </div>
         </el-card>
       </div>
       <!--闄勪欢鍒楄〃寮圭獥-->
-      <el-dialog
-        title="闄勪欢鍒楄〃"
-        :append-to-body="false"
-        :visible.sync="showAttach"
-        width="35%"
-        :close-on-click-modal="false"
-      >
+      <el-dialog title="闄勪欢鍒楄〃" :append-to-body="false" :visible.sync="showAttach" width="35%"
+        :close-on-click-modal="false">
         <div>
-          <el-table
-            :data="attachList"
-            height="100%"
-            style="width: 100%"
-            border
-          >
-            <el-table-column
-              align="center"
-              type="index"
-              label="搴忓彿"
-              width="50"
-            />
-            <el-table-column
-              prop="name"
-              label="鍚嶇О"
-            >
+          <el-table :data="attachList" height="100%" style="width: 100%" border>
+            <el-table-column align="center" type="index" label="搴忓彿" width="50" />
+            <el-table-column prop="name" label="鍚嶇О">
             </el-table-column>
-            <el-table-column
-              label="鏃堕棿"
-              width="180"
-            >
+            <el-table-column label="鏃堕棿" width="180">
               <template slot-scope="scope">
-                <span>{{format(scope.row.createTime)}}</span>
+                <span>{{ format(scope.row.createTime) }}</span>
               </template>
             </el-table-column>
-            <el-table-column
-              label="鎿嶄綔"
-              width="100"
-            >
+            <el-table-column label="鎿嶄綔" width="100">
               <template slot-scope="scope">
-                <el-button
-                  v-if="showAttachDetailBtn(scope.row)"
-                  @click="showAttachDetail(scope.row)"
-                  type="text"
-                  size="small"
-                >鏌ョ湅</el-button>
+                <el-button v-if="showAttachDetailBtn(scope.row)" @click="showAttachDetail(scope.row)" type="text"
+                  size="small">鏌ョ湅</el-button>
               </template>
             </el-table-column>
           </el-table>
         </div>
       </el-dialog>
       <!--闄勪欢寮圭獥-->
-      <el-dialog
-        title="棰勮"
-        :append-to-body="false"
-        :visible.sync="dialog.dialogVisible"
-        width="70%"
-        :close-on-click-modal="false"
-      >
-        <div
-          v-if="dialog.isPdf"
-          class="pdfClass"
-        >
-          <iframe
-            :src="dialog.src"
-            type="application/x-google-chrome-pdf"
-            width="100%"
-            height="100%"
-          >
+      <el-dialog title="棰勮" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%"
+        :close-on-click-modal="false">
+        <div v-if="dialog.isPdf" class="pdfClass">
+          <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%">
           </iframe>
         </div>
-        <div
-          v-if="dialog.isJpg"
-          class="pdfClass"
-        >
-          <el-image
-            style="width:100%; height:100%"
-            :src="dialog.src"
-            :preview-src-list="[dialog.src]"
-          >
+        <div v-if="dialog.isJpg" class="pdfClass">
+          <el-image style="width:100%; height:100%" :src="dialog.src" :preview-src-list="[dialog.src]">
           </el-image>
 
         </div>
       </el-dialog>
 
-      <el-dialog
-        title="鐡︾墖涓嬭浇"
-        :append-to-body="false"
-        :visible.sync="downTitleFlag"
-        :close-on-click-modal="false"
-        :show-close="false"
-        width="30%"
-      >
-        <el-form
-          :model="ruleForm"
-          status-icon
-          :rules="rules"
-          ref="ruleForm"
-          label-width="100px"
-          class="demo-ruleForm"
-        >
-          <el-form-item
-            label="鍚嶇О"
-            prop="title"
-          >
-            <el-input
-              v-model="ruleForm.title"
-              size="small"
-              placeholder="璇疯緭鍏ユ暟鎹悕绉�..."
-            ></el-input>
+      <el-dialog title="鐡︾墖涓嬭浇" :append-to-body="false" :visible.sync="downTitleFlag" :close-on-click-modal="false"
+        :show-close="false" width="30%">
+        <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+          <el-form-item label="鍚嶇О" prop="title">
+            <el-input v-model="ruleForm.title" size="small" placeholder="璇疯緭鍏ユ暟鎹悕绉�..."></el-input>
           </el-form-item>
-          <el-form-item
-            label="瀵嗙爜"
-            prop="pass"
-          >
-            <el-input
-              show-password
-              type="password"
-              v-model="ruleForm.pass"
-              autocomplete="off"
-              size="small"
-              placeholder="璇疯緭鍏ュ瘑鐮�..."
-            ></el-input>
+          <el-form-item label="瀵嗙爜" prop="pass">
+            <el-input show-password type="password" v-model="ruleForm.pass" autocomplete="off" size="small"
+              placeholder="璇疯緭鍏ュ瘑鐮�..."></el-input>
           </el-form-item>
-          <el-form-item
-            label="纭瀵嗙爜"
-            prop="checkPass"
-          >
-            <el-input
-              show-password
-              type="password"
-              v-model="ruleForm.checkPass"
-              autocomplete="off"
-              size="small"
-              placeholder="纭瀵嗙爜..."
-            ></el-input>
+          <el-form-item label="纭瀵嗙爜" prop="checkPass">
+            <el-input show-password type="password" v-model="ruleForm.checkPass" autocomplete="off" size="small"
+              placeholder="纭瀵嗙爜..."></el-input>
           </el-form-item>
           <el-form-item>
-            <el-button
-              type="primary"
-              size="small"
-              @click='submitTitleDown("ruleForm")'
-            >鎻愪氦</el-button>
-            <el-button
-              size="small"
-              @click='cannelTitleDown("ruleForm")'
-            >鍙栨秷</el-button>
+            <el-button type="primary" size="small" @click='submitTitleDown("ruleForm")'>鎻愪氦</el-button>
+            <el-button size="small" @click='cannelTitleDown("ruleForm")'>鍙栨秷</el-button>
           </el-form-item>
         </el-form>
       </el-dialog>
     </div>
 
     <surface-chart ref="surfaceChart" />
-    <iframe
-      id="downFrame"
-      src=""
-      style="display: none; border: 0; padding: 0; height: 0; width: 0"
-    ></iframe>
+    <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe>
     <model-property ref="modelProperty"></model-property>
   </div>
 </template>
@@ -1019,6 +662,7 @@
         xtitle.push(this.formDate(val[i].defdate))
         val2.push(val[i].seqvar)
       }
+      debugger
       this.showSurfaceDeFormEchart(xtitle, val1, val2);
 
     },
@@ -1222,11 +866,11 @@
       var modelKey = 'id';
       var modelid;
       if (result.tileset) {
-        
+
         if (result.tileset.pubid && parseInt(result.tileset.pubid) > 0) {
-          
+
           const data = await comprehensive_selectPubById({ id: result.tileset.pubid })
-          
+
           if (data.code != 200) {
             return
           } else {
@@ -1373,12 +1017,12 @@
       //   requestVertexNormals: true,
       // };
       // window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, "");
-      
+
       window.terrainLayer = new Cesium.CesiumTerrainProvider({
-          // url: LFData + '/3d/terrain/dem20230321'
-          url: demLayer
-        });
-        Viewer.terrainProvider = window.terrainLayer
+        // url: LFData + '/3d/terrain/dem20230321'
+        url: demLayer
+      });
+      Viewer.terrainProvider = window.terrainLayer
       window.terrainFlag = 'MPT'
       window.elevationTool = new SmartEarth.ElevationTool(window.sgworld);
       elevationTool.setContourColor("#F1D487");
@@ -1418,7 +1062,7 @@
       this.terrainflag = !this.terrainflag
     },
     changeMenulayer() {
-      this.$bus.$emit("setChangeBaseMapLayer", true)
+      this.$bus.$emit("setChangeBaseMapLayer", { type: 'Cesium', boolen: true })
       // this.$refs && this.$refs.addOnlineMap && this.$refs.addOnlineMap.open("鍦颁笅妯″紡", null,);
       // this.isActive = !this.isActive;
       // this.isMenuLayer = !this.isMenuLayer;
@@ -2139,11 +1783,13 @@
   width: 100%;
   height: 100%;
   position: relative;
+
   #mapdiv {
     width: 100%;
     height: 100%;
     overflow: hidden;
     position: relative;
+
     .toponymicLocalBox {
       width: 350px;
       //width: 750px;
@@ -2153,6 +1799,7 @@
       right: 8%;
       bottom: 1%;
     }
+
     .bufferBox {
       width: 412px;
       height: 230px;
@@ -2161,6 +1808,7 @@
       right: 6%;
       bottom: 1%;
     }
+
     .coordLocalBox {
       width: 350px;
       height: 370px;
@@ -2168,10 +1816,12 @@
       position: absolute;
       right: 8%;
       bottom: 1%;
+
       span {
         width: 100px;
       }
     }
+
     .propertiesPop {
       width: 350px;
       height: 370px;
@@ -2179,25 +1829,31 @@
       position: absolute;
       right: 8%;
       bottom: 1%;
+
       /deep/ .el-card__header {
         padding: 10px 20px;
       }
+
       /deep/ .el-card__body {
         padding: 10px 20px;
       }
     }
+
     .surfaceDeFormPop {
       z-index: 40;
       position: absolute;
       right: 8%;
       bottom: 1%;
+
       /deep/ .el-card__header {
         padding: 10px 20px;
       }
+
       /deep/ .el-card__body {
         padding: 10px 20px;
       }
     }
+
     .modelClipPop {
       width: 350px;
       z-index: 40;
@@ -2206,10 +1862,12 @@
       top: 3%;
       background: rgba(255, 255, 255, 0.85);
       border: 1px solid rgba(32, 160, 255, 0.6);
+
       .slide-bg {
         padding: 10px;
         display: flex;
         align-items: center;
+
         .slide {
           width: 250px;
           margin-left: 5px;
@@ -2217,6 +1875,7 @@
         }
       }
     }
+
     .pathAnalysisBox {
       width: 412px;
       height: 370px;
@@ -2225,6 +1884,7 @@
       right: 8%;
       bottom: 1%;
     }
+
     .attributionPop {
       width: 350px;
       height: 370px;
@@ -2232,13 +1892,16 @@
       position: absolute;
       right: 38%;
       bottom: 1%;
+
       /deep/ .el-card__header {
         padding: 10px 20px;
       }
+
       /deep/ .el-card__body {
         padding: 10px 20px;
       }
     }
+
     .terrainLevelBox {
       width: 350px;
       height: 370px;
@@ -2252,15 +1915,18 @@
       opacity: 0.85;
       border: 1px solid rgba(32, 160, 255, 0.6);
     }
+
     .menu_Top {
       width: 100%;
       padding: 1%;
       position: absolute;
       z-index: 40;
+
       /deep/.el-form-item {
         margin-bottom: 0px;
       }
     }
+
     .menu_Popup {
       background: #303030;
       opacity: 0.85;
@@ -2272,12 +1938,14 @@
       position: absolute;
       z-index: 40;
     }
+
     .HistLeng {
       z-index: 40;
       position: absolute;
       right: 115px;
       bottom: 10px;
     }
+
     .lengend {
       width: 300px;
       z-index: 40;
@@ -2285,18 +1953,23 @@
       right: 1%;
       bottom: 13%;
       transform: rotate(90deg);
+
       .lengendBox {
         .lengendSpan {
           display: flex;
           justify-content: space-between;
           margin-top: 10px;
+
           div {
             transform: rotate(-90deg);
           }
         }
+
         .lengendImg {
-          -ms-transform: rotate(180deg); /* IE 9 */
-          -webkit-transform: rotate(180deg); /* Safari and Chrome */
+          -ms-transform: rotate(180deg);
+          /* IE 9 */
+          -webkit-transform: rotate(180deg);
+          /* Safari and Chrome */
           transform: rotate(180deg);
           width: 100%;
           height: 30px;
@@ -2367,9 +2040,11 @@
   border-radius: 5px;
   cursor: pointer;
 }
+
 .center1 {
   right: 1%;
 }
+
 .right {
   position: absolute;
   top: 50px;
@@ -2381,6 +2056,7 @@
   flex-direction: column;
   justify-content: space-between;
 }
+
 // .CenDiv:hover {
 //   border: 1px solid #409eff;
 // }
@@ -2392,6 +2068,7 @@
   background-size: 100% 100%;
   border-radius: 5px;
 }
+
 .menuLayer {
   width: 100%;
   height: 100%;
@@ -2427,12 +2104,12 @@
 //
 //  cursor: pointer;
 //}
-.changeTerrain {
-}
-.changeLayer {
-}
-.changeMapType {
-}
+.changeTerrain {}
+
+.changeLayer {}
+
+.changeMapType {}
+
 //.changeTerrain {
 //  position: absolute;
 //  bottom: 1%;
@@ -2458,6 +2135,7 @@
 
   //background-size: contain;
 }
+
 .mapTerrain {
   width: 100%;
   height: 100%;
@@ -2468,6 +2146,7 @@
   background-repeat: no-repeat;
   //background-size: contain;
 }
+
 .mapTypeThree {
   width: 100%;
   height: 100%;
diff --git a/src/store/index.js b/src/store/index.js
index daaf173..c2817f0 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -83,7 +83,8 @@
       falg: false,
       gid: null,
       val: null
-    }
+    },
+    setChangeBaseMap:true,
   },
   mutations: {
     UPDATE_LISTEN_TIME(state, msg) {
diff --git a/src/views/Tools/AddOnlineMap.vue b/src/views/Tools/AddOnlineMap.vue
index 7099322..e5ee2cc 100644
--- a/src/views/Tools/AddOnlineMap.vue
+++ b/src/views/Tools/AddOnlineMap.vue
@@ -1,60 +1,23 @@
 <template>
-  <Popup
-    ref="pop"
-    :title="title"
-    @close="close(true)"
-    width="400px"
-    @yes="addData"
-    @cancel="close(false)"
-  >
+  <Popup ref="pop" :title="title" @close="close(true)" width="400px" @yes="addData" @cancel="close(false)">
 
-    <div
-      id="archTopBox"
-      class="archTopBox"
-    >
+    <div id="archTopBox" class="archTopBox">
 
-      <div
-        class="boxCard"
-        v-for="(item,index) in mapList"
-      >
+      <div class="boxCard" v-for="(item, index) in mapList">
         <el-card class="box-card">
-          <div
-            slot="header"
-            class="clearfix"
-          >
-            <span style="font-size:14px">{{item.name}}</span>
+          <div slot="header" class="clearfix">
+            <span style="font-size:14px">{{ item.name }}</span>
             <div style="float: right; padding: 3px 0">
-              <i
-                v-show="!item.isShow"
-                style="margin-left:10px"
-                class="el-icon-arrow-up"
-                :title="$t('archiveObj.fold')"
-                @click="setCardChange(item)"
-              ></i>
-              <i
-                v-show="item.isShow"
-                style="margin-left:10px"
-                class="el-icon-arrow-down"
-                :title="$t('archiveObj.develop')"
-                @click="setCardChange(item)"
-              ></i>
+              <i v-show="!item.isShow" style="margin-left:10px" class="el-icon-arrow-up" :title="$t('archiveObj.fold')"
+                @click="setCardChange(item)"></i>
+              <i v-show="item.isShow" style="margin-left:10px" class="el-icon-arrow-down"
+                :title="$t('archiveObj.develop')" @click="setCardChange(item)"></i>
             </div>
           </div>
-          <div
-            :id="item.id"
-            style="margin:5px 1px"
-            v-show="!item.isShow"
-          >
+          <div :id="item.id" style="margin:5px 1px" v-show="!item.isShow">
             <div style="margin:10px;width:380px">
-              <div
-                class="map"
-                v-for="(map, mapIndex) in item.list"
-                @click="addImageLayer(map, item)"
-              >
-                <img
-                  style="width: 60px; height: 60px"
-                  :src="map.image"
-                ></img>
+              <div class="map" v-for="(map, mapIndex) in item.list" @click="addImageLayer(map, item)">
+                <img style="width: 60px; height: 60px" :src="map.image"></img>
                 <div> <el-link :underline="false">
                     {{ map.name }}
                   </el-link></div>
@@ -64,29 +27,6 @@
         </el-card>
 
       </div>
-
-      <!-- <el-collapse :value="activeNames">
-          <el-collapse-item
-            v-for="(mapCollection, index) in mapList"
-            :title="mapCollection.name"
-            :name="mapCollection.name"
-            :key="index"
-          >
-            <div
-              class="map"
-              v-for="(map, mapIndex) in mapCollection.list"
-              :key="mapIndex"
-              @click="addImageLayer(map, mapCollection)"
-            >
-              <el-image
-                style="width: 60px; height: 60px"
-                :src="require(`@assets/imageLayer/${map.image}`)"
-                fit="fill"
-              ></el-image>  
-        <span>{{ map.name }}</span>
-      </div>
-      </el-collapse-item>
-      </el-collapse> -->
     </div>
     </el-form>
   </Popup>
@@ -97,7 +37,7 @@
 import TileLayer from "ol/layer/Tile"
 import XYZ from "ol/source/XYZ"
 // 褰卞儚鍥惧眰
-
+import mapLayers from "./layer";
 export default {
   name: "AddOnlineMap",
   components: {
@@ -106,7 +46,7 @@
   mixins: [],
   data() {
     return {
-      title: "鍦ㄧ嚎鍦板浘",
+      title: "3D鍦ㄧ嚎鍦板浘",
       left: undefined,
       tokne: "",
       data: {
@@ -120,98 +60,7 @@
         zIndex: undefined,
       },
       mapCollection: undefined,
-      mapList: [{
-        name: "Cesium",
-        sourceType: "cesium",
-        tokne: "94a34772eb88317fcbf8428e10448561",
-        maximumLevel: 18,
-        id: 1,
-        isShow: true,
-        list: [{
-          name: "Cesium褰卞儚",
-          image: require("../../assets/img/imageLayer/tdmap_image.jpg"),
-          urls: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
-        },],
-      },
-
-      {
-        name: "澶╁湴鍥�",
-        sourceType: "tdmap",
-        tokne: "94a34772eb88317fcbf8428e10448561",
-        maximumLevel: 18,
-        id: 1,
-        isShow: true,
-        list: [
-          {
-            name: "澶╁湴鍥惧湴鍥�",
-            image: require("../../assets/img/imageLayer/tdmap_map.jpg"),
-            urls: "http://t0.tianditu.com/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
-            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk='
-          },
-          {
-            name: "澶╁湴鍥惧奖鍍�",
-            image: require("../../assets/img/imageLayer/tdmap_image.jpg"),
-            urls: "http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
-            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk='
-          },
-          {
-            name: "澶╁湴鍥惧湴褰�",
-            image: require("../../assets/img/imageLayer/tdmap_label.jpg"),
-            urls: "http://t0.tianditu.com/ter_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=ter&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
-            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=ter_w&x={x}&y={y}&l={z}&tk='
-          },
-        ],
-      },
-      {
-        name: "楂樺痉鍦板浘",
-        sourceType: "gdmap",
-        maximumLevel: 18,
-        id: 2,
-        isShow: true,
-        list: [
-          {
-            name: "楂樺痉鍦板浘",
-            image: require("../../assets/img/imageLayer/gdmap_map.jpg"),
-            urls: "https://webst02.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z}",
-          },
-          {
-            name: "楂樺痉褰卞儚",
-            image: require("../../assets/img/imageLayer/gdmap_image.jpg"),
-            urls: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
-          },
-
-        ],
-      }, {
-        name: '鏈湴鏈嶅姟',
-        sourceType: 'localmap',
-        maximumLevel: 22,
-        id: 3,
-        isShow: true,
-        list: [
-          {
-            name: "鍦板浘",
-            image: require("../../assets/img/imageLayer/gdmap_map.jpg"),
-            urls: "http://{host}/LFData/2d/tiles/vec/{z}/{x}/{y}.png",
-          },
-          {
-            name: "褰卞儚",
-            image: require("../../assets/img/imageLayer/gdmap_image.jpg"),
-            urls: "http://{host}/LFData/2d/tiles/img/{z}/{x}/{y}.png",
-          },
-          {
-            name: "鍦板舰",
-            image: require("../../assets/img/imageLayer/dixing.png"),
-            urls: "http://{host}/LFData/2d/tiles/ter/{z}/{x}/{y}.png",
-          },
-          {
-            name: "1:20涓囧尯鍩熷湴璐ㄥ浘",
-            image: require("../../assets/img/imageLayer/25dizhi.png"),
-            urls: "http://{host}/LFData/2d/tiles/20w_qydz/{z}/{x}/{y}.png",
-          },
-        ],
-      }
-
-      ],
+      mapList: mapLayers,
     };
   },
   computed: {
@@ -248,12 +97,7 @@
       window.Viewer.imageryLayers.remove(
         window.BaseMapLayer
       );
-      window.map.removeLayer(window.olBaseMapLayer);
-      if (!is_production) {
-        if (window.vectorLayer) {
-          window.map.removeLayer(window.vectorLayer);
-        }
-      }
+    
     },
     addImageLayer(map, mapCollection) {
 
@@ -268,15 +112,7 @@
 
       this.mapCollection = mapCollection;
       if (mapCollection.sourceType === "cesium") {
-        window.olBaseMapLayer = new TileLayer({
-          title: "楂樺痉鍦板浘",
-          source: new XYZ({
-            url: map.urls,
-            wrapX: false
-          }),
-          zIndex: -1
-        });
-        window.map.addLayer(window.olBaseMapLayer);
+      
         return;
       } else if (mapCollection.sourceType === "tdmap") {
 
@@ -291,15 +127,7 @@
           tileMatrixSetID: "GoogleMapsCompatible",
         }))
 
-        window.olBaseMapLayer = new TileLayer({
-          title: "楂樺痉鍦板浘",
-          source: new XYZ({
-            url: map.olUrls + tokne
-
-          }),
-          zIndex: -1
-        });
-        window.map.addLayer(window.olBaseMapLayer);
+      
       } else if (mapCollection.sourceType === "gdmap") {
 
         window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider(
@@ -309,15 +137,7 @@
           })
         );
 
-        window.olBaseMapLayer = new TileLayer({
-          title: "楂樺痉鍦板浘",
-          source: new XYZ({
-            url: map.urls,
-            wrapX: false
-          }),
-          zIndex: -1
-        });
-        window.map.addLayer(window.olBaseMapLayer);
+       
       } else if (mapCollection.sourceType === "localmap") {
         var ulr = map.urls;
         ulr = ulr.replace("{host}", iisHost)
@@ -329,15 +149,7 @@
           })
         );
 
-        window.olBaseMapLayer = new TileLayer({
-          title: "楂樺痉鍦板浘",
-          source: new XYZ({
-            url: ulr,
-            wrapX: false
-          }),
-          zIndex: -1
-        });
-        window.map.addLayer(window.olBaseMapLayer);
+     
       }
       Viewer.imageryLayers.lowerToBottom(window.BaseMapLayer);//灏嗗浘灞傜Щ鍒版渶搴曞眰
       Viewer.imageryLayers.raise(window.BaseMapLayer);//灏嗗浘灞傜Щ鍒版渶搴曞眰
@@ -380,6 +192,7 @@
 /deep/.el-card__body {
   padding: 0px !important;
 }
+
 .map {
   display: inline-block;
   cursor: pointer;
@@ -391,6 +204,7 @@
     border-radius: 4px;
   }
 }
+
 .boxCard {
   margin-bottom: 5px;
 }
diff --git a/src/views/Tools/AddOnlineOLMap.vue b/src/views/Tools/AddOnlineOLMap.vue
new file mode 100644
index 0000000..fa5e8ec
--- /dev/null
+++ b/src/views/Tools/AddOnlineOLMap.vue
@@ -0,0 +1,221 @@
+<template>
+  <Popup ref="pop" :title="title" @close="close(true)" width="400px" @yes="addData" @cancel="close(false)">
+
+    <div id="archTopBox" class="archTopBox">
+
+      <div class="boxCard" v-for="(item, index) in mapList">
+        <el-card class="box-card">
+          <div slot="header" class="clearfix">
+            <span style="font-size:14px">{{ item.name }}</span>
+            <div style="float: right; padding: 3px 0">
+              <i v-show="!item.isShow" style="margin-left:10px" class="el-icon-arrow-up" :title="$t('archiveObj.fold')"
+                @click="setCardChange(item)"></i>
+              <i v-show="item.isShow" style="margin-left:10px" class="el-icon-arrow-down"
+                :title="$t('archiveObj.develop')" @click="setCardChange(item)"></i>
+            </div>
+          </div>
+          <div :id="item.id" style="margin:5px 1px" v-show="!item.isShow">
+            <div style="margin:10px;width:380px">
+              <div class="map" v-for="(map, mapIndex) in item.list" @click="addImageLayer(map, item)">
+                <img style="width: 60px; height: 60px" :src="map.image"></img>
+                <div> <el-link :underline="false">
+                    {{ map.name }}
+                  </el-link></div>
+              </div>
+            </div>
+          </div>
+        </el-card>
+
+      </div>
+    </div>
+    </el-form>
+  </Popup>
+</template>
+
+<script>
+import Popup from "./Popup";
+import TileLayer from "ol/layer/Tile"
+import XYZ from "ol/source/XYZ"
+// 褰卞儚鍥惧眰
+import mapLayers from "./layer";
+export default {
+  name: "addOnlineOlMap",
+  components: {
+    Popup,
+  },
+  mixins: [],
+  data() {
+    return {
+      title: "2D鍦ㄧ嚎鍦板浘",
+      left: undefined,
+      tokne: "",
+      data: {
+        id: "",
+        sourceType: "",
+        name: "",
+        urls: "",
+        layer: "",
+        alpha: 1,
+        maximumLevel: 26,
+        zIndex: undefined,
+      },
+      mapCollection: undefined,
+      mapList: mapLayers,
+    };
+  },
+  computed: {
+    activeNames() {
+      return this.mapList.map((item) => {
+        return item.name;
+      });
+    },
+  },
+  methods: {
+    setCardChange(res) {
+      res.isShow = !res.isShow
+    },
+    // 鍏抽棴寮圭獥
+    close(isCloseBtn, removeLayer = true) {
+      //   removeLayer && this.removeImageLayer();
+
+      // 閲嶇疆data鍊�
+      Object.assign(this.$data, this.$options.data());
+      !isCloseBtn && this.$refs.pop.close();
+    },
+    // 鎵撳紑寮圭獥
+    open() {
+      this.close(true);
+      this.$refs.pop.open();
+
+    },
+    changeToken(token) {
+      this.mapCollection.tokne = token;
+    },
+    removeImageLayer() {
+      window.map.removeLayer(window.olBaseMapLayer);
+      if (!is_production) {
+        if (window.vectorLayer) {
+          window.map.removeLayer(window.vectorLayer);
+        }
+      }
+    },
+    addImageLayer(map, mapCollection) {
+
+      if (
+        this.data.name === map.name &&
+        (this.data.urls === map.urls || this.data.urls === mapCollection.urls)
+      ) {
+        return;
+      }
+
+      this.removeImageLayer();
+
+      this.mapCollection = mapCollection;
+      if (mapCollection.sourceType === "cesium") {
+        window.olBaseMapLayer = new TileLayer({
+          title: "楂樺痉鍦板浘",
+          source: new XYZ({
+            url: map.urls,
+            wrapX: false
+          }),
+          zIndex: -1
+        });
+        window.map.addLayer(window.olBaseMapLayer);
+        return;
+      } else if (mapCollection.sourceType === "tdmap") {
+
+        var tokne = mapCollection.tokne;
+        //娣诲姞澶╁湴鍥惧奖鍍�
+
+      
+
+        window.olBaseMapLayer = new TileLayer({
+          title: "楂樺痉鍦板浘",
+          source: new XYZ({
+            url: map.olUrls + tokne
+
+          }),
+          zIndex: -1
+        });
+        window.map.addLayer(window.olBaseMapLayer);
+      } else if (mapCollection.sourceType === "gdmap") {
+
+     
+        window.olBaseMapLayer = new TileLayer({
+          title: "楂樺痉鍦板浘",
+          source: new XYZ({
+            url: map.urls,
+            wrapX: false
+          }),
+          zIndex: -1
+        });
+        window.map.addLayer(window.olBaseMapLayer);
+      } else if (mapCollection.sourceType === "localmap") {
+        var ulr = map.urls;
+        ulr = ulr.replace("{host}", iisHost)
+
+       
+
+        window.olBaseMapLayer = new TileLayer({
+          title: "楂樺痉鍦板浘",
+          source: new XYZ({
+            url: ulr,
+            wrapX: false
+          }),
+          zIndex: -1
+        });
+        window.map.addLayer(window.olBaseMapLayer);
+      }
+    
+    },
+    // 娣诲姞鏁版嵁
+    addData() {
+      if (this.data.urls && this.data.sourceType) {
+        let data = {
+          id: window.sgworld.Core.getuid(),
+          ...this.data,
+          Level: [0, 26],
+        };
+        if (data.sourceType === "tdmap") {
+          data.urls += "&tk=" + this.tokne;
+        } else if (data.sourceType === "bdmap") {
+          data.style = this.mapCollection.style;
+        }
+        if (this.mapCollection.GCJ02) {
+          data.GCJ02 = true;
+        }
+
+        data.item = window.BaseMapLayer;
+        window.BaseMapLayer = undefined;
+
+        this.$emit("success", data);
+        this.close(false, false);
+      } else {
+        this.$message("璇烽�夋嫨鍦板浘");
+      }
+    },
+  },
+};
+</script>
+
+<style scoped lang="less">
+/deep/.el-card__body {
+  padding: 0px !important;
+}
+
+.map {
+  display: inline-block;
+  cursor: pointer;
+  margin: 5px;
+  text-align: center;
+
+  .el-image {
+    border: 2px solid #fff;
+    border-radius: 4px;
+  }
+}
+
+.boxCard {
+  margin-bottom: 5px;
+}
+</style>
diff --git a/src/views/Tools/layer.js b/src/views/Tools/layer.js
new file mode 100644
index 0000000..4be8fd7
--- /dev/null
+++ b/src/views/Tools/layer.js
@@ -0,0 +1,92 @@
+const mapLayers = [{
+    name: "Cesium",
+    sourceType: "cesium",
+    tokne: "94a34772eb88317fcbf8428e10448561",
+    maximumLevel: 18,
+    id: 1,
+    isShow: true,
+    list: [{
+        name: "Cesium褰卞儚",
+        image: require("../../assets/img/imageLayer/tdmap_image.jpg"),
+        urls: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
+    },],
+},
+
+{
+    name: "澶╁湴鍥�",
+    sourceType: "tdmap",
+    tokne: "94a34772eb88317fcbf8428e10448561",
+    maximumLevel: 18,
+    id: 1,
+    isShow: true,
+    list: [
+        {
+            name: "澶╁湴鍥惧湴鍥�",
+            image: require("../../assets/img/imageLayer/tdmap_map.jpg"),
+            urls: "http://t0.tianditu.com/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
+            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk='
+        },
+        {
+            name: "澶╁湴鍥惧奖鍍�",
+            image: require("../../assets/img/imageLayer/tdmap_image.jpg"),
+            urls: "http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
+            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk='
+        },
+        {
+            name: "澶╁湴鍥惧湴褰�",
+            image: require("../../assets/img/imageLayer/tdmap_label.jpg"),
+            urls: "http://t0.tianditu.com/ter_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=ter&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=",
+            olUrls: 'http://t0.tianditu.gov.cn/DataServer?T=ter_w&x={x}&y={y}&l={z}&tk='
+        },
+    ],
+},
+{
+    name: "楂樺痉鍦板浘",
+    sourceType: "gdmap",
+    maximumLevel: 18,
+    id: 2,
+    isShow: true,
+    list: [
+        {
+            name: "楂樺痉鍦板浘",
+            image: require("../../assets/img/imageLayer/gdmap_map.jpg"),
+            urls: "https://webst02.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z}",
+        },
+        {
+            name: "楂樺痉褰卞儚",
+            image: require("../../assets/img/imageLayer/gdmap_image.jpg"),
+            urls: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
+        },
+
+    ],
+}, {
+    name: '鏈湴鏈嶅姟',
+    sourceType: 'localmap',
+    maximumLevel: 22,
+    id: 3,
+    isShow: true,
+    list: [
+        {
+            name: "鍦板浘",
+            image: require("../../assets/img/imageLayer/gdmap_map.jpg"),
+            urls: "http://{host}/LFData/2d/tiles/vec/{z}/{x}/{y}.png",
+        },
+        {
+            name: "褰卞儚",
+            image: require("../../assets/img/imageLayer/gdmap_image.jpg"),
+            urls: "http://{host}/LFData/2d/tiles/img/{z}/{x}/{y}.png",
+        },
+        {
+            name: "鍦板舰",
+            image: require("../../assets/img/imageLayer/dixing.png"),
+            urls: "http://{host}/LFData/2d/tiles/ter/{z}/{x}/{y}.png",
+        },
+        {
+            name: "1:20涓囧尯鍩熷湴璐ㄥ浘",
+            image: require("../../assets/img/imageLayer/25dizhi.png"),
+            urls: "http://{host}/LFData/2d/tiles/20w_qydz/{z}/{x}/{y}.png",
+        },
+    ],
+}
+]
+export default mapLayers;
\ No newline at end of file
diff --git a/src/views/datamanage/dataUpdata.vue b/src/views/datamanage/dataUpdata.vue
index b12988c..9023154 100644
--- a/src/views/datamanage/dataUpdata.vue
+++ b/src/views/datamanage/dataUpdata.vue
@@ -1676,7 +1676,7 @@
           this.formCheckAll.wbsPath = path;
         }
       }
-    
+
       this.formCheckAll.sjfl = '鏁板瓧鍖栨垚鏋�'
       const data = await dataUpload_uploadChecks(this.formCheckAll);
       if (data.code != 200) {
@@ -1726,14 +1726,14 @@
         this.taskStatus++;
         this.getStartTaskStatus();
       } else {
-        this.quayTestForms.names = JSON.parse(this.pathBak).toString();
+        this.quayTestForms.names = this.pathBak
         var value = this.getCheckedKeys
         var bak = value.data.fullName.split("\\");
         this.quayTestForms.xmmc = bak[this.taskStatus];
         this.quayTestForms.sjzy = this.formInline.specialtyId;
         this.quayTestForms.zipPath =
           this.multipleSelection[this.taskStatus].path;
-          // this.quayTestForms.wbsPath = this.multipleSelection[this.taskStatus].path;
+        // this.quayTestForms.wbsPath = this.multipleSelection[this.taskStatus].path;
         this.quayTestForms.sjfl = '鏁板瓧鍖栨垚鏋�'
         const data = await dataUpload_uploadChecks(this.quayTestForms);
         if (data.code != 200) {
@@ -1801,7 +1801,11 @@
       }
       this.progress = std / (res.length * 100);
       for (var i in this.tableData) {
+        if (!this.multipleSelection[this.taskStatus]) {
+          break;
+        }
         if (
+
           this.tableData[i].path == this.multipleSelection[this.taskStatus].path
         ) {
           this.$set(this, "jindutiao", parseInt(this.progress * 100));
diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue
index d888444..91b2b50 100644
--- a/src/views/datamanage/uploadmanage.vue
+++ b/src/views/datamanage/uploadmanage.vue
@@ -1227,18 +1227,18 @@
         std.push(this.multipleSelection[i].id)
       }
 
-      if (this.formInline.type == 'DOM') {
-        const data1 = await publish_selectRasterCs({
-          ids: std.toString()
-        })
-        if (data1.code == 200 && data1.result.length == 0) {
-        } else {
-          this.rasterCsOption = data1.result;
-          this.insertDialogVisible = false;
-          this.rasterCsVisible = true;
-          return
-        }
-      }
+      // if (this.formInline.type == 'DOM') {
+        // const data1 = await publish_selectRasterCs({
+        //   ids: std.toString()
+        // })
+        // if (data1.code == 200 && data1.result.length == 0) {
+        // } else {
+        //   this.rasterCsOption = data1.result;
+        //   this.insertDialogVisible = false;
+        //   this.rasterCsVisible = true;
+        //   return
+        // }
+      // }
 
 
       var obj = {

--
Gitblit v1.9.3