From 1690dbaf68c73ce716776cdd98992c8fad0226d2 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期五, 18 八月 2023 10:15:36 +0800
Subject: [PATCH] 资源管理添加预览功能

---
 src/views/datamanage/resourceManagement.vue |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 66 insertions(+), 3 deletions(-)

diff --git a/src/views/datamanage/resourceManagement.vue b/src/views/datamanage/resourceManagement.vue
index 899b42d..fd233de 100644
--- a/src/views/datamanage/resourceManagement.vue
+++ b/src/views/datamanage/resourceManagement.vue
@@ -190,7 +190,7 @@
           />
           <el-table-column
             :label="$t('common.operate')"
-            width="150"
+            width="200"
           >
             <template slot-scope="scope">
               <el-button
@@ -199,6 +199,12 @@
                 type="warning"
                 plain
               >{{ $t('common.update') }}</el-button>
+              <el-button
+                size="small"
+                v-show="scope.row.status != 0"
+                plain
+                @click="setScopePreview(scope.row)"
+              >{{ $t('common.preview') }}</el-button>
 
             </template>
           </el-table-column>
@@ -519,10 +525,37 @@
         </span>
       </div>
     </el-dialog>
+
+    <!-- 鍦板潃棰勮 -->
+    <el-dialog
+      :title="$t('common.preview')"
+      :class="isFullscreen ? '' : 'dialogClass_his'"
+      custom-class="handleDialogClass"
+      width="73.4%"
+      :fullscreen="isFullscreen"
+      v-if="prevDialog"
+      :visible.sync="prevDialog"
+      :show-close="false"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+    >
+      <dialog-header
+        slot="title"
+        :dialog-tittle="$t('common.preview')"
+        :fullscreen="isFullscreen"
+        @handle-closed="handleClose"
+        @is-fullscreen="onFullscreen"
+      ></dialog-header>
+      <div :class="{'fullscreen1':isFullscreen}">
+        <mapview v-if="showMapView"></mapview>
+      </div>
+    </el-dialog>
   </div>
 </template>
 <script>
 import MyBread from "../../components/MyBread.vue";
+import dialogHeader from './dialogHeader.vue'
+import server from '../../components/js/server.js'
 import {
   getPerms,
   select_Res_ByPageAndCount,
@@ -536,11 +569,11 @@
 import { serve_type, data_type, category_type } from './js/layerManage.js'
 import { json } from "body-parser";
 import { flatten } from '@turf/turf';
-
+import mapview from '../../components/MapView/moonMap.vue'
 export default {
   name: "catalogueManage",
   components: {
-    MyBread,
+    MyBread, mapview, 'dialog-header': dialogHeader,
   },
   data() {
 
@@ -580,6 +613,9 @@
       categoryType: [],
       insertDisabled: false,
       editDisabled: false,
+      isFullscreen: false,
+      prevDialog: false,
+      showMapView: false,
     };
   },
   watch: {
@@ -590,6 +626,16 @@
     window.removeEventListener("resize", this.onResize);
   },
   methods: {
+    //鏄惁涓哄叏灞忓嚱鏁�
+    onFullscreen(fullscreen) {
+      this.isFullscreen = fullscreen;
+    },
+    //棰勮寮圭獥鍏抽棴
+    handleClose() {
+      this.prevDialog = false
+      this.showMapView = false;
+
+    },
     async setEditConfirm() {
       const data = await res_update(this.editData);
       if (data.code == 200) {
@@ -764,6 +810,13 @@
         this.editData.data = parseInt(this.editData.data)
       }
       this.editDialog = true
+    },
+    setScopePreview(row) {
+      this.prevDialog = true;
+      this.showMapView = true;
+      setTimeout(() => {
+        server.addLayer(row)
+      }, 1000);
     },
     formatProxy(row, column) {
       var token = getToken()
@@ -1024,6 +1077,10 @@
     }
   }
 }
+.fullscreen1 {
+  width: 100%;
+  height: 94vh;
+}
 /deep/ .el-input__suffix {
   top: 50%;
   transform: translateY(-50%);
@@ -1031,6 +1088,12 @@
 .insertWidth {
   width: calc(100% - 200px);
 }
+/deep/.el-dialog__body {
+  padding: 10px !important;
+}
+/deep/.el-dialog__header {
+  padding: 10px !important;
+}
 </style>
 <style >
 .el-message-box {

--
Gitblit v1.9.3