From c9b61c2c6c3fddf9db7719876108b193799ae609 Mon Sep 17 00:00:00 2001 From: lukeyan <1727408482@qq.com> Date: Thu, 9 Nov 2023 17:02:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A6=81=E7=B4=A0=E8=B5=84=E6=BA=90=E5=8D=B1?= =?UTF-8?q?=E5=8C=96=E5=93=81=E8=BD=A6=E8=BE=86=E7=82=B9=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/pbImg/{关闭.png => close.png} | Bin .../{气泡弹窗1.png => dialogback.png} | Bin src/api/factorResources/index.js | 8 + src/assets/factor/factor03.png | Bin 0 -> 1645 bytes src/utils/request.js | 8 +- src/views/factor/components/factorMap.vue | 88 +++++++- src/views/factor/index.vue | 209 ++++++++++++++++-- src/views/factorResources/index.vue | 4 +- .../realtimeWarning/components/warnMap.vue | 4 +- 9 files changed, 287 insertions(+), 34 deletions(-) rename public/pbImg/{关闭.png => close.png} (100%) rename public/pbImg/{气泡弹窗1.png => dialogback.png} (100%) create mode 100644 src/assets/factor/factor03.png diff --git a/public/pbImg/关闭.png b/public/pbImg/close.png similarity index 100% rename from public/pbImg/关闭.png rename to public/pbImg/close.png diff --git a/public/pbImg/气泡弹窗1.png b/public/pbImg/dialogback.png similarity index 100% rename from public/pbImg/气泡弹窗1.png rename to public/pbImg/dialogback.png diff --git a/src/api/factorResources/index.js b/src/api/factorResources/index.js index 2d72e41..bbd64ae 100644 --- a/src/api/factorResources/index.js +++ b/src/api/factorResources/index.js @@ -30,4 +30,12 @@ export function statistic(params) { method: 'get', params }) +} +// 车辆点位数据 +export function car_point(params) { + return request({ + url:'/SafeCompanyVehicleTrack/list', + method:'get', + params + }) } \ No newline at end of file diff --git a/src/assets/factor/factor03.png b/src/assets/factor/factor03.png new file mode 100644 index 0000000000000000000000000000000000000000..78dfe1ab3b01625f70b3a304e2e1c0b27adf4300 GIT binary patch literal 1645 zcmV-z29o)SP)Px*CrLy>R7gwhmTPPr)fLCjxpy9SW_QQl?CgW};s;J#ET?HuK#5c+AZTb)(W*l2 z7bGOqN@*peK2)`z+KPhu5~@^GHT}Q`K`1LIMpiVk12#)Z}|ZjVFV~703?ARC;?Yf zp~EyFLG-w>>V0c{s^DAV zn_JL*~8l z{?WhL+~~e(yWU>vc_6|NL>PbwBY9&wg@2yhLv|Xvv9t4nXgc&VX=pM1fxt3KgZ(=(jv42jO5TF6P)G8HV$F5VT`*@t)48{?xvbPcW~yZ?1Y#F_@E>*y8p=rZ=CSIFLR$(mYk zFC7f+fmd=1OApg{2jVK?p)@ z`YI3tgi?r26C0&sLp%NU-tNuU);|!mukT{@d(_Z=XRp@yR;GzTs|u_Qm5JKy+}Pbc z^vVZ1qb|P5sBJuD2H_E_-Pt@(5TS0{M0&x`ozc?$+ZoOFUnnd7XJ`~&Pc!hxywjt4 z6oF$J&{o-c5RxOn%z5Z6gfKSdZ(shhTLD6kY7kFljqpWH;Zekir9=U%tC^qLJrCc*Z5K>FyNBB2CDuLO7|YKQ=MfE%uqnc|J@us z97g&rnv5peX|0rXqH`Xhb6MT}>&Sp}I%!)3LS1n(Q=TA=x|Mwl5M{soVzasTii~$f zMu{3GV1U454OISoHUG?*D%xp;uIKq#-PGDGP6k(ESh}UO`lA>aiNV)mQ1x?N_PNE5 zr9p)q+thT~pHPVSZCZ(5IADd(mGqWNfyw1SW2ZXln}Qg|1)@$t_6#a!4(HpiQjn4Z z;*6{1&pD~D_hKC9%=j+ku=8G{{w@`maE}m4Z_6_AXb{6eE}^UtQ6qrfi0-~#<*6|* z5_@7va$I65qlpJwA=%G`oPmn@+O})D)yX%c3S}q*_e!9s26(|4Fx5Q7r~p&fAqVFZ r{XX=Z?sVYobnVkG>5r=1_RqZorIyb}fc>a~00000NkvXXu0mjf(q=iU literal 0 HcmV?d00001 diff --git a/src/utils/request.js b/src/utils/request.js index bb66d55..91bbdcc 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -6,7 +6,7 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' const request = axios.create({ //baseURL: 'http://172.18.113.50:8080/zhapi', //baseURL: 'http://172.18.113.13:8080/zhapi', // 孙强 - //baseURL: 'http://172.18.113.8:8080/zhapi', // 刘建 + //baseURL: 'http://172.18.100.57:8080/zhapi', // 刘建 //baseURL: 'http://192.168.0.188:8888/zhapi', //baseURL: 'http://121.41.91.94:12002/zhapi', baseURL: `http://${window.location.host}/zhapi`, @@ -53,7 +53,7 @@ request.interceptors.response.use( case 401: if (vm.$route.name !== 'login') { - vm.$Message.warning({ + vm.$message.warning({ content: '身份认证信息已失效,请重新登录。', duration: 2, onClose: () => { @@ -65,14 +65,14 @@ request.interceptors.response.use( } break case 403: - vm.$Message.warning({ + vm.$message.warning({ content: response.data.msg, duration: 3 }) break case 500: // 如果是返回的文件 - vm.$Message.warning({ + vm.$message.warning({ content: response.data.msg, duration: 3 }) diff --git a/src/views/factor/components/factorMap.vue b/src/views/factor/components/factorMap.vue index 1b4b12c..355f024 100644 --- a/src/views/factor/components/factorMap.vue +++ b/src/views/factor/components/factorMap.vue @@ -9,18 +9,25 @@ import MapPoint from "../../../../public/zhenhaiPoint.json"; export default { name: "FactorMap", props: { + // 园区企业 company_list: { type: Array, default: () => [], }, + // 车辆监控 video_list: { type: Array, default: () => [], }, + // 危化品车辆 + car_list: { + type: Array, + default: () => [], + }, }, data() { return { - center_point: [121.604192, 29.977299], + center_point: [121.619992, 30.025703], }; }, mounted() { @@ -52,14 +59,14 @@ export default { ); var marker = new BMap.Marker(point, { icon: myIcon }); // 创建点位 map.addOverlay(marker); - marker.addEventListener("click",function() { - that.$emit('get_company_text',item) - }) + marker.addEventListener("click", function () { + that.$emit("get_company_text", item); + }); }); // 监控点位上图 that.video_list.forEach((item) => { - var video_ponit = new BMap.Point(item.longitude, item.latitude); - // 自定义图标; + var video_ponit = new BMap.Point(item.longitude, item.latitude); + // 自定义图标; var video_icon = {}; video_icon = new BMap.Icon( require("@/assets/factor/factor01.png"), @@ -70,19 +77,45 @@ export default { ); var video_marker = new BMap.Marker(video_ponit, { icon: video_icon }); // 创建点位 map.addOverlay(video_marker); + video_marker.addEventListener("click", function () { + // 视频监控详情弹窗点击打开 + that.$emit("get_video_text", item); }); + }); + // 危化品车辆点位上图 + that.car_list.forEach((item) => { + var car_point = new BMap.Point(item.longitude, item.latitude); + // 自定义图标; + var car_icon = {}; + car_icon = new BMap.Icon( + require("@/assets/factor/factor03.png"), + new BMap.Size(20, 40), + { + imageOffset: new BMap.Size(0, 0, 5), // 设置图片偏移 + } + ); + var car_marker = new BMap.Marker(car_point, { icon: car_icon }); // 创建点位 + map.addOverlay(car_marker); + car_marker.addEventListener("click",function() { + // 查看车辆轨迹 + // 查看轨迹的点击事件是要重新创建地图的,以该车坐标为中心 + that.$emit('get_car_text',item) + }) + }); }, 500); map.centerAndZoom( new BMap.Point(this.center_point[0], this.center_point[1]), - 13 + 14 ); // 创建点坐标 map.setMinZoom(12); // 初始化地图,设置中心点坐标和地图级别 map.setMaxZoom(19); map.enableScrollWheelZoom(true); - showPoint(); - for (var i = 0, n = MapLine.features.length; i < n; i++) { - showBoundaryEx(MapLine.features[i]); - } + showPoint(); // 分区区名 + // for (var i = 0, n = MapLine.features.length; i < n; i++) { + // showBoundaryEx(MapLine.features[i]); + // } + // 只需要懈浦镇区域展示 + showBoundaryEx(MapLine.features[5]); // 传入懈浦镇边界数据,准备创造懈浦镇多边形 //////////////// 创造边界--多边形 ///////////////// function showBoundaryEx(city) { var paths = []; @@ -164,6 +197,39 @@ export default { } } }, + // 根据车辆点位重新创建地图 + cause_car_line_map(item) { + let BMap = window.BMap; + let map = new BMap.Map("container", { + style: { + styleJson, + }, + }); + //let that = this; // 不改指向后面很多函数无法执行 + //let label = new BMap.Label(); + setTimeout(() => { + var point = new BMap.Point(item.longitude, item.latitude) + // 自定义图标; + var myIcon = {}; + myIcon = new BMap.Icon( + require("@/assets/factor/factor03.png"), + new BMap.Size(20, 40), + { + imageOffset: new BMap.Size(0, 0, 5), // 设置图片偏移 + } + ); + var marker = new BMap.Marker(point, { icon: myIcon }); // 创建点位 + map.addOverlay(marker); + },500) + + map.centerAndZoom( + new BMap.Point(item.longitude, item.latitude), + 16 + ); // 创建点坐标 + map.setMinZoom(12); // 初始化地图,设置中心点坐标和地图级别 + map.setMaxZoom(19); + map.enableScrollWheelZoom(true); + }, }, }; diff --git a/src/views/factor/index.vue b/src/views/factor/index.vue index c0e1671..27f87e6 100644 --- a/src/views/factor/index.vue +++ b/src/views/factor/index.vue @@ -9,7 +9,10 @@ ref="factorMap" :company_list="company_list" :video_list="video_list" + :car_list="car_list" @get_company_text="get_company_text" + @get_video_text="get_video_text" + @get_car_text="get_car_text" > @@ -117,7 +153,12 @@