diff --git a/entry/src/main/ets/entryability/EntryAbility.ts b/entry/src/main/ets/entryability/EntryAbility.ts index 32e03d17..d9f69815 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ts +++ b/entry/src/main/ets/entryability/EntryAbility.ts @@ -43,11 +43,11 @@ export default class EntryAbility extends UIAbility { // globalThis.judgeVersion = '2023.07.10.1' /***************** 杭州科目二 ******************/ - globalThis.version = '2024.11.22.44' - globalThis.judgeVersion = '2024.11.22.44' + globalThis.version = '2022 03 14 01' + globalThis.judgeVersion = '2022 03 17 1' - /***********************************/ - // globalThis.version = '2023.12.13.01'//济南 + /****************** 济南科目三 *****************/ + // globalThis.version = '2023.12.13.01'//济南科目三 // globalThis.judgeVersion = '2023.09.30.1' globalThis.videoVersion= '1.0' @@ -107,4 +107,4 @@ export default class EntryAbility extends UIAbility { makedir('/testFile'); } -} +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/Judge.ets b/entry/src/main/ets/pages/Judge.ets index af865e96..e60c814f 100644 --- a/entry/src/main/ets/pages/Judge.ets +++ b/entry/src/main/ets/pages/Judge.ets @@ -102,17 +102,17 @@ struct Index { const carInfo = result[0] || {}; this.carName = decodeURI(carInfo.carclass) this.carType = carInfo.kscx - this.carinfoArrr.push({ + this.carinfoArr.push({ CARID: carInfo.carid, IPADDR: '', CARCLASS: decodeURI(carInfo.carclass), KSCX: carInfo.kscx, - CARNAME: decodeURI(carInfo.carclass), + CARNAME: decodeURI(carInfo.carname), FLAG: carInfo.flag, BK1: carInfo.bk1, BK2: carInfo.bk2, }) - console.info('surenjun =>carinfoArrr',JSON.stringify( this.carinfoArrr)) + console.info('surenjun =>carinfoArrr',JSON.stringify( this.carinfoArr)) } // 获取考生信息 @@ -189,7 +189,7 @@ struct Index { } //科目三应行驶距离参数 if (sys.v_no == '303') { - this.examMileage = sys.v_value + ''; + this.examMileage = this.examMileage == '0'?(sys.v_value + ''): this.examMileage; } //364 绕车一周评判时机(1-开始考试后判 2-开始考试前判) @@ -259,13 +259,17 @@ struct Index { if (txt1 === carName) { carNo = no2 this.carlist = carNo - console.info('surenjun carNo => ',carNo) } } + //获取及格分数线 if(no1 == 3 && no3 == 3 && carNo === no2){ this.passingScore = Number(txt1) || 0; } + //根据车型获取应行驶里程数 + if(no1 == 3 && no3 ==15 && carNo === no2){ + this.examMileage = ((decodeURI(systemParm.txt1)) || '').split('^')[0]; + } //获取当前考车的考试项目 if (carNo !== '' && no1 == 3 && no2 == carNo && no3 == 10) { allItems = decodeURIComponent(systemParm.txt1).split(',').filter(txt => txt !== '') @@ -1287,7 +1291,7 @@ struct Index { //科目三评判初始化数据 @State systemparmArr: SYSTEMPARMARR[] = [] @State mapPointItemArr: MAPITEMPOINTITEM[] = [] - @State carinfoArrr: CARINFO[] = [] + @State carinfoArr: CARINFO[] = [] @State mapPointArr: MAPPOINT[] = [] //手动项目是否在进行中 @State isManualProjectIn: boolean = false; diff --git a/entry/src/main/ets/pages/judgeSDK/judge.ts b/entry/src/main/ets/pages/judgeSDK/judge.ts index 4760a574..7a329bdd 100644 --- a/entry/src/main/ets/pages/judgeSDK/judge.ts +++ b/entry/src/main/ets/pages/judgeSDK/judge.ts @@ -231,7 +231,7 @@ export default class Judge { const carInfo = globalThis.carInfo; const { examSubject,plateNo,carId } = carInfo; const judgeUI = this.judgeUI - const {projectsObj,itemInfoObj,markRuleListObj,carType,carName,systemparmArr} = judgeUI + const {projectsObj,itemInfoObj,markRuleListObj,carType,carName,systemparmArr,carinfoArr} = judgeUI const examType = examSubject == 2 ? 'km2' : 'km3' let allitems = []; @@ -262,7 +262,8 @@ export default class Judge { mark: Reflect.ownKeys(markRuleListObj).map(ruleKey => (markRuleListObj[ruleKey])) || testMarkRules, sysset: judgeUI.judgeConfig, itemInfoObj, - carlist:judgeUI.carlist + carlist:judgeUI.carlist, + carinfo: carinfoArr, }; let km3Config = {} @@ -532,9 +533,7 @@ export default class Judge { kmCode && avPlayer.playAudio([`voice/${kmCode}.mp3`],true) } } - if(param512[7] != 0){ - this.judgeUI.isDeductedPopShow = true - } + setTimeout(()=>{if(param512[7] != 0){this.judgeUI.isDeductedPopShow = true}},200) //项目已考不上传监管信息 if (!isEnd) { judgeTask.addTask(async () => { @@ -1416,9 +1415,8 @@ export default class Judge { //获取科目三的评判初始化配置 getKm3JudgeInitConfig = async () => { const {judgeUI,getModelData} = this; - const {carinfoArrr,mapPointArr,mapPointItemArr} = judgeUI; + const {mapPointArr,mapPointItemArr} = judgeUI; return { - carinfo: carinfoArrr, map_point: mapPointArr, map_point_item: mapPointItemArr, //科目三暂时为空 @@ -1538,7 +1536,7 @@ export default class Judge { const bytes = await this.getMessageHeartbeat(); bytes && globalThis.judgeUdp.send(bytes) - }, 50) + }, 200) globalThis.judgeTimer = judgeTimer; } diff --git a/entry/src/main/ets/pages/judgeSDK/utils/judgeCommon.ts b/entry/src/main/ets/pages/judgeSDK/utils/judgeCommon.ts index 33c0a4d2..ba0007cf 100644 --- a/entry/src/main/ets/pages/judgeSDK/utils/judgeCommon.ts +++ b/entry/src/main/ets/pages/judgeSDK/utils/judgeCommon.ts @@ -69,13 +69,13 @@ export function getDwStatusType(dw){ // 中心实时项目状态转换 export function getCenterProjectStatus(status){ switch (status){ - //不考 + //不考 case 0:return '00' - //未考 + //未考 case 1:return '01' - //正在考 + //正在考 case 2:return '10' - //已考 + //已考 case 3:return '11' default :return '00' @@ -103,37 +103,37 @@ export function getKmProjectVoice( return projectCode } switch (projectCode*1){ - //直线行驶 + //直线行驶 case 40300: return type === 1 ? 403001 : 403002 - //变更车道 + //变更车道 case 40500: return type === 1 ? 405001 : 405002 - //左转 + //左转 case 40800 : return type === 1 ? 408001 : undefined - //右转 + //右转 case 40900 : return type === 1 ? 409001 : undefined - //会车 506-6为1都报 + //会车 506-6为1都报 case 41300 : return type === 1 ? 413001 : (param506Str[5] == 1 ? undefined : 413002) - //超车 + //超车 case 41400 : return type === 1 ? (param405Str == 1 && (num == count)?undefined:414001) : undefined - //直线行驶 + //直线行驶 case 40700 : return type === 1 ? 407001 : undefined - //通过学校 结束param544Str + //通过学校 结束param544Str case 41100 : return type === 1 ? (param512Str[2] ==3 ? 411001 : undefined) : (param544Str.includes(xmxh) ? undefined : 411004) - //通过车站 + //通过车站 case 41200 : return type === 1 ? (param512Str[2] ==3 ? 412001 : undefined):undefined - //通过人行横道 + //通过人行横道 case 41000 : return type === 1? (param512Str[2] == 3 ? 410001 : undefined):undefined - //靠边停车 + //靠边停车 case 40600 : return type === 1 ? 406001 : undefined - //掉头 + //掉头 case 41500 : return type === 1 ? 415001:undefined - //加减挡为 + //加减挡为 case 40400 : return type === 1 ? undefined : undefined default :return undefined @@ -159,8 +159,8 @@ export function getKmProjectCancelVoice(examSubject,projectCode){ } // 上传监管数据code转换 export function promptWxCode( - jkid:'17C51'|'17C52' | '17C54' |'17C55' | '17C53' | '17C56', - code:number + jkid:'17C51'|'17C52' | '17C54' |'17C55' | '17C53' | '17C56', + code:number ){ let toast = ''; @@ -169,23 +169,23 @@ export function promptWxCode( return } switch (jkid){ - //考试开始 + //考试开始 case '17C51': - switch (code){ - case -1:toast = '无预约信息';break; - case -2:toast = '约考不是今天';break; - case -2:toast = '已满当天允许考试次数';break; - case -2:toast = '考生身份不合法';break; - case -2:toast = '科目考试系统不合法';break; - case -2:toast = '无考生分组信息';break; - case -2:toast = '分组考官和考生不四配';break; - case -8:toast = '考场信息合法';break; - case -9:toast = '考试员信息不合法';break; - case -10:toast = '科目考试系统时间不合法';break; - case -90:toast = '已进行了考试身份验证,无需重复验证!';break; - } + switch (code){ + case -1:toast = '无预约信息';break; + case -2:toast = '约考不是今天';break; + case -2:toast = '已满当天允许考试次数';break; + case -2:toast = '考生身份不合法';break; + case -2:toast = '科目考试系统不合法';break; + case -2:toast = '无考生分组信息';break; + case -2:toast = '分组考官和考生不四配';break; + case -8:toast = '考场信息合法';break; + case -9:toast = '考试员信息不合法';break; + case -10:toast = '科目考试系统时间不合法';break; + case -90:toast = '已进行了考试身份验证,无需重复验证!';break; + } - //项目开始 + //项目开始 case '17C52': switch (code){ case 0:toast = '存在作弊嫌疑,已被取消或暂停考试';break; @@ -206,7 +206,7 @@ export function promptWxCode( default:toast = '';break; } break; - //过程照片 + //过程照片 case '17C54': switch (code){ case -1:toast = '无当前科目考试信息';break; @@ -217,7 +217,7 @@ export function promptWxCode( case -6:toast = '存在未结束的考试项目!';break; } break; - //项目结束 + //项目结束 case '17C55': switch (code){ case -1:toast = '无当前考试项目开始信息';break; @@ -236,7 +236,7 @@ export function promptWxCode( default:break; } break; - //扣分 + //扣分 case '17C53': switch (code){ case 0:toast = '已存在同一时间的同一扣分记录';break @@ -253,7 +253,7 @@ export function promptWxCode( default:toast = '';break } break; - //考试结束 + //考试结束 case '17C56': switch (code){ case -1:toast = '无当前科目考试信息';break; @@ -345,9 +345,9 @@ export const plcStrToWXJson = async (plc:string) =>{ } const judgeSignal = [ // 车门 安全带 熄火 发动机启动 左转向 右转向 前照灯近灯 前照灯远灯 - p[14], p[19], p[5], p[6], p[2], p[3], p[7], p[8], + p[14], p[19], p[5], p[6], p[2], p[3], p[7], p[8], // 注车制动 行车制动 离合器 副制动 喇叭 雨刷 危险报警灯 示廓灯 系统未涉及的传感器信号 - p[13], p[12], p[17], p[18], p[4], p[11], p[20], p[9], 0 + p[13], p[12], p[17], p[18], p[4], p[11], p[20], p[9], 0 ] const judgeAnotherSignal = [ // 低三挡位 左侧单边桥1 左侧单边桥2 右侧单边桥1 右侧单边桥2 雾灯 @@ -361,7 +361,7 @@ export const plcStrToWXJson = async (plc:string) =>{ //前天线可用星数 后天线可用星数 东向坐标位置 北向位置坐标 天向位置坐标 东向速度 北向速度 天向速度 '', '', '', '', '', '', '', '', //@ts-ignore 评判信号1 评判信号2 发动机转速 - (judgeSignal.join('')*1).toString(16), (judgeAnotherSignal.join('')*1).toString(16) , p[25], + (judgeSignal.join('')*1).toString(16), (judgeAnotherSignal.join('')*1).toString(16) , p[25], '0xFFFFFFF' ] const wuXiDataStr = wuXiData.join(',') @@ -440,25 +440,25 @@ export function sendRed(){ } export const defaultJudgeConfigObj = { -//结束考试方式 0-不合格继续 1-考试不合格报靠边停车 2-不合格不报靠边 3-训练不合格报靠边 4-自动退出 5-不合格自动退出 + //结束考试方式 0-不合格继续 1-考试不合格报靠边停车 2-不合格不报靠边 3-训练不合格报靠边 4-自动退出 5-不合格自动退出 302:'5', 332:'', -//是否能进行人工操作 0-不能人工评判 1-不能人工进项目 3-都不能 + //是否能进行人工操作 0-不能人工评判 1-不能人工进项目 3-都不能 342:'', -//有项目未结束时可以靠边停车 0-否 1-是 + //有项目未结束时可以靠边停车 0-否 1-是 343:'1', -//考试未结束且有扣分,是否可以退出 + //考试未结束且有扣分,是否可以退出 344:'0', -//直线行驶中是否可以进其它项目 0-否 1-是 + //直线行驶中是否可以进其它项目 0-否 1-是 348:'0', -//车上是否能点结束考试 0:否 1:是 + //车上是否能点结束考试 0:否 1:是 353:'0', -//是否启动断电续考 0:否 1:是 + //是否启动断电续考 0:否 1:是 369:'1', -//是否显示应考里程 + //是否显示应考里程 375:'0', -//里程不够允许手工点靠边停车 + //里程不够允许手工点靠边停车 387:'0', -//监管模式有扣分续考(0-否++1-是+把上次未考完的扣分带下来重新考试) + //监管模式有扣分续考(0-否++1-是+把上次未考完的扣分带下来重新考试) 432:'1' } \ No newline at end of file