From 5e39811c50a51a5b1c9af0f2f8dda4a21a28c677 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期六, 11 一月 2025 14:52:57 +0800
Subject: [PATCH] 添加WMS和PDA平库出库功能

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs                 |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs                       |    1 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderDetailService.cs                   |   16 +
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderDetailController.cs |   14 +
 代码管理/淮安PDA/pages/stash/AGVFinish.vue                                                               |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs                             |    3 
 代码管理/淮安PDA/pages/stash/outboundorder.vue                                                           |  177 ++++++++++++++++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs                         |   62 ++++-
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_UserService.cs                                |    1 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs       |   13 +
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs                           |   39 ++
 代码管理/淮安PDA/pages/stash/outraworderboxing.vue                                                       |  275 +++++++++++++++++++++++++
 12 files changed, 570 insertions(+), 35 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs"
index e93ce7b..e40f51a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs"
@@ -58,15 +58,33 @@
                 string uplen = "";
                 switch (_Warehouse.WarehouseCode)
                 {
-                    "HA57" => "B",
-                    "HA58" => "P",
-                    "HA152" => "G",
-                    "HA64" => "S",
-                    "闃荤剨浠�" => "Z",
-                    "HA153" => "Y",
-                    "HA71" => "C",
-                    "HA60" => "F",
-                    _ => "N"
+                    case "HA57":
+                        uplen = "B";
+                        break;
+                    case "HA58":
+                        uplen = "P";
+                        break;
+                    case "HA152":
+                        uplen = "G";
+                        break;
+                    case "HA64":
+                        uplen = "S";
+                        break;
+                    case "闃荤剨浠�":
+                        uplen = "Z";
+                        break;
+                    case "HA153":
+                        uplen = "Y";
+                        break;
+                    case "HA71":
+                        uplen = "C";
+                        break;
+                    case "HA60":
+                        uplen = "F";
+                        break;
+                    default:
+                        uplen = "N";
+                        break;
                 };
                 for (int i = 0; i < count; i++)
                 {
@@ -87,6 +105,7 @@
                 return base.AddData(palletCodeInfos);
             }
         }
+
 
         public WebResponseContent AddData(int warehouseId, int count, int palletTypeId)
         {
@@ -133,7 +152,7 @@
                 }
                 return WebResponseContent.Instance.OK();
             }
-            catch(Exception ex)
+            catch (Exception ex)
             {
                 return WebResponseContent.Instance.Error(ex.Message);
             }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs"
index fa899a9..fa3067a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs"
@@ -50,6 +50,9 @@
         [Description("鎵嬪姩缁勭洏鍏ュ簱纭")]
         鎵嬪姩缁勭洏鍏ュ簱纭 = 13,
 
+        [Description("鎷i�夊畬鎴�")]
+        鎷i�夊畬鎴� =14,
+
         [Description("缁勭洏鎾ら攢")]
         缁勭洏鎾ら攢 = 99,
 
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs"
index 389c745..35688b4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs"
@@ -17,7 +17,7 @@
     public interface IOutboundOrderDetailService : IService<Dt_OutboundOrderDetail>
     {
         IOutboundOrderDetailRepository Repository { get; }
-
+        WebResponseContent GetOutboundOrderDetails(SaveModel saveModel);
         /// <summary>
         /// 閿佸畾鍑哄簱搴撳瓨
         /// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs"
index 5bfb6a0..0720448 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs"
@@ -17,6 +17,7 @@
     {
         IOutboundOrderRepository Repository { get; }
 
+        WebResponseContent GetOutboundOrders(SaveModel saveModel);
         WebResponseContent ReceiveOutOrder(ErpOutOrderDTO model);
         WebResponseContent TestOutUpload(int id,List<Dt_OutStockLockInfo>? outStockLockInfos=null);
     }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderDetailService.cs"
index 5c1ea82..8aa4a5d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderDetailService.cs"
@@ -47,7 +47,21 @@
             _basicService = basicService;
             _recordService = recordService;
         }
-
+        public WebResponseContent GetOutboundOrderDetails(SaveModel saveModel)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string orderNo = saveModel.MainData["orderNo"].ToString();
+                Dt_OutboundOrder inboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderNo == orderNo).Includes(x => x.Details).First();
+                content.OK(data: inboundOrder.Details);
+            }
+            catch (Exception ex)
+            {
+                content.Error(ex.Message);
+            }
+            return content;
+        }
         /// <summary>
         /// 閿佸畾搴撳瓨锛岀敱绯荤粺鍒嗛厤(浠呴�昏緫杩愮畻锛屼笉鐢熸垚浠诲姟锛屼笉淇敼鏁版嵁搴撴暟鎹�)
         /// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
index 7bfa3f1..483ba11 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
@@ -45,7 +45,7 @@
         private readonly IOutStockLockInfoService _outStockLockInfoService;
         private readonly IOutboundOrderRepository _outboundOrderRepository;
 
-        public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper,IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundOrderDetailRepository outboundOrderDetailRepository, IStockInfoService stockInfoService,
+        public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundOrderDetailRepository outboundOrderDetailRepository, IStockInfoService stockInfoService,
           IStockInfoRepository stockInfoRepository, IInvokeERPService invokeERPService, IOutStockLockInfoService outStockLockInfoService,
           IOutboundOrderRepository outboundOrderRepository) : base(BaseDal)
         {
@@ -71,6 +71,32 @@
             }
             saveModel.DetailData[0].Add("orderDetailStatus", OrderDetailStatusEnum.New.ObjToInt());
             return base.AddData(saveModel);
+        }
+        public WebResponseContent GetOutboundOrders(SaveModel saveModel)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                int pageNo = saveModel.MainData["pageNo"].ObjToInt();
+                string? orderNo = saveModel.MainData["orderNo"].ToString();
+                int warehouseId = saveModel.MainData["warehouseId"].ObjToInt();
+                List<Dt_OutboundOrder> dt_ReceiveOrders = new List<Dt_OutboundOrder>();
+                if (string.IsNullOrEmpty(orderNo))
+                {
+                    dt_ReceiveOrders = Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderStatus < OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && x.WarehouseId == warehouseId).ToPageList(pageNo, 5);
+                }
+                else
+                {
+                    dt_ReceiveOrders = Db.Queryable<Dt_OutboundOrder>().Where(x => (x.OrderNo.Contains(orderNo)) && x.OrderStatus < OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && x.WarehouseId == warehouseId).ToPageList(pageNo, 5);
+                }
+
+                content.OK(data: dt_ReceiveOrders);
+            }
+            catch (Exception ex)
+            {
+                content.Error(ex.Message);
+            }
+            return content;
         }
         public WebResponseContent ReceiveOutOrder(ErpOutOrderDTO model)
         {
@@ -127,11 +153,11 @@
                             MaterielName = materielInfo.MaterielName,
                             OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(),
                             OrderQuantity = model.Qty,
-                            Unit=materielInfo.MaterielUnit
+                            Unit = materielInfo.MaterielUnit
                         };
                         Dt_OutboundOrder outboundOrder = new Dt_OutboundOrder()
                         {
-                            OrderNo=model.OrderNo,
+                            OrderNo = model.OrderNo,
                             UpperOrderNo = model.OrderNo,
                             OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
                             OrderType = OutOrderTypeEnum.Issue.ObjToInt(),
@@ -188,22 +214,22 @@
             }
         }
         //涓婃姤鍑哄簱瀹屾垚
-        public WebResponseContent TestOutUpload(int id,List<Dt_OutStockLockInfo>? outStockLockInfos)
+        public WebResponseContent TestOutUpload(int id, List<Dt_OutStockLockInfo>? outStockLockInfos)
         {
             try
             {
-                Dt_OutboundOrder outboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x=>x.Id==id).Includes(x=>x.Details).First();
+                Dt_OutboundOrder outboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x => x.Id == id).Includes(x => x.Details).First();
                 Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseId == outboundOrder.WarehouseId);
                 ERPIssueModel issueModel = new ERPIssueModel();
                 List<Dt_StockInfo> stockInfos = new List<Dt_StockInfo>();
-                List<Dt_OutStockLockInfo> _OutStockLockInfos=new List<Dt_OutStockLockInfo>();
+                List<Dt_OutStockLockInfo> _OutStockLockInfos = new List<Dt_OutStockLockInfo>();
                 int overCount = outboundOrder.Details.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()).Count();
                 if (outboundOrder.Details.Count == overCount)
                 {
                     outboundOrder.OrderStatus = OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
                     _outboundOrderRepository.UpdateData(outboundOrder);
                 }
-                if (outboundOrder==null)
+                if (outboundOrder == null)
                 {
                     return WebResponseContent.Instance.Error("鍑哄簱鍗曚笉瀛樺湪");
                 }
@@ -212,21 +238,21 @@
                     return WebResponseContent.Instance.OK();
                 }
                 //娴嬭瘯鏋跺簱缁橢RP涓婃姤鍑哄簱瀹屾垚
-                if (warehouse.WarehouseCode==WarehouseEnum.HA64.ToString())
+                if (warehouse.WarehouseCode == WarehouseEnum.HA64.ToString())
                 {
                     stockInfos = TestOutStocksUpdate(warehouse).Data as List<Dt_StockInfo> ?? new List<Dt_StockInfo>();
-                    List<ERPPickItemModel> eRPOutPick =new List<ERPPickItemModel>();
+                    List<ERPPickItemModel> eRPOutPick = new List<ERPPickItemModel>();
                     for (int i = 0; i < stockInfos.Count; i++)
                     {
                         ERPPickItemModel pickItemModel = new ERPPickItemModel()
                         {
-                            Lotno= stockInfos[i].Details[0].BatchNo,
-                            Qty= stockInfos[i].Details[0].StockQuantity.ObjToInt().ToString(),
-                            Location= warehouse.WarehouseCode
+                            Lotno = stockInfos[i].Details[0].BatchNo,
+                            Qty = stockInfos[i].Details[0].StockQuantity.ObjToInt().ToString(),
+                            Location = warehouse.WarehouseCode
                         };
                         eRPOutPick.Add(pickItemModel);
                     }
-                    
+
                     ERPPickModel pickModel = new ERPPickModel()
                     {
                         Rowindex = outboundOrder.Details[0].RowNo,
@@ -255,8 +281,8 @@
                 }
                 else
                 {
-                    List<ERPPickModel> eRPPickModels= new List<ERPPickModel>();
-                    
+                    List<ERPPickModel> eRPPickModels = new List<ERPPickModel>();
+
                     //鑾峰彇鍑哄簱璇︽儏鍗�
                     foreach (var item in outStockLockInfos)
                     {
@@ -275,7 +301,7 @@
                             Qty = pickItemModel.Qty,
                             Dataitem = new List<ERPPickItemModel> { pickItemModel }
                         };
-                        if (item.OrderQuantity==item.AssignQuantity)
+                        if (item.OrderQuantity == item.AssignQuantity)
                         {
                             item.Status = OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
                         }
@@ -300,7 +326,7 @@
                         Issitem = new List<ERPIssueItemModel>() { issueItemModel },
                     };
                 }
-                
+
                 if (stockInfos.Count > 0)
                 {
                     _stockInfoRepository.UpdateData(stockInfos);
@@ -330,7 +356,7 @@
             {
                 //鑾峰彇鍑哄簱鍗曞簱瀛�
                 List<Dt_StockInfo> stockInfos = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == warehouse.WarehouseId).Includes(x => x.Details).ToList();
-                if (stockInfos.Count<=0)
+                if (stockInfos.Count <= 0)
                 {
                     return WebResponseContent.Instance.Error($"搴撳瓨涓嶈冻");
                 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_UserService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_UserService.cs"
index 9dbed5c..414f91a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_UserService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_UserService.cs"
@@ -19,6 +19,7 @@
 using MailKit.Search;
 using OrderByType = SqlSugar.OrderByType;
 using System.Drawing.Printing;
+using WIDESEA_Core.HostedService;
 
 namespace WIDESEA_SystemService
 {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs"
index c34fdbc..ac85e2f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs"
@@ -22,11 +22,20 @@
         {
 
         }
-        [HttpPost,Route("TestOutUpload"),AllowAnonymous]
+        [HttpPost, Route("TestOutUpload"), AllowAnonymous]
         public WebResponseContent TestOutUpload(int id)
         {
             return Service.TestOutUpload(id);
         }
-
+        /// <summary>
+        /// 鑾峰彇鍑哄簱鍗�
+        /// </summary>
+        /// <param name="saveModel"></param>
+        /// <returns></returns>
+        [HttpPost, Route("GetOutboundOrders"), AllowAnonymous]
+        public WebResponseContent GetOutboundOrders([FromBody]SaveModel saveModel)
+        {
+            return Service.GetOutboundOrders(saveModel);
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderDetailController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderDetailController.cs"
index a61e949..79c67d7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderDetailController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderDetailController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Microsoft.AspNetCore.Http;
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseController;
@@ -18,6 +19,15 @@
         public OutboundOrderDetailController(IOutboundOrderDetailService service) : base(service)
         {
         }
-
+        /// <summary>
+        /// 鑾峰彇鍑哄簱鍗曡鎯�
+        /// </summary>
+        /// <param name="saveModel"></param>
+        /// <returns></returns>
+        [HttpPost, Route("GetOutboundOrderDetails"), AllowAnonymous]
+        public WebResponseContent GetOutboundOrderDetails([FromBody] SaveModel saveModel)
+        {
+            return Service.GetOutboundOrderDetails(saveModel);
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/AGVFinish.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/AGVFinish.vue"
index ba5b96f..0797403 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/AGVFinish.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/AGVFinish.vue"
@@ -48,7 +48,7 @@
 					})
 					return;
 				}
-				this.$u.post('http://127.0.0.1:9291/api/CTU_AGV/AGVFinish?&barcode=' + this.barcode).then(
+				this.$u.post('http://10.30.4.92:9291/api/CTU_AGV/AGVFinish?barcode=' + this.barcode).then(
 					res => {
 						if (res.status) {
 							this.$refs.uToast.show({
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/outboundorder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/outboundorder.vue"
new file mode 100644
index 0000000..782dd89
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/outboundorder.vue"
@@ -0,0 +1,177 @@
+<template>
+	<view>
+		<u-sticky>
+			<view style="background-color: #ffffff;">
+				<uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
+			</view>
+		</u-sticky>
+		<uni-list :border="true">
+			<uni-list-item direction="column" clickable @click="groupClick(item.orderNo)" link
+				:to="page+item.orderNo" v-for="item in allReceivingOrders" :key="item.orderNo">
+				<template v-slot:body>
+					<uni-group margin-top="20">
+						<view> 鍗曞彿:{{item.orderNo}} </view>
+						<view> 鍒涘缓浜�:{{item.creater}} </view>
+						<view> 鏃ユ湡:{{item.createDate}} </view>
+					</uni-group>
+				</template>
+			</uni-list-item>
+
+		</uni-list>
+		<uni-load-more :status="status" v-if="loadVisible"></uni-load-more>
+
+		<u-back-top :scroll-top="scrollTop" top="400"></u-back-top>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				page: "/pages/stash/outraworderboxing?",
+				loadVisible: false,
+				searchValue: "",
+				status: "more",
+				allReceivingOrders: [],
+				pageNo: 1,
+				scrollTop: 0,
+				warehouseId: ""
+			}
+		},
+		onLoad(res) {
+			this.warehouseId = res.warehouseId;
+			this.page = this.page + "warehouseId=" + this.warehouseId + "&orderNo=";
+			this.getData();
+		},
+		onReachBottom() {
+			this.pageNo += 1;
+			this.getData();
+		},
+		onPageScroll(e) {
+			this.scrollTop = e.scrollTop;
+		},
+		methods: {
+			search(res) {
+				this.getData();
+			},
+			groupClick() {
+
+			},
+			getData() {
+				var postData = {
+					MainData: {
+						warehouseId: this.warehouseId,
+						orderNo: this.searchValue,
+						pageNo: this.pageNo
+					},
+				}
+				this.$u.post('/api/OutboundOrder/GetOutboundOrders', postData).then((res) => {
+					if (res.status) {
+						if (res.data.length > 0) {
+							if (this.searchValue == '') {
+								this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
+								// this.allReceivingOrders = res.data;
+								if (this.allReceivingOrders.length > 3) {
+									this.loadVisible = true;
+								} else {
+									this.loadVisible = false;
+								}
+							} else {
+								this.allReceivingOrders = res.data;
+								if (this.allReceivingOrders.length > 3) {
+									this.loadVisible = true;
+								} else {
+									this.loadVisible = false;
+								}
+							}
+						} else {
+							this.status = 'noMore';
+							//this.allReceivingOrders = [];
+							this.loadVisible = true;
+						}
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	@import '@/common/uni-ui.scss';
+
+	page {
+		display: flex;
+		flex-direction: column;
+		box-sizing: border-box;
+		background-color: #efeff4;
+		min-height: 100%;
+		height: auto;
+	}
+
+	.tips {
+		color: #67c23a;
+		font-size: 14px;
+		line-height: 40px;
+		text-align: center;
+		background-color: #f0f9eb;
+		height: 0;
+		opacity: 0;
+		transform: translateY(-100%);
+		transition: all 0.3s;
+	}
+
+	.tips-ani {
+		transform: translateY(0);
+		height: 40px;
+		opacity: 1;
+	}
+
+	.content {
+		width: 100%;
+		display: flex;
+	}
+
+	.list-picture {
+		width: 100%;
+		height: 145px;
+	}
+
+	.thumb-image {
+		width: 100%;
+		height: 100%;
+	}
+
+	.ellipsis {
+		display: flex;
+		overflow: hidden;
+	}
+
+	.uni-ellipsis-1 {
+		overflow: hidden;
+		white-space: nowrap;
+		text-overflow: ellipsis;
+	}
+
+	.uni-ellipsis-2 {
+		overflow: hidden;
+		text-overflow: ellipsis;
+		display: -webkit-box;
+		-webkit-line-clamp: 2;
+		-webkit-box-orient: vertical;
+	}
+
+	.customcss {
+		display: flex;
+		position: fixed;
+		width: 100%;
+		top: 10px;
+		text-align: center;
+		z-index: 999;
+		left: 30px;
+		height: 20%;
+	}
+
+	.footer {
+		padding-top: 50%;
+	}
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/outraworderboxing.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/outraworderboxing.vue"
new file mode 100644
index 0000000..1bc1830
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/outraworderboxing.vue"
@@ -0,0 +1,275 @@
+<template>
+	<view>
+		<uni-segmented-control :current="current" :values="items" @clickItem="onClickItem">
+		</uni-segmented-control>
+		<view class="content">
+			<view v-if="current === 0" class="headerstyle">
+				<view class="itemstyle">
+					<uni-forms style="margin-left: 2%;margin-top: 20px;" label-width="180">
+						<uni-forms-item :label="label" style="margin-top: -20px;"></uni-forms-item>
+						<!-- <uni-forms-item label="鍗曟嵁绫诲瀷锛氱敓浜ч鏂欏崟" style="margin-top: -20px;"></uni-forms-item> -->
+						<uni-forms-item label="鐗╂枡鐮侊細" style="margin-top: -20px;">
+							<uni-easyinput type="text" placeholder="璇锋壂鎻忕墿鏂欑爜" ref='midInput' :focus="focus"
+								v-model="innerCode" @input="snInput" />
+						</uni-forms-item>
+						<!-- <uni-forms-item :label="PurchaseOrderNo" style="margin-top: -20px;"></uni-forms-item>
+						<uni-forms-item :label="matCode" style="margin-top: -20px;"></uni-forms-item>
+						<uni-forms-item :label="LotNo" style="margin-top: -20px;"></uni-forms-item>
+						<uni-forms-item :label="ProductionDate" style="margin-top: -20px;"></uni-forms-item>
+						<uni-forms-item :label="EffectiveDate" style="margin-top: -20px;"></uni-forms-item>
+						<uni-forms-item :label="orderQty" style="margin-top: -20px;"></uni-forms-item>
+						<uni-forms-item :label="remaindQty" style="margin-top: -20px;"> -->
+						<uni-list>
+							<uni-list-item direction="column" v-for="item in matInfos" :key="item.palletCode">
+								<template v-slot:body>
+									<view class="uni-content">
+										<view>鍗曟嵁缂栧彿锛歿{item.orderNo}}</view>
+										<view>鎵樼洏缂栧彿锛歿{item.palletCode}}</view>
+										<view>鐗╂枡鎵规锛歿{item.batchNo}}</view>
+										<view>鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+										<view>鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
+										<view>鍗曟嵁鏁伴噺锛歿{item.orderQuantity}}</view>
+										<view>鍘熷搴撳瓨锛歿{item.originalQuantity}}</view>
+										<view>鍒嗛厤搴撳瓨锛歿{item.assignQuantity}}</view>
+										<view>鍓╀綑搴撳瓨锛歿{item.originalQuantity-item.assignQuantity}}</view>
+									</view>
+								</template>
+							</uni-list-item>
+						</uni-list>
+						<uni-forms-item label="鍑哄簱鏁伴噺锛�" style="margin-top: -20px;">
+							<uni-easyinput type="text" placeholder="璇疯緭鍏ュ嚭搴撴暟閲�" ref='midInput' :focus="focus"
+								v-model="outQty" />
+						</uni-forms-item>
+						</uni-forms-item>
+					</uni-forms>
+					<uni-forms-item>
+						<button @click="submit" type="primary" size="default" style="margin-top: 2%;">纭鍑哄簱</button>
+					</uni-forms-item>
+				</view>
+			</view>
+			<view v-if="current === 1" class="headerstyle">
+				<view class="itemstyle">
+					<uni-list :border="true">
+						<uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="index">
+							<template v-slot:body>
+								<view class="uni-list-box">
+									<view class="uni-content">
+										<view>鍗曟嵁鍙凤細{{orderNo}}</view>
+										<view>鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+										<view>鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
+										<view>鏁伴噺锛歿{item.orderQuantity+item.unit}}</view>
+										<view>鍑哄簱鏁伴噺锛歿{item.orderQuantity}}</view>
+										<view>宸插嚭鏁伴噺锛歿{item.overOutQuantity}}</view>
+									</view>
+								</view>
+							</template>
+						</uni-list-item>
+					</uni-list>
+				</view>
+			</view>
+		</view>
+		<u-toast ref="uToast" />
+	</view>
+</template>
+
+<script>
+	const innerAudioContext = uni.createInnerAudioContext();
+	export default {
+		data() {
+			return {
+				items: ['鐗╂枡淇℃伅', '鍗曟嵁淇℃伅'],
+				current: 0,
+				matTotal: [],
+				matInfos: [],
+				orderNo: "",
+				label: "",
+				outQty: "",
+				orderInfo: [],
+				focus: false,
+				pkfocus: false,
+				barcode: "",
+				materSn: "",
+				Initiallife: 1000,
+				sns: [],
+				pksns: [],
+				addressFocus: false,
+				inboundBarcode: "",
+				address: "",
+				check: true,
+				value: "",
+				matInfo: [],
+				value2: "",
+				matTotals: [],
+				warehouseId: "",
+				Test: false,
+				Testlabel: "",
+				Testplaceholder: "",
+				Testcheck: false,
+				pkmaterSn: "",
+				pkmatInfos: []
+			}
+		},
+		onShow() {},
+		onLoad(res) {
+			this.focus = false;
+			this.addressFocus = false;
+			this.orderNo = res.orderNo;
+			this.warehouseId = res.warehouseId;
+			this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo;
+			this.getData();
+		},
+		methods: {
+			voiceSpeech(src) {
+				innerAudioContext.src = src; // '../../static/success.mp3';
+				innerAudioContext.play();
+			},
+			getData() {
+				var postData = {
+					MainData: {
+						orderNo: this.orderNo
+					},
+				}
+				this.$u.post('/api/OutboundOrderDetail/GetOutboundOrderDetails', postData).then((res) => {
+					if (res.status) {
+						this.orderInfo = res.data;
+						if (this.orderInfo.length > 3) {
+							this.loadVisible = true;
+						}
+					}
+				})
+			},
+			onClickItem(e) {
+				this.focus = false;
+				this.addressFocus = false;
+				if (this.current !== e.currentIndex) {
+					this.current = e.currentIndex;
+					if (this.current == 2) {
+						this.getData();
+					}
+				}
+			},
+			//鎵爜
+			snInput() {
+				this.$nextTick(() => {
+					if (this.materSn != "") {
+						this.focus = false;
+						var matSn = this.materSn;
+						setTimeout(() => {
+							this.materSn = "";
+						}, 10);
+						this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+							this.Testcheck = false;
+							if (res.status) {
+								this.sns.push(res.data.serialNumber);
+
+								this.matInfos.push(res.data);
+								if (res.message) {
+									this.$refs.uToast.show({
+										title: res.message,
+										type: "error"
+									})
+									setTimeout(() => {
+										this.voiceSpeech('../../static/fail.mp3');
+									}, 100);
+									return;
+								}
+								setTimeout(() => {
+									this.voiceSpeech('../../static/success.mp3');
+								}, 100);
+							} else {
+								this.$refs.uToast.show({
+									title: res.message,
+									type: "error"
+								})
+								setTimeout(() => {
+									this.voiceSpeech('../../static/fail.mp3');
+								}, 100);
+							}
+						})
+					}
+				})
+			},
+			deleteList(res) {
+				this.matInfos.splice(res, 1);
+				this.sns.splice(res, 1);
+			},
+			submit() {
+				if (this.barcode == "") {
+					this.$refs.uToast.show({
+						title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+						type: 'error'
+					})
+					return;
+				}
+				if (this.matInfos.length == 0) {
+					this.$refs.uToast.show({
+						title: "璇锋壂鎻忓唴绠辨爣绛�",
+						type: 'error'
+					})
+					return;
+				}
+				if (this.Test) {
+					if (!this.Testcheck) {
+						this.Testcheck = true;
+						this.$refs.uToast.show({
+							title: "璇风‘璁ゅ垵濮嬪鍛�",
+							type: 'error'
+						})
+						return;
+					}
+				}
+				this.$u.post('/api/InboundOrder/MaterielGroup', {
+					MainData: {
+						"palletCode": this.barcode,
+						"orderNo": this.orderNo,
+						"initiallife": this.Initiallife,
+						// "isFull": this.check
+						"warehouseId": this.warehouseId
+					},
+					DelKeys: this.sns
+				}).then(res => {
+					this.Testcheck = false;
+					if (res.status) {
+						this.$refs.uToast.show({
+							title: "鍑哄簱鎴愬姛",
+							type: "success"
+						})
+						this.focus = false;
+						this.barcode = "";
+						this.matInfos = [];
+						this.sns = [];
+						this.matTotal = [];
+					} else {
+						this.$refs.uToast.show({
+							title: res.message,
+							type: "error"
+						})
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	@import '@/common/uni-ui.scss';
+
+	.content {
+		display: flex;
+		height: 150px;
+	}
+
+	.content-text {
+		font-size: 14px;
+		color: #666;
+	}
+
+	.itemstyle {
+		margin-top: 30px;
+		margin-left: 5%;
+	}
+
+	.headerstyle {
+		width: 90%;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3