Compare commits

...

2 Commits

Author SHA1 Message Date
Surenjun
d2e795c82f feat:1. 靠边停车项目进行中不能退出 2.344参数修改 2025-07-29 15:07:29 +08:00
Surenjun
94b3b2e96a feat:安全员代码 2025-07-24 08:21:02 +08:00
2 changed files with 63 additions and 8 deletions

View File

@ -920,6 +920,25 @@ struct Index {
.backgroundImage($rawfile('judge/anniu_nor.png'), ImageRepeat.NoRepeat)
.backgroundImageSize({ width: '100%', height: '100%' })
.onClick(() => {
//靠边停车进行中&且其它项目都已经完成 不能结束
if(!this.singlePlay && this.projectsObj['40600']?.type == '2' && this.isRequiredProjectsEnd){
Prompt.showToast({
message: '靠边停车项目进行中,不允许手动退出!',
duration: 4000
});
return
}
//考试未结束且有扣分,不允许退出
if (!this.singlePlay && this.judgeConfigObj['344'] == 1 && this.kfArr.length > 0&& !this.isAllProjectsEnd ) {
Prompt.showToast({
message: '考试未结束且有扣分,不允许手动退出!',
duration: 4000
});
return
}
// this.vocObj.playAudio({
// type: 1,
// name: 'button_media.wav'
@ -1029,13 +1048,7 @@ struct Index {
router.back()
return
}
if (this.judgeConfigObj['344'] == 1) {
Prompt.showToast({
message: '考试未结束,不允许手动退出!',
duration: 4000
});
return
}
this.endPopupVisible = false;
this.loadingPopupVisible = true
clearInterval(this.timer);
@ -1427,7 +1440,7 @@ struct Index {
// 必考项目除靠边停车是否全部完成
@State isRequiredProjectsEnd: boolean = false;
// 考试项目是否全部完成
// @State isAllProjectsEnd: boolean = false;
@State isAllProjectsEnd: boolean = false;
@State lane: LANE = { road: '', num: 0, count: 0 }
@State roadData: Object = {};
//定位差分状态时候正常

View File

@ -0,0 +1,42 @@
import socket from '@ohos.net.socket';
class SafetyOfficer{
// 是否开启安全员
private isOpen:boolean = false
// 心跳端口
private heartBeatPort:number = 8054
// 数据端口
private dataPort:number = 8052
// 本地端口
private localUdpPort:number = 19961
udpClient:socket.UDPSocket
//协议格式:帧头,数据长度,流水号,消息标识,数据区,保留,帧尾
constructor(context) {
let udp: socket.UDPSocket = socket.constructUDPSocketInstance();
this.udpClient = udp
}
//初始化指令
heartBeatFn = async ()=> {
//车牌号 时间戳 空 空 空 空 空 @
'$SBXS,85,20250603115529563,B202,赣A78QK6@360803200602253517@1@20250603115523132@@@@@李从星@001@@001@2506455453517,05,*SBJS'
}
//开始考试
beginExamFn = async ()=>{
//车牌号 考试身份证 状态 开始考试时间 考试次数 考车信息 窗户标注信息 方向盘标注信息 考生姓名 安全员编号 是否合格 安全员姓名 流水号
}
//结束考试
endExamFn = async ()=>{
//车牌号 考试身份证 状态 开始考试时间 考试次数 考车信息 窗户标注信息 方向盘标注信息 考生姓名 安全员编号 是否合格 安全员姓名 流水号
}
//obd&gps相关数据
sendObdData = async ()=>{
//考试员号 考试车型 车牌号 科目类型+考试开始时间 设备信号状态 速度 发动机转速 GPS纬度 GPS经度 主天线位置 GPS东向距离 GPS北向距离
//航向角 俯仰角 高程 项目状态 当前项目编号 场地设备编号 本次考试行驶总距离 扣分值 扣分项数量 n个扣分序号 考车车型 车牌号
//工控机是否在播报语音 安全员姓名
}
}