From 50f52beb0ed100105166f62027cd0b15e6b596dc Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期六, 12 十一月 2022 15:02:01 +0800
Subject: [PATCH] 重新

---
 src/views/Synthesis/plotting.vue |  326 ++++++++++++++++++++++-------------------------------
 1 files changed, 135 insertions(+), 191 deletions(-)

diff --git a/src/views/Synthesis/plotting.vue b/src/views/Synthesis/plotting.vue
index ebef7b6..dd33b88 100644
--- a/src/views/Synthesis/plotting.vue
+++ b/src/views/Synthesis/plotting.vue
@@ -1,47 +1,41 @@
 <template>
   <div class="box">
-    <div class="tooltip"></div>
-    <input type="file" accept=".kml" class="file" style="display: none" />
-
     <ul>
-      <li style="margin-left: 20px" @click="drawing">
+      <li
+        style="margin-left: 20px"
+        @click="changePlot(item)"
+        v-for="item in itemsOne"
+      >
         <div class="divli">
-          <div class="backimge8 h1"></div>
+          <div :class="item.class" class="backimge8"></div>
         </div>
-        <div class="div_li">鏍囩粯</div>
+        <div class="div_li">{{ $t(item.name) }}</div>
       </li>
-      <li style="margin-left: 20px" id="open">
+      <li v-if="plotStatus.delete" style="margin-left: 20px">
         <div class="divli">
-          <div class="backimge8 h1"></div>
+          <div class="backimge8"><i class="el-icon-delete"></i></div>
         </div>
-        <div class="div_li">鎵撳紑json</div>
+        <div class="div_li">鍒犻櫎</div>
       </li>
-      <li style="margin-left: 20px" @click="save">
+      <li v-if="plotStatus.upload" style="margin-left: 20px">
         <div class="divli">
-          <div class="backimge8 h1"></div>
+          <div class="backimge8"><i class="el-icon-upload2"></i></div>
         </div>
-        <div class="div_li">淇濆瓨json</div>
+        <div class="div_li">涓婁紶</div>
       </li>
-      <li style="margin-left: 20px" @click="kmlopen">
+      <li v-if="plotStatus.upload" style="margin-left: 20px">
         <div class="divli">
-          <div class="backimge8 h1"></div>
+          <div class="backimge8"><i class="el-icon-plus"></i></div>
         </div>
-        <div class="div_li">鍘熺敓kml</div>
+        <div class="div_li">鏂板</div>
       </li>
-      <li style="margin-left: 20px" @click="handleOpenClick">
+      <li v-if="plotStatus.upload" style="margin-left: 20px">
         <div class="divli">
-          <div class="backimge8 h1"></div>
+          <div class="backimge8"><i class="el-icon-edit"></i></div>
         </div>
-        <div class="div_li">瀵煎叆KML鏂囦欢</div>
-      </li>
-      <li style="margin-left: 20px" @click="handleSaveClick">
-        <div class="divli">
-          <div class="backimge8 h1"></div>
-        </div>
-        <div class="div_li">瀵煎嚭KML鏂囦欢</div>
+        <div class="div_li">淇敼</div>
       </li>
     </ul>
-
     <terrainDig ref="terrainDig" />
     <modelPress ref="modelPress" />
   </div>
@@ -49,19 +43,60 @@
 
 <script>
 // 娴嬮噺-淇℃伅寮圭獥
-import terrainDig from "../Tools/terrainDig.vue";
-import modelPress from "../Tools/modelPress.vue";
+import terrainDig from '../Tools/terrainDig.vue';
+import modelPress from '../Tools/modelPress.vue';
 export default {
   components: { terrainDig, modelPress },
   data() {
     return {
-      id: "",
       plotStatus: {
-        delete: true,
-        upload: true,
-        insert: true,
-        update: true,
+        delete: false,
+        upload: false,
+        insert: false,
+        update: false,
       },
+      itemsOne: [
+        {
+          id: '1',
+          name: 'synthesis.point',
+          class: 'h1',
+        },
+        {
+          id: '2',
+          name: 'synthesis.line',
+          class: 'h2',
+        },
+        {
+          id: '3',
+          name: 'synthesis.rectangle',
+          class: 'h3',
+        },
+        {
+          id: '4',
+          name: 'synthesis.polygon',
+          class: 'h4',
+        },
+        {
+          id: '7',
+          name: 'synthesis.symboliclabel',
+          class: 'h7',
+        },
+        {
+          id: '5',
+          name: 'synthesis.flatterrain',
+          class: 'h5',
+        },
+        {
+          id: '6',
+          name: 'synthesis.terrainexcavation',
+          class: 'h6',
+        },
+        {
+          id: '8',
+          name: 'synthesis.removepaint',
+          class: 'h8',
+        },
+      ],
     };
   },
   created() {
@@ -73,170 +108,80 @@
         this.showViewMenu(cover_perms[i]);
       }
     }
-    layui.use("upload", function () {
-      var upload = layui.upload;
-      upload.render({
-        elem: "#open",
-        accept: "file", //鏅�氭枃浠�
-        auto: false,
-        choose: function (obj) {
-          var files = obj.pushFile();
-          for (var key in files) {
-            sgworld.Creator.SimpleGraphic.open(files[key]);
-            break;
-          }
-        },
-      });
-    });
   },
   methods: {
-    handleSaveClick() {
-      let funDownload = function (content, filename) {
-        let eleLink = document.createElement("a");
-        eleLink.download = filename;
-        eleLink.style.display = "none";
-        // 瀛楃鍐呭杞彉鎴恇lob鍦板潃
-        let blob = new Blob([content]);
-        eleLink.href = URL.createObjectURL(blob);
-        // 瑙﹀彂鐐瑰嚮
-        document.body.appendChild(eleLink);
-        eleLink.click();
-        // 鐒跺悗绉婚櫎
-        document.body.removeChild(eleLink);
-      };
-      let entities = new Cesium.EntityCollection();
-      let dataSources = sgworld.Viewer.dataSources;
-      for (let i = 0, j = dataSources.length; i < j; i++) {
-        for (let v of dataSources.get(i).entities.values) {
-          entities.add(v);
-        }
-      }
-      for (let v of sgworld.Viewer.entities.values) {
-        entities.add(v);
-      }
-
-      if (entities.values.length) {
-        console.log(sgworld.Viewer.entities);
-
-        let promise = Cesium.exportKml({ entities: sgworld.Viewer.entities });
-        console.log(entities);
-        // let promise = Cesium.exportKml({ entities: entities });
-        promise.then(function (e) {
-          
-          funDownload(e.kml, new Date().getTime() + ".kml");
-        });
-      } else {
-        alert("褰撳墠鍦烘櫙娌℃湁entities瀹炰綋");
-      }
-    },
-    handleOpenClick() {
-      // let that = this;
-      let fileInput = document.querySelector(".file");
-      fileInput.onchange = function (evt) {
-        let files = evt.target.files;
-        if (files.length > 0) {
-          let file = evt.target.files[0];
-
-          let fileReader = new FileReader();
-          fileReader.readAsDataURL(file);
-          fileReader.onload = () => {
-            sgworld.Viewer.dataSources
-              .add(
-                Cesium.KmlDataSource.load(fileReader.result, {
-                  camera: sgworld.Viewer.scene.camera,
-                  canvas: sgworld.Viewer.scene.canvas,
-                })
-              )
-              .then((KmlDataSource) => {
-                console.log(KmlDataSource);
-                // let entities = kmlDataSource.entities;
-              });
-          };
-
-          // let fileReader = new FileReader();
-          // fileReader.onload = function () {
-          // sgworld.Viewer.dataSources
-          // .add(
-          //       Cesium.KmlDataSource.load(new Blob([this.result]), {
-          //         camera: sgworld.Viewer.scene.camera,
-          //         canvas: sgworld.Viewer.scene.canvas,
-          //         clampToGround: false,
-          //       })
-          // )
-          //     .then(function (kmlDataSource) {
-          //       let entities = kmlDataSource.entities;
-          //       let item = entities.values[entities.values.length - 1];
-          //       sgworld.Viewer.zoomTo(entities);
-          //     });
-          //   fileInput = null;
-          //   fileReader = null;
-          // };
-          // fileReader.readAsText(file);
-        }
-        // fileInput.value = null;
-      };
-      fileInput.click();
-    },
-
-    preview(event) {
-      var reader = new FileReader();
-      reader.readAsDataURL(file);
-      //鐩戝惉鏂囦欢璇诲彇缁撴潫鍚庝簨浠�
-      reader.onloadend = function (e) {
-        $(".img").attr("src", e.target.result); //e.target.result灏辨槸鏈�鍚庣殑璺緞鍦板潃
-      };
-      // let files = document.getElementById(this.id).files[0];
-      // this.imgDataUrl = this.getObjectURL(files);
-      // // this.$emit("sendImgUrl", this.imgDataUrl, this.id);
-      // console.log("sendImgUrl", this.imgDataUrl, this.id);
-    },
-    getObjectURL(file) {
-      let url = null;
-      if (window.createObjectURL != undefined) {
-        // basic
-        url = window.createObjectURL(file);
-      } else if (window.webkitURL != undefined) {
-        // webkit or chrome
-        url = window.webkitURL.createObjectURL(file);
-      } else if (window.URL != undefined) {
-        // mozilla(firefox)
-        url = window.URL.createObjectURL(file);
-      }
-      return url;
-    },
     showViewMenu(res) {
-      if (res.cnName != "鏍囩粯") return;
+      if (res.cnName != '鏍囩粯') return;
       switch (res.tag) {
-        case "/delete":
+        case '/delete':
           this.plotStatus.delete = true;
           break;
-        case "/upload":
+        case '/upload':
           this.plotStatus.upload = true;
           break;
-        case "/insert":
+        case '/insert':
           this.plotStatus.insert = true;
           break;
-        case "/update":
+        case '/update':
           this.plotStatus.update = true;
           break;
       }
     },
-    save() {
-      // var val_result = sgworld.Viewer.entities._entities._array;
-      // console.log(val_result[0]);
-      // console.log(sgworld.Core);
-      // console.log(sgworld.Core.getEntityPropValue(val_result[0], show));
-      sgworld.Creator.SimpleGraphic.save();
-    },
-    kmlopen() {
-      sgworld.Creator.addKmlLayer(
-        "kml鏁版嵁",
-        "http://183.162.245.49:82/sdkdemo_2022/demo/kml/facilities/facilities.kml",
-        true
-      );
-    },
-    drawing() {
-      this.$emit("drawing");
+    changePlot(res) {
+      switch (res.id) {
+        case '1':
+          sgworld.Creator.createSimpleGraphic(
+            'point',
+            {},
+            function (entity) {}
+          );
+          break;
+        case '2':
+          sgworld.Creator.createSimpleGraphic(
+            'polyline',
+            {},
+            function (entity) {}
+          );
+          break;
+        case '3':
+          sgworld.Creator.createSimpleGraphic(
+            'rectangle',
+            {},
+            function (entity) {}
+          );
+          break;
+        case '4':
+          sgworld.Creator.createSimpleGraphic(
+            'polygon',
+            {},
+            function (entity) {}
+          );
+          break;
+        case '6':
+          if (window.Excavation) {
+            window.Excavation.clear();
+            window.Excavation = null;
+          } else {
+            this.$refs.terrainDig.open();
+          }
+
+          break;
+        case '5':
+          if (window.TerrainFlattening) {
+            window.TerrainFlattening.remove();
+            window.TerrainFlattening = null;
+          } else {
+            this.$refs.modelPress.open();
+          }
+
+          break;
+        case '7':
+          sgworld.Creator.createModelLibrary();
+          break;
+        case '8':
+          this.clearAll();
+          break;
+      }
     },
     clearAll() {
       sgworld.Creator.SimpleGraphic.clear();
@@ -259,7 +204,6 @@
   height: 100%;
   position: relative;
 }
-
 .box li {
   list-style: none;
   float: left;
@@ -274,34 +218,34 @@
   margin: 0px;
 }
 .h1 {
-  background: url("../../assets/img/synthesis/妞渾 5 鎷疯礉 3.png") no-repeat
+  background: url('../../assets/img/synthesis/妞渾 5 鎷疯礉 3.png') no-repeat
     center;
 }
 .h2 {
-  background: url("../../assets/img/synthesis/妞渾 3 鎷疯礉 16.png") no-repeat
+  background: url('../../assets/img/synthesis/妞渾 3 鎷疯礉 16.png') no-repeat
     center;
 }
 .h3 {
-  background: url("../../assets/img/synthesis/妞渾 3 鎷疯礉 20.png") no-repeat
+  background: url('../../assets/img/synthesis/妞渾 3 鎷疯礉 20.png') no-repeat
     center;
 }
 .h4 {
-  background: url("../../assets/img/synthesis/妞渾 3 鎷疯礉 23.png") no-repeat
+  background: url('../../assets/img/synthesis/妞渾 3 鎷疯礉 23.png') no-repeat
     center;
 }
 .h5 {
-  background: url("../../assets/img/synthesis/鐭╁舰 14 鎷疯礉.png") no-repeat
+  background: url('../../assets/img/synthesis/鐭╁舰 14 鎷疯礉.png') no-repeat
     center;
 }
 .h6 {
-  background: url("../../assets/img/synthesis/鐭╁舰 14 鎷疯礉 7.png") no-repeat
+  background: url('../../assets/img/synthesis/鐭╁舰 14 鎷疯礉 7.png') no-repeat
     center;
 }
 .h7 {
-  background: url("../../assets/img/synthesis/鏂囨湰椋庢牸.png") no-repeat center;
+  background: url('../../assets/img/synthesis/鏂囨湰椋庢牸.png') no-repeat center;
 }
 .h8 {
-  background: url("../../assets/img/synthesis/娓呴櫎.png") no-repeat center;
+  background: url('../../assets/img/synthesis/娓呴櫎.png') no-repeat center;
 }
 .backimge8 {
   width: 30px;

--
Gitblit v1.9.3