|
@@ -2,69 +2,69 @@
|
|
<div class="body shh_body">
|
|
<div class="body shh_body">
|
|
<div class="header">
|
|
<div class="header">
|
|
<h1 class="header_title">松花湖景区通</h1>
|
|
<h1 class="header_title">松花湖景区通</h1>
|
|
- <span class="time">2024年4月23日 星期二 上午 9:51:54</span>
|
|
|
|
|
|
+ <span class="time">{{ currentTime }}</span>
|
|
</div>
|
|
</div>
|
|
- <div class="shh_part">
|
|
|
|
- <div class="shh_part_div">
|
|
|
|
- <img src="@/assets/images/shh_part1.png"/>
|
|
|
|
- <div class="shh_txt">
|
|
|
|
- <h1>一号松花湖停车场</h1>
|
|
|
|
- <p>总车位数:100</p>
|
|
|
|
- <p>当日营收:100</p>
|
|
|
|
- <p>当月营收:100</p>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div class="shh_part">
|
|
|
|
+ <div class="shh_part_div">
|
|
|
|
+ <img src="@/assets/images/shh_part1.png"/>
|
|
|
|
+ <div class="shh_txt">
|
|
|
|
+ <h1>一号松花湖停车场</h1>
|
|
|
|
+ <p>总车位数:100</p>
|
|
|
|
+ <p>当日营收:100</p>
|
|
|
|
+ <p>当月营收:100</p>
|
|
</div>
|
|
</div>
|
|
- <div class="shh_part_div">
|
|
|
|
- <img src="@/assets/images/shh_part2.png"/>
|
|
|
|
- <div class="shh_txt">
|
|
|
|
- <h1>二号松花湖停车场</h1>
|
|
|
|
- <p>总车位数:100</p>
|
|
|
|
- <p>当日营收:100</p>
|
|
|
|
- <p>当月营收:100</p>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="shh_part_div">
|
|
|
|
- <img src="@/assets/images/shh_part3.png"/>
|
|
|
|
- <div class="shh_txt">
|
|
|
|
- <h1>三号松花湖停车场</h1>
|
|
|
|
- <p>总车位数:100</p>
|
|
|
|
- <p>当日营收:100</p>
|
|
|
|
- <p>当月营收:100</p>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="shh_part_div">
|
|
|
|
+ <img src="@/assets/images/shh_part2.png"/>
|
|
|
|
+ <div class="shh_txt">
|
|
|
|
+ <h1>二号松花湖停车场</h1>
|
|
|
|
+ <p>总车位数:100</p>
|
|
|
|
+ <p>当日营收:100</p>
|
|
|
|
+ <p>当月营收:100</p>
|
|
</div>
|
|
</div>
|
|
- <div class="shh_part_div">
|
|
|
|
- <img src="@/assets/images/shh_part4.png"/>
|
|
|
|
- <div class="shh_txt">
|
|
|
|
- <h1>四号松花湖停车场</h1>
|
|
|
|
- <p>总车位数:100</p>
|
|
|
|
- <p>当日营收:100</p>
|
|
|
|
- <p>当月营收:100</p>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="shh_part_div">
|
|
|
|
+ <img src="@/assets/images/shh_part3.png"/>
|
|
|
|
+ <div class="shh_txt">
|
|
|
|
+ <h1>三号松花湖停车场</h1>
|
|
|
|
+ <p>总车位数:100</p>
|
|
|
|
+ <p>当日营收:100</p>
|
|
|
|
+ <p>当月营收:100</p>
|
|
</div>
|
|
</div>
|
|
- <div class="shh_part_div">
|
|
|
|
- <img src="@/assets/images/shh_part5.png"/>
|
|
|
|
- <div class="shh_txt">
|
|
|
|
- <h1>五号松花湖停车场</h1>
|
|
|
|
- <p>总车位数:100</p>
|
|
|
|
- <p>当日营收:100</p>
|
|
|
|
- <p>当月营收:100</p>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="shh_part_div">
|
|
|
|
+ <img src="@/assets/images/shh_part4.png"/>
|
|
|
|
+ <div class="shh_txt">
|
|
|
|
+ <h1>四号松花湖停车场</h1>
|
|
|
|
+ <p>总车位数:100</p>
|
|
|
|
+ <p>当日营收:100</p>
|
|
|
|
+ <p>当月营收:100</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="selectDate">
|
|
|
|
- <div class="_moreMenu" >
|
|
|
|
- <ul id="myList">
|
|
|
|
- </ul>
|
|
|
|
|
|
+ <div class="shh_part_div">
|
|
|
|
+ <img src="@/assets/images/shh_part5.png"/>
|
|
|
|
+ <div class="shh_txt">
|
|
|
|
+ <h1>五号松花湖停车场</h1>
|
|
|
|
+ <p>总车位数:100</p>
|
|
|
|
+ <p>当日营收:100</p>
|
|
|
|
+ <p>当月营收:100</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <!--游船视图页面-->
|
|
|
|
- <div id="map"></div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="selectDate">
|
|
|
|
+ <div class="_moreMenu">
|
|
|
|
+ <ul id="myList">
|
|
|
|
+ </ul>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <!--游船视图页面-->
|
|
|
|
+ <div id="map"></div>
|
|
|
|
+ </div>
|
|
|
|
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
|
|
|
|
-import {getShipRoute} from "@/api/ship/shipMapping";
|
|
|
|
|
|
+import {getGpsByDid, getShipRoute} from "@/api/ship/shipMapping";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
@@ -72,32 +72,86 @@ export default {
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
dataSource: [],
|
|
dataSource: [],
|
|
- map: []
|
|
|
|
|
|
+ map: [],
|
|
|
|
+ currentTime: ''
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
|
|
+ // 初始加载时间
|
|
|
|
+ this.getCurrentTime();
|
|
|
|
+ // 每秒刷新时间
|
|
|
|
+ setInterval(() => {
|
|
|
|
+ this.getCurrentTime();
|
|
|
|
+ }, 1000);
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
this.handler();
|
|
this.handler();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ getCurrentTime() {
|
|
|
|
+ const now = new Date();
|
|
|
|
+ const year = now.getFullYear();
|
|
|
|
+ const month = now.getMonth() + 1;
|
|
|
|
+ const date = now.getDate();
|
|
|
|
+ const day = now.getDay();
|
|
|
|
+ const weekDays = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
|
|
|
|
+ const hour = now.getHours();
|
|
|
|
+ const minute = now.getMinutes();
|
|
|
|
+ const second = now.getSeconds();
|
|
|
|
+
|
|
|
|
+ const formattedMonth = month < 10 ? `0${month}` : month;
|
|
|
|
+ const formattedDate = date < 10 ? `0${date}` : date;
|
|
|
|
+ const formattedHour = hour < 10 ? `0${hour}` : hour;
|
|
|
|
+ const formattedMinute = minute < 10 ? `0${minute}` : minute;
|
|
|
|
+ const formattedSecond = second < 10 ? `0${second}` : second;
|
|
|
|
+
|
|
|
|
+ this.currentTime = `${year}年${formattedMonth}月${formattedDate}日 ${weekDays[day]} ${formattedHour}:${formattedMinute}:${formattedSecond}`;
|
|
|
|
+ },
|
|
//地图
|
|
//地图
|
|
handler() {
|
|
handler() {
|
|
getShipRoute().then(res => {
|
|
getShipRoute().then(res => {
|
|
|
|
+ let that = this
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
- this.dataSource = res.data
|
|
|
|
- this.map = new BMap.Map('map'); // 创建Map实例
|
|
|
|
- this.map.centerAndZoom(new BMap.Point(126.997589, 43.582168), 11); // 初始化地图,设置中心点坐标和地图级别
|
|
|
|
- this.map.enableScrollWheelZoom(true);
|
|
|
|
|
|
+ that.dataSource = res.data
|
|
|
|
+ let ul;
|
|
|
|
+ let dataList = that.dataSource
|
|
|
|
+ that.map = new BMap.Map('map'); // 创建Map实例
|
|
|
|
+ that.map.centerAndZoom(new BMap.Point(126.997589, 43.582168), 11); // 初始化地图,设置中心点坐标和地图级别
|
|
|
|
+ that.map.enableScrollWheelZoom(true);
|
|
let mapStyle = {
|
|
let mapStyle = {
|
|
style: 'midnight',
|
|
style: 'midnight',
|
|
};
|
|
};
|
|
- this.map.setMapStyle(mapStyle);
|
|
|
|
- let marker;
|
|
|
|
- let polyline;
|
|
|
|
- let opts;
|
|
|
|
- let ul;
|
|
|
|
- let dataList = this.dataSource
|
|
|
|
|
|
+ that.map.setMapStyle(mapStyle);
|
|
|
|
+ ul = document.getElementById('myList');
|
|
|
|
+ // 循环数组中的每个项目
|
|
|
|
+ dataList.forEach(function (item) {
|
|
|
|
+ // 创建一个新的li元素
|
|
|
|
+ var li = document.createElement('li');
|
|
|
|
+ // 设置li元素的内容
|
|
|
|
+ li.textContent = item.shipName;
|
|
|
|
+ li.style.transform = 'translateX(22px)';
|
|
|
|
+ // 添加点击事件处理程序
|
|
|
|
+ li.addEventListener('click', function () {
|
|
|
|
+ // 在这里添加你想执行的点击事件代码
|
|
|
|
+ that.selectGpsByDid(item.registrationNumber)
|
|
|
|
+ // 可以进行其他操作,如触发其他函数或改变元素样式等
|
|
|
|
+ });
|
|
|
|
+ // 将li元素添加到ul中
|
|
|
|
+ ul.appendChild(li);
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ that.$modal.msgError("查询失败");
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ selectGpsByDid(val) {
|
|
|
|
+ this.map.clearOverlays();
|
|
|
|
+ let marker;
|
|
|
|
+ let polyline;
|
|
|
|
+ let opts;
|
|
|
|
+ getGpsByDid(val).then(res => {
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
+ let dataList = res.data
|
|
for (let i = 0; i < dataList.length; i++) {
|
|
for (let i = 0; i < dataList.length; i++) {
|
|
let pointArray = [];
|
|
let pointArray = [];
|
|
for (let j = 0; j < dataList[i].polylinePath.length; j++) {
|
|
for (let j = 0; j < dataList[i].polylinePath.length; j++) {
|
|
@@ -107,11 +161,10 @@ export default {
|
|
strokeColor: dataList[i].color,
|
|
strokeColor: dataList[i].color,
|
|
strokeWeight: 5,
|
|
strokeWeight: 5,
|
|
strokeOpacity: 0.5
|
|
strokeOpacity: 0.5
|
|
- }); //创建折线
|
|
|
|
|
|
+ });//创建折线
|
|
// 创建小船图标
|
|
// 创建小船图标
|
|
var myIcon = new BMap.Icon(require("@/assets/images/ship.png"), new BMap.Size(52, 26));
|
|
var myIcon = new BMap.Icon(require("@/assets/images/ship.png"), new BMap.Size(52, 26));
|
|
marker = new BMap.Marker(new BMap.Point(dataList[i].polylinePath[0].lng, dataList[i].polylinePath[0].lat), {icon: myIcon}); // 创建点
|
|
marker = new BMap.Marker(new BMap.Point(dataList[i].polylinePath[0].lng, dataList[i].polylinePath[0].lat), {icon: myIcon}); // 创建点
|
|
-
|
|
|
|
opts = {
|
|
opts = {
|
|
width: 100, // 信息窗口宽度
|
|
width: 100, // 信息窗口宽度
|
|
height: 80, // 信息窗口高度
|
|
height: 80, // 信息窗口高度
|
|
@@ -126,31 +179,11 @@ export default {
|
|
});
|
|
});
|
|
this.map.addOverlay(polyline);
|
|
this.map.addOverlay(polyline);
|
|
this.map.addOverlay(marker);
|
|
this.map.addOverlay(marker);
|
|
-
|
|
|
|
}
|
|
}
|
|
- ul = document.getElementById('myList');
|
|
|
|
- // 循环数组中的每个项目
|
|
|
|
- dataList.forEach(function (item) {
|
|
|
|
- // 创建一个新的li元素
|
|
|
|
- var li = document.createElement('li');
|
|
|
|
- // 设置li元素的内容
|
|
|
|
- li.textContent = item.shipName;
|
|
|
|
- li.style.transform = 'translateX(22px)';
|
|
|
|
- // 将li元素添加到ul中
|
|
|
|
- ul.appendChild(li);
|
|
|
|
- });
|
|
|
|
} else {
|
|
} else {
|
|
this.$modal.msgError("查询失败");
|
|
this.$modal.msgError("查询失败");
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- },
|
|
|
|
- tabClick() {
|
|
|
|
- let that = this
|
|
|
|
- setTimeout(that.taskJob(), 1000
|
|
|
|
- )
|
|
|
|
- },
|
|
|
|
- taskJob() {
|
|
|
|
- this.map.panTo(new BMap.Point(126.997590, 43.582169)); // 初始化地图,设置中心点坐标和地图级别
|
|
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|