diff --git a/SuperMap iEarth/src/package/addData/layer-custom/components/layers.vue b/SuperMap iEarth/src/package/addData/layer-custom/components/layers.vue index f70b7a8e..7b369921 100644 --- a/SuperMap iEarth/src/package/addData/layer-custom/components/layers.vue +++ b/SuperMap iEarth/src/package/addData/layer-custom/components/layers.vue @@ -37,7 +37,7 @@ type="text" :placeholder="$t('layerName')" :title="state.layerName" - :disabled="true" + :disabled="state.layerType != 'S3M'" /> @@ -180,7 +180,12 @@ function openLayer() { switch (state.layerType) { case "S3M": - addS3M(state.layerUrl); + let isExist = checkS3MLayeExist(state.layerName); + if (isExist) { + message.warning('图层名重复,请修改当前图层名称'); + }else{ + addS3M(state.layerUrl); + } break; case "Imagery": addImage(state.layerUrl); @@ -206,6 +211,10 @@ function handleChange() { state.layerUrl, "S3M" ); + let isExist = checkS3MLayeExist(state.layerName); + if(isExist){ + message.warning('图层名重复,请修改当前图层名称'); + } } break; case "Imagery": @@ -238,6 +247,15 @@ function handleChange() { } } +function checkS3MLayeExist(s3mLayerName:string){ + let layerQueue = viewer.scene.layers.layerQueue; + let findIndex = layerQueue.findIndex((layer:any) => { + return layer.name == s3mLayerName; + }) + + return findIndex >= 0 ? true : false; +} + // 添加s3m let promiseArray: any[] = []; function addS3M(s3mLayerUrl: string) { diff --git a/SuperMap iEarth/src/package/addData/layer-custom/components/scene.vue b/SuperMap iEarth/src/package/addData/layer-custom/components/scene.vue index 8bed5d9e..1cec65a7 100644 --- a/SuperMap iEarth/src/package/addData/layer-custom/components/scene.vue +++ b/SuperMap iEarth/src/package/addData/layer-custom/components/scene.vue @@ -35,8 +35,10 @@