diff --git a/public/display/cate-bg.png b/public/display/cate-bg.png new file mode 100644 index 00000000..3361219b Binary files /dev/null and b/public/display/cate-bg.png differ diff --git a/public/display/position.png b/public/display/position.png new file mode 100644 index 00000000..b88bb07d Binary files /dev/null and b/public/display/position.png differ diff --git a/public/display/switch-button-active.png b/public/display/switch-button-active.png new file mode 100644 index 00000000..731cd513 Binary files /dev/null and b/public/display/switch-button-active.png differ diff --git a/public/display/switch-button.png b/public/display/switch-button.png new file mode 100644 index 00000000..9f54cfbe Binary files /dev/null and b/public/display/switch-button.png differ diff --git a/public/display/title.png b/public/display/title.png new file mode 100644 index 00000000..34019b60 Binary files /dev/null and b/public/display/title.png differ diff --git a/public/display/uav-1.png b/public/display/uav-1.png new file mode 100644 index 00000000..3df8e845 Binary files /dev/null and b/public/display/uav-1.png differ diff --git a/src/views/demo/system/achievement/AchievementManage/index.vue b/src/views/demo/system/achievement/AchievementManage/index.vue index ca984c3f..17f68687 100644 --- a/src/views/demo/system/achievement/AchievementManage/index.vue +++ b/src/views/demo/system/achievement/AchievementManage/index.vue @@ -11,8 +11,11 @@ + @@ -29,7 +32,7 @@ left: '0px', zIndex: '0', }" - @handleOpen="handleOpen" + @handleOpenImage="handleOpenImage" />
@@ -154,7 +157,10 @@ ellipsis: false, bordered: true, showTableSetting: false, - autoCreateKey: false, + autoCreateKey: true, + canResize: false, + expandRowByClick: true, + accordion: true, formConfig: { labelWidth: 120, schemas: searchFormSchema, @@ -415,7 +421,7 @@ const modalImage = ref(''); const visible = ref(false); // 打开窗口 - const handleOpen = (properties) => { + const handleOpenImage = (properties) => { // modalOpen.value = true; setVisible(true); modalTitle.value = ''; diff --git a/src/views/demo/system/achievement/Display/AttributeWindow.vue b/src/views/demo/system/achievement/Display/AttributeWindow.vue new file mode 100644 index 00000000..a1eeb431 --- /dev/null +++ b/src/views/demo/system/achievement/Display/AttributeWindow.vue @@ -0,0 +1,120 @@ + + + diff --git a/src/views/demo/system/achievement/Display/ImageModal.vue b/src/views/demo/system/achievement/Display/ImageModal.vue new file mode 100644 index 00000000..2183fa76 --- /dev/null +++ b/src/views/demo/system/achievement/Display/ImageModal.vue @@ -0,0 +1,255 @@ + + + + diff --git a/src/views/demo/system/achievement/Display/TimeLine.vue b/src/views/demo/system/achievement/Display/TimeLine.vue index 226816e3..48134dfc 100644 --- a/src/views/demo/system/achievement/Display/TimeLine.vue +++ b/src/views/demo/system/achievement/Display/TimeLine.vue @@ -76,12 +76,13 @@ - {{ label }} + + diff --git a/src/views/demo/system/achievement/Display/index.vue b/src/views/demo/system/achievement/Display/index.vue index beafc0c4..c1f38582 100644 --- a/src/views/demo/system/achievement/Display/index.vue +++ b/src/views/demo/system/achievement/Display/index.vue @@ -1,10 +1,10 @@ @@ -69,14 +69,15 @@ diff --git a/src/views/demo/system/geoservermanagement/clound/clound.data.ts b/src/views/demo/system/geoservermanagement/clound/clound.data.ts index 52c45b23..5446d7eb 100644 --- a/src/views/demo/system/geoservermanagement/clound/clound.data.ts +++ b/src/views/demo/system/geoservermanagement/clound/clound.data.ts @@ -9,7 +9,7 @@ export const indexColumns: BasicColumn[] = [ { title: '服务名称', dataIndex: 'serverName', - width: 140, + width: 100, }, { title: '服务地址', @@ -20,7 +20,7 @@ export const indexColumns: BasicColumn[] = [ { title: '空间参考', dataIndex: 'spatialRef', - width: 100, + width: 80, }, { title: '数据源类型', @@ -31,12 +31,12 @@ export const indexColumns: BasicColumn[] = [ { title: '数据类型', dataIndex: 'dataType', - width: 100, + width: 40, }, { title: '数据表名', dataIndex: 'dataTable', - width: 150, + width: 100, }, { title: 'shp或者xls地址', @@ -53,12 +53,12 @@ export const indexColumns: BasicColumn[] = [ { title: '创建时间', dataIndex: 'createTime', - width: 150, + width: 100, }, { title: '修改时间', dataIndex: 'updateTime', - width: 150, + width: 100, }, ]; diff --git a/src/views/demo/system/geoservermanagement/clound/mapComponent.vue b/src/views/demo/system/geoservermanagement/clound/mapComponent.vue index 997bc00a..c13758aa 100644 --- a/src/views/demo/system/geoservermanagement/clound/mapComponent.vue +++ b/src/views/demo/system/geoservermanagement/clound/mapComponent.vue @@ -17,7 +17,7 @@ const mapContainerName = ref(); mapContainerName.value = 'mapContainer-' + generateUUID(); - const emits = defineEmits(['handleOpen']); + const emits = defineEmits(['handleOpenImage', 'getDetailByFeature']); let map: Map; @@ -215,38 +215,79 @@ // 图层管理-图层 function GeoserverManagementRaster(chooseRows, lngLat, zoom, isMove) { // 清除图层 - clearTaskLayer('GeoserverManagementRaster'); + // clearTaskLayer('GeoserverManagementRaster'); + // if (isMove) { + // handlerLocation(lngLat, zoom); + // } + // let tiles: any = []; + // chooseRows.forEach((chooseRow) => { + // let tile = + // 'http://192.168.10.131:8080/geoserver/my_workspace/wms?service=WMS&version=1.1.0&request=GetMap&layers=my_workspace:' + + // chooseRow.dataTable + + // '&styles=&bbox={bbox-epsg-3857}&width=256&height=256&srs=EPSG:3857' + + // '&format=image/png&TRANSPARENT=TRUE'; + // tiles.push(tile); + // }); + // map.addSource('GeoserverManagementRaster' , { + // type: 'raster', + // tiles: tiles, + // tileSize: 256, + // }); + // map.addLayer({ + // id: 'GeoserverManagementRaster', + // type: 'raster', + // source: 'GeoserverManagementRaster' , + // layout: { + // visibility: 'visible', + // }, + // }); + // map.on('click', 'GeoserverManagementRaster', (e) => { + // console.log(e); + // }); + // if (map.getLayer('streetLayer')) { + // map.moveLayer('GeoserverManagementRaster', 'streetLayer'); + // } + + console.log(chooseRows); if (isMove) { handlerLocation(lngLat, zoom); } - - let tiles: any = []; - chooseRows.forEach((chooseRow) => { - let tile = - 'http://192.168.10.131:8080/geoserver/my_workspace/wms?service=WMS&version=1.1.0&request=GetMap&layers=my_workspace:' + - chooseRow.dataTable + - '&styles=&bbox={bbox-epsg-3857}&width=256&height=256&srs=EPSG:3857' + - '&format=image/png&TRANSPARENT=TRUE'; - tiles.push(tile); + chooseRows?.forEach((chooseRow) => { + // chooseRow.dataTable = 'pingyi304086660120221229'; + map.addSource(chooseRow.dataTable, { + type: 'vector', + tiles: [ + 'http://192.168.10.131:8989/api/ShpGeoLayer/QueryVectorTileByTable?z={z}&x={x}&y={y}&table=' + + chooseRow.dataTable, + // '&field=id,', + ], + minzoom: parseInt(1), + maxzoom: parseInt(18), + }); + map.addLayer({ + id: chooseRow.dataTable, + type: 'fill', + source: chooseRow.dataTable, + 'source-layer': chooseRow.dataTable, + paint: { + 'fill-opacity': 1, + 'fill-color': 'red', + 'fill-outline-color': 'green', + }, + }); + map.on('click', chooseRow.dataTable, function (e) { + // 显示弹窗 + if (e.features.length > 0) { + // 获取第一个(也是唯一的)被点击的特征 + const feature = e.features[0]; + // console.log(400, feature); + emits('getDetailByFeature', feature); + } + }); + if (map.getLayer('streetLayer')) { + map.moveLayer(chooseRow.dataTable, 'streetLayer'); + } }); - - map.addSource('GeoserverManagementRaster' + 'wmsSource', { - type: 'raster', - tiles: tiles, - tileSize: 256, - }); - map.addLayer({ - id: 'GeoserverManagementRaster', - type: 'raster', - source: 'GeoserverManagementRaster' + 'wmsSource', - layout: { - visibility: 'visible', - }, - }); - - if (map.getLayer('streetLayer')) { - map.moveLayer('GeoserverManagementRaster', 'streetLayer'); - } } // 影像管理-图层 @@ -268,7 +309,7 @@ tiles.push(tile); }); - map.addSource('GeoTiffManagerRaster' + 'wmsSource', { + map.addSource('GeoTiffManagerRaster', { type: 'raster', tiles: tiles, tileSize: 256, @@ -276,7 +317,7 @@ map.addLayer({ id: 'GeoTiffManagerRaster', type: 'raster', - source: 'GeoTiffManagerRaster' + 'wmsSource', + source: 'GeoTiffManagerRaster', layout: { visibility: 'visible', }, @@ -302,11 +343,11 @@ handlerLocation(lngLat, zoom); } - if (map.getSource('AchievementManageRaster' + 'wmsSource')) { - map.getSource('AchievementManageRaster' + 'wmsSource').setData(taskLayerGeoJson); + if (map.getSource('AchievementManageRaster')) { + map.getSource('AchievementManageRaster').setData(taskLayerGeoJson); } else { // 聚合效果 - map.addSource('AchievementManageRaster' + 'wmsSource', { + map.addSource('AchievementManageRaster', { type: 'geojson', data: taskLayerGeoJson, cluster: true, @@ -316,7 +357,7 @@ map.addLayer({ id: 'clusters', type: 'circle', - source: 'AchievementManageRaster' + 'wmsSource', + source: 'AchievementManageRaster', filter: ['all', ['has', 'point_count'], ['!=', 'point_count', 1]], // 只显示聚合点数量大于1的情况 paint: { 'circle-color': [ @@ -334,7 +375,7 @@ map.addLayer({ id: 'cluster-count', type: 'symbol', - source: 'AchievementManageRaster' + 'wmsSource', + source: 'AchievementManageRaster', filter: ['all', ['has', 'point_count'], ['!=', 'point_count', 1]], // 只显示聚合点数量大于1的情况 layout: { 'text-field': ['get', 'point_count_abbreviated'], @@ -345,7 +386,7 @@ // map.addLayer({ // id: 'unclustered-point', // type: 'circle', - // source: 'AchievementManageRaster' + 'wmsSource', + // source: 'AchievementManageRaster' , // filter: ['any', ['!', ['has', 'point_count']], ['==', 'point_count', 1]], // paint: { // 'circle-color': '#11b4da', @@ -355,7 +396,7 @@ // }, // }); // 无人机图标 - map.loadImage('/map/AchievementManage.png', function (error, image) { + map.loadImage('/videosupervision/uav-1.png', function (error, image) { if (error) throw error; if (!map.hasImage('taskIcon')) { map.addImage('taskIcon', image); @@ -364,7 +405,7 @@ map.addLayer({ id: 'AchievementManageRaster', type: 'symbol', - source: 'AchievementManageRaster' + 'wmsSource', + source: 'AchievementManageRaster', layout: { 'icon-image': 'taskIcon', 'icon-size': 0.8, @@ -392,7 +433,7 @@ // 从特征的属性中获取 'path' 值 // const path = feature.properties.path; // console.log(400, feature.properties); - emits('handleOpen', feature.properties); + emits('handleOpenImage', feature.properties); } }); @@ -429,9 +470,9 @@ } } // 检查数据源是否存在 - if (map.getSource(layerName + 'wmsSource')) { + if (map.getSource(layerName)) { // 删除数据源 - map.removeSource(layerName + 'wmsSource'); + map.removeSource(layerName); } } diff --git a/src/views/demo/system/geoservermanagement/index.vue b/src/views/demo/system/geoservermanagement/index.vue index d1b276b0..be614f7e 100644 --- a/src/views/demo/system/geoservermanagement/index.vue +++ b/src/views/demo/system/geoservermanagement/index.vue @@ -23,6 +23,7 @@ width: calc(85vh); z-index: 0; " + @getDetailByFeature="getDetailByFeature" />
@@ -138,6 +139,14 @@ 提交 + +
+ 详细信息 + + + + +