From 8257a9d130b2572de18c03365722cf56640165a7 Mon Sep 17 00:00:00 2001
From: WX <1377869194@qq.com>
Date: 星期五, 08 九月 2023 17:49:32 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.20.92:8888/r/PM20230220027_Web

---
 src/views/export/exportMap.vue |  224 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 184 insertions(+), 40 deletions(-)

diff --git a/src/views/export/exportMap.vue b/src/views/export/exportMap.vue
index 24de1f8..ea59f64 100644
--- a/src/views/export/exportMap.vue
+++ b/src/views/export/exportMap.vue
@@ -24,52 +24,21 @@
               v-model="exportFrom.date"
               style="width: 100%;"
               type="date"
-              placeholder="Pick a day"
+              :clearable="false"
             />
           </div>
-          <p>鍒朵綔鍗曚綅</p>
-          <div class="contentInput">
-            <el-input v-model="exportFrom.dep"></el-input>
-          </div>
-        </div>
-        <div class="contentTitle">
-          <div class="contentImg"></div>
-          鍦板浘瑕佺礌
-        </div>
-        <div class="contentBox">
-          <p>鎸囧寳閽�</p>
-          <div class="contentInput">
-            <el-input v-model="exportFrom.name"></el-input>
-          </div>
-          <p>姣斾緥灏�</p>
-          <div class="contentInput">
-            <el-input v-model="exportFrom.date"></el-input>
-          </div>
-          <p>鍥句緥</p>
-          <div class="contentInput">
-            <el-input v-model="exportFrom.dep"></el-input>
-          </div>
+
         </div>
         <div class="contentTitle">
           <div class="contentImg"></div>
           鎵撳嵃璁剧疆
         </div>
         <div class="contentBox">
-          <p>DPI</p>
-          <div class="contentInput">
-            <!-- <el-input v-model="exportFrom.name"></el-input> -->
-            <el-input-number
-              style="width: 100%;"
-              v-model="exportFrom.name"
-              :min="1"
-              :max="10"
-            />
-          </div>
           <p>瀵煎嚭鏍煎紡</p>
           <div class="contentInput">
             <el-select
               style="width: 100%;"
-              v-model="exportFrom.date"
+              v-model="exportFrom.type"
             >
               <el-option
                 label=".PNG"
@@ -81,20 +50,58 @@
           <div class="contentInput">
             <el-select
               style="width: 100%;"
-              v-model="exportFrom.date"
+              v-model="exportFrom.pageSize"
             >
               <el-option
-                label="A4"
-                value="A4"
-              ></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>
+          </div>
+        </div>
+
+        <div class="contentTitle">
+          <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="鍥惧眰鍚嶇О"
+            />
+          </el-table>
         </div>
       </div>
+
       <div class="menuButton">
         <el-button
           size="small"
           type="primary"
+          @click.stop="setInsertExporLayer"
         >纭</el-button>
         <el-button
           size="small"
@@ -123,23 +130,111 @@
   defineProps,
   defineEmits,
 } from "vue";
+import { getToken } from "@/utils/auth";
 import canvas2image from "@/assets/js/canvas2image";
+import $ from "jquery";
+import menuTool from "@/assets/js/Map/menuTool";
 const emits = defineEmits(["SETexportMap"]);
+import { ElMessage } from "element-plus";
 const exportFrom = ref({
   name: "",
-  date: "",
-  dep: "",
+  pageSize: "A4",
+  role: "0",
+  type: "png",
+  date: new Date(),
+  xmin: null,
+  ymin: null,
+  xmax: null,
+  ymax: null,
 });
 const url = ref("");
 const editExport = () => {
   emits("SETexportMap", false);
 };
+const options = [
+  {
+    value: "A0",
+    name: "A0",
+  },
+  {
+    value: "A1",
+    name: "A1",
+  },
+  {
+    value: "A2",
+    name: "A2",
+  },
+  {
+    value: "A3",
+    name: "A3",
+  },
+  {
+    value: "A4",
+    name: "A4",
+  },
+];
+const tableData = ref([]);
 const setImgStart = () => {
   // window.Viewer.scene.render();
   const myCanvas = window.Viewer.scene.canvas;
   var res = canvas2image.convertToImage(myCanvas, "869", "783", "png");
   url.value = res.src;
+  tableData.value = store.state.chekNowLayers;
+  var val = menuTool.exportSquare;
+  exportFrom.value.xmin = val[0];
+  exportFrom.value.ymin = val[1];
+  exportFrom.value.xmax = val[2];
+  exportFrom.value.ymax = val[3];
 };
+
+const setInsertExporLayer = () => {
+  emits("SETexportMap", false);
+  store.state.loading = true;
+  var token = "?token=" + getToken();
+  var res = [];
+  for (var i in tableData.value) {
+    if (tableData.value[i].tab) {
+      res.push(tableData.value[i].tab.replace("moon:", ""));
+    }
+  }
+
+  res.push("moon");
+  var obj = {
+    token: token.replace("?token=", ""),
+    title: exportFrom.value.name,
+    pageSize: exportFrom.value.pageSize,
+    date: exportFrom.value.date,
+    layers: res.toString(),
+    rotation: exportFrom.value.role,
+    xmin: exportFrom.value.xmin,
+    ymin: exportFrom.value.ymin,
+    xmax: exportFrom.value.xmax,
+    ymax: exportFrom.value.ymax,
+  };
+
+  $.ajax({
+    async: true,
+    url: config.BASE_URL + "/export/insertMap" + token,
+    type: "POST",
+    data: JSON.stringify(obj),
+    contentType: "application/json",
+    dataType: "json",
+    error: function () {},
+    success: (rs) => {
+      store.state.loading = false;
+      var value = "code = " + rs.code + ", result = " + rs.result;
+      if ((rs.code = 200)) {
+        ElMessage({
+          message: "鍑哄浘鎴愬姛,璇峰埌鍑哄浘鍒楄〃鏌ョ湅骞朵笅杞�",
+          type: "success",
+        });
+      } else {
+        ElMessage.error(value);
+      }
+    },
+  });
+};
+
 onMounted((res) => {
   setImgStart();
 });
@@ -246,7 +341,56 @@
     border: 1px solid #5a0914;
   }
 }
+.spatialTable {
+  margin-top: 10px;
+  width: 100%;
+  height: calc(100% - 35px);
+  position: relative;
 
+  .el-table /deep/ .el-table__header-wrapper tr th {
+    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 {
+    background-color: rgba(38, 47, 71, 1) !important;
+  }
+  .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);
 

--
Gitblit v1.9.3