hh пре 3 недеља
родитељ
комит
a679348c26

+ 1 - 1
entry/src/main/ets/component/OrderMaterialsStorageView.ets

@@ -587,7 +587,7 @@ export struct MaterialListComponent {
                   //   .width('100%')
                   //   .fontWeight(FontWeight.Lighter)
                   //   .textAlign(TextAlign.Start)
-                  Text(`数量: ${item.num}`)
+                  Text(`数量: ${item.num}${item.unitDictLabel}`)
                     .fontColor($r('app.color.FFFFFF'))
                     .fontSize($r('app.float.fontSize_8'))
                     .width('100%')

+ 8 - 2
entry/src/main/ets/pages/OrderMaterialsStorage.ets

@@ -10,9 +10,11 @@ import {OrderMaterialStorageFirstStep} from '../view/wms/OrderMaterialStorageFir
 import {OrderMaterialStorageSecondStep} from '../view/wms/OrderMaterialStorageSecondStep'
 import {OrderMaterialStorageThirdStep} from '../view/wms/OrderMaterialStorageThirdStep'
 import WorkOrderInfo from '../viewmodel/wms/WorkOrderInfo'
+import WorkOrderMaterialInfo from "../viewmodel/wms/WorkOrderMaterialInfo"
 @Entry
 @Component
 struct orderMaterialsStorage {
+  @State materialData: WorkOrderMaterialInfo[] = [];
   @State materialBoxID: string = 'LX-00010';
   @State selectWorkOrder:WorkOrderInfo = {}
   @State messages:string[] = []
@@ -70,7 +72,8 @@ struct orderMaterialsStorage {
        {
          OrderMaterialStorageFirstStep({
            currentStep:this.currentStep,
-           selectWorkOrder:this.selectWorkOrder
+           selectWorkOrder:this.selectWorkOrder,
+           materialData:this.materialData
          })
        }
        else if(this.currentStep === 2)
@@ -82,7 +85,10 @@ struct orderMaterialsStorage {
          })
         }
         if(this.currentStep === 3){
-          OrderMaterialStorageThirdStep({currentStep:this.currentStep})
+          OrderMaterialStorageThirdStep({
+            currentStep:this.currentStep,
+            materialData:this.materialData
+          })
         }
       }
       .width('100%')

+ 1 - 1
entry/src/main/ets/view/wms/OrderMaterialStorageFirstStep.ets

@@ -8,7 +8,7 @@ import WorkOrderMaterialInfo from "../../viewmodel/wms/WorkOrderMaterialInfo"
 @Component
 export struct OrderMaterialStorageFirstStep {
   @Link currentStep: number
-  @State materialData: WorkOrderMaterialInfo[] = [];
+  @Link materialData: WorkOrderMaterialInfo[] ;
 
   @Link selectWorkOrder: WorkOrderInfo
   @State workOrderArray: WorkOrderInfo[] = []

+ 16 - 2
entry/src/main/ets/view/wms/OrderMaterialStorageThirdStep.ets

@@ -5,10 +5,11 @@ import WorkOrderInfo from '../../viewmodel/wms/WorkOrderInfo'
 import WmsRequest from '../../common/util/request/WmsRequest'
 import RequestParamModel from '../../viewmodel/wms/RequestParamModel'
 import {RemindDialog} from "../../component/OrderMaterialsStorageView"
+import WorkOrderMaterialInfo from "../../viewmodel/wms/WorkOrderMaterialInfo"
 const TAG = 'OrderInbound';
 @Component
 export struct OrderMaterialStorageThirdStep {
-  @State messages:string[] = []
+  @Prop materialData:WorkOrderMaterialInfo[]=[]
   //物料数量
   @State materialNum:number= 0
   //当前步骤
@@ -46,10 +47,10 @@ export struct OrderMaterialStorageThirdStep {
         label: `BM${itemCode};18*18*1-6;SL50;20240111` //"#gys022#sc022#100#20220929#31"
       } as RequestParamModel)
 
+      // 验证1:检查是否已在扫描列表中
       const isDuplicate = this.ScanMaterialList.some(
         item => item.materialCode === res.materialCode
       );
-
       if (isDuplicate) {
         console.warn(`物料 ${res.materialCode} 已存在,无法重复添加`);
         this.reminds="物料已存在!"
@@ -59,6 +60,19 @@ export struct OrderMaterialStorageThirdStep {
         }, 2000);
         return
       }
+      // 验证2:检查是否在允许的物料数据中
+      const isValidMaterial = this.materialData.some(
+        item => item.itemCode === res.materialCode
+      );
+      if (!isValidMaterial) {
+        console.warn(`物料 ${res.materialCode} 不在工单物料清单中`);
+        this.reminds = "物料不在清单中!";
+        this.remindController.open();
+        setTimeout(() => {
+          this.remindController.close();
+        }, 2000);
+        return;
+      }
 
       // 无重复时,添加到列表
       this.ScanMaterialList = [...this.ScanMaterialList, res];

+ 5 - 1
entry/src/main/ets/viewmodel/wms/WorkOrderInfo.ets

@@ -11,10 +11,14 @@ export default class WorkOrderInfo {
   materialCode?: string
   // 物料名称
   materialName?: string
-  //序列号
+  //物料批次号
+  batchCode?:string
+  //物料序列号
   batchNo?:string
   //扫码物料数量
   num?:number
+  //物料单位
+  unitDictLabel?:string
   // 物料型号
   materialModel?: string
   // 工艺版本