Compare commits

...

2 Commits

Author SHA1 Message Date
徐景良 f56c6cc4ed merge 2025-05-16 16:19:13 +08:00
徐景良 1adcb863c1 图层目录树控制 2025-05-16 16:17:01 +08:00
4 changed files with 84 additions and 52 deletions

View File

@ -28,11 +28,11 @@
<script type="text/javascript" src="./public/monitor/monitorQX/EasyPlayer-element.min.js"></script> <script type="text/javascript" src="./public/monitor/monitorQX/EasyPlayer-element.min.js"></script>
<style> <style>
.mars3d-template-content{ /* .mars3d-template-content{
background-image:url(/public/map/popup-background.png); background-image:url(/public/map/popup-background.png);
background-size:100% 128%; background-size:100% 128%;
padding:20px; padding:20px;
} } */
</style> </style>
</head> </head>
<body> <body>

View File

@ -63,9 +63,9 @@
selectItem.value = item; selectItem.value = item;
} }
function handleCheck(keys){ function handleCheck(keys,e){
const item = treeFindById(treeData.value, keys[0]); console.log("record",keys,e);
emit("checked",item); emit("checked",e);
} }
/** /**

View File

@ -105,6 +105,7 @@ const EditDrawingGeometry = (map,geometry) => {
"visibleDepth": true "visibleDepth": true
} }
}, },
clampToGround:true,
popup: [], popup: [],
popupOptions: { popupOptions: {
showNull: true showNull: true
@ -158,6 +159,7 @@ const AddDrawingGeometry = (map,type) => {
"visibleDepth": true "visibleDepth": true
} }
}, },
clampToGround:true,
popup: [], popup: [],
popupOptions: { popupOptions: {
showNull: true showNull: true
@ -268,9 +270,10 @@ const PreviewDrawingGeometry = (map,geometry) => {
"scaleByDistance_near": 1000, "scaleByDistance_near": 1000,
"scaleByDistance_nearValue": 1, "scaleByDistance_nearValue": 1,
"distanceDisplayCondition_far": 10000, "distanceDisplayCondition_far": 10000,
"visibleDepth": true "visibleDepth": false
} }
}, },
clampToGround:true,
popup: [], popup: [],
popupOptions: { popupOptions: {
showNull: true showNull: true

View File

@ -100,7 +100,9 @@
</div> </div>
<div class="detail-button"> <div class="detail-button">
<a-button type="primary" @click="detailToEdit"> </a-button> <a-button type="primary" @click="detailToEdit"> </a-button>
<a-button type="primary" @click="closeDetail" danger> 关闭 </a-button> <a-button type="primary" @click="closeDetail" danger> 关闭 </a-button>
</div> </div>
</div> </div>
<!-- 编辑 --> <!-- 编辑 -->
@ -228,52 +230,71 @@
formState.value.geom = e; formState.value.geom = e;
}); });
// //
const handlerLoadLayer = (node) => {
const handlerLoadLayer = (record) => { if(node.node.tableName){ //
let layer = globalMap.getLayerById(record.id); handlerToggleLayer(node.node);
}else{ //
if (layer) { node.node.child?.forEach((item,index)=>{
layer.show = !layer.show; if(!node.node.checked){
} else { item.checked = node.node.checked;
let tileLayer = new mars3d.layer.WmsLayer({ handlerToggleLayer(item);
name: record.applicationName, }
id: record.id, })
url: VITE_GLOB_GEOSERVER_BASE_URL + '/geoserver/my_workspace/wms',
layers: 'my_workspace:' + record.tableName,
parameters: {
transparent: true,
format: 'image/png',
},
getFeatureInfoParameters: {
feature_count: 10,
},
//
highlight: {
type: 'wallP',
diffHeight: 100,
materialType: mars3d.MaterialType.LineFlow,
materialOptions: {
image: 'https://data.mars3d.cn/img/textures/fence.png',
color: '#ffff00',
speed: 10, // 1-100
axisY: true,
},
},
popup: 'all',
flyTo: true,
featureToGraphic: function (e) {
//
let wkt = GeojsonToWkt(e.data.geometry);
let editData = { ...e.data.properties };
editData.geom = wkt;
viewData(editData);
},
});
globalMap.addLayer(tileLayer);
} }
}; };
const handlerToggleLayer = (node)=>{
if(!node.checked){
let layer = globalMap.getLayerById(node.id);
if(layer){
layer.show = true
}else{
let tileLayer = new mars3d.layer.WmsLayer({
name: node.applicationName,
id:node.id,
url: VITE_GLOB_GEOSERVER_BASE_URL+"/geoserver/my_workspace/wms",
layers: "my_workspace:"+node.tableName,
parameters: {
transparent: true,
format: 'image/png',
},
crs: "EPSG:4326",
getFeatureInfoParameters: {
feature_count: 10
},
//
highlight: {
type: "wallP",
diffHeight: 100,
materialType: mars3d.MaterialType.LineFlow,
materialOptions: {
image: "https://data.mars3d.cn/img/textures/fence.png",
color: "#ffff00",
speed: 10, // 1-100
axisY: true
}
},
popup: "all",
flyTo: true,
featureToGraphic:function(e){ //
let wkt = GeojsonToWkt(e.data.geometry);
let editData = {...e.data.properties}
editData.geom = wkt;
viewData(editData)
}
})
globalMap.addLayer(tileLayer);
}
}else{
let layer = globalMap.getLayerById(node.id);
if(layer){
layer.show = false;
}
}
}
const { VITE_GLOB_API_URL } = getAppEnvConfig(); const { VITE_GLOB_API_URL } = getAppEnvConfig();
const { createConfirm, createMessage } = useMessage(); const { createConfirm, createMessage } = useMessage();
const showTable = ref(''); const showTable = ref('');
@ -433,10 +454,13 @@
}); });
}; };
const checkedLayer = (e) => {
console.log('e123', e); const checkedLayer = (node) => {
handlerLoadLayer(e); handlerLoadLayer(node);
}; }
const hanlerLoadLayer = () => {}; const hanlerLoadLayer = () => {};
const handleSuccess = () => { const handleSuccess = () => {
@ -478,6 +502,11 @@
showTable.value = 'edit'; showTable.value = 'edit';
}; };
const detailClose = ()=>{
showTable.value = ''
DrawingEnd();
}
const delData = (record) => { const delData = (record) => {
createConfirm({ createConfirm({
iconType: 'info', iconType: 'info',