624 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			624 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| import { voiceService } from '../common/service/voiceService';
 | |
| import router from '@ohos.router';
 | |
| import { carConfigurationInfo, uploadExamCarCheckResult } from '../api/checkCar';
 | |
| import TopLogo from './compontents/TopLogo';
 | |
| import testNapi from '@ohos.hiserialsdk';
 | |
| import { dateFormat } from '../common/utils/tools';
 | |
| import { DwMapData, PassData, RealNumData, StackValueData, WarnFlagData, WarnFlagTipData } from '../mock';
 | |
| import FileUtil from '../common/utils/File';
 | |
| import { GlobalConfig } from '../config';
 | |
| import common from '@ohos.app.ability.common';
 | |
| 
 | |
| @Entry
 | |
| @Component
 | |
| export default struct Index {
 | |
|   @State angle: number = 0
 | |
|   @State ratio: number = 1700 / 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 msgFlag: boolean = false
 | |
|   @State confirmDialogFlag: boolean = false
 | |
|   @State checkList: Array<any> = []
 | |
|   @State subFlag: boolean = true
 | |
|   @State signArr: Array<any> = []
 | |
|   @State checkListCopy: Array<any> = []
 | |
|   @State warnFlag: object = WarnFlagData
 | |
|   @State @Watch('outClick') outFlag: boolean = false;
 | |
|   @State passArray: object = PassData
 | |
|   @State stachValue: object = StackValueData
 | |
|   @State warnFlagTip: object = WarnFlagTipData
 | |
|   @State realNum: object = RealNumData
 | |
|   @State dwMap: object = DwMapData
 | |
|   @State fd: number = -1;
 | |
|   @State devPath: string = "/dev/ttyS3"
 | |
|   @State stopFlag: boolean = false
 | |
|   @State fromIndex: boolean = false
 | |
|   private vocObj = null;
 | |
|   private context = getContext(this) as common.UIAbilityContext;
 | |
| 
 | |
|   // private AccountTable = new AccountTable(()=>{},CommonConstants);
 | |
|   aboutToAppear() {
 | |
|     const that = this
 | |
|     this.vocObj = new voiceService(async (status, val, next) => {
 | |
|       if (!that.breakFlag) {
 | |
|         return
 | |
|       }
 | |
|       if (status == 'idle') {
 | |
|         if (val == 'kszj.wav') {
 | |
|           console.log('finsh')
 | |
|           this.initfackCheck(0)
 | |
|           // this.getCheckList(true)
 | |
|         } else {
 | |
|           this.subFlag = false
 | |
|           this.getNextNode()
 | |
|         }
 | |
|       }
 | |
|     });
 | |
|     let routParam: any = router.getParams();
 | |
|     this.fromIndex=routParam?.fromIndex || false
 | |
|     this.carConfigurationInfoFn()
 | |
| 
 | |
|   }
 | |
| 
 | |
|   openChuankouFn() {
 | |
|     console.log('SerialOpen in carcheck, path=' + this.devPath)
 | |
| 
 | |
|     this.fd = testNapi.SerialOpen(this.devPath);
 | |
|     let parity = 0x4e; // 'N'
 | |
|     let ret = testNapi.SerialSet(this.fd, 115200, 0, 8, 1, parity);
 | |
|   }
 | |
| 
 | |
|   getChuankouFn() {
 | |
|     let timeout = 50000; // 2秒超时
 | |
|     let databuff = [0x61, 0xAA, 0x0A, 0X15, 0X00]; // send ABCDE
 | |
| 
 | |
|     let ret = testNapi.SerialSend(this.fd, databuff);
 | |
|     console.log('mmmm', ret)
 | |
|     let revTestInfo = testNapi?.SerialRecv(this.fd, timeout);
 | |
| 
 | |
|     console.log('revTestInfo', revTestInfo.recevedBuf.length)
 | |
| 
 | |
|     const message = revTestInfo?.recevedBuf?.toString()
 | |
|     console.log('chuankou', this.index, message)
 | |
|     if (message == '') {
 | |
|       this.stopFlag = true
 | |
|       return
 | |
|     }
 | |
|     const msg = message?.split(',')
 | |
|     if (!msg?.length) {
 | |
|       return
 | |
|     }
 | |
|     if (msg[0] != '98' || msg[1] != '85' || msg.length < 9) {
 | |
|       return
 | |
|     }
 | |
|     globalThis.chuankoMsg = msg[9]
 | |
|     if (msg[9] == this.dwMap[this.index]) {
 | |
|       this.warnFlag[this.index] = '2'
 | |
|     }
 | |
| 
 | |
|   }
 | |
| 
 | |
|   async xhxs() {
 | |
|     this.vocObj.avPlayerStop()
 | |
|     this.vocObj.releasePlayer()
 | |
|     router.pushUrl({
 | |
|       url: 'pages/SignDisplay',
 | |
|     }, router.RouterMode.Single);
 | |
|     this.stachValue = JSON.parse(JSON.stringify(StackValueData))
 | |
|     this.warnFlag = JSON.parse(JSON.stringify(WarnFlagData))
 | |
|     this.passArray = JSON.parse(JSON.stringify(PassData))
 | |
|     // clearInterval(this.interval)
 | |
| 
 | |
|   }
 | |
| 
 | |
|   //
 | |
|  async carConfigurationInfoFn() {
 | |
|     const fileUtil = new FileUtil(this.context)
 | |
|     const checkListStr = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/carcheck.txt');
 | |
| 
 | |
|     if (checkListStr === '' || checkListStr === undefined) {
 | |
|       //模拟真实数据
 | |
|       const param = {
 | |
|         "body":
 | |
|         {
 | |
|           "carIdString": globalThis.carInfo.carId, //考车ID
 | |
|           "deviceNo": globalThis.deviceNo
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       carConfigurationInfo(param).then(res => {
 | |
|         // @ts-ignore
 | |
|         console.log('ES_CHECK_CAR_ITEM',JSON.stringify(res.body))
 | |
|         // @ts-ignore
 | |
|         if(res?.body?.ES_CHECK_CAR_ITEM){
 | |
|           // @ts-ignore
 | |
|           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))
 | |
|         }else{
 | |
|           const str = "1:5;2:5;3:5;4:5;5:5;6:5;7:5;8:5;9:5;10:5;11:5;12:5;13:5;14:5;15:5;16:5;17:5;18:5;19:5;20:5;21:5;22:2;23:5;24:5"
 | |
|           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))
 | |
|         }
 | |
| 
 | |
|       }).catch((error) => {
 | |
|         console.log('error12error' + error)
 | |
|         const str = "1:5;2:5;3:5;4:5;5:5;6:5;7:5;8:5;9:5;10:5;11:5;12:5;13:5;14:5;15:5;16:5;17:5;18:5;19:5;20:5;21:5;22:2;23:5;24:5"
 | |
|         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))
 | |
|       })
 | |
|     }else {
 | |
|       const data = checkListStr.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
 | |
|     }
 | |
| 
 | |
|   }
 | |
| 
 | |
|   async kszj() {
 | |
|     this.breakFlag = true
 | |
|     this.stachValue = StackValueData
 | |
|     this.warnFlag = WarnFlagData
 | |
|     this.passArray = PassData
 | |
|     this.checkListCopy = JSON.parse(JSON.stringify(this.checkList))
 | |
|     this.stachValue = JSON.parse(JSON.stringify(StackValueData))
 | |
|     this.warnFlag = JSON.parse(JSON.stringify(WarnFlagData))
 | |
|     this.passArray = JSON.parse(JSON.stringify(PassData))
 | |
|     this.index = this.checkListCopy[0].key
 | |
|     this.vocObj.playAudio({
 | |
|       type: 1,
 | |
|       name: 'kszj.wav'
 | |
|     })
 | |
|   }
 | |
| 
 | |
|   getPLCInfo() {
 | |
|     const that = this
 | |
|     globalThis.udpClient.onMessage_1 && globalThis.udpClient.onMessage_1((msg) => {
 | |
|       console.log('getUDPonMessage_1byCarCheck2')
 | |
| 
 | |
|       if (!this.breakFlag) {
 | |
|         return
 | |
|       }
 | |
|       const stachArr = msg.split(',')
 | |
|       if (stachArr[0] != '#DN_GD') {
 | |
|         return
 | |
|       }
 | |
|       this.signArr = stachArr
 | |
|       const dw = [14, 15, 16, 17, 18, 19, 20];
 | |
|       const dwArr = [14, 15, 16, 17, 18, 19, 20]
 | |
| 
 | |
|       if (dwArr.indexOf(this.index) >= 0) {
 | |
|         if (stachArr[28] == this.dwMap[this.index]) {
 | |
|           this.warnFlag[this.index] = '2'
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       if (this.subFlag) {
 | |
|         //进项目
 | |
|         that.stachValue[that.index] = that.signArr[that.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') {
 | |
|         } else {
 | |
|           this.warnFlag[26] = '2'
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       if (that.index == 10 || that.index == 11 || that.index == 12 || that.index == 13) {
 | |
|         if (that.signArr[that.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[that.realNum[that.index]]) {
 | |
|           that.warnFlag[that.index] = '2'
 | |
|         }
 | |
|         return
 | |
|       }
 | |
|       if (!Array.isArray(that.realNum[that.index])) {
 | |
|         if (dw.indexOf(that.index) >= 0) {
 | |
|           that.warnFlag[that.index] = (that.signArr[28] == that.dwMap[that.index] ? '2' : '0')
 | |
|           return
 | |
|         }
 | |
|         if (that.signArr[that.realNum[that.index]] !== '0') {
 | |
|           that.warnFlag[that.index] = '2'
 | |
|         } else {
 | |
| 
 | |
|         }
 | |
| 
 | |
|       }
 | |
|     })
 | |
|   }
 | |
| 
 | |
|   stopCheck() {
 | |
|     this.breakFlag = false
 | |
|   }
 | |
| 
 | |
|   getNextNode() {
 | |
|     setTimeout(() => {
 | |
|       if (this.warnFlag[this.index] != '2') {
 | |
|         this.warnFlag[this.index] = '1'
 | |
|         this.warnFlag = JSON.parse(JSON.stringify(this.warnFlag))
 | |
|       }
 | |
|       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 ? '自检不通过' : '自检通过'
 | |
|         }
 | |
|         if(!flag&&this.fromIndex||true){
 | |
|           router.pushUrl({
 | |
|             url: 'pages/ExaminerLogin',
 | |
|           }, router.RouterMode.Single);
 | |
|         }
 | |
|         this.stopCheck()
 | |
|         uploadExamCarCheckResult(data).then((res) => {
 | |
|         })
 | |
|       }
 | |
|     }, parseInt(this.checkListCopy[0].time) * 1000)
 | |
|   }
 | |
|   initfackCheck(index){
 | |
|     const that=this
 | |
|       setTimeout(()=>{
 | |
|         console.log('indexindex',index)
 | |
|           if(index>=3){
 | |
|             this.getCheckList()
 | |
|             return
 | |
|           }
 | |
| 
 | |
|         console.log('this.index',index,)
 | |
|         that.passArray[index]=true
 | |
|         if(index==2){
 | |
|           let flag=false
 | |
|           console.log('globalThis.spzd[key]',globalThis.spzd)
 | |
| 
 | |
|           for(let key in globalThis.spzd){
 | |
|             console.log('globalThis.spzd[key]',globalThis.spzd[key])
 | |
|             if(globalThis.spzd[key]){
 | |
|               that.warnFlag[index]='1'
 | |
|               flag=true
 | |
|             }
 | |
|           }
 | |
|           if(!flag){
 | |
|             that.warnFlag[index]='2'
 | |
|           }
 | |
|         }else{
 | |
|           that.warnFlag[index]='2'
 | |
|         }
 | |
|         that.passArray=JSON.parse(JSON.stringify(that.passArray))
 | |
|         that.warnFlag=JSON.parse(JSON.stringify(that.warnFlag))
 | |
|         index++
 | |
|         this.initfackCheck(index)
 | |
|       },1000)
 | |
| 
 | |
|   }
 | |
|   async getCheckList() {
 | |
|     this.index = this.checkListCopy[0].key
 | |
|     this.passArray[this.index] = true
 | |
|     this.passArray = JSON.parse(JSON.stringify(this.passArray))
 | |
|     this.subFlag = true
 | |
|     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[this.realNum[this.index]] && this.signArr[this.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],
 | |
|         })
 | |
| 
 | |
|       }
 | |
|     }
 | |
| 
 | |
|   }
 | |
| 
 | |
|   outClick() {
 | |
|     this.vocObj && this.vocObj.releasePlayer()
 | |
|     this.breakFlag = false
 | |
|     this.stachValue = JSON.parse(JSON.stringify(StackValueData))
 | |
|     this.warnFlag = JSON.parse(JSON.stringify(WarnFlagData))
 | |
|     this.passArray = JSON.parse(JSON.stringify(PassData))
 | |
|     // clearInterval(this.interval)
 | |
|   }
 | |
| 
 | |
|   build() {
 | |
|     Column() {
 | |
|       TopLogo({ outFlag: $outFlag }).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[0] ? (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)
 | |
| 
 | |
|           }
 | |
|         }
 | |
| 
 | |
|         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)
 | |
|             }
 | |
|           }
 | |
|           .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)
 | |
|           }
 | |
|           .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)
 | |
|             }
 | |
| 
 | |
|             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)
 | |
|             }
 | |
| 
 | |
|             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)
 | |
|             }
 | |
|           }
 | |
|         }
 | |
| 
 | |
|         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 {
 | |
| 
 | |
|             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('xhsx')
 | |
|                 this.xhxs()
 | |
|               })
 | |
|               .zIndex(11)
 | |
|           }
 | |
| 
 | |
|           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()
 | |
|             })
 | |
|             .zIndex(11)
 | |
|           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(() => {
 | |
|               this.kszj()
 | |
|               this.getPLCInfo()
 | |
|               setTimeout(() => {
 | |
|                 this.angle = 360
 | |
|               }, 1000)
 | |
|             })
 | |
|             .zIndex(11)
 | |
|         }
 | |
|       }.width('100%')
 | |
|     }
 | |
|     .height('100%')
 | |
|     .width('100%')
 | |
|     .backgroundImage($r('app.media.bg'))
 | |
|     .backgroundImageSize({ width: '100%', height: '100%' })
 | |
|   }
 | |
| } |