From 3f59ced6a0d32fbeb37d82b928e1fa3b0292d5b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BB=95=E5=B5=A9?= <17854119262@163.com> Date: Tue, 27 Aug 2024 17:30:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=90=E6=9E=9C=E7=AE=A1=E7=90=86-=E8=88=AA?= =?UTF-8?q?=E9=A3=9E=E5=9B=BE=E7=89=87-=E8=87=AA=E5=8A=A8=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=9B=BE=E5=B1=82=E7=9A=84=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../achievement/AchievementManage/index.vue | 23 ++++++++++++++++--- .../clound/mapComponent.vue | 7 ++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/views/demo/system/achievement/AchievementManage/index.vue b/src/views/demo/system/achievement/AchievementManage/index.vue index 2b99e5bd..36e88948 100644 --- a/src/views/demo/system/achievement/AchievementManage/index.vue +++ b/src/views/demo/system/achievement/AchievementManage/index.vue @@ -90,6 +90,9 @@ tableSpan.value = 0; mapSpan.value = 24; searchFormSchema.value = searchFormSchema_map; + setTimeout(() => { + mapboxComponentRef.value.resize(); + }, 200); } // 半屏 function exitScreen() { @@ -97,6 +100,9 @@ tableSpan.value = 12; mapSpan.value = 12; searchFormSchema.value = searchFormSchema_table; + setTimeout(() => { + mapboxComponentRef.value.resize(); + }, 200); } // 左侧表格的搜索、表格和分页数据------------------------------------------------------------ @@ -282,8 +288,8 @@ type: 'FeatureCollection', features: [], }; - let lngList: any = []; - let latList: any = []; + // let lngList: any = []; + // let latList: any = []; tasklist?.forEach((item, index) => { // lngList.push(parseFloat(item.gemo.x)); // latList.push(parseFloat(item.gemo.y)); @@ -364,7 +370,12 @@ const handleOpen = (path) => { modalOpen.value = true; modalTitle.value = ''; - modalImage.value = VITE_GLOB_API_URL_VAR.value + path; + // 正则表达式验证函数 + if (isValidUrl(path)) { + modalImage.value = path; + } else { + modalImage.value = VITE_GLOB_API_URL_VAR.value + path; + } }; // 关闭窗口 const handleCancel = () => { @@ -372,6 +383,12 @@ modalTitle.value = ''; modalImage.value = ''; }; + // 正则表达式验证函数 + function isValidUrl(url: string): boolean { + const regex = + /^(?:http|ftp)s?:\/\/(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|\[?[A-F0-9]*:[A-F0-9:]+\]?)(?::\d+)?(?:\/?|[\/?]\S+)$/i; + return regex.test(url); + } onMounted(() => { handleReset(); diff --git a/src/views/demo/system/geoservermanagement/clound/mapComponent.vue b/src/views/demo/system/geoservermanagement/clound/mapComponent.vue index f32404da..43b97ecc 100644 --- a/src/views/demo/system/geoservermanagement/clound/mapComponent.vue +++ b/src/views/demo/system/geoservermanagement/clound/mapComponent.vue @@ -231,6 +231,7 @@ // 航飞图片-图层 function AchievementManageRaster(taskLayerGeoJson, lngLat, zoom) { + // resize(); // 清除图层 clearTaskLayer('AchievementManageRaster'); // 县区边界 @@ -297,6 +298,11 @@ } } + // 重新计算地图大小 + function resize() { + map.resize(); + } + onMounted(() => { mapboxgl.accessToken = MAPBOX_TOKEN; map = initMap(); @@ -313,6 +319,7 @@ GeoserverManagementRaster, GeoTiffManagerRaster, AchievementManageRaster, + resize, });