diff --git a/entry/src/main/ets/pages/Judge.ets b/entry/src/main/ets/pages/Judge.ets index 344919fb..b456c594 100644 --- a/entry/src/main/ets/pages/Judge.ets +++ b/entry/src/main/ets/pages/Judge.ets @@ -329,7 +329,7 @@ struct Index { projectCode: no2 + '', projectCodeCenter: txt2, // 白考夜间行驶非必考 - isRequired, + isRequired: (this.mode === 2 && no2 == 11) ? false : isRequired, //是否考过了 isEnd: !(this.mode === 2 && no2 == 13 && this.kssycs != '1'), //项目开始数据是否上传过 @@ -1013,6 +1013,9 @@ struct Index { case '4': return '#FF7566'; break; + case '5': + return '#FF7566' + break; default: return '#E6DECF'; break; @@ -1077,53 +1080,48 @@ struct Index { // 获取是否能人工进项目 getIsExitManualProject = (index: number) => { - const { - judgeConfigObj, - artSubject3ProjectsCodesArr, - projectsObj, - carztStr, - isManualProjectIn, - isProjectIn, - getProjectIsInRoad - } = this; - const projectCode = artSubject3ProjectsCodesArr[index]; - if (projectsObj[projectCode] === undefined) { + const projectCode = this.artSubject3ProjectsCodesArr[index]; + if (this.projectsObj[projectCode] === undefined) { return false } - const projectType = projectsObj[projectCode].type; + const projectType = this.projectsObj[projectCode].type; //不允许人工触发的项目列表,以","分隔 - const unExitManualProjects = judgeConfigObj['332'].split(',') || []; + const unExitManualProjects = this.judgeConfigObj['332'].split(',') || []; //直线行驶中不进其他考试项目(0-否 1-是) - const param348 = judgeConfigObj['348'] || '0', + const param348 = this.judgeConfigObj['348'] || '0', //里程不够允许手工点靠边停车(0-否 1-是) - param387 = judgeConfigObj['387'] || '0', + param387 = this.judgeConfigObj['387'] || '0', //里程不够不报靠边停车(0-否+1-是+2-必考项目未完成且里程不够不报项目) - param319 = judgeConfigObj['319'] || '0', + param319 = this.judgeConfigObj['319'] || '0', //人工项目是否能取消 1:可取消; - param340 = judgeConfigObj['340'] || '0', + param340 = this.judgeConfigObj['340'] || '0', //307参数里设置的项目,项目已经做过,后续不能人工触发; - param307 = (judgeConfigObj['307'] || '').split(','); + param307 = (this.judgeConfigObj['307'] || '').split(','); //非行驶状态(没有速度),人工项目不能触发(按钮灰色) - if (carztStr === '停车') { + if (this.carztStr === '停车') { + console.log("lixiao getIsExitManualProject 停车", index) return false } //车上是否能进行人工操作(0-能1-不能人工评判2-不能人工进项目3-都不能) - if (judgeConfigObj['342'] === '3' || judgeConfigObj['342'] === '2') { + if (this.judgeConfigObj['342'] === '3' || this.judgeConfigObj['342'] === '2') { + console.log("lixiao getIsExitManualProject 车上是否能进行人工操作", index) return false } //不允许人工触发的项目列表 - if (unExitManualProjects.includes(artSubject3ProjectsCodesArr[index])) { + if (unExitManualProjects.includes(this.artSubject3ProjectsCodesArr[index])) { + console.log("lixiao getIsExitManualProject 不允许人工触发的项目列表", index) return false } //项目进行中不能人工触发 - if (isProjectIn) { + if (this.isProjectIn) { + console.log("lixiao getIsExitManualProject 项目进行中不能人工触发") if (param340 == 1) { - if (isManualProjectIn && (projectsObj[projectCode].type == '2')) { + if (this.isManualProjectIn && (this.projectsObj[projectCode].type == '2')) { return true } else { return false @@ -1133,17 +1131,20 @@ struct Index { } //项目路段信息判断 - if (!getProjectIsInRoad(projectCode + '')) { + if (!this.getProjectIsInRoad(projectCode + '')) { + console.log("lixiao getIsExitManualProject 项目路段信息判断", index) return false } //@ts-ignore 直线行驶中不进其他考试项目(0-否 1-是) if (param348 == '0' && projectsObj['9']?.type == 2) { + console.log("lixiao getIsExitManualProject 直线行驶中不进其他考试项目", index) return index === 0 ? true : false } //项目已经做过,后续不能人工触发 if (param307.includes(projectCode) && (projectType == '3' || projectType == '4')) { + console.log("lixiao getIsExitManualProject 项目已经做过", index) return false } @@ -1153,6 +1154,7 @@ struct Index { //里程是否达标 && 必考项目是否全完成 return jl >= Number(examMileage) && isRequiredProjectsEnd } + console.log("lixiao getIsExitManualProject true", index) return true } // 判断项目是否在当前路段号 diff --git a/entry/src/main/ets/pages/interfaces.ts b/entry/src/main/ets/pages/interfaces.ts index 037e4536..3fb98bb7 100644 --- a/entry/src/main/ets/pages/interfaces.ts +++ b/entry/src/main/ets/pages/interfaces.ts @@ -23,6 +23,7 @@ export interface User { ksy2sfzmhm: string kslx?: string jdxx?: string + czlx?: number } export interface VideoConfig { diff --git a/entry/src/main/ets/pages/judgeSDK/judge.ts b/entry/src/main/ets/pages/judgeSDK/judge.ts index 523f5ab2..1b0aa402 100644 --- a/entry/src/main/ets/pages/judgeSDK/judge.ts +++ b/entry/src/main/ets/pages/judgeSDK/judge.ts @@ -54,6 +54,7 @@ import { examJudgeVersion } from './api/index'; import { getSyncData, upDateTableByArray } from '../../common/service/initable'; +import { Logger } from '../../common/utils/tempLogger'; const judgeTag = 'SURENJUN_JUDGE' @@ -824,6 +825,9 @@ export default class Judge { //项目开始 case 1: judgeUI.projectsObj[xmdm].type = '2'; + if (this.judgeUI.mode === 2) { + judgeUI.projectsObj[xmdm].ykType = '2'; + } if (isManualProjectIn) { //手动项目是否在进行中 this.judgeUI.isManualProjectIn = true @@ -842,17 +846,22 @@ export default class Judge { this.xmmcEndCode = xmmcCode this.xmdm = xmdm; this.xmxh = xmxh; - this.judgeUI.isProjectIn = true + if(xmdm != 13) { + this.judgeUI.isProjectIn = true + } break; //项目结束 case 2: { const xmmcCode = judgeUI.projectsObj[xmdm].projectCodeCenter; judgeUI.projectsObj[xmdm].type = (xmjs.xmhg === 0 ? '4' : '3'); + if (this.judgeUI.mode === 2) { + judgeUI.projectsObj[xmdm].ykType = (xmjs.xmhg === 0 ? '4' : '3'); + } //计算项目是否全部结束 - this.judgeUI.isProjectIn = (Reflect.ownKeys(judgeUI.projectsObj).filter( - projectKey => judgeUI.projectsObj[projectKey].type == '2').length - ) > 0; + this.judgeUI.isProjectIn = Reflect.ownKeys(judgeUI.projectsObj).filter(projectKey => { + return judgeUI.projectsObj[projectKey].type == '2' || judgeUI.projectsObj[projectKey].ykType == '2' + }).length > 0; if (isManualProjectIn) { this.judgeUI.isManualProjectIn = false } @@ -888,7 +897,11 @@ export default class Judge { if (kf.xmdm != 20) { const type = judgeUI.projectsObj[kf.xmdm].type; judgeUI.projectsObj[kf.xmdm].type = (type == 3 || type == 4) ? '4' : '5'; + if (judgeUI.mode === 2) { + judgeUI.projectsObj[kf.xmdm].ykType = (type == 3 || type == 4) ? '4' : '5'; + } } + console.log("lixiao koufen", JSON.stringify(judgeUI.projectsObj[kf.xmdm])); break; //考车状态 @@ -913,6 +926,9 @@ export default class Judge { const voiceCode = getKmProjectCancelVoice(examSubject, xmmcCode); // avPlayer.playAudio([`voice/${voiceCode}.mp3`],true) this.judgeUI.projectsObj[xmdm].type = '1'; + if (judgeUI.mode === 2) { + this.judgeUI.projectsObj[xmdm].ykType = '1'; + } this.testKmItems[xmmcCode].status = '1'; break; } @@ -951,6 +967,9 @@ export default class Judge { this.xmxh = xmxh; this.xmmcSingleCode = xmmcSingleCode; judgeUI.projectsObj[xmdm].type = '2'; + if (judgeUI.mode === 2) { + judgeUI.projectsObj[xmdm].ykType = '2'; + } } break; @@ -1465,7 +1484,7 @@ export default class Judge { const {fourInOneScreen:{ gpsDigit }} = judgeConfig - const examType = examSubject == 2 ? 2 : 3 + const examType = 3 const {sensor,gps} = tempData; if (tempData.sensor === undefined) { return @@ -1652,26 +1671,27 @@ export default class Judge { // 所有考试项目数量 项目已考项目数量 let allProjectNum = 0, allEndProjectsNum = 0; Reflect.ownKeys(projectsObj).forEach(projectKey => { - const {type,isRequired} = projectsObj[projectKey]; + console.info(judgeTag, '项目状态projectsObj:' + JSON.stringify(projectsObj[projectKey])); + const {type,isRequired,ykType} = projectsObj[projectKey]; allProjectNum += 1; - if (type == 3 || type == 4) { + if (type == 3 || type == 4 || ykType == 3 || ykType == 4) { allEndProjectsNum += 1; } - if (isRequired) { projectNum += 1; - if (type == 3 || type == 4) { + if (type == 3 || type == 4 || ykType == 3 || ykType == 4) { endProjectsNum += 1; } } }) - console.info(judgeTag, '项目状态projectsObj:' + JSON.stringify(projectsObj)); console.info(judgeTag, '所有考试项目数量:' + allProjectNum) console.info(judgeTag, '必考项目数量:' + projectNum) console.info(judgeTag, '必考项目已考数量:' + endProjectsNum) //必考项目除靠边停车是否全部完成 this.judgeUI.isRequiredProjectsEnd = (projectNum - endProjectsNum === 0) + console.info(judgeTag, '必考项目除靠边停车是否全部完成:' + this.judgeUI.isRequiredProjectsEnd) this.judgeUI.isAllProjectsEnd = (allProjectNum - allEndProjectsNum === 0) + console.info(judgeTag, '所有考试项目是否全部完成:' + this.judgeUI.isAllProjectsEnd) } // 检测差分状态