From bfe436e493006bea75d32383d6bdfc0af8c7e5d0 Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期四, 19 十月 2023 13:44:19 +0800 Subject: [PATCH] 图层组透明度,临时图层组 --- src/views/layer/layerManage.vue | 150 ++++++++++++++++++++++--------------------------- 1 files changed, 67 insertions(+), 83 deletions(-) diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue index 7d5b0c9..c405184 100644 --- a/src/views/layer/layerManage.vue +++ b/src/views/layer/layerManage.vue @@ -127,7 +127,11 @@ } store.state.editTemporaryId = data.id; sgworld.Creator.SimpleGraphic.SimpleGraphicObj.push(data.id); - sgworld.Creator.SimpleGraphic.edit(true, { editProp: false }); + sgworld.Creator.SimpleGraphic.edit(true, { + editProp: false, tipText: { + ActiveText: '鐐瑰嚮婵�娲荤紪杈�' + } + }); } else if (res == 2) { var layerId = [] layerId.push(data.sid) @@ -151,7 +155,18 @@ if (checkedKeys.indexOf(temporary.value) > -1) { checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1) } - estreeRef.value.setCheckedKeys(checkedKeys, true); + estreeRef.value.setCheckedKeys([], true); + nextTick(() => { + var layerIds = []; + for (var i in checkedKeys) { + + var val = estreeRef.value.getNode(checkedKeys[i]).data; + if (val.isLayer == 1) { + layerIds.push(checkedKeys[i]); + } + } + estreeRef.value.setCheckedKeys(layerIds, true); + }) } }; //閫夋嫨鍥惧眰 @@ -160,16 +175,34 @@ layerDetailIsshow.value = false; let isCheck = checked.checkedKeys.indexOf(data.id) > -1; if (isCheck) { - let son = estreeRef.value.getCheckedNodes().reverse(); - for (var i in son) { - var layerArr = son[i]; - layerArr.checked = true; - if (layerArr.shpType && layerArr.shpType == 'temporaryLayer') {//涓存椂鍥惧眰娣诲姞 - temporaryTool.addTemporaryTool(layerArr); + if (data.isLayer == 0) { + let son = estreeRef.value.getCheckedNodes().reverse(); + for (var i in son) { + var layerArr = son[i]; + layerArr.checked = true; + if (layerArr.shpType && layerArr.shpType == 'temporaryLayer') {//涓存椂鍥惧眰娣诲姞 + temporaryTool.addTemporaryTool(layerArr); + } else { + server.addTreeData(layerArr); + } + } + } else { + if (data.shpType && data.shpType == 'temporaryLayer') {//涓存椂鍥惧眰娣诲姞 + temporaryTool.addTemporaryTool(data); } else { - server.addTreeData(layerArr); + let son = estreeRef.value.getCheckedNodes().reverse(); + for (var i in son) { + var layerArr = son[i]; + layerArr.checked = true; + if (layerArr.shpType && layerArr.shpType == 'temporaryLayer') {//涓存椂鍥惧眰娣诲姞 + + } else { + server.addTreeData(layerArr); + } + } } } + } else { if (data.isLayer == 0) { @@ -182,6 +215,7 @@ } } } else { + if (data.shpType && data.shpType == 'temporaryLayer') {//涓存椂鍥惧眰娣诲姞 temporaryTool.removeTemporaryLayer(data); } else { @@ -190,52 +224,6 @@ } } - - - - - //鍒ゆ柇鏄惁涓虹埗绾� - // if (data.isLayer == 0) {//涓虹埗绾� - - // let son = estreeRef.value.getCheckedNodes().reverse(); - // for(var i in ) - - - - - // } else {//涓哄瓙绾� - - // } - - - // - // if (data.shpType && data.shpType == 'temporaryLayer') { - // if (isCheck) { - // temporaryTool.addTemporaryTool(data); - // } else if(!isCheck) { - // temporaryTool.removeTemporaryLayer(data); - // } - // } else { - // if (isCheck) { - // let son = estreeRef.value.getCheckedNodes().reverse(); - // for (var i in son) { - // var layerArr = son[i]; - // layerArr.checked = true; - // if (layerArr.category == 2 && layerArr.type == 3) { - - // if (layerArr.tab != "moon:geo_mappable_unit") { - - // server.addTreeData(layerArr) - // } - // } else { - // server.addTreeData(layerArr); - // } - // } - // store.commit("SET_CHECKLAYER", son); - // } else { - // - // } - // } }; const setVisiable = (treeNode, checked) => { if (checked !== undefined) { @@ -276,10 +264,15 @@ layerAttributeIsshow.value = true; store.state.tab = e; } else if (res == 3) { - let son = estreeRef.value.getCheckedNodes() - var layerId = getCheckedLayerID(e, son); + let son = estreeRef.value.getCheckedKeys(); + var layerId = getCheckedLayerPID(e, son); if (layerId.length <= 0) { return ElMessage.error("璇峰厛鍕鹃�夊浘灞�"); + } + layerDetailIsshow.value = true; + store.state.layerGroups = { + id: e.id, + layerIds: layerId } } else { var val = estreeRef.value!.getCheckedKeys(false); @@ -292,14 +285,15 @@ }) }; -const getCheckedLayerID = (res, result) => { +const getCheckedLayerPID = (res, result) => { var temp = []; + var ids = result let forFn = (data) => { data.children.forEach(item => { if (item.children) { - forFn(item) + temp.push(item.id) } else { - if (result.indexOf(item.id) > -1) { + if (ids.indexOf(item.id) > -1) { temp.push(item.id) } } @@ -309,10 +303,14 @@ return temp; }; const setSpatialClose = (res) => { + layerAttributeIsshow.value = res; }; const detailClose = (res) => { - layerDetailIsshow.value = res; + if (res.type == 0) { + estreeRef.value.getNode(store.state.layerGroups.id).data.alpha = res.val; + } + layerDetailIsshow.value = res.flag; }; //缂栬緫鍥惧眰鏍� const addlayer = (res) => { @@ -381,7 +379,14 @@ // server.delLayerAll(); const dt = await perms_selectLayers(); if (dt.code == 200) { - treeData.value = setTreeData(dt.result).sort(function (a, b) { + + var va_data = dt.result.filter((res) => { + if (res.isLayer == 0) { + res.alpha = 1; + } + return res; + }) + treeData.value = setTreeData(va_data).sort(function (a, b) { return a.orderNum - b.orderNum; }); const comperLayer = await mark_selectByPageAndCount({ @@ -430,25 +435,7 @@ //娣诲姞榛樿閫変腑鍥惧眰 layerListData.value = dt.result; defaultLayer(dt.result); - // var setGeoWms = []; - // var url = null; - // for (var i in adLayer) { - // var layer = adLayer[i]; - // if (layer.category == 2 && layer.type == 3) { - // if (layer.tab != "moon:geo_mappable_unit") { - // // setGeoWms.push(layer.tab); - // // url = layer.url; - // server.addTreeData(layer); - // } - // } else { - // server.addTreeData(layer); - // } - // } - // if (setGeoWms.length > 0) { - // server.addGeoServerMmsLayers(setGeoWms, url); - // } - //; nextTick(() => { let son = estreeRef.value.getCheckedNodes(); setRestLayerData() @@ -526,10 +513,7 @@ } } nextTick(() => { - - estreeRef.value.setCheckedKeys(checkedKeys, true); - }); }; const setEditLayerChange = async (res) => { -- Gitblit v1.9.3