feat: 更新机器人状态接口,移除不接单属性并替换为可接单属性,优化相关组件逻辑

This commit is contained in:
xudan 2025-09-29 11:09:54 +08:00
parent 495e153db9
commit 3065abf7dd
4 changed files with 6 additions and 9 deletions

View File

@ -25,7 +25,6 @@ export type RobotPen = Pen & {
isFault?: boolean;
isCharging?: boolean; // 是否充电中
isCarrying?: boolean; // 是否载货
isNotAcceptingOrders?: boolean; // 是否不接单
path?: { x: number; y: number }[];
angle?: number;
};
@ -48,7 +47,6 @@ export interface RobotInfo {
isLoading?: 0 | 1; // 载货状态1载货0空载实时数据透传
isCharging?: boolean; // 是否充电中
isCarrying?: boolean; // 是否载货
isNotAcceptingOrders?: boolean; // 是否不接单
}
export interface RobotDetail extends RobotInfo {
@ -72,7 +70,6 @@ export interface RobotRealtimeInfo extends RobotInfo {
isFault?: boolean; // 是否故障
isCharging?: boolean; // 是否充电中
isCarrying?: boolean; // 是否载货
isNotAcceptingOrders?: boolean; // 是否不接单
}
// AMR Redis状态接口 - 更新为实际返回的数据结构

View File

@ -18,7 +18,7 @@
</div>
<div class="robot-extra-statuses">
<span v-if="robotInfo.isCarrying" class="extra-status-tag">载货中</span>
<span v-if="robotInfo.isNotAcceptingOrders" class="extra-status-tag">不接单</span>
<span v-if="!robotInfo.canOrder" class="extra-status-tag">不接单</span>
<span v-if="robotInfo.isCharging" class="extra-status-tag">充电中</span>
</div>
</div>

View File

@ -153,7 +153,7 @@ const monitorScene = async () => {
isFault,
isCharging = 0,
isCarrying = 0,
isNotAcceptingOrders = 1,
canOrder,
...rest
} = data;
@ -162,7 +162,7 @@ const monitorScene = async () => {
...rest,
isCharging: isCharging as any,
isCarrying: isCarrying as any,
isNotAcceptingOrders: isNotAcceptingOrders as any,
canOrder: canOrder as any,
});
// 2. pen
@ -184,7 +184,7 @@ const monitorScene = async () => {
if (isFault !== undefined) robotState.isFault = isFault;
if (isCharging !== undefined) robotState.isCharging = isCharging;
if (isCarrying !== undefined) robotState.isCarrying = isCarrying;
if (isNotAcceptingOrders !== undefined) robotState.isNotAcceptingOrders = isNotAcceptingOrders;
if (canOrder !== undefined) robotState.canOrder = canOrder;
// payload
if (Object.keys(robotState).length > 0) {

View File

@ -1337,11 +1337,11 @@ export class EditorService extends Meta2d {
const r2 = this.getRobotById(pen.id || '');
const toBool = (v: any) => v === true || v === 1 || v === '1';
const isCarrying = toBool(r1?.isCarrying ?? r2?.isCarrying);
const isNotAcceptingOrders = toBool(r1?.isNotAcceptingOrders ?? r2?.isNotAcceptingOrders);
const canOrder = toBool(r1?.canOrder ?? r2?.canOrder);
const isCharging = toBool(r1?.isCharging ?? r2?.isCharging);
if (isCarrying) return cargoIcon;
if (isNotAcceptingOrders) return notAcceptingOrdersIcon;
if (!canOrder) return notAcceptingOrdersIcon;
if (isCharging) return chargingIcon;
return null;
}