feat:评判更新
This commit is contained in:
		
							parent
							
								
									68821fa208
								
							
						
					
					
						commit
						65b80bb0fb
					
				| @ -294,13 +294,17 @@ struct Index { | ||||
|         this.projectsObj[no2*1] = currentProject | ||||
|         this.projectsCenterObj[txt2] = currentProject | ||||
|         this.projects.push(currentProject); | ||||
|         console.info('surenjun txt2=>',txt2) | ||||
|         //真实监管下发考试项目 | ||||
|         if(isInExam && !kStringArr.includes(txt2)){ | ||||
|           this.projectsObj[no2*1].type = '3' | ||||
| 
 | ||||
|           // this.ddxkKsxmArr.push(txt2) | ||||
|           this.projectsObj[no2*1].isUpload = true | ||||
|           this.projectsObj[no2*1].isEnd = true | ||||
|           this.isDdxk = true | ||||
|           this.ddxkKsxmArr.push(txt2) | ||||
|         } | ||||
| 
 | ||||
|       } | ||||
| 
 | ||||
|       this.systemparmArr.push({ | ||||
|         'NO1': no1 * 1, | ||||
|         'NO2': no2 * 1, | ||||
| @ -311,6 +315,8 @@ struct Index { | ||||
|       }) | ||||
|     }) | ||||
|     const projects = this.projects; | ||||
|     console.info('surenjun',JSON.stringify(this.ddxkKsxmArr)) | ||||
| 
 | ||||
|     if (!projects.length) { | ||||
|       Prompt.showToast({ | ||||
|         message: '读取数据库信息失败,请重新联网更新!', | ||||
| @ -1163,8 +1169,8 @@ struct Index { | ||||
|   //科目类型 | ||||
|   @State examSubject: 2 | 3 = 3; | ||||
|   @State ddxkTime: number = 0; | ||||
|   @State ddxkKsxmArr: string[] = [''] | ||||
|   @State ddxkKfArr: string[] = [''] | ||||
|   @State ddxkKsxmArr: string[] = [] | ||||
|   @State ddxkKfArr: string[] = [] | ||||
|   @State xmmcStr: string = '' | ||||
|   @State carztStr: string = '' | ||||
|   @State kfArr: { | ||||
|  | ||||
| @ -98,8 +98,6 @@ export default struct Index { | ||||
|         sczb, | ||||
|         kfdm, | ||||
|         wayno, | ||||
|         //TODO 真实监管项目 | ||||
|         // kString:'40200,40300,40400,40500,40700,41000,41100,41200,41300,41400,40600,41500,41700,40400,40800,40900' | ||||
|       } | ||||
|     }, router.RouterMode.Single); | ||||
| 
 | ||||
|  | ||||
| @ -609,8 +609,9 @@ struct UserInfo { | ||||
|     const avPlayer = this.avPlayer; | ||||
|     this.isLoadingPopupVisible = true | ||||
|     avPlayer.playAudio([`voice/监管通信中.mp3`], false, async () => { | ||||
|       //TODO 模拟 | ||||
|       console.info('surenjun','播放结束开始考试接口调用') | ||||
|       const {code,keystr,message} = await this.beginExam(); | ||||
|       console.info('surenjun','开始考试接口调用结束') | ||||
|       //@ts-ignore TODO code转换 | ||||
|       if (code == '' && code == undefined) { | ||||
|         promptAction.showToast({ | ||||
|  | ||||
| @ -10,6 +10,8 @@ export interface Project { | ||||
|   //项目状态:未做 正在做 及格 不及格
 | ||||
|   type?: '1' | '2' | '3' | '4' | ||||
|   //
 | ||||
|   isEnd:boolean, | ||||
|   isUpload:boolean | ||||
| } | ||||
| 
 | ||||
| export interface MarkRule { | ||||
| @ -206,6 +208,4 @@ export interface LANE { | ||||
| 
 | ||||
| export interface ProjectObj { | ||||
|   [k: string]: Project | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -266,7 +266,8 @@ export default class Judge { | ||||
|       //断点续考
 | ||||
|       ddxk: isDdxk ? 1 : 0, | ||||
|       ddkssj: ddxkTime || 0, | ||||
|       ykxm: isDdxk ? (ddxkKsxmArr?.map(projectCenterCode => (projectsCenterObj[projectCenterCode]?.projectCode) * 1)) : [], | ||||
|       ykxm: isDdxk | ||||
|         ? (ddxkKsxmArr?.map(projectCenterCode => (projectsCenterObj[projectCenterCode]?.projectCode) * 1)) : [], | ||||
|       kfxm: isDdxk ? (ddxkKfArr?.map(kf => { | ||||
|         const [xmdm, kfdm] = kf.split(',') | ||||
|         return { | ||||
| @ -658,7 +659,7 @@ export default class Judge { | ||||
|     const project = getProjectInfo(ksxm); | ||||
|     //科目三夜间行驶.模拟灯光、上车准备出现通用评判,ksxm为当前进行的项目
 | ||||
|     const checkProjects = ['17', '41', '1']; | ||||
|      //获取正在进行的项目
 | ||||
|     //获取正在进行的项目
 | ||||
|     const inProjects = Reflect.ownKeys(projectsObj).filter(projectKey => projectsObj[projectKey].type == 2); | ||||
| 
 | ||||
|     let commonKsxm = ''; | ||||
|  | ||||
| @ -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' | ||||
| @ -102,35 +102,35 @@ 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 | ||||
|     //TODO 通过学校  结束param544Str
 | ||||
|   //TODO 通过学校  结束param544Str
 | ||||
|     case 41100 : return type === 1 ? (param512Str[2] ==3 ? 411001 : 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 40600 : return type === 1 ? 406001 : undefined | ||||
|     //掉头
 | ||||
|   //掉头
 | ||||
|     case 41500 : return type === 1 ? 415001:undefined | ||||
|     //加减挡为
 | ||||
|   //加减挡为
 | ||||
|     case 40400 : return type === 1 ? undefined : undefined | ||||
| 
 | ||||
|     default :return undefined | ||||
| @ -153,8 +153,8 @@ export function getKmProjectCancelVoice(projectCode){ | ||||
| } | ||||
| // 上传监管数据code转换
 | ||||
| export function promptWxCode( | ||||
|     jkid:'17C52' | '17C54' |'17C55' | '17C53' | '17C56', | ||||
|     code:number | ||||
|   jkid:'17C51'|'17C52' | '17C54' |'17C55' | '17C53' | '17C56', | ||||
|   code:number | ||||
| ){ | ||||
|   let toast = ''; | ||||
| 
 | ||||
| @ -163,8 +163,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; | ||||
|       } | ||||
| 
 | ||||
|     //项目开始
 | ||||
|   //项目开始
 | ||||
|     case '17C52': | ||||
|       switch (code){ | ||||
|         case  0:toast = '存在作弊嫌疑,已被取消或暂停考试';break; | ||||
| @ -185,7 +200,7 @@ export function promptWxCode( | ||||
|         default:toast = '';break; | ||||
|       } | ||||
|       break; | ||||
|     //过程照片
 | ||||
|   //过程照片
 | ||||
|     case '17C54': | ||||
|       switch (code){ | ||||
|         case -1:toast = '无当前科目考试信息';break; | ||||
| @ -196,7 +211,7 @@ export function promptWxCode( | ||||
|         case -6:toast = '存在未结束的考试项目!';break; | ||||
|       } | ||||
|       break; | ||||
|     //项目结束
 | ||||
|   //项目结束
 | ||||
|     case '17C55': | ||||
|       switch (code){ | ||||
|         case -1:toast = '无当前考试项目开始信息';break; | ||||
| @ -215,7 +230,7 @@ export function promptWxCode( | ||||
|         default:break; | ||||
|       } | ||||
|       break; | ||||
|     //扣分
 | ||||
|   //扣分
 | ||||
|     case '17C53': | ||||
|       switch (code){ | ||||
|         case  0:toast = '已存在同一时间的同一扣分记录';break | ||||
| @ -232,7 +247,7 @@ export function promptWxCode( | ||||
|         default:toast = '';break | ||||
|       } | ||||
|       break; | ||||
|     //考试结束
 | ||||
|   //考试结束
 | ||||
|     case '17C56': | ||||
|       switch (code){ | ||||
|         case -1:toast = '无当前科目考试信息';break; | ||||
| @ -324,9 +339,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 雾灯
 | ||||
| @ -340,7 +355,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(',') | ||||
| @ -419,25 +434,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' | ||||
| } | ||||
| @ -101,15 +101,16 @@ class AVPlayer { | ||||
|       }) | ||||
|       return new Promise(async (resolve)=>{ | ||||
|         audioPlayer.on('finish', () => { | ||||
|           console.info(TAG,'audioPlayer => 播放资源播放') | ||||
|           //@ts-ignore
 | ||||
|           this.voiceStatus = 'completed' | ||||
|             if(callback){ | ||||
|               callback() | ||||
|             } | ||||
|             audioPlayer.stop(); | ||||
|             audioPlayer.reset() | ||||
|             audioPlayer.release() | ||||
|             resolve(true) | ||||
|           if(callback){ | ||||
|             callback() | ||||
|           } | ||||
|           audioPlayer.stop(); | ||||
|           audioPlayer.reset() | ||||
|           audioPlayer.release() | ||||
|           resolve(true) | ||||
|         }) | ||||
|         audioPlayer.reset() | ||||
|         audioPlayer.src = `fd://${fdPath}` | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user