import ProcessRequest from '../../common/util/request/ProcessRequest' import ProcessCheck from '../../viewmodel/process/ProcessCheck' import ProcessInfo from '../../viewmodel/process/ProcessInfo' import RequestParamModel from '../../viewmodel/RequestParamModel' import promptAction from '@ohos.promptAction' import PageInfo from '../../viewmodel/PageInfo' import DictValue from '../../viewmodel/DictValue' import ProcessDeviceDailyCheck from '../../viewmodel/process/ProcessDeviceDailyCheck' import HashMap from '@ohos.util.HashMap' import TimeUtil from '../../common/util/TimeUtil' import CommonConstants from '../../common/constants/CommonConstants' // 设备点检工序 @Component export struct DeviceCheckView { // 设备每日点检 @State deviceChecks: ProcessDeviceDailyCheck[] = [ { id: '1', stationIp: '192.168.1.100', deviceNo: 'DEV001', deviceName: '数控机床A型', deviceType: '001', meteringDate: '2024-12-31', meteringState: 1, warrantyPeriod: '2025-06-30', warrantyState: 1, created: Date.now() }, { id: '2', stationIp: '192.168.1.101', deviceNo: 'DEV002', deviceName: '激光切割机B型', deviceType: '002', meteringDate: '2024-10-15', meteringState: 0, warrantyPeriod: '2024-12-31', warrantyState: 0, created: Date.now() }, { id: '3', stationIp: '192.168.1.102', deviceNo: 'DEV003', deviceName: '注塑机C型', deviceType: '003', meteringDate: '2025-03-20', meteringState: 1, warrantyPeriod: '2025-09-15', warrantyState: 1, created: Date.now() }, { id: '4', stationIp: '192.168.1.103', deviceNo: 'DEV004', deviceName: '冲压机D型', deviceType: '001', meteringDate: '2024-08-10', meteringState: 0, warrantyPeriod: '长期有效', warrantyState: 1, created: Date.now() }, { id: '5', stationIp: '192.168.1.104', deviceNo: 'DEV005', deviceName: '磨床E型', deviceType: '002', meteringDate: '长期有效', meteringState: 1, warrantyPeriod: '2024-11-30', warrantyState: 0, created: Date.now() } ] //查找设备编码 @State queryDeviceNo: string = 'test000' // 设备类型(key为数据字典值,value为数据字典标签) @State deviceTypes: HashMap = new HashMap() // 当前工位IP @Consume('stationIp') stationIp: string deviceTypeDictCode: string = 'device_type' private scrollerDevice: Scroller = new Scroller() build() { Column() { Text("扫描设备 ") .fontColor($r('app.color.FFFFFF')) .fontSize($r('app.float.fontSize_24')) .height('7.9%') .width('97.2%') Row(){ Row() { // 左侧二维码图标 Image($r('app.media.material_qr_code')) .width($r('app.float.virtualSize_32')) .height($r('app.float.virtualSize_32')) .fillColor($r('app.color.FFFFFF')) .objectFit(ImageFit.Contain) .margin({left:'0.7%'}) // 扫码输入框 } .height('100%') .width('27.2%') .borderRadius($r('app.float.virtualSize_16')) .backgroundColor($r('app.color.000000')) Text(TimeUtil.getCurrentDate()) .fontColor($r('app.color.FFFFFF')) .fontSize($r('app.float.fontSize_16')) .margin({left:'3%'}) } .height('7.1%') .width('97.2%') Column() { List({scroller: this.scrollerDevice }) { ForEach(this.deviceChecks, (item: ProcessDeviceDailyCheck) => { ListItem() { Row() { Column(){ Text(this.deviceTypes && item.deviceType && this.deviceTypes.hasKey(item.deviceType) ? this.deviceTypes.get(item.deviceType) : '') .fontSize($r('app.float.fontSize_24')) .fontColor($r('app.color.FFFFFF')) Text('名称:' + item.deviceNo && item.deviceName ? item.deviceName : '') .fontSize($r('app.float.fontSize_16')) .fontColor($r('app.color.FFFFFF')) .fontWeight(FontWeight.Lighter) .margin({top:'2%',bottom:'1%'}) Text('编码:' + item.deviceNo ? item.deviceNo : '') .fontSize($r('app.float.fontSize_16')) .fontColor($r('app.color.FFFFFF')) .fontWeight(FontWeight.Lighter) } .width('30%') .height('100%') .justifyContent(FlexAlign.Center) .alignItems(HorizontalAlign.Start) .margin({right:'16%'}) Column({space:5}){ Text(`计量有效期:`) .fontSize($r('app.float.fontSize_16')) .fontColor($r('app.color.FFFFFF')) .fontWeight(FontWeight.Lighter) if ( item.deviceNo) { Row(){ Image(item.meteringState! === 1 ? $r('app.media.device_normal') : $r('app.media.device_expire')) .width($r('app.float.virtualSize_24')) .height($r('app.float.virtualSize_24')) .margin({left:'2%'}) Text(item.meteringDate ? `${item.meteringDate}` : '长期有效') .fontSize($r('app.float.fontSize_16')) .fontColor(item.meteringState! === 1 ? $r('app.color.30D158') : $r('app.color.FF453A')) .margin({left:'2%'}) } .width('65%') .borderRadius($r('app.float.virtualSize_16')) .backgroundColor($r('app.color.000000')) .height('25%') .alignItems(VerticalAlign.Center) } } .width('22%') .height('100%') .justifyContent(FlexAlign.Center) .alignItems(HorizontalAlign.Start) Column({space:5}){ Text(`维保有效期:`) .fontSize($r('app.float.fontSize_16')) .fontColor($r('app.color.FFFFFF')) .fontWeight(FontWeight.Lighter) if ( item.deviceNo) { Row() { Image(item.warrantyState! === 1 ? $r('app.media.device_normal') : $r('app.media.device_expire')) .width($r('app.float.virtualSize_24')) .height($r('app.float.virtualSize_24')) .margin({ left: '2%' }) Text(item.warrantyPeriod ? `${item.warrantyPeriod}` : '长期有效') .fontSize($r('app.float.fontSize_16')) .fontColor(item.warrantyState! === 1 ? $r('app.color.30D158') : $r('app.color.FF453A')) .margin({ left: '2%' }) } .width('65%') .borderRadius($r('app.float.virtualSize_16')) .backgroundColor($r('app.color.000000')) .height('25%') .alignItems(VerticalAlign.Center) } } .width('22%') .height('100%') .justifyContent(FlexAlign.Center) .alignItems(HorizontalAlign.Start) } .height('90%') .width('97%') .justifyContent(FlexAlign.Start) } .height('17%') .width('100%') .margin({ bottom: 8}) .borderRadius($r('app.float.virtualSize_16')) .backgroundColor($r('app.color.10FFFFFF')) }) } .height('94%') .width('100%') } .justifyContent(FlexAlign.Center) .height('85%') .width('97.2%') } .width('100%') .height('100%') } }