diff --git a/entry/oh-package-lock.json5 b/entry/oh-package-lock.json5 index 1f023b33..bc40219d 100644 --- a/entry/oh-package-lock.json5 +++ b/entry/oh-package-lock.json5 @@ -1,15 +1,13 @@ { - "lockfileVersion": 2, + "lockfileVersion": 1, "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", "specifiers": { "@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6" }, "packages": { "@ohos/hypium@1.0.6": { - "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", - "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==", - "registryType": "ohpm", - "shasum": "3f5fed65372633233264b3447705b0831dfe7ea1" + "resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", + "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==" } } } \ No newline at end of file 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/common/service/indexService.ts b/entry/src/main/ets/common/service/indexService.ts index e2f937e3..f87bf8f9 100644 --- a/entry/src/main/ets/common/service/indexService.ts +++ b/entry/src/main/ets/common/service/indexService.ts @@ -7,12 +7,14 @@ import { takePhoto, deleteAllFileByPiC } from '../../common/service/videoService // import { VideoConfigData } from '../../mock'; import request from '@ohos.request' import Prompt from '@system.prompt'; +import util from '@ohos.util'; import { delSyncTable, getDataBaseTable, getMySystemSetTable, upDataZhongxinginitialization, + getSyncData, upDateTable } from '../../common/service/initable' import { GlobalConfig } from '../../config/index' @@ -455,9 +457,9 @@ function getChuankouFnMsg() { let databuff = [0x61, 0xAA, 0x0A, 0X15, 0X00]; // send ABCDE testNapi.SerialSendAsync(globalThis.fd, databuff, (ret) => { testNapi.SerialRecvAsync(globalThis.fd, timeout, (revTestInfo) => { - const message = revTestInfo?.recevedBuf?.toString() - if (message == '') { + let msgBuf = util.TextDecoder.create().decodeWithStream(new Uint8Array(revTestInfo?.recevedBuf)) + if (message == '' || msgBuf == '') { globalThis.num = 1 // clearInterval(chuankou) testNapi.SerialClose(globalThis.fd); @@ -468,16 +470,8 @@ function getChuankouFnMsg() { return } const msg = message?.split(',') - if (!msg?.length) { - - } else if (msg[0] != '98' || msg[1] != '85' || msg.length < 9) { - - } else if (msg.length < 12) { - - } else { - globalThis.chuankoMsg = msg[9] - } - + let dang = Number(msgBuf?.split(",")?.[1]?.split('\r')[0] || 0) + globalThis.chuankoMsg =( msg[9] === '' || msg[9] >10 ) ? dang: msg[9] setTimeout(() => { getChuankouFnMsg() }, 500) 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.开始考试