|
@@ -5,7 +5,7 @@ import router from '@ohos.router';
|
|
|
import {InfoRow} from '../component/RgvControlView'
|
|
|
import RobotErrorHandleRequest from '../common/util/request/RobotErrorHandleRequest'
|
|
|
import WorkOrderInfo from '../viewmodel/wms/WorkOrderInfo'
|
|
|
-import {RgvButton,RobotSelector,MoveControllerButton,CommonConfirmDialog,MoveDialog}from "../component/RgvControlView"
|
|
|
+import {RgvButton,RemindDialog,MoveControllerButton,CommonConfirmDialog,MoveDialog}from "../component/RgvControlView"
|
|
|
import {RobotInfo,RgvInfo,ErrorMessage,RequestParam,ConfirmDialogParams,RobotSingleMovePost} from "../params/RobotsParam"
|
|
|
import CommonConstants from '../common/constants/CommonConstants'
|
|
|
const TAG: string = 'RGV'
|
|
@@ -31,35 +31,68 @@ struct RgvControl {
|
|
|
@State rgvBatteryLevel : string = ""
|
|
|
@State rgvCurrentStatus: string = ""
|
|
|
@State rgvInfoInterval: number = 0;
|
|
|
+ @State reminds:string='1'
|
|
|
|
|
|
commonDialogController: CustomDialogController | null = null;
|
|
|
+ remindController: CustomDialogController = new CustomDialogController({
|
|
|
+ builder: RemindDialog({
|
|
|
+ remind: this.reminds,}
|
|
|
+ ),
|
|
|
+ customStyle: true,
|
|
|
+ maskColor: 'rgba(0,0,0,0.6)',
|
|
|
+ autoCancel:false
|
|
|
+ })
|
|
|
// rgv开机
|
|
|
executePowerOn = async()=>{
|
|
|
try {
|
|
|
+ this.reminds = '机器人开机中,请稍后....'
|
|
|
+ this.remindController.open()
|
|
|
// 第一步:开启电机
|
|
|
let res: object= await RobotErrorHandleRequest.post('/api/v1/wcs/rgv/rgvPowerOn', {
|
|
|
rgvNo: this.robotsList[this.selectRobotIndex].robotCode,
|
|
|
- option: 'motor'
|
|
|
+ option: 'mcu'
|
|
|
} as RequestParam);
|
|
|
console.log(TAG,'电机启动:' + res.toString());
|
|
|
|
|
|
- // 第二步:延迟 5 秒后开启主电源
|
|
|
await delayExecution(async () => {
|
|
|
- res = await RobotErrorHandleRequest.post('/api/v1/wcs/rgv/rgvPowerOn', {
|
|
|
- rgvNo: this.robotsList[this.selectRobotIndex].robotCode,
|
|
|
- option: 'mainPower'
|
|
|
- } as RequestParam);
|
|
|
- console.log(TAG,'主电源启动:' + res.toString());
|
|
|
- }, 5000);
|
|
|
+ this.remindController.close()
|
|
|
+ let res: RgvInfo = await RobotErrorHandleRequest.get('/api/v1/wcs/rgv/' + this.robotsList[this.selectRobotIndex].robotCode, {}) as RgvInfo
|
|
|
+ console.log('小车开机http:' + JSON.stringify(res))
|
|
|
+ if(res) {
|
|
|
+ if(res.x != res.rx || res.y != res.ry)
|
|
|
+ {
|
|
|
+ this.reminds = "小车位置错误,请重新设置!"
|
|
|
+ AlertDialog.show({
|
|
|
+ title: "小车异常",
|
|
|
+ message: this.reminds,
|
|
|
+ confirm: {
|
|
|
+ value: "确定",
|
|
|
+ action: () => {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, 3000);
|
|
|
+
|
|
|
+ // 第二步:延迟 5 秒后开启主电源
|
|
|
+ // await delayExecution(async () => {
|
|
|
+ // res = await RobotErrorHandleRequest.post('/api/v1/wcs/rgv/rgvPowerOn', {
|
|
|
+ // rgvNo: this.robotsList[this.selectRobotIndex].robotCode,
|
|
|
+ // option: 'mainPower'
|
|
|
+ // } as RequestParam);
|
|
|
+ // console.log(TAG,'主电源启动:' + res.toString());
|
|
|
+ // }, 5000);
|
|
|
|
|
|
// 第三步:再延迟 5 秒后开启 MCU
|
|
|
- await delayExecution(async () => {
|
|
|
- res = await RobotErrorHandleRequest.post('/api/v1/wcs/rgv/rgvPowerOn', {
|
|
|
- rgvNo: this.robotsList[this.selectRobotIndex].robotCode,
|
|
|
- option: 'mcu'
|
|
|
- } as RequestParam);
|
|
|
- console.log(TAG,'MCU 启动:' + res.toString());
|
|
|
- }, 5000);
|
|
|
+ // await delayExecution(async () => {
|
|
|
+ // res = await RobotErrorHandleRequest.post('/api/v1/wcs/rgv/rgvPowerOn', {
|
|
|
+ // rgvNo: this.robotsList[this.selectRobotIndex].robotCode,
|
|
|
+ // option: 'mcu'
|
|
|
+ // } as RequestParam);
|
|
|
+ // console.log(TAG,'MCU 启动:' + res.toString());
|
|
|
+ // }, 5000);
|
|
|
|
|
|
} catch (error) {
|
|
|
console.error(TAG,'开机流程失败:', error);
|
|
@@ -68,6 +101,8 @@ struct RgvControl {
|
|
|
// rgv关机
|
|
|
executeShutdown=async()=>{
|
|
|
try {
|
|
|
+ this.reminds = '机器人关机中,请稍后....'
|
|
|
+ this.remindController.open()
|
|
|
let res: object = await RobotErrorHandleRequest.post('/api/v1/wcs/rgv/TurnChargingSwitch', {
|
|
|
rgvNo: this.robotsList[this.selectRobotIndex].robotCode,
|
|
|
option: 'off'
|
|
@@ -99,7 +134,7 @@ struct RgvControl {
|
|
|
} as RequestParam);
|
|
|
console.log(TAG,'MCU 关闭:' + res.toString());
|
|
|
}, 5000);
|
|
|
-
|
|
|
+ this.remindController.close()
|
|
|
} catch (error) {
|
|
|
console.error(TAG,'关机流程失败:', error);
|
|
|
}
|
|
@@ -195,6 +230,19 @@ struct RgvControl {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //设置小车位置
|
|
|
+ executeSetPosition = async()=>{
|
|
|
+ try {
|
|
|
+ let res: object = await RobotErrorHandleRequest.post('/api/v1/wcs/rgv/newposition', {
|
|
|
+ rgvNo: this.robotsList[this.selectRobotIndex].robotCode,
|
|
|
+ x: this.rgvEndX.toString(),
|
|
|
+ y: this.rgvEndY.toString()
|
|
|
+ } as RequestParam)
|
|
|
+ } catch (error) {
|
|
|
+ console.error(TAG,'终点移动位置:', error);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//位移移动
|
|
|
executeAxisMove = async () => {
|
|
|
try {
|
|
@@ -263,10 +311,12 @@ struct RgvControl {
|
|
|
this.commonDialogController.open();
|
|
|
}
|
|
|
|
|
|
- dialogController: CustomDialogController = new CustomDialogController({
|
|
|
+ endMoveDialog: CustomDialogController = new CustomDialogController({
|
|
|
builder: MoveDialog({
|
|
|
rgvEndX:this.rgvEndX,
|
|
|
rgvEndY:this.rgvEndY,
|
|
|
+ title:"终点移动",
|
|
|
+ info:"设置终点坐标",
|
|
|
onConfirm: () => { this.executeEndMove()}
|
|
|
}),
|
|
|
cancel: () => console.log('弹窗关闭'),
|
|
@@ -275,6 +325,20 @@ struct RgvControl {
|
|
|
maskColor: 'rgba(0,0,0,0.8)', // 黑色遮罩
|
|
|
})
|
|
|
|
|
|
+ settingPositionDialog: CustomDialogController = new CustomDialogController({
|
|
|
+ builder: MoveDialog({
|
|
|
+ title:"当前位置",
|
|
|
+ info:"设置当前坐标",
|
|
|
+ rgvEndX:this.rgvEndX,
|
|
|
+ rgvEndY:this.rgvEndY,
|
|
|
+ onConfirm: () => { this.executeSetPosition()}
|
|
|
+ }),
|
|
|
+ cancel: () => console.log('弹窗关闭'),
|
|
|
+ autoCancel: true, // 点击遮罩关闭
|
|
|
+ customStyle: true,
|
|
|
+ maskColor: 'rgba(0,0,0,0.8)', // 黑色遮罩
|
|
|
+ })
|
|
|
+
|
|
|
loadRgvSelection=()=>{
|
|
|
if (this.robotsList && this.robotsList.length > 0) {
|
|
|
for (const robot of this.robotsList ) {
|
|
@@ -373,10 +437,18 @@ struct RgvControl {
|
|
|
.objectFit(ImageFit.Contain)
|
|
|
.interpolation(ImageInterpolation.High)
|
|
|
//.fillColor($r('app.color.0A84FF'))
|
|
|
- Image($r('app.media.rgv_set_position'))
|
|
|
- .height($r('app.float.virtualSize_22_4'))
|
|
|
- .width($r('app.float.virtualSize_22_4'))
|
|
|
- .fillColor($r('app.color.FFFFFF'))
|
|
|
+ Column(){
|
|
|
+ Image($r('app.media.rgv_set_position'))
|
|
|
+ .height($r('app.float.virtualSize_22_4'))
|
|
|
+ .width($r('app.float.virtualSize_22_4'))
|
|
|
+ .fillColor($r('app.color.FFFFFF'))
|
|
|
+ .onClick(()=>{
|
|
|
+ this.settingPositionDialog.open();
|
|
|
+ })
|
|
|
+ Text('设置小车位置')
|
|
|
+ .fontColor($r('app.color.FFFFFF'))
|
|
|
+ .fontSize($r('app.float.fontSize_8'))
|
|
|
+ }
|
|
|
}
|
|
|
.height('40%')
|
|
|
.width('100%')
|
|
@@ -628,7 +700,7 @@ struct RgvControl {
|
|
|
text:"终点移动",
|
|
|
icon:$r('app.media.rgv_end_position'),
|
|
|
onButtonClick: () => {
|
|
|
- this.dialogController.open()
|
|
|
+ this.endMoveDialog.open()
|
|
|
}
|
|
|
}).height('16%').width('80%')
|
|
|
}.height('48%')
|