2025-04-11 10:13:29 +08:00

825 lines
14 KiB
Plaintext

import common from '@ohos.app.ability.common';
// ------------------------------
// 基础共用类型
// ------------------------------
import { MA_SYSTEMPARMType } from './Table';
/** 基础考试字段 */
interface BaseExamFields {
kchp?: string;
sfzmhm?: string;
ksxl?: string;
kssj?: string;
kskm?: string;
ksxm?: string;
kscj?: number;
kslc?: number;
dwlc?: string;
zpsj?: string;
jssj?: string;
czlx?: string;
cs?: number;
}
// ------------------------------
// 独立接口
// ------------------------------
/** Amplify 项目配置 */
export interface AmplifyItem {
name: string;
projectCode: string;
projectCodeCenter: string;
}
/** UDP 通信参数 */
export interface UDPParamType {
id: number;
list: number[];
carNo: string;
placeId: string;
sendCallback?: () => void;
}
/** 扣分代码项 */
export interface KfdmType {
xmmcStr: string
xmdm: number
desc: string
score: number
markcatalog: string;
markserial: string
kfdm: string;
markreal?: number;
kfxh?: string
}
// ------------------------------
// 考试评判相关类型
// ------------------------------
/** 评判文件数据项 */
interface JudgeFileParam {
field?: string;
data?: string;
}
/** 评判请求参数 */
export interface GetJudgeParamsType {
data?: JudgeData;
file?: JudgeFile;
}
/** 评判数据主体 */
interface JudgeData {
sjbs?: string;
param?: JudgeParams;
}
/** 考试评判参数 */
interface JudgeParams extends BaseExamFields {
sbbh?: string;
kffs?: string;
kfsj?: string;
kfxm?: string;
kfxmmx?: string;
ghks?: string;
}
/** 评判文件结构 */
interface JudgeFile {
sjbs?: string;
param?: JudgeFileParam[];
}
/** 扣分表 **/
export interface Mark {
itemno;
string
markcatalog: string
markshow: string
markreal: string
markserial: string
kfxh: string
}
/** lane **/
export interface Lane {
num: number
count: number
road: number
}
export interface Sensor {
aqd: number
mkg: number
ssc: number
jsc: number
fsc: number
lhq: number
lb: number
skd: number
jgd: number
ygd: number
zfxd: number
yfxd: number
shtd: number
wd: number
ygq: number
dh1: number
dh2: number
fdjzs: number
dw: number
cs: number
fxp: number
ljmc: number
lcmc: number
csbzh: number
csbyh: number
csbyq: number
csbzq: number
zy: number
tbp: number
hsj: number
dcj: number
gx: number
yl: number
yy: number
sde: number
xhd: string
rmndg: number
wav: number
mndg: string
}
export interface Gps {
bklx: number
dwzt: number
jdzt?: number
sj?: number,
jd: number
wd: number
hxj: number
fyj: number
hbg: number
gdc: number
sd: number
age: number
jdyz: number
wdyz: number
dwsxs: number
jdsxs?: number
}
export interface Vision {
sj: number
score: number
zyjd: number
sxjd: number
ytjd: number
fxp: number
ch: number
hld: number
}
export interface Radar {
sj: number
zxh: number
qfsj: Qfsj[]
hfsj: Qfsj[]
zqsj: Qfsj[]
zhsj: Qfsj[]
zcsj: Qfsj[]
yqsj: Qfsj[]
yhsj: Qfsj[]
ycsj: Qfsj[]
fqsj: Qfsj[]
qfwt: Qfwt
rcyz: number
show: Show[]
}
interface Qfwt {
xrjl: number
zawjl: number
}
export interface Plc {
sensor: Sensor,
gps: Gps,
gps2: Gps,
vision: Vision,
radar: Radar,
extend: object
//轨迹回放需要
method?: string
itemno?: string
type?: 1 | 2
serial?: 1 | 2
}
interface Qfsj {
bh: number
lx: number
jl: number
sd: number
}
interface Show {
bh: number
zb: Zb[]
}
interface Zb {
x: number,
y: number
}
/** 考试过程数据 */
export interface DrvexamType extends BaseExamFields {
lsh?: string;
zp?: string;
sbxh?: string;
kffs?: number;
kfsj?: string;
jssj?: string
kfxm?: string;
kfxmmx?: string;
ghks?: string;
ksxtbh?: string;
ksysfzmhm?: string;
Ksy2sfzmhm?: string;
ksdd?: string
kslx?: string
zpsj?: string
dwlc?: string
}
export interface DefaultJudgeConfigObj {
param_302: string
param_332: string
param_342: string
param_343: string
param_344: string
param_348: string
param_353: string
param_369: string
param_375: string
param_387: string
param_432: string
}
export interface SyssetConfig {
key?: number
value?: string
name?: string
}
export interface JudgeCallBacData {
xmmcStr?: string
carztStr?: string
kfArr?: MarkRule[]
}
/** 考试过程中项目信息**/
export interface ProjectInfo {
//项目名称
name?: string
//项目代码
projectCode?: string
//无锡所项目代码
projectCodeCenter?: string
//项目简写
abbreviation: string
///项目是否考过了
isEnd?: boolean,
//项目开始数据是否上传过
isUpload?: boolean
//是否是必考
isRequired?: boolean
//项目状态:未做 正在做 及格 不及格 有扣分
type?: '1' | '2' | '3' | '4' | '5'
}
/** 科目二项目代码 **/
export type Km2XmdmEnum = 0 | 2 | 3 | 5 | 6
/** 科目三项目代码 **/
export type Km3XmdmEnum = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 16 | 41
/** 科目二无锡所项目代码 **/
export type Km2WxXmdmEnum = 20100 | 20300 | 20400 | 20600 | 20700
/** 科目三无锡所项目代码 **/
export type Km3WxXmdmEnum = 40100 | 40200 | 40300 | 40500 | 40700 | 41000
| 41100 | 41200 | 41300 | 41400 | 40600 | 41500 | 41700 | 40400 | 40800 | 40900
/** 考试过程中所有项目信息**/
export interface ProjectInfos {
0?: ProjectInfo
2?: ProjectInfo
3?: ProjectInfo
5?: ProjectInfo
6?: ProjectInfo
1?: ProjectInfo
4?: ProjectInfo
7?: ProjectInfo
8?: ProjectInfo
9?: ProjectInfo
10?: ProjectInfo
11?: ProjectInfo
12?: ProjectInfo
14?: ProjectInfo
15?: ProjectInfo
16?: ProjectInfo
41?: ProjectInfo
}
// export interface ProjectCenterInfos {
// 20100?: ProjectInfo
// 20300?: ProjectInfo
// 20400?: ProjectInfo
// 20600?: ProjectInfo
// 20700?: ProjectInfo
// 40100?: ProjectInfo
// 40200?: ProjectInfo
// 40300?: ProjectInfo
// 40500?: ProjectInfo
// 40700?: ProjectInfo
// 41000?: ProjectInfo
// 41100?: ProjectInfo
// 41200?: ProjectInfo
// 41300?: ProjectInfo
// 41400?: ProjectInfo
// 40600?: ProjectInfo
// 41500?: ProjectInfo
// 41700?: ProjectInfo
// 40400?: ProjectInfo
// 40800?: ProjectInfo
// 40900?: ProjectInfo
// }
export interface MarkRule {
itemno?: number
markcatalog?: string
markshow?: string
markserial?: string
markstandard?: number,
markreal?: number
kfxh?: string
onlyoneid?: number
OnlyOneKind?: number
nocancelid?: number
NoCancelId?: number
gps_sid?: number,
GPS_SID?: boolean
score?: number
xmmcStr?: string
desc?: string
xmdm?: string
type?: 0 | 1 | 2 | 3
}
export interface UploadExamMileage {
carId: string
examinationRoomId: string
lsh: string
kslc: number
kskssj: string
}
export interface SYSSET {
v_no: string,
v_name: string,
v_value: string
/** 轨迹文件 **/
key?: number;
name?: string;
value?: string;
}
export interface ProjectRoads {
param_3?: string[]
param_4?: string[]
param_10?: string[]
param_11?: string[]
param_9?: string[]
param_12?: string[]
}
interface MAPPOINT {
point_no: number,
gps_e: number,
gps_n: number,
point_no_f: number,
point_type: number,
road_code: string,
gps_e_Location: number
gps_n_Location: number
f_gps_e: number,
f_gps_n: number,
passed: number
}
interface MAPITEMPOINTITEM {
point_no: number,
itemno: number,
itemno1: number,
subname: string
}
export interface JudgeUI {
context: common.UIAbilityContext;
idCard: string
wayno: number
startFullTime: string
mapPointArr: MAPPOINT[]
mapPointItemArr: MAPITEMPOINTITEM[]
systemparmArr: SYSTEMPARMARR[]
carinfoArr: CARINFO[]
kfArr: MarkRule[]
judgeConfigObj: object
judgeConfig: SyssetConfig[]
projectsObj: ESObject
projects: ProjectInfo[]
projectsCenterObj: ESObject
cdsbInfoObj?: CDSBInfos
itemInfoObj?: ItemInfos
markRuleListObj: object
lsh: string
carType: string
totalScore: number
passingScore: number
serialNumber: string
kssycs: string
isDdxk: boolean
ddxkTime: number
ddxkKsxmArr: string[]
ddxkKfArr: string[]
manualMarkRules: MarkRule[]
carlist: string
carName: string
xldm: string
kslx: string
ksdd: string
errorMsg: string
name: string
kfArrScroller: Scroller
disConnectErrorOpen: boolean
currentXmdm?: number
isRequiredProjectsEnd: boolean
isAllProjectsEnd: boolean
isManualProjectIn: boolean
isProjectIn: boolean
examSubject: string
singlePlay: boolean
examMileage: string
jl: number
dwztErrorVisible: boolean
isDeductedPopShow: boolean
loadingPopupVisible: boolean
endPopupVisible: boolean
defaultTabIndex: number
isDwztRight: boolean
draw: boolean
lane: JudgeLane
sd: string
dw: string
}
export interface ItemInfo {
model: string
xmdm: number
xmxh: string
}
export interface Ksjs {
// 累计前进距离
qjjl?: number,
// 累计倒车距离
dcjl?: number
d1?: number
d2?: number
d3?: number
d4?: number
d5?: number
d6?: number
}
export interface CDSBInfo {
kdid?: string
sbbh?: string
sbbm?: string
itemsno?: string
modelKey?: string
xmdm?: number,
xmxh?: string
}
export interface SYSTEMPARMARR {
NO1: number,
NO2: number,
NO3: number,
TXT1: string,
TXT2: string,
TXT3: string,
}
export interface CARINFO {
CARID: string,
IPADDR: string,
CARCLASS: string,
KSCX: string,
CARNAME: string,
FLAG: string,
BK1: string,
BK2: string
}
export interface KmItem {
code: string
status: number
}
export interface TKmItem {
code: string
status: string
}
export interface JudgeConfigObjKmItems {
'1'?: KmItem
}
export interface JudgeConfigObj {
'1'?: string
}
export interface MarkRules {
'1'?: MarkRule
}
export interface CDSBInfos {
'1'?: CDSBInfo
}
export interface ItemInfos {
'1'?: ItemInfo
}
// export const defaultCdsbInfoObj:DefaultJudgeConfigObj = {
//
// }
/****** 评判初始化数据*****/
export interface JudgeInitObj extends Km3JudgeInitConfig {
sdkver: string,
appver: string
kskm: number
kchp: string
kchm: number
kscx: string
cxcode: string
name: string
carmodel: string
allitems: ItemInfo[]
iteminfo?: ItemInfo[]
systemparm: SYSTEMPARMARR[]
mark: MarkRule[]
sysset: SyssetConfig[]
itemInfoObj?: ItemInfos
carlist: string
carinfo: CARINFO[]
}
export interface JudgeKSXM {
xmdm: number
xmxh: string
}
export interface JudgeKFXM {
xmdm: number
kfdm: string
}
/****** 评判开始考试数据*****/
export interface JudgeBeginObj {
kgid: string
kgxm: string
exam: 0 | 1
replay: 0 | 1
track: string
xm: string
sex: 0 | 1
kslsh: string
sfzmhm: string
ksyy: string
kscx: string
kkcs: number
sfyk: number
ykkkcs: number
wayno: number
czlx: number
kskssj: number
passing: number
ksxm: JudgeKSXM[]
ddxk: 0 | 1
ddkssj: number
ykxm: number[]
kfxm: JudgeKFXM[]
yklc: number
special?: number[]
sczb?: 0 | 1
sczbkf?: JudgeKFXM[]
dmndg: boolean
mfxx: boolean
mfxxn: boolean
}
export interface JudgeXMJS {
xmdm: number
xmxh: string
xmhg: 0 | 1
}
export interface JudgeKf {
xmdm: number
kfdm?: string
markcatalog: string
type: 0 | 1 | 2 | 3
xmmcStr?: string
desc?: string
score?: number
markserial?: string
kfxh?: string
}
export interface JudgeEventKf {
itemno?: number
markcatalog?: string
markshow?: string
markserial?: string
markstandard?: number,
markreal?: number
kfxh?: string
onlyoneid?: number
OnlyOneKind?: number
nocancelid?: number
NoCancelId?: number
gps_sid?: number,
GPS_SID?: boolean
score?: number
xmmcStr?: string
desc?: string
xmdm?: number
type?: 0 | 1 | 2 | 3
}
export interface JudgeKSJS {
type: 0 | 1
qjjl: number
dcjl: number
d1: number
d2: number
d3: number
d4: number
d5: number
d6: number
}
export interface JudgeSound {
xmdm: number
code: string[]
type: 0 | 1
}
export interface JudgeSoundB {
xmdm: number
code: string
type: 0 | 1
}
export interface JudgeLane {
road: string
num: number
count: number
}
export interface JudgeNonGPS {
type: 0 | 1 | 2 | 3 | 4
}
interface UdpKf {
kfxh: string
directives: string
}
export interface JudgeUdpKf {
data: UdpKf
}
export interface JudgePerformInfo {
time: number
carzt: -1 | 0 | 1
grade: number
qjjl: number
dcjl: number
dxjl: number
bxjl: number
hint: string
lane: PerLane
}
interface PerLane {
MapRoad_Code_No: string
MapRoad_Name: string
TouchLineType: number
TouchDir: number
TouchLineTypeCS: number
TouchLineDirCS: number
BasePointInLaneNo: number
BaseLaneCount: number
FrontPointLaneNo: number
FrontPointLaneCount: number
Body_LF_ToLeftEdge: number
Body_LB_ToLeftEdge: number
Body_RF_ToRightEdge: number
Body_RB_ToRightEdge: number
Wheel_RF_ToRightEdge: number
Wheel_RB_ToRightEdge: number
Wheel_RF_ToBaseLine: number
Wheel_LF_ToRightEdge: number
Wheel_LB_ToRightEdge: number
Wheel_LF_ToBaseLine: number
Wheel_LB_ToBaseLine: number
BasePointInLaneDir: string
CrossLineAttr: number
InShapeAttr: number
ShapeNo: number
CrossPointNo: number
}
export interface JudgeCallBackData {
event: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
sj: number
carzt: -1 | 0 | 1
xmks: JudgeKSXM
xmjs: JudgeXMJS
kf: JudgeKf
ksjs: JudgeKSJS
xmqx: JudgeKSXM
sound: JudgeSound
mndg: string
lane: JudgeLane
precast: JudgeKSXM
nongps: JudgeNonGPS
}
export interface Km3JudgeInitConfig {
map_point?: MAPPOINT[]
map_point_item?: MAPITEMPOINTITEM[]
iteminfo?: ItemInfo[]
roads?: string
sharps?: string
}
export interface DistanceClass {
setTimeData: (n: number) => void
}
export interface WR {
message?: string
code?: number
keystr?: string
}
// 无锡所数据
export interface WuxiExamType {
wglb?: string
jkxlh?: string,
glbm?: string,
jgbh?: string,
sjbs?: string,
xtlb?: string
jkid?: string
data?: JudgeData,
file?: JudgeFile
drvexam?: DrvexamType
}