From 653ba9a7c87d902b846f1258724ec94eeaa282da Mon Sep 17 00:00:00 2001 From: Xu Zhimeng Date: Sat, 12 Oct 2024 13:53:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0Route=E4=B8=ADShip?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=97=B6=E7=9A=84=E7=A7=BB=E5=8A=A8=E5=9B=BE?= =?UTF-8?q?=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + src/views/stationOperation/components/Map.vue | 10 +++++++--- src/views/stationOperation/components/MapPane.vue | 9 ++++++--- src/views/stationOperation/index.vue | 4 ++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index dd0b79e..7c3eaab 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ dist ## front /yarn-error.log dist.zip +.vscode/settings.json diff --git a/src/views/stationOperation/components/Map.vue b/src/views/stationOperation/components/Map.vue index 23ea837..2283a03 100644 --- a/src/views/stationOperation/components/Map.vue +++ b/src/views/stationOperation/components/Map.vue @@ -135,8 +135,12 @@ export default { ) }, - // 按路线运动 - animateByRoute(coordinates) { + /** + * 按路线运动 + * @param coordinates 坐标 + * @param { 'Car' | 'Ship' } type 类型 + */ + animateByRoute(coordinates, type) { if (!coordinates) { return } @@ -158,7 +162,7 @@ export default { }, { image: new Icon({ - src: MarkerIcon[MarkerType.Car], + src: MarkerIcon[MarkerType[type]], anchor: [0.65, 0.5], }), }, diff --git a/src/views/stationOperation/components/MapPane.vue b/src/views/stationOperation/components/MapPane.vue index a2b24ae..2df272a 100644 --- a/src/views/stationOperation/components/MapPane.vue +++ b/src/views/stationOperation/components/MapPane.vue @@ -553,7 +553,7 @@ export default { // 如果切换到轨迹绘制页面,则使用上一次的轨迹先绘制一遍 if (active == 3) { if (this.lastRoute) { - this.$emit('drawRoute', this.lastRoute) + this.$emit('drawRoute', this.lastRoute, this.lastRouteType) } this.$emit('changeMarker', []) @@ -912,8 +912,10 @@ export default { } this.lastRoute = result.map(({ lon, lat }) => [lon, lat]) + const find = this.stationSelectOptions.find((item) => item.value == this.routeParams.stationCode) + this.lastRouteType = find ? find.stationType : 'Car' - this.$emit('drawRoute', this.lastRoute) + this.$emit('drawRoute', this.lastRoute, this.lastRouteType) } else { this.$message.error(message) } @@ -945,9 +947,10 @@ export default { stationSelectOptions() { return this.originalDataList .filter(({ stationType }) => stationType == 'Car' || stationType == 'Ship') - .map(({ stationName: label }) => ({ + .map(({ stationName: label, stationType }) => ({ label, value: label, + stationType, })) }, }, diff --git a/src/views/stationOperation/index.vue b/src/views/stationOperation/index.vue index 01912fd..c9ddbc0 100644 --- a/src/views/stationOperation/index.vue +++ b/src/views/stationOperation/index.vue @@ -565,8 +565,8 @@ export default { }, // 绘制轨迹 - handleDrawRoute(routes) { - this.$refs.mapRef.animateByRoute(routes) + handleDrawRoute(routes, type) { + this.$refs.mapRef.animateByRoute(routes, type) }, }, }