fix: 添加多个类型定义,优化相关函数调���和数据处理

This commit is contained in:
wangzhongjie 2025-03-19 14:53:05 +08:00
parent 543219d457
commit 973d5fa32c
6 changed files with 343 additions and 247 deletions

View File

@ -95,6 +95,9 @@ export interface RouteParamsType {
sczb?: string; sczb?: string;
kfdm?: string; kfdm?: string;
type?: string; type?: string;
wayno?: string;
kString?: string;
examItems?: string;
} }
// 车辆信息 // 车辆信息

View File

@ -91,3 +91,125 @@ export interface MASYSSETTableType {
v_name?: string v_name?: string
v_value?: string v_value?: string
} }
// 'id', 'car_mac', 'status', 'voiceip', 'carno', 'carcode', 'cartype', 'device_status', 'carip', 'pulse1',
// 'pulse2', 'isface', 'bk1', 'ismapcollect', 'bk2', 'exampointcode', 'software_version', 'typename', 'vin',
// 'voicetype', 'em', 'carclass', 'carid', 'flag', 'kscx', 'x_mch'
export interface ES_CARINFOType {
id?: string
car_mac?: string
status?: string
voiceip?: string
carno?: string
carcode?: string
cartype?: string
device_status?: string
carip?: string
pulse1?: string
pulse2?: string
isface?: string
bk1?: string
ismapcollect?: string
bk2?: string
exampointcode?: string
software_version?: string
typename?: string
vin?: string
voicetype?: string
em?: string
carclass?: string
carid?: string
flag?: string
kscx?: string
x_mch?: string
}
// 'id', 'no1', 'no2', 'no3', 'txt1', 'txt2', 'txt3'
export interface MA_SYSTEMPARMType {
id?: string
no1?: string
no2?: string
no3?: string
txt1?: string
txt2?: string
txt3?: string
NO1?: number,
NO2?: number,
NO3?: number,
TXT1?: string,
TXT2?: string,
TXT3?: string,
}
// 'id', 'sbbm', 'itemsno', 'sbbh', 'kdid', 'bk3'
export interface MA_CDSBINFOType {
id?: string
sbbm?: string
itemsno?: string
sbbh?: string
kdid?: string
bk3?: string
}
// 'id', 'cininfo', 'setup9', 'nextinfo', 'setup7', 'setup8', 'setup5', 'carlist', 'setup6', 'setup3',
// 'setup4', 'setup1', 'setup2', 'itemsno', 'end_cardsno', 'freqinfo'
export interface MA_ITEMINFOType {
id?: string
cininfo?: string
setup9?: string
nextinfo?: string
setup7?: string
setup8?: string
setup5?: string
carlist?: string
setup6?: string
setup3?: string
setup4?: string
setup1?: string
setup2?: string
itemsno?: string
end_cardsno?: string
freqinfo?: string
}
// 'id', 'point_no', 'point_no_f', 'gps_e', 'gps_e_location', 'gps_n', 'gps_n_location', 'f_gps_e',
// 'f_gps_n', 'point_type', 'road_code', 'visible', 'passed'
export interface MA_MAP_POINTType {
id?: string
point_no?: string
point_no_f?: string
gps_e?: string
gps_e_location?: string
gps_n?: string
gps_n_location?: string
f_gps_e?: string
f_gps_n?: string
point_type?: string
road_code?: string
visible?: string
passed?: string
}
// id', 'point_no', 'itemno', 'itemno1', 'subname'
export interface MA_MAP_POINT_ITEMType {
id?: string
point_no?: string
itemno?: string
itemno1?: string
subname?: string
}
// 'id', 'itemno', 'markserial', 'markdepend', 'markcatalog', 'markstandard', 'markreal', 'markshow', 'txt1',
// 'kfxh'
export interface MA_MARKRULEType {
id?: string
itemno?: string
markserial?: string
markdepend?: string
markcatalog?: string
markstandard?: string
markreal?: string
markshow?: string
txt1?: string
kfxh?: string
}

View File

@ -4,13 +4,11 @@ import router from '@ohos.router';
import { getCurrentTime, setCurrentTime, string2Bytes } from '../common/utils/tools'; import { getCurrentTime, setCurrentTime, string2Bytes } from '../common/utils/tools';
import { FileHelper } from '../common/service/FileHelper'; import { FileHelper } from '../common/service/FileHelper';
import { getEsCarModel, getSyncData, } from '../common/service/initable'; import { getEsCarModel, getSyncData, } from '../common/service/initable';
import FileUtil from '../common/utils/File';
import { getUDP, getUDP2 } from '../common/utils/GlobalUdp'; import { getUDP, getUDP2 } from '../common/utils/GlobalUdp';
import { initJudgeUdp } from '../common/utils/UdpJudge'; import { initJudgeUdp } from '../common/utils/UdpJudge';
import { judgeConfig } from './judgeSDK/utils/judgeConfig'; import { judgeConfig } from './judgeSDK/utils/judgeConfig';
import { getTCP } from '../common/utils/GlobalTcp'; import { getTCP } from '../common/utils/GlobalTcp';
import { getSingleCenterTable, setliushuiNum, takePhotoFn } from '../common/service/indexService'; import { setliushuiNum, takePhotoFn } from '../common/service/indexService';
import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl';
import promptAction from '@ohos.promptAction'; import promptAction from '@ohos.promptAction';
import errorMsgDialog from './compontents/errorMsgDialog'; import errorMsgDialog from './compontents/errorMsgDialog';
import GetDistance from '../common/utils/GetDistance'; import GetDistance from '../common/utils/GetDistance';
@ -18,7 +16,7 @@ import { delPic } from '../service/videoService';
import imageBtn from './compontents/imageBtn'; import imageBtn from './compontents/imageBtn';
import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements'; import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
import { BaseInfoType } from '../model/Common'; import { BaseInfoType } from '../model/Common';
import { CarInfoType } from '../model/CarCheck'; import { CarInfoType } from '../model';
import { InitializeTheCentralTableType, MASYSSETTableType, TimeInfo } from '../model'; import { InitializeTheCentralTableType, MASYSSETTableType, TimeInfo } from '../model';
import { GetCarInfo, GetDeviceInfo, UseAuth } from './Index/utils'; import { GetCarInfo, GetDeviceInfo, UseAuth } from './Index/utils';
import { GetSyncData, InitializeTheCentralTable } from '../utils/table/Operation'; import { GetSyncData, InitializeTheCentralTable } from '../utils/table/Operation';
@ -399,7 +397,6 @@ struct Index {
singlePlay: this.singlePlay singlePlay: this.singlePlay
} }
this.loading = true this.loading = true
console.log("sql 1111")
// getSingleCenterTable(param).then((ret) => { // getSingleCenterTable(param).then((ret) => {
InitializeTheCentralTable(param).then((ret) => { InitializeTheCentralTable(param).then((ret) => {

View File

@ -30,7 +30,21 @@ import { judgeConfig } from './judgeSDK/utils/judgeConfig';
import FileUtil from '../common/utils/File'; import FileUtil from '../common/utils/File';
import SignDisplayCom from './compontents/signDisplayCom'; import SignDisplayCom from './compontents/signDisplayCom';
import { CarInfoType, CommonType, KfdmType, User } from '../model'; import {
CarInfoType,
CommonType,
ES_CARINFOType,
KfdmType,
MASYSSETTableType,
MA_CDSBINFOType,
MA_ITEMINFOType,
MA_MAP_POINTType,
MA_MAP_POINT_ITEMType,
MA_MARKRULEType,
MA_SYSTEMPARMType,
RouteParamsType,
User
} from '../model';
import { GetSyncData } from '../utils/table/Operation'; import { GetSyncData } from '../utils/table/Operation';
@Entry @Entry
@ -197,7 +211,8 @@ struct Index {
// 查询考车信息 // 查询考车信息
async initCar() { async initCar() {
const result = await getSyncData('ES_CARINFO') // const result = await getSyncData('ES_CARINFO')
const result = await GetSyncData<ES_CARINFOType>("ES_CARINFO")
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
@ -206,6 +221,7 @@ struct Index {
IPADDR: '', IPADDR: '',
CARCLASS: decodeURI(carInfo.carclass), CARCLASS: decodeURI(carInfo.carclass),
KSCX: carInfo.kscx, KSCX: carInfo.kscx,
// TODO 确定一下是否有这个字段,表定义中没有
CARNAME: decodeURI(carInfo.carname), CARNAME: decodeURI(carInfo.carname),
FLAG: carInfo.flag, FLAG: carInfo.flag,
BK1: carInfo.bk1, BK1: carInfo.bk1,
@ -217,23 +233,23 @@ struct Index {
// 获取考生信息 // 获取考生信息
async initStudent() { async initStudent() {
const students = await GetSyncData<User>('USER') const students = await GetSyncData<User>('USER')
const stuInfo = students[0] || {}; const stuInfo = students[0];
const { xm, sfzmhm, lsh, kszp, ksdd, kssycs, kslx, ksxl, xldm } = stuInfo; // const { xm, sfzmhm, lsh, kszp, ksdd, kssycs, kslx, ksxl, xldm } = stuInfo;
this.name = xm || '测试考生'; this.name = stuInfo.xm || '测试考生';
this.idCard = sfzmhm || '01234567891010'; this.idCard = stuInfo.sfzmhm || '01234567891010';
this.lsh = this.singlePlay ? '0000000000000' : lsh; this.lsh = this.singlePlay ? '0000000000000' : lsh;
this.kszp = kszp; this.kszp = stuInfo.kszp;
this.ksdd = ksdd; this.ksdd = stuInfo.ksdd;
this.kssycs = kssycs; this.kssycs = stuInfo.kssycs;
this.ksxl = ksxl; this.ksxl = stuInfo.ksxl;
this.wayno = ksxl; this.wayno = Number(stuInfo.ksxl);
this.xldm = xldm; this.xldm = stuInfo.xldm;
this.kslx = kslx; this.kslx = stuInfo.kslx;
} }
// 获取扣分代码信息 // 获取扣分代码信息
async initMarkRules(markRules ?: MarkRule[]) { async initMarkRules(markRules ?: MarkRule[]) {
const markRuleParams = markRules || (await getSyncData('MA_MARKRULE') as MarkRule[]) const markRuleParams = markRules || (await GetSyncData<MA_MARKRULEType>('MA_MARKRULE')
markRuleParams.forEach(mark => { markRuleParams.forEach(mark => {
const tempObj = { const tempObj = {
@ -263,25 +279,23 @@ struct Index {
// 获取sysset表信息 // 获取sysset表信息
async initSysset(sysset?: SYSSET[]) { async initSysset(sysset?: SYSSET[]) {
const syssetParams = sysset || await getSyncData('MA_SYSSET') const syssetParams: MASYSSETTableType[] = sysset || await GetSyncData<MASYSSETTableType>('MA_SYSSET')
//@ts-ignore
const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901'); const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901');
console.info('surenjun serialNumberArr' + JSON.stringify(serialNumberArr)) console.info('surenjun serialNumberArr' + JSON.stringify(serialNumberArr))
this.serialNumber = (serialNumberArr[0] && serialNumberArr[0].v_value) || ''; this.serialNumber = (serialNumberArr[0] && serialNumberArr[0].v_value) || '';
const { isTrajectoryOpen } = judgeConfig // const { isTrajectoryOpen } = judgeConfig
const syssetJudgeConfigArr = [] const syssetJudgeConfigArr = []
//@ts-ignore
syssetParams.forEach((sys) => { syssetParams.forEach((sys) => {
if (isTrajectoryOpen) { if (judgeConfig.isTrajectoryOpen) {
sys.v_no = sys.key; sys.v_no = sys.key;
sys.v_name = sys.name; sys.v_name = sys.name;
sys.v_value = sys.value sys.v_value = sys.value
} }
const { v_no, v_value } = sys; // const { v_no, v_value } = sys;
const v_no_num = v_no * 1; const v_no_num = sys.v_no * 1;
const value = decodeURIComponent(v_value) const value = decodeURIComponent(sys.v_value)
if (v_no_num >= 10 && v_no_num <= 900) { if (v_no_num >= 10 && v_no_num <= 900) {
syssetJudgeConfigArr.push({ syssetJudgeConfigArr.push({
key: v_no_num, value: value, key: v_no_num, value: value,
@ -305,16 +319,16 @@ struct Index {
// } // }
//364 绕车一周评判时机(1-开始考试后判 2-开始考试前判) //364 绕车一周评判时机(1-开始考试后判 2-开始考试前判)
if (sys.v_no == '364' && sys.v_value == 2) { if (sys.v_no == '364' && sys.v_value == "2") {
let currentParams: any = router.getParams(); let currentParams: RouteParamsType = router.getParams() as RouteParamsType;
const { sczb, kfdm } = currentParams; // const { sczb, kfdm } = currentParams;
kfdm.forEach(kf => { currentParams.kfdm.forEach(kf => {
const { xmdm, kfdm } = kf // const { xmdm, kfdm } = kf
const currentKf = this.markRuleListObj[`${xmdm}_${kfdm}`]; const currentKf = this.markRuleListObj[`${kf.xmdm}_${kf.kfdm}`];
const currentProject = this.projectsObj[xmdm] const currentProject = this.projectsObj[xmdm]
// 过滤考前绕车一周上车准备的扣分 // 过滤考前绕车一周上车准备的扣分
if (sczb == 1 && xmdm == '1') { if (currentParams.sczb == "1" && xmdm == '1') {
return return
} }
@ -343,25 +357,24 @@ struct Index {
} }
//初始化systemParam表 //初始化systemParam表
async initSystemParam(sysParam?: SYSTEMPARMARR[]) { async initSystemParam(sysParam?: MA_SYSTEMPARMType[]) {
const systemParms: any = sysParam || await getSyncData('MA_SYSTEMPARM') let systemParms: MA_SYSTEMPARMType[] = sysParam || await GetSyncData<MA_SYSTEMPARMType>('MA_SYSTEMPARM')
console.info('surenjun => systemParms', JSON.stringify(systemParms));
let currentParams: any = router.getParams(); let currentParams: RouteParamsType = router.getParams() as RouteParamsType;
const { carName, carType, examSubject } = this; // const { carName, carType, examSubject } = this;
//小车车型列表 //小车车型列表
const sCarTypes = ['C1', 'C2', 'C5'] const sCarTypes = ['C1', 'C2', 'C5']
if (this.singlePlay) { if (this.singlePlay) {
this.wayno = currentParams.wayno || 1; this.wayno = Number(currentParams.wayno) || 1;
} }
//真实监管下发的项目 //真实监管下发的项目
let kStringArr: string[] = (currentParams.kString?.split(',') || []).filter(item => item); let kStringArr: string[] = (currentParams.kString?.split(',') || []).filter(item => item);
console.info('surenjun kStringArr', JSON.stringify(kStringArr)) console.info('surenjun kStringArr', JSON.stringify(kStringArr))
let isInExam = kStringArr.length > 0; let isInExam = kStringArr.length > 0;
const { isTrajectoryOpen } = judgeConfig // const { isTrajectoryOpen } = judgeConfig
let carNo = '', allItems = []; let carNo = '', allItems = [];
systemParms.forEach((systemParm) => { systemParms.forEach((systemParm) => {
if (isTrajectoryOpen) { if (judgeConfig.isTrajectoryOpen) {
systemParm.no1 = systemParm.NO1 + ''; systemParm.no1 = systemParm.NO1 + '';
systemParm.no2 = systemParm.NO2 + ''; systemParm.no2 = systemParm.NO2 + '';
systemParm.no3 = systemParm.NO3 + ''; systemParm.no3 = systemParm.NO3 + '';
@ -369,41 +382,41 @@ struct Index {
systemParm.txt2 = systemParm.TXT2; systemParm.txt2 = systemParm.TXT2;
systemParm.txt3 = systemParm.TXT3; systemParm.txt3 = systemParm.TXT3;
} }
const { no1, no2, no3, } = systemParm; // const { no1, no2, no3, } = systemParm;
const txt1 = decodeURI(systemParm.txt1) const txt1 = decodeURI(systemParm.txt1)
const txt2 = decodeURI(systemParm.txt2) const txt2 = decodeURI(systemParm.txt2)
//获取当前考车的no2 //获取当前考车的no2
if (no1 == 3 && no3 == 1) { if (systemParm.no1 == "3" && systemParm.no3 == "1") {
if (txt1 === carName) { if (txt1 === this.carName) {
carNo = no2 carNo = systemParm.no2
this.carlist = carNo this.carlist = carNo
} }
} }
//获取及格分数线 //获取及格分数线
if (no1 == 3 && no3 == 3 && carNo === no2) { if (systemParm.no1 == "3" && systemParm.no3 == "3" && carNo === systemParm.no2) {
this.passingScore = Number(txt1) || 0; this.passingScore = Number(txt1) || 0;
} }
//根据车型获取应行驶里程数 //根据车型获取应行驶里程数
if (no1 == 3 && no3 == 15 && carNo === no2) { if (systemParm.no1 == "3" && systemParm.no3 == "15" && carNo === systemParm.no2) {
this.examMileage = ((decodeURI(systemParm.txt1)) || '').split('^')[0]; this.examMileage = ((decodeURI(systemParm.txt1)) || '').split('^')[0];
} }
//获取当前考车的考试项目 //获取当前考车的考试项目
if (carNo !== '' && no1 == 3 && no2 == carNo && no3 == 10) { if (carNo !== '' && systemParm.no1 == "3" && systemParm.no2 == carNo && systemParm.no3 == "10") {
allItems = decodeURIComponent(systemParm.txt1).split(',').filter(txt => txt !== '') allItems = decodeURIComponent(systemParm.txt1).split(',').filter(txt => txt !== '')
console.info('surenjun', JSON.stringify(allItems)) console.info('surenjun', JSON.stringify(allItems))
} }
if ( if (
//科目二获取项目 //科目二获取项目
(examSubject == 2 && allItems.length && no1 == 6 && allItems.includes(no2)) (this.examSubject == "2" && allItems.length && systemParm.no1 == '6' && allItems.includes(systemParm.no2))
|| ||
//科目三获取项目 //科目三获取项目
(examSubject == 3 && no1 == 6) (this.examSubject == "3" && systemParm.no1 == "6")
) { ) {
const name = decodeURI(systemParm.txt1) const name = decodeURI(systemParm.txt1)
//小车过滤掉 夜间模拟行驶 //小车过滤掉 夜间模拟行驶
if (sCarTypes.includes(carType) && name === '夜间行驶') { if (sCarTypes.includes(this.carType) && name === '夜间行驶') {
return return
} }
@ -419,17 +432,17 @@ struct Index {
//项目开始数据是否上传过 //项目开始数据是否上传过
isUpload: false, isUpload: false,
} }
this.projectsObj[no2*1] = currentProject this.projectsObj[systemParm.no2*1] = currentProject
this.projectsCenterObj[txt2] = currentProject this.projectsCenterObj[txt2] = currentProject
this.projects.push(currentProject); this.projects.push(currentProject);
//真实监管下发考试项目 //真实监管下发考试项目
if (isInExam && !(kStringArr.includes(txt2) || kStringArr.includes(no2 + ''))) { if (isInExam && !(kStringArr.includes(txt2) || kStringArr.includes(no2 + ''))) {
console.info('surenjun =>', txt2) console.info('surenjun =>', txt2)
console.info('surenjun => no2', no2) console.info('surenjun => no2', systemParm.no2)
this.projectsObj[no2*1].type = '3' this.projectsObj[systemParm.no2*1].type = '3'
this.projectsObj[no2*1].isUpload = true this.projectsObj[systemParm.no2*1].isUpload = true
this.projectsObj[no2*1].isEnd = true this.projectsObj[systemParm.no2*1].isEnd = true
this.projectsCenterObj[txt2].type = '3' this.projectsCenterObj[txt2].type = '3'
this.projectsCenterObj[txt2].isUpload = true this.projectsCenterObj[txt2].isUpload = true
this.projectsCenterObj[txt2].isEnd = true this.projectsCenterObj[txt2].isEnd = true
@ -439,9 +452,9 @@ struct Index {
} }
this.systemparmArr.push({ this.systemparmArr.push({
'NO1': no1 * 1, 'NO1': Number(systemParm.no1),
'NO2': no2 * 1, 'NO2': Number(systemParm.no2),
'NO3': no3 * 1, 'NO3': Number(systemParm.no3),
'TXT1': decodeURIComponent(systemParm.txt1), 'TXT1': decodeURIComponent(systemParm.txt1),
'TXT2': decodeURIComponent(systemParm.txt2), 'TXT2': decodeURIComponent(systemParm.txt2),
'TXT3': decodeURIComponent(systemParm.txt3), 'TXT3': decodeURIComponent(systemParm.txt3),
@ -461,14 +474,12 @@ struct Index {
// 获取场地设备信息 // 获取场地设备信息
async initCDSBInfo() { async initCDSBInfo() {
const cdsbParams = await getSyncData('MA_CDSBINFO') const cdsbParams: MA_CDSBINFOType[] = await GetSyncData<MA_CDSBINFOType>('MA_CDSBINFO')
//只记录考试项目的模型 //只记录考试项目的模型
const projectsObj = this.projectsObj const projectsObj = this.projectsObj
//@ts-ignore
cdsbParams.forEach((cdsb) => { cdsbParams.forEach((cdsb) => {
const key = decodeURI(cdsb.itemsno); const key = decodeURI(cdsb.itemsno);
const newKey = key.split('~').join('_') const newKey = key.split('~').join('_')
//@ts-ignore
const xmdm = key.split('~')[0] * 1 const xmdm = key.split('~')[0] * 1
if (projectsObj[xmdm]) { if (projectsObj[xmdm]) {
this.cdsbInfoObj[newKey] = { this.cdsbInfoObj[newKey] = {
@ -486,16 +497,14 @@ struct Index {
// 获取itemInfo表信息 // 获取itemInfo表信息
async initItemInfo() { async initItemInfo() {
const infoParams = await getSyncData('MA_ITEMINFO'); const infoParams: MA_ITEMINFOType[] = await GetSyncData<MA_ITEMINFOType>('MA_ITEMINFO');
const carlist = this.carlist; const carlist = this.carlist;
const projectsObj = this.projectsObj const projectsObj = this.projectsObj
//@ts-ignore
infoParams.forEach((info) => { infoParams.forEach((info) => {
const key = decodeURI(info.itemsno); const key = decodeURI(info.itemsno);
const carlistArr = info.carlist === '' ? [] : (decodeURI(info.carlist).split(',') || []); const carlistArr = info.carlist === '' ? [] : (decodeURI(info.carlist).split(',') || []);
const newKey = key.split('~').join('_') const newKey = key.split('~').join('_')
//@ts-ignore const xmdm = Number(key.split('~')[0])
const xmdm = key.split('~')[0] * 1
if (projectsObj[xmdm] && (carlistArr.length == 0 || carlistArr.includes(carlist))) { if (projectsObj[xmdm] && (carlistArr.length == 0 || carlistArr.includes(carlist))) {
this.itemInfoObj[newKey] = { this.itemInfoObj[newKey] = {
modelKey: newKey, modelKey: newKey,
@ -510,10 +519,10 @@ struct Index {
async initJudge() { async initJudge() {
const judge = new Judge(this); const judge = new Judge(this);
await judge.onJudgeFn(async (judgeData) => { await judge.onJudgeFn(async (judgeData) => {
const { xmmcStr, carztStr, kfArr } = judgeData; // const { xmmcStr, carztStr, kfArr } = judgeData;
this.xmmcStr = xmmcStr; this.xmmcStr = judgeData.xmmcStr;
this.carztStr = carztStr; this.carztStr = judgeData.carztStr;
this.kfArr = kfArr; this.kfArr = judgeData.kfArr;
}); });
return judge return judge
} }
@ -521,12 +530,11 @@ struct Index {
// 断点续考判断 // 断点续考判断
async goDdxkItems() { async goDdxkItems() {
const judgeConfigObj = this.judgeConfigObj const judgeConfigObj = this.judgeConfigObj
const examSubject = this.examSubject
//科目二强制开始断点续考 //科目二强制开始断点续考
if (judgeConfigObj['432'] != 0 || examSubject == 2) { if (judgeConfigObj['432'] != 0 || this.examSubject == "2") {
//断点续考判断 //断点续考判断
let currentParams: any = router.getParams(); let currentParams: RouteParamsType = router.getParams() as RouteParamsType;
const examItems: string = currentParams?.examItems; const examItems: string = currentParams?.examItems;
// 2024-01-03 16:29:26;0;20300,;2,4^2,4;null; // 2024-01-03 16:29:26;0;20300,;2,4^2,4;null;
if (examItems !== '' && examItems !== undefined) { if (examItems !== '' && examItems !== undefined) {
@ -535,7 +543,7 @@ struct Index {
const startTime = examItemsArrs[0] const startTime = examItemsArrs[0]
const ddxkKsxmArr = examItemsArrs[2]?.split(',').filter(item => item) || [] const ddxkKsxmArr = examItemsArrs[2]?.split(',').filter(item => item) || []
const ddxkKfArr = examItemsArrs[3]?.split('^').filter(item => item) || [] const ddxkKfArr = examItemsArrs[3]?.split('^').filter(item => item) || []
if (judgeConfigObj['432'] == 2 || examSubject == 2) { if (judgeConfigObj['432'] == 2 || this.examSubject == "2") {
//TODO 带项目带里程 //TODO 带项目带里程
if (ddxkKsxmArr?.length) { if (ddxkKsxmArr?.length) {
//断点续考 //断点续考
@ -561,7 +569,6 @@ struct Index {
this.kfArr.push({ this.kfArr.push({
//扣分项目名称 //扣分项目名称
xmmcStr: currentProject.name, xmmcStr: currentProject.name,
//@ts-ignore
xmdm, xmdm,
desc: currentKf.markshow, desc: currentKf.markshow,
score: currentKf.markreal, score: currentKf.markreal,
@ -581,49 +588,35 @@ struct Index {
// 初始化mapPoint表 // 初始化mapPoint表
async initMapPoint() { async initMapPoint() {
const pointParams = await getSyncData('MA_MAP_POINT') const pointParams: MA_MAP_POINTType[] = await GetSyncData<MA_MAP_POINTType>('MA_MAP_POINT')
//@ts-ignore pointParams.forEach(item => {
pointParams.forEach(point => {
const {
point_no,
gps_e,
gps_n,
point_no_f,
point_type,
road_code,
gps_e_Location,
gps_n_Location,
f_gps_e,
f_gps_n,
passed
} = point;
this.mapPointArr.push({ this.mapPointArr.push({
point_no: point_no * 1, point_no: Number(item.point_no),
gps_e: gps_e * 1, gps_e: Number(item.gps_e),
gps_n: gps_n * 1, gps_n: Number(item.gps_n),
point_no_f: point_no_f * 1, point_no_f: Number(item.point_no_f),
point_type: point_type * 1, point_type: Number(item.point_type),
road_code, road_code: item.road_code,
gps_e_Location: (gps_e_Location || 0) * 1, gps_e_Location: Number(item.gps_e_location),
gps_n_Location: (gps_n_Location || 0) * 1, gps_n_Location: Number(item.gps_n_location),
f_gps_e: f_gps_e * 1, f_gps_e: Number(item.f_gps_e),
f_gps_n: f_gps_n * 1, f_gps_n: Number(item.f_gps_n),
passed: passed * 1 passed: Number(item.passed)
}) })
}) })
} }
// 初始化mapPointItem表 // 初始化mapPointItem表
async initMapPointItem() { async initMapPointItem() {
const pointItemPoints = await getSyncData('MA_MAP_POINT_ITEM'); const pointItemPoints: MA_MAP_POINT_ITEMType[] = await GetSyncData<MA_MAP_POINT_ITEMType>('MA_MAP_POINT_ITEM');
//@ts-ignore pointItemPoints.forEach(item => {
pointItemPoints.forEach(itemPoint => { // const { point_no, itemno, itemno1, subname } = itemPoint
const { point_no, itemno, itemno1, subname } = itemPoint
this.mapPointItemArr.push({ this.mapPointItemArr.push({
point_no: point_no * 1, point_no: Number(item.point_no),
itemno: itemno * 1, itemno: Number(item.itemno),
itemno1: itemno1 * 1, itemno1: Number(item.itemno1),
subname subname: item.subname
}) })
}) })
} }

View File

@ -193,7 +193,8 @@ export default struct FaceCompare {
carNo: this.carInfo.carNo, carNo: this.carInfo.carNo,
placeId: this.carInfo.examinationRoomId placeId: this.carInfo.examinationRoomId
} }
globalThis.udpClient2.sendMsgExt(param, this.context) // TODO UPD缺失
// globalThis.udpClient2.sendMsgExt(param, this.context)
} }
async faceComparFn() { async faceComparFn() {
@ -252,7 +253,8 @@ export default struct FaceCompare {
this.callBackFlag = true this.callBackFlag = true
} }
} }
globalThis.udpClient2 && globalThis.udpClient2.sendMsgExt(param, this.context) // UDP缺失
// globalThis.udpClient2 && globalThis.udpClient2.sendMsgExt(param, this.context)
clearInterval(this.interval) clearInterval(this.interval)
this.interval = setInterval(() => { this.interval = setInterval(() => {
if (this.callBackFlag) { if (this.callBackFlag) {
@ -262,35 +264,37 @@ export default struct FaceCompare {
carNo: this.carInfo.carNo, carNo: this.carInfo.carNo,
placeId: this.carInfo.examinationRoomId, placeId: this.carInfo.examinationRoomId,
} }
globalThis.udpClient2 && globalThis.udpClient2.sendMsgExt(param2, this.context) // TODO UDP缺失
// globalThis.udpClient2 && globalThis.udpClient2.sendMsgExt(param2, this.context)
} }
}, 1000) }, 1000)
globalThis.udpClient2.setMsgCallBack((val) => { // TODO UDP缺失
if (AppStorage.get('statue') != 3) { // globalThis.udpClient2.setMsgCallBack((val) => {
return // if (AppStorage.get('statue') != 3) {
} // return
if (val.id == '48') { // }
if (val.body[13] == '1') { // if (val.id == '48') {
this.showFaceCompareFlag = !this.showFaceCompareFlag // if (val.body[13] == '1') {
this.showFaceCompare = !this.showFaceCompare // this.showFaceCompareFlag = !this.showFaceCompareFlag
this.vocObj && this.vocObj.releasePlayer() // this.showFaceCompare = !this.showFaceCompare
this.faceCompareSucess = 1 // this.vocObj && this.vocObj.releasePlayer()
clearInterval(this.interval) // this.faceCompareSucess = 1
} else if (val.body[13] == '0' && this.callBackFlag) { // clearInterval(this.interval)
AppStorage.setOrCreate('statue', 2) // } else if (val.body[13] == '0' && this.callBackFlag) {
this.vocObj && this.vocObj.playAudio({ // AppStorage.setOrCreate('statue', 2)
type: 1, // this.vocObj && this.vocObj.playAudio({
name: 'face_chekc_fail.wav' // type: 1,
}) // name: 'face_chekc_fail.wav'
} // })
} // }
}) // }
// })
} }
async getVideoConfig() { async getVideoConfig() {
console.log('faceEnterIn') console.log('faceEnterIn')
this.vocObj = new voiceService(async (status: string, val: string, next) => { this.vocObj = new voiceService(async (status: string, val: string) => {
if (status == 'idle') { if (status == 'idle') {
if (val == 'face_check.mp3' || val == 'face_fail.mp3') { if (val == 'face_check.mp3' || val == 'face_fail.mp3') {
if (this.times >= 3) { if (this.times >= 3) {

View File

@ -11,7 +11,6 @@ import FileUtil from '../../common/utils/File';
import FileLog from './utils/fileLog'; import FileLog from './utils/fileLog';
import JudgeTask from './utils/judgeTask'; import JudgeTask from './utils/judgeTask';
import { judgeConfig } from './utils/judgeConfig'; import { judgeConfig } from './utils/judgeConfig';
import { uploadExamProgressData, writeObjectOut } from '../../api/judge';
import UsbService from '../../service/usbService'; import UsbService from '../../service/usbService';
import { KF, LANE } from '../judgeSDK/api/judgeSDK.d'; import { KF, LANE } from '../judgeSDK/api/judgeSDK.d';
import { endRecordVideo, saveStartRecordVideo } from '../../service/videoService'; import { endRecordVideo, saveStartRecordVideo } from '../../service/videoService';
@ -53,50 +52,11 @@ import {
examJudgeSoundEnd, examJudgeSoundEnd,
examJudgeVersion examJudgeVersion
} from './api/index'; } from './api/index';
import { getSyncData, upDateTableByArray } from '../../common/service/initable'; import { writeObjectOut } from '../../api/judge';
import App from '@system.app';
const judgeTag = 'SURENJUN_JUDGE' const judgeTag = 'SURENJUN_JUDGE'
export default class Judge { export default class Judge {
// 过程照片拍照
getPhoto = async (empty?: boolean) => {
const singlePlay = AppStorage.get('singlePlay')
//单机模式返回空照片
if (singlePlay) {
return ''
} else {
const { filePhoto } = this;
const photoBase64 = await filePhoto.getPhoto();
console.info(judgeTag, '拍照完成')
return photoBase64
}
}
//人工操作项目
public setJudgeItem = async (itemno, type: 1 | 2) => {
const { fileLog } = this;
await examJudgeArtificialItem(itemno * 1, type);
await fileLog.setExamJudgeData({
method: 'examJudgeArtificialItem',
itemno: itemno * 1,
type
})
console.info(judgeTag, `人工评判${type == 1 ? '进入' : '取消'}项目-${itemno}`)
}
//人工扣分
public setJudgeMark = async (itemno, serial, type = 1) => {
const { fileLog } = this
await examJudgeArtificialMark(itemno * 1, serial, type);
console.info(judgeTag, `进入人工扣分-${itemno}-${serial}`)
await fileLog.setExamJudgeData({
method: 'examJudgeArtificialMark',
itemno: itemno * 1,
serial,
type
})
console.info(judgeTag, `人工扣分-${itemno}-${serial}`)
}
// 断网数据补传 // 断网数据补传
uploadDisConnectData = async () => { uploadDisConnectData = async () => {
const { isJudgeDisConnect, fileLog, fileUtil } = this; const { isJudgeDisConnect, fileLog, fileUtil } = this;
@ -113,7 +73,7 @@ export default class Judge {
} }
//上传无锡所过程数据 //上传无锡所过程数据
uploadProgressData = async () => { uploadProgressData = async () => {
const carInfo=AppStorage.get('carInfo') const carInfo = AppStorage.get('carInfo')
const { judgeUI, fileUtil, fileLog } = this; const { judgeUI, fileUtil, fileLog } = this;
const { idCard, startFullTime } = judgeUI const { idCard, startFullTime } = judgeUI
const { carId, examinationRoomId } = carInfo const { carId, examinationRoomId } = carInfo
@ -165,7 +125,7 @@ export default class Judge {
} }
// 处理特殊参数配置 // 处理特殊参数配置
handleSEP = async (code: number) => { handleSEP = async (code: number) => {
const carInfo=AppStorage.get('carInfo') const carInfo = AppStorage.get('carInfo')
const { const {
judgeUI:{ judgeUI:{
judgeConfigObj judgeConfigObj
@ -234,50 +194,39 @@ export default class Judge {
return true return true
} }
} }
// 处理udp plc信号
handleUdp = async (msg) => {
console.info('plc信号', msg)
const { fileLog, getPlcData, usbService, isUdpEnd, isExamEnd, judgeUI } = this
const stachArr = msg.split(',')
if (stachArr[0] != '#DN_GD' || isUdpEnd) {
return
}
const plcData = await getPlcData(msg);
// 4.过程数据
await fileLog.setExamJudgeData(plcData)
//检测到有无锡所设备接入,需要发送特定的数据,供检测
if (usbService.isWXUSBDevice) {
const str = await senorToWXDataStr(msg);
usbService.sendUSB(str)
}
// this.judgeUI.isDwztRight = (plcData.gps.dwzt == 4 && plcData.gps.jdzt == 3);
const param350 = judgeUI.judgeConfigObj['350']
//@ts-ignore
this.judgeUI.sd = ((param350 == 0 ? plcData.gps.sd : plcData.sensor.cs) as number * 1.852).toFixed(0) + ''
this.judgeUI.dw = (Math.floor(plcData.sensor.dw as number) || 0) + ''
//TODO 暂时关闭差分检测异常
// await this.checkDwzt(plcData.gps.dwzt,plcData.gps.jdzt);
if (!isExamEnd) {
await examJudgeRealExam(plcData)
}
let udpIndex = AppStorage.get('udpIndex') as number;
let [prevJd, preWd] = [0, 0]
if (udpIndex % 5 === 0 && !isUdpEnd) {
const judgeUdp = globalThis.judgeUdp
const bytes = await this.getMessageHeartbeat(isExamEnd);
judgeUdp.send(bytes)
}
AppStorage.setOrCreate('udpIndex',udpIndex++)
}
private fileLog private fileLog
private filePath //人工扣分
public setJudgeMark = async (itemno, serial, type = 1) => {
await examJudgeArtificialMark(itemno * 1, serial, type);
console.info(judgeTag, `进入人工扣分-${itemno}-${serial}`)
await this.fileLog.setExamJudgeData({
method: 'examJudgeArtificialMark',
itemno: itemno * 1,
serial,
type
})
console.info(judgeTag, `人工扣分-${itemno}-${serial}`)
}
//人工操作项目
public setJudgeItem = async (itemno: number, type: 1 | 2) => {
// const { fileLog } = this;
await examJudgeArtificialItem(itemno * 1, type);
await this.fileLog.setExamJudgeData({
method: 'examJudgeArtificialItem',
itemno: itemno * 1,
type
})
console.info(judgeTag, `人工评判${type == 1 ? '进入' : '取消'}项目-${itemno}`)
}
private filePath: string
private totalScore: number private totalScore: number
private prevJd: number = 0 private prevJd: number = 0
private prevWd: number = 0 private prevWd: number = 0
private dwztNum: number = 0 private dwztNum: number = 0
private folderPath: string private folderPath: string
private modelPath: string private modelPath: string
private avPlayer private avPlayer: VoiceAnnounce
private carztStr: string private carztStr: string
private rmndg: 0 | 1 private rmndg: 0 | 1
private mndgStr: string | undefined private mndgStr: string | undefined
@ -293,6 +242,18 @@ export default class Judge {
private xmxh: string private xmxh: string
private fileModel: FileModel private fileModel: FileModel
private filePhoto: FilePhoto private filePhoto: FilePhoto
// 过程照片拍照
getPhoto = async (empty?: boolean) => {
const singlePlay: boolean = AppStorage.get('singlePlay')
//单机模式返回空照片
if (singlePlay) {
return ''
} else {
const photoBase64 = await this.filePhoto.getPhoto();
console.info(judgeTag, '拍照完成')
return photoBase64
}
}
private usbService: UsbService private usbService: UsbService
//是否是考试模式 //是否是考试模式
private isExam: boolean private isExam: boolean
@ -322,7 +283,7 @@ export default class Judge {
h: hxj || 1, h: hxj || 1,
}) })
//@ts-ignore //@ts-ignore
const distanceClass=AppStorage.get('distanceClass') const distanceClass = AppStorage.get('distanceClass')
distanceClass?.setTimeData(((distance / 100).toFixed(2)) * 1) distanceClass?.setTimeData(((distance / 100).toFixed(2)) * 1)
} }
this.prevJd = tJD; this.prevJd = tJD;
@ -483,13 +444,47 @@ export default class Judge {
this.plcStr = plc; this.plcStr = plc;
this.mndgStr = ''; this.mndgStr = '';
this.rmndg = 0; this.rmndg = 0;
AppStorage.setOrCreate('msgStr',plc) AppStorage.setOrCreate('msgStr', plc)
return tempData return tempData
} }
// 处理udp plc信号
handleUdp = async (msg) => {
console.info('plc信号', msg)
// const { fileLog, getPlcData, usbService, isUdpEnd, isExamEnd, judgeUI } = this
const stachArr = msg.split(',')
if (stachArr[0] != '#DN_GD' || this.isUdpEnd) {
return
}
const plcData = await this.getPlcData(msg);
// 4.过程数据
await this.fileLog.setExamJudgeData(plcData)
//检测到有无锡所设备接入,需要发送特定的数据,供检测
if (this.usbService.isWXUSBDevice) {
const str = await senorToWXDataStr(msg);
this.usbService.sendUSB(str)
}
const param350 = this.judgeUI.judgeConfigObj['350']
this.judgeUI.sd = ((param350 == 0 ? plcData.gps.sd : plcData.sensor.cs) as number * 1.852).toFixed(0) + ''
this.judgeUI.dw = (Math.floor(plcData.sensor.dw as number) || 0) + ''
//TODO 暂时关闭差分检测异常
// await this.checkDwzt(plcData.gps.dwzt,plcData.gps.jdzt);
if (!this.isExamEnd) {
await examJudgeRealExam(plcData)
}
let udpIndex = AppStorage.get('udpIndex') as number;
let [prevJd, preWd] = [0, 0]
if (udpIndex % 5 === 0 && !this.isUdpEnd) {
// TODO UPD缺失
// const judgeUdp = globalThis.judgeUdp
// const bytes = await this.getMessageHeartbeat(this.isExamEnd);
// judgeUdp.send(bytes)
}
AppStorage.setOrCreate('udpIndex', udpIndex++)
}
// 处理轨迹plc信号 // 处理轨迹plc信号
handleTrajectoryUdp = async (strArr) => { handleTrajectoryUdp = async (strArr) => {
const { fileLog, setJudgeItem, setJudgeMark, endExam } = this; // const { fileLog, setJudgeItem, setJudgeMark, endExam } = this;
let num = 2; let num = 2;
const judgeTimer = setInterval(async () => { const judgeTimer = setInterval(async () => {
const msgStr = strArr[num]; const msgStr = strArr[num];
@ -508,20 +503,20 @@ export default class Judge {
this.judgeUI.dw = Math.floor(msg?.sensor?.dw) + '' this.judgeUI.dw = Math.floor(msg?.sensor?.dw) + ''
this.plcData = msg this.plcData = msg
// this.judgeUI.isDwztRight = msg.gps.dwzt == 4; // this.judgeUI.isDwztRight = msg.gps.dwzt == 4;
AppStorage.setOrCreate('msgStr','') AppStorage.setOrCreate('msgStr', '')
if (msg.method === 'examJudgeArtificialItem') { if (msg.method === 'examJudgeArtificialItem') {
setJudgeItem(msg.itemno, msg.type) this.setJudgeItem(msg.itemno, msg.type)
} }
if (msg.method === 'examJudgeArtificialMark') { if (msg.method === 'examJudgeArtificialMark') {
setJudgeItem(msg.itemno, msg.serial) this.setJudgeItem(msg.itemno, msg.serial)
} }
await examJudgeRealExam(msg) await examJudgeRealExam(msg)
const bytes = await this.getMessageHeartbeat(); // const bytes = await this.getMessageHeartbeat();
bytes && globalThis.judgeUdp.send(bytes) // bytes && globalThis.judgeUdp.send(bytes)
}, 200) }, 200)
// TODO 定时器缺失
globalThis.judgeTimer = judgeTimer; // globalThis.judgeTimer = judgeTimer;
} }
//当前科目二的考试项目 //当前科目二的考试项目
private currentKm2ItemsObj: any private currentKm2ItemsObj: any
@ -764,7 +759,6 @@ export default class Judge {
...km3Config, ...km3Config,
} }
} }
// 获取开始考试数据 // 获取开始考试数据
getJudgeBeginData = async () => { getJudgeBeginData = async () => {
const examinerInfo = AppStorage.get('examinerInfo') const examinerInfo = AppStorage.get('examinerInfo')
@ -825,7 +819,6 @@ export default class Judge {
console.info(judgeTag, '5.获取开始考试数据完成') console.info(judgeTag, '5.获取开始考试数据完成')
return beginInfo return beginInfo
} }
//处理评判过程回调 //处理评判过程回调
handleRealExam = async (strData, callBack) => { handleRealExam = async (strData, callBack) => {
let examData: EXAMDATA = JSON.parse(strData); let examData: EXAMDATA = JSON.parse(strData);
@ -997,7 +990,6 @@ export default class Judge {
judgeUI.projectsObj = deepClone(copyProjectsObj); judgeUI.projectsObj = deepClone(copyProjectsObj);
} }
} }
// 更改考试状态 // 更改考试状态
goVoiceAnnounce = async (event, xmdm, kf, xmjs, ksjs, xmxh) => { goVoiceAnnounce = async (event, xmdm, kf, xmjs, ksjs, xmxh) => {
const { const {
@ -1119,13 +1111,13 @@ export default class Judge {
case 5: case 5:
console.info(judgeTag, '考试结束') console.info(judgeTag, '考试结束')
//关闭录像 //关闭录像
const singlePlay=AppStorage.get('singlePlay') as boolean const singlePlay = AppStorage.get('singlePlay') as boolean
if (!singlePlay) { if (!singlePlay) {
await endRecordVideo(this.videoData) await endRecordVideo(this.videoData)
} }
judgeTask.addTask(async () => { judgeTask.addTask(async () => {
console.info(judgeTag, '考试结束 start') console.info(judgeTag, '考试结束 start')
AppStorage.setOrCreate('isJudge',false) AppStorage.setOrCreate('isJudge', false)
await handEndExam(ksjs) await handEndExam(ksjs)
}) })
clearInterval(globalThis.judgeTimer) clearInterval(globalThis.judgeTimer)
@ -1144,7 +1136,6 @@ export default class Judge {
await checkExamIsEnd() await checkExamIsEnd()
} }
} }
// 考试扣分 // 考试扣分
pointsDedute = async (ksxm, kf) => { pointsDedute = async (ksxm, kf) => {
const carInfo = AppStorage.get('carInfo'); const carInfo = AppStorage.get('carInfo');
@ -1196,7 +1187,6 @@ export default class Judge {
console.info(judgeTag, '项目扣分 end') console.info(judgeTag, '项目扣分 end')
promptWxCode('17C53', code) promptWxCode('17C53', code)
} }
// 评判语音提示 // 评判语音提示
goJudgeVoice = async (sound: SOUND) => { goJudgeVoice = async (sound: SOUND) => {
const { avPlayer, fileLog } = this; const { avPlayer, fileLog } = this;
@ -1219,7 +1209,6 @@ export default class Judge {
avPlayer.playAudio([`voice/${code[0]}.mp3`]) avPlayer.playAudio([`voice/${code[0]}.mp3`])
} }
} }
// 处理考试结束 // 处理考试结束
public handEndExam = async (ksjs: KSJS) => { public handEndExam = async (ksjs: KSJS) => {
this.judgeUI.loadingPopupVisible = true; this.judgeUI.loadingPopupVisible = true;
@ -1277,7 +1266,6 @@ export default class Judge {
}); });
} }
// 考试结束 // 考试结束
public endExam = async (isManual?: Boolean) => { public endExam = async (isManual?: Boolean) => {
const carInfo = AppStorage.get('carInfo'); const carInfo = AppStorage.get('carInfo');
@ -1448,13 +1436,11 @@ export default class Judge {
} }
} }
// 当前项目转换 // 当前项目转换
getDqxmStr = (type) => { getDqxmStr = (type) => {
const projectsObj = this.judgeUI.projectsObj const projectsObj = this.judgeUI.projectsObj
return projectsObj[type]?.abbreviation || '通用评判' return projectsObj[type]?.abbreviation || '通用评判'
} }
// 扣分项目转换 // 扣分项目转换
getKfStr = (code) => { getKfStr = (code) => {
const markRuleListObj = this.judgeUI.markRuleListObj; const markRuleListObj = this.judgeUI.markRuleListObj;
@ -1467,7 +1453,6 @@ export default class Judge {
kfxh: thisMark.kfxh kfxh: thisMark.kfxh
} }
} }
// 消息心跳发送 // 消息心跳发送
getMessageHeartbeat = async (isEnd?: Boolean) => { getMessageHeartbeat = async (isEnd?: Boolean) => {
const carInfo = AppStorage.get('carInfo'); const carInfo = AppStorage.get('carInfo');
@ -1590,7 +1575,6 @@ export default class Judge {
fileLog.setFourAndOneLogDataBytes(tempArr.toString()); fileLog.setFourAndOneLogDataBytes(tempArr.toString());
return Array2Byte(tempArr) return Array2Byte(tempArr)
} }
//获取场地序号 //获取场地序号
getSbxh = (ksxm, xmxh) => { getSbxh = (ksxm, xmxh) => {
const { judgeUI } = this; const { judgeUI } = this;
@ -1608,7 +1592,6 @@ export default class Judge {
const sbxh = currentCdsb.sbbh || '0000000000' const sbxh = currentCdsb.sbbh || '0000000000'
return sbxh return sbxh
} }
getSbbm = (ksxm, xmxh) => { getSbbm = (ksxm, xmxh) => {
const { judgeUI } = this; const { judgeUI } = this;
const { cdsbInfoObj, projectsObj, examSubject } = judgeUI; const { cdsbInfoObj, projectsObj, examSubject } = judgeUI;
@ -1625,7 +1608,6 @@ export default class Judge {
const sbxh = currentCdsb.sbbm || '00000000' const sbxh = currentCdsb.sbbm || '00000000'
return sbxh return sbxh
} }
// 中心所有项目转换 // 中心所有项目转换
getTranslateProject = () => { getTranslateProject = () => {
const { examSubject } = this.judgeUI; const { examSubject } = this.judgeUI;
@ -1656,13 +1638,11 @@ export default class Judge {
} }
return arr return arr
} }
// 获取考试项目详情 // 获取考试项目详情
getProjectInfo = (projectCode) => { getProjectInfo = (projectCode) => {
const judgeUI = this.judgeUI; const judgeUI = this.judgeUI;
return judgeUI.projectsObj[projectCode] return judgeUI.projectsObj[projectCode]
} }
// 获取模型数据 // 获取模型数据
getModelData = (modelName) => { getModelData = (modelName) => {
const modelPath = this.modelPath const modelPath = this.modelPath
@ -1670,7 +1650,6 @@ export default class Judge {
const modelData = fileModel.getModelContent(modelPath, modelName); const modelData = fileModel.getModelContent(modelPath, modelName);
return modelData return modelData
} }
// 统计必考项目、所有项目、已考数量 // 统计必考项目、所有项目、已考数量
setCountItems = async () => { setCountItems = async () => {
const carInfo = AppStorage.get('carInfo'); const carInfo = AppStorage.get('carInfo');
@ -1702,7 +1681,6 @@ export default class Judge {
this.judgeUI.isRequiredProjectsEnd = (projectNum - endProjectsNum === 0) this.judgeUI.isRequiredProjectsEnd = (projectNum - endProjectsNum === 0)
this.judgeUI.isAllProjectsEnd = (allProjectNum - allEndProjectsNum === 0) this.judgeUI.isAllProjectsEnd = (allProjectNum - allEndProjectsNum === 0)
} }
// 检测差分状态 // 检测差分状态
checkDwzt = async (type) => { checkDwzt = async (type) => {
const { avPlayer } = this; const { avPlayer } = this;
@ -1735,7 +1713,6 @@ export default class Judge {
break; break;
} }
} }
closeAllFiles = () => { closeAllFiles = () => {
setTimeout(() => { setTimeout(() => {
this.fileLog.closeAllFiles() this.fileLog.closeAllFiles()
@ -1784,10 +1761,10 @@ export default class Judge {
//相关评判初始化只做一次 //相关评判初始化只做一次
if (!isJudgeInitBool) { if (!isJudgeInitBool) {
const tempJudge = await examJudgeInit(initInfo); const tempJudge = await examJudgeInit(initInfo);
AppStorage.setOrCreate('isJudgeInitBool',true) AppStorage.setOrCreate('isJudgeInitBool', true)
console.info(judgeTag, '4.评判初始化完成') console.info(judgeTag, '4.评判初始化完成')
} }
AppStorage.setOrCreate('isJudge',true) AppStorage.setOrCreate('isJudge', true)
// 2.评判过程回调 // 2.评判过程回调
await examJudgeSetRealExamCallback(async (strData, len) => { await examJudgeSetRealExamCallback(async (strData, len) => {
await fileLog.setExamJudgeCallbackData(strData) await fileLog.setExamJudgeCallbackData(strData)