From dc72d335367282106e3317a3eee7d939cd0e0a1a Mon Sep 17 00:00:00 2001 From: Surenjun Date: Tue, 22 Jul 2025 09:14:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=AD=E7=82=B9=E7=BB=AD=E8=80=83spe?= =?UTF-8?q?cialkf=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/api/judge.ts | 1 + entry/src/main/ets/pages/Judge.ets | 15 ++++++++++++--- entry/src/main/ets/pages/judgeSDK/judge.ts | 22 ++++++++++++++++++---- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/entry/src/main/ets/api/judge.ts b/entry/src/main/ets/api/judge.ts index 0581b0c3..41b655ba 100644 --- a/entry/src/main/ets/api/judge.ts +++ b/entry/src/main/ets/api/judge.ts @@ -189,6 +189,7 @@ export async function uploadExamMileage(params) { ${params.lsh} ${params.examinationRoomId} ${params.kslc} + ${params.specialkf} `, method: 'post', diff --git a/entry/src/main/ets/pages/Judge.ets b/entry/src/main/ets/pages/Judge.ets index 19cb4f76..6123c4ef 100644 --- a/entry/src/main/ets/pages/Judge.ets +++ b/entry/src/main/ets/pages/Judge.ets @@ -442,7 +442,7 @@ struct Index { const ddxkKsxmArr = examItemsArrs[2]?.split(',').filter(item => item) || [] const ddxkKfArr = examItemsArrs[3]?.split('^').filter(item => item) || [] if (judgeConfigObj['432'] == 2 || examSubject == 2) { - //TODO 带项目带里程 + if (ddxkKsxmArr?.length) { //断点续考 ddxkKsxmArr.forEach(xmdm => { @@ -455,6 +455,8 @@ struct Index { }) this.ddxkKsxmArr = ddxkKsxmArr } + this.specialkf = examItemsArrs[4]; + this.yklc = Number(examItemsArrs[1]) || 0 } //扣分续考 ddxkKfArr.forEach((kf) => { @@ -480,6 +482,7 @@ struct Index { this.ddxkKfArr = ddxkKfArr this.ddxkTime = Date.parse(startTime); this.isDdxk = true + } } @@ -572,7 +575,7 @@ struct Index { } // 上传考试里程 - async uploadMileage() { + async uploadMileage(specialkf) { if (!globalThis.singlePlay) { const {lsh,startExamTime:kskssj,jl:kslc} = this const { carId ,examinationRoomId} = globalThis.carInfo; @@ -581,7 +584,9 @@ struct Index { examinationRoomId, lsh, kskssj, - kslc + //考试里程,单位cm + kslc:kslc * 100, + specialkf }) } } @@ -1443,4 +1448,8 @@ struct Index { @State errorMsg: string = '' @State isErrorMsgEnd: boolean = false @State disConnectErrorOpen: boolean = false + //开始考试特殊标记 + @State specialkf:string = '' + //已考里程 + @State yklc:number = 0 } diff --git a/entry/src/main/ets/pages/judgeSDK/judge.ts b/entry/src/main/ets/pages/judgeSDK/judge.ts index 47d458ad..171c8471 100644 --- a/entry/src/main/ets/pages/judgeSDK/judge.ts +++ b/entry/src/main/ets/pages/judgeSDK/judge.ts @@ -468,6 +468,8 @@ export default class Judge { //所有的科目考试项目(大车&小车) private testKmItems: any private plcData: any + //特殊扣分标记 + private specialkf:string = '' // 获取plc数据 getPlcData = async (plc: string) => { const {fileLog,mndgStr,rmndg} = this; @@ -600,6 +602,12 @@ export default class Judge { } } const {code} = await this.sendWriteObjectOut(data, filePath) + + //科三 & 432=3 + if(examSubject == 3 && this.judgeUI.judgeConfigObj['432'] == 2){ + this.judgeUI.uploadMileage() + } + if (code === 2300007) { this.isJudgeDisConnect = true; } @@ -833,15 +841,15 @@ export default class Judge { xmdm: xmdm * 1, kfdm } })) : [], - //TODO 已考里程待修改 - yklc: 0, + yklc: judgeUI.yklc, special: [], - //TODO 科目三参数临时写死 sczb: (sczb === undefined || sczb == 0) ? 0 : 1, sczbkf: kfdm, dmndg: false, mfxx: false, - mfxxn: false + mfxxn: false, + //科目三特殊扣分项 + specialkf:judgeUI.specialkf, } console.info(judgeTag, '5.获取开始考试数据完成') return beginInfo @@ -1817,6 +1825,7 @@ export default class Judge { this.handleRealExam(strData, callBack) }) + await examJudgeSetPerformCallback(async (info) => { console.info('评判实时数据', info) const performInfo = JSON.parse(info) @@ -1828,6 +1837,11 @@ export default class Judge { this.judgeUI.jl = jl //TODO 待优化 跨组件传值不生效 globalThis.laneData = performInfo.lane; + //特殊扣分标记上传中心 + if(performInfo.specialkf !== this.specialkf){ + this.judgeUI.uploadMileage(performInfo.specialkf) + this.specialkf = performInfo.specialkf + } }) // 3.开始考试