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