Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/srs-police-affairs
14 files modified
27 files added
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8" standalone="yes"?> |
| | | <source_list version="1.0" creator="Global Mapper - http://www.globalmapper.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.globalmapper.com/OSL/1/0" xsi:schemaLocation="http://www.globalmapper.com/OSL/1/0 http://www.globalmapper.com/OSL/1/0/gmc.xsd"> |
| | | <source type="GMAP"> |
| | | <name>My Map Set Name</name> |
| | | <FileExt>png</FileExt> |
| | | <LatLonBounds>90,0,180,66.5132604431</LatLonBounds> |
| | | <NumZoomLevels>12</NumZoomLevels> |
| | | <TileSize>256</TileSize> |
| | | <BaseURL><![CDATA[file:///G:/%D0%C5%D6%DD%C7%F8%D5%FD%C9%E4%B3%C9%B9%FB%B4%E6%B5%B5/%C7%D0%C6%AC%B2%E2%CA%D4/11%BC%B6%C7%D0%C6%AC%C8%AB/Z%z/%y/%x.png]]></BaseURL> |
| | | <NativeProj>EPSG:3857</NativeProj> |
| | | </source> |
| | | </source_list> |
| New file |
| | |
| | | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| | | <html xmlns="http://www.w3.org/1999/xhtml"> |
| | | <head> |
| | | <meta http-equiv="content-type" content="text/html; charset=utf-8"/> |
| | | <title>My Map Set Name (Google Maps Export from Global Mapper)</title> |
| | | <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> |
| | | <script type="text/javascript"> |
| | | |
| | | var G = google.maps; |
| | | var map; |
| | | |
| | | var customMapType = new G.ImageMapType |
| | | ( |
| | | { |
| | | getTileUrl: function(coord, zoom) |
| | | { |
| | | var normalizedCoord = getNormalizedCoord(coord, zoom); |
| | | if (!normalizedCoord) { return null; } |
| | | |
| | | if ( zoom == 1 && normalizedCoord.x >= 1 && normalizedCoord.x <= 1 && normalizedCoord.y >= 0 && normalizedCoord.y <= 0 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | else if ( zoom == 2 && normalizedCoord.x >= 3 && normalizedCoord.x <= 3 && normalizedCoord.y >= 1 && normalizedCoord.y <= 1 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | else if ( zoom == 3 && normalizedCoord.x >= 6 && normalizedCoord.x <= 7 && normalizedCoord.y >= 2 && normalizedCoord.y <= 4 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | else if ( zoom == 4 && normalizedCoord.x >= 12 && normalizedCoord.x <= 15 && normalizedCoord.y >= 4 && normalizedCoord.y <= 8 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | else if ( zoom == 5 && normalizedCoord.x >= 24 && normalizedCoord.x <= 31 && normalizedCoord.y >= 8 && normalizedCoord.y <= 16 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | else if ( zoom == 6 && normalizedCoord.x >= 48 && normalizedCoord.x <= 63 && normalizedCoord.y >= 16 && normalizedCoord.y <= 32 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | else if ( zoom == 7 && normalizedCoord.x >= 96 && normalizedCoord.x <= 127 && normalizedCoord.y >= 32 && normalizedCoord.y <= 64 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | else if ( zoom == 8 && normalizedCoord.x >= 192 && normalizedCoord.x <= 255 && normalizedCoord.y >= 64 && normalizedCoord.y <= 128 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | else if ( zoom == 9 && normalizedCoord.x >= 384 && normalizedCoord.x <= 511 && normalizedCoord.y >= 128 && normalizedCoord.y <= 256 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | else if ( zoom == 10 && normalizedCoord.x >= 768 && normalizedCoord.x <= 1023 && normalizedCoord.y >= 256 && normalizedCoord.y <= 512 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | else if ( zoom == 11 && normalizedCoord.x >= 1536 && normalizedCoord.x <= 2047 && normalizedCoord.y >= 512 && normalizedCoord.y <= 1024 ) |
| | | { |
| | | return "file:///G://ÐÅÖÝÇøÕýÉä³É¹û´æµµ//ÇÐÆ¬²âÊÔ//11¼¶ÇÐÆ¬È«//Z" + zoom + "/" + normalizedCoord.y + "/" + normalizedCoord.x + ".png"; // replace that with a "real" URL |
| | | } |
| | | return null; |
| | | }, |
| | | |
| | | alt: "My Map Set Name", |
| | | tileSize: new G.Size(256, 256), |
| | | isPng: true, |
| | | maxZoom: 11, |
| | | minZoom: 1, |
| | | opacity: 1.00, |
| | | name: "My Map Set Name" |
| | | } |
| | | ) |
| | | |
| | | function getNormalizedCoord(coord, zoom) |
| | | { |
| | | var y = coord.y; |
| | | var x = coord.x; |
| | | |
| | | var tileRange = 1 << zoom; |
| | | |
| | | if (y < 0 || y >= tileRange) { return null; } |
| | | if (x < 0 || x >= tileRange) |
| | | { |
| | | x = (x % tileRange + tileRange) % tileRange; |
| | | } |
| | | |
| | | return { x: x, y: y }; |
| | | } |
| | | |
| | | function initialize() |
| | | { |
| | | var myLatlng = new G.LatLng(33.256630,135.000000); |
| | | var myOptions = { |
| | | center: myLatlng, |
| | | zoom: 1, |
| | | mapTypeId: G.MapTypeId.ROADMAP, |
| | | mapTypeControl: true, |
| | | overviewMapControl: false, |
| | | scaleControl: false, |
| | | streetViewControl: true, |
| | | panControl: true, |
| | | zoomControl: true, |
| | | zoomControlOptions: { style: google.maps.ZoomControlStyle.DEFAULT } |
| | | }; |
| | | |
| | | map = new G.Map(document.getElementById("map_canvas"), myOptions); |
| | | map.overlayMapTypes.insertAt(0, customMapType); |
| | | } |
| | | </script> |
| | | </head> |
| | | <body onload="initialize()"> |
| | | <div id="map_canvas" style="width: 100%; height: 800px; margin: 0px 0px 0px 0px; float: middle;"></div> |
| | | </body> </html> |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-02-21 14:16:56 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-18 14:21:13 |
| | | * @LastEditTime: 2023-04-19 10:41:50 |
| | | * @FilePath: \srs-police-affairs\public\static\config.js |
| | | * @Description: |
| | | * |
| | |
| | | |
| | | // 栅格地图的 |
| | | // VUE_APP_MAP_YX: 'http://10.141.11.11:80/ysapi', |
| | | VUE_APP_MAP_YX: 'http://10.141.11.12:80/gj', |
| | | VUE_APP_MAP_YX: 'http://10.141.11.11:80/gj', |
| | | VUE_APP_MAP_SL: 'http://10.141.11.11:80/slapi', |
| | | VUE_APP_MAP_DX: 'http://10.141.11.12:80/DEM', |
| | | VUE_APP_MAP_DX: 'http://10.141.11.11:80/DEM', |
| | | } |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-11-30 15:18:29 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-17 17:11:15 |
| | | * @LastEditTime: 2023-04-18 19:27:38 |
| | | * @FilePath: \srs-police-affairs\src\api\dept\index.js |
| | | * @Description: |
| | | * |
| | |
| | | export const getAoiByPt = (lng, lat, height, adcode, tolerance) => { |
| | | return request({ |
| | | // url: '/sf3d/area/getAoiByPt', |
| | | // url: '/sf3d/area/stdgetAoiByPt', |
| | | url: '/data/getAoiByBgId.json', |
| | | url: '/sf3d/area/stdgetAoiByPt', |
| | | // url: '/data/getAoiByBgId.json', |
| | | method: 'get', |
| | | authorization: false, |
| | | requestBaseUrl: 'fengt', |
| | |
| | | export const getHouses = (build_id, adcode) => { |
| | | return request({ |
| | | // url: '/sf3d/build/houses', |
| | | // url: '/sf3d/build/stdhouses', |
| | | url: '/data/huafu15d.json', |
| | | url: '/sf3d/build/stdhouses', |
| | | // url: '/data/huafu15d.json', |
| | | method: 'get', |
| | | authorization: false, |
| | | // requestBaseUrl: 'fengt', |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | build_id, |
| | | adcode |
| | |
| | | */ |
| | | export const getSearchExtensivelyBgAoiDeepdata = (ak, region, ids, infos) => { |
| | | return request({ |
| | | // url: '/zhs/bs/search', |
| | | url: '/data/汇成观邸.json', |
| | | url: '/zhs/bs/search', |
| | | // url: '/data/汇成观邸.json', |
| | | method: 'get', |
| | | // requestBaseUrl: 'fengtDS', |
| | | params: { |
| | |
| | | url: '/data/汇成观邸-户室.json', |
| | | // url: '/data/阳光小区独栋.json', |
| | | method: 'get', |
| | | // requestBaseUrl: 'fengtDS', |
| | | requestBaseUrl: 'fengtDS', |
| | | params: { |
| | | ak, |
| | | region, |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 17:00:30 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-18 14:55:01 |
| | | * @LastEditTime: 2023-04-19 15:03:27 |
| | | * @FilePath: \srs-police-affairs\src\components\map\index.vue |
| | | * @Description: 公用地图组件 |
| | | * |
| | |
| | | <div class="title"> |
| | | 底图 |
| | | <div class="close" @click.stop="showImgBtn = false"> |
| | | <img src="/img/icon/close.png" alt=""> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | // 地形数据添加 |
| | | this.addTerrain() |
| | | |
| | | that.addTerrain() |
| | | |
| | | // 外网 |
| | | // global.viewer.imageryLayers.addImageryProvider( |
| | | // new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | // url: 'http://t{s}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e45274b0235bb913eceb393aabbf9c9c', |
| | | // url: 'http://t{s}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=d083e4cf30bfc438ef93436c10c2c20a', |
| | | // subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'], |
| | | // format: 'image/jpeg', |
| | | // show: true, |
| | |
| | | } |
| | | |
| | | document.querySelector('.dc-zoom-controller .refresh svg title').innerHTML = '初始化位置' |
| | | |
| | | }) |
| | | }, |
| | | |
| | |
| | | |
| | | // baseLayers.push(layer) |
| | | |
| | | const qp = global.viewer.imageryLayers.addImageryProvider( |
| | | new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | url: `/qp/{AZ}/{y}/{x}.png`, |
| | | customTags: { |
| | | AZ (imageryProvider, x, y, level) { |
| | | return 'Z' + level |
| | | }, |
| | | }, |
| | | minimumLevel: 0, |
| | | maximumLevel: 25, |
| | | }) |
| | | ) |
| | | |
| | | |
| | | qp.contrast = 0.8 |
| | | |
| | | baseLayers.push(qp) |
| | | |
| | | yxLayerJson.forEach(item => { |
| | | let rectangle = {} |
| | | |
| | |
| | | |
| | | addTerrain () { |
| | | projectTerrain = global.DC.TerrainFactory.createUrlTerrain({ |
| | | // url: `http://data.marsgis.cn/terrain` |
| | | url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_DX}` |
| | | }) |
| | | |
| | |
| | | shadows: global.DC.Namespace.Cesium.ShadowMode.DISABLED |
| | | }) |
| | | |
| | | tilesetObject[titlesetName].setHeight(10) |
| | | |
| | | // 地形数据添加 |
| | | // tilesetObject[titlesetName].setHeight(-73) |
| | | |
| | | tilesetLayer.addOverlay(tilesetObject[titlesetName]) |
| | | |
| | | // global.viewer.flyTo(tilesetObject[titlesetName])removeMxTileset |
| | |
| | | polygonHierarchy: new global.DC.Namespace.Cesium.PolygonHierarchy( |
| | | global.DC.Namespace.Cesium.Cartesian3.fromDegreesArray(floorPositions), |
| | | ), |
| | | extrudedHeight: 80,//分层顶部海拔 |
| | | height: 50,//分层底部海拔 |
| | | extrudedHeight: maxHeight + 10,//分层顶部海拔 |
| | | height: minHeight + 10,//分层底部海拔 |
| | | }), |
| | | |
| | | attributes: { |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .title { |
| | | .close { |
| | | position: absolute; |
| | | right: 5px; |
| | | top: 0; |
| | | } |
| | | |
| | | .close::before { |
| | | font-family: element-icons; |
| | | content: '\e6db'; |
| | | cursor: pointer; |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .close:hover::before { |
| | | color: #3d95f3; |
| | | } |
| | | } |
| | | |
| | | .content { |
| | | display: flex; |
| | | } |
| | |
| | | content: "替"; |
| | | font-size: countSizeVh(16); |
| | | visibility: hidden; |
| | | } |
| | | |
| | | .el-icon-police-track { |
| | | background: url(/img/draw/track.png) center no-repeat; |
| | | background-size: countSizeVh(16) countSizeVh(16); |
| | | } |
| | | |
| | | .el-icon-police-track:before { |
| | | content: "替"; |
| | | font-size: countSizeVh(16); |
| | | visibility: hidden; |
| | | } |
| | |
| | | height: countSizeVh(320); |
| | | } |
| | | |
| | | .case-box { |
| | | |
| | | .duty-information-box { |
| | | padding: countSizeVh(16); |
| | | flex: 1; |
| | | |
| | | &>div { |
| | | padding: countSizeVh(10); |
| | | } |
| | | |
| | | span { |
| | | line-height: countSizeVh(36); |
| | | } |
| | | } |
| | | } |
| | | |
| | | .person-box, |
| | | .house-box, |
| | | .land-box, |
| | |
| | | height: countSizeVh(32); |
| | | line-height: countSizeVh(32); |
| | | text-align: left; |
| | | |
| | | .close { |
| | | position: absolute; |
| | | right: 5px; |
| | | top: 0; |
| | | overflow: hidden; |
| | | |
| | | img { |
| | | width: countSizeVh(16); |
| | | height: countSizeVh(16); |
| | | cursor: pointer; |
| | | } |
| | | |
| | | } |
| | | |
| | | .close:hover { |
| | | |
| | | img { |
| | | transform: translate(countSizeVh(100), 0); |
| | | filter: drop-shadow(countSizeVh(-100) 0px #3d95f3); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | .content { |
| | | padding: 0 countSizeVw(8, 1920); |
| | | height: countSizeVh(66); |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-03-31 10:52:25 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-04 15:55:33 |
| | | * @LastEditTime: 2023-04-18 20:13:04 |
| | | * @FilePath: \srs-police-affairs\src\utils\turfPolygon.js |
| | | * @Description: |
| | | * |
| | |
| | | */ |
| | | import * as turf from '@turf/turf' |
| | | |
| | | export const computerCapacity = (data, type) => { |
| | | if (type == 'region') { |
| | | console.log('computerCapacity', data) |
| | | const pointArr = data.reduce((pre, cur) => { |
| | | cur.position && JSON.parse(cur.position).coordinates[0][0].forEach(item => { |
| | | console.log(item, 959) |
| | | item[0] && item[1] && pre.push(turf.point(item)) |
| | | }) |
| | | function getAllRegionCenter (data) { |
| | | let arr = [] |
| | | |
| | | return pre |
| | | }, []) |
| | | data.forEach(item => { |
| | | if (item.position && item.position.length > 0) { |
| | | arr.push(getRegionCenter(item.position)) |
| | | } |
| | | }) |
| | | |
| | | arr.push(arr[0]) |
| | | |
| | | if (arr.length == 1) { |
| | | return arr[0] |
| | | } else if (arr.length == 2) { |
| | | |
| | | return turf.centroid(turf.midpoint(turf.point(arr[0]), turf.point(arr[1]))).geometry.coordinates |
| | | } else { |
| | | arr.push(arr[0]) |
| | | |
| | | return turf.centroid(turf.polygon([arr])).geometry.coordinates |
| | | } |
| | | } |
| | | |
| | | function getRegionCenter (params) { |
| | | let arr = [] |
| | | |
| | | params.forEach(areaArray => { |
| | | JSON.parse(areaArray).coordinates.forEach(item => { |
| | | arr.push(turf.centroid(turf.polygon([item[0]])).geometry.coordinates) |
| | | }) |
| | | }) |
| | | |
| | | if (arr.length == 1) { |
| | | return arr[0] |
| | | } else if (arr.length == 2) { |
| | | |
| | | return turf.centroid(turf.midpoint(turf.point(arr[0]), turf.point(arr[1]))).geometry.coordinates |
| | | } else { |
| | | arr.push(arr[0]) |
| | | |
| | | return turf.centroid(turf.polygon([arr])).geometry.coordinates |
| | | } |
| | | } |
| | | |
| | | |
| | | const features = turf.featureCollection(pointArr) |
| | | |
| | | const scope = turf.envelope(features).bbox |
| | | export const computerCapacity = (data, type = '') => { |
| | | |
| | | const poly = turf.polygon([[[scope[0], scope[1]], [scope[0], scope[3]], [scope[2], scope[1]], [scope[2], scope[3]]]]) |
| | | if (type != '') { |
| | | |
| | | const scaledPoly = turf.transformScale(poly, 3) |
| | | const center = getAllRegionCenter(data) |
| | | |
| | | console.log(scope, scaledPoly, 5555) |
| | | if (type == 'all') { |
| | | |
| | | global.viewer.flyToPosition( |
| | | new global.DC.Position( |
| | | Number(center[0] + 0.03), |
| | | Number(center[1] - 0.30), |
| | | Number(36000), |
| | | Number(-3), |
| | | Number(-45), |
| | | Number(0) |
| | | ), |
| | | function () { }, |
| | | 3 |
| | | ) |
| | | |
| | | } else { |
| | | |
| | | global.viewer.flyToPosition( |
| | | new global.DC.Position( |
| | | Number(center[0] + 0.0046), |
| | | Number(center[1] - 0.04), |
| | | Number(4000), |
| | | Number(-3), |
| | | Number(-45), |
| | | Number(0) |
| | | ), |
| | | function () { }, |
| | | 3 |
| | | ) |
| | | |
| | | } |
| | | } else { |
| | | let pointArr = [] |
| | | console.log('data', data) |
| | | data.forEach(item => { |
| | | if (item.longitude && item.latitude) { |
| | | pointArr.push(turf.point([item.longitude, item.latitude])) |
| | |
| | | const features = turf.featureCollection(pointArr) |
| | | |
| | | const scope = turf.envelope(features).bbox |
| | | |
| | | console.log(scope, 5555) |
| | | |
| | | // const poly = turf.polygon([[[0, 29], [3.5, 29], [2.5, 32], [0, 29]]]) |
| | | |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-03-24 16:36:55 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-17 17:32:41 |
| | | * @LastEditTime: 2023-04-18 20:12:05 |
| | | * @FilePath: \srs-police-affairs\src\views\activity\index.vue |
| | | * @Description: |
| | | * |
| | |
| | | import publicIndex from './components/publicIndex.vue' |
| | | import { initMapPosition } from '@/utils/mapPositionInit' |
| | | import { computerCapacity } from "@/utils/turfPolygon.js" |
| | | import { getPoliceStationTree } from '@/api/home/' |
| | | |
| | | |
| | | let regionAllData = [] |
| | | let loading = null |
| | | |
| | | let cameraList = [] |
| | |
| | | this.activeDeleteLineOrPoint(type) |
| | | }) |
| | | |
| | | getPoliceStationTree(1).then(res => { |
| | | regionAllData = res.data.data |
| | | }) |
| | | }, |
| | | |
| | | mounted () { |
| | |
| | | type: 'HeatLayer' |
| | | }) |
| | | |
| | | if (e2.checkedNodes.some(item => item.$treeNodeId == e1.$treeNodeId)) { |
| | | if (this.userInfo.dept_id == '1123598813738675201') { |
| | | |
| | | computerCapacity(regionAllData, 'all') |
| | | } else { |
| | | let arr = regionAllData.find(item => item.id == this.userInfo.dept_id) |
| | | |
| | | // 获取图标中心跳转 |
| | | computerCapacity([arr], 'single') |
| | | } |
| | | } |
| | | |
| | | |
| | | if (e1.label == '热力图' && e2.checkedKeys.some(item => { |
| | | return item == 777 |
| | | })) { |
| | |
| | | } else if (e1.label == '执法记录仪') { |
| | | iconArr = policeCarmeraList |
| | | } |
| | | // 获取图标中心跳转 |
| | | computerCapacity(iconArr, 'icon') |
| | | |
| | | } |
| | | }, |
| | |
| | | <defs> |
| | | <path id="border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | d="M0.27,0.03c52.66,0,105.34,0,158,0c1.67,2,3.33,4,5,6c1,0.33,2,0.67,3,1c1.33,1.67,2.67,3.33,4,5 |
| | | c16,0,32,0,48,0c53.66,0,107.34,0,161,0c1.13,1.72,0.63,1.36,3,2c0,0.67,0,1.33,0,2c0.67,0,1.33,0,2,0 |
| | | c0.01,104.58,0.01,206.44,0,309c-1.43,0.78-4.01,2.77-5,4c-12,0-24,0-36,0c-2.67-3.33-5.33-6.67-8-10c-21,0-42,0-63,0 |
| | | c-1.08,2.32-2.35,4.25-4,6c-0.67,0.33-1.33,0.67-2,1c-0.33,1-0.67,2-1,3c-20,0-40,0-60,0c-66.66,0-133.34,0-200,0 |
| | | c-1.28-1.57-2.76-2.25-4-4c-0.33,0-0.67,0-1,0c0-8.67,0-17.33,0-26c0-19.66,0-39.34,0-59C0.27,160.04,0.27,80.02,0.27,0.03z" |
| | | c16,0,32,0,48,0c53.66,0,107.34,0,161,0c1.13,1.72,0.63,1.36,3,2c0,0.67,0,1.33,0,2c0.67,0,1.33,0,2,0 |
| | | c0.01,104.58,0.01,206.44,0,309c-1.43,0.78-4.01,2.77-5,4c-12,0-24,0-36,0c-2.67-3.33-5.33-6.67-8-10c-21,0-42,0-63,0 |
| | | c-1.08,2.32-2.35,4.25-4,6c-0.67,0.33-1.33,0.67-2,1c-0.33,1-0.67,2-1,3c-20,0-40,0-60,0c-66.66,0-133.34,0-200,0 |
| | | c-1.28-1.57-2.76-2.25-4-4c-0.33,0-0.67,0-1,0c0-8.67,0-17.33,0-26c0-19.66,0-39.34,0-59C0.27,160.04,0.27,80.02,0.27,0.03z" |
| | | fill="transparent" /> |
| | | <radialGradient id="border-box-8-gradient-974b4d7cfafa444396861ca1d1173c8c" cx="50%" cy="50%" r="50%"> |
| | | <stop offset="0%" stop-color="#fff" stop-opacity="1" /> |
| | |
| | | <circle cx="0" cy="0" r="150" fill="url(#border-box-8-gradient-974b4d7cfafa444396861ca1d1173c8c)"> |
| | | <animateMotion dur="8s" |
| | | path="M0.27,0.03c52.66,0,105.34,0,158,0c1.67,2,3.33,4,5,6c1,0.33,2,0.67,3,1c1.33,1.67,2.67,3.33,4,5 |
| | | c16,0,32,0,48,0c53.66,0,107.34,0,161,0c1.13,1.72,0.63,1.36,3,2c0,0.67,0,1.33,0,2c0.67,0,1.33,0,2,0 |
| | | c0.01,104.58,0.01,206.44,0,309c-1.43,0.78-4.01,2.77-5,4c-12,0-24,0-36,0c-2.67-3.33-5.33-6.67-8-10c-21,0-42,0-63,0 |
| | | c-1.08,2.32-2.35,4.25-4,6c-0.67,0.33-1.33,0.67-2,1c-0.33,1-0.67,2-1,3c-20,0-40,0-60,0c-66.66,0-133.34,0-200,0 |
| | | c-1.28-1.57-2.76-2.25-4-4c-0.33,0-0.67,0-1,0c0-8.67,0-17.33,0-26c0-19.66,0-39.34,0-59C0.27,160.04,0.27,80.02,0.27,0.03z" |
| | | c16,0,32,0,48,0c53.66,0,107.34,0,161,0c1.13,1.72,0.63,1.36,3,2c0,0.67,0,1.33,0,2c0.67,0,1.33,0,2,0 |
| | | c0.01,104.58,0.01,206.44,0,309c-1.43,0.78-4.01,2.77-5,4c-12,0-24,0-36,0c-2.67-3.33-5.33-6.67-8-10c-21,0-42,0-63,0 |
| | | c-1.08,2.32-2.35,4.25-4,6c-0.67,0.33-1.33,0.67-2,1c-0.33,1-0.67,2-1,3c-20,0-40,0-60,0c-66.66,0-133.34,0-200,0 |
| | | c-1.28-1.57-2.76-2.25-4-4c-0.33,0-0.67,0-1,0c0-8.67,0-17.33,0-26c0-19.66,0-39.34,0-59C0.27,160.04,0.27,80.02,0.27,0.03z" |
| | | rotate="auto" repeatCount="indefinite" /> |
| | | </circle> |
| | | </mask> |
| | |
| | | let houseMyChart |
| | | let landMyChart |
| | | let timer |
| | | let curSubofficeData |
| | | |
| | | let leftTiming = null |
| | | let keyPeopleDataLength = 0 |
| | |
| | | getVillagePersonStatisticInfo().then(res => { |
| | | if (res.data.code == 200) { |
| | | this.disposeEchart() |
| | | |
| | | curSubofficeData = res.data.data |
| | | this.personAll = res.data.data |
| | | |
| | | this.policeStationPersonInfo = res.data.data |
| | |
| | | getVillagePersonStatisticInfoByPoliceStationId (policeStationId, name) { |
| | | getVillagePersonStatisticInfoByPoliceStationId(policeStationId, name).then(res => { |
| | | if (res.data.code == 200) { |
| | | |
| | | this.disposeEchart() |
| | | var chartDom = document.getElementById('PersonEcharts') |
| | | homePersonmyChart = this.$echarts.init(chartDom) |
| | |
| | | * @return {*} |
| | | */ |
| | | backBegin () { |
| | | this.personAll = curSubofficeData |
| | | this.dataDeep = 1 |
| | | this.initPersonEcharts() |
| | | this.$parent.getAllPoliceStationCenter() |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="table-box" v-show="showMJL"> |
| | | <el-table size="small" :height="tableHeight" :data="schedulingList" style="width: 100%" empty-text=" " |
| | | :show-header="false" :header-cell-style="{ 'text-align': 'center' }" |
| | | :cell-style="{ 'text-align': 'left', borderColor: '#324e75' }" :row-class-name="tableRowClassName" |
| | | v-loading="schedulingLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.5)"> |
| | | <el-table-column :show-overflow-tooltip="true" v-for="(item, index) in transTitle" :label="item" |
| | | :key="index" align="center"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row[index] }} |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="duty-information-box" v-show="showMJL"> |
| | | <div> |
| | | <div> |
| | | <span> |
| | | 值班 |
| | | </span> |
| | | </div> |
| | | <div> |
| | | <span> |
| | | 徐星逸,任圣日,娄永攀,蔡善龙,陈小强,刘开勇,梅祥,吕镇,付建冬 |
| | | </span> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div> |
| | | <span> |
| | | 副班、巡逻 |
| | | </span> |
| | | </div> |
| | | <div> |
| | | <span> |
| | | 章正椿,夏文翔,叶江明,黄俊龙,苏茯林,王顺祥 |
| | | </span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | policeStaionID: "", |
| | | showMJL: false, |
| | | originTitle: ['值班', '副班、巡逻'], |
| | | transTitle: ['人员', '人员'], |
| | | transTitle: [{ label: '人员', width: '28%', align: 'center' }, { label: '人员', width: '', align: 'left' },], |
| | | } |
| | | }, |
| | | |
| | |
| | | } |
| | | } else { |
| | | option = { |
| | | color: ['#5470C6', '#73C0DE', '#EE6666', '#FAC858'], |
| | | tooltip: { |
| | | trigger: "item", |
| | | formatter: |
| | |
| | | }, |
| | | }, |
| | | legend: { |
| | | data: ['盗窃', '诈骗', '纠纷', '其他'] |
| | | data: ['盗窃', '诈骗', '纠纷', '其他'], |
| | | textStyle: { |
| | | color: "#fff" |
| | | } |
| | | }, |
| | | yAxis: { |
| | | type: "value", |
| | |
| | | } |
| | | } |
| | | |
| | | :deep(.el-table .cell) { |
| | | // white-space: pre-line; |
| | | white-space: pre-wrap; |
| | | height: 100% !important; |
| | | line-height: 3.4vh !important; |
| | | :deep(.el-table) { |
| | | .cell { |
| | | // white-space: pre-line; |
| | | white-space: pre-wrap; |
| | | height: 100% !important; |
| | | line-height: 3.2 !important; |
| | | } |
| | | |
| | | .el-table__body-wrapper { |
| | | height: 100% !important; |
| | | overflow: hidden; |
| | | |
| | | .el-table__body { |
| | | width: 100% !important; |
| | | height: 100% !important; |
| | | |
| | | tbody { |
| | | width: 100% !important; |
| | | height: 100% !important; |
| | | |
| | | td { |
| | | flex: 1; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .duty-information-box { |
| | | height: 100%; |
| | | |
| | | &>div:first-child { |
| | | background: $table-body-tr-n-color; |
| | | } |
| | | |
| | | :deep(.el-table .el-table__body-wrapper) { |
| | | height: 100% !important; |
| | | overflow: hidden; |
| | | &>div:last-child { |
| | | background: $table-body-tr-2n-color; |
| | | } |
| | | |
| | | &>div { |
| | | display: flex; |
| | | height: 50%; |
| | | |
| | | &>div { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | &>div:first-child { |
| | | width: 28%; |
| | | justify-content: center; |
| | | } |
| | | |
| | | &>div:last-child { |
| | | width: 72%; |
| | | text-align: left; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-18 09:19:50 |
| | | * @LastEditTime: 2023-04-19 15:02:38 |
| | | * @FilePath: \srs-police-affairs\src\views\home\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | stroke: positionColor[index], |
| | | fill: positionColor[index], //注意:颜色必须大写,即不能为blue |
| | | strokeWidth: 0, |
| | | clampToGround: true |
| | | }).then(function (dataSource) { |
| | | DataSourcesArray.push(dataSource) |
| | | that.areaPolygonLayerShow == false ? dataSource.show = false : dataSource.show = true |
| | |
| | | stroke: positionColor[index], |
| | | fill: positionColor[index], //注意:颜色必须大写,即不能为blue |
| | | strokeWidth: 0, |
| | | clampToGround: true |
| | | }).then(function (dataSource) { |
| | | DataSourcesArray.push(dataSource) |
| | | |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-09 15:48:43 |
| | | * @LastEditTime: 2023-04-18 20:29:31 |
| | | * @FilePath: \srs-police-affairs\src\views\house\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | @click="residentDetailsClick(value)" |
| | | :class="{ on: floorChoosed == value.sname }"> |
| | | {{ value.sname }}室 |
| | | <div class="warning"></div>--> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <el-table :data="callPoliceData" style="width: 100%" :height="currentTableHeight" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" |
| | | :row-class-name="tableRowClassName" :empty-text="jqNoDataText" class="police-infor-table"> |
| | | :row-class-name="tableRowClassName" :empty-text="jqNoDataText" class="police-infor-table" |
| | | @cell-click="housingPoliceSiteClick"> |
| | | <el-table-column prop="JJDWMC" :show-overflow-tooltip="true" label="接警单位" |
| | | min-width="80%"></el-table-column> |
| | | <el-table-column label="报警时间" prop="BJSJ" min-width="50%"> |
| | |
| | | <el-button v-if="!whetherPosition(scope.row)" @click="clickData(scope.row)" type="text" |
| | | size="small" title="定位"> |
| | | <i class="el-icon-location" :style="{ color: positionColor(scope.row) }"></i> |
| | | </el-button> |
| | | <el-button @click="housingPoliceSiteClick(scope.row)" type="text" size="small" |
| | | title="详情"> |
| | | <i class="el-icon-document"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | buildingClick (item, aoiArr) { |
| | | if (this.buildingChoosed.name == item.name) return |
| | | this.isBuildHighLightchecked = true |
| | | this.unitChoosedArr = [] |
| | | this.unitHouseChoosed = [] |
| | | this.pictLoading = true |
| | | if (!aoiArr) { |
| | | this.$EventBus.$emit("clearHouse3D") |
| | |
| | | ...item, |
| | | siteJd: Number(item.siteJd), |
| | | siteWd: Number(item.siteWd) - 0.0021, |
| | | siteGd: 240, |
| | | sitePitch: -45, |
| | | siteGd: 600, |
| | | // siteGd: 1500, |
| | | sitePitch: -60, |
| | | }) |
| | | } |
| | | this.buildingChoosed = item |
| | |
| | | this.choosedBuildId = item.build_id |
| | | // 重点人口户籍人口 |
| | | this.getVillagePersonStatisticInfoByBuildId(item.build_id) |
| | | // 获取楼栋三维数据 |
| | | this.getHouses3DData(item.build_id, "361102", aoiArr) |
| | | // 获取楼栋列表数据 |
| | | this.getUnitHousesData( |
| | | "ebf48ecaa1fd436fa3d40c4600aa051f", |
| | | "361102", |
| | | item.build_id, |
| | | "1|3") |
| | | // 楼栋单元楼层户室查询 |
| | | this.getHouses(item.build_id, "361102", aoiArr) |
| | | this.floorsType = 1 |
| | | document.querySelector(".floor-num").style.left = "0px" |
| | | this.lastFloorShow = false |
| | |
| | | getResidentialQuartersInfo(area_id, adcode).then((res) => { |
| | | let positionStr = "" |
| | | res.data.data.geometry.coordinates[0].forEach((item) => { |
| | | positionStr += item[0] + "," + item[1] + "," + "10;" |
| | | positionStr += item[0] + "," + item[1] + "," + "100;" |
| | | }) |
| | | |
| | | if (wallLayer != null) { |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-09 04:17:48 |
| | | * @LastEditTime: 2023-04-18 20:34:25 |
| | | * @FilePath: \srs-police-affairs\src\views\police\index.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | </el-button> |
| | | <el-button v-show="navType == 0 || navType == 2" @click="equipmentTrack(scope.row)" |
| | | type="text" size="small" title="轨迹"> |
| | | <i class="el-icon-position"></i> |
| | | <i class="el-icon-police-track"></i> |
| | | </el-button> |
| | | <el-button @click="play(scope.row)" type="text" size="small" title="播放视频"> |
| | | <i class="el-icon-video-play"></i> |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-09-07 09:37:07 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-12 16:21:17 |
| | | * @LastEditTime: 2023-04-19 12:04:13 |
| | | * @FilePath: \srs-police-affairs\vue.config.js |
| | | * @Description: |
| | | * |
| | |
| | | from: "./public/images", |
| | | to: "images", |
| | | }, |
| | | { |
| | | from: "./public/qp", |
| | | to: "qp", |
| | | }, |
| | | ], |
| | | ]) |
| | | |