| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | import UdpClient from '../common/utils/UdpClient'; | 
					
						
							|  |  |  | import { voiceService } from '../common/service/voiceService' | 
					
						
							|  |  |  | //import { resolveIP } from '../common/utils/SocketUtil' | 
					
						
							|  |  |  | import prompt from '@ohos.prompt' | 
					
						
							|  |  |  | import router from '@ohos.router' | 
					
						
							|  |  |  | import { carConfigurationInfo,uploadExamCarCheckResult } from '../api/checkCar' | 
					
						
							|  |  |  | // import CommonConstants from '../common/constants/CommonConstants'; | 
					
						
							|  |  |  | // import AccountTable from '../common/database/tables/AccountTable'; | 
					
						
							|  |  |  | import TopLogo from './compontents/topLogo' | 
					
						
							|  |  |  | import testNapi from '@ohos.hiserialsdk' | 
					
						
							|  |  |  | import { dateFormat } from '../common/utils/tools'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @Entry | 
					
						
							|  |  |  | @Component | 
					
						
							|  |  |  | struct Index { | 
					
						
							|  |  |  |   @State angle: number = 0 | 
					
						
							|  |  |  |   @State ratio: number = 850/960 | 
					
						
							|  |  |  |   @State index: number = -1 | 
					
						
							|  |  |  |   @State time: string = '' | 
					
						
							|  |  |  |   @State msg: string = '' | 
					
						
							|  |  |  |   @State zjMsg: string = '' | 
					
						
							|  |  |  |   @State zjFlag: boolean = false | 
					
						
							|  |  |  |   @State loading: boolean = false | 
					
						
							|  |  |  |   @State breakFlag: boolean = false | 
					
						
							|  |  |  |   @State checkFlag: boolean = false | 
					
						
							|  |  |  |   // @State errorMsg: string = false | 
					
						
							|  |  |  |   @State msgFlag: boolean = false | 
					
						
							|  |  |  |   @State confimDialogFlag: boolean = false | 
					
						
							|  |  |  |   private udpClient: UdpClient  = null | 
					
						
							|  |  |  |   private localIp: string = null | 
					
						
							|  |  |  |   private vocObj = null; | 
					
						
							|  |  |  |   @State checkList: Array<any> = [] | 
					
						
							|  |  |  |   @State subFlag: boolean = true | 
					
						
							|  |  |  |   @State signArr: Array<any> = [] | 
					
						
							|  |  |  |   @State checkListCopy: Array<any> = [] | 
					
						
							|  |  |  |   @State warnFlag: object = { | 
					
						
							|  |  |  |     1:false, | 
					
						
							|  |  |  |     2:false, | 
					
						
							|  |  |  |     3:false, | 
					
						
							|  |  |  |     4:false, | 
					
						
							|  |  |  |     5:false, | 
					
						
							|  |  |  |     6:false, | 
					
						
							|  |  |  |     7:false, | 
					
						
							|  |  |  |     8:false, | 
					
						
							|  |  |  |     9:false, | 
					
						
							|  |  |  |     10:false, | 
					
						
							|  |  |  |     11:false, | 
					
						
							|  |  |  |     12:false, | 
					
						
							|  |  |  |     13:false, | 
					
						
							|  |  |  |     14:false, | 
					
						
							|  |  |  |     15:false, | 
					
						
							|  |  |  |     16:false, | 
					
						
							|  |  |  |     17:false, | 
					
						
							|  |  |  |     18:false, | 
					
						
							|  |  |  |     19:false, | 
					
						
							|  |  |  |     20:false, | 
					
						
							|  |  |  |     21:false, | 
					
						
							|  |  |  |     22:false, | 
					
						
							|  |  |  |     23:false, | 
					
						
							|  |  |  |     24:false, | 
					
						
							|  |  |  |     25:false, | 
					
						
							|  |  |  |     26:false, | 
					
						
							|  |  |  |     27:false, | 
					
						
							|  |  |  |     28:false, | 
					
						
							|  |  |  |     29:false, | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   @State @Watch('outClick') outFlag: boolean = false; | 
					
						
							|  |  |  |   @State passArray: object = { | 
					
						
							|  |  |  |     1:false, | 
					
						
							|  |  |  |     2:false, | 
					
						
							|  |  |  |     3:false, | 
					
						
							|  |  |  |     4:false, | 
					
						
							|  |  |  |     5:false, | 
					
						
							|  |  |  |     6:false, | 
					
						
							|  |  |  |     7:false, | 
					
						
							|  |  |  |     8:false, | 
					
						
							|  |  |  |     9:false, | 
					
						
							|  |  |  |     10:false, | 
					
						
							|  |  |  |     11:false, | 
					
						
							|  |  |  |     12:false, | 
					
						
							|  |  |  |     13:false, | 
					
						
							|  |  |  |     14:false, | 
					
						
							|  |  |  |     15:false, | 
					
						
							|  |  |  |     16:false, | 
					
						
							|  |  |  |     17:false, | 
					
						
							|  |  |  |     18:false, | 
					
						
							|  |  |  |     19:false, | 
					
						
							|  |  |  |     20:false, | 
					
						
							|  |  |  |     21:false, | 
					
						
							|  |  |  |     22:false, | 
					
						
							|  |  |  |     23:false, | 
					
						
							|  |  |  |     24:false, | 
					
						
							|  |  |  |     25:false, | 
					
						
							|  |  |  |     26:false, | 
					
						
							|  |  |  |     27:false, | 
					
						
							|  |  |  |     28:false, | 
					
						
							|  |  |  |     29:false, | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   @State stachValue: object = { | 
					
						
							|  |  |  |     1:'', | 
					
						
							|  |  |  |     2:"", | 
					
						
							|  |  |  |     3:"", | 
					
						
							|  |  |  |     4:"", | 
					
						
							|  |  |  |     5:"", | 
					
						
							|  |  |  |     6:"", | 
					
						
							|  |  |  |     7:"", | 
					
						
							|  |  |  |     8:"", | 
					
						
							|  |  |  |     9:"", | 
					
						
							|  |  |  |     10:"", | 
					
						
							|  |  |  |     11:"", | 
					
						
							|  |  |  |     12:"", | 
					
						
							|  |  |  |     13:"", | 
					
						
							|  |  |  |     14:"", | 
					
						
							|  |  |  |     15:"", | 
					
						
							|  |  |  |     16:"", | 
					
						
							|  |  |  |     17:"", | 
					
						
							|  |  |  |     18:"", | 
					
						
							|  |  |  |     19:"", | 
					
						
							|  |  |  |     20:"", | 
					
						
							|  |  |  |     21:"", | 
					
						
							|  |  |  |     22:"", | 
					
						
							|  |  |  |     23:"", | 
					
						
							|  |  |  |     24:"", | 
					
						
							|  |  |  |     25:"", | 
					
						
							|  |  |  |     26:"", | 
					
						
							|  |  |  |     27:"", | 
					
						
							|  |  |  |     28:"", | 
					
						
							|  |  |  |     29:"", | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   @State warnFlagTip: object = { | 
					
						
							|  |  |  |     0:false, | 
					
						
							|  |  |  |     1:false, | 
					
						
							|  |  |  |     2:false, | 
					
						
							|  |  |  |     3:['check1.wav','check2.wav'], | 
					
						
							|  |  |  |     4:['check3.wav','check4.wav'], | 
					
						
							|  |  |  |     5:['check5.wav','check6.wav'], | 
					
						
							|  |  |  |     6:['check7.wav','check8.wav'], | 
					
						
							|  |  |  |     7:['check9.wav','check10.wav'], | 
					
						
							|  |  |  |     8:['check26.wav','check27.wav'], | 
					
						
							|  |  |  |     9:['dianhuoVideo.wav','xihuoVideo.wav'], | 
					
						
							|  |  |  |     10:['check31.wav'], | 
					
						
							|  |  |  |     11:['check30.wav'], | 
					
						
							|  |  |  |     12:['check28.wav'], | 
					
						
							|  |  |  |     13:['check29.wav'], | 
					
						
							|  |  |  |     14:['check11.wav'], | 
					
						
							|  |  |  |     15:['check12.wav'], | 
					
						
							|  |  |  |     16:['check13.wav'], | 
					
						
							|  |  |  |     17:['check14.wav'], | 
					
						
							|  |  |  |     18:['check15.wav'], | 
					
						
							|  |  |  |     19:['check16.wav'], | 
					
						
							|  |  |  |     20:['check17.wav'], | 
					
						
							|  |  |  |     21:['check18.wav'], | 
					
						
							|  |  |  |     22:['check19.wav'], | 
					
						
							|  |  |  |     23:['check22.wav'], | 
					
						
							|  |  |  |     24:['check23.wav'], | 
					
						
							|  |  |  |     25:['check20.wav','check21.wav'], | 
					
						
							|  |  |  |     26:['check24.wav'], | 
					
						
							|  |  |  |     // 27:[], | 
					
						
							|  |  |  |     // 28:[], | 
					
						
							|  |  |  |     // 29:[], | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   @State len:any='' | 
					
						
							|  |  |  |   @State fd: number = -1; | 
					
						
							|  |  |  |   @State devPath: string = "/dev/ttyS5" | 
					
						
							|  |  |  |   // private AccountTable = new AccountTable(()=>{},CommonConstants); | 
					
						
							|  |  |  |   onPageShow() { | 
					
						
							|  |  |  |     const that=this | 
					
						
							|  |  |  |     this.vocObj = new voiceService(async (status,val,next) => { | 
					
						
							|  |  |  |       if(!that.breakFlag){ | 
					
						
							|  |  |  |         return | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       if (status == 'idle') { | 
					
						
							|  |  |  |         if(val=='kszj.wav'){ | 
					
						
							|  |  |  |           // this.startCheck() | 
					
						
							|  |  |  |          // setTimeout(()=>{ | 
					
						
							|  |  |  |            this.getCheckList() | 
					
						
							|  |  |  |          // },1000) | 
					
						
							|  |  |  |           // that.udpClient.sendMsg('111') | 
					
						
							|  |  |  |         }else { | 
					
						
							|  |  |  |           this.subFlag=false | 
					
						
							|  |  |  |           this.getNextNode() | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     this.carConfigurationInfoFn() | 
					
						
							|  |  |  |     //todo串口 | 
					
						
							|  |  |  |     // this.openChuankouFn() | 
					
						
							|  |  |  |     // setInterval(()=>{ | 
					
						
							|  |  |  |     //   const realNum = { | 
					
						
							|  |  |  |     //     3: 19, | 
					
						
							|  |  |  |     //     4: 17, | 
					
						
							|  |  |  |     //     5: 13, | 
					
						
							|  |  |  |     //     6: 12, | 
					
						
							|  |  |  |     //     7: 14, | 
					
						
							|  |  |  |     //     8: 18, | 
					
						
							|  |  |  |     //     9: 5, | 
					
						
							|  |  |  |     //     10: 29, | 
					
						
							|  |  |  |     //     11: 30, | 
					
						
							|  |  |  |     //     12: 31, | 
					
						
							|  |  |  |     //     13: 32, | 
					
						
							|  |  |  |     //     14: 28, | 
					
						
							|  |  |  |     //     15: 28, | 
					
						
							|  |  |  |     //     16: 28, | 
					
						
							|  |  |  |     //     17: 28, | 
					
						
							|  |  |  |     //     18: 28, | 
					
						
							|  |  |  |     //     19: 28, | 
					
						
							|  |  |  |     //     20: 28, | 
					
						
							|  |  |  |     //     21: 2, //左方向灯, | 
					
						
							|  |  |  |     //     22: 3, | 
					
						
							|  |  |  |     //     23: 7, | 
					
						
							|  |  |  |     //     24: 8, | 
					
						
							|  |  |  |     //     25: 20, | 
					
						
							|  |  |  |     //     26: '' | 
					
						
							|  |  |  |     //   } | 
					
						
							|  |  |  |     //   const dw = [14, 15, 16, 17, 18, 19, 20]; | 
					
						
							|  |  |  |     //   const dwMap = { | 
					
						
							|  |  |  |     //     14: '1', | 
					
						
							|  |  |  |     //     15: '2', | 
					
						
							|  |  |  |     //     16: '3', | 
					
						
							|  |  |  |     //     17: '4', | 
					
						
							|  |  |  |     //     18: '5', | 
					
						
							|  |  |  |     //     19: '9', | 
					
						
							|  |  |  |     //     20: '0' | 
					
						
							|  |  |  |     //   } | 
					
						
							|  |  |  |     //   const dwArr=[14,15,16,17,18,19,20] | 
					
						
							|  |  |  |     //   if(dwArr.indexOf(this.index)>=0){ | 
					
						
							|  |  |  |     //     this.getChuankouFn() | 
					
						
							|  |  |  |     //     return | 
					
						
							|  |  |  |     //   } | 
					
						
							|  |  |  |     // },1000) | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   aboutToDisappear(){ | 
					
						
							|  |  |  |     // this.udpClient.closeUdp() | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   openChuankouFn(){ | 
					
						
							|  |  |  |     this.fd = testNapi.SerialOpen(this.devPath); | 
					
						
							|  |  |  |     let parity = 0x4e; // 'N' | 
					
						
							|  |  |  |     let ret = testNapi.SerialSet(this.fd, 115200, 0, 8, 1, parity); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   getChuankouFn(){ | 
					
						
							|  |  |  |     let timeout = 2000000; // 2秒超时 | 
					
						
							|  |  |  |     let databuff = [0x61,0xAA,0x0A,0X15,0X00]; // send ABCDE | 
					
						
							|  |  |  |     let ret = testNapi.SerialSend(this.fd, databuff); | 
					
						
							|  |  |  |     let revTestInfo = testNapi.SerialRecv(this.fd, timeout); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //let revTestInfo = testNapi.SerialRecv(this.fd, timeout, 6); | 
					
						
							|  |  |  |     const message=revTestInfo.recevedBuf.toString() | 
					
						
							|  |  |  |     if(message==''){ | 
					
						
							|  |  |  |       return | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     const msg=message.split(',') | 
					
						
							|  |  |  |     const dwMap = { | 
					
						
							|  |  |  |       14: '1', | 
					
						
							|  |  |  |       15: '2', | 
					
						
							|  |  |  |       16: '3', | 
					
						
							|  |  |  |       17: '4', | 
					
						
							|  |  |  |       18: '5', | 
					
						
							|  |  |  |       19: '9', | 
					
						
							|  |  |  |       20: '0' | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if(msg[0]!='98'||msg[1]!='85'||msg.length<9){ | 
					
						
							|  |  |  |       return | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     console.log('msgmsg',msg[9],'this.index',this.index) | 
					
						
							|  |  |  |     if(msg[9] == dwMap[this.index]){ | 
					
						
							|  |  |  |       this.warnFlag[this.index]='2' | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   deCode(ArrayBuffer) { | 
					
						
							|  |  |  |     var utf8 = new Uint8Array(ArrayBuffer); | 
					
						
							|  |  |  |     var decodedString = String.fromCharCode.apply(null, utf8); | 
					
						
							|  |  |  |     return decodedString; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   async xhxs() { | 
					
						
							|  |  |  |     this.vocObj.avPlayerStop() | 
					
						
							|  |  |  |     this.vocObj.releasePlayer() | 
					
						
							|  |  |  |     // this.udpClient.closeUdp(()=>{ | 
					
						
							|  |  |  |       router.pushUrl({ | 
					
						
							|  |  |  |         url: 'pages/signDisplay', | 
					
						
							|  |  |  |       },router.RouterMode.Single); | 
					
						
							|  |  |  |     // }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   format(dat) { | 
					
						
							|  |  |  |     //获取年月日,时间 | 
					
						
							|  |  |  |     var year = dat.getFullYear(); | 
					
						
							|  |  |  |     var mon = (dat.getMonth() + 1) < 10 ? "0" + (dat.getMonth() + 1) : dat.getMonth() + 1; | 
					
						
							|  |  |  |     var data = dat.getDate() < 10 ? "0" + (dat.getDate()) : dat.getDate(); | 
					
						
							|  |  |  |     var hour = dat.getHours() < 10 ? "0" + (dat.getHours()) : dat.getHours(); | 
					
						
							|  |  |  |     var min = dat.getMinutes() < 10 ? "0" + (dat.getMinutes()) : dat.getMinutes(); | 
					
						
							|  |  |  |     var seon = dat.getSeconds() < 10 ? "0" + (dat.getSeconds()) : dat.getSeconds(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     var newDate = year + "-" + mon + "-" + data + " " + hour + ":" + min + ":" + seon; | 
					
						
							|  |  |  |     return newDate; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   carConfigurationInfoFn() { | 
					
						
							|  |  |  |     // 1:5;2:5;3:5;4:5;5:5;8:5;9:5;10:5;11:5; | 
					
						
							|  |  |  |     //16:5;17:5;18:5;19:5;20:5;21:5;22:5;23:5;24:5 | 
					
						
							|  |  |  |     // 12:5;13:5;14:5;15:5; | 
					
						
							|  |  |  |     if(globalThis.singlePlay){ | 
					
						
							| 
									
										
										
										
											2024-01-31 14:35:16 +08:00
										 |  |  |       const str="1:5;2:5;3:5;4:5;5:5;8:5;9:5;10:5;11:5;12:5;13:5;14:5;15:5" | 
					
						
							| 
									
										
										
										
											2024-01-05 11:11:15 +08:00
										 |  |  |       const data = str.split(';') | 
					
						
							|  |  |  |       this.checkList = [] | 
					
						
							|  |  |  |       const list = data | 
					
						
							|  |  |  |       list.map(res => { | 
					
						
							|  |  |  |         const arr = res.split(':') | 
					
						
							|  |  |  |         this.checkList.push({ | 
					
						
							|  |  |  |           'key': parseInt(arr[0]) + 2, 'time': arr[1] | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |       }) | 
					
						
							|  |  |  |       this.checkListCopy = JSON.parse(JSON.stringify(this.checkList)) | 
					
						
							|  |  |  |       return | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     //模拟真实数据 | 
					
						
							|  |  |  |        const param = { | 
					
						
							|  |  |  |          "body": | 
					
						
							|  |  |  |          { | 
					
						
							|  |  |  |            "carIdString": globalThis.carInfo.carId, //考车ID | 
					
						
							|  |  |  |            "deviceNo": globalThis.deviceNo | 
					
						
							|  |  |  |          } | 
					
						
							|  |  |  |        } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |        carConfigurationInfo(param).then(res => { | 
					
						
							|  |  |  |          const data = res.body.ES_CHECK_CAR_ITEM[0].ITEMS.split(';') | 
					
						
							|  |  |  |          this.checkList = [] | 
					
						
							|  |  |  |          const list = data | 
					
						
							|  |  |  |          list.map(res => { | 
					
						
							|  |  |  |            const arr = res.split(':') | 
					
						
							|  |  |  |            this.checkList.push({ | 
					
						
							|  |  |  |              'key': parseInt(arr[0]) + 2, 'time': arr[1] | 
					
						
							|  |  |  |            }) | 
					
						
							|  |  |  |          }) | 
					
						
							|  |  |  |          this.checkListCopy = JSON.parse(JSON.stringify(this.checkList)) | 
					
						
							|  |  |  |          //            this.checkList = JSON.parse(res).body.ES_CHECK_CAR_ITEM[0].split(';') | 
					
						
							|  |  |  |          console.log('this.checkList' + this.checkList) | 
					
						
							|  |  |  |        }).catch((error) => { | 
					
						
							|  |  |  |          console.log('error12error' + error) | 
					
						
							|  |  |  |        }) | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   async kszj() { | 
					
						
							|  |  |  |     this.breakFlag=true | 
					
						
							|  |  |  |     this.stachValue={ | 
					
						
							|  |  |  |       1:'', | 
					
						
							|  |  |  |       2:"", | 
					
						
							|  |  |  |       3:"", | 
					
						
							|  |  |  |       4:"", | 
					
						
							|  |  |  |       5:"", | 
					
						
							|  |  |  |       6:"", | 
					
						
							|  |  |  |       7:"", | 
					
						
							|  |  |  |       8:"", | 
					
						
							|  |  |  |       9:"", | 
					
						
							|  |  |  |       10:"", | 
					
						
							|  |  |  |       11:"", | 
					
						
							|  |  |  |       12:"", | 
					
						
							|  |  |  |       13:"", | 
					
						
							|  |  |  |       14:"", | 
					
						
							|  |  |  |       15:"", | 
					
						
							|  |  |  |       16:"", | 
					
						
							|  |  |  |       17:"", | 
					
						
							|  |  |  |       18:"", | 
					
						
							|  |  |  |       19:"", | 
					
						
							|  |  |  |       20:"", | 
					
						
							|  |  |  |       21:"", | 
					
						
							|  |  |  |       22:"", | 
					
						
							|  |  |  |       23:"", | 
					
						
							|  |  |  |       24:"", | 
					
						
							|  |  |  |       25:"", | 
					
						
							|  |  |  |       26:"", | 
					
						
							|  |  |  |       27:"", | 
					
						
							|  |  |  |       28:"", | 
					
						
							|  |  |  |       29:"", | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     this.warnFlag={ | 
					
						
							|  |  |  |       1:0, | 
					
						
							|  |  |  |       2:0, | 
					
						
							|  |  |  |       3:0, | 
					
						
							|  |  |  |       4:0, | 
					
						
							|  |  |  |       5:0, | 
					
						
							|  |  |  |       6:0, | 
					
						
							|  |  |  |       7:0, | 
					
						
							|  |  |  |       8:0, | 
					
						
							|  |  |  |       9:0, | 
					
						
							|  |  |  |       10:0, | 
					
						
							|  |  |  |       11:0, | 
					
						
							|  |  |  |       12:0, | 
					
						
							|  |  |  |       13:0, | 
					
						
							|  |  |  |       14:0, | 
					
						
							|  |  |  |       15:0, | 
					
						
							|  |  |  |       16:0, | 
					
						
							|  |  |  |       17:0, | 
					
						
							|  |  |  |       18:0, | 
					
						
							|  |  |  |       19:0, | 
					
						
							|  |  |  |       20:0, | 
					
						
							|  |  |  |       21:0, | 
					
						
							|  |  |  |       22:0, | 
					
						
							|  |  |  |       23:0, | 
					
						
							|  |  |  |       24:0, | 
					
						
							|  |  |  |       25:0, | 
					
						
							|  |  |  |       26:0, | 
					
						
							|  |  |  |       27:0, | 
					
						
							|  |  |  |       28:0, | 
					
						
							|  |  |  |       29:0, | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     this.passArray={ | 
					
						
							|  |  |  |       1:false, | 
					
						
							|  |  |  |       2:false, | 
					
						
							|  |  |  |       3:false, | 
					
						
							|  |  |  |       4:false, | 
					
						
							|  |  |  |       5:false, | 
					
						
							|  |  |  |       6:false, | 
					
						
							|  |  |  |       7:false, | 
					
						
							|  |  |  |       8:false, | 
					
						
							|  |  |  |       9:false, | 
					
						
							|  |  |  |       10:false, | 
					
						
							|  |  |  |       11:false, | 
					
						
							|  |  |  |       12:false, | 
					
						
							|  |  |  |       13:false, | 
					
						
							|  |  |  |       14:false, | 
					
						
							|  |  |  |       15:false, | 
					
						
							|  |  |  |       16:false, | 
					
						
							|  |  |  |       17:false, | 
					
						
							|  |  |  |       18:false, | 
					
						
							|  |  |  |       19:false, | 
					
						
							|  |  |  |       20:false, | 
					
						
							|  |  |  |       21:false, | 
					
						
							|  |  |  |       22:false, | 
					
						
							|  |  |  |       23:false, | 
					
						
							|  |  |  |       24:false, | 
					
						
							|  |  |  |       25:false, | 
					
						
							|  |  |  |       26:false, | 
					
						
							|  |  |  |       27:false, | 
					
						
							|  |  |  |       28:false, | 
					
						
							|  |  |  |       29:false, | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     this.checkListCopy = JSON.parse(JSON.stringify(this.checkList)) | 
					
						
							|  |  |  |     this.index = this.checkListCopy[0].key | 
					
						
							|  |  |  |     this.vocObj.playAudio({ | 
					
						
							|  |  |  |       type: 1, | 
					
						
							|  |  |  |       name: 'kszj.wav' | 
					
						
							|  |  |  |     }) | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   stopCheck(){ | 
					
						
							|  |  |  |     this.breakFlag=false | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   getNextNode(){ | 
					
						
							|  |  |  |     setTimeout(() => { | 
					
						
							|  |  |  |       if(this.warnFlag[this.index]!='2'){ | 
					
						
							|  |  |  |         this.warnFlag[this.index]='1' | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       if(!this.breakFlag){ | 
					
						
							|  |  |  |         return | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       this.checkListCopy.splice(0, 1) | 
					
						
							|  |  |  |       if (this.checkListCopy.length) { | 
					
						
							|  |  |  |         this.getCheckList() | 
					
						
							|  |  |  |       } else { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         this.zjFlag = true | 
					
						
							|  |  |  |         let flag=false | 
					
						
							|  |  |  |         for(let item in this.warnFlag){ | 
					
						
							|  |  |  |           if(this.warnFlag[item]=='1'){ | 
					
						
							|  |  |  |             flag=true | 
					
						
							|  |  |  |           } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         this.vocObj.playAudio({ | 
					
						
							|  |  |  |           type: 1, | 
					
						
							|  |  |  |           name: flag?'zjwtg.wav':'zjtg.wav' | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |         if(globalThis.singlePlay){ | 
					
						
							|  |  |  |           return | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         let date = new Date(); | 
					
						
							|  |  |  |         const data={ | 
					
						
							|  |  |  |           time:dateFormat(date), | 
					
						
							|  |  |  |           carId:globalThis.carInfo.carId, | 
					
						
							|  |  |  |           examinationRoomId:globalThis.carInfo.examinationRoomId, | 
					
						
							|  |  |  |           plateNo:globalThis.carInfo.plateNo, | 
					
						
							|  |  |  |           flag:flag?'N':'Y', | 
					
						
							|  |  |  |           condition:flag?'自检不通过':'自检通过' | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         this.stopCheck() | 
					
						
							|  |  |  |         uploadExamCarCheckResult(data).then((res)=>{ | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }, parseInt(this.checkListCopy[0].time) * 1000) | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   getCheckList() { | 
					
						
							|  |  |  |     // this.warnFlag[Math.ceil(this.index/2)]=!this.warnFlagTip[Math.ceil(this.index/2)] | 
					
						
							|  |  |  |     if(!this.breakFlag){ | 
					
						
							|  |  |  |       return | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     this.index = this.checkListCopy[0].key | 
					
						
							|  |  |  |     this.passArray[this.index]=true | 
					
						
							|  |  |  |     this.subFlag=true | 
					
						
							|  |  |  |     const realNum = { | 
					
						
							|  |  |  |       3: 19, | 
					
						
							|  |  |  |       4: 17, | 
					
						
							|  |  |  |       5: 13, | 
					
						
							|  |  |  |       6: 12, | 
					
						
							|  |  |  |       7: 14, | 
					
						
							|  |  |  |       8: 18, | 
					
						
							|  |  |  |       9: 5, | 
					
						
							|  |  |  |       10: 29, | 
					
						
							|  |  |  |       11: 30, | 
					
						
							|  |  |  |       12: 31, | 
					
						
							|  |  |  |       13: 32, | 
					
						
							|  |  |  |       14: 27, | 
					
						
							|  |  |  |       15: 27, | 
					
						
							|  |  |  |       16: 27, | 
					
						
							|  |  |  |       17: 27, | 
					
						
							|  |  |  |       18: 27, | 
					
						
							|  |  |  |       19: 27, | 
					
						
							|  |  |  |       20: 27, | 
					
						
							|  |  |  |       21: 2, //左方向灯, | 
					
						
							|  |  |  |       22: 3, | 
					
						
							|  |  |  |       23: 7, | 
					
						
							|  |  |  |       24: 8, | 
					
						
							|  |  |  |       25: 20, | 
					
						
							|  |  |  |       26: '' | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     if(this.warnFlagTip[this.index].length==1){ | 
					
						
							|  |  |  |       this.vocObj.playAudio({ | 
					
						
							|  |  |  |         type: 1, | 
					
						
							|  |  |  |         name: this.warnFlagTip[this.index][0], | 
					
						
							|  |  |  |       }) | 
					
						
							|  |  |  |     }else if(this.warnFlagTip[this.index].length==2){ | 
					
						
							|  |  |  |       if(this.signArr[realNum[this.index]]&&this.signArr[realNum[this.index]]!='0'){ | 
					
						
							|  |  |  |         this.vocObj.playAudio({ | 
					
						
							|  |  |  |           type: 1, | 
					
						
							|  |  |  |           name: this.warnFlagTip[this.index][1], | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |       }else{ | 
					
						
							|  |  |  |         this.vocObj.playAudio({ | 
					
						
							|  |  |  |           type: 1, | 
					
						
							|  |  |  |           name: this.warnFlagTip[this.index][0], | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     // this.index = (this.checkListCopy[0].key-4)*2+4 | 
					
						
							|  |  |  |     // if(this.warnFlagTip[this.index].length==1){ | 
					
						
							|  |  |  |     //   this.vocObj.playAudio({ | 
					
						
							|  |  |  |     //     type: 1, | 
					
						
							|  |  |  |     //     name: this.warnFlagTip[this.index][0], | 
					
						
							|  |  |  |     //   }) | 
					
						
							|  |  |  |     // } | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   playVideo(name){ | 
					
						
							|  |  |  |     this.vocObj.playAudio({ | 
					
						
							|  |  |  |       type: 1, | 
					
						
							|  |  |  |       name: name, | 
					
						
							|  |  |  |       nextName: '' | 
					
						
							|  |  |  |     }) | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   outClick(){ | 
					
						
							|  |  |  |     if(this.vocObj){ | 
					
						
							|  |  |  |       this.vocObj.avPlayerStop() | 
					
						
							|  |  |  |       this.vocObj.releasePlayer() | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     this.breakFlag=false | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   build() { | 
					
						
							|  |  |  |     Column() { | 
					
						
							|  |  |  |       TopLogo({outFlag:$outFlag}).margin({bottom:25.5*this.ratio}) | 
					
						
							|  |  |  |       // Flex({justifyContent:FlexAlign.SpaceBetween}){ | 
					
						
							|  |  |  |       //   Row(){ | 
					
						
							|  |  |  |       //     Image($r('app.media.signal_logoS')).width(30*this.ratio).height(20*this.ratio).margin({left:15*this.ratio,right:15*this.ratio}) | 
					
						
							|  |  |  |       //     Text(this.time).fontColor('#EAA500').fontSize(18*this.ratio) | 
					
						
							|  |  |  |       //   } | 
					
						
							|  |  |  |       //   Image($r('app.media.topB_back')).width(125*this.ratio).height(50*this.ratio).onClick(()=>{ | 
					
						
							|  |  |  |       //     router.back() | 
					
						
							|  |  |  |       //     this.breakFlag=false | 
					
						
							|  |  |  |       //   }) | 
					
						
							|  |  |  |       // }.width('100%').height(40*this.ratio).backgroundColor('#343434').margin({bottom:25.5*this.ratio}) | 
					
						
							|  |  |  |       Flex({justifyContent:FlexAlign.SpaceBetween}){ | 
					
						
							|  |  |  |         Column(){ | 
					
						
							|  |  |  |           Row(){ | 
					
						
							|  |  |  |             Image(this.passArray[0]?(this.warnFlag[0]=='0'?$r('app.media.cheliangmoxing'):(this.warnFlag[0]=='1'?$r('app.media.cheliangmoxing_r'):$r('app.media.cheliangmoxing_g'))):$r('app.media.cheliangmoxing')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             Image(this.passArray[1]?(this.warnFlag[1]=='0'?$r('app.media.weixingxinhao'):(this.warnFlag[1]=='1'?$r('app.media.weixingxinhao_r'):$r('app.media.weixingxinhao_g'))):$r('app.media.weixingxinhao')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             Image(this.passArray[2]?(this.warnFlag[2]=='0'?$r('app.media.shipinjiankong'):(this.warnFlag[2]=='1'?$r('app.media.shipingjiankong_r'):$r('app.media.shipinjiankong_g'))):$r('app.media.shipinjiankong')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             Image(this.passArray[3]?(this.warnFlag[3]=='0'?$r('app.media.anquandai'):(this.warnFlag[3]=='1'?$r('app.media.anquandai_r'):$r('app.media.anquandai_g'))):$r('app.media.anquandai')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             Image(this.passArray[4]?(this.warnFlag[4]=='0'?$r('app.media.liheqi'):(this.warnFlag[4]=='1'?$r('app.media.liheqi_r'):$r('app.media.leheqi_g'))):$r('app.media.liheqi')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |           } | 
					
						
							|  |  |  |           Row(){ | 
					
						
							|  |  |  |             Image(this.passArray[5]?(this.warnFlag[5]=='0'?$r('app.media.shousha'):(this.warnFlag[5]=='1'?$r('app.media.shousha_r'):$r('app.media.shousha_g'))):$r('app.media.shousha')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             Image(this.passArray[6]?(this.warnFlag[6]=='0'?$r('app.media.jiaosha'):(this.warnFlag[6]=='1'?$r('app.media.jiaosha_r'):$r('app.media.jiaosha_g'))):$r('app.media.jiaosha')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             Image(this.passArray[7]?(this.warnFlag[7]=='0'?$r('app.media.chemen'):(this.warnFlag[7]=='1'?$r('app.media.chemen_r'):$r('app.media.chemeen_g'))):$r('app.media.chemen')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             Image(this.passArray[8]?(this.warnFlag[8]=='0'?$r('app.media.fusha'):(this.warnFlag[8]=='1'?$r('app.media.fusha_r'):$r('app.media.fusha_g'))):$r('app.media.fusha')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             Image(this.passArray[9]?(this.warnFlag[9]=='0'?$r('app.media.dianhuo'):(this.warnFlag[9]=='1'?$r('app.media.dianhuo_r'):$r('app.media.dianhuo_g'))):$r('app.media.dianhuo')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             // Image(this.passArray[6]?this.warnFlag[6]?$r('app.media.jiaosha_r'):$r('app.media.jiaosha_g'):$r('app.media.jiaosha')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             // Image(this.passArray[7]?this.warnFlag[7]?$r('app.media.chemen_r'):$r('app.media.chemeen_g'):$r('app.media.chemen')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             // Image(this.passArray[8]?this.warnFlag[8]?$r('app.media.fusha_r'):$r('app.media.fusha_g'):$r('app.media.fusha')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |             // Image(this.passArray[9]?this.warnFlag[9]?$r('app.media.dianhuo_r'):$r('app.media.dianhuo_g'):$r('app.media.dianhuo')).width(138.5*this.ratio).height(112.5*this.ratio) | 
					
						
							|  |  |  |           } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         if(this.breakFlag){ | 
					
						
							|  |  |  |           Column(){ | 
					
						
							|  |  |  |             Image($r('app.media.open_loading')).width(100*this.ratio).rotate({angle:this.angle}).height(100*this.ratio).animation({ | 
					
						
							|  |  |  |               duration: 5000, // 动画时长 | 
					
						
							|  |  |  |               curve: Curve.EaseOut, // 动画曲线 | 
					
						
							|  |  |  |               delay: 500, // 动画延迟 | 
					
						
							|  |  |  |               iterations:-1, // 播放次数 | 
					
						
							|  |  |  |               playMode: PlayMode.Normal, // 动画模式 | 
					
						
							|  |  |  |             }) | 
					
						
							|  |  |  |             Text('等待检测…').fontSize(24*this.ratio).fontColor('#FFB133').margin({top:35*this.ratio}) | 
					
						
							|  |  |  |           }.align(Alignment.Center).flexGrow(1) | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       Flex({justifyContent:FlexAlign.SpaceBetween}){ | 
					
						
							|  |  |  |         Row(){ | 
					
						
							|  |  |  |           //绕车 | 
					
						
							|  |  |  |           Column(){ | 
					
						
							|  |  |  |             Row(){ | 
					
						
							|  |  |  |               Image(this.warnFlag[10]=='1'?$r('app.media.zq_r'):this.warnFlag[10]=='2'?$r('app.media.zq'):'').width(102*this.ratio).height(118.5*this.ratio).visibility(this.passArray[10]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |               Image(this.warnFlag[11]=='1'?$r('app.media.yq_r'):this.warnFlag[11]=='2'?$r('app.media.yq'):'').width(102*this.ratio).height(118.5*this.ratio).visibility(this.passArray[11]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             Row(){ | 
					
						
							|  |  |  |               Image(this.warnFlag[12]=='1'?$r('app.media.zh_r'):this.warnFlag[12]=='2'?$r('app.media.zh'):'').width(103*this.ratio).height(118.5*this.ratio).visibility(this.passArray[12]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |               Image(this.warnFlag[13]=='1'?$r('app.media.yh_r'):this.warnFlag[13]=='2'?$r('app.media.yh'):'').width(103*this.ratio).height(118.5*this.ratio).visibility(this.passArray[13]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |               // Image(this.warnFlag[12]?$r('app.media.zh_r'):$r('app.media.zh')).width(103*this.ratio).height(118.5*this.ratio).visibility(this.passArray[12]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |               // Image(this.warnFlag[13]?$r('app.media.yh_r'):$r('app.media.yh')).width(103*this.ratio).height(118.5*this.ratio).visibility(this.passArray[13]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |           }.backgroundImage($r('app.media.rc')).backgroundImageSize({width:'100%',height:'100%'}).width(206*this.ratio).height(235.5*this.ratio) | 
					
						
							|  |  |  |           //档位 | 
					
						
							|  |  |  |           Column(){ | 
					
						
							|  |  |  |             Image(this.warnFlag[14]=='1'?$r('app.media.1_r'):this.warnFlag[14]=='2'?$r('app.media.1'):'').width(44.5*this.ratio).height(44.5*this.ratio).position({x:25*this.ratio,y:57*this.ratio}).visibility(this.passArray[14]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             Image(this.warnFlag[16]=='1'?$r('app.media.3_r'):this.warnFlag[16]=='2'?$r('app.media.3'):'').width(44.5*this.ratio).height(44.5*this.ratio).position({x:82.5*this.ratio,y:57*this.ratio}).visibility(this.passArray[16]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             Image(this.warnFlag[18]=='1'?$r('app.media.5_r'):this.warnFlag[18]=='2'?$r('app.media.5'):'').width(44.5*this.ratio).height(44.5*this.ratio).position({x:139.5*this.ratio,y:57*this.ratio}).visibility(this.passArray[18]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             Image(this.warnFlag[15]=='1'?$r('app.media.2_r'):this.warnFlag[15]=='2'?$r('app.media.2'):'').width(44.5*this.ratio).height(44.5*this.ratio).position({x:25*this.ratio,y:173.5*this.ratio}).visibility(this.passArray[15]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             Image(this.warnFlag[17]=='1'?$r('app.media.4_r'):this.warnFlag[17]=='2'?$r('app.media.4'):'').width(44.5*this.ratio).height(44.5*this.ratio).position({x:82.5*this.ratio,y:173.5*this.ratio}).visibility(this.passArray[17]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             Image(this.warnFlag[19]=='1'?$r('app.media.R_r'):this.warnFlag[19]=='2'?$r('app.media.R'):'').width(44.5*this.ratio).height(44.5*this.ratio).position({x:139.5*this.ratio,y:173.5*this.ratio}).visibility(this.passArray[19]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             Image(this.warnFlag[20]=='1'?$r('app.media.N_r'):this.warnFlag[20]=='2'?$r('app.media.N'):'').width(44.5*this.ratio).height(44.5*this.ratio).position({x:82.5*this.ratio,y:115.5*this.ratio}).visibility(this.passArray[20]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             // Image(this.warnFlag[14]?$r('app.media.1_r'):$r('app.media.1')).width(44.5*this.ratio).height(44.5*this.ratio).position({x:25*this.ratio,y:57*this.ratio}).visibility(this.passArray[14]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             // Image(this.warnFlag[16]?$r('app.media.3_r'):$r('app.media.3')).width(44.5*this.ratio).height(44.5*this.ratio).position({x:82.5*this.ratio,y:57*this.ratio}).visibility(this.passArray[16]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             // Image(this.warnFlag[18]?$r('app.media.5_r'):$r('app.media.5')).width(44.5*this.ratio).height(44.5*this.ratio).position({x:139.5*this.ratio,y:57*this.ratio}).visibility(this.passArray[18]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             // Image(this.warnFlag[15]?$r('app.media.2_r'):$r('app.media.2')).width(44.5*this.ratio).height(44.5*this.ratio).position({x:25*this.ratio,y:173.5*this.ratio}).visibility(this.passArray[15]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             // Image(this.warnFlag[17]?$r('app.media.4_r'):$r('app.media.4')).width(44.5*this.ratio).height(44.5*this.ratio).position({x:82.5*this.ratio,y:173.5*this.ratio}).visibility(this.passArray[17]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             // Image(this.warnFlag[19]?$r('app.media.R_r'):$r('app.media.R')).width(44.5*this.ratio).height(44.5*this.ratio).position({x:139.5*this.ratio,y:173.5*this.ratio}).visibility(this.passArray[19]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  |             // Image(this.warnFlag[20]?$r('app.media.N_r'):$r('app.media.N')).width(44.5*this.ratio).height(44.5*this.ratio).position({x:82.5*this.ratio,y:115.5*this.ratio}).visibility(this.passArray[20]?Visibility.Visible:Visibility.Hidden) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           }.backgroundImage($r('app.media.dw')).backgroundImageSize({width:'100%',height:'100%'}).width(206*this.ratio).height(235.5*this.ratio) | 
					
						
							|  |  |  |           Column(){ | 
					
						
							|  |  |  |             Row(){ | 
					
						
							|  |  |  |               Image(this.passArray[21]?(this.warnFlag[21]=='0'?$r('app.media.zuo'):(this.warnFlag[21]=='1'?$r('app.media.zuo_r'):$r('app.media.zuo_g'))):$r('app.media.zuo')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |               Image(this.passArray[22]?(this.warnFlag[22]=='0'?$r('app.media.you'):(this.warnFlag[22]=='1'?$r('app.media.you_r'):$r('app.media.you_g'))):$r('app.media.you')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |               // Image(this.passArray[21]?this.warnFlag[21]?$r('app.media.zuo_r'):$r('app.media.zuo_g'):$r('app.media.zuo')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |               // Image(this.passArray[22]?this.warnFlag[22]?$r('app.media.you_r'):$r('app.media.you_g'):$r('app.media.you')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             Row(){ | 
					
						
							|  |  |  |               Image(this.passArray[23]?(this.warnFlag[23]=='0'?$r('app.media.zuo1'):(this.warnFlag[23]=='1'?$r('app.media.yuanguangdeng_r'):$r('app.media.yuanguangdeng_g'))):$r('app.media.zuo1')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |               Image(this.passArray[24]?(this.warnFlag[24]=='0'?$r('app.media.jinguangdeng'):(this.warnFlag[24]=='1'?$r('app.media.jinguangdeng_r'):$r('app.media.jinguangdeng_g'))):$r('app.media.jinguangdeng')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |               // Image(this.passArray[23]?this.warnFlag[23]?$r('app.media.yuanguangdeng_r'):$r('app.media.yuanguangdeng_g'):$r('app.media.zuo1')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |               // Image(this.passArray[24]?this.warnFlag[24]?$r('app.media.jinguangdeng_r'):$r('app.media.jinguangdeng_g'):$r('app.media.jinguangdeng')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             Row(){ | 
					
						
							|  |  |  |               Image(this.passArray[25]?(this.warnFlag[25]=='0'?$r('app.media.guzhang'):(this.warnFlag[25]=='1'?$r('app.media.guzhang_r'):$r('app.media.guzhang_g'))):$r('app.media.guzhang')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |               Image(this.passArray[26]?(this.warnFlag[26]=='0'?$r('app.media.jinzhi'):(this.warnFlag[26]=='1'?$r('app.media.jinzhi_r'):$r('app.media.jinzhi_g'))):$r('app.media.jinzhi')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |               // Image(this.passArray[25]?this.warnFlag[25]?$r('app.media.guzhang_r'):$r('app.media.guzhang_g'):$r('app.media.guzhang')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |               // Image(this.passArray[26]?this.warnFlag[26]?$r('app.media.jinzhi_r'):$r('app.media.jinzhi_g'):$r('app.media.jinzhi')).width(138.5*this.ratio).height(81.5*this.ratio) | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |           } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         Column(){ | 
					
						
							|  |  |  |           if(this.breakFlag){ | 
					
						
							|  |  |  |             Flex({justifyContent:FlexAlign.Center,alignItems:ItemAlign.Center}){ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             }.width(215*this.ratio).height(64*this.ratio).margin({bottom:10*this.ratio}).onClick(()=>{ | 
					
						
							|  |  |  |             }).zIndex(11) | 
					
						
							|  |  |  |           }else{ | 
					
						
							|  |  |  |             // Flex({justifyContent:FlexAlign.Center,alignItems:ItemAlign.Center}){ | 
					
						
							|  |  |  |             //   Image($r('app.media.xhxs')).width(28*this.ratio).height(28*this.ratio) | 
					
						
							|  |  |  |             //   Text('信号显示').fontColor('#fff').fontSize(24*this.ratio) | 
					
						
							|  |  |  |             // } | 
					
						
							|  |  |  |             Image($r('app.media.xhxs_btn')) | 
					
						
							|  |  |  |             .width(215*this.ratio).height(64*this.ratio).backgroundImage($r('app.media.button_nor')).backgroundImageSize({width:'100%',height:'100%'}).margin({bottom:10*this.ratio}).onClick(()=>{ | 
					
						
							|  |  |  |               // console.log("laogoao") | 
					
						
							|  |  |  |               // this.vocObj.playAudio({ | 
					
						
							|  |  |  |               //   type: 1, | 
					
						
							|  |  |  |               //   name: 'media_button.wav' | 
					
						
							|  |  |  |               // }) | 
					
						
							|  |  |  |               this.xhxs() | 
					
						
							|  |  |  |             }).zIndex(11) | 
					
						
							|  |  |  |           } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           // Flex({justifyContent:FlexAlign.Center,alignItems:ItemAlign.Center}){ | 
					
						
							|  |  |  |           //   Image($r('app.media.tczj')).width(28*this.ratio).height(28*this.ratio) | 
					
						
							|  |  |  |           //   Text('退出自检').fontColor('#fff').fontSize(24*this.ratio) | 
					
						
							|  |  |  |           // } | 
					
						
							|  |  |  |           Image($r('app.media.tczj_btn')) | 
					
						
							|  |  |  |           .width(215*this.ratio).height(64*this.ratio).backgroundImage($r('app.media.button_nor')).backgroundImageSize({width:'100%',height:'100%'}).margin({bottom:10*this.ratio}).onClick(()=>{ | 
					
						
							|  |  |  |             this.stopCheck() | 
					
						
							|  |  |  |             // this.vocObj.playAudio({ | 
					
						
							|  |  |  |             //   type: 1, | 
					
						
							|  |  |  |             //   name: 'media_button.wav' | 
					
						
							|  |  |  |             // }) | 
					
						
							|  |  |  |             // this.udpClient.closeUdp(()=>{ | 
					
						
							|  |  |  |             // | 
					
						
							|  |  |  |             // }) | 
					
						
							|  |  |  |             // this.udpClient.onMessage(()=>{ | 
					
						
							|  |  |  |             //   prompt.showToast({ | 
					
						
							|  |  |  |             //     message: JSON.stringify(('msgChange')), | 
					
						
							|  |  |  |             //     duration: 3000 | 
					
						
							|  |  |  |             //   }); | 
					
						
							|  |  |  |             // }) | 
					
						
							|  |  |  |           }).zIndex(11) | 
					
						
							|  |  |  |           // Flex({justifyContent:FlexAlign.Center,alignItems:ItemAlign.Center}){ | 
					
						
							|  |  |  |           //   Text('开始自检').fontColor('#fff').fontSize(24*this.ratio) | 
					
						
							|  |  |  |           // } | 
					
						
							|  |  |  |             Image($r('app.media.kszj_btn')) | 
					
						
							|  |  |  |             .width(215*this.ratio).height(64*this.ratio).backgroundImage($r('app.media.anniu_nor')).backgroundImageSize({width:'100%',height:'100%'}).margin({bottom:10*this.ratio}).onClick(()=>{ | 
					
						
							|  |  |  |             //            console.log(event) | 
					
						
							|  |  |  |             this.kszj() | 
					
						
							|  |  |  |             const that=this | 
					
						
							|  |  |  |              setTimeout(()=>{ | 
					
						
							|  |  |  |                this.angle=360 | 
					
						
							|  |  |  |              },1000) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             globalThis.udpClient.onMessage((msg) => { | 
					
						
							|  |  |  |               if(!this.breakFlag){ | 
					
						
							|  |  |  |                 return | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  |               // | 
					
						
							|  |  |  |               // that.signArr = msg.split(',') | 
					
						
							|  |  |  |               // if (this.signArr[0] != '#DN_GD') { | 
					
						
							|  |  |  |               //   return | 
					
						
							|  |  |  |               // } | 
					
						
							|  |  |  |               const stachArr=msg.split(',') | 
					
						
							|  |  |  |               if (stachArr[0] != '#DN_GD') { | 
					
						
							|  |  |  |                 return | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  |               this.signArr = stachArr | 
					
						
							|  |  |  |               const realNum = { | 
					
						
							|  |  |  |                 3: 19, | 
					
						
							|  |  |  |                 4: 17, | 
					
						
							|  |  |  |                 5: 13, | 
					
						
							|  |  |  |                 6: 12, | 
					
						
							|  |  |  |                 7: 14, | 
					
						
							|  |  |  |                 8: 18, | 
					
						
							|  |  |  |                 9: 5, | 
					
						
							|  |  |  |                 10: 29, | 
					
						
							|  |  |  |                 11: 30, | 
					
						
							|  |  |  |                 12: 31, | 
					
						
							|  |  |  |                 13: 32, | 
					
						
							|  |  |  |                 14: 28, | 
					
						
							|  |  |  |                 15: 28, | 
					
						
							|  |  |  |                 16: 28, | 
					
						
							|  |  |  |                 17: 28, | 
					
						
							|  |  |  |                 18: 28, | 
					
						
							|  |  |  |                 19: 28, | 
					
						
							|  |  |  |                 20: 28, | 
					
						
							|  |  |  |                 21: 2, //左方向灯, | 
					
						
							|  |  |  |                 22: 3, | 
					
						
							|  |  |  |                 23: 7, | 
					
						
							|  |  |  |                 24: 8, | 
					
						
							|  |  |  |                 25: 20, | 
					
						
							|  |  |  |                 26: '' | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  |               const dw = [14, 15, 16, 17, 18, 19, 20]; | 
					
						
							|  |  |  |               const dwMap = { | 
					
						
							|  |  |  |                 14: '1', | 
					
						
							|  |  |  |                 15: '2', | 
					
						
							|  |  |  |                 16: '3', | 
					
						
							|  |  |  |                 17: '4', | 
					
						
							|  |  |  |                 18: '5', | 
					
						
							|  |  |  |                 19: '9', | 
					
						
							|  |  |  |                 20: '0' | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  |               const dwArr=[14,15,16,17,18,19,20] | 
					
						
							|  |  |  |               if(dwArr.indexOf(this.index)>=0){ | 
					
						
							|  |  |  |                 return | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  |               if(this.subFlag){ | 
					
						
							|  |  |  |                 //进项目 | 
					
						
							|  |  |  |                 that.stachValue[that.index]=that.signArr[realNum[that.index]] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 return | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  |               if(this.index==26){ | 
					
						
							|  |  |  |                 //关闭所有灯光 | 
					
						
							|  |  |  |                 if(that.signArr[2]!='0'||that.signArr[3]!='0'||that.signArr[7]!='0'||that.signArr[8]!='0'){ | 
					
						
							|  |  |  |                   // this.warnFlag[26]='1' | 
					
						
							|  |  |  |                 }else{ | 
					
						
							|  |  |  |                   this.warnFlag[26]='2' | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |               if(that.index==10||that.index==11||that.index==12||that.index==13){ | 
					
						
							|  |  |  |                 if(that.signArr[realNum[that.index]] != '1200'){ | 
					
						
							|  |  |  |                    that.warnFlag[that.index]='2' | 
					
						
							|  |  |  |                 }else{ | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 return | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |               if(this.warnFlagTip[that.index].length>1){ | 
					
						
							|  |  |  |                 if(that.stachValue[that.index]!=that.signArr[realNum[that.index]]){ | 
					
						
							|  |  |  |                   that.warnFlag[that.index]='2' | 
					
						
							|  |  |  |                 }else{ | 
					
						
							|  |  |  |                   // that.warnFlag[that.index]='1' | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 return | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |               if (!Array.isArray(realNum[that.index])) { | 
					
						
							|  |  |  |                 if (dw.indexOf(that.index) >= 0) { | 
					
						
							|  |  |  |                   // that.warnFlagTip[Math.ceil(that.index/2)] = that.signArr[28] == dwMap[Math.ceil(that.index/2)] ? true : false | 
					
						
							|  |  |  |                   that.warnFlag[that.index] = (that.signArr[28] == dwMap[that.index] ? '2' : '0') | 
					
						
							|  |  |  |                   return | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 if(that.signArr[realNum[that.index]] !== '0'){ | 
					
						
							|  |  |  |                   // that.warnFlagTip[that.index]=true | 
					
						
							|  |  |  |                   that.warnFlag[that.index]='2' | 
					
						
							|  |  |  |                 }else{ | 
					
						
							|  |  |  |                   // that.warnFlagTip[that.index]=false | 
					
						
							|  |  |  |                   // that.warnFlag[that.index]='1' | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 //                this.warnFlag = !this.signArr[realNum[this.index]] | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |               // else { | 
					
						
							|  |  |  |               //   let flag=false | 
					
						
							|  |  |  |               //   realNum[that.index].map(res => { | 
					
						
							|  |  |  |               //     if (that.signArr[res] !== '0') { | 
					
						
							|  |  |  |               //       flag=true | 
					
						
							|  |  |  |               //       // that.warnFlagTip[that.index] = true | 
					
						
							|  |  |  |               //       that.warnFlag[that.index]='2' | 
					
						
							|  |  |  |               //     } | 
					
						
							|  |  |  |               //   }) | 
					
						
							|  |  |  |               //   if(!flag){ | 
					
						
							|  |  |  |               //     // that.warnFlagTip[that.index]=false | 
					
						
							|  |  |  |               //     that.warnFlag[that.index]='1' | 
					
						
							|  |  |  |               //   } | 
					
						
							|  |  |  |               // } | 
					
						
							|  |  |  |             }) | 
					
						
							|  |  |  |             // globalThis.udpClient.sendMsg('111') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           }).zIndex(11) | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |       }.width('100%') | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     .height('100%').width('100%').backgroundImage($r('app.media.bg')).backgroundImageSize({width:'100%',height:'100%'}) | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |