diff --git a/src/main/resources/static/js/synthesisQuery/config/config.json b/src/main/resources/static/js/synthesisQuery/config/config.json new file mode 100644 index 0000000..f9bf6d4 --- /dev/null +++ b/src/main/resources/static/js/synthesisQuery/config/config.json @@ -0,0 +1,1378 @@ +{ + "scene": { + "center": { + "lat": 31.686288, + "lng": 117.229619, + "alt": 11333.9, + "heading": 359.2, + "pitch": -39.5 + }, + "scene3DOnly": false, + "shadows": false, + "removeDblClick": true, + "sceneMode": 3, + "showSun": true, + "showMoon": true, + "showSkyBox": true, + "showSkyAtmosphere": true, + "fog": true, + "fxaa": true, + "requestRenderMode": false, + "globe": { + "depthTestAgainstTerrain": false, + "baseColor": "#546a53", + "showGroundAtmosphere": true, + "enableLighting": false + }, + "cameraController": { + "zoomFactor": 3.0, + "minimumZoomDistance": 1, + "maximumZoomDistance": 50000000, + "enableRotate": true, + "enableTranslate": true, + "enableTilt": true, + "enableZoom": true, + "enableCollisionDetection": true, + "minimumCollisionTerrainHeight": 15000 + } + }, + "control": { + "homeButton": true, + "baseLayerPicker": true, + "sceneModePicker": true, + "vrButton": false, + "fullscreenButton": true, + "navigationHelpButton": true, + "animation": false, + "timeline": false, + "infoBox": false, + "geocoder": false, + "selectionIndicator": false, + + "contextmenu": { "hasDefault": true }, + "mouseDownView": true, + "zoom": { "insertIndex": 1 }, + "compass": { "bottom": "toolbar", "right": "5px" }, + "distanceLegend": { "right": "10px", "bottom": "2px" }, + "locationBar": { + "fps": true, + "crs": "CGCS2000_GK_Zone_3", + "crsDecimal": 0, + "template": "
经度:{lng}
纬度:{lat}
横{crsx} 纵{crsy}
海拔:{alt}米
层级:{level}
方向:{heading}°
俯仰角:{pitch}°
视高:{cameraHeight}米
" + } + }, + "templateValues": { + "dataServer": "//data.mars3d.cn", + "gltfServerUrl": "//data.mars3d.cn/gltf" + }, + "terrain": { + "url": "//data.mars3d.cn/terrain", + "show": true + }, + "basemaps": [ + { "id": 10, "name": "地图底图", "type": "group" }, + { + "id": 2021, + "pid": 10, + "name": "天地图影像", + "icon": "img/basemaps/tdt_img.png", + "type": "group", + "layers": [ + { "name": "底图", "type": "tdt", "layer": "img_d" }, + { "name": "注记", "type": "tdt", "layer": "img_z" } + ], + "show": true + }, + { + "pid": 10, + "name": "天地图电子", + "icon": "img/basemaps/tdt_vec.png", + "type": "group", + "layers": [ + { "name": "底图", "type": "tdt", "layer": "vec_d" }, + { "name": "注记", "type": "tdt", "layer": "vec_z" } + ] + }, + { + "pid": 10, + "name": "高德影像", + "type": "group", + "icon": "img/basemaps/gaode_img.png", + "layers": [ + { "name": "底图", "type": "gaode", "layer": "img_d" }, + { "name": "注记", "type": "gaode", "layer": "img_z" } + ] + }, + { + "pid": 10, + "name": "高德电子", + "type": "gaode", + "icon": "img/basemaps/gaode_vec.png", + "layer": "vec" + }, + { + "pid": 10, + "name": "百度影像", + "type": "group", + "icon": "img/basemaps/bd-img.png", + "layers": [ + { "name": "底图", "type": "baidu", "layer": "img_d" }, + { "name": "注记", "type": "baidu", "layer": "img_z" } + ] + }, + { + "pid": 10, + "name": "百度电子", + "icon": "img/basemaps/bd-vec.png", + "type": "baidu", + "layer": "vec" + }, + { + "pid": 10, + "name": "腾讯影像", + "icon": "img/basemaps/tencent_img.png", + "type": "group", + "layers": [ + { "name": "底图", "type": "tencent", "layer": "img_d" }, + { "name": "注记", "type": "tencent", "layer": "img_z" } + ] + }, + { + "pid": 10, + "name": "腾讯电子", + "icon": "img/basemaps/tencent_vec.png", + "type": "tencent", + "layer": "vec" + }, + { + "pid": 10, + "name": "ArcGIS影像", + "icon": "img/basemaps/esriWorldImagery.png", + "type": "xyz", + "url": "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}", + "enablePickFeatures": false + }, + { + "pid": 10, + "name": "微软影像", + "icon": "img/basemaps/bingAerial.png", + "type": "bing", + "layer": "Aerial" + }, + { + "id": 2017, + "pid": 10, + "name": "蓝色底图", + "icon": "/img/basemaps/bd-c-midnight.png", + "type": "gaode", + "layer": "vec", + "chinaCRS": "GCJ02", + "invertColor": true, + "filterColor": "#4e70a6", + "brightness": 0.6, + "contrast": 1.8, + "gamma": 0.3, + "hue": 1, + "saturation": 0 + }, + { + "pid": 10, + "name": "黑色底图", + "icon": "/img/basemaps/bd-c-dark.png", + "type": "gaode", + "layer": "vec", + "chinaCRS": "GCJ02", + "invertColor": true, + "filterColor": "#909090", + "brightness": 0.6, + "contrast": 1.8, + "gamma": 0.3, + "hue": 1, + "saturation": 0 + }, + { + "pid": 10, + "name": "离线影像地图 (供参考)", + "icon": "/img/basemaps/google_img.png", + "type": "xyz", + "url": "{dataServer}/tile/img/{z}/{x}/{y}.jpg", + "chinaCRS": "GCJ02", + "maximumLevel": 13 + }, + { + "pid": 10, + "name": "单张图片 (本地离线)", + "icon": "img/basemaps/offline.png", + "type": "image", + "url": "//data.mars3d.cn/file/img/world/world.jpg" + } + ], + "layers": [ + { "id": 50, "name": "辅助图层", "type": "group" }, + { "pid": 50, "type": "graticule", "name": "经纬网" }, + { + "pid": 50, + "name": "行政区划界线", + "type": "tdt", + "url": "https://t{s}.tianditu.gov.cn/DataServer?T=ibo_w&x={x}&y={y}&l={z}", + "maximumLevel": 10, + "mapSplit": false + }, + { + "pid": 50, + "name": "高德实时路况", + "type": "gaode", + "layer": "time", + "minimumTerrainLevel": 4, + "minimumLevel": 4, + "proxy": "//server.mars3d.cn/proxy/", + "mapSplit": false + }, + { + "pid": 50, + "name": "百度实时路况", + "type": "baidu", + "layer": "time", + "mapSplit": false + }, + + { "id": 60, "name": "地形", "type": "group" }, + { + "pid": 60, + "type": "terrain", + "name": "Cesium地形", + "terrain": { "type": "ion" }, + "radio": true + }, + { + "pid": 60, + "type": "terrain", + "name": "Mars3D地形", + "terrain": { "type": "xyz", "url": "{dataServer}/terrain" }, + "radio": true + }, + { + "pid": 60, + "type": "terrain", + "name": "ArcGIS地形", + "terrain": { + "type": "arcgis", + "url": "https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer" + }, + "radio": true + }, + { + "pid": 60, + "type": "terrain", + "name": "无地形", + "terrain": { "type": "none" }, + "radio": true + }, + + { "id": 40, "name": "栅格数据", "type": "group" }, + { "id": 4020, "pid": 40, "name": "OGC WMS服务", "type": "group" }, + { + "pid": 4020, + "name": "教育设施点", + "type": "wms", + "url": "//server.mars3d.cn/geoserver/mars/wms", + "layers": "mars:hfjy", + "crs": "EPSG:4326", + "parameters": { "transparent": "true", "format": "image/png" }, + "popup": "名称:{项目名称}
类型:{设施类型}
面积:{用地面积}亩
位置:{具体位置}", + "mapSplit": false, + "show": false, + "flyTo": true + }, + { + "pid": 4020, + "name": "道路线", + "type": "wms", + "url": "//server.mars3d.cn/geoserver/mars/wms", + "layers": "mars:hfdl", + "crs": "EPSG:4326", + "parameters": { "transparent": "true", "format": "image/png" }, + "center": { + "lat": 31.743214, + "lng": 117.277097, + "alt": 47197.7, + "heading": 0.3, + "pitch": -78.8 + }, + "popup": "all", + "mapSplit": false, + "show": false, + "flyTo": true + }, + { + "pid": 4020, + "name": "建筑物面", + "type": "wms", + "url": "//server.mars3d.cn/geoserver/mars/wms", + "layers": "mars:hfjzw", + "crs": "EPSG:4326", + "parameters": { "transparent": "true", "format": "image/png" }, + "highlight": { + "showTime": 5000, + "fill": true, + "color": "#2deaf7", + "opacity": 0.6, + "outline": true, + "outlineWidth": 3, + "outlineColor": "#e000d9", + "outlineOpacity": 1.0, + "clampToGround": true + }, + "center": { + "lat": 31.79513, + "lng": 117.236172, + "alt": 3784.6, + "heading": 0.7, + "pitch": -42.2 + }, + "popup": "all", + "show": false, + "flyTo": true + }, + { + "pid": 4020, + "name": "规划面", + "type": "wms", + "url": "//server.mars3d.cn/geoserver/mars/wms", + "layers": "mars:hfgh", + "crs": "EPSG:4326", + "parameters": { "transparent": "true", "format": "image/png" }, + "center": { + "lat": 31.743214, + "lng": 117.277097, + "alt": 47197.7, + "heading": 0.3, + "pitch": -78.8 + }, + "popup": "all", + "show": false, + "flyTo": true + }, + { "id": 4030, "pid": 40, "name": "ArcGIS 瓦片", "type": "group" }, + { + "pid": 4030, + "name": "合肥规划图", + "type": "arcgis_cache", + "url": "{dataServer}/arcgis_cache/hfgh/_alllayers/{z}/{y}/{x}.png", + "minimumLevel": 1, + "maximumLevel": 17, + "minimumTerrainLevel": 1, + "maximumTerrainLevel": 17, + "rectangle": { + "xmin": 116.846, + "xmax": 117.642, + "ymin": 31.533, + "ymax": 32.185 + } + }, + { "id": 4010, "pid": 40, "name": "ArcGIS Dynamic", "type": "group" }, + { + "id": 401085, + "pid": 4010, + "type": "arcgis", + "name": "主要道路", + "url": "//server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer", + "layers": "24", + "highlight": { + "type": "polyline", + "color": "#2deaf7", + "width": 4, + "clampToGround": true + }, + "center": { + "lat": 31.814176, + "lng": 117.225362, + "alt": 5105.3, + "heading": 359.2, + "pitch": -83.1 + }, + "popup": "all", + "onWidget": "layer-picture-heatmap", + "mapSplit": false + }, + { + "id": 401086, + "pid": 4010, + "type": "arcgis", + "name": "建筑物", + "url": "//server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer", + "layers": "35,36,37,39", + "highlight": { + "fill": true, + "color": "#2deaf7", + "opacity": 0.6, + "outline": true, + "outlineWidth": 3, + "outlineColor": "#e000d9", + "outlineOpacity": 1.0, + "clampToGround": true + }, + "center": { + "lat": 31.816951, + "lng": 117.22898, + "alt": 2916.7, + "heading": 0.3, + "pitch": -78.8 + }, + "popup": "名称:{NAME}
层数:{floor}", + "onWidget": "layer-picture-heatmap" + }, + { + "id": 401087, + "pid": 4010, + "type": "arcgis", + "name": "规划", + "url": "//server.mars3d.cn/arcgis/rest/services/mars/guihua/MapServer", + "highlight": { + "showTime": 5000, + "fill": true, + "color": "#2deaf7", + "opacity": 0.6, + "outline": true, + "outlineWidth": 3, + "outlineColor": "#e000d9", + "outlineOpacity": 1.0, + "clampToGround": true + }, + "center": { + "lat": 31.816951, + "lng": 117.22898, + "alt": 2916.7, + "heading": 0.3, + "pitch": -78.8 + }, + "popup": [ + { "field": "用地名称", "name": "名称" }, + { "field": "用地编号", "name": "编号" }, + { "field": "规划用地", "name": "规划" }, + { + "type": "html", + "html": "
数据仅供参考
" + } + ], + "popupNoTitle": true, + "onWidget": "layer-picture-guihua" + }, + { "id": 30, "name": "矢量数据", "type": "group" }, + { "id": 3030, "pid": 30, "name": "GeoJSON数据", "type": "group" }, + { + "id": 303011, + "pid": 3030, + "type": "geojson", + "name": "平台标绘", + "url": "{dataServer}/file/geojson/mars3d-draw.json", + "popup": "{type}{name}", + "show": false, + "flyTo": true + }, + { + "pid": 3030, + "type": "geojson", + "name": "用地规划", + "url": "{dataServer}/file/geojson/guihua.json", + "symbol": { + "styleOptions": { + "opacity": 0.6, + "color": "#0000FF", + "width": 3, + "clampToGround": true + }, + "styleField": "类型", + "styleFieldOptions": { + "一类居住用地": { "color": "#FFDF7F" }, + "二类居住用地": { "color": "#FFFF00" }, + "社区服务用地": { "color": "#FF6A38" }, + "幼托用地": { "color": "#FF6A38" }, + "商住混合用地": { "color": "#FF850A" }, + "行政办公用地": { "color": "#FF00FF" }, + "文化设施用地": { "color": "#FF00FF" }, + "小学用地": { "color": "#FF7FFF" }, + "初中用地": { "color": "#FF7FFF" }, + "体育场用地": { "color": "#00A57C" }, + "医院用地": { "color": "#A5527C" }, + "社会福利用地": { "color": "#FF7F9F" }, + "商业用地": { "color": "#FF0000" }, + "商务用地": { "color": "#7F0000" }, + "营业网点用地": { "color": "#FF7F7F" }, + "一类工业用地": { "color": "#A57C52" }, + "社会停车场用地": { "color": "#C0C0C0" }, + "通信用地": { "color": "#007CA5" }, + "排水用地": { "color": "#00BFFF" }, + "公园绿地": { "color": "#00FF00" }, + "防护绿地": { "color": "#007F00" }, + "河流水域": { "color": "#7FFFFF" }, + "配建停车场": { "color": "#ffffff" }, + "道路用地": { "color": "#ffffff" } + } + }, + "popup": "{类型}", + "show": false, + "flyTo": true + }, + { + "pid": 3030, + "type": "geojson", + "name": "建筑物面", + "url": "{dataServer}/file/geojson/buildings-demo.json", + "symbol": { + "styleOptions": { + "color": "#0d3685", + "outlineColor": "#0d3685", + "opacity": 0.8 + } + }, + "buildings": { "cloumn": "floors", "height": "flo_height" }, + "popup": "all", + "flyTo": true, + "flyToOptions": { "minHeight": 2000 } + }, + { + "pid": 3030, + "type": "geojson", + "name": "安徽各市", + "url": "{dataServer}/file/geojson/areas/340000_full.json", + "symbol": { + "type": "polygon", + "styleOptions": { + "materialType": "PolyGradient", + "materialOptions": { + "color": "rgb(15,176,255)", + "opacity": 0.7, + "alphaPower": 1.3 + }, + "label": { + "text": "{name}", + "opacity": 1, + "font_size": 25, + "color": "#ffffff", + "outline": true, + "outlineColor": "#000000", + "outlineWidth": 3, + "scaleByDistance": true, + "scaleByDistance_far": 2743804, + "scaleByDistance_farValue": 0.3, + "scaleByDistance_near": 10000, + "scaleByDistance_nearValue": 1, + "distanceDisplayCondition": true, + "distanceDisplayCondition_far": 2743804, + "distanceDisplayCondition_near": 0 + } + } + }, + "popup": "{name}", + "show": false, + "flyTo": true + }, + { + "pid": 3030, + "type": "geojson", + "name": "中国省界", + "url": "{dataServer}/file/geojson/areas/100000_full.json", + "symbol": { + "type": "polylineP", + "styleOptions": { + "color": "#ffffff", + "width": 2, + "opacity": 0.8, + "label": { + "text": "{name}", + "position": "center", + "font_size": 30, + "color": "#ffffff", + "outline": true, + "outlineColor": "#000000", + "scaleByDistance": true, + "scaleByDistance_far": 60000000, + "scaleByDistance_farValue": 0.2, + "scaleByDistance_near": 1000000, + "scaleByDistance_nearValue": 1, + "distanceDisplayCondition": true, + "distanceDisplayCondition_far": 12000000, + "distanceDisplayCondition_near": 0 + } + } + }, + "show": false, + "flyTo": true + }, + { + "pid": 3030, + "type": "geojson", + "name": "西藏垭口", + "url": "{dataServer}/file/geojson/xizangyakou.json", + "symbol": { + "styleOptions": { + "image": "//data.mars3d.cn/img/marker/mark-red.png", + "scaleByDistance": true, + "scaleByDistance_far": 5000000, + "scaleByDistance_farValue": 0.5, + "scaleByDistance_near": 1000, + "scaleByDistance_nearValue": 1, + "verticalOrigin": 1, + "horizontalOrigin": 0, + "clampToGround": true, + "label": { + "text": "{NAME}", + "font_size": 25, + "color": "#ffff00", + "font_family": "微软雅黑", + "outline": true, + "outlineColor": "#000000", + "pixelOffsetY": -40, + "scaleByDistance": true, + "scaleByDistance_far": 1000000, + "scaleByDistance_farValue": 0.5, + "scaleByDistance_near": 1000, + "scaleByDistance_nearValue": 1, + "distanceDisplayCondition": true, + "distanceDisplayCondition_far": 1000000, + "distanceDisplayCondition_near": 0, + "visibleDepth": true + } + } + }, + "popup": [ + { "field": "NAME", "name": "名称" }, + { + "type": "details", + "callback": "showPopupDetails", + "field": "图片", + "className": "mars3d-popup-btn-custom" + } + ], + "show": false, + "flyTo": true + }, + { + "pid": 3030, + "type": "geojson", + "name": "体育设施点", + "url": "{dataServer}/file/geojson/hfty-point.json", + "symbol": { + "styleOptions": { + "image": "//data.mars3d.cn/img/marker/mark-red.png", + "scale": 1, + "scaleByDistance": true, + "scaleByDistance_far": 20000, + "scaleByDistance_farValue": 0.5, + "scaleByDistance_near": 1000, + "scaleByDistance_nearValue": 1, + "verticalOrigin": 1, + "horizontalOrigin": 0, + "clampToGround": true, + "label": { + "text": "{项目名称}", + "font_size": 25, + "color": "#ffffff", + "outline": true, + "outlineColor": "#000000", + "pixelOffsetY": -25, + "scaleByDistance": true, + "scaleByDistance_far": 80000, + "scaleByDistance_farValue": 0.5, + "scaleByDistance_near": 1000, + "scaleByDistance_nearValue": 1, + "distanceDisplayCondition": true, + "distanceDisplayCondition_far": 80000, + "distanceDisplayCondition_near": 0 + } + } + }, + "popup": [ + { "field": "项目名称", "name": "项目名称" }, + { "field": "建设性质", "name": "建设性质" }, + { "field": "设施级别", "name": "设施级别" }, + { "field": "所属区县", "name": "所属区县" }, + { "field": "建筑内容及", "name": "建筑内容" }, + { "field": "新增用地(", "name": "新增用地" }, + { "field": "开工", "name": "开工" }, + { "field": "总投资(万", "name": "总投资" }, + { "field": "资金来源", "name": "资金来源" }, + { "field": "初步选址", "name": "初步选址" }, + { "field": "设施类型", "name": "设施类型" }, + { "field": "设施等级", "name": "设施等级" }, + { "field": "所在区县", "name": "所在区县" }, + { "field": "具体位置", "name": "具体位置" }, + { "field": "建设内容(", "name": "建设内容" }, + { + "field": "用地面积(", + "name": "用地面积", + "format": "mars3d.MeasureUtil.formatArea" + }, + { "field": "设施规模(", "name": "设施规模" }, + { "field": "举办者类型", "name": "举办者类型" }, + { "field": "开工时间", "name": "开工时间" }, + { "field": "总投资额(", "name": "总投资额", "unit": "亿元" }, + { "field": "项目推进主", "name": "项目推进主体" }, + { "field": "项目进度", "name": "项目进度" }, + { "field": "项目来源", "name": "项目来源" }, + { "field": "备注", "name": "备注" } + ], + "show": false, + "flyTo": true + }, + { "id": 3070, "pid": 30, "name": "GeoServer WFS", "type": "group" }, + { + "pid": 3070, + "type": "wfs", + "name": "建筑物面", + "url": "//server.mars3d.cn/geoserver/mars/ows", + "layer": "mars:hfjzw", + "parameters": { "maxFeatures": 500 }, + "minimumLevel": 15, + "symbol": { + "type": "polygonP", + "styleOptions": { + "color": "#00469c", + "outline": false, + "opacity": 1 + } + }, + "buildings": { "cloumn": "floor" }, + "center": { + "lat": 31.818396, + "lng": 117.229083, + "alt": 2554.4, + "heading": 359.2, + "pitch": -83.1 + }, + "popup": "名称:{NAME}
层数:{floor}" + }, + { + "pid": 3070, + "name": "教育设施点", + "type": "wfs", + "url": "//server.mars3d.cn/geoserver/mars/ows", + "layer": "mars:hfjy", + "parameters": { "maxFeatures": 500 }, + "minimumLevel": 13, + "symbol": { + "type": "billboardP", + "styleOptions": { + "image": "//data.mars3d.cn/img/marker/mark-red.png", + "scaleByDistance": true, + "scaleByDistance_far": 20000, + "scaleByDistance_farValue": 0.6, + "scaleByDistance_near": 1000, + "scaleByDistance_nearValue": 1, + "clampToGround": true, + "label": { + "text": "{项目名称}", + "font_size": 15, + "color": "#ffffff", + "outline": true, + "outlineColor": "#000000", + "pixelOffsetY": -30, + "distanceDisplayCondition": true, + "distanceDisplayCondition_far": 2000, + "distanceDisplayCondition_near": 0 + } + } + }, + "center": { + "lat": 31.812256, + "lng": 117.229873, + "alt": 4683.91, + "heading": 357.4, + "pitch": -65.4 + }, + "popup": "all" + }, + { "id": 3010, "pid": 30, "name": "ArcGIS WFS", "type": "group" }, + { + "pid": 3010, + "type": "arcgis_wfs", + "name": "兴趣点", + "url": "//server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/1", + "where": " 1=1 ", + "minimumLevel": 15, + "center": { + "lat": 31.818396, + "lng": 117.229083, + "alt": 2554.4, + "heading": 359.2, + "pitch": -83.1 + }, + "symbol": { + "type": "billboardP", + "styleOptions": { + "image": "//data.mars3d.cn/img/marker/mark-blue.png", + "scaleByDistance": true, + "scaleByDistance_far": 20000, + "scaleByDistance_farValue": 0.6, + "scaleByDistance_near": 1000, + "scaleByDistance_nearValue": 1, + "clampToGround": true, + "label": { + "text": "{NAME}", + "font_size": 15, + "color": "#ffffff", + "outline": true, + "outlineColor": "#000000", + "pixelOffsetY": -30, + "distanceDisplayCondition": true, + "distanceDisplayCondition_far": 3000, + "distanceDisplayCondition_near": 0 + } + }, + "styleField": "address", + "styleFieldOptions": { + "AB03": { + "image": "//data.mars3d.cn/img/marker/mark-red.png" + }, + "A980": { + "image": "//data.mars3d.cn/img/marker/mark-blue.png" + }, + "A900": { + "image": "//data.mars3d.cn/img/marker/mark-green.png" + } + } + }, + "popup": "名称:{NAME}
地址:{address}", + "show": false + }, + { + "pid": 3010, + "type": "arcgis_wfs", + "name": "道路", + "url": "//server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/28", + "minimumLevel": 14, + "symbol": { + "type": "polylineP", + "styleOptions": { + "color": "#3388ff", + "width": 3, + "clampToGround": true + }, + "styleField": "NAME", + "styleFieldOptions": { + "祁门路": { "color": "#8744c0", "width": 3 }, + "东流路": { "color": "#f7ba2a", "width": 3 }, + "翡翠路": { "color": "#20a0ff", "width": 3 }, + "岳西路": { "color": "#50bfff", "width": 3 } + } + }, + "popup": "名称:{NAME}", + "center": { + "lat": 31.814176, + "lng": 117.225362, + "alt": 5105.3, + "heading": 359.2, + "pitch": -83.1 + } + }, + { + "pid": 3010, + "type": "arcgis_wfs", + "name": "建筑物面", + "url": "//server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/37", + "minimumLevel": 15, + "symbol": { + "styleOptions": { + "color": "#0d3685", + "outlineColor": "#0d3685", + "opacity": 0.8 + } + }, + "buildings": { "cloumn": "floor" }, + "debuggerTileInfo": false, + "center": { + "lat": 31.816951, + "lng": 117.22898, + "alt": 1916.7, + "heading": 0.3, + "pitch": -78.8 + }, + "popup": "名称:{NAME}
层数:{floor}" + }, + { "id": 3060, "pid": 30, "name": "CZML数据", "type": "group" }, + { + "id": 306010, + "pid": 3060, + "type": "czml", + "name": "汽车", + "url": "{dataServer}/file/czml/car.czml", + "center": { + "lat": 40.894745, + "lng": 121.920252, + "alt": 904, + "heading": 64, + "pitch": -67 + }, + "onWidget": "control-clock", + "radio": true, + "flyTo": true + }, + { + "id": 306011, + "pid": 3060, + "type": "czml", + "name": "卫星轨道", + "url": "{dataServer}/file/czml/satellite-simple.czml", + "popup": "all", + "onWidget": "control-clock", + "radio": true, + "flyTo": true + }, + { "id": 3050, "pid": 30, "name": "KML数据", "type": "group" }, + { + "pid": 3050, + "type": "kml", + "name": "海上安全警告", + "url": "{dataServer}/file/kml/NAVWARN.kmz", + "popup": "all" + }, + { + "pid": 3050, + "type": "kml", + "name": "国境线", + "url": "{dataServer}/file/kml/countryboundary.kml", + "symbol": { "styleOptions": { "color": "#FED976", "width": 2 } } + }, + { + "pid": 3050, + "type": "kml", + "name": "省界线", + "url": "{dataServer}/file/kml/province.kml", + "symbol": { "styleOptions": { "color": "#00FF00", "width": 2 } } + }, + { "id": 20, "name": "三维模型", "type": "group" }, + { "id": 2010, "pid": 20, "name": "gltf模型", "type": "group" }, + { + "pid": 2010, + "type": "graphic", + "name": "风力发电机", + "data": [ + { + "type": "modelP", + "position": [117.219071, 31.828783, 39.87], + "style": { + "url": "//data.mars3d.cn/gltf/mars/fengche.gltf", + "scale": 50, + "heading": -93 + } + } + ], + "popup": "示例信息,这是一个风力发电机", + "center": { + "lat": 31.821083, + "lng": 117.21832, + "alt": 832.64, + "heading": 2.3, + "pitch": -39.2 + } + }, + { + "pid": 2010, + "type": "graphic", + "name": "警车", + "data": [ + { + "type": "modelP", + "position": [117.217458, 31.815349, 35.03], + "style": { + "url": "//data.mars3d.cn/gltf/mars/jingche/jingche.gltf", + "scale": 2, + "heading": -95, + "clampToGround": true + } + } + ], + "center": { + "lat": 31.815363, + "lng": 117.215958, + "alt": 107.35, + "heading": 90.7, + "pitch": -26.1 + } + }, + { "id": 2040, "pid": 20, "name": "城市白模", "type": "group" }, + { + "id": 204011, + "pid": 2040, + "type": "3dtiles", + "name": "合肥市区", + "url": "{dataServer}/3dtiles/jzw-hefei/tileset.json", + "maximumScreenSpaceError": 1, + "maximumMemoryUsage": 1024, + "marsJzwStyle": true, + "highlight": { "type": "click", "color": "#FFFF00" }, + "popup": [ + { "field": "objectid", "name": "编号" }, + { "field": "name", "name": "名称" }, + { "field": "height", "name": "楼高", "unit": "米" } + ], + "center": { + "lat": 31.786281, + "lng": 117.223716, + "alt": 3718, + "heading": 2, + "pitch": -45 + } + }, + { + "id": 204012, + "pid": 2040, + "type": "3dtiles", + "name": "上海市区", + "url": "{dataServer}/3dtiles/jzw-shanghai/tileset.json", + "maximumScreenSpaceError": 4, + "maximumMemoryUsage": 1024, + "style": { + "color": { + "conditions": [ + ["${floor} >= 200", "rgba(45, 0, 75, 0.5)"], + ["${floor} >= 100", "rgb(170, 162, 204)"], + ["${floor} >= 50", "rgb(224, 226, 238)"], + ["${floor} >= 25", "rgb(252, 230, 200)"], + ["${floor} >= 10", "rgb(248, 176, 87)"], + ["${floor} >= 5", "rgb(198, 106, 11)"], + ["true", "rgb(127, 59, 8)"] + ] + } + }, + "highlight": { "type": "click", "color": "#FFFF00" }, + "popup": [ + { "field": "name", "name": "名称" }, + { "field": "floor", "name": "楼层" } + ], + "center": { + "lat": 31.257341, + "lng": 121.466139, + "alt": 2170.8, + "heading": 122.2, + "pitch": -31.8 + } + }, + + { "id": 2050, "pid": 20, "name": "点云", "type": "group" }, + { + "id": 202016, + "pid": 2050, + "type": "3dtiles", + "name": "高压线塔杆", + "url": "//data.mars3d.cn/3dtiles/pnts-ganta/tileset.json", + "maximumScreenSpaceError": 1, + "position": { "alt": 31 }, + "style": { + "color": { + "conditions": [ + [ + "(${Classification} >= 4) && (${Classification} < 5) ", + "color('#DC143C')" + ], + [ + "(${Classification} >= 7) && (${Classification} < 8) ", + "color('#7B68EE')" + ], + [ + "(${Classification} >= 16) && (${Classification} < 17) ", + "color('#00CED1')" + ], + [ + "(${Classification} >= 17) && (${Classification} < 18) ", + "color('#3CB371')" + ], + [ + "(${Classification} >= 18) && (${Classification} < 19) ", + "color('#FFFF00')" + ], + [ + "(${Classification} >= 19) && (${Classification} < 20) ", + "color('#FFA500')" + ], + [ + "(${Classification} >= 20) && (${Classification} < 21) ", + "color('#FF6347')" + ] + ] + } + }, + "hasOpacity": false, + "center": { + "lat": 31.504746, + "lng": 118.264278, + "alt": 580, + "heading": 29, + "pitch": -49 + } + }, + { "id": 2060, "pid": 20, "name": "BIM模型", "type": "group" }, + { + "id": 20601121, + "pid": 2060, + "type": "3dtiles", + "name": "大学教学楼", + "url": "{dataServer}/3dtiles/bim-daxue/tileset.json", + "position": { "lng": 117.251229, "lat": 31.844015, "alt": 31.2 }, + "highlight": { "type": "click", "color": "#FFFF00" }, + "popup": "all", + "scenetree": "scenetree.json", + "center": { + "lat": 31.842516, + "lng": 117.25107, + "alt": 145, + "heading": 8, + "pitch": -39 + } + }, + { + "pid": 2060, + "type": "3dtiles", + "name": "轻轨地铁站", + "url": "{dataServer}/3dtiles/bim-ditiezhan/tileset.json", + "position": { "lng": 117.203994, "lat": 31.857999, "alt": 28.9 }, + "rotation": { "z": 168.1 }, + "highlight": { "type": "click", "color": "#00FF00" }, + "popup": "all", + "scenetree": "scenetree.json", + "center": { + "lat": 31.856125, + "lng": 117.204513, + "alt": 155, + "heading": 350, + "pitch": -31 + } + }, + { + "id": 206012, + "pid": 2060, + "type": "3dtiles", + "name": "桥梁", + "url": "{dataServer}/3dtiles/bim-qiaoliang/tileset.json", + "position": { "lng": 117.096906, "lat": 31.851564, "alt": 45 }, + "rotation": { "z": 17.5 }, + "maximumScreenSpaceError": 16, + "maximumMemoryUsage": 1024, + "skipLevelOfDetail": true, + "loadSiblings": true, + "cullRequestsWhileMoving": true, + "cullRequestsWhileMovingMultiplier": 10, + "preferLeaves": true, + "progressiveResolutionHeightFraction": 0.5, + "dynamicScreenSpaceError": true, + "preloadWhenHidden": true, + "center": { + "lat": 31.849357, + "lng": 117.099194, + "alt": 306.2, + "heading": 327.1, + "pitch": -30.9 + }, + "scenetree": "scenetree.json", + "highlight": { "type": "click", "color": "#00FF00" }, + "popup": "all" + }, + { "id": 2020, "pid": 20, "name": "人工建模", "type": "group" }, + { + "id": 202013, + "pid": 2020, + "type": "3dtiles", + "name": "地下管网", + "url": "{dataServer}/3dtiles/max-piping/tileset.json", + "position": { "lng": 117.215457, "lat": 31.843363, "alt": -3.6 }, + "rotation": { "z": 336.7 }, + "maximumScreenSpaceError": 2, + "maximumMemoryUsage": 1024, + "highlight": { "type": "click", "color": "#00FF00" }, + "popup": "all", + "center": { + "lat": 31.838821, + "lng": 117.216402, + "alt": 461, + "heading": 0, + "pitch": -46 + }, + "msg": "演示数据,地下数据拖动时会在地面漂移" + }, + { + "id": 202012, + "pid": 2020, + "type": "3dtiles", + "name": "石化工厂", + "url": "{dataServer}/3dtiles/max-shihua/tileset.json", + "position": { "lng": 117.077158, "lat": 31.659116, "alt": 24.6 }, + "maximumScreenSpaceError": 1, + "maximumMemoryUsage": 1024, + "highlight": { "type": "click", "color": "#00FF00" }, + "popup": "all", + "scenetree": "scenetree.json", + "center": { + "lat": 31.654916, + "lng": 117.08278, + "alt": 279, + "heading": 316, + "pitch": -29 + } + }, + { + "id": 202030, + "pid": 2020, + "name": "水利闸门", + "type": "group", + "center": { + "lat": 29.794301, + "lng": 121.47998, + "alt": 262, + "heading": 191, + "pitch": -35 + } + }, + { + "pid": 202030, + "name": "闸门", + "type": "graphic", + "data": [ + { + "type": "modelP", + "position": [121.479813, 29.791278, 16], + "style": { + "url": "//data.mars3d.cn/gltf/mars/zhamen.glb", + "heading": 105 + } + } + ], + "center": { + "lat": 29.791607, + "lng": 121.479925, + "alt": 27, + "heading": 198, + "pitch": -18 + } + }, + { + "id": 202011, + "pid": 202030, + "type": "3dtiles", + "name": "整体", + "url": "{dataServer}/3dtiles/max-fsdzm/tileset.json", + "position": { "alt": 15.2 }, + "maximumScreenSpaceError": 1, + "maximumMemoryUsage": 1024, + "center": { + "lat": 29.792675, + "lng": 121.480207, + "alt": 190.8, + "heading": 196.1, + "pitch": -49 + } + }, + { "id": 2030, "pid": 20, "name": "倾斜摄影", "type": "group" }, + { + "id": 203014, + "pid": 2030, + "type": "3dtiles", + "name": "县城社区", + "url": "{dataServer}/3dtiles/qx-shequ/tileset.json", + "position": { "alt": 11.5 }, + "maximumScreenSpaceError": 2, + "maximumMemoryUsage": 2048, + "dynamicScreenSpaceError": true, + "cullWithChildrenBounds": false, + "center": { + "lat": 28.440864, + "lng": 119.486477, + "alt": 588.23, + "heading": 268.6, + "pitch": -37.8 + }, + "show": false, + "flyTo": false + }, + { + "id": 203015, + "pid": 2030, + "name": "合肥天鹅湖", + "type": "3dtiles", + "url": "{dataServer}/3dtiles/qx-teh/tileset.json", + "position": { "lng": 117.218434, "lat": 31.81807, "alt": 163 }, + "maximumScreenSpaceError": 16, + "maximumMemoryUsage": 1024, + "dynamicScreenSpaceError": true, + "cullWithChildrenBounds": false, + "skipLevelOfDetail": true, + "preferLeaves": true, + "center": { + "lat": 31.795308, + "lng": 117.21948, + "alt": 1820, + "heading": 0, + "pitch": -39 + } + }, + { + "pid": 2030, + "type": "3dtiles", + "name": "大雁塔", + "url": "{dataServer}/3dtiles/qx-dyt/tileset.json", + "position": { "alt": -27 }, + "maximumScreenSpaceError": 1, + "maximumMemoryUsage": 1024, + "center": { + "lat": 34.215516, + "lng": 108.960251, + "alt": 834, + "heading": 4, + "pitch": -48 + }, + "flat": { + "enabled": true, + "flatHeight": 420 + }, + "flyTo": false, + "show": false + }, + { + "id": 203013, + "pid": 2030, + "type": "geojson", + "name": "文庙-单体化", + "url": " {dataServer}/file/geojson/dth-wm.json", + "symbol": { + "type": "polygonP", + "styleOptions": { + "color": "rgba(255, 255, 255, 0.01)", + "clampToGround": true, + "classification": true, + "buffer": 1, + "highlight": { + "color": "rgba(255,255,0,0.5)" + } + } + }, + "popup": [ + { "field": "name", "name": "房屋名称" }, + { "field": "jznf", "name": "建造年份" }, + { "field": "ssdw", "name": "所属单位" }, + { "field": "remark", "name": "备注信息" } + ] + }, + { + "id": 203012, + "pid": 2030, + "type": "3dtiles", + "name": "文庙", + "url": "{dataServer}/3dtiles/qx-simiao/tileset.json", + "position": { "alt": 80.6 }, + "maximumScreenSpaceError": 2, + "maximumMemoryUsage": 2048, + "dynamicScreenSpaceError": true, + "cullWithChildrenBounds": false, + "skipLevelOfDetail": true, + "preferLeaves": true, + "center": { + "lat": 33.589536, + "lng": 119.032216, + "alt": 145.08, + "heading": 3.1, + "pitch": -22.9 + } + }, + { "id": 99, "name": "数据图层", "type": "group" } + ] +} diff --git a/src/main/resources/static/js/synthesisQuery/digitalSignage-new.js b/src/main/resources/static/js/synthesisQuery/digitalSignage-new.js new file mode 100644 index 0000000..40f27f5 --- /dev/null +++ b/src/main/resources/static/js/synthesisQuery/digitalSignage-new.js @@ -0,0 +1,1377 @@ +let map = null; // 地图实例 +let treeData = []; // 组织机构树数据 +let nodeId = ""; // 当前选中的节点ID +let cablewayList = []; // 索道列表 +let towerList = []; // 塔列表 +let crossingList = []; // 跨越列表 +let crossingListNew = []; // 跨越列表 +let highwayList = []; // 公路列表 +let aThousandFieldsList = []; // 千张场地 +let intLng = 116.254; // 初始经度 +let intLat = 39.965; // 初始纬度 +let isMap = true; // 是否是地图模式 +let projectOverview = ""; // 工程概况 +let projectTitle = ""; // 项目名称 +let centerTitle = ""; // 中间标题 +// 图例数据 +const legendData = [ + { + name: "协调完成", + value: 0, + // icon: "../../img/digitalSignage/icon_three.png", + icon: "../../img/digitalSignage/icon_three_new.png", + }, + { + name: "基础开挖", + value: 0, + // icon: "../../img/digitalSignage/icon_two.png", + icon: "../../img/digitalSignage/icon_two_new.png", + }, + { + name: "基础开挖完成", + value: 0, + // icon: "../../img/digitalSignage/icon_five.png", + icon: "../../img/digitalSignage/icon_five_new.png", + }, + { + name: "基础浇筑", + value: 0, + // icon: "../../img/digitalSignage/icon_seven.png", + icon: "../../img/digitalSignage/icon_seven_new.png", + }, + { + name: "基础浇筑完成", + value: 0, + // icon: "../../img/digitalSignage/icon_four.png", + icon: "../../img/digitalSignage/icon_four_new.png", + }, + { + name: "铁塔组立", + value: 0, + // icon: "../../img/digitalSignage/icon_six.png", + icon: "../../img/digitalSignage/zt_orange.png", + }, + { + name: "铁塔组立完成", + value: 0, + icon: "../../img/digitalSignage/zt_red.png", + }, + { + name: "架线施工", + value: 0, + icon: "../../img/digitalSignage/line_y.png", + }, + // { + // name: "架线施工完成", + // value: 0, + // icon: "../../img/digitalSignage/zt_purple.png", + // }, + { + name: "架线施工完成", + value: 0, + icon: "../../img/digitalSignage/line_r.png", + }, + { + name: "附件安装完成", + value: 0, + icon: "../../img/digitalSignage/zt_green.png", + }, + { + name: "未 开 始", + value: 0, + icon: "../../img/digitalSignage/icon_one_new.png", + }, + { + name: "索道运输", + value: 0, + icon: "../../img/digitalSignage/sd.png", + }, + // { + // name: "项 目 部", + // value: 0, + // icon: "../../img/digitalSignage/project.png", + // }, +]; + +// 地图配置项 +const config = { + polyline: { + strokeWeight: 3, // 线条宽度 + strokeOpacity: 0.9, // 透明度 + strokeStyle: "dashed", // solid(实线)或dashed(虚线) + enableEditing: false, // 是否可编辑 + enableClicking: true, // 是否可点击 + }, +}; + +// 获取位置信息 +function getLocationInfo(id) { + const params = { + encryptedData: encryptCBC(JSON.stringify({ id })), + }; + ajaxRequest( + dataUrl + "/backstage/digitalSignage/getTowersInfo", + "POST", + params, + true, + function () {}, + function (result) { + console.log(result, "获取位置信息---"); + const { data } = result; + + crossingList = []; + crossingListNew = []; + cablewayList = []; + towerList = []; + + if (data.cablewaTransVos.length > 0) { + cablewayList = data.cablewaTransVos; + } else { + cablewayList = []; + } + if (data.towerInfoVos.length > 0) { + towerList = data.towerInfoVos; + } else { + towerList = []; + } + if (data.spanInfoVos.length > 0) { + crossingList = data.spanInfoVos; + } else { + crossingList = []; + crossingListNew = []; + } + + if (data.highwayList.length > 0) { + highwayList = data.highwayList; + } else { + highwayList = []; + } + + if (data.aThousandFieldsList.length > 0) { + aThousandFieldsList = data.aThousandFieldsList; + } else { + aThousandFieldsList = []; + } + + // 处理一下交叉信息 + if (crossingList && crossingList.length > 0) { + crossingList.forEach((item) => { + if (item.lonAndLat && item.lonAndLat.indexOf(",") > -1) { + const lonAndLatList = item.lonAndLat.split(","); + lonAndLatList.forEach((lonAndLat, index) => { + const lonAndLatItem = lonAndLat.split("@"); + crossingListNew.push({ + baiduLon: lonAndLatItem[0], + baiduLat: lonAndLatItem[1], + ...item, + }); + }); + } + }); + } + initMap(); + }, + function (xhr) { + error(xhr); + } + ); +} + +// 百度地图初始化 +function initMap() { + if (map) { + map.destroy(); + map = null; + } + if (!mars3d.Util.webglreport()) { + mars3d.Util.webglerror(); + } + let configUrl = "../../js/synthesisQuery/config/config.json"; + mars3d.Util.fetchJson({ url: configUrl }) + .then((data) => { + map = new mars3d.Map("map-box", data); + let graphicLayer = new mars3d.layer.GraphicLayer(); + map.addLayer(graphicLayer); + + addAllMapPoints(graphicLayer); + addMapLine(graphicLayer); + addMapAThousandFields(graphicLayer); + }) + .catch(function (error) { + console.log("加载JSON出错", error); + haoutil.alert(error?.message, "出错了"); + }); +} + +function addDemoGraphic3(graphicLayer, item, index, img, type) { + const isEven = index % 2 === 0; + const verticalOrigin = isEven + ? Cesium.VerticalOrigin.BOTTOM + : Cesium.VerticalOrigin.TOP; + const pixelOffsetY = isEven ? 40 : -40; + + const billboard = new mars3d.graphic.BillboardEntity({ + position: [item.baiduLon, item.baiduLat], + style: { + image: img, + width: 20, + height: 20, + clampToGround: true, + // 添加Label + label: { + text: item.towerName, + font_size: 12, + color: "#FFFFFF", + background: true, + backgroundColor: "#000000", + backgroundOpacity: 0.8, + pixelOffset: new Cesium.Cartesian2(0, pixelOffsetY), + verticalOrigin: verticalOrigin, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + outline: true, + outlineColor: "#000000", + outlineWidth: 2, + }, + }, + // 其他属性 + attr: { + id: index, + name: item.towerName, + }, + }); + + // 添加点击事件 + billboard.on(mars3d.EventType.click, function (event) { + // console.log("点击了标点", event.graphic.attr); + + if (type == 1) { + // 索道 + } else { + // 杆塔 + } + }); + + graphicLayer.addGraphic(billboard); +} + +function connectPointsWithLine(graphicLayer, points) { + // 提取所有点的坐标数组 + const positions = points.map((item) => [item.baiduLon, item.baiduLat]); + + // 创建连线 + const polyline = new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: 2, // 线宽(像素) + color: "#FF0000", // 线颜色 + clampToGround: true, // 是否贴地(山区建议设为true) + }, + attr: { name: "高压线路" }, + }); + graphicLayer.addGraphic(polyline); +} + +// 添加标点 +function addAllMapPoints(graphicLayer) { + const iconTypeList = { + // 1: "../../img/digitalSignage/icon_three.png", + 1: "../../img/digitalSignage/icon_three_new.png", + // 2: "../../img/digitalSignage/icon_two.png", + 2: "../../img/digitalSignage/icon_two_new.png", + // 3: "../../img/digitalSignage/icon_five.png", + 3: "../../img/digitalSignage/icon_five_new.png", + // 4: "../../img/digitalSignage/icon_seven.png", + // 4: "../../img/digitalSignage/icon_purple.png", + 4: "../../img/digitalSignage/icon_seven_new.png", + // 5: "../../img/digitalSignage/icon_four.png", + 5: "../../img/digitalSignage/icon_four_new.png", + // 6: "../../img/digitalSignage/icon_six.png", + 6: "../../img/digitalSignage/zt_orange.png", + 7: "../../img/digitalSignage/zt_red.png", + 8: "../../img/digitalSignage/zt_red.png", // 新增的工序 + 9: "../../img/digitalSignage/zt_red.png", + 10: "../../img/digitalSignage/zt_green.png", + // 0: "../../img/digitalSignage/icon_one.png", + 0: "../../img/digitalSignage/icon_one_new.png", + 12: "../../img/digitalSignage/sd.png", + 20: "../../img/digitalSignage/project.png", + // 21: "../../img/digitalSignage/zt_white.png", + 21: "../../img/digitalSignage/zt_gary.png", + }; + + // 绘制索道标点 + if (cablewayList && cablewayList.length > 0) { + cablewayList.forEach((pointData, index) => { + if ( + pointData.cablewaTransPointVoList && + pointData.cablewaTransPointVoList.length > 0 + ) { + const billboard = new mars3d.graphic.BillboardEntity({ + position: [ + pointData.cablewaTransPointVoList[0].lng, + pointData.cablewaTransPointVoList[0].lat, + ], + style: { + image: iconTypeList[12], + width: 20, + height: 20, + clampToGround: true, + }, + }); + + // 添加点击事件 + billboard.on(mars3d.EventType.click, function (event) { + // console.log("点击了标点", event.graphic.attr); + const graphic = event.graphic; + const infoContent = ` +
+

+ 索道运输 +

+
+ 索道位置 + ${pointData.towerName} +
+
+ 索道长度 + ${pointData.cablewayLength} KM +
+
+ 最大载重 + ${pointData.maxHeight} kg +
+
+ 安全距离 + ${pointData.safetyDistance} m +
+
+ 最大坡度 + ${pointData.maxSlope} ° +
+
+ 索道宽度 + ${pointData.cablewayWidth} m +
+
`; + // 创建自定义信息窗体 + graphicLayer.bindPopup(infoContent, { + position: graphic.position, + }); + }); + + graphicLayer.addGraphic(billboard); + } + }); + } + + // 绘制项目部 + if (intLng && intLat) { + const billboard = new mars3d.graphic.BillboardEntity({ + position: [intLng, intLat], + style: { + image: iconTypeList[20], + width: 20, + height: 20, + clampToGround: true, + }, + }); + + // 添加点击事件 + billboard.on(mars3d.EventType.click, function (event) { + // console.log("点击了标点", event.graphic.attr); + const graphic = event.graphic; + const infoContent = ` +
+

+ ${projectTitle} +

+
`; + // 创建自定义信息窗体 + graphicLayer.bindPopup(infoContent, { + position: graphic.position, + }); + }); + + graphicLayer.addGraphic(billboard); + } + + // 绘制杆塔 + if (towerList && towerList.length > 0) { + towerList.forEach((pointData, index) => { + const isEven = index % 2 === 0; + const verticalOrigin = isEven + ? Cesium.VerticalOrigin.BOTTOM + : Cesium.VerticalOrigin.TOP; + const pixelOffsetY = isEven ? 40 : -40; + + const iconUrl = iconTypeList[parseInt(pointData.towerProgress)]; + const billboard = new mars3d.graphic.BillboardEntity({ + position: [pointData.baiduLon, pointData.baiduLat], + style: { + image: iconUrl, + width: 20, + height: 20, + clampToGround: true, + // 添加Label + label: { + text: pointData.towerName, + font_size: 10, + color: "#FFFFFF", + background: true, + backgroundColor: "#000000", + backgroundOpacity: 1.0, + pixelOffset: new Cesium.Cartesian2(0, pixelOffsetY), + verticalOrigin: verticalOrigin, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + outline: true, + outlineColor: "#FFFFFF", + outlineWidth: 1, + }, + }, + // 其他属性 + attr: { + id: index, + name: pointData.towerName, + }, + }); + + // 添加点击事件 + billboard.on(mars3d.EventType.click, function (event) { + // console.log("点击了标点", event.graphic.attr); + const graphic = event.graphic; + let infoContent = ` +
+

${pointData.towerName}

+
+ 协调完成 + ${pointData.time1 || "/"} +
+
+ 基础开挖 + ${pointData.time2 || "/"} +
+
+ 基础开挖完成 + ${pointData.time3 || "/"} +
+
+ 基础浇筑 + ${pointData.time4 || "/"} +
+
+ 基础浇筑完成 + ${pointData.time5 || "/"} +
+
+ 铁塔组立 + ${pointData.time6 || "/"} +
+
+ 铁塔组立完成 + ${pointData.time7 || "/"} +
+
+ 架线施工 + ${pointData.time8 || "/"} +
+
+ 架线施工完成 + ${pointData.time9 || "/"} +
+
+ 附件安装完成 + ${pointData.time10 || "/"} +
+
`; + // 创建自定义信息窗体 + graphicLayer.bindPopup(infoContent, { + position: graphic.position, + }); + }); + + graphicLayer.addGraphic(billboard); + }); + } + + // 绘制交叉跨越 + if (crossingListNew.length > 0) { + crossingListNew.forEach((pointData, index) => { + const billboard = new mars3d.graphic.BillboardEntity({ + position: [pointData.baiduLon, pointData.baiduLat], + style: { + image: iconTypeList[21], + width: 20, + height: 20, + clampToGround: true, + }, + }); + + // 添加点击事件 + billboard.on(mars3d.EventType.click, function (event) { + // console.log("点击了标点", event.graphic.attr); + + console.log(event, "pointData点击了----"); + const graphic = event.graphic; + const infoContent = ` +
+
+

+ ${pointData.towerInfoVo.towerName} +

+
+ 协调完成 + ${ + pointData.towerInfoVo.time1 || "/" + } +
+
+ 基础开挖 + + ${pointData.towerInfoVo.time2 || "/"} + +
+
+ 基础开挖完成 + + ${pointData.towerInfoVo.time3 || "/"} + +
+
+ 基础浇筑 + + ${pointData.towerInfoVo.time4 || "/"} + +
+
+ 基础浇筑完成 + + ${pointData.towerInfoVo.time5 || "/"} + +
+
+ 铁塔组立 + + ${pointData.towerInfoVo.time6 || "/"} + +
+
+ 铁塔组立完成 + + ${pointData.towerInfoVo.time7 || "/"} + +
+
+ 架线施工 + + ${pointData.towerInfoVo.time8 || "/"} + +
+
+ 架线施工完成 + + ${pointData.towerInfoVo.time9 || "/"} + +
+
+ 附件安装完成 + + ${pointData.towerInfoVo.time10 || "/"} + +
+
+
+

+ 交叉跨越信息 ( ${pointData.spanTowerName} ) +

+
+ 上层线路 + ${pointData.upperLine} +
+
+ 下层线路 + ${pointData.lowerLine} +
+
+ 交叉角度 + ${pointData.intersectionAngle} ° +
+
+ 垂直距离 + ${pointData.verticalDistance} m +
+
+ 安全裕度 + ${pointData.safetyMargin} ° +
+
+
`; + // 创建自定义信息窗体 + graphicLayer.bindPopup(infoContent, { + position: graphic.position, + }); + }); + + graphicLayer.addGraphic(billboard); + }); + } +} + +// 连线 +function connectPointsWithLine(graphicLayer, points) { + // 提取所有点的坐标数组 + const positions = points.map((item) => [item.lng, item.lat]); + // 创建连线 + const polyline = new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: 2, // 线宽(像素) + color: "#FF0000", // 线颜色 + clampToGround: true, // 是否贴地(山区建议设为true) + }, + attr: { name: "高压线路" }, + }); + graphicLayer.addGraphic(polyline); +} + +function clearAllOverlays() { + map.clearOverlays(); + // 清除可能遗留的自定义覆盖物 + const customOverlays = document.querySelectorAll(".BMap_customOverlay"); + customOverlays.forEach((overlay) => overlay.remove()); +} + +function calculateBounds(points) { + console.log(points, "points999"); + var lngs = points.map((p) => p.lng); + var lats = points.map((p) => p.lat); + var minLng = Math.min(...lngs); + var maxLng = Math.max(...lngs); + var minLat = Math.min(...lats); + var maxLat = Math.max(...lats); + return new BMapGL.Bounds( + new BMapGL.Point(minLng, minLat), + new BMapGL.Point(maxLng, maxLat) + ); +} + +// 添加标点折线(智能绘制虚实线) +function addMapLine(graphicLayer) { + // 存储所有线段 + const segments = []; + // 绘制杆塔线 + if (towerList.length > 0) { + for (let i = 0; i < towerList.length - 1; i++) { + const startPoint = towerList[i]; + const endPoint = towerList[i + 1]; + + let lineColor = ""; + let lineMaterial = null; // 用于存储线材质 + + // 判断条件部分保持不变 + if ( + startPoint.towerProgress === 8 && + endPoint.towerProgress === 8 + ) { + lineColor = "#FFFF00"; + lineMaterial = new Cesium.ColorMaterialProperty({ + // 实线 + color: Cesium.Color.fromCssColorString(lineColor), + }); + } else if ( + endPoint.existSpan === 1 && + startPoint.existSpan === 1 && + startPoint.towerProgress != 9 && + endPoint.towerProgress != 9 && + startPoint.towerProgress != 8 && + endPoint.towerProgress != 8 && + startPoint.towerProgress != 10 && + endPoint.towerProgress != 10 + ) { + lineColor = "#d81e06"; + lineMaterial = new Cesium.PolylineDashMaterialProperty({ + // 虚线 + color: Cesium.Color.fromCssColorString(lineColor), + dashLength: 16.0, // 可调整虚线长度 + }); + } else if ( + (startPoint.towerProgress === 9 && + endPoint.towerProgress === 9) || + (startPoint.towerProgress === 10 && + endPoint.towerProgress === 10) + ) { + lineColor = "#d81e06"; + lineMaterial = new Cesium.ColorMaterialProperty({ + // 实线 + color: Cesium.Color.fromCssColorString(lineColor), + }); + } else { + lineColor = "#fff"; + lineMaterial = new Cesium.PolylineDashMaterialProperty({ + // 虚线 + color: Cesium.Color.fromCssColorString(lineColor), + dashLength: 16.0, // 可调整虚线长度 + }); + } + + // 创建线段点数组 + const positions = [ + [startPoint.baiduLon, startPoint.baiduLat], + [endPoint.baiduLon, endPoint.baiduLat], + ]; + + const polyline = new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: 2, // 线宽(像素) + material: lineMaterial, // 使用动态设置的材质 + clampToGround: true, // 是否贴地(山区建议设为true) + }, + }); + graphicLayer.addGraphic(polyline); + } + } + + // 绘制交叉线路 + if (crossingListNew.length > 0) { + for (let i = 0; i < crossingListNew.length - 1; i++) { + const startPoint = crossingListNew[i]; + const endPoint = crossingListNew[i + 1]; + + // 创建线段点数组 + const positions = [ + [startPoint.baiduLon, startPoint.baiduLat], + [endPoint.baiduLon, endPoint.baiduLat], + ]; + + const polyline = new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: 2, // 线宽(像素) + color: "#800080", // 线颜色 + clampToGround: true, // 是否贴地(山区建议设为true) + }, + }); + graphicLayer.addGraphic(polyline); + } + } + + // 绘制索道线 + if (cablewayList.length > 0) { + cablewayList.forEach((pointData) => { + if ( + pointData.cablewaTransPointVoList && + pointData.cablewaTransPointVoList.length > 0 + ) { + for ( + let j = 0; + j < pointData.cablewaTransPointVoList.length - 1; + j++ + ) { + const startPoint = pointData.cablewaTransPointVoList[j]; + const endPoint = pointData.cablewaTransPointVoList[j + 1]; + + // 创建线段点数组 + const positions = [ + [startPoint.lng, startPoint.lat], + [endPoint.lng, endPoint.lat], + ]; + + const polyline = new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: 2, // 线宽(像素) + color: "#262fc9", // 线颜色 + clampToGround: true, // 是否贴地(山区建议设为true) + }, + }); + graphicLayer.addGraphic(polyline); + } + } + }); + } + + // 绘制公路线 + if (highwayList.length > 0) { + for (let i = 0; i < highwayList.length; i++) { + if (highwayList[i].cablewaTransPointVoList.length > 0) { + for ( + let j = 0; + j < highwayList[i].cablewaTransPointVoList.length - 1; + j++ + ) { + const startPoint = + highwayList[i].cablewaTransPointVoList[j]; + const endPoint = + highwayList[i].cablewaTransPointVoList[j + 1]; + + // 创建线段点数组 + const positions = [ + [startPoint.lng, startPoint.lat], + [endPoint.lng, endPoint.lat], + ]; + + const polyline = new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: 2, // 线宽(像素) + color: "#FFFF00", // 线颜色 + clampToGround: true, // 是否贴地(山区建议设为true) + }, + }); + graphicLayer.addGraphic(polyline); + } + } + } + } + + // 将所有线段添加到地图 + segments.forEach((segment) => map.addOverlay(segment)); +} + +// 根据点类型获取线段颜色 +function getSegmentColor(startPoint, endPoint) { + // 如果两点类型相同,使用该类型对应颜色 + if (startPoint.type === endPoint.type) { + switch (startPoint.type) { + case 1: + return "#3388ff"; // 类型1蓝色 + case 2: + return "#ff9900"; // 类型2橙色 + case 3: + return "#33cc33"; // 类型3绿色 + default: + return config.polyline.strokeColor; + } + } + // 类型不同使用默认颜色 + return config.polyline.strokeColor; +} + +// 绘制千张场地区域图 +function addMapAThousandFields(graphicLayer) { + if (aThousandFieldsList.length > 0) { + aThousandFieldsList.forEach((item) => { + if ( + item.cablewaTransPointVoList && + item.cablewaTransPointVoList.length > 0 + ) { + let points = []; + // 根据sort字段排序 防止点位顺序不一致 + item.cablewaTransPointVoList.forEach((j) => { + points.push([j.lng, j.lat]); + }); + + if (points.length > 0) { + // // 2. 创建折线连接这些点位 + // var polyline = new BMapGL.Polyline(points, { + // strokeColor: "#0C14CA", // 线颜色 + // strokeWeight: 4, // 线宽 + // strokeOpacity: 0.8, // 线透明度 + // }); + // map.addOverlay(polyline); + + // // 绘制区域 + // var polygon = new BMapGL.Polygon(points, { + // strokeColor: "#00FFFF", // 线颜色 + // strokeWeight: 4, // 线宽 + // strokeOpacity: 0.8, // 线透明度 + // fillColor: "#00FFFF", // 填充颜色 + // fillOpacity: 0.3, // 填充透明度 + // }); + // // polygonView = polygon; + // map.addOverlay(polygon); + + const graphic = new mars3d.graphic.PolygonEntity({ + positions: points, + style: { + color: "#00FFFF", // 区域填充颜色 + opacity: 0.5, // 透明度(0-1) + outline: true, // 是否显示边框 + outlineWidth: 2, // 边框宽度(像素) + outlineColor: "#00FFFF", // 边框颜色 + }, + attr: { remark: "示例区域" }, + }); + graphicLayer.addGraphic(graphic); + } + } + }); + } +} +// 获取组织树数据 +function getOrgTreeData() { + ajaxRequest( + dataUrl + "/backstage/digitalSignage/getProTree", + "POST", + {}, + true, + function () {}, + function (result) { + console.log(result, "组织机构树数据获取成功---"); + + const { data } = result; + + // 判断是否有工程 有的话取第一个 + if (data && data.length > 0) { + setSpreadToNodes(data); + treeData = data; + // 获取第一个工程 + if ( + data[0].children && + data[0].children.length > 0 && + data[0].children[0].children && + data[0].children[0].children.length > 0 + ) { + nodeId = data[0].children[0].children[0].id; + + if ( + data[0].children[0].children[0].lon && + data[0].children[0].children[0].lat + ) { + intLng = data[0].children[0].children[0].lon; + intLat = data[0].children[0].children[0].lat; + projectTitle = data[0].children[0].children[0].title; + } + + if (treeData[0].children[0].children[0].title) { + projectTitle = + treeData[0].children[0].children[0].title; + $(".center-title-box").text(projectTitle + "作战图"); + } + + // getScrollData(nodeId); + $(".project-overview-content").text( + treeData[0].children[0].children[0].projectOverview || + "暂无" + ); + getLegendData(nodeId); + getLocationInfo(nodeId); + } else { + initMap(); + } + } + }, + function (xhr) { + error(xhr); + } + ); +} +getOrgTreeData(); +// 递归 +function setSpreadToNodes(nodes, spreadValue = true) { + if (!nodes || !Array.isArray(nodes)) return; + + nodes.forEach((node) => { + node.spread = spreadValue; + + if (node.children && node.children.length > 0) { + setSpreadToNodes(node.children, spreadValue); + } + }); +} +// 获取左上角滚动数据源 +function getScrollData(id) { + const scrollData = [ + { + name: "跨线路", + location: "N11-N12999", + content: [ + { + name: "垂直净度", + value: "9896", + }, + { + name: "垂直净度", + value: "9896", + }, + { + name: "垂直净度", + value: "9896", + }, + ], + }, + { + name: "跨越地点", + location: "N11-N12336", + content: [ + { + name: "垂直净度", + value: "9896", + }, + { + name: "垂直净度", + value: "9896", + }, + { + name: "垂直净度", + value: "9896", + }, + ], + }, + { + name: "跨越地点", + location: "N11-N128885", + content: [ + { + name: "垂直净度", + value: "9896", + }, + { + name: "垂直净度", + value: "9896", + }, + { + name: "垂直净度", + value: "9896", + }, + ], + }, + { + name: "跨越地点", + location: "N11-N128773", + content: [ + { + name: "垂直净度", + value: "9896", + }, + { + name: "垂直净度", + value: "9896", + }, + { + name: "垂直净度", + value: "9896", + }, + ], + }, + ]; + const params = { + encryptedData: encryptCBC(JSON.stringify({ id })), + }; + ajaxRequest( + dataUrl + "/backstage/digitalSignage/getThreeSpans", + "POST", + params, + true, + function () {}, + function (result) { + // console.log(result, "左上角滚动数据获取成功---"); + + const { data } = result; + + let scrollBox = $(".content-wrapper"); + let innerHtml = ""; + if (data && data.length > 0) { + data.forEach((item) => { + let describeHtml = ""; + if (item.spanType === "跨线路") { + describeHtml += ` + 上层线路:${item.upperLine || "/"} + 下层线路: ${item.lowerLine || "/"} + 交叉角度: ${item.intersectionAngle || "/"} + 垂直距离: ${item.verticalDistance || "/"} + 安全裕度: ${item.safetyMargin || "/"} + `; + } else if (item.spanType === "跨公路") { + describeHtml += ` + 垂直净距:${item.verticalClearDistance || "/"} m + 杆塔间距: ${item.towerSpacing || "/"} m + 公路宽度: ${item.highwayWidth || "/"} m + `; + } else if (item.spanType === "跨铁路") { + describeHtml += ` + 垂直净距:${item.verticalClearDistance || "/"} m + 杆塔间距: ${item.towerSpacing || "/"} m + 交叉角度: ${item.intersectionAngle || "/"} ° + `; + } else { + } + + // 单行数据 + innerHtml += ` +
+ ${item.spanType} + + + ${item.towerName} - ${item.nextTowerName} + + ${describeHtml} +
+ `; + }); + $(".scroll-box").show(); + scrollBox.html(innerHtml); + } else { + $(".scroll-box").hide(); + } + }, + function (xhr) { + error(xhr); + } + ); +} + +// 获取左下角图例数据源 +function getLegendData(id) { + const params = { + encryptedData: encryptCBC(JSON.stringify({ id })), + }; + + ajaxRequest( + dataUrl + "/backstage/digitalSignage/getTowerProgressNum", + "POST", + params, + true, + function () {}, + function (result) { + const { data } = result; + + if (data) { + Object.values(data).forEach((value, index) => { + legendData[index].value = value; + }); + } + + const legendBox = $(".legend-box"); + let innerHtml = ""; + legendData.forEach((item, index) => { + innerHtml += ` +
+ + ${item.name} + ${item.value} +
+ `; + }); + legendBox.html(innerHtml); + }, + function (xhr) { + error(xhr); + } + ); +} + +document.addEventListener("DOMContentLoaded", function () { + const scrollContent = document.getElementById("scrollContent"); + const originalContent = scrollContent.querySelector(".content-wrapper"); + const cloneContent = scrollContent.querySelector(".clone-content"); + + // 克隆原始内容到克隆容器 + cloneContent.innerHTML = originalContent.innerHTML; + + // 设置滚动动画 + let scrollPosition = 0; + const scrollSpeed = 20; // 滚动速度(像素/秒) + let lastTimestamp = 0; + + function animateScroll(timestamp) { + if (!lastTimestamp) lastTimestamp = timestamp; + const deltaTime = timestamp - lastTimestamp; + lastTimestamp = timestamp; + + // 计算新的滚动位置 + scrollPosition += (scrollSpeed * deltaTime) / 1000; + + // 获取内容总高度 + const contentHeight = originalContent.scrollHeight; + + // 当滚动到克隆内容的开始时,重置位置以实现无缝衔接 + if (scrollPosition >= contentHeight) { + scrollPosition = 0; + } + + // 应用滚动 + scrollContent.scrollTop = scrollPosition; + + // 继续动画 + requestAnimationFrame(animateScroll); + } + + // 启动动画 + requestAnimationFrame(animateScroll); + + // // 鼠标悬停时暂停滚动 + // scrollContent.addEventListener("mouseenter", function () { + // scrollSpeed = 0; + // }); + + // scrollContent.addEventListener("mouseleave", function () { + // scrollSpeed = 30; // 恢复原始速度 + // }); + + const drawer = document.querySelector(".right-drawer-box"); + const openBtn = document.querySelector(".open-drawer-box"); + const closeBtn = document.querySelector(".close-drawer-btn"); + + // 点击三角按钮打开抽屉 + openBtn.addEventListener("click", function () { + drawer.classList.add("open"); + + layui.use(["tree", "jquery"], function () { + var tree = layui.tree; + var $ = layui.jquery; + + // 初始化组织树 + function initOrgTree() { + // 渲染树形结构 + tree.render({ + elem: "#orgTree", // 绑定元素 + id: "orgTree", // 自定义索引 + data: treeData, // 获取数据 + showCheckbox: false, // 是否显示复选框 + isJump: false, // 是否允许点击节点时弹出新窗口 + accordion: true, // 是否开启手风琴模式 + edit: false, // 是否开启节点的操作图标 + onlyIconControl: true, // 是否仅允许节点左侧图标控制展开收缩 + click: function (obj) { + console.log(obj.data); + // 判断是否是叶子节点(没有子节点或子节点数组为空) + if ( + !obj.data.children || + obj.data.children.length === 0 + ) { + setActiveNode(obj.elem); + nodeId = obj.data.id; + intLng = obj.data.lon; + intLat = obj.data.lat; + projectTitle = obj.data.title; + $(".center-title-box").text( + projectTitle + "作战图" + ); + $(".project-overview-content").text( + obj.data.projectOverview || "暂无" + ); + // getScrollData(nodeId); + getLegendData(nodeId); + getLocationInfo(nodeId); + } else { + } + }, + done: function () { + console.log("树准备完毕"); + expandToNodeId(nodeId); + }, + }); + } + + initOrgTree(); + setActiveNodeNew(nodeId); + + function setActiveNode(elem) { + $("#orgTree") + .find(".layui-tree-click") + .removeClass("layui-tree-click"); + $(elem).addClass("layui-tree-click"); + } + + function setActiveNodeNew(nodeId) { + $("#orgTree") + .find('[data-id="' + nodeId + '"]') + .addClass("layui-tree-click"); + } + }); + }); + + // 点击关闭按钮关闭抽屉 + closeBtn.addEventListener("click", function () { + drawer.classList.remove("open"); + }); + + // 点击抽屉外部关闭抽屉(可选) + document.addEventListener("click", function (e) { + if ( + drawer.classList.contains("open") && + !drawer.contains(e.target) && + e.target !== openBtn + ) { + drawer.classList.remove("open"); + } + }); + + const switchBtnItemMap = document.querySelector(".map-btn"); + const switchBtnItemMix = document.querySelector(".mix-btn"); + if (isMap) { + switchBtnItemMap.classList.add("active"); + } + switchBtnItemMap.addEventListener("click", function () { + getLocationInfo(nodeId); + switchBtnItemMap.classList.add("active"); + switchBtnItemMix.classList.remove("active"); + isMap = true; + }); + switchBtnItemMix.addEventListener("click", function () { + getLocationInfo(nodeId); + switchBtnItemMix.classList.add("active"); + switchBtnItemMap.classList.remove("active"); + isMap = false; + }); + + // 点击全屏图标时 使地图盒子全屏 + const fullScreenBtn = document.querySelector(".full-screen-btn"); + fullScreenBtn.addEventListener("click", function () { + if (document.fullscreenElement) { + // 退出全屏 + document.exitFullscreen(); + } else { + // 进入全屏 + document.documentElement.requestFullscreen(); + // 遍历树形结构数据把数据全部更改为第一个工程 + if ( + treeData[0].children && + treeData[0].children.length > 0 && + treeData[0].children[0].children && + treeData[0].children[0].children.length > 0 + ) { + nodeId = treeData[0].children[0].children[0].id; + if ( + treeData[0].children[0].children[0].lon && + treeData[0].children[0].children[0].lat + ) { + intLng = treeData[0].children[0].children[0].lon; + intLat = treeData[0].children[0].children[0].lat; + } + + if (treeData[0].children[0].children[0].title) { + projectTitle = treeData[0].children[0].children[0].title; + $(".center-title-box").text(projectTitle + "作战图"); + } + + // getScrollData(nodeId); + $(".project-overview-content").text( + treeData[0].children[0].children[0].projectOverview || + "暂无" + ); + getLegendData(nodeId); + getLocationInfo(nodeId); + } else { + initMap(); + } + } + }); + + // 设置当鼠标移入工程概况时,并且判断当前是否溢出,溢出时预览框显示 + const projectOverviewBox = document.querySelector(".project-overview-box"); + const projectOverviewContent = document.querySelector( + ".project-overview-content" + ); + const projectOverviewPreviewBox = document.querySelector( + ".project-overview-preview-box" + ); + projectOverviewBox.addEventListener("mouseenter", function () { + if ( + projectOverviewContent.scrollHeight > + projectOverviewContent.clientHeight + ) { + projectOverviewPreviewBox.style.display = "block"; + projectOverviewPreviewBox.innerHTML = + projectOverviewContent.innerHTML; + } else { + projectOverviewPreviewBox.style.display = "none"; + projectOverviewPreviewBox.innerHTML = ""; + } + }); + projectOverviewBox.addEventListener("mouseleave", function () { + projectOverviewPreviewBox.style.display = "none"; + projectOverviewPreviewBox.innerHTML = ""; + }); +}); diff --git a/src/main/resources/static/pages/synthesisQuery/digitalSignage.html b/src/main/resources/static/pages/synthesisQuery/digitalSignage.html index 33e9a86..7ed7530 100644 --- a/src/main/resources/static/pages/synthesisQuery/digitalSignage.html +++ b/src/main/resources/static/pages/synthesisQuery/digitalSignage.html @@ -14,7 +14,23 @@ - + + + + + + + + + + + + + + + + + 电子看板