From 9d5fc70530330177bd2a67e568d67b8883694685 Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期一, 11 十二月 2023 11:16:08 +0800
Subject: [PATCH] bug修改

---
 src/components/preview_map.vue |  439 ++++++++++++------------------------------------------
 1 files changed, 103 insertions(+), 336 deletions(-)

diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue
index 0f9b5bd..ad224cc 100644
--- a/src/components/preview_map.vue
+++ b/src/components/preview_map.vue
@@ -1,160 +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"
-            @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.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>
+          <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' &&
+          <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="閫忔槑搴�:">
@@ -167,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>
 
@@ -217,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>
@@ -346,44 +165,21 @@
         <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="dialogLayerVisible"
-      class="levelLayer box_divm"
-    >
+    <div v-show="dialogLayerVisible" class="levelLayer box_divm">
       <div class="levelTitle">
         <div>
           鍥惧眰鍒楄〃
@@ -393,67 +189,33 @@
         </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 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>
+            <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"
-      >
+    <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>
@@ -1254,27 +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({
@@ -1289,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])
@@ -1734,6 +1498,7 @@
     top: 20%;
     left: 50%;
     transform: translate(-50%, 0%);
+
     .levelTitle {
       width: 100%;
       display: flex;
@@ -1741,6 +1506,7 @@
       font-size: 16px;
       font-family: Source Han Sans CN;
     }
+
     .contLayer {
       margin: 10px 0px;
       font-size: 14px;
@@ -1749,6 +1515,7 @@
       justify-content: space-between;
     }
   }
+
   .pdfClass {
     height: 70vh;
     width: 100%;
@@ -1756,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;
   }
 
@@ -1765,6 +1531,7 @@
     content: "11";
     visibility: hidden;
   }
+
   .box-card {
     position: fixed;
     display: block;

--
Gitblit v1.9.3