| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | import { examinationStuAbsent, getExaminationItem, getExaminationStudentInfo } from '../api/userInfo'; | 
					
						
							|  |  |  |  | import router from '@ohos.router'; | 
					
						
							|  |  |  |  | import TopLogo from './compontents/TopLogo'; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  | import Md5 from '../common/utils/md5'; | 
					
						
							|  |  |  |  | import AccountTable from '../common/database/tables/AccountTable'; | 
					
						
							|  |  |  |  | import USER from '../common/constants/USER'; | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | import { dateFormat, getCurrentTime, string2Bytes } from '../common/utils/tools'; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  | import MA_SYSSET from '../common//constants/MA_SYSSET'; | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | import FaceCompare from './compontents/FaceCompare'; | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  | // import { initJudgeUdp } from '../common/utils/UdpJudge' | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | import { writeObjectOut } from '../api/judge'; | 
					
						
							|  |  |  |  | import testNapi from '@ohos.idcard'; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  | import common from '@ohos.app.ability.common'; | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | import { User } from './interfaces'; | 
					
						
							|  |  |  |  | import WebRTCVoice from './webRTC/'; | 
					
						
							|  |  |  |  | import promptAction from '@ohos.promptAction'; | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  | import FilePhoto from './judgeSDK/utils/filePhoto'; | 
					
						
							|  |  |  |  | import { getSyncData, upDateTableByArray } from '../common/service/initable'; | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | import { CandidateData, EmptyCandidateObject } from '../mock/CandidateData'; | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  | import BoardPrePareSetPopup from './compontents/judge/BoardPrePareSetPopup'; | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  | import LoadingPopup from './compontents/judge/LoadingPopup'; | 
					
						
							|  |  |  |  | import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements'; | 
					
						
							|  |  |  |  | import { judgeConfig } from './judgeSDK/utils/judgeConfig'; | 
					
						
							| 
									
										
										
										
											2024-08-08 20:12:19 +08:00
										 |  |  |  | import { initJudgeUdp } from '../common/utils/UdpJudge'; | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  | @Entry | 
					
						
							|  |  |  |  | @Component | 
					
						
							| 
									
										
										
										
											2024-06-27 20:53:36 +08:00
										 |  |  |  | struct UserInfo { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   @State pageIndex: number = 0 | 
					
						
							| 
									
										
										
										
											2024-05-16 09:53:10 +08:00
										 |  |  |  |   @State ratio: number = 1700 / 960 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   @State index: number = 0 | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |   @State stepFlag: boolean = false; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   @State errorMsg: string = '' | 
					
						
							|  |  |  |  |   @State ksxtbh: string = '' | 
					
						
							|  |  |  |  |   @State pic: string = '' | 
					
						
							|  |  |  |  |   @State jkxlh: string = '' | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |   @State @Watch('changeFaceCompareSuccess') faceCompareSucess: number = 0; | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |   @State @Watch('changeQkfn') getqkFlag: boolean = false; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   @State @Watch('outClick') outFlag: boolean = false; | 
					
						
							|  |  |  |  |   @State showFaceCompare: boolean = false; | 
					
						
							|  |  |  |  |   @State url: string = '' | 
					
						
							|  |  |  |  |   @State lsh: string = '' | 
					
						
							|  |  |  |  |   @State qkFlag: boolean = false | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |   @State isBoardPrePareSetPopupOpen: boolean = false | 
					
						
							|  |  |  |  |   @State isFirstBoardPrePareSetPopupBtnShow: boolean = false | 
					
						
							|  |  |  |  |   @State isBoardPrePareSetPopupShow: boolean = false | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |   @State isLoadingPopupVisible: boolean = false; | 
					
						
							|  |  |  |  |   @State loadingText: string = '正在认证监管信息,请稍后...' | 
					
						
							|  |  |  |  |   @State sczbkf: { | 
					
						
							|  |  |  |  |     xmdm: number, | 
					
						
							|  |  |  |  |     kfdm: string | 
					
						
							|  |  |  |  |   }[] = [] | 
					
						
							| 
									
										
										
										
											2024-02-23 10:03:43 +08:00
										 |  |  |  |   @State currentUser: User = EmptyCandidateObject | 
					
						
							|  |  |  |  |   @State dataList: Array<User> = [] | 
					
						
							|  |  |  |  |   @State list: Array<User> = [] | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   @State name: string = 'initName'; | 
					
						
							|  |  |  |  |   @State sex: string = ''; | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |   @State callBackFlag: boolean = false; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   @State born?: string = ''; | 
					
						
							|  |  |  |  |   @State address: string = ''; | 
					
						
							|  |  |  |  |   @State nation: string = ''; | 
					
						
							|  |  |  |  |   @State idCard: string = ''; | 
					
						
							|  |  |  |  |   @State grantDept: string = ''; | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |   //是否已经开始考试 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |   @State isExamStart: boolean = false; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   @State effectDate: string = ''; | 
					
						
							|  |  |  |  |   @State interval: any = null; | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |   @State studentRefreshStatue: string = '0'; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   @State photo: string = 'data:image/bmp;base64,'; | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |   @State numCount: number = 0; | 
					
						
							|  |  |  |  |   @State signNum: number = 0; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   @State isCanClick: boolean = true; | 
					
						
							| 
									
										
										
										
											2024-08-13 11:50:38 +08:00
										 |  |  |  |   @State updateTimeLimit: boolean = false | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  |   @State faceFlag: string = '0'; | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |   @State FaceOpenStatue: string = '0'; //是否开启人脸识别 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |   @State faceCatchImg: string = '' | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |   @State Param803Str: string = '' | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |   // 过程照片拍照 | 
					
						
							|  |  |  |  |   getPhoto = async (empty?: boolean) => { | 
					
						
							|  |  |  |  |     const singlePlay = globalThis.singlePlay | 
					
						
							|  |  |  |  |     //单机模式返回空照片 | 
					
						
							|  |  |  |  |     if (singlePlay) { | 
					
						
							|  |  |  |  |       return '' | 
					
						
							|  |  |  |  |     } else { | 
					
						
							|  |  |  |  |       const {filePhoto} = this; | 
					
						
							|  |  |  |  |       const photoBase64 = await filePhoto.getPhoto(); | 
					
						
							|  |  |  |  |       return photoBase64 | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |   private filePhoto: FilePhoto | 
					
						
							|  |  |  |  |   private avPlayer | 
					
						
							|  |  |  |  |   private AccountTable = new AccountTable(() => { | 
					
						
							|  |  |  |  |   }, USER); | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |   private context = getContext(this) as common.UIAbilityContext; | 
					
						
							|  |  |  |  |   private labelBlocks = [ | 
					
						
							|  |  |  |  |     { label: '考生姓名', key: 'xm' }, | 
					
						
							|  |  |  |  |     { label: '身份证号', key: 'sfzmhm' }, | 
					
						
							|  |  |  |  |     { label: ' 流 水 号 ', key: 'lsh' }, | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |     { label: '考试路线', key: 'ksxl' }, | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |     { label: '待考次数', key: 'kssycs' }, | 
					
						
							|  |  |  |  |     { label: '考官姓名', key: 'ksy1' }, | 
					
						
							|  |  |  |  |   ] | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |   async onPageShow() { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |     const mediaTest = new FilePhoto(this.context); | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |     this.filePhoto = new FilePhoto(this.context); | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |     //语音功能 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |     new WebRTCVoice(this.context); | 
					
						
							|  |  |  |  |     //初始化数据 | 
					
						
							|  |  |  |  |     this.initData() | 
					
						
							|  |  |  |  |     //身份证读卡器初始化 | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |     // this.openDeviceByIDCard() | 
					
						
							| 
									
										
										
										
											2024-02-23 10:03:43 +08:00
										 |  |  |  |     // 如果是单机模式则模拟假数据 | 
					
						
							| 
									
										
										
										
											2024-06-04 15:56:50 +08:00
										 |  |  |  |     //获取sysset表数据 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |     this.initSysset() | 
					
						
							| 
									
										
										
										
											2024-06-04 15:56:50 +08:00
										 |  |  |  |     //心跳处理 | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |     this.heartMsg() | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |     this.isExamStart = false | 
					
						
							|  |  |  |  |     this.sczbkf = []; | 
					
						
							|  |  |  |  |     this.avPlayer = new VoiceAnnounce(); | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   //身份证读卡器初始化 | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |   openDeviceByIDCard() { | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |     globalThis.indexComponent = this; | 
					
						
							|  |  |  |  |     // 应用启动时打开读卡设备 | 
					
						
							|  |  |  |  |     let ret = testNapi.OpenDevice(); | 
					
						
							|  |  |  |  |     if (ret == 0) { | 
					
						
							|  |  |  |  |       testNapi.StartReadCard(this.onReadCard); | 
					
						
							|  |  |  |  |     } else { | 
					
						
							|  |  |  |  |       console.error("zzctest Failed to Open Device"); | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   stopDeviceById() { | 
					
						
							|  |  |  |  |     if (this.faceFlag == '1') { | 
					
						
							|  |  |  |  |       testNapi && testNapi.StopReadCard() | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   // 通过身份证获取当前学员 | 
					
						
							|  |  |  |  |   getCurrentStudent(id) { | 
					
						
							|  |  |  |  |     let flag = false | 
					
						
							|  |  |  |  |     this.pageIndex | 
					
						
							|  |  |  |  |     this.list.map((res, index) => { | 
					
						
							|  |  |  |  |       if (res.sfzmhm == id) { | 
					
						
							|  |  |  |  |         flag = true | 
					
						
							|  |  |  |  |         this.currentUser = res | 
					
						
							|  |  |  |  |         this.lsh = this.currentUser.lsh | 
					
						
							|  |  |  |  |         globalThis.lsh = this.currentUser.lsh | 
					
						
							|  |  |  |  |         globalThis.ksyh = this.currentUser.ksy1sfzmhm || this.currentUser.ksy2sfzmhm | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |         const {examSubject} = globalThis.carInfo; | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |         // this.currentUser.kszp=this.photo+res.kszp | 
					
						
							|  |  |  |  |         // this.currentUser.ksmjzp=this.photo+this.currentUser.ksmjzp | 
					
						
							|  |  |  |  |         if (globalThis.singlePlay) { | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |           this.stopDeviceById() | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |           // globalThis.statue=4 | 
					
						
							|  |  |  |  |           router.pushUrl({ | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |             url: examSubject == 3 ? 'pages/Roads' : 'pages/Judge', | 
					
						
							|  |  |  |  |             params: { | 
					
						
							|  |  |  |  |               sczb: Number(this.isBoardPrePareSetPopupOpen), | 
					
						
							|  |  |  |  |               kfdm: this.sczbkf | 
					
						
							| 
									
										
										
										
											2024-07-16 15:02:36 +08:00
										 |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |           }, router.RouterMode.Single); | 
					
						
							|  |  |  |  |           return | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |         this.pageIndex = Math.floor(index / 4) | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  |     }) | 
					
						
							|  |  |  |  |     this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) | 
					
						
							|  |  |  |  |     if (!flag) { | 
					
						
							|  |  |  |  |       promptAction.showToast({ | 
					
						
							|  |  |  |  |         message: '未匹配到对应下载学员', | 
					
						
							|  |  |  |  |         duration: 3000 | 
					
						
							|  |  |  |  |       }); | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   onReadCard(ret) { | 
					
						
							|  |  |  |  |     console.info(`zzctest xx Read Card ret =${ret.status}`) | 
					
						
							|  |  |  |  |     let thisVar = globalThis.indexComponent; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |     if (ret.status == 0) { // status = 1 为读到身份证信息; status = 1 为身份证离开读卡器 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       // 收到身份证离开读卡器的事件通知,根据实际业务需要决定是否需要清空之前已读取的身份证信息。 | 
					
						
							|  |  |  |  |       // 如果身份证卡片离开读卡器时,需要继续保留UI界面上已读取到的身份信息,以下代码可以注释掉。 | 
					
						
							|  |  |  |  |       thisVar.name = ""; | 
					
						
							|  |  |  |  |       thisVar.sex = ""; | 
					
						
							|  |  |  |  |       thisVar.nation = ""; | 
					
						
							|  |  |  |  |       thisVar.born = ""; | 
					
						
							|  |  |  |  |       thisVar.address = ""; | 
					
						
							|  |  |  |  |       thisVar.idCard = ""; | 
					
						
							|  |  |  |  |       thisVar.photo = ""; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       return true; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     if (ret.baseInfo.length > 2) { | 
					
						
							|  |  |  |  |       // 收到身份证信息,填充页面 | 
					
						
							|  |  |  |  |       console.info(`zzctest Read Card 1`); | 
					
						
							|  |  |  |  |       let subIndex = ret.baseInfo.indexOf(":") | 
					
						
							|  |  |  |  |       let baseInfo: string = ret.baseInfo.substring(subIndex + 1, ret.baseInfo.length - 1); | 
					
						
							|  |  |  |  |       console.info(`zzctest Read Card 2 baseInfo=${baseInfo}`); | 
					
						
							|  |  |  |  |       let baseInfos: string[] = baseInfo.split("|"); | 
					
						
							|  |  |  |  |       thisVar.name = baseInfos[0]; | 
					
						
							|  |  |  |  |       thisVar.sex = baseInfos[1]; | 
					
						
							|  |  |  |  |       thisVar.nation = baseInfos[2]; | 
					
						
							|  |  |  |  |       thisVar.born = baseInfos[3]; | 
					
						
							|  |  |  |  |       thisVar.address = baseInfos[4]; | 
					
						
							|  |  |  |  |       thisVar.idCard = baseInfos[5]; | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |       setTimeout(() => { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |         thisVar.getCurrentStudent(baseInfos[5]) | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |       }, 1000) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // 身份证照片数据处理 | 
					
						
							|  |  |  |  |     if (ret.photo instanceof ArrayBuffer) { | 
					
						
							|  |  |  |  |       let dataView = new DataView(ret.photo) | 
					
						
							|  |  |  |  |       console.info(`Read Card ret = length = ${dataView.byteLength}`) | 
					
						
							|  |  |  |  |       let str = "" | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |       for (let i = 0; i < dataView.byteLength; ++i) { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |         let c = String.fromCharCode(dataView.getUint8(i)) | 
					
						
							|  |  |  |  |         if (c !== "\n") { | 
					
						
							|  |  |  |  |           str += c | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  |       thisVar.photo += str; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     console.info(`zzctest Read Card end`); | 
					
						
							|  |  |  |  |     return true; | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   changeQkfn() { | 
					
						
							|  |  |  |  |     this.qkFn() | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |   async initData() { | 
					
						
							|  |  |  |  |     this.isFirstBoardPrePareSetPopupBtnShow = false; | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |     this.stepFlag = false | 
					
						
							|  |  |  |  |     this.faceCompareSucess = 0 | 
					
						
							|  |  |  |  |     this.showFaceCompare = false | 
					
						
							|  |  |  |  |     this.lsh = '0000000000000' | 
					
						
							|  |  |  |  |     this.callBackFlag = false | 
					
						
							|  |  |  |  |     globalThis.lsh = this.lsh | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  |     // this.currentUser = EmptyCandidateObject | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |     globalThis.statue = 2 | 
					
						
							|  |  |  |  |     this.numCount = 0 | 
					
						
							| 
									
										
										
										
											2024-02-26 15:01:27 +08:00
										 |  |  |  |     if (globalThis.singlePlay) { | 
					
						
							|  |  |  |  |       // TODO 模拟假数据 | 
					
						
							|  |  |  |  |       this.list = CandidateData | 
					
						
							|  |  |  |  |       this.pageIndex = 0 | 
					
						
							|  |  |  |  |       this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) | 
					
						
							|  |  |  |  |       this.currentUser = this.dataList[0] | 
					
						
							|  |  |  |  |       this.lsh = this.currentUser.lsh | 
					
						
							|  |  |  |  |       globalThis.ksyh = this.currentUser.ksy1sfzmhm || this.currentUser.ksy2sfzmhm | 
					
						
							|  |  |  |  |       globalThis.lsh = this.lsh | 
					
						
							|  |  |  |  |     } else { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |       this.getExaminationStudentInfoFn() | 
					
						
							| 
									
										
										
										
											2024-02-26 15:01:27 +08:00
										 |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |     const syssetParams = await getSyncData('MA_SYSSET'); | 
					
						
							|  |  |  |  |     //@ts-ignore | 
					
						
							|  |  |  |  |     syssetParams.forEach(sys => { | 
					
						
							|  |  |  |  |       //364	绕车一周评判时机(1-开始考试后判 2-开始考试前判) | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |       if (sys.v_no === '364' && decodeURIComponent(sys.v_value) == '2') { | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |         this.isBoardPrePareSetPopupOpen = true; | 
					
						
							|  |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |       // 开始考试前必须解开安全带或关车门 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |       if (sys.v_no === '803') { | 
					
						
							|  |  |  |  |         this.Param803Str = sys.v_value + ''; | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |     }) | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   async heartMsg() { | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |     globalThis.udpClient2 & globalThis.udpClient2.setMsgCallBack((val) => { | 
					
						
							|  |  |  |  |       if (val.id == '32') { | 
					
						
							|  |  |  |  |         globalThis.signNum = val.body[1] | 
					
						
							|  |  |  |  |         if (val.body[0] == '7') { | 
					
						
							| 
									
										
										
										
											2024-06-04 15:56:50 +08:00
										 |  |  |  |           //缺考处理 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |           this.getqkFn() | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |           this.signNum = val.body[1] | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |       } else if (val.id == '42') { | 
					
						
							| 
									
										
										
										
											2024-06-04 15:56:50 +08:00
										 |  |  |  |         //收到中心缺考确认消息 | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |         console.log('qkfnqkfn', val.body[0]) | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |         this.qkFn() | 
					
						
							|  |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |     }) | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-04 15:56:50 +08:00
										 |  |  |  |   //考点端查询缺考指令内容消息请求 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   getqkFn() { | 
					
						
							|  |  |  |  |     let tmpList = []; | 
					
						
							|  |  |  |  |     tmpList.push(string2Bytes(globalThis.signNum, 1 * 8)[0]) | 
					
						
							|  |  |  |  |     const param = { | 
					
						
							|  |  |  |  |       id: 41, | 
					
						
							|  |  |  |  |       list: tmpList, | 
					
						
							|  |  |  |  |       carNo: globalThis.carInfo.carNo, | 
					
						
							|  |  |  |  |       placeId: globalThis.carInfo.examinationRoomId | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:11:31 +08:00
										 |  |  |  |     globalThis.udpClient2.sendMsgExt(param, this.context) | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |   async initSysset() { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |     const that = this; | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |     const db = new AccountTable(() => { | 
					
						
							|  |  |  |  |     }, MA_SYSSET); | 
					
						
							|  |  |  |  |     db.getRdbStore(() => { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       db.query('0', (syssetParams) => { | 
					
						
							|  |  |  |  |         const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901') | 
					
						
							|  |  |  |  |         that.jkxlh = serialNumberArr?.[0]?.v_value || '1234567' | 
					
						
							|  |  |  |  |         const ksxtbhArr = syssetParams.filter(sys => sys.v_no === '902') | 
					
						
							|  |  |  |  |         that.ksxtbh = ksxtbhArr?.[0]?.v_value || '222' | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |         const studentRefreshParam = syssetParams.filter(sys => sys.v_no === '452') | 
					
						
							|  |  |  |  |         that.studentRefreshStatue = studentRefreshParam?.[0]?.v_value || '0' | 
					
						
							| 
									
										
										
										
											2024-08-12 14:46:16 +08:00
										 |  |  |  |         const openCheckFlagParam = syssetParams.filter(sys => sys.v_no == '17') | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |         const openCheckFlag = openCheckFlagParam?.[0]?.v_value == '1' ? '1' : '0' | 
					
						
							| 
									
										
										
										
											2024-08-12 14:46:16 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |  |         const faceParam = syssetParams.filter(sys => sys.v_no == '2413') | 
					
						
							| 
									
										
										
										
											2024-08-12 14:46:16 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |         // faceParam?.[0]?.v_value || | 
					
						
							|  |  |  |  |         // 1身份证读卡器 2指纹 3人脸 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |         if (openCheckFlag == '1') { | 
					
						
							| 
									
										
										
										
											2024-08-12 14:46:16 +08:00
										 |  |  |  |           that.FaceOpenStatue = faceParam?.[0]?.v_value == '3' ? '1' : '0' | 
					
						
							|  |  |  |  |           this.faceFlag = faceParam?.[0]?.v_value || '0' | 
					
						
							|  |  |  |  |           if (faceParam?.[0]?.v_value == '1') { | 
					
						
							|  |  |  |  |             that.openDeviceByIDCard() | 
					
						
							|  |  |  |  |           } | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-08-14 09:18:33 +08:00
										 |  |  |  |         // that.FaceOpenStatue =  '0' | 
					
						
							| 
									
										
										
										
											2024-08-12 14:46:16 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-21 13:34:14 +08:00
										 |  |  |  |         //0不自动更新 1自动更新(不限次数) 2没有考生更新2次 | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |         if (that.studentRefreshStatue == '2') { | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |           clearInterval(that.interval) | 
					
						
							|  |  |  |  |           that.interval = setInterval(() => { | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |             if (that.dataList.length == 0 && that.numCount < 3) { | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |               that.numCount++ | 
					
						
							|  |  |  |  |               that.getExaminationStudentInfoFn() | 
					
						
							|  |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |           }, 5000) | 
					
						
							|  |  |  |  |         } else if (that.studentRefreshStatue == '1') { | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |           clearInterval(that.interval) | 
					
						
							|  |  |  |  |           that.interval = setInterval(() => { | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |             if (that.dataList.length == 0) { | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |               that.getExaminationStudentInfoFn() | 
					
						
							|  |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |           }, 5000) | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |         } else { | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  |           this.getExaminationItemFn() | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       }) | 
					
						
							|  |  |  |  |     }) | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   //人脸比对窗口关闭 | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |   changeFaceCompareSuccess() { | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |     console.log('this.faceCompareSuces', this.faceCompareSucess, JSON.stringify(this.currentUser)) | 
					
						
							|  |  |  |  |     if (this.faceCompareSucess > 0) { | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |       //人脸比对通过 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       this.sfbdinterfaceFn() | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   nextClick() { | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |     if (this.list.length <= 4 || this.pageIndex == Math.floor(this.list.length / 4)) { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       return | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     this.pageIndex++; | 
					
						
							|  |  |  |  |     this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   prevClick() { | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |     if (this.list.length <= 4 || this.pageIndex == 0) { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       return | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     this.pageIndex--; | 
					
						
							|  |  |  |  |     this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   //获取下载考生 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   getExaminationStudentInfoFn() { | 
					
						
							| 
									
										
										
										
											2024-08-13 11:50:38 +08:00
										 |  |  |  |     if (globalThis.singlePlay || this.updateTimeLimit) { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       return | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     const param = `<getExaminationStudentInfoReq><head><checkCode>${Md5.Instance.get_md5(globalThis.carInfo.carId + globalThis.carInfo.examinationRoomId + globalThis.username)}</checkCode></head><body><carId>${globalThis.carInfo.carId}</carId><examinationRoomId>${globalThis.carInfo.examinationRoomId}</examinationRoomId><examinerName>${globalThis.username}</examinerName></body></getExaminationStudentInfoReq>` | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |     getExaminationStudentInfo(param).then(async (res) => { | 
					
						
							| 
									
										
										
										
											2024-08-07 08:57:40 +08:00
										 |  |  |  |       setTimeout(() => { | 
					
						
							|  |  |  |  |         this.updateTimeLimit = true | 
					
						
							|  |  |  |  |       }, 30000) | 
					
						
							|  |  |  |  |       this.updateTimeLimit = false | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |       if (!res) { | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |         this.dataList = [] | 
					
						
							| 
									
										
										
										
											2024-02-23 10:03:43 +08:00
										 |  |  |  |         this.currentUser = EmptyCandidateObject | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |         this.errorMsg = decodeURI(res.getExaminationStudentInfoRsp.head.resultMessage) | 
					
						
							|  |  |  |  |         return | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  |       let dataList = [] | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |       this.list = [] | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       for (let key in res.getExaminationStudentInfoRsp.body) { | 
					
						
							|  |  |  |  |         const a = res.getExaminationStudentInfoRsp.body[key] | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |         if (a instanceof Array) { | 
					
						
							|  |  |  |  |           dataList = a | 
					
						
							|  |  |  |  |         } else { | 
					
						
							|  |  |  |  |           dataList = [a] | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |       if (dataList.length) { | 
					
						
							|  |  |  |  |         this.numCount = 0 | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |       this.list = JSON.parse(JSON.stringify(dataList)) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |  |       this.list.forEach(listData => { | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |         for (let i in listData) { | 
					
						
							|  |  |  |  |           listData[i] = decodeURI(listData[i]) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |         listData.kszp = this.photo + listData.kszp | 
					
						
							|  |  |  |  |         listData.ksmjzp = this.photo + listData.ksmjzp | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       }) | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |  |       dataList = this.list.length > 4 ? this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) : this.list; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       this.dataList = dataList | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |       if (this.dataList.length) { | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |         this.currentUser = this.dataList[0] | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |       } else { | 
					
						
							| 
									
										
										
										
											2024-02-23 10:03:43 +08:00
										 |  |  |  |         this.currentUser = EmptyCandidateObject | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |       } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |       this.lsh = this.currentUser.lsh | 
					
						
							|  |  |  |  |       globalThis.lsh = this.lsh | 
					
						
							|  |  |  |  |       globalThis.ksyh = this.currentUser.ksy1sfzmhm || this.currentUser.ksy2sfzmhm | 
					
						
							| 
									
										
										
										
											2024-01-31 14:42:14 +08:00
										 |  |  |  |       console.log('this.currentUse3' + JSON.stringify(this.currentUser)) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       this.pageIndex = 0 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |       getSyncData('USER').then(data => { | 
					
						
							|  |  |  |  |         if (data?.[0]) { | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |  |           this.getCurrentStudent(data[0].sfzmhm) | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |     }).catch((error) => { | 
					
						
							|  |  |  |  |       console.log('error12error' + error) | 
					
						
							|  |  |  |  |     }) | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   qkFn() { | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |     this.faceCompareSucess = 0 | 
					
						
							|  |  |  |  |     if (globalThis.singlePlay) { | 
					
						
							|  |  |  |  |       this.qkFlag = false | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       return | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |     console.log('JsonJson', JSON.stringify(this.currentUser)) | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |     const param = `<?xml version="1.0" encoding="UTF-8" ?><examinationStuAbsentReq><body><carId>${globalThis.carInfo.carId}</carId><cardNo>${this.currentUser.sfzmhm}</cardNo><examinationRoomId>${globalThis.carInfo.examinationRoomId}</examinationRoomId><examinerName>${globalThis.username}</examinerName><lsh>${this.lsh}</lsh></body></examinationStuAbsentReq>` | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |     console.log('carNo1111', param) | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |     examinationStuAbsent(param).then(res => { | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |       const arr = [this.signNum || 0, 1] | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |       let tmpList = []; | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |       tmpList.push(string2Bytes(arr[0], 1 * 8)[0]) | 
					
						
							|  |  |  |  |       tmpList.push(string2Bytes(arr[1], 1 * 8)[0]) | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |       console.log('globalThis.signNum', globalThis.signNum) | 
					
						
							|  |  |  |  |       const param = { | 
					
						
							|  |  |  |  |         id: 43, | 
					
						
							|  |  |  |  |         list: tmpList, | 
					
						
							|  |  |  |  |         carNo: globalThis.carInfo.carNo, | 
					
						
							|  |  |  |  |         placeId: globalThis.carInfo.examinationRoomId | 
					
						
							|  |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:11:31 +08:00
										 |  |  |  |       globalThis.udpClient2.sendMsgExt(param, this.context) | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |       if (res.examinationStuAbsentRsp.head.resultCode == '0') { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |         this.pageIndex = 0 | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |         this.qkFlag = false | 
					
						
							| 
									
										
										
										
											2024-02-23 10:03:43 +08:00
										 |  |  |  |         this.currentUser = EmptyCandidateObject | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |         this.getExaminationStudentInfoFn() | 
					
						
							|  |  |  |  |         return | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  |     }).catch((error) => { | 
					
						
							|  |  |  |  |       console.log('error12error' + error) | 
					
						
							|  |  |  |  |     }) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   async getExaminationItemFn() { | 
					
						
							|  |  |  |  |     if (!this.currentUser.lsh || globalThis.singlePlay) { | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  |       return | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     const carInfo = globalThis.carInfo; | 
					
						
							|  |  |  |  |     const {carId,examinationRoomId} = carInfo; | 
					
						
							|  |  |  |  |     const examItems = await getExaminationItem({ | 
					
						
							|  |  |  |  |       time: getCurrentTime(), | 
					
						
							|  |  |  |  |       carId, | 
					
						
							|  |  |  |  |       lsh: this.currentUser.lsh || '', | 
					
						
							|  |  |  |  |       examinationRoomId | 
					
						
							|  |  |  |  |     }); | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |     if (examItems?.getExaminationItemRsp?.body?.kssycs != 0) { | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  |       this.getExaminationStudentInfoFn() | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |     } else { | 
					
						
							|  |  |  |  |       this.dataList = [] | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  |       this.currentUser = EmptyCandidateObject | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   //身份比对 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |   async sfbdinterfaceFn() { | 
					
						
							|  |  |  |  |     this.stepFlag = true | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |     const carInfo = globalThis.carInfo; | 
					
						
							|  |  |  |  |     const {carId,examinationRoomId} = carInfo; | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |     this.showFaceCompare = false | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |     let examItems = { getExaminationItemRsp: { body: { ykxx: '' } } }; | 
					
						
							|  |  |  |  |     if (!globalThis.singlePlay) { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |       //获取已考项目 | 
					
						
							|  |  |  |  |       examItems = await getExaminationItem({ | 
					
						
							|  |  |  |  |         time: getCurrentTime(), | 
					
						
							|  |  |  |  |         carId, | 
					
						
							|  |  |  |  |         lsh: this.currentUser.lsh || '', | 
					
						
							|  |  |  |  |         examinationRoomId | 
					
						
							|  |  |  |  |       }); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     this.currentUser.id = '1' | 
					
						
							| 
									
										
										
										
											2024-08-02 11:28:09 +08:00
										 |  |  |  |     const avPlayer = this.avPlayer; | 
					
						
							|  |  |  |  |     this.isLoadingPopupVisible = true | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |     avPlayer.playAudio([`voice/监管通信中.mp3`], false, async () => { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |       const temp = await this.beginExam(); | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |       console.info('surenjun', JSON.stringify(temp)) | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |       if (temp.code != 1) { | 
					
						
							| 
									
										
										
										
											2024-08-02 11:28:09 +08:00
										 |  |  |  |         promptAction.showToast({ | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |           message: temp.message, | 
					
						
							|  |  |  |  |           duration: 4000 | 
					
						
							| 
									
										
										
										
											2024-08-02 11:28:09 +08:00
										 |  |  |  |         }) | 
					
						
							|  |  |  |  |         return | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-08-02 11:28:09 +08:00
										 |  |  |  |       await upDateTableByArray('USER', [this.currentUser]) | 
					
						
							|  |  |  |  |       globalThis.statue = 4 | 
					
						
							|  |  |  |  |       this.stepFlag = false | 
					
						
							|  |  |  |  |       this.isLoadingPopupVisible = false | 
					
						
							|  |  |  |  |       router.pushUrl({ | 
					
						
							|  |  |  |  |         url: 'pages/Judge', | 
					
						
							|  |  |  |  |         params: { | 
					
						
							|  |  |  |  |           examItems: examItems?.getExaminationItemRsp?.body?.ykxx, | 
					
						
							|  |  |  |  |           sczb: Number(this.isBoardPrePareSetPopupOpen), | 
					
						
							|  |  |  |  |           kfdm: this.sczbkf | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       }, router.RouterMode.Single); | 
					
						
							|  |  |  |  |       this.stopDeviceById() | 
					
						
							|  |  |  |  |       this.stepFlag = false | 
					
						
							|  |  |  |  |     }) | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |   } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   // 检测车门、熄火信号 | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |   async checkSignal(): Promise<boolean> { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |     const {isCheckFireOpen} = judgeConfig | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |     const {Param803Str,isBoardPrePareSetPopupOpen} = this; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |     if (Param803Str === '') { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |       return true | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |     return new Promise((resolve, reject) => { | 
					
						
							|  |  |  |  |       if (isCheckFireOpen) { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |         resolve(true) | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |         return | 
					
						
							| 
									
										
										
										
											2024-08-02 11:28:09 +08:00
										 |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |       let plcValue = globalThis.udpClient.getCurrentMessage(); | 
					
						
							| 
									
										
										
										
											2024-08-02 11:28:09 +08:00
										 |  |  |  |       const msgArr = plcValue.split(',') || '' | 
					
						
							|  |  |  |  |       const mkg = msgArr[14]; | 
					
						
							|  |  |  |  |       const fdjzs = msgArr[25]; | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |       const aqd = msgArr[19]; | 
					
						
							|  |  |  |  |       const jgd = msgArr[7]; | 
					
						
							|  |  |  |  |       const ygd = msgArr[8]; | 
					
						
							|  |  |  |  |       const ssc = msgArr[13]; | 
					
						
							|  |  |  |  |       const dw = msgArr[28]; | 
					
						
							|  |  |  |  |       // 开始考试信号检测 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |       if (Param803Str !== '') { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |         //安全带 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |         if (aqd == 1 && Param803Str.includes('1')) { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           this.avPlayer.playAudio(['voice/请解开安全带.mp3']) | 
					
						
							|  |  |  |  |           promptAction.showToast({ | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |             message: '请解开安全带', | 
					
						
							|  |  |  |  |             duration: 4000 | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           }) | 
					
						
							|  |  |  |  |           reject(false) | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         //门开关 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |         if (mkg == 1 && Param803Str.includes('2')) { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           this.avPlayer.playAudio(['voice/关门.mp3']) | 
					
						
							|  |  |  |  |           promptAction.showToast({ | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |             message: '请关闭车门', | 
					
						
							|  |  |  |  |             duration: 4000 | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           }) | 
					
						
							|  |  |  |  |           reject(false) | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         //远、近光灯 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |         if ((jgd == 1 || ygd == 1) && Param803Str.includes('3')) { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           this.avPlayer.playAudio(['voice/请关闭远近光灯.mp3']) | 
					
						
							|  |  |  |  |           promptAction.showToast({ | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |             message: '请关闭远近光灯', | 
					
						
							|  |  |  |  |             duration: 4000 | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           }) | 
					
						
							|  |  |  |  |           reject(false) | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         //拉手刹 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |         if (ssc == 0 && Param803Str.includes('4')) { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           this.avPlayer.playAudio(['voice/请拉手刹.mp3']) | 
					
						
							|  |  |  |  |           promptAction.showToast({ | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |             message: '请拉手刹', | 
					
						
							|  |  |  |  |             duration: 4000 | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           }) | 
					
						
							|  |  |  |  |           reject(false) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         //请点火 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |         if (fdjzs * 1 <= 0 && Param803Str.includes('5')) { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           this.avPlayer.playAudio(['voice/点火.mp3']) | 
					
						
							|  |  |  |  |           promptAction.showToast({ | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |             message: '请点火', | 
					
						
							|  |  |  |  |             duration: 4000 | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           }) | 
					
						
							|  |  |  |  |           reject(false) | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         //置空档 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |         if (dw != 0 && Param803Str.includes('6')) { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           this.avPlayer.playAudio(['voice/请置空档.mp3']) | 
					
						
							|  |  |  |  |           promptAction.showToast({ | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |             message: '请置空档', | 
					
						
							|  |  |  |  |             duration: 4000 | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           }) | 
					
						
							|  |  |  |  |           reject(false) | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-08-02 11:28:09 +08:00
										 |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |       // 考前绕车一周信号检测 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |       if (isBoardPrePareSetPopupOpen) { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |         //请熄火 | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |         if (fdjzs * 1 > 0) { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           this.avPlayer.playAudio(['voice/熄火.mp3']) | 
					
						
							|  |  |  |  |           promptAction.showToast({ | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |             message: '请熄火', | 
					
						
							|  |  |  |  |             duration: 4000 | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           }) | 
					
						
							|  |  |  |  |           reject(false) | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |         if (mkg == 1) { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           this.avPlayer.playAudio(['voice/关门.mp3']) | 
					
						
							|  |  |  |  |           promptAction.showToast({ | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |             message: '请关闭车门', | 
					
						
							|  |  |  |  |             duration: 4000 | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |           }) | 
					
						
							|  |  |  |  |           reject(false) | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |       resolve(true) | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |     }) | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |   // 开始考试 | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |   async beginExam() { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |     const carInfo = globalThis.carInfo; | 
					
						
							|  |  |  |  |     const {carId,examinationRoomId} = carInfo; | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |     const { examSubject,plateNo } = carInfo; | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |     const date = new Date() | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |     console.info('surenjun', 'photoBase64') | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |     const photoBase64 = await this.getPhoto(); | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |     console.info('surenjun', 'photoBase64End') | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |     const drvexam = { | 
					
						
							|  |  |  |  |       lsh: this.currentUser.lsh || '', | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |       kskm: examSubject, | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       ksxtbh: this.ksxtbh || '222', | 
					
						
							|  |  |  |  |       sfzmhm: this.currentUser.sfzmhm || '', | 
					
						
							|  |  |  |  |       ksysfzmhm: this.currentUser.ksy1sfzmhm || '', | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |       ksxl: this.currentUser.ksxl, | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |       zp: photoBase64, | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       kssj: dateFormat(date) || '', | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |       kchp: decodeURI(plateNo), | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |       Ksy2sfzmhm: this.currentUser.ksy2sfzmhm || '' | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  |     const param = { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |       drvexam, | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       xtlb: '17', | 
					
						
							|  |  |  |  |       //接口序列号 | 
					
						
							|  |  |  |  |       jkxlh: this.jkxlh || '1234567', | 
					
						
							|  |  |  |  |       //接口标识 | 
					
						
							|  |  |  |  |       jkid: '17C51', | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |     console.info('surenjun', JSON.stringify(param)) | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |     const temp = await writeObjectOut(param); | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |     globalThis.lsh = this.currentUser.lsh | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |     globalThis.ksyh = this.currentUser.ksy1sfzmhm || this.currentUser.ksy2sfzmhm; | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |     return temp | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   aboutToDisappear() { | 
					
						
							|  |  |  |  |     this.outClick() | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   outClick() { | 
					
						
							|  |  |  |  |     clearInterval(this.interval) | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |     this.stopDeviceById() | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  |     globalThis.udpClient2 && globalThis.udpClient2?.setMsgCallBack(() => { | 
					
						
							|  |  |  |  |     }) | 
					
						
							| 
									
										
										
										
											2024-02-23 10:43:11 +08:00
										 |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-07-02 10:42:53 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |   // 几个按钮公共样式 | 
					
						
							|  |  |  |  |   @Styles | 
					
						
							|  |  |  |  |   commStyle(){ | 
					
						
							|  |  |  |  |     .width(220 * this.ratio) | 
					
						
							|  |  |  |  |     .height(69 * this.ratio) | 
					
						
							|  |  |  |  |     .backgroundImage($r('app.media.button_nor')) | 
					
						
							|  |  |  |  |     .backgroundImageSize({ width: '100%', height: '100%' }) | 
					
						
							|  |  |  |  |     .margin({ bottom: 12 * this.ratio }) | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |   build() { | 
					
						
							|  |  |  |  |     Column() { | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |       TopLogo({ outFlag: $outFlag }).margin({ bottom: 10 }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       Row() { | 
					
						
							|  |  |  |  |         Row() { | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |           ForEach(this.dataList, (item) => { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |             Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | 
					
						
							|  |  |  |  |               Column() { | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |                 CommText({ | 
					
						
							|  |  |  |  |                   ratio: this.ratio, | 
					
						
							|  |  |  |  |                   color: item.sfzmhm != this.currentUser.sfzmhm ? '#FFFFFF' : '#000000', | 
					
						
							|  |  |  |  |                   text: item.lsh | 
					
						
							|  |  |  |  |                 }) | 
					
						
							|  |  |  |  |                 CommText({ | 
					
						
							|  |  |  |  |                   ratio: this.ratio, | 
					
						
							|  |  |  |  |                   color: item.sfzmhm != this.currentUser.sfzmhm ? '#FFFFFF' : '#000000', | 
					
						
							|  |  |  |  |                   text: decodeURIComponent(item.xm) | 
					
						
							|  |  |  |  |                 }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |               } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             .width(165 * this.ratio) | 
					
						
							|  |  |  |  |             .height(85 * this.ratio) | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |             .backgroundImage(item.sfzmhm != this.currentUser.sfzmhm ? $r('app.media.userbox2') : $r('app.media.userboxbg')) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |             .backgroundImageSize({ width: '100%', height: '100%' }) | 
					
						
							|  |  |  |  |             .onClick(() => { | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |               if (this.isExamStart) { | 
					
						
							| 
									
										
										
										
											2024-08-10 14:00:18 +08:00
										 |  |  |  |                 return | 
					
						
							|  |  |  |  |               } | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |               this.currentUser = item | 
					
						
							|  |  |  |  |             }) | 
					
						
							|  |  |  |  |           }) | 
					
						
							|  |  |  |  |         }.width(640 * this.ratio).margin({ left: 30 * this.ratio }) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         Image($r('app.media.dk_prev')) | 
					
						
							|  |  |  |  |           .width(90 * this.ratio) | 
					
						
							|  |  |  |  |           .height(70 * this.ratio) | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |           .margin({ left: 65 * this.ratio, right: 10 * this.ratio }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |           .onClick(() => { | 
					
						
							|  |  |  |  |             this.prevClick() | 
					
						
							|  |  |  |  |           }) | 
					
						
							|  |  |  |  |         Image($r('app.media.dk_next')).width(90 * this.ratio).height(70 * this.ratio).onClick(() => { | 
					
						
							|  |  |  |  |           this.nextClick() | 
					
						
							|  |  |  |  |         }) | 
					
						
							|  |  |  |  |       }.margin({ top: 40 * this.ratio, bottom: 10 * this.ratio }) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       Flex({ justifyContent: FlexAlign.SpaceBetween }) { | 
					
						
							|  |  |  |  |         Row() { | 
					
						
							|  |  |  |  |           Column() { | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |             if (this.currentUser['kszp']) { | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |               Avatar({ | 
					
						
							|  |  |  |  |                 ratio: this.ratio, | 
					
						
							|  |  |  |  |                 url: this.currentUser['kszp'] ? this.currentUser['kszp'] : '' | 
					
						
							|  |  |  |  |               }) | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |             } else { | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |               Avatar({ | 
					
						
							|  |  |  |  |                 ratio: this.ratio, | 
					
						
							|  |  |  |  |                 url: "" | 
					
						
							|  |  |  |  |               }) | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |             if (this.currentUser['ksmjzp']) { | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |               Avatar({ | 
					
						
							|  |  |  |  |                 ratio: this.ratio, | 
					
						
							|  |  |  |  |                 url: this.currentUser['ksmjzp'] ? this.currentUser['ksmjzp'] : '' | 
					
						
							|  |  |  |  |               }) | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |             } else { | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |               Avatar({ | 
					
						
							|  |  |  |  |                 ratio: this.ratio, | 
					
						
							|  |  |  |  |                 url: "" | 
					
						
							|  |  |  |  |               }) | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |           } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |           Column() { | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |             ForEach(this.labelBlocks, (item) => { | 
					
						
							|  |  |  |  |               LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser[item.key] }) | 
					
						
							|  |  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |           } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         .width(664 * this.ratio) | 
					
						
							|  |  |  |  |         .height(339 * this.ratio) | 
					
						
							|  |  |  |  |         .backgroundImage($r('app.media.dkbg')) | 
					
						
							|  |  |  |  |         .backgroundImageSize({ width: '100%', height: '100%' }) | 
					
						
							|  |  |  |  |         .margin({ left: 53 * this.ratio }) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         Column() { | 
					
						
							|  |  |  |  |           Image($r('app.media.yydj_btn')) | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |             .commStyle() | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |           Image($r('app.media.gx_btn')) | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |             .commStyle() | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |             .onClick(() => { | 
					
						
							|  |  |  |  |               this.faceCompareSucess = 0 | 
					
						
							|  |  |  |  |               this.numCount = 0 | 
					
						
							|  |  |  |  |               this.getExaminationStudentInfoFn() | 
					
						
							|  |  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |           Image($r('app.media.qk_btn')) | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |             .commStyle() | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |             .onClick(() => { | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |               this.qkFlag = true | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |           if (this.isBoardPrePareSetPopupOpen && !this.isFirstBoardPrePareSetPopupBtnShow) { | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |             //上车准备 | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |             Image($r('app.media.sczb_btn')).commStyle().onClick(async () => { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |               try { | 
					
						
							|  |  |  |  |                 await this.checkSignal() | 
					
						
							|  |  |  |  |                 this.isExamStart = true | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |                 await upDateTableByArray('USER', [this.currentUser]) | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |                 globalThis.statue = 4 | 
					
						
							|  |  |  |  |                 this.isBoardPrePareSetPopupShow = true; | 
					
						
							|  |  |  |  |                 this.isFirstBoardPrePareSetPopupBtnShow = true; | 
					
						
							|  |  |  |  |                 this.stepFlag = false | 
					
						
							|  |  |  |  |                 this.stopDeviceById() | 
					
						
							| 
									
										
										
										
											2024-08-08 20:12:19 +08:00
										 |  |  |  |                 initJudgeUdp() | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |               } catch (e) { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |               } | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |           } else { | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |             Image($r('app.media.ksks_btn')) | 
					
						
							|  |  |  |  |               .commStyle() | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |               .onClick(async () => { | 
					
						
							|  |  |  |  |                 try { | 
					
						
							| 
									
										
										
										
											2024-08-12 10:19:31 +08:00
										 |  |  |  |                   await this.checkSignal() | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |                   this.faceCompareSucess = 0 | 
					
						
							|  |  |  |  |                   globalThis.statue = 2 | 
					
						
							|  |  |  |  |                   if (!this.currentUser.xm) { | 
					
						
							|  |  |  |  |                     return | 
					
						
							|  |  |  |  |                   } | 
					
						
							|  |  |  |  |                   if (globalThis.singlePlay) { | 
					
						
							|  |  |  |  |                     const {examSubject} = globalThis.carInfo; | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |                     await upDateTableByArray('USER', [this.currentUser]) | 
					
						
							|  |  |  |  |                     router.pushUrl({ | 
					
						
							|  |  |  |  |                       url: examSubject == 3 ? 'pages/Roads' : 'pages/Judge', | 
					
						
							|  |  |  |  |                       params: { | 
					
						
							|  |  |  |  |                         sczb: Number(this.isBoardPrePareSetPopupOpen), | 
					
						
							|  |  |  |  |                         kfdm: this.sczbkf | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |                       } | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |                     }, router.RouterMode.Single); | 
					
						
							|  |  |  |  |                     this.stopDeviceById() | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |                     return | 
					
						
							|  |  |  |  |                   } | 
					
						
							|  |  |  |  |                   if (this.FaceOpenStatue != '0') { | 
					
						
							|  |  |  |  |                     this.showFaceCompare = true | 
					
						
							|  |  |  |  |                   } else { | 
					
						
							| 
									
										
										
										
											2024-08-08 20:12:19 +08:00
										 |  |  |  |                     initJudgeUdp() | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |                     this.sfbdinterfaceFn() | 
					
						
							|  |  |  |  |                   } | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |                 } catch (e) { | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |                   console.info('Throw Error', JSON.stringify(e)) | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |               }) | 
					
						
							|  |  |  |  |           } | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |       if (this.showFaceCompare) { | 
					
						
							|  |  |  |  |         FaceCompare({ | 
					
						
							|  |  |  |  |           sfzh: this.currentUser.sfzmhm, | 
					
						
							|  |  |  |  |           firstImage: this.currentUser.kszp, | 
					
						
							|  |  |  |  |           faceCompareSucess: $faceCompareSucess, | 
					
						
							|  |  |  |  |           getqkFlag: $getqkFlag, | 
					
						
							|  |  |  |  |           faceCatchImg: $faceCatchImg, | 
					
						
							| 
									
										
										
										
											2024-02-23 16:12:22 +08:00
										 |  |  |  |           showFaceCompare: $showFaceCompare, | 
					
						
							| 
									
										
										
										
											2024-03-05 15:44:53 +08:00
										 |  |  |  |           lsh: globalThis.lsh, | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |         }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |       if (this.qkFlag) { | 
					
						
							|  |  |  |  |         Column() { | 
					
						
							|  |  |  |  |           Text('确认考生:' + this.currentUser.xm + '是否缺考') | 
					
						
							|  |  |  |  |             .fontSize(28 * this.ratio) | 
					
						
							|  |  |  |  |             .position({ x: 160 * this.ratio, y: 122 * this.ratio }) | 
					
						
							|  |  |  |  |           Row() { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |             Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | 
					
						
							|  |  |  |  |               Text('  取   消  ').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio) | 
					
						
							|  |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |             .commStyle() | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |             .onClick(() => { | 
					
						
							|  |  |  |  |               this.qkFlag = false | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |             Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { | 
					
						
							|  |  |  |  |               Text('  确   定  ').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio) | 
					
						
							|  |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |             .commStyle() | 
					
						
							| 
									
										
										
										
											2024-02-21 14:51:32 +08:00
										 |  |  |  |             .onClick(() => { | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |               this.qkFn() | 
					
						
							|  |  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |           }.position({ y: 265 * this.ratio, x: 115 * this.ratio }) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-23 10:10:38 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  |         .width(660 * this.ratio) | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |         .height(360 * this.ratio) | 
					
						
							|  |  |  |  |         .position({ x: 150 * this.ratio, y: 98 * this.ratio }) | 
					
						
							|  |  |  |  |         .backgroundColor('#E6E3DF') | 
					
						
							|  |  |  |  |         .borderRadius(19 * this.ratio) | 
					
						
							|  |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |       // 上车准备弹窗 | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |       if (this.isBoardPrePareSetPopupShow) { | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |         BoardPrePareSetPopup({ | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |           closePopup: (bool) => { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |             this.isBoardPrePareSetPopupShow = false; | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |           }, | 
					
						
							| 
									
										
										
										
											2024-08-02 11:05:23 +08:00
										 |  |  |  |           confirmMark: (kfdm) => { | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |             this.sczbkf = kfdm | 
					
						
							| 
									
										
										
										
											2024-07-05 09:34:03 +08:00
										 |  |  |  |           } | 
					
						
							|  |  |  |  |         }) | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-31 13:47:40 +08:00
										 |  |  |  |       // loading | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |       if (this.isLoadingPopupVisible) { | 
					
						
							| 
									
										
										
										
											2024-08-02 11:28:09 +08:00
										 |  |  |  |         LoadingPopup({ | 
					
						
							|  |  |  |  |           title: this.loadingText, | 
					
						
							|  |  |  |  |         }) | 
					
						
							|  |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  |     .height('100%') | 
					
						
							|  |  |  |  |     .width('100%') | 
					
						
							|  |  |  |  |     .backgroundImage($r('app.media.bg')) | 
					
						
							|  |  |  |  |     .backgroundImageSize({ width: '100%', height: '100%' }) | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // 头像组件 | 
					
						
							|  |  |  |  | @Component | 
					
						
							|  |  |  |  | struct Avatar { | 
					
						
							|  |  |  |  |   @State ratio: number = 0 | 
					
						
							|  |  |  |  |   @State url: string = "" | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   build() { | 
					
						
							|  |  |  |  |     Row() { | 
					
						
							|  |  |  |  |       Image(this.url) | 
					
						
							|  |  |  |  |         .width(93 * this.ratio) | 
					
						
							|  |  |  |  |         .height(130.5 * this.ratio) | 
					
						
							|  |  |  |  |         .margin({ bottom: 10 * this.ratio, right: 58 * this.ratio, left: 55 * this.ratio }) | 
					
						
							|  |  |  |  |         .backgroundColor('orange') | 
					
						
							|  |  |  |  |         .border({ color: '#fff', width: 1, style: BorderStyle.Solid }) | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // 横向滚动学员列表里面文字 | 
					
						
							|  |  |  |  | @Component | 
					
						
							|  |  |  |  | struct CommText { | 
					
						
							| 
									
										
										
										
											2024-05-09 13:42:56 +08:00
										 |  |  |  |   @Prop text: string | 
					
						
							|  |  |  |  |   @Prop color: string | 
					
						
							|  |  |  |  |   @Prop ratio: number | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   build() { | 
					
						
							|  |  |  |  |     Text(this.text) | 
					
						
							| 
									
										
										
										
											2024-08-14 17:26:27 +08:00
										 |  |  |  |       .fontSize(19.5 * this.ratio) | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |       .lineHeight(30 * this.ratio) | 
					
						
							|  |  |  |  |       .fontWeight(500) | 
					
						
							|  |  |  |  |       .fontColor(this.color) | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // 考生信息的labelBlock组件 | 
					
						
							|  |  |  |  | @Component | 
					
						
							|  |  |  |  | struct LabelBlock { | 
					
						
							|  |  |  |  |   @State label: string = '' | 
					
						
							|  |  |  |  |   @State ratio: number = 0 | 
					
						
							|  |  |  |  |   @Prop value: string = '' | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   @Styles | 
					
						
							|  |  |  |  |   commLabelStyle(){ | 
					
						
							|  |  |  |  |     .width(280 * this.ratio) | 
					
						
							|  |  |  |  |     .height(35 * this.ratio) | 
					
						
							|  |  |  |  |     .backgroundImageSize({ width: '100%', height: '100%' }) | 
					
						
							|  |  |  |  |     .backgroundImage($r('app.media.userbox')) | 
					
						
							|  |  |  |  |     .margin({ left: 8 * this.ratio }) | 
					
						
							|  |  |  |  |     .align(Alignment.Center) | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   build() { | 
					
						
							|  |  |  |  |     Row() { | 
					
						
							| 
									
										
										
										
											2024-08-08 20:12:19 +08:00
										 |  |  |  |       Text(this.label).fontSize(16 * this.ratio).fontColor('#99948A') | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |       Row() { | 
					
						
							| 
									
										
										
										
											2024-08-08 20:12:19 +08:00
										 |  |  |  |         Text(decodeURIComponent(this.value)).fontColor('#fff').textAlign(TextAlign.Center).width('100%') | 
					
						
							| 
									
										
										
										
											2024-02-22 17:33:10 +08:00
										 |  |  |  |       } | 
					
						
							|  |  |  |  |       .commLabelStyle() | 
					
						
							|  |  |  |  |     }.margin({ bottom: 10 * this.ratio }) | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |  | } |