feat:评判优化
This commit is contained in:
parent
d2d13502c3
commit
9ba033954b
@ -43,11 +43,11 @@ export default class EntryAbility extends UIAbility {
|
|||||||
// globalThis.judgeVersion = '2023.07.10.1'
|
// globalThis.judgeVersion = '2023.07.10.1'
|
||||||
|
|
||||||
/***************** 杭州科目二 ******************/
|
/***************** 杭州科目二 ******************/
|
||||||
globalThis.version = '2024.11.22.44'
|
globalThis.version = '2022 03 14 01'
|
||||||
globalThis.judgeVersion = '2024.11.22.44'
|
globalThis.judgeVersion = '2022 03 17 1'
|
||||||
|
|
||||||
/***********************************/
|
/****************** 济南科目三 *****************/
|
||||||
// globalThis.version = '2023.12.13.01'//济南
|
// globalThis.version = '2023.12.13.01'//济南科目三
|
||||||
// globalThis.judgeVersion = '2023.09.30.1'
|
// globalThis.judgeVersion = '2023.09.30.1'
|
||||||
globalThis.videoVersion= '1.0'
|
globalThis.videoVersion= '1.0'
|
||||||
|
|
||||||
|
|||||||
@ -102,17 +102,17 @@ struct Index {
|
|||||||
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
|
||||||
this.carinfoArrr.push({
|
this.carinfoArr.push({
|
||||||
CARID: carInfo.carid,
|
CARID: carInfo.carid,
|
||||||
IPADDR: '',
|
IPADDR: '',
|
||||||
CARCLASS: decodeURI(carInfo.carclass),
|
CARCLASS: decodeURI(carInfo.carclass),
|
||||||
KSCX: carInfo.kscx,
|
KSCX: carInfo.kscx,
|
||||||
CARNAME: decodeURI(carInfo.carclass),
|
CARNAME: decodeURI(carInfo.carname),
|
||||||
FLAG: carInfo.flag,
|
FLAG: carInfo.flag,
|
||||||
BK1: carInfo.bk1,
|
BK1: carInfo.bk1,
|
||||||
BK2: carInfo.bk2,
|
BK2: carInfo.bk2,
|
||||||
})
|
})
|
||||||
console.info('surenjun =>carinfoArrr',JSON.stringify( this.carinfoArrr))
|
console.info('surenjun =>carinfoArrr',JSON.stringify( this.carinfoArr))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取考生信息
|
// 获取考生信息
|
||||||
@ -189,7 +189,7 @@ struct Index {
|
|||||||
}
|
}
|
||||||
//科目三应行驶距离参数
|
//科目三应行驶距离参数
|
||||||
if (sys.v_no == '303') {
|
if (sys.v_no == '303') {
|
||||||
this.examMileage = sys.v_value + '';
|
this.examMileage = this.examMileage == '0'?(sys.v_value + ''): this.examMileage;
|
||||||
}
|
}
|
||||||
|
|
||||||
//364 绕车一周评判时机(1-开始考试后判 2-开始考试前判)
|
//364 绕车一周评判时机(1-开始考试后判 2-开始考试前判)
|
||||||
@ -259,13 +259,17 @@ struct Index {
|
|||||||
if (txt1 === carName) {
|
if (txt1 === carName) {
|
||||||
carNo = no2
|
carNo = no2
|
||||||
this.carlist = carNo
|
this.carlist = carNo
|
||||||
console.info('surenjun carNo => ',carNo)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取及格分数线
|
//获取及格分数线
|
||||||
if(no1 == 3 && no3 == 3 && carNo === no2){
|
if(no1 == 3 && no3 == 3 && carNo === no2){
|
||||||
this.passingScore = Number(txt1) || 0;
|
this.passingScore = Number(txt1) || 0;
|
||||||
}
|
}
|
||||||
|
//根据车型获取应行驶里程数
|
||||||
|
if(no1 == 3 && no3 ==15 && carNo === no2){
|
||||||
|
this.examMileage = ((decodeURI(systemParm.txt1)) || '').split('^')[0];
|
||||||
|
}
|
||||||
//获取当前考车的考试项目
|
//获取当前考车的考试项目
|
||||||
if (carNo !== '' && no1 == 3 && no2 == carNo && no3 == 10) {
|
if (carNo !== '' && no1 == 3 && no2 == carNo && no3 == 10) {
|
||||||
allItems = decodeURIComponent(systemParm.txt1).split(',').filter(txt => txt !== '')
|
allItems = decodeURIComponent(systemParm.txt1).split(',').filter(txt => txt !== '')
|
||||||
@ -1287,7 +1291,7 @@ struct Index {
|
|||||||
//科目三评判初始化数据
|
//科目三评判初始化数据
|
||||||
@State systemparmArr: SYSTEMPARMARR[] = []
|
@State systemparmArr: SYSTEMPARMARR[] = []
|
||||||
@State mapPointItemArr: MAPITEMPOINTITEM[] = []
|
@State mapPointItemArr: MAPITEMPOINTITEM[] = []
|
||||||
@State carinfoArrr: CARINFO[] = []
|
@State carinfoArr: CARINFO[] = []
|
||||||
@State mapPointArr: MAPPOINT[] = []
|
@State mapPointArr: MAPPOINT[] = []
|
||||||
//手动项目是否在进行中
|
//手动项目是否在进行中
|
||||||
@State isManualProjectIn: boolean = false;
|
@State isManualProjectIn: boolean = false;
|
||||||
|
|||||||
@ -231,7 +231,7 @@ export default class Judge {
|
|||||||
const carInfo = globalThis.carInfo;
|
const carInfo = globalThis.carInfo;
|
||||||
const { examSubject,plateNo,carId } = carInfo;
|
const { examSubject,plateNo,carId } = carInfo;
|
||||||
const judgeUI = this.judgeUI
|
const judgeUI = this.judgeUI
|
||||||
const {projectsObj,itemInfoObj,markRuleListObj,carType,carName,systemparmArr} = judgeUI
|
const {projectsObj,itemInfoObj,markRuleListObj,carType,carName,systemparmArr,carinfoArr} = judgeUI
|
||||||
const examType = examSubject == 2 ? 'km2' : 'km3'
|
const examType = examSubject == 2 ? 'km2' : 'km3'
|
||||||
|
|
||||||
let allitems = [];
|
let allitems = [];
|
||||||
@ -262,7 +262,8 @@ export default class Judge {
|
|||||||
mark: Reflect.ownKeys(markRuleListObj).map(ruleKey => (markRuleListObj[ruleKey])) || testMarkRules,
|
mark: Reflect.ownKeys(markRuleListObj).map(ruleKey => (markRuleListObj[ruleKey])) || testMarkRules,
|
||||||
sysset: judgeUI.judgeConfig,
|
sysset: judgeUI.judgeConfig,
|
||||||
itemInfoObj,
|
itemInfoObj,
|
||||||
carlist:judgeUI.carlist
|
carlist:judgeUI.carlist,
|
||||||
|
carinfo: carinfoArr,
|
||||||
};
|
};
|
||||||
let km3Config = {}
|
let km3Config = {}
|
||||||
|
|
||||||
@ -532,9 +533,7 @@ export default class Judge {
|
|||||||
kmCode && avPlayer.playAudio([`voice/${kmCode}.mp3`],true)
|
kmCode && avPlayer.playAudio([`voice/${kmCode}.mp3`],true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(param512[7] != 0){
|
setTimeout(()=>{if(param512[7] != 0){this.judgeUI.isDeductedPopShow = true}},200)
|
||||||
this.judgeUI.isDeductedPopShow = true
|
|
||||||
}
|
|
||||||
//项目已考不上传监管信息
|
//项目已考不上传监管信息
|
||||||
if (!isEnd) {
|
if (!isEnd) {
|
||||||
judgeTask.addTask(async () => {
|
judgeTask.addTask(async () => {
|
||||||
@ -1416,9 +1415,8 @@ export default class Judge {
|
|||||||
//获取科目三的评判初始化配置
|
//获取科目三的评判初始化配置
|
||||||
getKm3JudgeInitConfig = async () => {
|
getKm3JudgeInitConfig = async () => {
|
||||||
const {judgeUI,getModelData} = this;
|
const {judgeUI,getModelData} = this;
|
||||||
const {carinfoArrr,mapPointArr,mapPointItemArr} = judgeUI;
|
const {mapPointArr,mapPointItemArr} = judgeUI;
|
||||||
return {
|
return {
|
||||||
carinfo: carinfoArrr,
|
|
||||||
map_point: mapPointArr,
|
map_point: mapPointArr,
|
||||||
map_point_item: mapPointItemArr,
|
map_point_item: mapPointItemArr,
|
||||||
//科目三暂时为空
|
//科目三暂时为空
|
||||||
@ -1538,7 +1536,7 @@ export default class Judge {
|
|||||||
const bytes = await this.getMessageHeartbeat();
|
const bytes = await this.getMessageHeartbeat();
|
||||||
bytes && globalThis.judgeUdp.send(bytes)
|
bytes && globalThis.judgeUdp.send(bytes)
|
||||||
|
|
||||||
}, 50)
|
}, 200)
|
||||||
|
|
||||||
globalThis.judgeTimer = judgeTimer;
|
globalThis.judgeTimer = judgeTimer;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -69,13 +69,13 @@ export function getDwStatusType(dw){
|
|||||||
// 中心实时项目状态转换
|
// 中心实时项目状态转换
|
||||||
export function getCenterProjectStatus(status){
|
export function getCenterProjectStatus(status){
|
||||||
switch (status){
|
switch (status){
|
||||||
//不考
|
//不考
|
||||||
case 0:return '00'
|
case 0:return '00'
|
||||||
//未考
|
//未考
|
||||||
case 1:return '01'
|
case 1:return '01'
|
||||||
//正在考
|
//正在考
|
||||||
case 2:return '10'
|
case 2:return '10'
|
||||||
//已考
|
//已考
|
||||||
case 3:return '11'
|
case 3:return '11'
|
||||||
|
|
||||||
default :return '00'
|
default :return '00'
|
||||||
@ -103,37 +103,37 @@ export function getKmProjectVoice(
|
|||||||
return projectCode
|
return projectCode
|
||||||
}
|
}
|
||||||
switch (projectCode*1){
|
switch (projectCode*1){
|
||||||
//直线行驶
|
//直线行驶
|
||||||
case 40300: return type === 1 ? 403001 : 403002
|
case 40300: return type === 1 ? 403001 : 403002
|
||||||
//变更车道
|
//变更车道
|
||||||
case 40500: return type === 1 ? 405001 : 405002
|
case 40500: return type === 1 ? 405001 : 405002
|
||||||
//左转
|
//左转
|
||||||
case 40800 : return type === 1 ? 408001 : undefined
|
case 40800 : return type === 1 ? 408001 : undefined
|
||||||
//右转
|
//右转
|
||||||
case 40900 : return type === 1 ? 409001 : undefined
|
case 40900 : return type === 1 ? 409001 : undefined
|
||||||
//会车 506-6为1都报
|
//会车 506-6为1都报
|
||||||
case 41300 : return type === 1
|
case 41300 : return type === 1
|
||||||
? 413001
|
? 413001
|
||||||
: (param506Str[5] == 1 ? undefined : 413002)
|
: (param506Str[5] == 1 ? undefined : 413002)
|
||||||
//超车
|
//超车
|
||||||
case 41400 : return type === 1
|
case 41400 : return type === 1
|
||||||
? (param405Str == 1 && (num == count)?undefined:414001)
|
? (param405Str == 1 && (num == count)?undefined:414001)
|
||||||
: undefined
|
: undefined
|
||||||
//直线行驶
|
//直线行驶
|
||||||
case 40700 : return type === 1 ? 407001 : undefined
|
case 40700 : return type === 1 ? 407001 : undefined
|
||||||
//通过学校 结束param544Str
|
//通过学校 结束param544Str
|
||||||
case 41100 : return type === 1
|
case 41100 : return type === 1
|
||||||
? (param512Str[2] ==3 ? 411001 : undefined)
|
? (param512Str[2] ==3 ? 411001 : undefined)
|
||||||
: (param544Str.includes(xmxh) ? undefined : 411004)
|
: (param544Str.includes(xmxh) ? undefined : 411004)
|
||||||
//通过车站
|
//通过车站
|
||||||
case 41200 : return type === 1 ? (param512Str[2] ==3 ? 412001 : 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 41000 : return type === 1? (param512Str[2] == 3 ? 410001 : undefined):undefined
|
||||||
//靠边停车
|
//靠边停车
|
||||||
case 40600 : return type === 1 ? 406001 : undefined
|
case 40600 : return type === 1 ? 406001 : undefined
|
||||||
//掉头
|
//掉头
|
||||||
case 41500 : return type === 1 ? 415001:undefined
|
case 41500 : return type === 1 ? 415001:undefined
|
||||||
//加减挡为
|
//加减挡为
|
||||||
case 40400 : return type === 1 ? undefined : undefined
|
case 40400 : return type === 1 ? undefined : undefined
|
||||||
|
|
||||||
default :return undefined
|
default :return undefined
|
||||||
@ -159,8 +159,8 @@ export function getKmProjectCancelVoice(examSubject,projectCode){
|
|||||||
}
|
}
|
||||||
// 上传监管数据code转换
|
// 上传监管数据code转换
|
||||||
export function promptWxCode(
|
export function promptWxCode(
|
||||||
jkid:'17C51'|'17C52' | '17C54' |'17C55' | '17C53' | '17C56',
|
jkid:'17C51'|'17C52' | '17C54' |'17C55' | '17C53' | '17C56',
|
||||||
code:number
|
code:number
|
||||||
){
|
){
|
||||||
let toast = '';
|
let toast = '';
|
||||||
|
|
||||||
@ -169,23 +169,23 @@ export function promptWxCode(
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
switch (jkid){
|
switch (jkid){
|
||||||
//考试开始
|
//考试开始
|
||||||
case '17C51':
|
case '17C51':
|
||||||
switch (code){
|
switch (code){
|
||||||
case -1:toast = '无预约信息';break;
|
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 -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 -8:toast = '考场信息合法';break;
|
||||||
case -9:toast = '考试员信息不合法';break;
|
case -9:toast = '考试员信息不合法';break;
|
||||||
case -10:toast = '科目考试系统时间不合法';break;
|
case -10:toast = '科目考试系统时间不合法';break;
|
||||||
case -90:toast = '已进行了考试身份验证,无需重复验证!';break;
|
case -90:toast = '已进行了考试身份验证,无需重复验证!';break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//项目开始
|
//项目开始
|
||||||
case '17C52':
|
case '17C52':
|
||||||
switch (code){
|
switch (code){
|
||||||
case 0:toast = '存在作弊嫌疑,已被取消或暂停考试';break;
|
case 0:toast = '存在作弊嫌疑,已被取消或暂停考试';break;
|
||||||
@ -206,7 +206,7 @@ export function promptWxCode(
|
|||||||
default:toast = '';break;
|
default:toast = '';break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//过程照片
|
//过程照片
|
||||||
case '17C54':
|
case '17C54':
|
||||||
switch (code){
|
switch (code){
|
||||||
case -1:toast = '无当前科目考试信息';break;
|
case -1:toast = '无当前科目考试信息';break;
|
||||||
@ -217,7 +217,7 @@ export function promptWxCode(
|
|||||||
case -6:toast = '存在未结束的考试项目!';break;
|
case -6:toast = '存在未结束的考试项目!';break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//项目结束
|
//项目结束
|
||||||
case '17C55':
|
case '17C55':
|
||||||
switch (code){
|
switch (code){
|
||||||
case -1:toast = '无当前考试项目开始信息';break;
|
case -1:toast = '无当前考试项目开始信息';break;
|
||||||
@ -236,7 +236,7 @@ export function promptWxCode(
|
|||||||
default:break;
|
default:break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//扣分
|
//扣分
|
||||||
case '17C53':
|
case '17C53':
|
||||||
switch (code){
|
switch (code){
|
||||||
case 0:toast = '已存在同一时间的同一扣分记录';break
|
case 0:toast = '已存在同一时间的同一扣分记录';break
|
||||||
@ -253,7 +253,7 @@ export function promptWxCode(
|
|||||||
default:toast = '';break
|
default:toast = '';break
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//考试结束
|
//考试结束
|
||||||
case '17C56':
|
case '17C56':
|
||||||
switch (code){
|
switch (code){
|
||||||
case -1:toast = '无当前科目考试信息';break;
|
case -1:toast = '无当前科目考试信息';break;
|
||||||
@ -345,9 +345,9 @@ export const plcStrToWXJson = async (plc:string) =>{
|
|||||||
}
|
}
|
||||||
const judgeSignal = [
|
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 = [
|
const judgeAnotherSignal = [
|
||||||
// 低三挡位 左侧单边桥1 左侧单边桥2 右侧单边桥1 右侧单边桥2 雾灯
|
// 低三挡位 左侧单边桥1 左侧单边桥2 右侧单边桥1 右侧单边桥2 雾灯
|
||||||
@ -361,7 +361,7 @@ export const plcStrToWXJson = async (plc:string) =>{
|
|||||||
//前天线可用星数 后天线可用星数 东向坐标位置 北向位置坐标 天向位置坐标 东向速度 北向速度 天向速度
|
//前天线可用星数 后天线可用星数 东向坐标位置 北向位置坐标 天向位置坐标 东向速度 北向速度 天向速度
|
||||||
'', '', '', '', '', '', '', '',
|
'', '', '', '', '', '', '', '',
|
||||||
//@ts-ignore 评判信号1 评判信号2 发动机转速
|
//@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'
|
'0xFFFFFFF'
|
||||||
]
|
]
|
||||||
const wuXiDataStr = wuXiData.join(',')
|
const wuXiDataStr = wuXiData.join(',')
|
||||||
@ -440,25 +440,25 @@ export function sendRed(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const defaultJudgeConfigObj = {
|
export const defaultJudgeConfigObj = {
|
||||||
//结束考试方式 0-不合格继续 1-考试不合格报靠边停车 2-不合格不报靠边 3-训练不合格报靠边 4-自动退出 5-不合格自动退出
|
//结束考试方式 0-不合格继续 1-考试不合格报靠边停车 2-不合格不报靠边 3-训练不合格报靠边 4-自动退出 5-不合格自动退出
|
||||||
302:'5',
|
302:'5',
|
||||||
332:'',
|
332:'',
|
||||||
//是否能进行人工操作 0-不能人工评判 1-不能人工进项目 3-都不能
|
//是否能进行人工操作 0-不能人工评判 1-不能人工进项目 3-都不能
|
||||||
342:'',
|
342:'',
|
||||||
//有项目未结束时可以靠边停车 0-否 1-是
|
//有项目未结束时可以靠边停车 0-否 1-是
|
||||||
343:'1',
|
343:'1',
|
||||||
//考试未结束且有扣分,是否可以退出
|
//考试未结束且有扣分,是否可以退出
|
||||||
344:'0',
|
344:'0',
|
||||||
//直线行驶中是否可以进其它项目 0-否 1-是
|
//直线行驶中是否可以进其它项目 0-否 1-是
|
||||||
348:'0',
|
348:'0',
|
||||||
//车上是否能点结束考试 0:否 1:是
|
//车上是否能点结束考试 0:否 1:是
|
||||||
353:'0',
|
353:'0',
|
||||||
//是否启动断电续考 0:否 1:是
|
//是否启动断电续考 0:否 1:是
|
||||||
369:'1',
|
369:'1',
|
||||||
//是否显示应考里程
|
//是否显示应考里程
|
||||||
375:'0',
|
375:'0',
|
||||||
//里程不够允许手工点靠边停车
|
//里程不够允许手工点靠边停车
|
||||||
387:'0',
|
387:'0',
|
||||||
//监管模式有扣分续考(0-否++1-是+把上次未考完的扣分带下来重新考试)
|
//监管模式有扣分续考(0-否++1-是+把上次未考完的扣分带下来重新考试)
|
||||||
432:'1'
|
432:'1'
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user