刘妍 2025-05-15 10:28:49 +08:00
commit e55606d0c2
6 changed files with 89 additions and 36 deletions

View File

@ -13,6 +13,9 @@ VITE_GLOB_UPLOAD_URL= http://60.213.14.14:6070
VITE_GLOB_INFO_IMAGE_URL=http://120.222.154.48:6050 VITE_GLOB_INFO_IMAGE_URL=http://120.222.154.48:6050
# geoserver
VITE_GLOB_GEOSERVER_BASE_URL = http://192.168.10.163:8080
# Interface prefix # Interface prefix
VITE_GLOB_API_URL_PREFIX= VITE_GLOB_API_URL_PREFIX=

View File

@ -40,7 +40,8 @@ export function getAppEnvConfig() {
VITE_GLOB_APP_TECHINICAL_SUPPORT, VITE_GLOB_APP_TECHINICAL_SUPPORT,
VITE_GLOB_APP_VERSIONS, VITE_GLOB_APP_VERSIONS,
VITE_GLOB_YINGXIANG_SERVER, VITE_GLOB_YINGXIANG_SERVER,
VITE_GLOB_FILE_PREVIEW VITE_GLOB_FILE_PREVIEW,
VITE_GLOB_GEOSERVER_BASE_URL,
} = ENV; } = ENV;
let { VITE_GLOB_API_URL } = ENV; let { VITE_GLOB_API_URL } = ENV;
if (localStorage.getItem(API_ADDRESS)) { if (localStorage.getItem(API_ADDRESS)) {
@ -58,7 +59,8 @@ export function getAppEnvConfig() {
VITE_GLOB_APP_TECHINICAL_SUPPORT, VITE_GLOB_APP_TECHINICAL_SUPPORT,
VITE_GLOB_APP_VERSIONS, VITE_GLOB_APP_VERSIONS,
VITE_GLOB_YINGXIANG_SERVER, VITE_GLOB_YINGXIANG_SERVER,
VITE_GLOB_FILE_PREVIEW VITE_GLOB_FILE_PREVIEW,
VITE_GLOB_GEOSERVER_BASE_URL
}; };
} }

View File

@ -62,16 +62,12 @@
emit('select', item); emit('select', item);
selectItem.value = item; selectItem.value = item;
} }
function handleCheck(checkedKeys, e) {
let checkedNode = e.node
let checked = e.checked
emit("checked",checkedNode, checked);
function handleCheck(keys){
const item = treeFindById(treeData.value, keys[0]);
emit("checked",item);
} }
function handleChange(key,e){
console.log(key,e);
}
/** /**
* 根据id值或某个属性的值从树结构中查询数据 * 根据id值或某个属性的值从树结构中查询数据
* @param {Array} treeArray 树结构数据 * @param {Array} treeArray 树结构数据

View File

@ -74,6 +74,12 @@ const EditDrawingGeometry = (map,geometry) => {
console.log("geojson",geojson); console.log("geojson",geojson);
// 加载图层 // 加载图层
if(drawingGraphicLayer){
drawingGraphicLayer.clear();
map.removeLayer(drawingGraphicLayer);
drawingGraphicLayer = null;
}
drawingGraphicLayer = new mars3d.layer.GeoJsonLayer({ drawingGraphicLayer = new mars3d.layer.GeoJsonLayer({
name: "编辑图层", name: "编辑图层",
data:geojson, data:geojson,
@ -103,7 +109,7 @@ const EditDrawingGeometry = (map,geometry) => {
popupOptions: { popupOptions: {
showNull: true showNull: true
}, },
flyTo: true // flyTo: true
}) })
map.addLayer(drawingGraphicLayer) map.addLayer(drawingGraphicLayer)
@ -156,7 +162,7 @@ const AddDrawingGeometry = (map,type) => {
popupOptions: { popupOptions: {
showNull: true showNull: true
}, },
flyTo: true // flyTo: trues
}) })
map.addLayer(drawingGraphicLayer); map.addLayer(drawingGraphicLayer);

View File

@ -99,7 +99,7 @@
</a-descriptions> </a-descriptions>
</div> </div>
<div class="detail-button"> <div class="detail-button">
<a-button type="primary" @click="showTable = 'edit'"> 编辑 </a-button> <a-button type="primary" @click="detailToEdit"> </a-button>
<a-button type="primary" @click="showTable = ''" danger> 关闭 </a-button> <a-button type="primary" @click="showTable = ''" danger> 关闭 </a-button>
</div> </div>
</div> </div>
@ -205,43 +205,75 @@
import { EventBus } from '@/utils/eventBus'; import { EventBus } from '@/utils/eventBus';
import { import {
GetGeometryCenter, GetGeometryCenter,
EditDrawingGeometry, EditDrawingGeometry,
AddDrawingGeometry, AddDrawingGeometry,
PreviewDrawingGeometry, PreviewDrawingGeometry,
DrawingEnd, DrawingEnd,
GeojsonToWkt
} from './geometryHandler.ts'; } from './geometryHandler.ts';
import * as mars3d from 'mars3d'; import * as mars3d from 'mars3d';
const { VITE_GLOB_GEOSERVER_BASE_URL } = getAppEnvConfig();
let globalMap: mars3d.Map; let globalMap: mars3d.Map;
const onMapLoad = (map) => { const onMapLoad = (map) => {
globalMap = map; globalMap = map;
}; };
EventBus.on('editLayerEnd', function (e) { EventBus.on("editLayerEnd",function(e){
formState.value.geom = e; formState.value.geom = e;
}); });
// //
const handlerLoadLayer = (record, checked) => {
const handlerLoadLayer = (record) => {
let layer = globalMap.getLayerById(record.id); let layer = globalMap.getLayerById(record.id);
if(layer){ if(layer){
layer.show = checked; layer.show = !layer.show
}else{ }else{
const wmsLayer = new mars3d.layer.WmsLayer({
id: record.id, let tileLayer = new mars3d.layer.WmsLayer({
name: record.applicationName, name: record.applicationName,
url: 'http://192.168.10.163:8080/geoserver/my_workspace/wms', id:record.id,
layers: 'workspace:' + record.tableName, url: VITE_GLOB_GEOSERVER_BASE_URL+"/geoserver/my_workspace/wms",
layers: "my_workspace:"+record.tableName,
parameters: { parameters: {
transparent: true, transparent: true,
format: 'image/png', format: 'image/png',
}, },
}); getFeatureInfoParameters: {
globalMap.addLayer(wmsLayer); 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);
} }
}; };
@ -350,7 +382,7 @@
headData.value?.forEach((item, index) => { headData.value?.forEach((item, index) => {
params.list.push({ params.list.push({
name: item, name: item.dataIndex,
value: formState.value[item] ? formState.value[item] : null, value: formState.value[item] ? formState.value[item] : null,
}); });
}); });
@ -367,6 +399,8 @@
} }
}); });
} }
//
DrawingEnd();
}) })
.catch((error: ValidateErrorEntity<FormState>) => { .catch((error: ValidateErrorEntity<FormState>) => {
console.log('error', error); console.log('error', error);
@ -398,9 +432,13 @@
isUpdate: false, isUpdate: false,
}); });
}; };
const checkedLayer = (node, checked) => {
handlerLoadLayer(node, checked); const checkedLayer = (e) => {
}; console.log("e123",e);
handlerLoadLayer(e);
}
const hanlerLoadLayer = () => {}; const hanlerLoadLayer = () => {};
const handleSuccess = () => { const handleSuccess = () => {
@ -418,8 +456,8 @@
EditDrawingGeometry(globalMap, record.geom); EditDrawingGeometry(globalMap, record.geom);
}; };
const viewData = (record) => { const viewData = (record) => {
console.log('record', record);
PreviewDrawingGeometry(globalMap,record.geom); PreviewDrawingGeometry(globalMap,record.geom);
selectVal.value = record; selectVal.value = record;
formState.value = record; formState.value = record;
@ -436,6 +474,14 @@
} }
} }
}; };
const detailToEdit = ()=>{
editData(formState.value);
showTable.value = 'edit';
}
const delData = (record) => { const delData = (record) => {
createConfirm({ createConfirm({
iconType: 'info', iconType: 'info',