Browse Source

添加注释

cjb 2 tuần trước cách đây
mục cha
commit
dd3121a453

+ 1 - 1
entry/src/main/ets/common/util/request/WmsRequest.ets

@@ -13,7 +13,7 @@ import { printError, printRequest, printResponse, handleRes } from './Helps';
 // jiaxiaoqiang:这里要改
 //const baseUrl = "http://192.168.1.3:11010/" //chuangke
 //const baseUrl = "http://192.168.1.174:8079"//huajing
-const baseUrl = "http://192.168.1.3:20010"//huajing
+const baseUrl = "http://192.168.1.3:8079"//huajing
 // const baseUrl = "http://192.168.1.4:8079/" //chuangke
 const DEBUG = true //
 

+ 31 - 163
entry/src/main/ets/component/OrderMaterialsStorageView.ets

@@ -1,4 +1,4 @@
-import {DemandMaterial,OrderParams,MaterialItem,MaterialBox,EmptyBox} from "../params/OrderMaterialsStorageParams"
+import {MaterialBox,EmptyBox} from "../params/OrderMaterialsStorageParams"
 import WorkOrderInfo from '../viewmodel/wms/WorkOrderInfo'
 import WorkOrderMaterialInfo from "../viewmodel/wms/WorkOrderMaterialInfo"
 import WmsRequest from '../common/util/request/WmsRequest'
@@ -8,9 +8,13 @@ import MaterialInfo from '../viewmodel/wms/MaterialInfo'
 
 @Component
 export struct ProcessFlow {
+  //当前步骤
   @Prop currentStep: number =0
+  //第一步标题
   @Prop firstStepTitle: string = ''
+  //第二步标题
   @Prop secondStepTitle: string = ''
+  //第三步标题
   @Prop thirdStepTitle: string = ''
   build() {
     Row() {
@@ -102,10 +106,14 @@ export struct ProcessFlow {
 @Component
 export struct OrderListComponent {
   private scrollerForList: Scroller = new Scroller()
+  //工单
   @Prop workOrders: WorkOrderInfo[] = []
+  //当前选择的工单
   @Link selectWorkOrder: WorkOrderInfo
+  //当前工单对应的物料清单
   @Link materialData:WorkOrderMaterialInfo[]
-  @State selectedIndex: number = -1  // 添加选中索引状态
+  // 添加选中索引
+  @State selectedIndex: number = -1
 
   queryDemandMaterial=async(workOrderCode:string)=>{
     this.materialData = await WmsRequest.post('/api/v1/wms/workOrderMaterial/list', {
@@ -180,7 +188,7 @@ export struct OrderListComponent {
 
 @Component
 export struct SingleOrder {
-
+  //选中的工单
   @Prop selectWorkOrder: WorkOrderInfo = {}
   build() {
     Column() {
@@ -241,25 +249,27 @@ export struct BoxGrid {
   // 拆分两个独立的状态变量
   @State selectedMaterialIndex: number = -1  // 物料箱选中索引
   @State selectedEmptyIndex: number = -1     // 空箱选中索引
-  @Link isQueryMaterial : boolean
-  @Link selectedMaterialBox : MaterialBoxInfo
-  @Prop isQueryEmpty:boolean =true
+  @Link isQueryMaterial : boolean //是否查询物料
+  @Link selectedMaterialBox : MaterialBoxInfo //选中的料箱
+  @Prop isQueryEmpty:boolean =true //是否查询空箱
 
-  // 独立的选择回调
+  //选择料箱
   private onSelectMaterial(index: number) {
     this.selectedMaterialIndex =
       (this.selectedMaterialIndex === index) ? -1 : index
     this.selectedEmptyIndex = -1
   }
 
+  //选择空箱
   private onSelectEmpty(index: number) {
     this.selectedEmptyIndex =
       (this.selectedEmptyIndex === index) ? -1 : index
     this.selectedMaterialIndex = -1
   }
 
-
+  //查询到的所有物料箱
   @Link materialBoxes: MaterialBoxInfo[] ;
+  //查询到的所有空箱
   @Link emptyBoxes: MaterialBoxInfo[]
   build() {
     Column() {
@@ -313,7 +323,6 @@ export struct BoxGrid {
                 .justifyContent(FlexAlign.Start)
                 .alignItems(HorizontalAlign.Start)
               }
-              //.margin({ top: 6 })
               .alignItems(HorizontalAlign.Start)
             }
             .backgroundColor(index === this.selectedMaterialIndex ? $r('app.color.2030D158') : $r('app.color.20FFFFFF')) // 选中状态加深
@@ -327,16 +336,14 @@ export struct BoxGrid {
             .onClick(() => {
               this.onSelectMaterial(index)
               this.selectedMaterialBox = box
-              //this.selectedMaterialBox = box.id
             })
 
           })
         }
         .columnsTemplate('1fr 1fr 1fr')
-        // .rowsTemplate('1fr 1fr')
-        .columnsGap(10) // 移除网格内部列间距
-        .rowsGap(10) // 移除网格内部行间距
-        .width('100%') // 确保填满父容器
+        .columnsGap(10)
+        .rowsGap(10)
+        .width('100%')
         .height(this.isQueryEmpty?'48%':'96%')
         .padding(10)
 
@@ -344,8 +351,6 @@ export struct BoxGrid {
           .strokeWidth(1)
           .color($r('app.color.15FFFFFF'))
           .margin({top:'1%'})
-        //.margin({top:'2%'})
-
       }
       Grid(this.scrollerEmpty) {
         ForEach(this.emptyBoxes, (box: MaterialBoxInfo, index) => {
@@ -385,8 +390,6 @@ export struct BoxGrid {
                   .objectFit(ImageFit.Contain)
               }.width('60%')
             }
-            //.margin({ top: 6 })
-
           }
           .backgroundColor(index === this.selectedEmptyIndex ? $r('app.color.2030D158') : $r('app.color.20FFFFFF')) // 选中状态加深
           .borderRadius($r('app.float.virtualSize_24'))
@@ -405,108 +408,20 @@ export struct BoxGrid {
       }
       .columnsTemplate('1fr 1fr 1fr')
 
-      .columnsGap(10) // 移除网格内部列间距
-      .rowsGap(10) // 移除网格内部行间距
-      .width('100%') // 确保填满父容器
+      .columnsGap(10)
+      .rowsGap(10)
+      .width('100%')
       .height(this.isQueryMaterial?'48%':'96%')
       .padding(10)
       .margin({top:'1%'})
-
-    }
-  }
-}
-
-
-@Component
-export struct MaterialBoxGrid {
-  private scrollerMaterial: Scroller = new Scroller()
-
-  @State selectedMaterialIndex: number = -1  // 物料箱选中索引
-
-  private onSelectMaterial(index: number) {
-    this.selectedMaterialIndex = index
-  }
-
-  @Prop materialBoxes: MaterialBox[] = [];
-  @Prop emptyBoxes: EmptyBox[] = [];
-  build() {
-    Column() {
-      Grid(this.scrollerMaterial) {
-        ForEach(this.materialBoxes, (box: MaterialBox, index) => {
-          GridItem() {
-            Column() {
-              // 订单标题(带订单号)
-              Text(`${box.name}`)
-                .fontSize($r('app.float.fontSize_30'))
-                .fontColor($r('app.color.FFFFFF'))
-                .width('100%')
-                .textAlign(TextAlign.Start)
-                .margin({ bottom: '2%',left:'2%' })
-              // 订单详情
-              Column({ space: 3 }) {
-                Text(`料箱编号: ${box.id}`)
-                  .fontColor($r('app.color.FFFFFF'))
-                  .fontWeight(FontWeight.Lighter)
-                  .fontSize($r('app.float.fontSize_16'))
-                  .textAlign(TextAlign.Start)
-                Text(`料箱类型: ${box.boxType}`)
-                  .fontColor($r('app.color.FFFFFF'))
-                  .fontSize($r('app.float.fontSize_16'))
-                  .fontWeight(FontWeight.Lighter)
-                  .textAlign(TextAlign.Start)
-                Text(`所属订单: ${box.order}`)
-                  .fontColor($r('app.color.FFFFFF'))
-                  .fontWeight(FontWeight.Lighter)
-                  .fontSize($r('app.float.fontSize_16'))
-                  .textAlign(TextAlign.Start)
-                Text(`数量: ${box.boxNumber}`)
-                  .fontColor($r('app.color.FFFFFF'))
-                  .fontSize($r('app.float.fontSize_16'))
-                  .fontWeight(FontWeight.Lighter)
-                  .textAlign(TextAlign.Start)
-                Text(`位置: ${box.position}`)
-                  .fontColor($r('app.color.FFFFFF'))
-                  .fontSize($r('app.float.fontSize_16'))
-                  .textAlign(TextAlign.Start)
-                  .fontWeight(FontWeight.Lighter)
-              }
-              .width('100%')
-              .margin({left:'2%'})
-              .justifyContent(FlexAlign.Start)
-              .alignItems(HorizontalAlign.Start)
-            }
-            //.margin({ top: 6 })
-            .alignItems(HorizontalAlign.Start)
-          }
-          .backgroundColor(index === this.selectedMaterialIndex ? $r('app.color.2030D158') : $r('app.color.20FFFFFF')) // 选中状态加深
-          .borderRadius($r('app.float.virtualSize_24'))
-          .padding(8)
-          .border({
-            width: 2,
-            color: index === this.selectedMaterialIndex ? $r('app.color.2030D158') : $r('app.color.20FFFFFF')
-          })
-          .onClick(() => {
-            this.onSelectMaterial(index)
-          })
-
-        })
-      }
-      .columnsTemplate('1fr 1fr 1fr')
-      // .rowsTemplate('1fr 1fr')
-      .columnsGap(10) // 移除网格内部列间距
-      .rowsGap(10) // 移除网格内部行间距
-      .width('100%') // 确保填满父容器
-      .height('97%')
-      .padding(10)
-
     }
   }
 }
 
-
 @Component
 export struct MaterialList {
   private scrollerForList: Scroller = new Scroller()
+  //物料列表
   @Prop MaterialData: WorkOrderMaterialInfo[] = []
   build() {
     Column() {
@@ -556,29 +471,24 @@ export struct MaterialList {
   }
 }
 
-
+//根据扫码输入查询的物料表
 @Component
 export struct MaterialListComponent {
   private scrollerForList: Scroller = new Scroller()
-  @Link scanMaterialList: MaterialInfo[]
-  @Link materialNum :number
-
-  // 选中回调函数
-
+  @Link scanMaterialList: MaterialInfo[] //扫码物料表
+  @Link materialNum :number //物料数量
   build() {
-    Column() { // 订单列表
+    Column() {
       List({ space: 8,scroller:this.scrollerForList }) {
         ForEach(this.scanMaterialList, (item: MaterialInfo, index) => {
           ListItem() {
             Row() {
               Column(){
-                // 订单标题(带订单号)
                 Text(`${item.materialName}`)
                   .fontSize($r('app.float.fontSize_30'))
                   .fontColor($r('app.color.FFFFFF'))
                   .width('100%')
                   .textAlign(TextAlign.Start)
-                // 订单详情
                 Column({ space: 3 }) {
                   Text(`型号: ${item.materialCode}`)
                     .fontColor($r('app.color.FFFFFF'))
@@ -592,12 +502,6 @@ export struct MaterialListComponent {
                     .width('100%')
                     .fontWeight(FontWeight.Lighter)
                     .textAlign(TextAlign.Start)
-                  // Text(`所属订单: ${item.date}`)
-                  //   .fontColor($r('app.color.FFFFFF'))
-                  //   .fontSize($r('app.float.fontSize_16'))
-                  //   .width('100%')
-                  //   .fontWeight(FontWeight.Lighter)
-                  //   .textAlign(TextAlign.Start)
                   Text(`数量: ${item.num}${item.unitDictLabel}`)
                     .fontColor($r('app.color.FFFFFF'))
                     .fontSize($r('app.float.fontSize_16'))
@@ -622,7 +526,6 @@ export struct MaterialListComponent {
             .backgroundColor($r('app.color.20FFFFFF')) // 选中状态加深
             .borderRadius($r('app.float.virtualSize_24'))
             .padding(13)
-            //.border({width:2,color:index === this.selectedIndex ? $r('app.color.2030D158'):$r('app.color.20FFFFFF')})
           }
         })
       }
@@ -634,42 +537,7 @@ export struct MaterialListComponent {
   }
 }
 
-@Component
-export struct MaterialButton {
-  @State scaleValue : number = 1
-  @Prop icon: Resource = $r('app.media.rgv_turn_off')
-  onButtonClick: () => void = () => {}
-  build() {
-    Row() {
-      Button({ type: ButtonType.Normal }) {
-        Image(this.icon)
-          .width('50%')
-          .height('50%')
-          .objectFit(ImageFit.Contain)
-          .fillColor($r('app.color.FFFFFF'))
-      }
-      .width('100%')
-      .height('100%')
-      .backgroundColor($r('app.color.20FFFFFF'))
-      .borderRadius($r('app.float.virtualSize_16'))
-      .scale({ x: this.scaleValue, y: this.scaleValue })
-      .animation({
-        duration: 200,
-        curve: Curve.Linear  // 弹性曲线更生动
-      })
-      .onClick(() => {
-        this.scaleValue = 0.9; // 点击时缩小
-        setTimeout(() => {
-          this.scaleValue = 1; // 0.2秒后恢复
-        }, 200);
-        if (this.onButtonClick) {
-          this.onButtonClick()
-        }
-      })
-    }
-  }
-}
-
+//提示框
 @CustomDialog
 export struct RemindDialog {
   controller: CustomDialogController
@@ -688,7 +556,7 @@ export struct RemindDialog {
   }
 }
 
-
+//确认框
 @CustomDialog
 export struct CommonConfirmDialog {
   @State title: string = '提示'

+ 4 - 3
entry/src/main/ets/component/RgvControlView.ets

@@ -64,7 +64,7 @@ export struct RgvButton {
   }
 }
 
-@Entry
+
 @Component
 export struct RobotSelector {
   private scrollerForList: Scroller = new Scroller()
@@ -176,7 +176,7 @@ export struct MoveControllerButton {
 }
 
 
-// 在文件顶部或单独组件文件中定义
+// 确认框
 @CustomDialog
 export struct CommonConfirmDialog {
   @State title: string = '提示'
@@ -245,7 +245,7 @@ export struct CommonConfirmDialog {
   }
 }
 
-// 弹窗组件定义
+// 设置目标位置弹框
 @CustomDialog
 export struct MoveDialog {
   @Link rgvEndX: number
@@ -387,6 +387,7 @@ export struct MoveDialog {
   }
 }
 
+//提示框
 @CustomDialog
 export struct RemindDialog {
   controller: CustomDialogController

+ 13 - 8
entry/src/main/ets/component/WarehousingStaticsView.ets

@@ -8,9 +8,8 @@ import MaterialBoxInfo from '../viewmodel/wms/MaterialBoxInfo'
 @Component
 export struct StaticOrderList {
   private scrollerForList: Scroller = new Scroller()
+  //工单
   @Prop workOrders: WorkOrderInfo[] = []
-  @State selectedIndex: number = -1
-  @State scaleValue : number = 1
   build() {
     Column() { // 订单列表
       List({ space: 8,scroller:this.scrollerForList }) {
@@ -37,8 +36,8 @@ struct StaticOrderItem{
   @Prop item: WorkOrderInfo
   @Prop index: number
   @Prop workOrders:WorkOrderInfo[]
-  @State scaleValue : number = 1
-  @State selectedOrder : WorkOrderInfo = {}
+  @State scaleValue : number = 1     //用于点击缩放
+  @State selectedOrder : WorkOrderInfo = {} //选择的工单
   private onSelect(index: number): void {
     this.selectedOrder = this.workOrders[index]
   }
@@ -85,16 +84,16 @@ struct StaticOrderItem{
     }.backgroundColor(this.scaleValue===0.9 ? $r('app.color.2030D158') : $r('app.color.20FFFFFF'))
     .borderRadius($r('app.float.virtualSize_24'))
     .padding(13)
-    //.border({width:2,color:$r('app.color.20FFFFFF')})
+
     .scale({ x: this.scaleValue, y: this.scaleValue })
     .animation({
       duration: 200,
-      curve: Curve.Linear  // 弹性曲线更生动
+      curve: Curve.Linear
     })
     .onClick(() => {
-      this.scaleValue = 0.9;  // 点击时缩小
+      this.scaleValue = 0.9;
       setTimeout(() => {
-        this.scaleValue = 1; // 0.2秒后恢复
+        this.scaleValue = 1;
         this.onSelect(this.index)
         this.OrderMaterialController.open()
       }, 200);
@@ -106,12 +105,18 @@ struct StaticOrderItem{
 @CustomDialog
 struct OrderMaterialDialog {
   private scrollerForList: Scroller = new Scroller()
+  //工单
   @Prop workOrders:WorkOrderInfo[] = []
+  //入库比例
   @Prop inBoundRation:number = 10
+  //出库比例
   @Prop outBoundRation:number = 79
+  //选择的工单
   @Link selectedOrder: WorkOrderInfo
+  //物料清单
   @State materialData: WorkOrderMaterialInfo[] = [];
 
+  //查询需求物料表
   queryDemandMaterial=async(workOrderCode:string)=>{
     this.materialData = await WmsRequest.post('/api/v1/wms/workOrderMaterial/list', {
       workOrderCode: workOrderCode,

+ 16 - 24
entry/src/main/ets/pages/EmptyBoxStorage.ets

@@ -34,9 +34,6 @@ struct emptyBoxStorage {
             .height($r('app.float.virtualSize_56'))
             .width($r('app.float.virtualSize_56'))
             .fillColor($r('app.color.FFFFFF'))
-            // .onClick(()=> {
-            //   router.back()
-            // })
           Text('空箱入库')
             .fontColor($r('app.color.FFFFFF'))
             .fontSize($r('app.float.fontSize_38'))
@@ -74,15 +71,15 @@ struct emptyBoxStorage {
                     .fontSize($r('app.float.fontSize_48'))
                     .fontColor($r('app.color.FFFFFF'))
                     .position({
-                      x: '38%', // 水平位置
-                      y: '80%', // 垂直位置
+                      x: '38%',
+                      y: '80%',
                     })
                   Text("已生成新编号")
                     .fontSize($r('app.float.fontSize_12'))
                     .fontColor($r('app.color.60FFFFFF'))
                     .position({
-                      x: '45%', // 水平位置
-                      y: '87%', // 垂直位置
+                      x: '45%',
+                      y: '87%',
                     })
                 }
               }
@@ -98,7 +95,7 @@ struct emptyBoxStorage {
                     .fillColor($r('app.color.0A84FF'))
                   Text("生成料箱编号")
                     .fontSize($r('app.float.fontSize_30'))
-                    .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+                    .fontColor($r('app.color.0A84FF'))
                 }
                 .justifyContent(FlexAlign.Center)
               }
@@ -110,14 +107,13 @@ struct emptyBoxStorage {
               .scale({ x: this.generateButtonClick, y: this.generateButtonClick })
               .animation({
                 duration: 200,
-                curve: Curve.Linear  // 弹性曲线更生动
+                curve: Curve.Linear
               })
               .onClick(() => {
-                this.generateButtonClick = 0.9; // 点击时缩小
+                this.generateButtonClick = 0.9;
                 setTimeout(() => {
-                  this.generateButtonClick = 1; // 0.2秒后恢复
+                  this.generateButtonClick = 1;
                 }, 200);
-                // 按钮点击事件处理
               })
             }
             .height('100%')
@@ -138,7 +134,6 @@ struct emptyBoxStorage {
                   .height('40%')
                   .borderRadius($r('app.float.virtualSize_16'))
                   .objectFit(ImageFit.Contain)
-                //.margin({top:'3%'})
                 Button({type:ButtonType.Normal}) {
                   Row() {
                     Image($r('app.media.material_qr_code'))
@@ -148,7 +143,7 @@ struct emptyBoxStorage {
                       .fillColor($r('app.color.0A84FF'))
                     Text("打印编号")
                       .fontSize($r('app.float.fontSize_30'))
-                      .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+                      .fontColor($r('app.color.0A84FF'))
                   }
                   .justifyContent(FlexAlign.Center)
                 }
@@ -160,14 +155,13 @@ struct emptyBoxStorage {
                 .scale({ x: this.printButtonClick, y: this.printButtonClick })
                 .animation({
                   duration: 200,
-                  curve: Curve.Linear  // 弹性曲线更生动
+                  curve: Curve.Linear
                 })
                 .onClick(() => {
-                  this.printButtonClick = 0.9; // 点击时缩小
+                  this.printButtonClick = 0.9;
                   setTimeout(() => {
-                    this.printButtonClick = 1; // 0.2秒后恢复
+                    this.printButtonClick = 1;
                   }, 200);
-                  // 按钮点击事件处理
                 })
                 Divider()
                   .margin({top:'3%'})
@@ -186,7 +180,6 @@ struct emptyBoxStorage {
                   .borderRadius($r('app.float.virtualSize_16'))
                   .objectFit(ImageFit.Contain)
               }
-             // .margin({top:'3%'})
               .height('75%')
               .width('100%')
               .justifyContent(FlexAlign.Start)
@@ -210,7 +203,7 @@ struct emptyBoxStorage {
                     .fillColor($r('app.color.0A84FF'))
                   Text("写入磁卡")
                     .fontSize($r('app.float.fontSize_30'))
-                    .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+                    .fontColor($r('app.color.0A84FF'))
                 }
                 .justifyContent(FlexAlign.Center)
               }
@@ -222,14 +215,13 @@ struct emptyBoxStorage {
               .scale({ x: this.writeButtonClick, y: this.writeButtonClick })
               .animation({
                 duration: 200,
-                curve: Curve.Linear  // 弹性曲线更生动
+                curve: Curve.Linear
               })
               .onClick(() => {
-                this.writeButtonClick = 0.9; // 点击时缩小
+                this.writeButtonClick = 0.9;
                 setTimeout(() => {
-                  this.writeButtonClick = 1; // 0.2秒后恢复
+                  this.writeButtonClick = 1;
                 }, 200);
-                // 按钮点击事件处理
               })
             }
             .justifyContent(FlexAlign.Start)

+ 10 - 4
entry/src/main/ets/pages/IntelligentWarehousingStatics.ets

@@ -12,11 +12,17 @@ import {FrequencyClass,MonthClass} from '../viewmodel/wms/BoundFrequency'
 @Entry
 @Component
 struct IntelligentWarehousingStatics {
+  //工单表
   @State workOrderArray: WorkOrderInfo[] = []
+  //空箱数量
   @State emptyBoxesNum:number = 0
+  //当前总箱数
   @State currentBoxesNum:number = 0
+  //总储位
   @State allStorageBox:number = 300
+  //输入的物料名称
   @State inputMaterialName:string = ''
+  //当前仓储
   @State currentStock:MaterialInfo[] = []
   @State frequency: FrequencyClass = {}
   @State frequencyData: number[] = []
@@ -122,14 +128,14 @@ struct IntelligentWarehousingStatics {
 
                     Column() {
                       Text(`${(Number(this.currentBoxesNum) / Number(this.allStorageBox) * 100).toFixed(0)}%`)
-                        .fontSize($r('app.float.fontSize_70')) // 大号数字
+                        .fontSize($r('app.float.fontSize_70'))
                         .fontColor($r('app.color.FFFFFF'))
-                        //.margin({ bottom: $r('app.float.virtualSize_12') })
+
                     }
                     .alignItems(HorizontalAlign.Center)
                   }
                   .width('70%')
-                  .aspectRatio(1) // 保持圆形比例
+                  .aspectRatio(1)
 
                   Text("仓储占用率")
                     .fontColor($r('app.color.FFFFFF'))
@@ -227,7 +233,7 @@ struct IntelligentWarehousingStatics {
 
             Row() {
               // 左侧二维码图标
-              Image($r('app.media.material_qr_code'))// 请替换为您的二维码图片资源
+              Image($r('app.media.material_qr_code'))
                 .width($r('app.float.virtualSize_32'))
                 .height($r('app.float.virtualSize_32'))
                 .fillColor($r('app.color.FFFFFF'))

+ 0 - 4
entry/src/main/ets/pages/LittleMaterialOutBound.ets

@@ -3,10 +3,6 @@
  * */
 import {
   ProcessFlow,
-  BoxGrid,
-  MaterialListComponent,
-  OrderListComponent,
-  MaterialBoxGrid,
   CommonConfirmDialog,
   RemindDialog
 } from "../component/OrderMaterialsStorageView"

+ 62 - 7
entry/src/main/ets/pages/LittleMaterialsStorage.ets

@@ -351,13 +351,35 @@ struct LittleMaterialsStorage{
             .height('85%')
             .justifyContent(FlexAlign.SpaceEvenly)
             .width('100%')
-            Row({space:15}){
+            Row(){
+              Button({type:ButtonType.Normal}) {
+                Text("第一步")
+                  .fontSize($r('app.float.fontSize_30'))
+                  .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+              }
+              .width('23%')
+              .height('100%')
+              .backgroundColor($r('app.color.10FFFFFF'))
+              .borderRadius($r('app.float.virtualSize_16'))
+              .enabled(false)
+              Row().width('1%')
+              Button({type:ButtonType.Normal}) {
+                Text("上一步")
+                  .fontSize($r('app.float.fontSize_30'))
+                  .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+              }
+              .width('23%')
+              .height('100%')
+              .backgroundColor($r('app.color.10FFFFFF'))
+              .borderRadius($r('app.float.virtualSize_16'))
+              .enabled(false)
+              Row().width('1%')
               Button({type:ButtonType.Normal}) {
                 Text("料箱出库")
                   .fontSize($r('app.float.fontSize_30'))
                   .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
               }
-              .width('22%')
+              .width('23%')
               .height('100%')
               .backgroundColor(this.selectedMaterialBox.vehicleCode ?$r('app.color.20FFFFFF'):$r('app.color.10FFFFFF'))
               .borderRadius($r('app.float.virtualSize_16'))
@@ -413,12 +435,13 @@ struct LittleMaterialsStorage{
                   }
                 });
               })
+              Row().width('1%')
               Button({type:ButtonType.Normal}) {
                 Text("下一步")
                   .fontSize($r('app.float.fontSize_30'))
                   .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
               }
-              .width('22%')
+              .width('23%')
               .height('100%')
               .backgroundColor($r('app.color.20FFFFFF'))
               .borderRadius($r('app.float.virtualSize_16'))
@@ -503,18 +526,28 @@ struct LittleMaterialsStorage{
             .height('85%')
             .justifyContent(FlexAlign.SpaceEvenly)
             .width('100%')
-            Row({space:15}){
+            Row(){
+              Button({type:ButtonType.Normal}) {
+                Text("第一步")
+                  .fontSize($r('app.float.fontSize_30'))
+                  .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+              }
+              .width('23%')
+              .height('100%')
+              .backgroundColor($r('app.color.10FFFFFF'))
+              .borderRadius($r('app.float.virtualSize_16'))
+              .enabled(false)
+              Row().width('1%')
 
               Button({type:ButtonType.Normal}) {
                 Text("上一步")
                   .fontSize($r('app.float.fontSize_30'))
                   .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
               }
-              .width('22%')
+              .width('23%')
               .height('100%')
               .backgroundColor($r('app.color.20FFFFFF'))
               .borderRadius($r('app.float.virtualSize_16'))
-              .margin({left:'22%'})
               .scale({ x: this.preStepButtonClick, y: this.preStepButtonClick })
               .animation({
                 duration: 200,
@@ -528,7 +561,29 @@ struct LittleMaterialsStorage{
                   this.currentStep = 1;
                 }, 200);
               })
-            }.width('100%').height('6%').justifyContent(FlexAlign.Start).margin({bottom:'3%',left:'5%'})
+              Row().width('1%')
+              Button({type:ButtonType.Normal}) {
+                Text("料箱出库")
+                  .fontSize($r('app.float.fontSize_30'))
+                  .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+              }
+              .width('23%')
+              .height('100%')
+              .backgroundColor($r('app.color.10FFFFFF'))
+              .borderRadius($r('app.float.virtualSize_16'))
+              .enabled(false)
+              Row().width('1%')
+              Button({type:ButtonType.Normal}) {
+                Text("下一步")
+                  .fontSize($r('app.float.fontSize_30'))
+                  .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+              }
+              .width('23%')
+              .height('100%')
+              .backgroundColor($r('app.color.10FFFFFF'))
+              .borderRadius($r('app.float.virtualSize_16'))
+              .enabled(false)
+            }.width('100%').height('6%').justifyContent(FlexAlign.End).margin({bottom:'3%',right:'5%'})
           }.height('83.6%').margin({top:'3%'}).width('100%')
           .justifyContent(FlexAlign.SpaceAround)
           .width('100%')

+ 0 - 3
entry/src/main/ets/pages/OrderMaterialsStorage.ets

@@ -34,9 +34,6 @@ struct orderMaterialsStorage {
             .height($r('app.float.virtualSize_56'))
             .width($r('app.float.virtualSize_56'))
             .fillColor($r('app.color.FFFFFF'))
-            // .onClick(()=> {
-            //   router.back()
-            // })
           Text('订单物料入库')
             .fontColor($r('app.color.FFFFFF'))
             .fontSize($r('app.float.fontSize_38'))

+ 14 - 13
entry/src/main/ets/pages/RgvControl.ets

@@ -334,7 +334,7 @@ struct RgvControl {
     cancel: () => console.log('弹窗关闭'),
     autoCancel: true, // 点击遮罩关闭
     customStyle: true,
-    maskColor: 'rgba(0,0,0,0.8)',  // 黑色遮罩
+    maskColor: 'rgba(0,0,0,0.8)',
   })
 
   settingPositionDialog: CustomDialogController = new CustomDialogController({
@@ -348,9 +348,10 @@ struct RgvControl {
     cancel: () => console.log('弹窗关闭'),
     autoCancel: true, // 点击遮罩关闭
     customStyle: true,
-    maskColor: 'rgba(0,0,0,0.8)',  // 黑色遮罩
+    maskColor: 'rgba(0,0,0,0.8)',
   })
 
+  //加载机器人选择框
   loadRgvSelection=()=>{
     if (this.robotsList && this.robotsList.length > 0) {
       for (const robot of this.robotsList ) {
@@ -360,6 +361,7 @@ struct RgvControl {
     }
   }
 
+  //加载机器人信息
   loadRgvInfo = async () => {
     let res: RgvInfo = await RobotErrorHandleRequest.get('/api/v1/wcs/rgv/' + this.robotsList[this.selectRobotIndex].robotCode, {}) as RgvInfo
     this.rgvPosition = `X=${res.x},Y=${res.y}`
@@ -371,6 +373,7 @@ struct RgvControl {
     this.rgvCurrentStatus = `${this.rgvStatus[status] || '故障'}`;
     console.info(TAG,this.robotsList[this.selectRobotIndex].robotCode+ this.rgvPosition)
   }
+
   aboutToAppear(): void {
     this.loadRgvSelection();
     this.rgvInfoInterval = setInterval(() => {
@@ -425,12 +428,12 @@ struct RgvControl {
           .scale({ x: this.cleanTaskClick, y: this.cleanTaskClick })
           .animation({
             duration: 200,
-            curve: Curve.Linear  // 弹性曲线更生动
+            curve: Curve.Linear
           })
           .onClick(() => {
-            this.cleanTaskClick = 0.9;  // 点击时缩小
+            this.cleanTaskClick = 0.9;
             setTimeout(() => {
-              this.cleanTaskClick = 1; // 0.2秒后恢复
+              this.cleanTaskClick = 1;
             }, 200);
             this.showConfirmDialog({
               title: '清除任务',
@@ -450,7 +453,7 @@ struct RgvControl {
                 .fillColor($r('app.color.0A84FF'))
               Text("清除错误")
                 .fontSize($r('app.float.fontSize_30'))
-                .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+                .fontColor($r('app.color.0A84FF'))
             }.justifyContent(FlexAlign.Center)
           }
           .width('10%')
@@ -460,12 +463,12 @@ struct RgvControl {
           .scale({ x: this.cleanErrorClick, y: this.cleanErrorClick })
           .animation({
             duration: 200,
-            curve: Curve.Linear  // 弹性曲线更生动
+            curve: Curve.Linear
           })
           .onClick(() => {
-            this.cleanErrorClick = 0.9;  // 点击时缩小
+            this.cleanErrorClick = 0.9;
             setTimeout(() => {
-              this.cleanErrorClick = 1; // 0.2秒后恢复
+              this.cleanErrorClick = 1;
             }, 200);
             this.showConfirmDialog({
               title: '清除错误',
@@ -536,14 +539,13 @@ struct RgvControl {
                 label:"额定负载:",
                 value:"20kg",
               })
-            }.justifyContent(FlexAlign.Start).margin({left:'10%'})//.margin({top:'5%',left:'5%'})
+            }.justifyContent(FlexAlign.Start).margin({left:'10%'})
             Column(){
               Text("切换仓储机器人")
                 .fontColor($r('app.color.FFFFFF'))
                 .fontSize($r('app.float.fontSize_16'))
                 .width('80%')
                 .textAlign(TextAlign.Start)
-              // RobotSelector({robotsList:this.robotArray}).width('80%').height('95%').margin({top:'1%'})
               Select(this.robotArray)
                 .selected(0)
                 .value(String(this.robotArray[0].value))
@@ -556,14 +558,13 @@ struct RgvControl {
                 .onSelect((index: number) => {
                   this.selectRobotIndex = index
                 })
-            }.height('30%')//.margin({top:'10%'})
+            }.height('30%')
           }.width('22%').justifyContent(FlexAlign.SpaceAround).height('100%')
           Divider()
             .vertical(true)
             .strokeWidth(1)
             .color($r('app.color.15FFFFFF'))
             .margin({top:'10%'})
-          //.margin({top:'2%'})
           Column(){
             Column(){
               Column(){

+ 4 - 14
entry/src/main/ets/view/wms/CallMaterialNotification.ets

@@ -65,14 +65,13 @@ struct MaterialNotificationItem{
     .scale({ x: this.scaleValue, y: this.scaleValue })
     .animation({
       duration: 200,
-      curve: Curve.Linear  // 弹性曲线更生动
+      curve: Curve.Linear
     })
-    //.border({width:2,color:this.scaleValue===0.9 ? $r('app.color.2030D158'):$r('app.color.20FFFFFF')})
     .onClick(() => {
-      this.scaleValue = 0.9;  // 点击时缩小
+      this.scaleValue = 0.9;
       setTimeout(() => {
         this.searchRequestMaterial()
-        this.scaleValue = 1; // 0.2秒后恢复
+        this.scaleValue = 1;
         const changed = this.workOrders[this.index].workOrderState !== "已完成";
         this.workOrders[this.index].workOrderState = "已完成";
         // 只有状态确实变化时才重新排序
@@ -93,8 +92,6 @@ export struct MaterialNotificationDialog {
   @Link selectWorkOrder:WorkOrderInfo
   @Link workOrders: WorkOrderInfo[]
   @State notificationList :NotificationInfo[]=[]
-  //@Link selectWorkOrder: WorkOrderInfo
-  // 选中回调函数
   controller: CustomDialogController
   searchRequestMaterial: () => void = () => {}
 
@@ -121,7 +118,7 @@ export struct MaterialNotificationDialog {
       }.height('6%')
       .justifyContent(FlexAlign.Center)
 
-      Column() { // 订单列表
+      Column() {
         List({ space: 8,scroller:this.scrollerForList }) {
           ForEach(this.workOrders, (item: WorkOrderInfo, index) => {
             ListItem() {
@@ -186,14 +183,7 @@ export struct MaterialRequestDialog {
     {materialName: 'PCBA电路板-SADD1231241142324233231233234', materialType: '12322221232321222332211233', inBoundNum: 11, planNum: 20 },
   ];
 
-
-  //@Link selectWorkOrder: WorkOrderInfo
   @State selectedIndex: number = -1  // 添加选中索引状态
-  // 选中回调函数
-  private onSelect(index: number): void {
-    this.selectedIndex = index
-    //this.selectWorkOrder = this.workOrders[index]
-  }
   controller: CustomDialogController
   onConfirm: () => void = () => {}
 

+ 59 - 23
entry/src/main/ets/view/wms/OrderMaterialStorageFirstStep.ets

@@ -63,30 +63,66 @@ export struct OrderMaterialStorageFirstStep {
       .height('85%')
       .justifyContent(FlexAlign.SpaceEvenly)
       .width('100%')
-
-      Button({type:ButtonType.Normal}) {
-        Text("下一步")
-          .fontSize($r('app.float.fontSize_30'))
-          .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
-      }
-      .width('22%')
+      Row(){
+        Button({type:ButtonType.Normal}) {
+          Text("第一步")
+            .fontSize($r('app.float.fontSize_30'))
+            .fontColor($r('app.color.0A84FF'))
+        }
+        .width('23%')
+        .height('100%')
+        .backgroundColor($r('app.color.10FFFFFF'))
+        .borderRadius($r('app.float.virtualSize_16'))
+        .enabled(false)
+        Row().width('1%')
+        Button({type:ButtonType.Normal}) {
+          Text("上一步")
+            .fontSize($r('app.float.fontSize_30'))
+            .fontColor($r('app.color.0A84FF'))
+        }
+        .width('23%')
+        .height('100%')
+        .backgroundColor($r('app.color.10FFFFFF'))
+        .borderRadius($r('app.float.virtualSize_16'))
+        .enabled(false)
+        Row().width('1%')
+        Button({type:ButtonType.Normal}) {
+          Text("料箱出库")
+            .fontSize($r('app.float.fontSize_30'))
+            .fontColor($r('app.color.0A84FF'))
+        }
+        .width('23%')
+        .height('100%')
+        .backgroundColor($r('app.color.10FFFFFF'))
+        .borderRadius($r('app.float.virtualSize_16'))
+        .enabled(false)
+        Row().width('1%')
+        Button({type:ButtonType.Normal}) {
+          Text("下一步")
+            .fontSize($r('app.float.fontSize_30'))
+            .fontColor($r('app.color.0A84FF'))
+        }
+        .width('23%')
+        .height('100%')
+        .backgroundColor(this.selectWorkOrder.orderCode ?$r('app.color.20FFFFFF'):$r('app.color.10FFFFFF'))
+        .borderRadius($r('app.float.virtualSize_16'))
+        .enabled(!!this.selectWorkOrder.orderCode ) // 只有选中订单时才启用按钮
+        .scale({ x: this.nextStepButtonClick, y: this.nextStepButtonClick })
+        .animation({
+          duration: 200,
+          curve: Curve.Linear
+        })
+        .onClick(() => {
+          this.nextStepButtonClick = 0.9;
+          setTimeout(() => {
+            this.nextStepButtonClick = 1;
+            this.currentStep = 2;
+          }, 200);
+        })
+      } .width('100%')
       .height('6%')
-      .margin({bottom:'3%',left:'73%'})
-      .backgroundColor(this.selectWorkOrder.orderCode ?$r('app.color.20FFFFFF'):$r('app.color.10FFFFFF'))
-      .borderRadius($r('app.float.virtualSize_16'))
-      .enabled(!!this.selectWorkOrder.orderCode ) // 只有选中订单时才启用按钮
-      .scale({ x: this.nextStepButtonClick, y: this.nextStepButtonClick })
-      .animation({
-        duration: 200,
-        curve: Curve.Linear  // 弹性曲线更生动
-      })
-      .onClick(() => {
-        this.nextStepButtonClick = 0.9;
-        setTimeout(() => {
-          this.nextStepButtonClick = 1;
-          this.currentStep = 2;
-        }, 200);
-      })
+      .justifyContent(FlexAlign.End)
+      .margin({bottom:'3%',right:'5%'})
     }.height('83.6%').margin({top:'3%'}).width('100%')
     .justifyContent(FlexAlign.SpaceAround)
     .width('100%')

+ 27 - 16
entry/src/main/ets/view/wms/OrderMaterialStorageSecondStep.ets

@@ -133,9 +133,9 @@ export struct OrderMaterialStorageSecondStep {
       if (res.status != '0' || res.x != res.rx || res.y != res.ry) {
         return false;
       }
-      return true; // 如果条件不满足,返回 true
+      return true;
     }
-    return false; // 如果 res 为 null 或 undefined,返回 false
+    return false;
   }
 
   aboutToAppear(): void {
@@ -156,7 +156,7 @@ export struct OrderMaterialStorageSecondStep {
               .margin({top:'4%'})
             Row() {
               // 左侧二维码图标
-              Image($r('app.media.material_qr_code')) // 请替换为您的二维码图片资源
+              Image($r('app.media.material_qr_code'))
                 .width($r('app.float.virtualSize_32'))
                 .height($r('app.float.virtualSize_32'))
                 .fillColor($r('app.color.FFFFFF'))
@@ -265,21 +265,31 @@ export struct OrderMaterialStorageSecondStep {
       .height('85%')
       .justifyContent(FlexAlign.SpaceEvenly)
       .width('100%')
-      Row({space:15}){
+      Row(){
+        Button({type:ButtonType.Normal}) {
+          Text("第一步")
+            .fontSize($r('app.float.fontSize_30'))
+            .fontColor($r('app.color.0A84FF'))
+        }
+        .width('23%')
+        .height('100%')
+        .backgroundColor($r('app.color.10FFFFFF'))
+        .borderRadius($r('app.float.virtualSize_16'))
+        .enabled(false)
+        Row().width('1%')
         Button({type:ButtonType.Normal}) {
           Text("上一步")
             .fontSize($r('app.float.fontSize_30'))
-            .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+            .fontColor($r('app.color.0A84FF'))
         }
-        .width('22%')
+        .width('23%')
         .height('100%')
         .backgroundColor($r('app.color.20FFFFFF'))
         .borderRadius($r('app.float.virtualSize_16'))
-        // .enabled(!!this.selectedOrderNo) // 只有选中订单时才启用按钮
         .scale({ x: this.preStepButtonClick, y: this.preStepButtonClick })
         .animation({
           duration: 200,
-          curve: Curve.Linear  // 弹性曲线更生动
+          curve: Curve.Linear
         })
         .onClick(() => {
           this.preStepButtonClick = 0.9;
@@ -288,21 +298,22 @@ export struct OrderMaterialStorageSecondStep {
             this.currentStep = 1;
           }, 200);
         })
+        Row().width('1%')
         Button({type:ButtonType.Normal}) {
           Text("料箱出库")
             .fontSize($r('app.float.fontSize_30'))
-            .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+            .fontColor($r('app.color.0A84FF'))
         }
-        .width('22%')
+        .width('23%')
         .height('100%')
         .backgroundColor($r('app.color.20FFFFFF'))
         .borderRadius($r('app.float.virtualSize_16'))
         .backgroundColor(this.selectedMaterialBox.vehicleCode ?$r('app.color.20FFFFFF'):$r('app.color.10FFFFFF'))
-        .enabled(!!this.selectedMaterialBox.vehicleCode) // 只有选中订单时才启用按钮
+        .enabled(!!this.selectedMaterialBox.vehicleCode)
         .scale({ x: this.outBoundButtonClick, y: this.outBoundButtonClick })
         .animation({
           duration: 200,
-          curve: Curve.Linear  // 弹性曲线更生动
+          curve: Curve.Linear
         })
         .onClick(async() => {
           this.outBoundButtonClick = 0.9;
@@ -350,20 +361,20 @@ export struct OrderMaterialStorageSecondStep {
             }
           });
         })
+        Row().width('1%')
         Button({type:ButtonType.Normal}) {
           Text("下一步")
             .fontSize($r('app.float.fontSize_30'))
-            .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+            .fontColor($r('app.color.0A84FF'))
         }
-        .width('22%')
+        .width('23%')
         .height('100%')
         .backgroundColor($r('app.color.20FFFFFF'))
         .borderRadius($r('app.float.virtualSize_16'))
-        // .enabled(!!this.selectedOrderNo) // 只有选中订单时才启用按钮
         .scale({ x: this.nextStepButtonClick, y: this.nextStepButtonClick })
         .animation({
           duration: 200,
-          curve: Curve.Linear  // 弹性曲线更生动
+          curve: Curve.Linear
         })
         .onClick(() => {
           this.nextStepButtonClick = 0.9;

+ 33 - 19
entry/src/main/ets/view/wms/OrderMaterialStorageThirdStep.ets

@@ -16,14 +16,7 @@ export struct OrderMaterialStorageThirdStep {
   @State materialNum:number= 0
   //当前步骤
   @Link currentStep: number
-  @State orders:OrderParams[]= [
-  // { orderName: '订单名称XXXXX', orderNo: '123123213', date: '2025/11/11', progress: '50%' },
-  // { orderName: '订单名称XXXX', orderNo: '123123213', date: '2025/11/11', progress: '75%' },
-  // { orderName: '特殊订单', orderNo: 'SH2024001', date: '2024/03/01', progress: '100%' },
-  // { orderName: '订单名称XXXXX', orderNo: '123123213', date: '2025/11/11', progress: '50%' },
-  // { orderName: '订单名称XXXX', orderNo: '123123213', date: '2025/11/11', progress: '75%' },
-  // { orderName: '特殊订单', orderNo: 'SH2024001', date: '2024/03/01', progress: '100%' }
-  ]
+  @State orders:OrderParams[]= []
   @State scanCodeValue :string = ''
   @State firstStepButtonClick:number = 1
   @State preStepButtonClick:number = 1
@@ -100,7 +93,7 @@ export struct OrderMaterialStorageThirdStep {
             }.height('100%').width('65%').alignItems(HorizontalAlign.Start).justifyContent(FlexAlign.Center)
             Row() {
               // 左侧二维码图标
-              Image($r('app.media.material_qr_code')) // 请替换为您的二维码图片资源
+              Image($r('app.media.material_qr_code'))
                 .width($r('app.float.virtualSize_32'))
                 .height($r('app.float.virtualSize_32'))
                 .fillColor($r('app.color.FFFFFF'))
@@ -150,21 +143,20 @@ export struct OrderMaterialStorageThirdStep {
       .height('85%')
       .justifyContent(FlexAlign.SpaceEvenly)
       .width('100%')
-      Row({space:15}){
+      Row(){
         Button({type:ButtonType.Normal}) {
           Text("第一步")
             .fontSize($r('app.float.fontSize_30'))
-            .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+            .fontColor($r('app.color.0A84FF'))
         }
-        .width('22%')
+        .width('23%')
         .height('100%')
         .backgroundColor($r('app.color.20FFFFFF'))
         .borderRadius($r('app.float.virtualSize_16'))
-        // .enabled(!!this.selectedOrderNo) // 只有选中订单时才启用按钮
         .scale({ x: this.firstStepButtonClick, y: this.firstStepButtonClick })
         .animation({
           duration: 200,
-          curve: Curve.Linear  // 弹性曲线更生动
+          curve: Curve.Linear
         })
         .onClick(() => {
           this.firstStepButtonClick = 0.9;
@@ -173,20 +165,20 @@ export struct OrderMaterialStorageThirdStep {
             this.currentStep = 1;
           }, 200);
         })
+        Row().width('1%')
         Button({type:ButtonType.Normal}) {
           Text("上一步")
             .fontSize($r('app.float.fontSize_30'))
-            .fontColor($r('app.color.0A84FF')) // 图片中的蓝色
+            .fontColor($r('app.color.0A84FF'))
         }
-        .width('22%')
+        .width('23%')
         .height('100%')
         .backgroundColor($r('app.color.20FFFFFF'))
         .borderRadius($r('app.float.virtualSize_16'))
-        // .enabled(!!this.selectedOrderNo) // 只有选中订单时才启用按钮
         .scale({ x: this.preStepButtonClick, y: this.preStepButtonClick })
         .animation({
           duration: 200,
-          curve: Curve.Linear  // 弹性曲线更生动
+          curve: Curve.Linear
         })
         .onClick(() => {
           this.preStepButtonClick = 0.9;
@@ -195,7 +187,29 @@ export struct OrderMaterialStorageThirdStep {
             this.currentStep = 2;
           }, 200);
         })
-      }.width('100%').height('6%').justifyContent(FlexAlign.Start).margin({bottom:'3%',left:'5%'})
+        Row().width('1%')
+        Button({type:ButtonType.Normal}) {
+          Text("料箱出库")
+            .fontSize($r('app.float.fontSize_30'))
+            .fontColor($r('app.color.0A84FF'))
+        }
+        .width('23%')
+        .height('100%')
+        .backgroundColor($r('app.color.10FFFFFF'))
+        .borderRadius($r('app.float.virtualSize_16'))
+        .enabled(false)
+        Row().width('1%')
+        Button({type:ButtonType.Normal}) {
+          Text("下一步")
+            .fontSize($r('app.float.fontSize_30'))
+            .fontColor($r('app.color.0A84FF'))
+        }
+        .width('23%')
+        .height('100%')
+        .backgroundColor($r('app.color.10FFFFFF'))
+        .borderRadius($r('app.float.virtualSize_16'))
+        .enabled(false)
+      }.width('100%').height('6%').justifyContent(FlexAlign.End).margin({bottom:'3%',right:'5%'})
     }.height('83.6%').margin({top:'3%'}).width('100%')
     .justifyContent(FlexAlign.SpaceAround)
     .width('100%')