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

View File

@ -18,7 +18,7 @@
</div> </div>
<div class="robot-extra-statuses"> <div class="robot-extra-statuses">
<span v-if="robotInfo.isCarrying" class="extra-status-tag">载货中</span> <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> <span v-if="robotInfo.isCharging" class="extra-status-tag">充电中</span>
</div> </div>
</div> </div>

View File

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

View File

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