From 965b4ade196fc23c3138320edb7c1e0653c9964c Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 14 二月 2023 14:22:02 +0800
Subject: [PATCH] 在线制图出图申请重复,

---
 src/views/exportMap/index.vue |  342 ++++++++++++++++++++++----------------------------------
 1 files changed, 133 insertions(+), 209 deletions(-)

diff --git a/src/views/exportMap/index.vue b/src/views/exportMap/index.vue
index 3847d1a..a66e89a 100644
--- a/src/views/exportMap/index.vue
+++ b/src/views/exportMap/index.vue
@@ -1,23 +1,29 @@
 <template>
   <div
     id="mapView"
-    class="MapBox"
+    class="MapBox "
     v-loading="loading"
     element-loading-background="rgba(0, 0, 0, 0.8)"
   >
-    <div class="topMenu">
-      <el-form :inline="true" :model="formInline" class="demo-form-inline">
+    <div class="topMenu box_divm">
+      <el-form
+        :inline="true"
+        :model="formInline"
+        class="demo-form-inline"
+      >
         <el-form-item>
           <el-link
-            style="color: white"
             @click="showLeftMenu(1)"
             :underline="false"
             title="鍥惧眰鍒楄〃"
-            ><i class="el-icon-s-operation"></i
-          ></el-link>
+          ><i class="el-icon-s-operation"></i></el-link>
         </el-form-item>
         <el-form-item>
-          <el-select v-model="value" placeholder="璇烽�夋嫨">
+          <el-select
+            :popper-append-to-body="false"
+            v-model="value"
+            placeholder="璇烽�夋嫨"
+          >
             <el-option
               v-for="item in options"
               :key="item.value"
@@ -30,55 +36,44 @@
 
         <el-form-item>
           <el-link
-            style="color: white"
             @click="setMapAddDraw()"
             :underline="false"
-            ><i class="el-icon-edit-outline"></i>缁樺埗</el-link
-          >
+          ><i class="el-icon-edit-outline"></i>缁樺埗</el-link>
         </el-form-item>
         <el-form-item>
           <el-link
             :disabled="layerExtent == null"
-            style="color: white"
             @click="setMapRemoveDraw()"
             :underline="false"
             title="鍥惧眰鍒楄〃"
-            ><i class="el-icon-delete"></i>娓呴櫎</el-link
-          >
+          ><i class="el-icon-delete"></i>娓呴櫎</el-link>
         </el-form-item>
 
         <el-form-item>
           <el-link
-            style="color: white"
             @click="showMapApply = true"
             :underline="false"
             :disabled="layerExtent == null"
-            >鍑哄浘鐢宠
+          >鍑哄浘鐢宠
           </el-link>
         </el-form-item>
         <el-form-item>
           <el-link
-            style="color: white"
             @click="getShowMapList"
             :underline="false"
-            >鍑哄浘鍒楄〃</el-link
-          >
+          >鍑哄浘鍒楄〃</el-link>
         </el-form-item>
         <el-form-item>
           <el-link
-            style="color: white"
             @click="changeMenulayer"
             :underline="false"
             v-show="isActive"
-            >褰卞儚</el-link
-          >
+          >褰卞儚</el-link>
           <el-link
-            style="color: white"
             v-show="!isActive"
             @click="changeMenulayer"
             :underline="false"
-            >鐭㈤噺</el-link
-          >
+          >鐭㈤噺</el-link>
         </el-form-item>
         <el-form-item label="鏃嬭浆瑙掑害">
           <el-input
@@ -94,14 +89,20 @@
       class="left_Menu"
       :class="{ left_main_show: !leftMenuOpen }"
     >
-      <div class="menu_content">
-        <div class="topHeader" v-show="lefMenuContent">
+      <div class="menu_content box_divm">
+        <div
+          class="topHeader"
+          v-show="lefMenuContent"
+        >
           <div>鍥惧眰鍒楄〃</div>
           <div @click="showLeftMenu(2)"><i class="el-icon-s-fold"></i></div>
         </div>
         <el-divider></el-divider>
         <div class="bottomContent">
-          <div style="width: 100%" v-show="lefMenuContent">
+          <div
+            style="width: 100%"
+            v-show="lefMenuContent"
+          >
             <el-tree
               :data="treeData"
               show-checkbox
@@ -117,46 +118,58 @@
       </div>
     </div>
 
-    <div class="mapApplay" v-if="showMapApply">
+    <div
+      class="mapApplay box_divm"
+      v-if="showMapApply"
+    >
       <label>鍑哄浘鐢宠</label>
       <el-divider />
-      <el-form ref="form" :model="form" label-width="80px">
+      <el-form
+        ref="form"
+        :model="form"
+        label-width="80px"
+      >
         <el-form-item label="鍑哄浘鍚嶇О">
           <el-input v-model="form.name"></el-input>
         </el-form-item>
         <el-form-item>
-          <div style="padding: 1%; border: 1px solid white">
+          <div style="padding: 1%;  ">
             <el-table
               ref="singleTable"
               :data="tableData"
               style="width: 100%"
               height="200"
             >
-              <el-table-column type="index" label="搴忓彿" width="50">
+              <el-table-column
+                type="index"
+                label="搴忓彿"
+                width="50"
+              >
               </el-table-column>
 
-              <el-table-column property="name" label="鍥惧眰鍚嶇О">
+              <el-table-column
+                property="name"
+                label="鍥惧眰鍚嶇О"
+              >
               </el-table-column>
             </el-table>
           </div>
         </el-form-item>
 
         <el-form-item>
-          <el-button type="primary" @click="setMapApply">绔嬪嵆鍒涘缓</el-button>
+          <el-button
+            type="primary"
+            @click="setMapApply"
+          >绔嬪嵆鍒涘缓</el-button>
           <el-button @click="showMapApply = false">鍙栨秷</el-button>
         </el-form-item>
       </el-form>
     </div>
-    <div class="mapApplay" v-if="showMapList">
-      <div>
-        <label>鍑哄浘鍒楄〃</label>
-        <div style="float: right">
-          <el-link @click="showMapList = false" :underline="false"
-            ><i style="color: white" class="el-icon-close"></i
-          ></el-link>
-        </div>
-      </div>
-      <el-divider />
+
+    <el-dialog
+      title="鍑哄浘鍒楄〃"
+      :visible.sync="showMapList"
+    >
       <el-table
         ref="singleTable"
         :data="exportable"
@@ -164,11 +177,24 @@
         height="200"
         @selection-change="handleSelectionChange"
       >
-        <el-table-column type="index" width="50" label="搴忓彿">
+        <el-table-column
+          type="index"
+          width="50"
+          label="搴忓彿"
+        >
         </el-table-column>
-        <el-table-column property="descr" label="鏍囬"> </el-table-column>
-        <el-table-column property="name" label="鏂囦欢鍚嶇О"> </el-table-column>
-        <el-table-column property="createName" label="鍑哄浘浜�">
+        <el-table-column
+          property="descr"
+          label="鏍囬"
+        > </el-table-column>
+        <el-table-column
+          property="name"
+          label="鏂囦欢鍚嶇О"
+        > </el-table-column>
+        <el-table-column
+          property="createName"
+          label="鍑哄浘浜�"
+        >
         </el-table-column>
         <el-table-column
           property="createTime"
@@ -177,14 +203,15 @@
         >
         </el-table-column>
 
-        <el-table-column label="鎿嶄綔" width="120">
+        <el-table-column
+          label="鎿嶄綔"
+          width="120"
+        >
           <template slot-scope="scope">
             <el-link
-              style="color: white"
               @click.native.prevent="downloadMap(scope.$index, scope.row)"
               :underline="false"
-              >涓嬭浇</el-link
-            >
+            >涓嬭浇</el-link>
           </template>
         </el-table-column>
       </el-table>
@@ -200,15 +227,18 @@
         >
         </el-pagination>
       </div>
-    </div>
-
+    </el-dialog>
     <el-dialog
       title="鎻愮ず"
       :visible.sync="dialogVisible"
       width="30%"
       :before-close="handleClose"
     >
-      <el-form ref="layerform" :model="layerform" label-width="80px">
+      <el-form
+        ref="layerform"
+        :model="layerform"
+        label-width="80px"
+      >
         <el-form-item label="鏈嶅姟鍚嶇О">
           <el-input v-model="layerform.name"></el-input>
         </el-form-item>
@@ -218,12 +248,21 @@
           </el-radio-group>
         </el-form-item>
         <el-form-item label="鏈嶅姟鍦板潃">
-          <el-input type="textarea" v-model="layerform.resource"></el-input>
+          <el-input
+            type="textarea"
+            v-model="layerform.resource"
+          ></el-input>
         </el-form-item>
       </el-form>
-      <span slot="footer" class="dialog-footer">
+      <span
+        slot="footer"
+        class="dialog-footer"
+      >
         <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="setAddMapLayer">纭� 瀹�</el-button>
+        <el-button
+          type="primary"
+          @click="setAddMapLayer"
+        >纭� 瀹�</el-button>
       </span>
     </el-dialog>
   </div>
@@ -234,7 +273,7 @@
 import Map from "ol/Map"
 import XYZ from "ol/source/XYZ"
 import View from "ol/View"
-import { OverviewMap, defaults as defaultControls, FullScreen, ScaleLine, Rotate} from "ol/control.js"
+import { OverviewMap, defaults as defaultControls, FullScreen, ScaleLine, Rotate } from "ol/control.js"
 import Image from "ol/layer/Image"
 import TileLayer from "ol/layer/Tile"
 import { transform } from "ol/proj"
@@ -337,6 +376,9 @@
             layer_list.push(layer_entity)
             if (data.result[i].isShow == 1) {
               std.push(data.result[i].id)
+              this.tableData.push({
+                name: layer_entity.label,
+              })
               this.showMapLayer(layer_entity)
             }
           }
@@ -349,22 +391,31 @@
           }
         }
       }
-      this.treeData = layer_groups
-      for (var i in data.result) {
-        if (data.result[i].type == 2 && data.result[i].url != null) {
-          for (var j = 0; j < window.Viewer.imageryLayers._layers.length; j++) {
-            var val_id = window.Viewer.imageryLayers._layers[j]
-            if (val_id.show == true) {
-              if (val_id.imageryProvider.name == data.result[i].cnName) {
-                std.push(data.result[i].id)
-              }
-            }
-          }
+      layer_groups = layer_groups.filter((res) => {
+        if (res.children != null && res.children.length != 0) {
+          return res
         }
-      }
+      })
+      this.treeData = layer_groups;
+
+      // for (var i in data.result) {
+      //   if (data.result[i].type == 2 && data.result[i].url != null) {
+      //     for (var j = 0; j <  window.mapView.imageryLayers._layers.length; j++) {
+      //       var val_id = window.mapView.imageryLayers._layers[j]
+      //       if (val_id.show == true) {
+      //         if (val_id.imageryProvider.name == data.result[i].cnName) {
+      //           std.push(data.result[i].id)
+      //         }
+      //       }
+      //     }
+      //   }
+      // }
+      debugger
       this.$refs.tree.setCheckedKeys(std)
     },
     showMapLayer(val) {
+      debugger
+      if (val == undefined) return;
       var layer2 = new Image({
         name: val.label,
         source: new ImageWMS({
@@ -461,7 +512,7 @@
         data: JSON.stringify(data),
         contentType: "application/json",
         dataType: "json",
-        error: function () {},
+        error: function () { },
         success: rs => {
           this.loading = false
           var value = "code = " + rs.code + ", result = " + rs.result
@@ -559,7 +610,7 @@
       this.showMapApply = false
       this.form = {}
     },
-    handleClose() {},
+    handleClose() { },
     handleTreeNodeClick(data, nodes) {
       if (data.children != null) return
       var layers = mapView.getAllLayers()
@@ -570,13 +621,13 @@
           layer.setVisible(nodes) //鏄剧ず鍥惧眰
           if (nodes == true) {
             str++
-            this.arrList.push({
+            this.tableData.push({
               name: data.label,
             })
           } else {
-            this.arrList.some((item, i) => {
+            this.tableData.some((item, i) => {
               if (item.name === data.label) {
-                this.arrList.splice(i, 1)
+                this.tableData.splice(i, 1)
               }
             })
           }
@@ -585,12 +636,12 @@
 
       if (str == 0 && nodes == true) {
         this.showMapLayer(data)
-        this.arrList.push({
+        this.tableData.push({
           name: data.label,
         })
       }
 
-      this.tableData = this.arrList
+      // this.tableData = this.arrList
     },
     setAddMapLayer() {
       this.dialogVisible = false
@@ -670,7 +721,7 @@
   .topMenu {
     z-index: 40;
     position: absolute;
-    background: rgba(0, 0, 0, 0.5);
+
     width: 100%;
     height: 70px;
     padding-left: 20px;
@@ -678,7 +729,7 @@
   .left_Menu {
     z-index: 40;
     width: 300px;
-    background: rgba(0, 0, 0, 0.5);
+
     height: calc(100% - 220px);
     position: fixed;
     left: 0;
@@ -692,7 +743,6 @@
         margin: 10px;
         display: flex;
         justify-content: space-between;
-        color: white;
       }
       .bottomContent {
         width: calc(100% - 40px);
@@ -738,140 +788,14 @@
   .mapApplay {
     width: 40%;
     position: absolute;
-    background: #303030;
+
     z-index: 40;
     top: 15%;
     margin-left: 30%;
     padding: 1%;
-    label {
-      color: white;
-    }
   }
-  /deep/.el-form-item__label {
-    color: white;
-    line-height: 70px;
-  }
-  /deep/.el-form-item__content {
-    line-height: 70px;
-  }
-  /deep/.el-input__inner {
-    background-color: transparent !important ;
-    color: #fff;
-    border: 1px solid;
-  }
-  /deep/ .el-select .el-input__inner {
-    border-color: #fff !important;
-  }
-  /deep/ .el-divider--horizontal {
-    margin: 5px 0px;
-  }
-  /*淇敼table 琛ㄤ綋鐨勮儗鏅鑹插拰鏂囧瓧棰滆壊*/
-  /deep/ .el-table {
-    background-color: transparent;
-
-    th,
-    td {
-      background-color: transparent;
-    }
-    .el-table__expanded-cell {
-      background-color: transparent !important;
-    }
-
-    // 琛ㄥご鑳屾櫙鑹�
-    th.el-table__cell {
-      background-color: #303030;
-
-      color: #fff;
-    }
-    tr > td {
-      background-color: #303030;
-      color: #fff;
-    }
-
-    // hover鏁堟灉
-    tr:hover > td {
-      background-color: rgba(255, 255, 255, 0.3) !important;
-    }
-
-    tbody tr:hover {
-      background-color: rgba(255, 255, 255, 0.3) !important;
-      // text-align: center;
-    }
-
-    // 婊氬姩鏉″楂�
-    .el-table__body-wrapper::-webkit-scrollbar {
-      width: 5px;
-      height: 5px;
-    }
-
-    .el-table__body-wrapper::-webkit-scrollbar {
-      width: 5px;
-      /*婊氬姩鏉″搴�*/
-      height: 5px;
-      /*婊氬姩鏉¢珮搴�*/
-    }
-    /*瀹氫箟婊氬姩鏉¤建閬� 鍐呴槾褰�+鍦嗚*/
-    .el-table__body-wrapper::-webkit-scrollbar-track {
-      box-shadow: 0px 1px 3px #216fe6 inset;
-      /*婊氬姩鏉$殑鑳屾櫙鍖哄煙鐨勫唴闃村奖*/
-      border-radius: 10px;
-    }
-
-    /*瀹氫箟婊戝潡 鍐呴槾褰�+鍦嗚*/
-    .el-table__body-wrapper::-webkit-scrollbar-thumb {
-      box-shadow: 0px 1px 3px #216fe6 inset;
-      border-radius: 6px;
-      background-color: #216fe6;
-    }
-  }
-  .pagination_box {
-    margin-top: 20px;
-    /deep/.el-input__inner {
-      background-color: transparent !important;
-      border: 1px solid;
-      color: white;
-    }
-    /deep/.el-pagination__total {
-      color: white;
-    }
-    /deep/.el-pagination__jump {
-      color: white;
-    }
-    /deep/.el-pager li.active {
-      color: #409eff;
-    }
-    /deep/.el-pager li {
-      color: white;
-      background: transparent;
-    }
-    /deep/.el-pager li {
-      color: white;
-    }
-    /deep/.btn-prev {
-      background: transparent;
-    }
-    /deep/.btn-next {
-      background: transparent;
-    }
-    /deep/.btn-next i {
-      color: white;
-    }
-    /deep/.btn-prev i {
-      color: white;
-    }
-  }
-  /deep/.el-loading-spinner i {
-    color: #409eff !important;
-  }
-  /deep/.el-tree .el-tree-node__content:hover {
-    background-color: transparent !important;
-  }
-  /deep/.el-tree {
-    color: white !important;
-    background: transparent !important;
-  }
-  /deep/.el-tree-node:focus > .el-tree-node__content {
-    background: transparent !important;
+  /deep/.el-form-item {
+    margin-top: 10px;
   }
 }
 </style>

--
Gitblit v1.9.3