Browse Source

Merge branch 'master' of http://114.244.114.158:8802/siwei/real3d-portalsite

lkk 11 months ago
parent
commit
5b5702a753

+ 0 - 1
src/components/3DAnalysis/ClippingPlanes/index.vue

@@ -75,7 +75,6 @@
 import { moveHandler, pickPoint } from "@/utils/MapHelper/help.js";
 let pos = {};
 let box = null;
-let startClip = false;
 let boxPosition = null;
 let layers = [];
 export default {

+ 80 - 71
src/components/Combinations/LayerManage/LayerManage.vue

@@ -102,6 +102,8 @@ export default {
             this.sceneLayers[obj.title][0][0].visible = visible;
           }
           break;
+        case "wms":
+        case "wmts":
         case "IMG": //影像
           this.layerparams[obj.id].show = visible;
           break;
@@ -151,23 +153,18 @@ export default {
             });
           }
           break;
+        case "wms":
+        case "wmts":
         case "IMG": //影像
-          for (let i = 0; i < imageryLayers._layers.length; i++) {
-            let element = imageryLayers._layers[i];
-            if (element._imageryProvider._name == obj.title) {
-              element.alpha = value;
-              break;
-            }
-          }
-          break;
         case "Vector": //矢量
-          for (let i = 0; i < imageryLayers._layers.length; i++) {
-            let element = imageryLayers._layers[i];
-            if (element._imageryProvider._name == obj.title) {
-              element.alpha = value;
-              break;
-            }
-          }
+          this.layerparams[obj.id].alpha = value;
+          // for (let i = 0; i < imageryLayers._layers.length; i++) {
+          //   let element = imageryLayers._layers[i];
+          //   if (element._imageryProvider._name == obj.title) {
+          //     element.alpha = value;
+          //     break;
+          //   }
+          // }
           break;
         case "Terrain": //地形
           break;
@@ -212,11 +209,11 @@ export default {
     addWMS(obj) {
       let layer = viewer.imageryLayers.addImageryProvider(
         new Cesium.WebMapServiceImageryProvider({
-          url: obj.url, // "http://192.168.60.52:28085/geoserver/wms",
-          layers: "demo:yzq_czkfbj", //"demo:Ahtq_czkfbj",
+          url: obj.url,
+          layers: `${obj.fwgzkj}:${obj.fwmc}`, //"demo:Ahtq_czkfbj",
           parameters: {
-            service: "WMS",
-            format: "image/png",
+            service: obj.type, //"WMS",
+            format: obj.format,
             transparent: true,
             // srs: "EPSG:4326", // 坐标参考系统,可以根据需要更改
           },
@@ -228,12 +225,13 @@ export default {
       return viewer.imageryLayers.addImageryProvider(
         new Cesium.WebMapTileServiceImageryProvider({
           url: obj.url, //'http://192.168.60.52:28085/geoserver/gwc/service/wmts';
-          layer: "demo:czkfbj", // 替换为你的WMTS图层名称
+          layer: `${obj.fwgzkj}:${obj.fwmc}`, //"demo:yzq_czkfbj"
           style: "", // 替换为你的WMTS图层风格
-          tileMatrixSetID: "WebMercatorQuadx2", // 或者其他的EPSG代码
-          format: "image/png",
+          tileMatrixSetID: obj.qpfa, // 或者其他的EPSG代码
+          format: obj.format,
           tilingScheme: new Cesium.WebMercatorTilingScheme(), // 当想要加载EPSG:4326瓦片服务时,只需要创建一个GeographicTilingScheme对象即可
-          maximumLevel: 18, // 根据实际情况设置最大级别
+          maximumLevel: obj.maximumlevel,
+          minimumlevel: obj.minimumlevel,
         })
       );
     },
@@ -338,11 +336,10 @@ export default {
         obj.trans = 100;
         obj.visible = true;
         this.addlayerdata.unshift(obj); //将最新添加的对象放到第一位
-        if (obj.title == "测试WMS") {
-        } else if (obj.title == "测试WMTS") {
-        } else {
+        if (obj.serverType == "geoserver") {
           switch (obj.type) {
             case "wms":
+              // this.vectorlayerlist.push(obj);
               this.layerparams[obj.id] = this.addWMS(obj);
               store.setlayerparamsList(this.layerparams);
               break;
@@ -350,6 +347,10 @@ export default {
               this.layerparams[obj.id] = this.addWMTS(obj);
               store.setlayerparamsList(this.layerparams);
               break;
+          }
+        } else if (obj.serverType == "arcgis") {
+        } else {
+          switch (obj.type) {
             case "S3M": //场景
               let s = viewer.scene.open(obj.url, undefined, {
                 autoSetView: false, // obj.title != "倾斜摄影",
@@ -476,7 +477,7 @@ export default {
             break;
           }
         }
-        delete this.layerparams[obj.id];
+
         switch (obj.type) {
           case "S3M": //场景
             if (this.sceneLayers[obj.title]) {
@@ -505,23 +506,19 @@ export default {
           case "3DTiles": //tileset
             viewer.scene.primitives.remove(this.sceneLayers[obj.title]);
             break;
+          case "wms":
+          case "wmts":
           case "IMG": //影像
-            for (let i = 0; i < imageryLayers._layers.length; i++) {
-              let element = imageryLayers._layers[i];
-              if (element._imageryProvider._name == obj.title) {
-                imageryLayers.remove(element);
-                break;
-              }
-            }
-            break;
           case "Vector": //矢量
-            for (let i = 0; i < imageryLayers._layers.length; i++) {
-              let element = imageryLayers._layers[i];
-              if (element._imageryProvider._name == obj.title) {
-                imageryLayers.remove(element);
-                break;
-              }
-            }
+            imageryLayers.remove(this.layerparams[obj.id]);
+            delete this.layerparams[obj.id];
+            // for (let i = 0; i < imageryLayers._layers.length; i++) {
+            //   let element = imageryLayers._layers[i];
+            //   if (element._imageryProvider._name == obj.title) {
+            //     imageryLayers.remove(element);
+            //     break;
+            //   }
+            // }
             break;
           case "Terrain": //地形
             viewer.scene.terrainProvider = new Cesium.EllipsoidTerrainProvider(
@@ -537,36 +534,48 @@ export default {
     //图层定位
     location(obj) {
       let imageryLayers = viewer.imageryLayers;
-      switch (obj.type) {
-        case "S3M": //场景
-          if (this.sceneLayers[obj.title]) {
+      if (obj.serverType == "geoserver") {
+        switch (obj.type) {
+          case "wms":
+            console.log("11", this.layerparams[obj.id]);
+            break;
+          case "wmts":
+            console.log("11", this.layerparams[obj.id]);
+            break;
+        }
+      } else if (obj.serverType == "arcgis") {
+      } else {
+        switch (obj.type) {
+          case "S3M": //场景
+            if (this.sceneLayers[obj.title]) {
+              viewer.flyTo(this.sceneLayers[obj.title][0][0]);
+            }
+            break;
+          case "S3MDATA": //scp
             viewer.flyTo(this.sceneLayers[obj.title][0][0]);
-          }
-          break;
-        case "S3MDATA": //scp
-          viewer.flyTo(this.sceneLayers[obj.title][0][0]);
-          break;
-        case "3DTiles": //tileset
-          viewer.flyTo(this.sceneLayers[obj.title]);
-          break;
-        case "IMG": //影像
-        case "Vector": //矢量
-          viewer.flyTo(this.layerparams[obj.id]);
-          // for (let i = 0; i < imageryLayers._layers.length; i++) {
-          //   let element = imageryLayers._layers[i];
-          //   if (element._imageryProvider._name == obj.title) {
-          //     viewer.flyTo(element);
-          //     break;
-          //   }
-          // }
-          break;
-        case "Terrain": //地形
-          viewer.scene.terrainProvider = new Cesium.EllipsoidTerrainProvider(
-            {}
-          );
-          break;
-        default:
-          null;
+            break;
+          case "3DTiles": //tileset
+            viewer.flyTo(this.sceneLayers[obj.title]);
+            break;
+          case "IMG": //影像
+          case "Vector": //矢量
+            viewer.flyTo(this.layerparams[obj.id]);
+            // for (let i = 0; i < imageryLayers._layers.length; i++) {
+            //   let element = imageryLayers._layers[i];
+            //   if (element._imageryProvider._name == obj.title) {
+            //     viewer.flyTo(element);
+            //     break;
+            //   }
+            // }
+            break;
+          case "Terrain": //地形
+            viewer.scene.terrainProvider = new Cesium.EllipsoidTerrainProvider(
+              {}
+            );
+            break;
+          default:
+            null;
+        }
       }
     },
 

+ 87 - 0
src/components/mapView/tablePage.vue

@@ -0,0 +1,87 @@
+<template>
+  <div class="cont-table">
+    <!-- :image="nonedataImg"  -->
+    <el-empty description=" " v-if="props.table.data.length == 0" />
+    <el-table
+      :data="props.table.data"
+      v-else
+      style="width: 100%"
+      :show-overflow-tooltip="true"
+      header-row-class-name="datatable"
+      row-class-name="datarow"
+      fit
+    >
+      <el-table-column
+        v-for="(item, index) in props.cloumn"
+        :prop="item.prop"
+        :label="item.label"
+        :key="index"
+        show-overflow-tooltip
+        :width="item.width || null"
+      >
+        <template #default="scope">
+          <slot
+            v-if="item.slot"
+            :name="item.slot ? item.slot : ''"
+            v-bind="scope"
+          ></slot>
+          <span v-else>{{ scope.row[item.prop] || "-" }}</span>
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="tabs-pagation" v-if="props.table.data.length">
+      <div class="font">共{{ props.table.total }}条记录</div>
+      <!-- <el-pagination class="tabone-pagination" background layout="prev, pager, next" :current-page="pageNum"
+            :pager-count="5" :page-size="5" :total="props.table.total" @current-change="changePage" /> -->
+      <el-pagination
+        :current-page="pageNum"
+        :page-size="pageSize"
+        :small="false"
+        :disabled="false"
+        :background="true"
+        layout="prev, pager, next, jumper,sizes"
+        :page-sizes="[10, 15, 20, 30, 50]"
+        :total="props.table.total"
+        @size-change="handleSizeChange"
+        @current-change="changePage"
+      />
+    </div>
+  </div>
+</template>
+  <script lang="ts" setup>
+import { ref } from "vue";
+
+const emit = defineEmits(["search"]);
+
+type Props = {
+  cloumn: any;
+  table: any;
+};
+const props = withDefaults(defineProps<Props>(), {});
+
+// 搜索
+const searchFun = () => {
+  emit("search", {
+    pageIndex: pageNum.value,
+    size: pageSize.value,
+  });
+};
+
+let pageNum = ref(1);
+let pageSize = ref(10);
+
+// 修改当前页数
+const changePage = (v: number) => {
+  pageNum.value = v;
+  searchFun();
+};
+const handleSizeChange = (v: number) => {
+  pageSize.value = v;
+  searchFun();
+};
+
+// searchFun()
+</script>
+  <style lang="scss">
+//@import url(../assets/styles/tabs.scss);
+</style>

+ 7 - 0
src/router/index.js

@@ -101,6 +101,13 @@ export const constantRoutes = [{
             import('@/views/farmlandProtection/index.vue'),
         hidden: true
     },
+    {
+        path: '/myApplication',
+        component: () =>
+            import('@/views/ResourceShare/myApplication/index.vue'),
+        hidden: true
+    },
+
     //共享资源
     {
         path: '/shareResources',