不显示无任务车、任务民换成车牌号、

main
许宏杰 6 months ago
parent 839fc0058b
commit a5325e10eb

@ -1,6 +1,6 @@
<template> <template>
<div class="map-container"> <div class="map-container">
<div class="input-search" ref="targetElement"> <div class="input-search" id="targetElement">
<div class="search-box"> <div class="search-box">
<input <input
type="text" type="text"
@ -150,6 +150,16 @@ export default {
document.addEventListener("click", this.handleClickOutside); document.addEventListener("click", this.handleClickOutside);
}, },
methods: { methods: {
//
handleClickOutside(event) {
if (
this.show &&
!document.getElementById("targetElement").contains(event.target)
) {
this.show = false;
}
},
/**获取车辆接口 */ /**获取车辆接口 */
async carPoint(isBoole) { async carPoint(isBoole) {
let res = await getCarPoint(this.carQuery); let res = await getCarPoint(this.carQuery);
@ -242,122 +252,128 @@ export default {
this.mapLayer.car.enabledEvent = false; // addGraphic this.mapLayer.car.enabledEvent = false; // addGraphic
for (let index = 0; index < this.list.length; index++) { for (let index = 0; index < this.list.length; index++) {
let item = this.list[index]; let item = this.list[index];
const graphic = new mars3d.graphic.ModelEntity({ if (item.missionId) {
id: `car${item.carId}`, //
// position: new mars3d.LngLatPoint( const graphic = new mars3d.graphic.ModelEntity({
// parseFloat(item.lng), id: `car${item.carId}`,
// parseFloat(item.lat), // position: new mars3d.LngLatPoint(
// 30 // parseFloat(item.lng),
// ), // parseFloat(item.lat),
style: { // 30
url: this.carUrl, // ),
scale: 0.5, style: {
minimumPixelSize: 32, url: this.carUrl,
silhouette: true, scale: 0.5,
silhouetteColor: "#008cff", minimumPixelSize: 32,
pitch: 0, //
roll: 0, //
highlight: {
type: "click",
silhouette: true, silhouette: true,
silhouetteColor: "#FFB200", silhouetteColor: "#008cff",
}, pitch: 0, //
}, roll: 0, //
circle: { highlight: {
radius: 200, type: "click",
fill: false, silhouette: true,
materialType: mars3d.MaterialType.CircleWave, silhouetteColor: "#FFB200",
materialOptions: { },
color: "#FFB200",
count: 2,
speed: 6,
}, },
},
attr: {
index: item.carId,
missionId: item.missionId,
missionName: item.missionName,
missionType: item.missionType,
},
});
this.mapLayer.car.addGraphic(graphic);
this.mapLayer.car.enabledEvent = true; //
graphic.bindPopup(
() => {
let html = `<div id="car${item.carId}" class="carPlate">
<img src="${require(`../assets/images/carType${item.missionType}.png`)}" class="carType"/>
${item.missionName}
</div>`;
return html;
},
{
closeButton: false, //
className: "car-page-popup",
pointerEvents: false, //DIVfalse穿
closeOnClick: false, //Map
autoClose: false, //
toggle: false, //Popup
}
);
graphic.openPopup();
graphic.on(mars3d.EventType.highlightOpen, (e) => {
e.target.setOptions({
//
circle: { circle: {
fill: true, radius: 200,
fill: false,
materialType: mars3d.MaterialType.CircleWave,
materialOptions: {
color: "#FFB200",
count: 2,
speed: 6,
},
},
attr: {
index: item.carId,
missionId: item.missionId,
missionName: item.missionName,
missionType: item.missionType,
}, },
}); });
this.handleCarActive({ this.mapLayer.car.addGraphic(graphic);
id: e.target._id, this.mapLayer.car.enabledEvent = true; //
color: "#FFB200", graphic.bindPopup(
image: require(`../assets/images/carType${e.target.attr.missionType}-s.png`), () => {
}); let html = `<div id="car${item.carId}" class="carPlate">
}); <img src="${require(`../assets/images/carType${item.missionType}.png`)}" class="carType"/>
graphic.on(mars3d.EventType.highlightClose, (e) => { ${item.carPlate}
e.target.setOptions({ </div>`;
circle: { return html;
fill: false,
}, },
{
closeButton: false, //
className: "car-page-popup",
pointerEvents: false, //DIVfalse穿
closeOnClick: false, //Map
autoClose: false, //
toggle: false, //Popup
}
);
graphic.openPopup();
graphic.on(mars3d.EventType.highlightOpen, (e) => {
e.target.setOptions({
//
circle: {
fill: true,
},
});
this.handleCarActive({
id: e.target._id,
color: "#FFB200",
image: require(`../assets/images/carType${e.target.attr.missionType}-s.png`),
});
}); });
this.handleCarActive({ graphic.on(mars3d.EventType.highlightClose, (e) => {
id: e.target._id, e.target.setOptions({
color: "#008cff", circle: {
image: require(`../assets/images/carType${e.target.attr.missionType}.png`), fill: false,
},
});
this.handleCarActive({
id: e.target._id,
color: "#008cff",
image: require(`../assets/images/carType${e.target.attr.missionType}.png`),
});
}); });
});
this.$nextTick(() => { this.$nextTick(() => {
if (type) { if (type) {
console.log(type); console.log(type);
// //
graphic.openHighlight(); graphic.openHighlight();
} }
}); });
graphic.on(mars3d.EventType.click, (e) => { graphic.on(mars3d.EventType.click, (e) => {
const attr = e.target.attr; const attr = e.target.attr;
if (!attr.missionId) { if (!attr.missionId) {
this.$modal.msgError("该车辆暂无任务!"); this.$modal.msgError("该车辆暂无任务!");
return; return;
} }
this.$router.push({ this.$router.push({
path: "/carInfo", path: "/carInfo",
query: { query: {
carId: e.target.attr.index, carId: e.target.attr.index,
missionId: attr.missionId, missionId: attr.missionId,
missionName: item.missionName, missionName: item.missionName,
}, },
});
}); });
}); }
} }
// setInterval // setInterval
this.changePosition(0); this.changePosition(0);
const interval = 10; const interval = 10;
this.changePosition(interval); this.changePosition(interval);
this.time = setInterval(() => {
this.changePosition(interval); //
}, interval * 1000); if (process.env.NODE_ENV === "production") {
this.time = setInterval(() => {
this.changePosition(interval);
}, interval * 1000);
}
}, },
async changePosition(interval) { async changePosition(interval) {

Loading…
Cancel
Save