From ecf3ad202a851caa39660ddfaa16e1bf16565b2e Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 30 十月 2023 13:51:38 +0800 Subject: [PATCH] 图层管理修改 --- src/views/layer/layerManage.vue | 94 ++++++++++++++++++++++++---------------------- 1 files changed, 49 insertions(+), 45 deletions(-) diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue index e8cef03..651d215 100644 --- a/src/views/layer/layerManage.vue +++ b/src/views/layer/layerManage.vue @@ -190,37 +190,29 @@ // for (var i in keys) { // checkedKeys.push(keys[i]); // } - + var keys = estreeRef.value.getCheckedKeys(); var val = treeData.value[0].children; for (var i = 0; i < val.length; i++) { if (val[i].id == data.id) { val.splice(i, 1); } } - var keys = estreeRef.value.getCheckedKeys(); - if (val.length <= 0 && keys.indexOf(data.id) > -1) { - keys.splice(keys.indexOf(data.id), 1); - estreeRef.value.setCheckedKeys(keys, true); + + var std = []; + for (var i in keys) { + var layer_res = estreeRef.value.getNode(checkedKeys[i]).data; + if(layer_res.shpType && layer_res.shpType == 'temporaryLayer'){ + std.push(checkedKeys[i]); + }else if(layer_res.isLayer == 1){ + std.push(checkedKeys[i]); + } } - - // nextTick(() => { - // var str = JSON.parse(std) - - // var layerIds = []; - // if (str.indexOf(data.id) > -1) { - // str.splice(str.indexOf(data.id), 1); - // } - // if (str.indexOf(str.value) > -1) { - // str.splice(str.indexOf(str.value), 1); - // } - // for (var i in str) { - // var val = estreeRef.value.getNode(str[i]).data; - // if (val.isLayer == 1) { - // layerIds.push(str[i]); - // } - // } - // estreeRef.value.setCheckedKeys(layerIds, true); - // }); + estreeRef.value.setCheckedKeys([], true); + console.log(data.id); + nextTick(() => { + console.log(std); + estreeRef.value.setCheckedKeys(std, true); + }); } else if (res == 3) { let son = estreeRef.value.getCheckedKeys(); if (son.indexOf(data.id) < 0) { @@ -234,8 +226,11 @@ layerAttributeIsshow.value = false; layerDetailIsshow.value = false; // let isCheck = checked.checkedKeys.indexOf(data.id) > -1; + let son = estreeRef.value.getCheckedNodes(); store.commit("SET_CHECKLAYER", son); + temporaryTool.removeTemporaryLayerAll(); + server.delLayerAll(); var alphaGroup = []; var idGroup = []; for (var i in server.layerList) { @@ -246,34 +241,35 @@ } } server.delLayerAll(); - temporaryTool.removeAll(); + var setGeoWms = []; var geoUrl = null; var layerTreeDate = estreeRef.value.getCheckedNodes().reverse(); for (var i in layerTreeDate) { var layerArr = layerTreeDate[i]; - if (layerArr.shpType && layerArr.shpType == "temporaryLayer") { temporaryTool.addTemporaryTool(layerArr); } else { - if (layerArr.category == 2 && layerArr.type == 3) { - if (layerArr.tab != "moon:geo_mappable_unit") { - var id = layerArr.id; - if (idGroup.indexOf(id) > -1) { - var alpha = alphaGroup[idGroup.indexOf(id)]; - if (alpha == 1) { + if (layerArr.isLayer == 1) { + if (layerArr.category == 2 && layerArr.type == 3) { + if (layerArr.tab != "moon:geo_mappable_unit") { + var id = layerArr.id; + if (idGroup.indexOf(id) > -1) { + var alpha = alphaGroup[idGroup.indexOf(id)]; + if (alpha == 1) { + setGeoWms.push(layerArr.tab); + geoUrl = layerArr.url; + } else { + server.setAddGeoWmsLayer(layerArr, alpha); + } + } else { setGeoWms.push(layerArr.tab); geoUrl = layerArr.url; - } else { - server.setAddGeoWmsLayer(layerArr, alpha); } - } else { - setGeoWms.push(layerArr.tab); - geoUrl = layerArr.url; } + } else { + server.addTreeData(layerArr); } - } else { - server.addTreeData(layerArr); } } } @@ -441,10 +437,12 @@ const setRestLayerData = () => { let son = estreeRef.value.getCheckedNodes().reverse(); + var setGeoWms = []; var geoUrl = null; for (var i in son) { var layerArr = son[i]; + console.log(layerArr.isLayer); layerArr.checked = true; if (layerArr.category == 2 && layerArr.type == 3) { if (layerArr.tab != "moon:geo_mappable_unit") { @@ -554,20 +552,26 @@ name: res.cnName, wkt: JSON.stringify(res), }; + var checkedKeys = estreeRef.value.getCheckedKeys(); const data = await mark_insert(obj); if (data.code != 200 || !data.result) return; store.state.temporaryLayer = null; res.sid = data.result; treeData.value[0].children.push(res); - var id = res.id; + nextTick(() => { - var checkedKeys = estreeRef.value.getCheckedKeys(); - if (checkedKeys.indexOf(temporary.value) > -1) { - checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1); + var std = [res.id]; + for (var i in checkedKeys) { + var layer_res = estreeRef.value.getNode(checkedKeys[i]).data; + if(layer_res.shpType && layer_res.shpType == 'temporaryLayer'){ + std.push(checkedKeys[i]); + }else if(layer_res.isLayer == 1){ + std.push(checkedKeys[i]); + } } - checkedKeys.push(id); - estreeRef.value.setCheckedKeys(checkedKeys, true); + estreeRef.value.setCheckedKeys([], true); + estreeRef.value.setCheckedKeys(std, true); temporaryTool.addTemporaryTool(res); }); }; -- Gitblit v1.9.3