From 4867ac0db2e48fac8e595ad78836cb2e92e3ca79 Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期三, 18 十月 2023 15:22:13 +0800
Subject: [PATCH] 临时图层管理,在线制图

---
 src/views/export/exportMap.vue |  130 +++++++++++++++++++------------------------
 1 files changed, 58 insertions(+), 72 deletions(-)

diff --git a/src/views/export/exportMap.vue b/src/views/export/exportMap.vue
index ea59f64..2a3f33e 100644
--- a/src/views/export/exportMap.vue
+++ b/src/views/export/exportMap.vue
@@ -1,8 +1,5 @@
 <template>
-  <div
-    class="expiort"
-    v-drag="true"
-  >
+  <div class="expiort" v-drag="true">
     <div class="leftMenu">
       <div class="menuTitle">鍦板浘璁捐</div>
       <div class="menmuContent">
@@ -20,12 +17,7 @@
           <p>鍒朵綔鏃ユ湡</p>
           <div class="contentInput">
             <!-- <el-input v-model="exportFrom.date"></el-input> -->
-            <el-date-picker
-              v-model="exportFrom.date"
-              style="width: 100%;"
-              type="date"
-              :clearable="false"
-            />
+            <el-date-picker v-model="exportFrom.date" style="width: 100%;" type="date" :clearable="false" />
           </div>
 
         </div>
@@ -36,36 +28,19 @@
         <div class="contentBox">
           <p>瀵煎嚭鏍煎紡</p>
           <div class="contentInput">
-            <el-select
-              style="width: 100%;"
-              v-model="exportFrom.type"
-            >
-              <el-option
-                label=".PNG"
-                value="png"
-              ></el-option>
+            <el-select style="width: 100%;" v-model="exportFrom.type">
+              <el-option label=".PNG" value="png"></el-option>
             </el-select>
           </div>
           <p>绾稿紶璁剧疆</p>
           <div class="contentInput">
-            <el-select
-              style="width: 100%;"
-              v-model="exportFrom.pageSize"
-            >
-              <el-option
-                v-for="item in options"
-                :key="item.value"
-                :label="item.name"
-                :value="item.value"
-              />
+            <el-select style="width: 100%;" v-model="exportFrom.pageSize">
+              <el-option v-for="item in options" :key="item.value" :label="item.name" :value="item.value" />
             </el-select>
           </div>
           <p>鏃嬭浆瑙掑害</p>
           <div class="contentInput">
-            <el-input
-              v-model="exportFrom.role"
-              placeholder="璇疯緭鍏ユ棆杞搴�(0-360)"
-            ></el-input>
+            <el-input v-model="exportFrom.role" placeholder="璇疯緭鍏ユ棆杞搴�(0-360)"></el-input>
           </div>
         </div>
 
@@ -73,50 +48,22 @@
           <div class="contentImg"></div>
           鍥惧眰鍒楄〃
         </div>
-        <div
-          class="contentBox spatialTable"
-          style="height: 15vh; overflow: auto;"
-        >
-          <el-table
-            ref="singleTableRef"
-            :data="tableData"
-            highlight-current-row
-            style="width: 100%"
-            height="calc(100% - 1px)"
-          >
-            <el-table-column
-              type="index"
-              label="搴忓彿"
-              width="100"
-            />
-            <el-table-column
-              property="cnName"
-              label="鍥惧眰鍚嶇О"
-            />
+        <div class="contentBox spatialTable" style="height: 15vh; overflow: auto;">
+          <el-table ref="singleTableRef" :data="tableData" highlight-current-row style="width: 100%"
+            height="calc(100% - 1px)">
+            <el-table-column type="index" label="搴忓彿" width="100" />
+            <el-table-column property="cnName" label="鍥惧眰鍚嶇О" />
           </el-table>
         </div>
       </div>
 
       <div class="menuButton">
-        <el-button
-          size="small"
-          type="primary"
-          @click.stop="setInsertExporLayer"
-        >纭</el-button>
-        <el-button
-          size="small"
-          type="primary"
-          class="delbtn"
-          @click="editExport"
-        >鍙栨秷</el-button>
+        <el-button size="small" type="primary" @click.stop="setInsertExporLayer">纭</el-button>
+        <el-button size="small" type="primary" class="delbtn" @click="editExport">鍙栨秷</el-button>
       </div>
     </div>
     <div class="rightMap">
-      <el-image
-        style="width: 100%; height: 100%;"
-        :src="url"
-        fit="fill"
-      />
+      <el-image style="width: 100%; height: 100%;" :src="url" fit="fill" />
     </div>
   </div>
 </template>
@@ -179,7 +126,17 @@
   const myCanvas = window.Viewer.scene.canvas;
   var res = canvas2image.convertToImage(myCanvas, "869", "783", "png");
   url.value = res.src;
-  tableData.value = store.state.chekNowLayers;
+  // 
+
+
+  var layers = store.state.chekNowLayers
+  var tabLayer = layers.filter((rs) => {
+    console.log(rs)
+    if (!rs.shpType && rs.isLayer == 1) {
+      return rs
+    }
+  })
+  tableData.value = tabLayer.reverse();
   var val = menuTool.exportSquare;
   exportFrom.value.xmin = val[0];
   exportFrom.value.ymin = val[1];
@@ -192,14 +149,20 @@
   store.state.loading = true;
   var token = "?token=" + getToken();
   var res = [];
+  var ids = [];
   for (var i in tableData.value) {
     if (tableData.value[i].tab) {
       res.push(tableData.value[i].tab.replace("moon:", ""));
+     
     }
+    if (!tableData.value[i].shpType) {
+        ids.push(tableData.value[i].id);
+      }
   }
 
   res.push("moon");
   var obj = {
+    layerIds: ids,
     token: token.replace("?token=", ""),
     title: exportFrom.value.name,
     pageSize: exportFrom.value.pageSize,
@@ -219,7 +182,7 @@
     data: JSON.stringify(obj),
     contentType: "application/json",
     dataType: "json",
-    error: function () {},
+    error: function () { },
     success: (rs) => {
       store.state.loading = false;
       var value = "code = " + rs.code + ", result = " + rs.result;
@@ -257,6 +220,7 @@
   z-index: 10;
   box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1);
 }
+
 .leftMenu {
   width: 358px;
   height: 100%;
@@ -264,12 +228,14 @@
   display: flex;
   flex-direction: column;
 }
+
 .rightMap {
   height: calc(100% - 20px);
   width: 849px;
   border-right: 1px solid #d6e4ff;
   padding: 10px;
 }
+
 .menmuContent {
   flex: 1;
   width: 100%;
@@ -288,12 +254,14 @@
     background: #0e151f;
     margin: 2px 0px;
   }
+
   .contentBox {
     margin: 5px 7px;
     width: calc(100% - 76px);
 
     background: #1e2a3d;
     padding: 14px 23px 5px 39px;
+
     p {
       font-size: 12px;
       font-family: Source Han Sans CN;
@@ -302,6 +270,7 @@
       line-height: 9px;
       margin-bottom: 10px;
     }
+
     .contentInput {
       margin-bottom: 10px;
     }
@@ -318,6 +287,7 @@
     font-family: Source Han Sans CN;
   }
 }
+
 .menuButton {
   padding: 10px;
   display: flex;
@@ -333,14 +303,17 @@
     font-weight: 400;
     color: #ffffff;
   }
+
   .el-button:hover {
     border: 1px solid #689cff;
   }
+
   .delbtn {
     background: rgba(245, 108, 108, 0.2);
     border: 1px solid #5a0914;
   }
 }
+
 .spatialTable {
   margin-top: 10px;
   width: 100%;
@@ -351,46 +324,56 @@
     background-color: rgba(38, 47, 71, 1) !important;
     color: #d6e4ff;
   }
+
   // 淇敼姣忚鏍峰紡锛�
   .el-table /deep/ .el-table__row {
     background-color: rgba(38, 47, 71, 1) !important;
     color: #d6e4ff;
   }
-  .el-table /deep/ .el-table__body tr.current-row > td {
+
+  .el-table /deep/ .el-table__body tr.current-row>td {
     background-color: rgba(38, 47, 71, 1) !important;
   }
-  .el-table /deep/ .el-table__body tr:hover > td {
+
+  .el-table /deep/ .el-table__body tr:hover>td {
     background-color: rgba(38, 47, 71, 1) !important;
   }
+
   // 淇敼琛ㄦ牸姣忚杈规鐨勬牱寮忥細
   .el-table /deep/ td,
   .el-table /deep/ th.is-leaf {
     // border-bottom: 1px solid #409eff;
     // border-right: 1px solid #409eff;
   }
+
   .el-table /deep/ .el-table__cell {
     padding: 8px 0;
   }
+
   // 璁剧疆琛ㄦ牸姣忚鐨勯珮搴︼細
   .el-table /deep/ .el-table__header tr,
   .el-table /deep/ .el-table__header th {
     height: 50px;
   }
+
   .el-table__body tr,
   .el-table__body td {
     height: 50px;
     padding: 0;
   }
+
   // 璁剧疆琛ㄦ牸杈规棰滆壊锛�
 
   .el-table--border::after,
   .el-table--group::after {
     width: 0;
   }
+
   .el-table::before {
     height: 0;
   }
 }
+
 .menuTitle {
   width: calc(100% - 30px);
 
@@ -402,13 +385,16 @@
   padding: 10px;
   padding-left: 28px;
 }
+
 ::-webkit-scrollbar {
   width: 10px;
 }
+
 /* Change the scrollbar background color here */
 ::-webkit-scrollbar-track {
   background-color: rgba(0, 0, 0, 0);
 }
+
 /* Change the scrollbar button color and roundedness here */
 ::-webkit-scrollbar-thumb {
   background-color: rgba(104, 156, 255, 0.2);

--
Gitblit v1.9.3