From d91f0dfcd2ef95fb3624d94ade24fe69a9169a58 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 04 二月 2024 15:15:00 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.20.92:8888/r/P2022036_Web2

---
 src/components/preview_map.vue |  557 +++++++++++++++++++++++--------------------------------
 1 files changed, 237 insertions(+), 320 deletions(-)

diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue
index 8fcadfa..ad224cc 100644
--- a/src/components/preview_map.vue
+++ b/src/components/preview_map.vue
@@ -1,154 +1,71 @@
 <template>
-  <div
-    id="mapdiv"
-    class="previewBox"
-  >
-    <div
-      v-if="modelLayer"
-      class="modelLayer box_divm"
-    >
+  <div id="mapdiv" class="previewBox">
+    <div v-if="modelLayer" class="modelLayer box_divm">
       <div class="modelBox">
-        <div
-          style="float:right"
-          :title="$t('synthesis.undergroundMode')"
-          @click="setUndergroundMode"
-        >
+        <div style="float:right" :title="$t('synthesis.undergroundMode')" @click="setUndergroundMode">
           <i class="el-icon-sunrise "></i>
         </div>
       </div>
       <div class="modelBox">
-        <el-tree
-          :data="treeData"
-          show-checkbox
-          node-key="id"
-          ref="tree"
-          :default-expanded-keys="[1]"
-          :props="defaultProps"
-          @node-click="handleNodeClick"
-          @check="handleCheckChange"
-          @node-contextmenu="rightClick"
-        >
+        <el-tree :data="treeData" show-checkbox node-key="id" ref="tree" :default-expanded-keys="[1]"
+          :props="defaultProps" @node-click="handleNodeClick" @check="handleCheckChange" @node-contextmenu="rightClick">
         </el-tree>
       </div>
     </div>
-    <div
-      v-if="editModelFlag"
-      class="modelLayer box_divm"
-    >
-      <el-form
-        ref="form"
-        :model="modelForm"
-        label-width="80px"
-      >
+    <div v-if="editModelFlag" class="modelLayer box_divm">
+      <el-form ref="form" :model="modelForm" label-width="80px">
         <el-form-item>
-          <el-button
-            size="small"
-            v-if="$store.state.previewLayer.type == 'mpt'"
-            @click="setcropping"
-          >瑁佸壀</el-button>
-          <el-button
-            size="small"
-            v-if="$store.state.previewLayer.type != 'mpt'"
-            @click="locateTo"
-          >瀹氫綅</el-button>
-          <el-button
-            size="small"
-            v-if="$store.state.previewLayer.type != 'mpt'"
-            @click="showTileset"
-          >鏄鹃殣</el-button>
-          <el-button
-            size="small"
-            v-if="$store.state.previewLayer.type != 'mpt'"
-            @click="setUndergroundMode"
-          >鍦颁笅</el-button>
-          <el-button
-            v-if="$store.state.previewLayer.type != '3dml' &&
+          <el-button size="small" v-if="$store.state.previewLayer.stype != 'yl'"
+            @click="dialogLayerVisible = true">鍥惧眰</el-button>
+          <el-button size="small" v-if="$store.state.previewLayer.type == 'mpt'" @click="setcropping">瑁佸壀</el-button>
+          <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="locateTo">瀹氫綅</el-button>
+          <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="showTileset">鏄鹃殣</el-button>
+
+          <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'"
+            @click="setUndergroundMode">鍦颁笅</el-button>
+          <br />
+          <el-button v-if="$store.state.previewLayer.type != '3dml' &&
             $store.state.previewLayer.type != 'cpt' &&
-            $store.state.previewLayer.type != 'mpt'"
-            size="small"
-            @click="pickupCoords"
-          >鎷惧彇</el-button>
-          <el-button
-            v-if="$store.state.previewLayer.type != '3dml' &&
+            $store.state.previewLayer.type != 'mpt'" size="small" @click="pickupCoords">鎷惧彇</el-button>
+          <el-button v-if="$store.state.previewLayer.type != '3dml' &&
             $store.state.previewLayer.type != 'cpt' &&
-            $store.state.previewLayer.type != 'mpt'"
-            size="small"
-            @click="reload"
-          >
+            $store.state.previewLayer.type != 'mpt'" size="small" @click="reload">
             閲嶈浇
           </el-button>
-          <el-button
-            v-if="modelForm.modelid == null && $store.state.previewLayer.type != '3dml' &&
+          <el-button v-if="modelForm.modelid == null && $store.state.previewLayer.type != '3dml' &&
             $store.state.previewLayer.type != 'cpt' &&
-            $store.state.previewLayer.type != 'mpt'"
-            size="small"
-            @click="getModeKeyId"
-          >妯″瀷涓婚敭</el-button>
-          <el-button
-            v-if="$store.state.previewLayer.type != '3dml' &&
+            $store.state.previewLayer.type != 'mpt'" size="small" @click="getModeKeyId">妯″瀷涓婚敭</el-button>
+          <el-button v-if="$store.state.previewLayer.type != '3dml' &&
             $store.state.previewLayer.type != 'cpt'
-            "
-            size="small"
-            @click="resave"
-          >淇濆瓨</el-button>
+            " size="small" @click="resave">淇濆瓨</el-button>
 
         </el-form-item>
-        <el-form-item
-          label="缁忓害:"
-          v-if="$store.state.previewLayer.type != '3dml' &&
+        <el-form-item label="缁忓害:" v-if="$store.state.previewLayer.type != '3dml' &&
           $store.state.previewLayer.type != 'cpt' &&
-          $store.state.previewLayer.type != 'mpt'"
-        >
-          <el-input
-            size="small"
-            v-model="modelForm.lon"
-          ></el-input>
+          $store.state.previewLayer.type != 'mpt'">
+          <el-input size="small" v-model="modelForm.lon"></el-input>
 
         </el-form-item>
-        <el-form-item
-          label="绾害:"
-          v-if="$store.state.previewLayer.type != '3dml' &&
+        <el-form-item label="绾害:" v-if="$store.state.previewLayer.type != '3dml' &&
           $store.state.previewLayer.type != 'cpt' &&
-          $store.state.previewLayer.type != 'mpt'"
-        >
-          <el-input
-            size="small"
-            v-model="modelForm.lat"
-          ></el-input>
+          $store.state.previewLayer.type != 'mpt'">
+          <el-input size="small" v-model="modelForm.lat"></el-input>
 
         </el-form-item>
-        <el-form-item
-          label="楂樺害:"
-          v-if="$store.state.previewLayer.type != '3dml' &&
+        <el-form-item label="楂樺害:" v-if="$store.state.previewLayer.type != '3dml' &&
           $store.state.previewLayer.type != 'cpt' &&
-          $store.state.previewLayer.type != 'mpt'"
-        >
-          <el-input
-            size="small"
-            v-model="modelForm.height"
-          ></el-input>
+          $store.state.previewLayer.type != 'mpt'">
+          <el-input size="small" v-model="modelForm.height"></el-input>
 
         </el-form-item>
-        <el-form-item
-          label="瑙掑害:"
-          v-if="$store.state.previewLayer.type != '3dml' &&
+        <el-form-item label="瑙掑害:" v-if="$store.state.previewLayer.type != '3dml' &&
           $store.state.previewLayer.type != 'cpt' &&
-          $store.state.previewLayer.type != 'mpt'"
-        >
-          <el-input
-            size="small"
-            v-model="modelForm.yaw"
-          ></el-input>
+          $store.state.previewLayer.type != 'mpt'">
+          <el-input size="small" v-model="modelForm.yaw"></el-input>
 
         </el-form-item>
-        <el-form-item
-          label="姣斾緥:"
-          v-if="$store.state.previewLayer.type == 'las'"
-        >
-          <el-input
-            size="small"
-            v-model="modelForm.scale"
-          ></el-input>
+        <el-form-item label="姣斾緥:" v-if="$store.state.previewLayer.type == 'las'">
+          <el-input size="small" v-model="modelForm.scale"></el-input>
 
         </el-form-item>
         <!-- <el-form-item label="閫忔槑搴�:">
@@ -161,46 +78,20 @@
       </el-form>
     </div>
 
-    <el-dialog
-      :title="formInline.title"
-      :visible.sync="dialogVisible"
-      :modal="false"
-      :modal-append-to-body="false"
-      :close-on-click-modal="false"
-      :before-close="handleClose"
-      width="30%"
-    >
+    <el-dialog :title="formInline.title" :visible.sync="dialogVisible" :modal="false" :modal-append-to-body="false"
+      :close-on-click-modal="false" :before-close="handleClose" width="30%">
       <div style="height:63vh">
-        <el-tabs
-          v-model="activeName"
-          @tab-click="handleClick"
-        >
-          <el-tab-pane
-            label="灞炴��"
-            name="first"
-            v-if="serveType"
-          >
-            <el-form
-              ref="form"
-              :model="formInline"
-              label-width="80px"
-            >
+        <el-tabs v-model="activeName" @tab-click="handleClick">
+          <el-tab-pane label="灞炴��" name="first" v-if="serveType">
+            <el-form ref="form" :model="formInline" label-width="80px">
 
               <el-form-item :label="$t('common.name')">
                 <el-input v-model="formInline.name"></el-input>
 
               </el-form-item>
               <el-form-item :label="$t('common.type')">
-                <el-select
-                  v-model="formInline.type"
-                  style="width:100%"
-                >
-                  <el-option
-                    v-for="item in options"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
+                <el-select v-model="formInline.type" style="width:100%">
+                  <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
                   </el-option>
                 </el-select>
 
@@ -211,113 +102,47 @@
 
               </el-form-item>
               <el-form-item>
-                <el-button
-                  v-show="isShowModel"
-                  type="success"
-                  plain
-                  size="small"
-                  @click="InsertData"
-                >{{
+                <el-button v-show="isShowModel" type="success" plain size="small" @click="InsertData">{{
                   $t('common.increase') }}</el-button>
-                <el-button
-                  v-show="!isShowModel"
-                  type="info"
-                  plain
-                  size="small"
-                  @click="EditData"
-                >{{ $t('common.update')
+                <el-button v-show="!isShowModel" type="info" plain size="small" @click="EditData">{{ $t('common.update')
                 }}</el-button>
               </el-form-item>
             </el-form>
 
           </el-tab-pane>
-          <el-tab-pane
-            label="闄勪欢"
-            name="second"
-          >
-            <el-form
-              :model="fromfile"
-              class="demo-form-inline"
-            >
+          <el-tab-pane label="闄勪欢" name="second">
+            <el-form :model="fromfile" class="demo-form-inline">
               <el-form-item>
-                <el-input
-                  v-model="fromfile.file"
-                  style="width: 300px; margin-right: 20px"
-                  :placeholder="$t('common.choose')"
-                  disabled
-                ></el-input>
-                <input
-                  name="file1"
-                  type="file"
-                  id="insertFile"
-                  multiple="multiple"
-                  style="display: none"
-                  @change="insertFile()"
-                />
-                <el-link
-                  @click="getInsertFile()"
-                  :underline="false"
-                ><i class="el-icon-folder-opened"></i></el-link>
+                <el-input v-model="fromfile.file" style="width: 300px; margin-right: 20px"
+                  :placeholder="$t('common.choose')" disabled></el-input>
+                <input name="file1" type="file" id="insertFile" multiple="multiple" style="display: none"
+                  @change="insertFile()" />
+                <el-link @click="getInsertFile()" :underline="false"><i class="el-icon-folder-opened"></i></el-link>
               </el-form-item>
               <el-form-item>
                 <el-row>
                   <el-col :span="3">
-                    <el-link
-                      class="elLink"
-                      :underline="false"
-                      @click="setAttachInsert"
-                    >{{ $t('common.append')
+                    <el-link class="elLink" :underline="false" @click="setAttachInsert">{{ $t('common.append')
                     }}</el-link>
                   </el-col>
                   <el-col :span="3">
-                    <el-link
-                      class="elLink"
-                      :underline="false"
-                      @click="setAttachDel"
-                    >{{ $t('common.delete') }}</el-link>
+                    <el-link class="elLink" :underline="false" @click="setAttachDel">{{ $t('common.delete') }}</el-link>
                   </el-col>
 
                 </el-row>
               </el-form-item>
             </el-form>
-            <el-table
-              :data="tableData"
-              ref="filterTable"
-              height="calc(100% - 130px)"
-              border
-              style="width: 100%"
-              @selection-change="handleAttatchChange"
-            >
-              <el-table-column
-                type="selection"
-                width="70"
-              />
-              <el-table-column
-                width="60"
-                type="index"
-                :label="$t('common.index')"
-              />
-              <el-table-column
-                prop="name"
-                :label="$t('common.name')"
-              />
+            <el-table :data="tableData" ref="filterTable" height="calc(100% - 130px)" border style="width: 100%"
+              @selection-change="handleAttatchChange">
+              <el-table-column type="selection" width="70" />
+              <el-table-column width="60" type="index" :label="$t('common.index')" />
+              <el-table-column prop="name" :label="$t('common.name')" />
 
-              <el-table-column
-                prop="sizes"
-                :label="$t('common.size')"
-                :formatter="statSizeChange"
-              />
-              <el-table-column
-                align="center"
-                :label="$t('common.operate')"
-                min-width="100"
-              >
+              <el-table-column prop="sizes" :label="$t('common.size')" :formatter="statSizeChange" />
+              <el-table-column align="center" :label="$t('common.operate')" min-width="100">
                 <template slot-scope="scope">
-                  <el-link
-                    v-if="matchState(scope, /[]/)"
-                    @click="setAttatchDetail(scope.$index, scope.row)"
-                    class="elLink"
-                  >{{ $t('common.see') }}</el-link>
+                  <el-link v-if="matchState(scope, /[]/)" @click="setAttatchDetail(scope.$index, scope.row)"
+                    class="elLink">{{ $t('common.see') }}</el-link>
 
                 </template>
               </el-table-column>
@@ -340,83 +165,61 @@
         <map-sdk v-if='showMapVisible'></map-sdk>
       </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"
-      >
+      <div v-if="dialog.isJpg" class="pdfClass">
 
-        <el-image
-          style="width:100%; height:100%"
-          :src="dialog.src"
-          :preview-src-list="[dialog.src]"
-        >
+        <el-image style="width:100%; height:100%" :src="dialog.src" :preview-src-list="[dialog.src]">
         </el-image>
 
       </div>
     </el-dialog>
-    <div
-      v-show="modelKeyFlag"
-      class="modelLayer box_divm"
-      v-drag
-    >
-      <el-form
-        ref="form"
-        :model="modelForm"
-        label-width="80px"
-      >
+
+    <div v-show="dialogLayerVisible" class="levelLayer box_divm">
+      <div class="levelTitle">
+        <div>
+          鍥惧眰鍒楄〃
+        </div>
+        <div @click="dialogLayerVisible = false">
+          <i class="el-icon-close"></i>
+        </div>
+      </div>
+      <div class="layerContent">
+        <div v-for="(item, index) in layerTree" class="contLayer">
+          <div> <el-checkbox v-model="item.checked" @change="setLayerTreeChange(item)">{{ item.cnName }}</el-checkbox>
+          </div>
+          <div>
+
+            <el-button icon="el-icon-map-location" size="mini" @click="setLayerTreeLocation(item)"></el-button>
+          </div>
+        </div>
+      </div>
+
+    </div>
+    <div v-show="modelKeyFlag" class="modelLayer box_divm" v-drag>
+      <el-form ref="form" :model="modelForm" label-width="80px">
         <el-form-item label="涓婚敭ID">
           <el-select v-model="modelLayerId">
-            <el-option
-              v-for="item in optionKey"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
+            <el-option v-for="item in optionKey" :key="item.value" :label="item.label" :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button
-            type="primary"
-            size="small"
-            @click="setSureKeyModelKey"
-          >{{ $t('common.confirm') }}</el-button>
+          <el-button type="primary" size="small" @click="setSureKeyModelKey">{{ $t('common.confirm') }}</el-button>
         </el-form-item>
       </el-form>
     </div>
     <undergroundModel ref="undergroundModel" />
-    <el-card
-      class="box-card"
-      ref="card"
-      :style="{ ...rightClickMenuStyle }"
-      v-show="menuVisible"
-    >
-      <div
-        class="edit"
-        @click="setShowFile"
-      >
+    <el-card class="box-card" ref="card" :style="{ ...rightClickMenuStyle }" v-show="menuVisible">
+      <div class="edit" @click="setShowFile">
         <i class="el-icon-tickets"></i>&nbsp;&nbsp;闄勪欢
       </div>
     </el-card>
+
   </div>
 </template>
  
@@ -454,6 +257,7 @@
       },
       childOption: [],
       dialogVisible: false,
+      dialogLayerVisible: false,
       isShowModel: false,
       tableData: [],
       formInline: {
@@ -525,13 +329,87 @@
       menuVisible: false,
       rightClickMenuStyle: {}, // 鍙抽敭鑿滃崟鏍峰紡
       serveType: true,
-      layerData: "lf.sys_style"
+      layerData: "lf.sys_style",
+      layerTree: null
     }
   },
   mounted() {
     this.init3DMap();
+    this.getLayers();
   },
   methods: {
+    async getLayers() {
+      const data = await perms_selectLayers();
+      if (data.code != 200) {
+        return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触");
+      }
+
+      var layer = data.result.filter(res => {
+        if (res.type == 2) {
+          if (res.serveType == 'WMTS' || res.serveType == 'TMS') {
+            res.checked = false;
+            return res
+          }
+        }
+      })
+      this.layerTree = layer
+    },
+    setLayerTreeChange(res) {
+      if (res.checked) {
+        this.setAddTreeLayers(res)
+      } else {
+        this.setRemoveTreeLayers(res)
+      }
+    },
+    async setLayerTreeLocation(res) {
+      if (res.pubid) {
+        let data = await comprehensive_selectPubById({ id: res.pubid });
+        if (data.result && data.result.geom) {
+          let wkt = this.$wkt.parse(data.result.geom);
+          let height = this.getHeight(wkt.coordinates[2]);
+          Viewer.camera.flyTo({
+            destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], sceneConfig.extureHeight), // 2000
+          });
+        }
+      }
+    },
+    async setAddTreeLayers(res) {
+      var url = res.url.indexOf("{host}") > -1 ? res.url.replace("{host}", iisHost) : res.url;
+
+      var layer = Viewer.imageryLayers.addImageryProvider(
+        new Cesium.UrlTemplateImageryProvider({
+          url: url,
+          maximumLevel: 18,
+        })
+      );
+      layer.name = res.cnName + '_' + res.id
+    },
+    setRemoveTreeLayers(res) {
+      var name = res.cnName + '_' + res.id;
+      var layers = Viewer.imageryLayers._layers;
+      for (var i in layers) {
+        if (layers[i].name == name) {
+          Viewer.imageryLayers.remove(layers[i])
+        }
+      }
+    },
+    setTreeData(source) {
+      let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕
+      return cloneData.filter((father) => {
+        // 寰幆鎵�鏈夐」
+        let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁
+        if (branchArr.length > 0) {
+          branchArr.sort(function (a, b) {
+
+            return a.orderNum - b.orderNum
+          })
+        }
+        branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
+        // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛� 閭d箞 a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛�
+        // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋�
+        return father.pid == 0; // 杩斿洖涓�绾ц彍鍗�
+      });
+    },
     // 榧犳爣鍙冲嚮浜嬩欢
     rightClick(event, object, node, element) {
       if (object.type == 1 || node.data.children != null) return;
@@ -1115,6 +993,13 @@
           base_ulr = base_ulr.replace("{host}", iisHost)
         }
 
+        Viewer.imageryLayers.addImageryProvider(
+          new Cesium.UrlTemplateImageryProvider({
+            url: base_ulr,
+            maximumLevel: 5
+          })
+        );
+
         window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider(
           new Cesium.UrlTemplateImageryProvider({
             url: base_ulr,
@@ -1131,26 +1016,26 @@
       Viewer.scene.globe.depthTestAgainstTerrain = true;
       // window.elevationTool = new SmartEarth.ElevationTool(window.sg);
       // elevationTool.setContourColor("#F1D487");
-      var option = {
-        url: window.sceneConfig.SGUrl,
-        layerName: window.sceneConfig.mptName,
-        requestVertexNormals: true,
-      };
-      window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, "");
-      window.terrainFlag = '2'
+      window.terrainLayer = new Cesium.CesiumTerrainProvider({
+        // url: LFData + '/3d/terrain/dem20230321'
+        url: demLayer
+      });
+      Viewer.terrainProvider = window.terrainLayer
+
+      window.terrainFlag = '1'
       // window.terrainLayer = new Cesium.CesiumTerrainProvider({
-      //   url: demLayer
+      //   url: demLayer 
       // });
 
       // Viewer.terrainProvider = window.terrainLayer
-
       if (this.$store.state.previewLayer) {
         var res = this.$store.state.previewLayer;
         var type = res.type;
+        console.log(type)
         res.ulr = res.url.replace("{host}", iisHost);
         if (type == 'DEM') {
-          window.terrainLayer.deleteObject();
-          // Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider();
+          // window.terrainLayer.deleteObject();
+          Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider();
           // window.terrainLayer = null;
           window.terrainLayer = null;
           window.terrainLayer = new Cesium.CesiumTerrainProvider({
@@ -1165,12 +1050,15 @@
               roll: 0.0
             }
           });*/
+       
+          if (res.geom) {
+            var wkt = this.$wkt.parse(res.geom);
+            var height = this.getHeight(wkt.coordinates[2]);
+            Viewer.camera.flyTo({
+              destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height),
+            });
+          }
 
-          var wkt = this.$wkt.parse(res.geom);
-          var height = this.getHeight(wkt.coordinates[2]);
-          Viewer.camera.flyTo({
-            destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height),
-          });
         } else if (type == 'DOM') {
           var wkt = this.$wkt.parse(res.geom);
           var height = this.getHeight(wkt.coordinates[2])
@@ -1246,8 +1134,8 @@
     },
 
     async resave() {
-
-      if (this.$store.state.previewLayer.type != "mpt") {
+      var type = this.$store.state.previewLayer.type;
+      if (type && type != "mpt" && type != "mpt") {
         if (!this.modelForm.modelid) {
           return this.$message('鏈�夋嫨妯″瀷涓婚敭ID');
         }
@@ -1273,7 +1161,7 @@
       this.reload();
     },
     reload() {
-      debugger
+
       sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha)
       var json = JSON.stringify(this.modelForm);
       var modelScale = this.modelForm.scale
@@ -1570,7 +1458,8 @@
       if (level > 0 && level < 23) {
         return this.levelArray[level]
       }
-      return this.levelArray[this.levelArray.length - 1]
+      var res = 7
+      return this.levelArray[res]
     },
 
   },
@@ -1599,6 +1488,34 @@
     }
   }
 
+  .levelLayer {
+    position: absolute;
+    z-index: 40;
+    padding: 10px 20px;
+    max-height: 450px;
+    overflow: auto;
+    border: 1px solid #409eff;
+    top: 20%;
+    left: 50%;
+    transform: translate(-50%, 0%);
+
+    .levelTitle {
+      width: 100%;
+      display: flex;
+      justify-content: space-between;
+      font-size: 16px;
+      font-family: Source Han Sans CN;
+    }
+
+    .contLayer {
+      margin: 10px 0px;
+      font-size: 14px;
+      font-family: Source Han Sans CN;
+      display: flex;
+      justify-content: space-between;
+    }
+  }
+
   .pdfClass {
     height: 70vh;
     width: 100%;
@@ -1606,8 +1523,7 @@
   }
 
   .el-icon-sunrise {
-    background: url("../assets/img/synthesis/images/3鐧藉簳_157.png") center
-      center no-repeat;
+    background: url("../assets/img/synthesis/images/3鐧藉簳_157.png") center center no-repeat;
     background-size: 24px;
   }
 
@@ -1615,6 +1531,7 @@
     content: "11";
     visibility: hidden;
   }
+
   .box-card {
     position: fixed;
     display: block;

--
Gitblit v1.9.3