diff --git a/entry/src/main/ets/pages/Judge.ets b/entry/src/main/ets/pages/Judge.ets index 543cca28..819ed4e0 100644 --- a/entry/src/main/ets/pages/Judge.ets +++ b/entry/src/main/ets/pages/Judge.ets @@ -192,13 +192,13 @@ struct Index { }) this.totalScore += currentKf.markreal * 1; }) - this.projectsObj['1'].type = kfdm.length ? '4' : '3'; + this.projectsObj[1].type = kfdm.length ? '4' : '3'; this.projectsObj = { ...this.projectsObj } } - this.judgeConfigObj[sys.v_no] = value + }); this.judgeConfig = syssetJudgeConfigArr; } @@ -210,7 +210,7 @@ struct Index { const {carName,carType,examSubject} = this; //小车车型列表 const sCarTypes = ['C1', 'C2', 'C5'] - this.wayno = currentParams.wayno + this.wayno = currentParams.wayno || 1; const {isTrajectoryOpen} = judgeConfig let carNo = '', allItems = []; systemParms.forEach((systemParm) => { @@ -256,7 +256,7 @@ struct Index { //是否是必考 isRequired: allItems.includes(no2 + ''), } - this.projectsObj[no2] = currentProject + this.projectsObj[no2*1] = currentProject this.projectsCenterObj[txt2] = currentProject this.projects.push(currentProject); } @@ -272,7 +272,7 @@ struct Index { const projects = this.projects; if (!projects.length) { Prompt.showToast({ - message: '读取数据库信息失败,请重新考试!', + message: '读取数据库信息失败,请重新联网更新!', duration: 8000 }); router.back(); @@ -434,9 +434,8 @@ struct Index { Row() { Image($rawfile('judge/signal_logoS.png')).width(120) Text(this.time).fontColor('#CCB48F').fontSize(32).padding({ left: 10, right: 5 }) - Image($rawfile('judge/xh_green.png')).width(50) + Image($rawfile(this.isDwztRight?'judge/xh_red.png':'judge/xh_green.png')).width(50) }.padding({ left: 20 }) - Row() { Text(`当前项目:${this.xmmcStr || '无'} `).fontColor('#E5CCA1').fontSize(32) } @@ -607,9 +606,7 @@ struct Index { List({}) { ForEach(this.projects, (project) => { ListItem() { - Text(project.name) { - - } + Text(project.name) {} .fontColor(this.getProjectColor(this.projectsObj[project.projectCode].type)) .margin({ bottom: 5 }) .fontSize(26) @@ -819,8 +816,8 @@ struct Index { currentItems: Reflect.ownKeys(this.projectsObj).map(projectKey => { //@ts-ignore const project = this.projectsObj[projectKey] - return project.type == '2' ? project.projectCode : '' - }).filter(project => project !== ''), + return project.type == '2' ? project.projectCode : undefined + }).filter(project => project !== undefined), markRules: this.manualMarkRules, closePopup: () => { this.isDeductedPopShow = false @@ -928,9 +925,9 @@ struct Index { } = this; const projectCode = artSubject3ProjectsCodesArr[index]; const projectType = projectsObj[projectCode].type; + //不允许人工触发的项目列表,以","分隔 const unExitManualProjects = judgeConfigObj['332'].split(',') || []; - //直线行驶中不进其他考试项目(0-否 1-是) const param348 = judgeConfigObj['348'] || '0', //里程不够允许手工点靠边停车(0-否 1-是) @@ -951,18 +948,22 @@ struct Index { if (judgeConfigObj['342'] === '3' || judgeConfigObj['342'] === '2') { return false } + //不允许人工触发的项目列表 if (unExitManualProjects.includes(artSubject3ProjectsCodesArr[index])) { return false } //项目进行中不能人工触发 - if (isProjectIn) { - if (param340 == 1 && isManualProjectIn && (currentXmdm == projectCode)) { - return true - }else{ - return false + if(isProjectIn) { + if(param340 == 1){ + if(isManualProjectIn && (currentXmdm == projectCode)){ + return true + }else{ + return false + } } + return false } //项目路段信息判断 @@ -999,19 +1000,21 @@ struct Index { const projectRoads = { //直线行驶 - '3': (judgeConfigObj['514'].split(',') || []), + '3': (judgeConfigObj['514']?.split(',') || []), //变更车道 - '4':judgeConfigObj['515'].split(',') || [], + '4':judgeConfigObj['515']?.split(',') || [], //超车 - '10':judgeConfigObj['516'].split(',') || [], + '10':judgeConfigObj['516']?.split(',') || [], //靠边停车 - '11':judgeConfigObj['517'].split(',') || [], + '11':judgeConfigObj['517']?.split(',') || [], //会车 - '9':judgeConfigObj['518'].split(',') || [], + '9':judgeConfigObj['518']?.split(',') || [], //掉头 - '12':judgeConfigObj['519'].split(',') || [], + '12':judgeConfigObj['519']?.split(',') || [], }; + console.info('surenjun',JSON.stringify(projectRoads)) + //未测绘得道路上或者不在差分状态 if(road === ''){ return false @@ -1040,10 +1043,8 @@ struct Index { if(projectCode == '10' || projectCode == '4'){ if(count < 2){return false} } - return true - } // 获取人工项目是否已做 getIsEndManualProject = (index: number) => { @@ -1134,6 +1135,8 @@ struct Index { //必考项目除靠边停车是否全部完成 @State isRequiredProjectsEnd: boolean = false; @State lane: LANE = { road: '', num: 0, count: 0 } + //定位差分状态时候正常 + @State isDwztRight:boolean = false; private context = getContext(this) as common.UIAbilityContext; //已考考试项目 } diff --git a/entry/src/main/ets/pages/UserInfo.ets b/entry/src/main/ets/pages/UserInfo.ets index c5dbf008..59e0bc0d 100644 --- a/entry/src/main/ets/pages/UserInfo.ets +++ b/entry/src/main/ets/pages/UserInfo.ets @@ -125,6 +125,10 @@ struct UserInfo { // globalThis.statue=4 router.pushUrl({ url: 'pages/Judge', + params:{ + sczb:Number(this.isBoardPrePareSetPopupOpen), + kfdm:this.sczbkf + } }, router.RouterMode.Single); return } @@ -499,7 +503,11 @@ struct UserInfo { this.stepFlag = false router.pushUrl({ url: 'pages/Judge', - params: { examItems: examItems?.getExaminationItemRsp?.body?.ykxx } + params: { + examItems: examItems?.getExaminationItemRsp?.body?.ykxx , + sczb:Number(this.isBoardPrePareSetPopupOpen), + kfdm:this.sczbkf + } }, router.RouterMode.Single); this.stopDeviceById() @@ -511,7 +519,11 @@ struct UserInfo { this.stepFlag = false router.pushUrl({ url: 'pages/Judge', - params: { examItems: examItems?.getExaminationItemRsp?.body?.ykxx } + params: { + examItems: examItems?.getExaminationItemRsp?.body?.ykxx , + sczb:Number(this.isBoardPrePareSetPopupOpen), + kfdm:this.sczbkf + } }, router.RouterMode.Single); globalThis.statue = 4 this.stopDeviceById() diff --git a/entry/src/main/ets/pages/compontents/judge/BoardPrePareSetPopup.ets b/entry/src/main/ets/pages/compontents/judge/BoardPrePareSetPopup.ets index d13a1ff2..b277baca 100644 --- a/entry/src/main/ets/pages/compontents/judge/BoardPrePareSetPopup.ets +++ b/entry/src/main/ets/pages/compontents/judge/BoardPrePareSetPopup.ets @@ -95,14 +95,11 @@ export default struct DeductedPopup { if (sys.v_no == '901') { this.serialNumber = sys.v_value || '123456' } - console.info('surenjun',sys.v_no) - //364 绕车一周评判时机(1-开始考试后判 2-开始考试前判) if (sys.v_no == '364') { const isOpen = sys.v_value == 2 if (isOpen) { this.avPlayer.playAudio(['voice/上车准备.mp3']) - console.info('surenjun','voice/上车准备.mp3') } } diff --git a/entry/src/main/ets/pages/compontents/judge/DeductionPopup.ets b/entry/src/main/ets/pages/compontents/judge/DeductionPopup.ets index 38e66c5a..576e8b14 100644 --- a/entry/src/main/ets/pages/compontents/judge/DeductionPopup.ets +++ b/entry/src/main/ets/pages/compontents/judge/DeductionPopup.ets @@ -21,7 +21,7 @@ export default struct DeductedPopup { private markRules:MarkRule[] = [] @State universalMarkRules:MarkRule[] = [] @State manualMarkRules:MarkRule[] = [] - @State currentItems:string[] = [] + @State currentItems:number[] = [] @State lineBg:Array = ['#4D4136','#26231E'] @State selectedLine:number = undefined @@ -33,7 +33,9 @@ export default struct DeductedPopup { } aboutToAppear(){ - this.universalMarkRules = this.markRules.filter(item => this.currentItems.includes(item.itemno+'')) + //@ts-ignore + + this.universalMarkRules = this.markRules.filter(item => (this.currentItems.includes(item.itemno) || this.currentItems.includes(item.itemno + ''))) } //上一页 下一页 goPage(typeIndex){ @@ -78,7 +80,6 @@ export default struct DeductedPopup { Row(){ Row(){ ForEach(['人工评判','通用评判'],(text,index)=>{ - Row(){ Text(text).fontColor(index === this.currentIndex ? this.selected.fontColor : this.unselected.fontColor).fontSize(this.fontSize).fontWeight(500) } @@ -91,7 +92,8 @@ export default struct DeductedPopup { if(index === 1) { this.universalMarkRules = this.markRules.filter(item => item.itemno == 20 ) }else{ - this.universalMarkRules = this.markRules.filter(item => this.currentItems.includes(item.itemno+'')) + //@ts-ignore + this.universalMarkRules = this.markRules.filter(item => (this.currentItems.includes(item.itemno) || this.currentItems.includes(item.itemno+''))) } }) }) @@ -121,11 +123,11 @@ export default struct DeductedPopup { Row(){ Text('扣 分'){}.fontColor('#FFF').fontSize(this.fontSize).padding({left:35}) }.width(120).height(60).justifyContent(FlexAlign.Start).alignItems(VerticalAlign.Center).backgroundImage($rawfile(`judge/km3/button_nor.png`)).backgroundImageSize({width:'100%',height:'100%'}) - .onClick(()=>{ - const index = this.currentIndex ? this.currentUniversalPageIndex: this.currentPageIndex; - const mark = this.universalMarkRules[index * 7 + this.selectedLine] - mark && this.confirmMark(mark.itemno,mark.markserial) - }) + .onClick(()=>{ + const index = this.currentIndex ? this.currentUniversalPageIndex: this.currentPageIndex; + const mark = this.universalMarkRules[index * 7 + this.selectedLine] + mark && this.confirmMark(mark.itemno,mark.markserial) + }) } }.width('100%').justifyContent(FlexAlign.SpaceBetween) Column(){ @@ -145,7 +147,6 @@ export default struct DeductedPopup { } }.width(1200).height(620).position({x:30,y:315}).backgroundColor('#E6E3DF').padding({top:15,bottom:15,left:25,right:25}).borderRadius(20) // Row(){}.width(100).height(100).position({y:'85%',x:'50%'}).backgroundImage($rawfile('judge/km3/close_nor.png')).backgroundImageSize({width:'100%',height:'100%'}) - }.width('100%').height('100%').position({y:0}).onClick(()=>{this.closePopup()}) } } \ No newline at end of file diff --git a/entry/src/main/ets/pages/compontents/judge/amplify-popup.ets b/entry/src/main/ets/pages/compontents/judge/amplify-popup.ets deleted file mode 100644 index 62fb41e5..00000000 --- a/entry/src/main/ets/pages/compontents/judge/amplify-popup.ets +++ /dev/null @@ -1,39 +0,0 @@ -const folder = 'judge/km3/amplify/' -const amplifyImgs = [ - 'km_zxB.png','km_hcB.png', - 'km_bdB.png', - 'km_ccB.png','km_dtB.png','km_tcB.png', -] -const amplifyArrs = [ - {name:'直线',projectCode:'3',projectCodeCenter:'40300'}, - {name:'会车',projectCode:'9',projectCodeCenter:'41300'}, - {name:'变道',projectCode:'4',projectCodeCenter:'40500'}, - {name:'超车',projectCode:'10',projectCodeCenter:'41400'}, - {name:'掉头',projectCode:'12',projectCodeCenter:'41500'}, - {name:'停车',projectCode:'11',projectCodeCenter:'40600'}, -] - -@Component -struct EndPopup { - constructor() { - super() - } - private amplifyImgIndex:number = 0 - private closeAmplifyPop:Function = ()=>{} - private confirmAmplify:Function = ()=>{} - - build(){ - Column(){ - Column(){ - - }.width(530).height(386).backgroundImage($rawfile(`${folder}${amplifyImgs[this.amplifyImgIndex]}`)).backgroundImageSize({width:'100%',height:'100%'}).position({y:'25%',x:'37%'}).justifyContent(FlexAlign.Center) - .onClick((e:ClickEvent)=>{ - this.confirmAmplify(amplifyArrs[this.amplifyImgIndex]) - }) - - }.width('100%').height('100%').position({y:0}).backgroundColor('rgba(0,0,0,0.9)') - .onClick(()=>{this.closeAmplifyPop()}) - } -} - -export default EndPopup \ No newline at end of file diff --git a/entry/src/main/ets/pages/compontents/judge/deduction-popup.ets b/entry/src/main/ets/pages/compontents/judge/deduction-popup.ets deleted file mode 100644 index 8e5ca4b9..00000000 --- a/entry/src/main/ets/pages/compontents/judge/deduction-popup.ets +++ /dev/null @@ -1,154 +0,0 @@ -import {MarkRule} from '../../judgeSDK/api/judgeSDK' -interface SEL{ - fontColor:string - bgColor:string -} - -@Component -struct DeductedPopup { - constructor() { - super() - } - - @State fontSize:number = 25 - @State unselected:SEL = {fontColor:'#000000', bgColor:'#CCC4B8'} - @State selected:SEL = {fontColor:'#FFAD33', bgColor:'#26231E'} - - @State currentIndex:number = 0 - @State currentPageIndex:number = 0 - //通用评判扣分 - @State currentUniversalPageIndex:number = 0; - private markRules:MarkRule[] = [] - @State universalMarkRules:MarkRule[] = [] - @State manualMarkRules:MarkRule[] = [] - @State currentItems:string[] = [] - - @State lineBg:Array = ['#4D4136','#26231E'] - @State selectedLine:number = undefined - private closePopup:Function = ()=> {} - private confirmMark:Function = (itemno:number,serial:string) => {} - @State selectedLineStyle:SEL = { - fontColor:'#FFF', - bgColor:'#B36E00' - } - - aboutToAppear(){ - this.universalMarkRules = this.markRules.filter(item => this.currentItems.includes(item.itemno+'')) - } - //上一页 下一页 - goPage(typeIndex){ - const currentIndex = this.currentIndex - if(currentIndex){ - //通用评判 - typeIndex ? (this.currentUniversalPageIndex += 1) : (this.currentUniversalPageIndex -= 1) - }else{ - typeIndex ? (this.currentPageIndex += 1) : (this.currentPageIndex -= 1) - } - this.selectedLine = -1 - } - - //选中扣分项 - getSelectedLine(index){ - const {selectedLine,selectedLineStyle,lineBg} = this; - if(selectedLine === index){ - return selectedLineStyle.bgColor - } - if(index % 2 === 0){ - return lineBg[0] - }else{ - return lineBg[1] - } - } - - //获取当前页的数据 - getCurrentMarkRuleList(){ - const {currentIndex,currentUniversalPageIndex,currentPageIndex,markRules,universalMarkRules} = this; - if(currentIndex){ - //通用评判 - return universalMarkRules.slice(currentUniversalPageIndex*7,(currentUniversalPageIndex + 1)*7) - }else{ - return universalMarkRules.slice(currentPageIndex*7,(currentPageIndex + 1)*7) - } - } - - build(){ - Column(){ - Column(){ - Column(){ - Row(){ - Row(){ - ForEach(['人工评判','通用评判'],(text,index)=>{ - - Row(){ - Text(text).fontColor(index === this.currentIndex ? this.selected.fontColor : this.unselected.fontColor).fontSize(this.fontSize).fontWeight(500) - } - .width(180).height(70) - .backgroundColor(index === this.currentIndex ? this.selected.bgColor: this.unselected.bgColor ).justifyContent(FlexAlign.Center).justifyContent(FlexAlign.Center) - .borderRadius({topLeft:20,topRight:20}).margin({right:10}) - .onClick(()=>{ - this.currentIndex = index; - this.selectedLine = -1; - if(index === 1) { - this.universalMarkRules = this.markRules.filter(item => item.itemno == 20 ) - }else{ - this.universalMarkRules = this.markRules.filter(item => this.currentItems.includes(item.itemno+'')) - } - }) - }) - } - Row(){ - if( - (Math.ceil(this.universalMarkRules.length / 7 - 1)) >= (this.currentIndex ? this.currentUniversalPageIndex: this.currentPageIndex) && - (this.currentIndex ? this.currentUniversalPageIndex: this.currentPageIndex) > 0 - ){ - Row(){ - Row(){}.width(36).height(36).backgroundImage($rawfile(`judge/km3/zuo_nor.png`)).margin({left:24,top:4}) - Text('上一页'){}.fontColor('#FFF').fontSize(this.fontSize) - }.width(160).height(80).justifyContent(FlexAlign.Start).alignItems(VerticalAlign.Center).backgroundImage($rawfile(`judge/km3/button_nor.png`)).backgroundImageSize({width:'100%',height:'100%'}) - .onClick(()=>{this.goPage(0)}) - } - - if( - (Math.ceil(this.universalMarkRules.length / 7 - 1)) > (this.currentIndex ? this.currentUniversalPageIndex: this.currentPageIndex) - ){ - Row(){ - Text('下一页'){}.fontColor('#FFF').fontSize(this.fontSize).padding({left:30}) - Row(){}.width(36).height(36).backgroundImage($rawfile(`judge/km3/you_nor.png`)).margin({left:4,top:4}) - }.width(160).height(80).justifyContent(FlexAlign.Start).alignItems(VerticalAlign.Center).backgroundImage($rawfile(`judge/km3/button_nor.png`)).backgroundImageSize({width:'100%',height:'100%'}) - .onClick(()=>{this.goPage(1)}) - } - - - Row(){ - Text('扣 分'){}.fontColor('#FFF').fontSize(this.fontSize).padding({left:49}) - }.width(160).height(80).justifyContent(FlexAlign.Start).alignItems(VerticalAlign.Center).backgroundImage($rawfile(`judge/km3/button_nor.png`)).backgroundImageSize({width:'100%',height:'100%'}) - .onClick(()=>{ - const index = this.currentIndex ? this.currentUniversalPageIndex: this.currentPageIndex; - const mark = this.universalMarkRules[index * 7 + this.selectedLine] - mark && this.confirmMark(mark.itemno,mark.markserial) - }) - } - }.width('100%').justifyContent(FlexAlign.SpaceBetween) - Column(){ - ForEach(this.getCurrentMarkRuleList(),(item,index) => { - Row(){ - Text(`${item.markshow} (${item.markcatalog})`).fontColor('#FFF').fontSize(this.fontSize).fontWeight(500) - Row(){ - Text(item.markreal + '').fontColor('#FFF').fontSize(this.fontSize).fontWeight(500) - } - } - .width('100%').height(75).justifyContent(FlexAlign.SpaceBetween).alignItems(VerticalAlign.Center) - .padding({left:20,right:20}) - .backgroundColor(this.getSelectedLine(index)) - .onClick(()=>{this.selectedLine = index}) - }) - } - } - }.width(1300).height(710).position({x:'15%',y:'10%'}).backgroundColor('#E6E3DF').padding({top:15,bottom:15,left:25,right:25}).borderRadius(20) - Row(){}.width(100).height(100).position({y:'85%',x:'50%'}).backgroundImage($rawfile('judge/km3/close_nor.png')).backgroundImageSize({width:'100%',height:'100%'}) - .onClick(()=>{this.closePopup()}) - }.width('100%').height('100%').position({y:0}).backgroundColor('rgba(0,0,0,0.7)') - } -} - -export default DeductedPopup \ No newline at end of file diff --git a/entry/src/main/ets/pages/compontents/judge/end-popup.ets b/entry/src/main/ets/pages/compontents/judge/end-popup.ets deleted file mode 100644 index 431a38be..00000000 --- a/entry/src/main/ets/pages/compontents/judge/end-popup.ets +++ /dev/null @@ -1,27 +0,0 @@ - -@Component -struct EndPopup { - constructor() { - super() - } - - private title:string = '' - private cancelFn:(event?: ClickEvent) => void - private confirmFn:(event?: ClickEvent) => void - - build(){ - Column(){ - Column(){ - Text(this.title).fontSize(36).margin({bottom:20}) - Row(){}.height(100) - Row(){ - Text('取消').backgroundImage($rawfile('judge/end-btn.png'),ImageRepeat.NoRepeat).backgroundImageSize({width:'100%',height:'100%'}).width(250).height(95).fontSize(28).fontColor('#FFF').textAlign(TextAlign.Center).onClick(this.cancelFn) - Text('确定').backgroundImage($rawfile('judge/end-btn.png'),ImageRepeat.NoRepeat).backgroundImageSize({width:'100%',height:'100%'}).width(250).height(95).fontSize(28).fontColor('#FFF').textAlign(TextAlign.Center).margin({left:45}).onClick(this.confirmFn) - } - }.width('75%').height('70%').backgroundColor('#E6E3DF').borderRadius(38).position({y:'12%',x:'12.5%'}).justifyContent(FlexAlign.Center) - - }.width('100%').height('100%').position({y:0}).backgroundColor('rgba(0,0,0,0.7)') - } -} - -export default EndPopup \ No newline at end of file diff --git a/entry/src/main/ets/pages/compontents/judge/loading-popup.ets b/entry/src/main/ets/pages/compontents/judge/loading-popup.ets deleted file mode 100644 index de821513..00000000 --- a/entry/src/main/ets/pages/compontents/judge/loading-popup.ets +++ /dev/null @@ -1,21 +0,0 @@ - -@Component -struct LoadingPopup { - constructor() { - super() - } - - private title:string = '' - - build(){ - Column(){ - Column(){ - Image($rawfile('judge/loading-car.gif')).width(250).margin({top:20,bottom:20}) - Text(this.title).fontSize(32).margin({top:70}) - }.width('70%').height('70%').backgroundColor('#E6E3DF').borderRadius(38).position({y:'15%',x:'15%'}).justifyContent(FlexAlign.Center) - - }.width('100%').height('100%').position({y:0}).backgroundColor('rgba(0,0,0,0.7)') - } -} - -export default LoadingPopup diff --git a/entry/src/main/ets/pages/compontents/judge/real-time.ets b/entry/src/main/ets/pages/compontents/judge/real-time.ets deleted file mode 100644 index 4b033deb..00000000 --- a/entry/src/main/ets/pages/compontents/judge/real-time.ets +++ /dev/null @@ -1,83 +0,0 @@ -// @ts-nocheck -import hilog from '@ohos.hilog'; -import apiJudgeSdk from 'libJudgeSdk.so'; -// import apiJudgeSdk from '@ohos.judgesdk'; - -import Judge from '../../judgeSDK/utils/judge-real' -// import Judge from '../../judgeSDK/judge-track-playback' -import {Project,ProjectObj,MarkRule} from '../../judgeSDK/api/judgeSDK.d' -import AccountTable from '../../../common/database/tables/AccountTable'; -import MA_SYSSET from '../../../common//constants/MA_SYSSET'; -import common from '@ohos.app.ability.common'; -import { getSyncData } from '../../../common/service/initable' -import {testAllitems,testUIAllitems,testMarkRules} from '../../judgeSDK/dataTest/index' - -@Component -struct RealTime { - constructor() { - super() - } - - private height:number = 0 - private width:number = 0 - - @State message: string = '开始绘制' - - // 控制XComponent组件的创建和销毁 - @State draw: boolean = false - //监管接口序列号 - @State serialNumber:number = 0 - - //模拟考试项目 - @State projects:Project[] = [] - @State projectsObj:ProjectObj = {} - @State markRuleListObj:MarkRule ={} - private context = getContext(this) as common.UIAbilityContext; - - // xcomponentController: XComponentController = new XComponentController() - - build() { - Row() { - Column() { - if (this.draw) { - XComponent({ - id: 'duolun_plugin_id_draw', //显示轨迹窗口id名称,注意这个ID要和C++侧一致,不能变 - type: 'surface', - libraryname: 'JudgeSdk' - // libraryname: 'judgesdk' - }) - .width(this.width) - .height(this.height) - .onLoad(() => { - apiJudgeSdk.examJudgeMapSetDrawing(true); //停止绘制地图轨迹,false:表示结束绘制 - }) - .onDestroy(() => { - apiJudgeSdk.examJudgeMapSetDrawing(false); //停止绘制地图轨迹,false:表示结束绘制 - this.draw = false; - clearInterval(globalThis.realTimer) - }) - } else { - Column() {} - .width(this.width) - .height(this.height) - } - } - .width('100%') - .backgroundColor('#fff') - } - .height('100%') - } - - async aboutToAppear() { - - const judge = new Judge(this) - } - - aboutToDisappear() { - //apiJudgeSdk.stopRender(); - - } - -} - -export default RealTime diff --git a/entry/src/main/ets/pages/judgeSDK/judge.ts b/entry/src/main/ets/pages/judgeSDK/judge.ts index aaaf3bff..85d98f0a 100644 --- a/entry/src/main/ets/pages/judgeSDK/judge.ts +++ b/entry/src/main/ets/pages/judgeSDK/judge.ts @@ -172,9 +172,8 @@ export default class Judge { handleTrajectoryUdp(strArr); return } - // 处理实时udp里的plc信号 - globalThis.udpClient.onMessage(async (msg) => { + globalThis.udpClient.onMessage_1(async (msg) => { handleUdp(msg) }) } @@ -323,8 +322,9 @@ export default class Judge { case 2: judgeUI.projectsObj[xmdm].type = (xmjs.xmhg === 0 ? '4' : '3'); //计算项目是否全部结束 - console.info(judgeTag,projects.filter(project => project.type == '2').length ) - this.judgeUI.isProjectIn = (projects.filter(project => project.type == '2').length) > 0 + this.judgeUI.isProjectIn = (Reflect.ownKeys(judgeUI.projectsObj).filter( + projectKey => judgeUI.projectsObj[projectKey].type == '2').length + ) > 0; if(isManualProjectIn){ this.judgeUI.isManualProjectIn = false } @@ -383,6 +383,7 @@ export default class Judge { //车道和路段变化 case 9: this.judgeUI.lane = lane + console.info('surenjun',JSON.stringify(lane)) break; default: @@ -624,11 +625,10 @@ export default class Judge { const {avPlayer,fileLog} = this; const {xmdm,code,type} = sound; //判断是不是模拟灯光语音 - console.info(judgeTag,JSON.stringify(sound)) if(type == 1){ console.info(judgeTag, '模拟灯光开始播放:' + code) } - avPlayer.playAudio([`voice/${code}.mp3`], true, () => { + avPlayer.playAudio([`voice/${code}.mp3`], false, () => { if (type == 1) { console.info(judgeTag, '播放结束:' + code) examJudgeSoundEnd({itemno:xmdm,code,type}) @@ -794,9 +794,7 @@ export default class Judge { const {jd,wd, hxj, fyj, hbg,} = gps const translateProject = getTranslateProject(); const sbxh = getSbxh(xmdm, xmxh) - console.log('sbxhsbxh', sbxh) const {carzt,dcjl,qjjl,dxjl,bxjl} = performInfo; - console.log('performInfo', JSON.stringify(performInfo)) // const asclshArr = stringToASC(lsh); const asclshArr = stringToASC(fillZero('0000000000000' || 0, 13)); @@ -806,19 +804,16 @@ export default class Judge { const translateSignals = getTranslateSignals( [zfxd, yfxd, shtd, ygd, jgd, skd, dh1, dh2, lhq, jsc, ssc, fsc, lb, mkg, aqd, 0, 0, 0, 0].concat(getCarStatusType(carzt)).concat([ygq, sensor.wd, 0]) ) - console.log('jinweidu111jdwd0') //@ts-ignore const translateJd = convertGpsCoord2(wd).toFixed(7) * Math.pow(10, 7); //@ts-ignore const translateWd = convertGpsCoord2(jd).toFixed(7) * Math.pow(10, 7) - console.log('jinweidu111jdwd') //@ts-ignore const translateProjects = translateProject.map(numStr => string2Bytes(parseInt(numStr, 2), 8)[0]) //@ts-ignore // const translateProjects= translateProject.map(num => string2Bytes(p,8)[0]) - console.log('jinweidu2222', `${examType}${startHourTime}`) const arr = [ //考生号 TODO 考试员号 asclshArr.map(lsh => string2Bytes(lsh, 8)[0]), @@ -1043,6 +1038,7 @@ export default class Judge { const str = await senorToWXDataStr(msg); usbService.sendUSB(str) } + this.judgeUI.isDwztRight = plcData.gps.dwzt == 4; await examJudgeRealExam(plcData) const udpIndex = globalThis.udpIndex; if (udpIndex % 5 === 0) { @@ -1117,7 +1113,7 @@ export default class Judge { } await examJudgeRealExam(msg) num++ - }, 100) + }, 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 fafeaeca..144a65ac 100644 --- a/entry/src/main/ets/pages/judgeSDK/utils/judgeCommon.ts +++ b/entry/src/main/ets/pages/judgeSDK/utils/judgeCommon.ts @@ -63,7 +63,6 @@ export function getCenterProjectStatus(status){ } //获取科目三开始项目、结束项目语音 - export function getKmProjectVoice( projectCode, // 1:项目开始 2:项目结束 @@ -101,8 +100,8 @@ export function getKmProjectVoice( case 40600 : return type === 1 ? 406001 : undefined //掉头 case 41500 : return type === 1 ? 415001:undefined - //超车 - case 40400 : return type === 1 ? 404001:undefined + //加减挡为 + case 40400 : return type === 1 ? undefined : undefined default :return undefined } diff --git a/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts b/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts index c77e2190..58e31e14 100644 --- a/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts +++ b/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts @@ -1,5 +1,4 @@ - //考试回放开关 export const judgeConfig = { //本地目录开关 @@ -9,11 +8,9 @@ export const judgeConfig = { // 本地模型地址 modelPath: 'models/model_enc', // 轨迹回放地址 - // trajectoryPath: 'logs/2024_07_11/0000000000001_342323199501470011_测试学员1_2024_07_11_14_25_52/judge_exam_data.txt', - // trajectoryPath: 'logs/2024_07_11/0000000000001_342323199501470011_测试学员1_2024_07_01_11_30_16/judge_exam_data.txt', - trajectoryPath: 'logs/2024_07_11/0000000000001_342323199501470011_测试学员1_2024_07_11_14_25_52/judge_exam_data.txt', + trajectoryPath: 'logs/2024_07_11/0000000000001_342323199501470011_测试学员1_2024_07_11_13_33_10/judge_exam_data.txt', //扣分语音是否强制开启 - kfVoiceOpen:false, + kfVoiceOpen:true, //TODO 济南临时特殊配置 systemParamConfig:{} } \ No newline at end of file diff --git a/entry/src/main/ets/pages/judgeSDK/utils/voiceAnnouncements.ts b/entry/src/main/ets/pages/judgeSDK/utils/voiceAnnouncements.ts index b8ac1b65..e1f4c1b2 100644 --- a/entry/src/main/ets/pages/judgeSDK/utils/voiceAnnouncements.ts +++ b/entry/src/main/ets/pages/judgeSDK/utils/voiceAnnouncements.ts @@ -25,7 +25,6 @@ export default class VoiceAnnounce{ async playAudio(urls:string[],shit?:boolean,callback?:Function){ const {isStopped,queue} = this; - // this.callback = callback const tempUrls = urls.map((url,index)=>{ return { url,