Selaa lähdekoodia

添加抽屉弹窗

hh 1 päivä sitten
vanhempi
commit
e934665475

+ 16 - 0
entry/src/main/ets/pages/ProcessIndex.ets

@@ -19,11 +19,13 @@ import { WorkOrderPage } from '../viewmodel/WorkOrderPage';
 import { UserInfo } from '../viewmodel/UserInfo';
 import { CompleteReceiveDialog } from '../view/CompleteReceiveDialog';
 import { WorkInstructionsDialog } from '../view/WorkInstructionsDialog';
+
 import { ReportWorkNumDialog } from '../view/ReportWorkNumDialog';
 import { ProcessReportingDialog } from '../view/ProcessReportingDialog';
 import { JoinPersonNameDialog } from '../view/JoinPersonNameDialog';
 import ReportInfo from '../viewmodel/ReportInfo';
 import { BindTaskSeqVO } from '../viewmodel/BindTaskSeqVO';
+import { AuxiliaryOperationDialog } from '../view/AuxiliaryOperationDialog';
 
 @Entry
 @Component
@@ -268,6 +270,17 @@ struct ProcessIndex {
     maskColor: 'rgba(0,0,0,0.8)',  // 黑色遮罩
   })
 
+  // 辅助功能弹窗控制器
+  auxiliaryOperationController: CustomDialogController = new CustomDialogController({
+    builder: AuxiliaryOperationDialog({
+
+    }),
+    autoCancel: true, // 点击遮罩关闭
+    customStyle: true,
+    alignment:DialogAlignment.Bottom,
+    maskColor: 'rgba(0,0,0,0.8)',  // 黑色遮罩
+  })
+
 
   handleAllClick():void {
     if (!this.selectWorkOder.workOrderCode || !this.currentUserName || !this.currentStationId) {
@@ -778,6 +791,9 @@ struct ProcessIndex {
           })
 
           Blank()
+            .onClick(()=>{
+              this.auxiliaryOperationController.open()
+            })
           Column({space: 2}) {
             Row() {
               Text((this.selectWorkOder && this.selectWorkOder.workOrderCode) ? parseInt(this.selectWorkOder.completeNum!) + '/' + parseInt(this.selectWorkOder.planNum) : '')

+ 202 - 0
entry/src/main/ets/view/AuxiliaryOperationDialog.ets

@@ -0,0 +1,202 @@
+@CustomDialog
+export struct AuxiliaryOperationDialog {
+
+  controller: CustomDialogController
+
+  build() {
+    Stack() {
+      Image($r('app.media.process_drawer'))
+        .width('100%')
+        .height('100%')
+
+      Column() {
+        Row() {
+          Image($r('app.media.process_drawer_switch'))
+            .width($r('app.float.virtualSize_48'))
+            .height($r('app.float.virtualSize_48'))
+            .fillColor($r('app.color.60FFFFFF'))
+          Circle()
+            .width($r('app.float.virtualSize_12'))
+            .height($r('app.float.virtualSize_12'))
+            .fill($r('app.color.FF453A'))
+        }
+        .height('5%')
+
+        Blank().height('5.6%')
+        Row() {
+          Column() {
+            Column({space: 3}) {
+              Text('常用功能')
+                .fontColor($r('app.color.FFFFFF'))
+                .fontSize($r('app.float.fontSize_24'))
+                .fontWeight(FontWeight.Medium)
+              Text('智能仓储和生产相关功能')
+                .fontColor($r('app.color.60FFFFFF'))
+                .fontSize($r('app.float.fontSize_16'))
+                .fontWeight(FontWeight.Regular)
+            }
+            .height('13.5%')
+            .width('100%')
+            .alignItems(HorizontalAlign.Start)
+
+            Row() {
+              Stack() {
+                Image($r("app.media.process_sporadic_call_material"))
+                  .width('100%')
+                  .height('100%')
+                  .borderRadius($r('app.float.virtualSize_16'))
+                Column({space: 2}) {
+                  Text('零星叫料')
+                    .fontColor($r('app.color.FFFFFF'))
+                    .fontSize($r('app.float.fontSize_30'))
+                    .fontWeight(FontWeight.Medium)
+                  Text('向仓储工位发送物料需求')
+                    .fontColor($r('app.color.60FFFFFF'))
+                    .fontSize($r('app.float.fontSize_12'))
+                    .fontWeight(FontWeight.Regular)
+                }
+                .height('61.3%')
+                .justifyContent(FlexAlign.End)
+              }
+              .height('100%')
+              .width('19.3%')
+              .alignContent(Alignment.Top)
+
+              Stack() {
+                Image($r("app.media.process_storage_operation"))
+                  .width('100%')
+                  .height('100%')
+                  .borderRadius($r('app.float.virtualSize_16'))
+                Column({space: 2}) {
+                  Text('仓储操作')
+                    .fontColor($r('app.color.FFFFFF'))
+                    .fontSize($r('app.float.fontSize_30'))
+                    .fontWeight(FontWeight.Medium)
+                  Text('料箱抽屉操作')
+                    .fontColor($r('app.color.60FFFFFF'))
+                    .fontSize($r('app.float.fontSize_12'))
+                    .fontWeight(FontWeight.Regular)
+                }
+                .height('61.3%')
+                .justifyContent(FlexAlign.End)
+              }
+              .height('100%')
+              .width('19.3%')
+              .alignContent(Alignment.Top)
+
+              Stack() {
+                Image($r("app.media.process_barcode_linkage"))
+                  .width('100%')
+                  .height('100%')
+                  .borderRadius($r('app.float.virtualSize_16'))
+                Column() {
+                  Column({space: 2}) {
+                    Text('条码关联')
+                      .fontColor($r('app.color.FFFFFF'))
+                      .fontSize($r('app.float.fontSize_30'))
+                      .fontWeight(FontWeight.Medium)
+                    Text('当前工单的流水号/序列号/铭牌绑定')
+                      .fontColor($r('app.color.60FFFFFF'))
+                      .fontSize($r('app.float.fontSize_12'))
+                      .fontWeight(FontWeight.Regular)
+                      .textOverflow({ overflow: TextOverflow.MARQUEE })
+                      .maxLines(1)
+                  }
+                  .height('61.3%')
+                  .justifyContent(FlexAlign.End)
+                  Column() {
+                    Text('200/100/20')
+                      .fontColor($r('app.color.FFFFFF'))
+                      .fontSize($r('app.float.fontSize_30'))
+                      .fontWeight(FontWeight.Medium)
+                  }
+                  .height('34.5%')
+                  .justifyContent(FlexAlign.Center)
+                }
+                .width('100%')
+                .height('100%')
+              }
+              .height('100%')
+              .width('19.3%')
+              .alignContent(Alignment.Top)
+
+              Stack() {
+                Image($r("app.media.process_barcode_linkage"))
+                  .width('100%')
+                  .height('100%')
+                  .borderRadius($r('app.float.virtualSize_16'))
+                Column() {
+                  Column({space: 2}) {
+                    Text('图纸资料')
+                      .fontColor($r('app.color.FFFFFF'))
+                      .fontSize($r('app.float.fontSize_30'))
+                      .fontWeight(FontWeight.Medium)
+                    Text('查看产品图纸资料')
+                      .fontColor($r('app.color.60FFFFFF'))
+                      .fontSize($r('app.float.fontSize_12'))
+                      .fontWeight(FontWeight.Regular)
+                      .textOverflow({ overflow: TextOverflow.MARQUEE })
+                      .maxLines(1)
+                  }
+                  .height('61.3%')
+                  .justifyContent(FlexAlign.End)
+                  Column() {
+                    Text('99+git stash')
+                      .fontColor($r('app.color.FFFFFF'))
+                      .fontSize($r('app.float.fontSize_30'))
+                      .fontWeight(FontWeight.Medium)
+                  }
+                  .height('34.5%')
+                  .justifyContent(FlexAlign.Center)
+                }
+                .width('100%')
+                .height('100%')
+              }
+              .height('100%')
+              .width('19.3%')
+              .alignContent(Alignment.Top)
+
+              Stack() {
+                Image($r("app.media.process_sporadic_call_material"))
+                  .width('100%')
+                  .height('100%')
+                  .borderRadius($r('app.float.virtualSize_16'))
+                Column({space: 2}) {
+                  Text('零星叫料')
+                    .fontColor($r('app.color.FFFFFF'))
+                    .fontSize($r('app.float.fontSize_30'))
+                    .fontWeight(FontWeight.Medium)
+                  Text('向仓储工位发送物料需求')
+                    .fontColor($r('app.color.60FFFFFF'))
+                    .fontSize($r('app.float.fontSize_12'))
+                    .fontWeight(FontWeight.Regular)
+                }
+              }
+              .height('100%')
+              .width('19.3%')
+              .alignContent(Alignment.Top)
+            }
+            .height('33.6%')
+            .width('100%')
+          }
+          .height('100%')
+          .width('63.5%')
+        }
+        .width('100%')
+        .height('83.8%')
+        .justifyContent(FlexAlign.Center)
+      }
+      .width('100%')
+      .height('100%')
+
+    }
+    .width('100%')
+    .height('93.5%')
+    .transition(
+      TransitionEffect.OPACITY
+        .animation({ duration: 1000, curve: Curve.EaseOut }) // 300ms缓出动画
+        .combine(TransitionEffect.translate({ y: 300 })) // 初始位置在屏幕下方
+    )
+  }
+
+}

BIN
entry/src/main/resources/base/media/process_barcode_linkage.png


BIN
entry/src/main/resources/base/media/process_drawer.png


BIN
entry/src/main/resources/base/media/process_sporadic_call_material.png


BIN
entry/src/main/resources/base/media/process_storage_operation.png