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