feat: 更新机器人状态接口,移除不接单属性并替换为可接单属性,优化相关组件逻辑
This commit is contained in:
parent
495e153db9
commit
3065abf7dd
@ -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状态接口 - 更新为实际返回的数据结构
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user