Просмотр исходного кода

选择工单弹窗请求修改

cjb 2 недель назад
Родитель
Сommit
6e965c8335

+ 6 - 54
entry/src/main/ets/view/SelectOrderDialog.ets

@@ -16,56 +16,13 @@ export struct SelectOrderDialog {
   onConfirm: () => void = () => {
   }
 
-  //加载查询的工单
-  loadQueryOrders = async(orderNo:string)=>{
-    let queryRes = await ProcessRequest.post('/api/v1/plan/workOrder/page', {
-      workOrderCode:orderNo
-    } as RequestParamModel) as WorkOrderPage;
-    this.workOrderList = queryRes?.records??[]
-  }
-
   //加载所有工单
   loadWorkOrders = async () => {
-    // 获取未完成工单
-    let unfinishedRes = await ProcessRequest.post('/api/v1/plan/workOrder/taskPage', {
-      queryComplete: 0
-    } as RequestParamModel) as WorkOrderPage;
-
-    // 获取已完成工单
-    let finishedRes = await ProcessRequest.post('/api/v1/plan/workOrder/taskPage', {
-      queryComplete: 1
+    let queryRes = await ProcessRequest.post('/api/v1/plan/workOrder/taskPage', {
+      queryCode:this.scanOrderValue
     } as RequestParamModel) as WorkOrderPage;
-
-    let combinedList: WorkOrderInfo[] = [];
-
-    // 添加未完成工单
-    if (unfinishedRes?.records) {
-      for (let item of unfinishedRes.records) {
-        combinedList.push({
-          orderName: item.orderName,
-          materialCode: item.materialCode,
-          orderCode: item.orderCode,
-          workOrderCode: item.workOrderCode,
-          completeNum: item.completeNum,
-          planNum: item.planNum,
-          isCompleted: false  // 新增完成状态
-        });
-      }
-    }
-    if (finishedRes?.records) {
-      for (let item of finishedRes.records) {
-        combinedList.push({
-          orderName: item.orderName,
-          materialCode: item.materialCode,
-          orderCode: item.orderCode,
-          workOrderCode: item.workOrderCode,
-          completeNum: item.completeNum,
-          planNum: item.planNum,
-          isCompleted: true  // 新增完成状态
-        });
-      }
-    }
-    this.workOrderList = combinedList;
+    this.workOrderList = queryRes?.records??[]
+    console.info("sssss"+JSON.stringify(queryRes))
   };
 
   private onSelectOrder(index: number) {
@@ -106,12 +63,7 @@ export struct SelectOrderDialog {
           })
           .onChange((value: string) => {
             this.scanOrderValue = value;
-            if(this.scanOrderValue === '')
-            {
-              this.loadWorkOrders()
-              return
-            }
-            this.loadQueryOrders(this.scanOrderValue )
+            this.loadWorkOrders()
           })
       }
       .height('6%')
@@ -170,7 +122,7 @@ export struct SelectOrderDialog {
                 .width('70%')
                 .padding(8)
                 Stack(){
-                  if (order.isCompleted) {
+                  if (order.workOrderState ==="6") {
                     Image($r('app.media.order_complete'))
                       .width($r('app.float.virtualSize_112'))
                       .height($r('app.float.virtualSize_80'))

+ 263 - 0
entry/src/main/ets/view/SwitchingProductDialog.ets

@@ -0,0 +1,263 @@
+import ProcessRequest from '../common/util/request/ProcessRequest'
+import RequestParamModel from '../viewmodel/RequestParamModel'
+import WorkOrderInfo from '../viewmodel/WorkOrderInfo'
+import { WorkOrderPage } from '../viewmodel/WorkOrderPage'
+
+@CustomDialog
+export struct SwitchingProductDialog{
+  private scrollerMaterial: Scroller = new Scroller()
+  //工单列表
+  @State workOrderList: WorkOrderInfo[] = []
+  //选择的工单索引
+  @State selectedOrderIndex: number = -1
+  //扫描的工单号
+  @State scanOrderValue:string = ''
+  controller: CustomDialogController
+  onConfirm: () => void = () => {
+  }
+
+
+  private onSelectOrder(index: number) {
+    this.selectedOrderIndex = index
+  }
+
+  aboutToAppear(): void {
+  }
+
+  build() {
+    Column() {
+      Column() {
+        Text("切换产品")
+          .fontColor($r('app.color.FFFFFF'))
+          .fontSize($r('app.float.fontSize_38'))
+      }
+      .height('8%')
+      .width('100%')
+      .justifyContent(FlexAlign.Center)
+
+     Row(){
+       Column(){
+         Row(){
+           Column({space:3}){
+             Text("卫星通导模块")
+               .fontSize($r('app.float.fontSize_24'))
+               .fontColor($r('app.color.FFFFFF'))
+             Text("ASF-ASFA-ASD-FAS")
+               .fontSize($r('app.float.fontSize_12'))
+               .fontColor($r('app.color.FFFFFF'))
+               .fontWeight(FontWeight.Lighter)
+             Row(){
+               Text("工单")
+                 .fontSize($r('app.float.fontSize_16'))
+                 .fontColor($r('app.color.FFFFFF'))
+                 .fontWeight(FontWeight.Lighter)
+               Text("123456789123456789")
+                 .fontSize($r('app.float.fontSize_16'))
+                 .fontColor($r('app.color.FFFFFF'))
+             }
+           }
+           .height('100%')
+           .width('70%')
+           .justifyContent(FlexAlign.End)
+           .alignItems(HorizontalAlign.Start)
+           Column(){
+             Row(){
+               Text('10/')
+                 .fontSize($r('app.float.fontSize_38'))
+                 .fontColor($r('app.color.FFFFFF'))
+               Text('100')
+                 .fontSize($r('app.float.fontSize_38'))
+                 .fontColor($r('app.color.60FFFFFF'))
+               Text('片')
+                 .fontSize($r('app.float.fontSize_16'))
+                 .fontColor($r('app.color.60FFFFFF'))
+                 .fontWeight(FontWeight.Lighter)
+             }
+             Text('当前工序已报工/计划')
+               .fontSize($r('app.float.fontSize_12'))
+               .fontColor($r('app.color.FFFFFF'))
+               .fontWeight(FontWeight.Lighter)
+
+           }
+           .height('100%')
+           .width('30%')
+           .justifyContent(FlexAlign.End)
+           .alignItems(HorizontalAlign.End)
+         }
+         .height('10%')
+         .width('100%')
+         Row(){
+           CallOrderRadioButton()
+         }
+         .height('10%')
+         .width('80%')
+         .margin({right:'20%'})
+         .justifyContent(FlexAlign.Start)
+         Column(){
+
+         }
+         .height('80%')
+         .width('100%')
+
+       }
+       .height('100%')
+       .width('46%')
+       Divider()
+         .vertical(true)
+         .strokeWidth(1)
+         .color($r('app.color.15FFFFFF'))
+         .margin({ bottom: '2%'})
+       Column(){
+
+       }
+       .width('46%')
+       .height('100%')
+     }
+      .justifyContent(FlexAlign.SpaceEvenly)
+      .width('100%')
+      .height('81%')
+      .margin({ top: '2%'})
+
+      Column() {
+        Divider()
+          .vertical(false)
+          .strokeWidth(1)
+          .color($r('app.color.15FFFFFF'))
+        Row() {
+          Row() {
+            Text('取消')
+              .fontColor($r('app.color.60FFFFFF'))
+              .fontSize($r('app.float.fontSize_30'))
+          }
+          .justifyContent(FlexAlign.Center)
+          .width('50%')
+          .onClick(() => this.controller.close())
+
+          Divider()
+            .vertical(true)
+            .strokeWidth(1)
+            .color($r('app.color.15FFFFFF'))
+          Row() {
+            Text('确定')
+              .fontColor($r('app.color.007AFF'))
+              .fontSize($r('app.float.fontSize_30'))
+          }
+          .justifyContent(FlexAlign.Center)
+          .width('50%')
+          .onClick(() => {
+            if(this.selectedOrderIndex==-1) return
+            this.onConfirm();
+            this.controller.close();
+          })
+        }
+      }
+      .width('100%')
+      .height('8%')
+
+    }
+    .height('71%')
+    .width('62%')
+    .backgroundColor($r('app.color.2A2A2A'))
+    .justifyContent(FlexAlign.End)
+    .alignItems(HorizontalAlign.Start)
+    .borderColor($r('app.color.000000'))
+    .borderWidth(1)
+    .borderRadius($r('app.float.virtualSize_16'))
+  }
+}
+
+@Component
+struct CallOrderButton{
+
+  @State isSelected: boolean = false
+  @Prop name:string = ''
+
+  build() {
+    Row(){
+      if(this.isSelected)
+      {
+        Circle()
+          .width($r('app.float.virtualSize_24'))
+          .height($r('app.float.virtualSize_24'))
+          .fillOpacity(0)
+          .strokeWidth(1)
+          .stroke($r('app.color.0A84FF'))
+      }else{
+        Circle()
+          .width($r('app.float.virtualSize_24'))
+          .height($r('app.float.virtualSize_24'))
+          .fillOpacity(0)
+          .strokeWidth(1)
+          .stroke($r('app.color.FFFFFF'))
+      }
+      Row(){}.width('10%')
+      Text(this.name)
+        .fontSize($r('app.float.fontSize_16'))
+        .fontColor($r('app.color.FFFFFF'))
+
+    }
+    .backgroundColor(this.isSelected?$r('app.color.0A84FF'):$r('app.color.20FFFFFF'))
+    .width('100%')
+    .height('100%')
+    .justifyContent(FlexAlign.Center)
+    .alignItems(VerticalAlign.Center)
+    .borderRadius($r('app.float.virtualSize_16'))
+    .onClick(() => {
+      this.isSelected = !this.isSelected
+    })
+
+  }
+
+}
+
+@Component
+struct CallOrderRadioButton {
+  @State selectedIndex: number = -1 // 初始未选中
+
+  build() {
+    Row() {
+      // 三个按钮(31%宽度 + 3%间距)
+      this.buildButton(0, '选项1')
+      this.buildButton(1, '选项2')
+      this.buildButton(2, '选项3')
+    }
+    .width('100%')
+    .height('55%')
+  }
+
+  @Builder
+  buildButton(index: number, text: string) {
+    Button() {
+      Row(){
+        if(this.selectedIndex === index)
+        {
+          Circle()
+            .width($r('app.float.virtualSize_24'))
+            .height($r('app.float.virtualSize_24'))
+            .fillOpacity(0)
+            .strokeWidth(1)
+            .stroke($r('app.color.0A84FF'))
+        }else{
+          Circle()
+            .width($r('app.float.virtualSize_24'))
+            .height($r('app.float.virtualSize_24'))
+            .fillOpacity(0)
+            .strokeWidth(1)
+            .stroke($r('app.color.FFFFFF'))
+        }
+        Row(){}.width('10%')
+        Text(text)
+          .fontSize($r('app.float.fontSize_16'))
+          .fontColor($r('app.color.FFFFFF'))
+      }
+      .justifyContent(FlexAlign.Center)
+    }
+    .width('31%')
+    .backgroundColor(this.selectedIndex === index ? $r('app.color.0A84FF') : $r('app.color.20FFFFFF')) // 选中蓝/未选中灰
+    .borderRadius(16)
+    .margin({ right: index < 2 ? '3%' : 0 }) // 最后一个按钮不加右边距
+    .onClick(() => {
+      this.selectedIndex = index // 更新选中状态
+    })
+  }
+}

+ 2 - 0
entry/src/main/ets/viewmodel/RequestParamModel.ets

@@ -60,4 +60,6 @@ export default class RequestParamModel {
   pageSize?: number;
   //工单表
   orderCode?: string
+  //查询工单或订单号
+  queryCode?:string
 }