From 21225161da6a6521b739b99ee7ec15c6a619282f Mon Sep 17 00:00:00 2001 From: chndfang Date: Mon, 16 Jun 2025 00:24:11 +0800 Subject: [PATCH 1/2] feat: add success message --- mocks/scene/pushById | 5 +++++ src/_ant.scss | 16 +++++++++++++--- src/pages/scene-editor.vue | 9 ++++++--- 3 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 mocks/scene/pushById diff --git a/mocks/scene/pushById b/mocks/scene/pushById new file mode 100644 index 0000000..270bbc8 --- /dev/null +++ b/mocks/scene/pushById @@ -0,0 +1,5 @@ +{ + "code": 200, + "success": true, + "message": "模拟提示" +} diff --git a/src/_ant.scss b/src/_ant.scss index ebc24a8..467f441 100644 --- a/src/_ant.scss +++ b/src/_ant.scss @@ -450,14 +450,24 @@ background-color: none; box-shadow: none !important; - & > .ant-message-error { + & > .ant-message-custom-content { + display: flex; + align-items: center; padding: 8px 15px; font: 400 14px/22px Roboto; color: get-color(text1); - background-color: get-color(error_bg); - border: 1px solid get-color(error_border); border-radius: 2px; + &.ant-message-success { + background-color: get-color(success_bg); + border: 1px solid get-color(success_border); + } + + &.ant-message-error { + background-color: get-color(error_bg); + border: 1px solid get-color(error_border); + } + & > .anticon { margin-inline-end: 10px; } diff --git a/src/pages/scene-editor.vue b/src/pages/scene-editor.vue index 7816a24..edf01bc 100644 --- a/src/pages/scene-editor.vue +++ b/src/pages/scene-editor.vue @@ -2,7 +2,7 @@ import { getSceneById, pushSceneById } from '@api/scene'; import { EditorService } from '@core/editor.service'; import { decodeTextFile, downloadFile, selectFile, textToBlob } from '@core/utils'; -import { Modal } from 'ant-design-vue'; +import { message, Modal } from 'ant-design-vue'; import { computed, watch } from 'vue'; import { ref } from 'vue'; import { onMounted, provide, shallowRef } from 'vue'; @@ -25,7 +25,10 @@ const readScene = async () => { }; const pushScene = async () => { - await pushSceneById(props.id); + const res = await pushSceneById(props.id); + if (!res) return Promise.reject(); + message.success(t('场景推送成功')); + return Promise.resolve(); }; //#endregion @@ -54,7 +57,7 @@ const toPush = () => centered: true, cancelText: t('返回'), okText: t('推送'), - onOk: () => pushScene(), + onOk: async () => await pushScene(), }); const importScene = async () => { From cfd1bdee1674dca4a0a38b362054c6a72f608fba Mon Sep 17 00:00:00 2001 From: chndfang Date: Tue, 17 Jun 2025 22:28:12 +0800 Subject: [PATCH 2/2] feat: add robot's target point --- README.md | 1 + src/apis/robot/type.ts | 1 + src/components/card/robot-detail-card.vue | 6 +++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e40cc3e..784ee0c 100644 --- a/README.md +++ b/README.md @@ -378,6 +378,7 @@ interface RobotInfo { canOrder?: boolean; // 接单状态 canStop?: boolean; // 急停状态 canControl?: boolean; // 控制状态 + targetPoint?: string; // 目标点位(名称) } export interface RobotDetail extends RobotInfo { isSimulative?: 0 | 1; // 是否仿真机器人 diff --git a/src/apis/robot/type.ts b/src/apis/robot/type.ts index 6b72641..1aad5b1 100644 --- a/src/apis/robot/type.ts +++ b/src/apis/robot/type.ts @@ -22,6 +22,7 @@ export interface RobotInfo { canOrder?: boolean; // 接单状态 canStop?: boolean; // 急停状态 canControl?: boolean; // 控制状态 + targetPoint?: string; // 目标点位(名称) } export interface RobotDetail extends RobotInfo { diff --git a/src/components/card/robot-detail-card.vue b/src/components/card/robot-detail-card.vue index af29b3f..a5971ff 100644 --- a/src/components/card/robot-detail-card.vue +++ b/src/components/card/robot-detail-card.vue @@ -50,7 +50,7 @@ const stateDot = computed(() => `state-${robot.value?.state}`); - {{ robot.battery ?? 0 }}% + {{ robot.battery?.toFixed() ?? 0 }}% @@ -74,6 +74,10 @@ const stateDot = computed(() => `state-${robot.value?.state}`); {{ $t('控制权') }} {{ $t(robot.canControl ? '已抢占' : '当前无控制权') }} + + {{ $t('目的地') }} + +