fix: 优化重构结构
This commit is contained in:
		
							parent
							
								
									d06f1c1d5a
								
							
						
					
					
						commit
						36490c4797
					
				
							
								
								
									
										17
									
								
								entry/src/main/ets/pages/VideoConfig/CheckBox.ets
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								entry/src/main/ets/pages/VideoConfig/CheckBox.ets
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | ||||
| @Component | ||||
| export default struct CheckboxComponent { | ||||
|   @State value: boolean = false | ||||
|   change?: (value: boolean) => void | ||||
| 
 | ||||
|   build() { | ||||
|     Checkbox({ name: 'checkbox1', group: 'checkboxGroup' }) | ||||
|       .width(40) | ||||
|       .height(40) | ||||
|       .select(this.value) | ||||
|       .onChange((value: boolean) => { | ||||
|         console.info('Checkbox1 change is' + value) | ||||
|         this.value = value; | ||||
|         this.change?.(value); | ||||
|       }) | ||||
|   } | ||||
| } | ||||
| @ -1,4 +1,9 @@ | ||||
| import { VideoConfig } from '../../model'; | ||||
| import CheckboxComponent from './CheckBox'; | ||||
| import LabelComponent from './Label'; | ||||
| import routeSettingComponent from './RouteSetting'; | ||||
| import TextInputComponent from './TextInput'; | ||||
| 
 | ||||
| 
 | ||||
| @CustomDialog | ||||
| export default struct VideoConfigComponent { | ||||
| @ -28,53 +33,53 @@ export default struct VideoConfigComponent { | ||||
|       Column() { | ||||
|         // 第一行 | ||||
|         Row() { | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "视频路数", | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: this.videoConfig?.videoNum, | ||||
|             change: (value: string) => { | ||||
|               this.videoConfig.videoNum = value; | ||||
|             } | ||||
|           }) | ||||
|           partitionSpace() | ||||
|           checkboxComponent({ | ||||
|           CheckboxComponent({ | ||||
|             value: this.videoConfig.faceFlag, | ||||
|             change: (value: boolean) => { | ||||
|               this.videoConfig.faceFlag = value; | ||||
|             } | ||||
|           }) | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "启用人脸对比" | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: this.videoConfig.rlls, | ||||
|             change: (value: string) => { | ||||
|               this.videoConfig.rlls = value; | ||||
|             } | ||||
|           }) | ||||
|           partitionSpace() | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "拍照通道" | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: this.videoConfig.pztd, | ||||
|             change: (value: string) => { | ||||
|               this.videoConfig.pztd = value; | ||||
|             } | ||||
|           }) | ||||
|           partitionSpace() | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "设备类型" | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: "海康" | ||||
|           }) | ||||
|           partitionSpace() | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "视频遮挡报警阈值" | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: this.videoConfig.zdyz, | ||||
|             change: (value: string) => { | ||||
|               this.videoConfig.zdyz = value; | ||||
| @ -123,49 +128,49 @@ export default struct VideoConfigComponent { | ||||
| 
 | ||||
|         //   第三行 | ||||
|         Row() { | ||||
|           checkboxComponent({ | ||||
|           CheckboxComponent({ | ||||
|             value: this.videoConfig.shuiying, | ||||
|             change: (value: boolean) => { | ||||
|               this.videoConfig.shuiying = value; | ||||
|             } | ||||
|           }) | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "照片叠加文字" | ||||
|           }) | ||||
| 
 | ||||
|           partitionSpace() | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "位置" | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: this.videoConfig.wz, | ||||
|             change: (value: string) => { | ||||
|               this.videoConfig.wz = value; | ||||
|             } | ||||
|           }) | ||||
|           partitionSpace() | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "叠加内容" | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: this.videoConfig.text1, | ||||
|             change: (value: string) => { | ||||
|               this.videoConfig.text1 = value; | ||||
|             } | ||||
|           }) | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "+" | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: this.videoConfig.text2, | ||||
|             change: (value: string) => { | ||||
|               this.videoConfig.text2 = value; | ||||
|             } | ||||
|           }) | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "+" | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: this.videoConfig.text3, | ||||
|             change: (value: string) => { | ||||
|               this.videoConfig.text3 = value; | ||||
| @ -173,20 +178,20 @@ export default struct VideoConfigComponent { | ||||
|           }) | ||||
|           partitionSpace() | ||||
|           partitionSpace() | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "分隔符" | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: this.videoConfig.dolt, | ||||
|             change: (value: string) => { | ||||
|               this.videoConfig.dolt = value; | ||||
|             } | ||||
|           }) | ||||
|           partitionSpace() | ||||
|           labelComponent({ | ||||
|           LabelComponent({ | ||||
|             text: "文字大小" | ||||
|           }) | ||||
|           textInputComponent({ | ||||
|           TextInputComponent({ | ||||
|             value: this.videoConfig.fontSize, | ||||
|             change: (value: string) => { | ||||
|               this.videoConfig.fontSize = value; | ||||
| @ -206,148 +211,6 @@ export default struct VideoConfigComponent { | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @Component | ||||
| struct routeSettingComponent { | ||||
|   @State title: string = "录像范围" | ||||
|   @Prop videoConfig: VideoConfig | ||||
|   change?: (value: VideoConfig) => void | ||||
| 
 | ||||
|   build() { | ||||
|     Row() { | ||||
|       Row() { | ||||
|         Text(this.title).fontSize(24) | ||||
|       }.width(150).justifyContent(FlexAlign.End) | ||||
| 
 | ||||
|       Flex({ | ||||
|         wrap: FlexWrap.Wrap | ||||
|       }) { | ||||
|         if (this.title === "录像范围") { | ||||
|           Row() { | ||||
|             labelComponent({ | ||||
|               text: "一路" | ||||
|             }) | ||||
|             checkboxComponent({ | ||||
|               value: this.videoConfig.videoRecord1, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.videoRecord1 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             labelComponent({ | ||||
|               text: "二路" | ||||
|             }) | ||||
|             checkboxComponent({ | ||||
|               value: this.videoConfig.videoRecord2, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.videoRecord2 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             labelComponent({ | ||||
|               text: "三路" | ||||
|             }) | ||||
|             checkboxComponent({ | ||||
|               value: this.videoConfig.videoRecord3, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.videoRecord3 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             labelComponent({ | ||||
|               text: "四路" | ||||
|             }) | ||||
|             checkboxComponent({ | ||||
|               value: this.videoConfig.videoRecord4, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.videoRecord4 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
|         } else { | ||||
|           Row() { | ||||
|             labelComponent({ | ||||
|               text: "一路" | ||||
|             }) | ||||
|             checkboxComponent({ | ||||
|               value: this.videoConfig.spzd1, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.spzd1 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             labelComponent({ | ||||
|               text: "二路" | ||||
|             }) | ||||
|             checkboxComponent({ | ||||
|               value: this.videoConfig.spzd2, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.spzd2 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             labelComponent({ | ||||
|               text: "三路" | ||||
|             }) | ||||
|             checkboxComponent({ | ||||
|               value: this.videoConfig.spzd3, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.spzd3 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             labelComponent({ | ||||
|               text: "四路" | ||||
|             }) | ||||
|             checkboxComponent({ | ||||
|               value: this.videoConfig.spzd4, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.spzd4 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
|         } | ||||
|       }.width(300) | ||||
|     }.justifyContent(FlexAlign.Start) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @Component | ||||
| struct checkboxComponent { | ||||
|   @State value: boolean = false | ||||
|   change?: (value: boolean) => void | ||||
| 
 | ||||
|   build() { | ||||
|     Checkbox({ name: 'checkbox1', group: 'checkboxGroup' }) | ||||
|       .width(40) | ||||
|       .height(40) | ||||
|       .select(this.value) | ||||
|       .onChange((value: boolean) => { | ||||
|         console.info('Checkbox1 change is' + value) | ||||
|         this.value = value; | ||||
|         this.change?.(value); | ||||
|       }) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @Component | ||||
| struct blockComponent { | ||||
| @ -360,27 +223,27 @@ struct blockComponent { | ||||
|       }.width(100) | ||||
| 
 | ||||
|       // IP地址 | ||||
|       textInputComponent({ | ||||
|       TextInputComponent({ | ||||
|         value: "", | ||||
|         widthValue: 200 | ||||
|       }) | ||||
|       // 通道号 | ||||
|       textInputComponent({ | ||||
|       TextInputComponent({ | ||||
|         value: "", | ||||
|         widthValue: 100 | ||||
|       }) | ||||
|       // 用户名 | ||||
|       textInputComponent({ | ||||
|       TextInputComponent({ | ||||
|         value: "", | ||||
|         widthValue: 200 | ||||
|       }) | ||||
|       // 密码 | ||||
|       textInputComponent({ | ||||
|       TextInputComponent({ | ||||
|         value: "", | ||||
|         widthValue: 200 | ||||
|       }) | ||||
|       // 端口号 | ||||
|       textInputComponent({ | ||||
|       TextInputComponent({ | ||||
|         value: "", | ||||
|         widthValue: 100 | ||||
|       }) | ||||
| @ -390,39 +253,6 @@ struct blockComponent { | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @Component | ||||
| struct labelComponent { | ||||
|   @State text: string = "视频路数" | ||||
| 
 | ||||
|   build() { | ||||
|     Text(this.text) | ||||
|       .fontSize(24) | ||||
|       .fontWeight(FontWeight.Bold) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @Component | ||||
| struct textInputComponent { | ||||
|   @Prop value: string | ||||
|   @State widthValue: number = 120 | ||||
|   change?: (value: string) => void | ||||
| 
 | ||||
|   build() { | ||||
|     TextInput({ | ||||
|       text: this.value, | ||||
|     }) | ||||
|       .type(InputType.Normal) | ||||
|       .borderRadius(0) | ||||
|       .fontSize(20) | ||||
|       .width(this.widthValue) | ||||
|       .height(50) | ||||
|       .margin({ left: 15, right: 15 }) | ||||
|       .onChange((value) => { | ||||
|         this.value = value; | ||||
|         this.change?.(value); | ||||
|       }) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @Component | ||||
| struct partitionSpace { | ||||
|  | ||||
							
								
								
									
										11
									
								
								entry/src/main/ets/pages/VideoConfig/Label.ets
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								entry/src/main/ets/pages/VideoConfig/Label.ets
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| @Component | ||||
| export default struct LabelComponent { | ||||
|   @State text: string = "视频路数" | ||||
| 
 | ||||
|   build() { | ||||
|     Text(this.text) | ||||
|       .fontSize(24) | ||||
|       .fontWeight(FontWeight.Bold) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										129
									
								
								entry/src/main/ets/pages/VideoConfig/RouteSetting.ets
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								entry/src/main/ets/pages/VideoConfig/RouteSetting.ets
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,129 @@ | ||||
| import { VideoConfig } from '../../model' | ||||
| import CheckboxComponent from './CheckBox' | ||||
| import LabelComponent from './Label' | ||||
| 
 | ||||
| 
 | ||||
| @Component | ||||
| export default struct routeSettingComponent { | ||||
|   @State title: string = "录像范围" | ||||
|   @Prop videoConfig: VideoConfig | ||||
|   change?: (value: VideoConfig) => void | ||||
| 
 | ||||
|   build() { | ||||
|     Row() { | ||||
|       Row() { | ||||
|         Text(this.title).fontSize(24) | ||||
|       }.width(150).justifyContent(FlexAlign.End) | ||||
| 
 | ||||
|       Flex({ | ||||
|         wrap: FlexWrap.Wrap | ||||
|       }) { | ||||
|         if (this.title === "录像范围") { | ||||
|           Row() { | ||||
|             LabelComponent({ | ||||
|               text: "一路" | ||||
|             }) | ||||
|             CheckboxComponent({ | ||||
|               value: this.videoConfig.videoRecord1, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.videoRecord1 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             LabelComponent({ | ||||
|               text: "二路" | ||||
|             }) | ||||
|             CheckboxComponent({ | ||||
|               value: this.videoConfig.videoRecord2, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.videoRecord2 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             LabelComponent({ | ||||
|               text: "三路" | ||||
|             }) | ||||
|             CheckboxComponent({ | ||||
|               value: this.videoConfig.videoRecord3, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.videoRecord3 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             LabelComponent({ | ||||
|               text: "四路" | ||||
|             }) | ||||
|             CheckboxComponent({ | ||||
|               value: this.videoConfig.videoRecord4, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.videoRecord4 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
|         } else { | ||||
|           Row() { | ||||
|             LabelComponent({ | ||||
|               text: "一路" | ||||
|             }) | ||||
|             CheckboxComponent({ | ||||
|               value: this.videoConfig.spzd1, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.spzd1 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             LabelComponent({ | ||||
|               text: "二路" | ||||
|             }) | ||||
|             CheckboxComponent({ | ||||
|               value: this.videoConfig.spzd2, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.spzd2 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             LabelComponent({ | ||||
|               text: "三路" | ||||
|             }) | ||||
|             CheckboxComponent({ | ||||
|               value: this.videoConfig.spzd3, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.spzd3 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
| 
 | ||||
|           Row() { | ||||
|             LabelComponent({ | ||||
|               text: "四路" | ||||
|             }) | ||||
|             CheckboxComponent({ | ||||
|               value: this.videoConfig.spzd4, | ||||
|               change: (value: boolean) => { | ||||
|                 this.videoConfig.spzd4 = value; | ||||
|                 this.change?.(this.videoConfig); | ||||
|               } | ||||
|             }) | ||||
|           } | ||||
|         } | ||||
|       }.width(300) | ||||
|     }.justifyContent(FlexAlign.Start) | ||||
|   } | ||||
| } | ||||
							
								
								
									
										22
									
								
								entry/src/main/ets/pages/VideoConfig/TextInput.ets
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								entry/src/main/ets/pages/VideoConfig/TextInput.ets
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| @Component | ||||
| export default struct TextInputComponent { | ||||
|   @Prop value: string | ||||
|   @State widthValue: number = 120 | ||||
|   change?: (value: string) => void | ||||
| 
 | ||||
|   build() { | ||||
|     TextInput({ | ||||
|       text: this.value, | ||||
|     }) | ||||
|       .type(InputType.Normal) | ||||
|       .borderRadius(0) | ||||
|       .fontSize(20) | ||||
|       .width(this.widthValue) | ||||
|       .height(50) | ||||
|       .margin({ left: 15, right: 15 }) | ||||
|       .onChange((value) => { | ||||
|         this.value = value; | ||||
|         this.change?.(value); | ||||
|       }) | ||||
|   } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user