From 595770fb0359d0425a103fb6e2106cecffe2c90b Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期一, 30 十二月 2024 11:32:45 +0800 Subject: [PATCH] PDA添加组盘入库WMS系统,不上传上游系统 --- 代码管理/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.js | 1 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs | 82 +---- 代码管理/淮安PDA/pages/stash/boxing.vue | 514 +++++++++++++++++++++++++++++++++++++++ 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_Hty.cs | 18 + 代码管理/淮安PDA/pages.json | 8 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs | 18 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs | 6 代码管理/淮安PDA/static/iconfont.css | 55 ++- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 17 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs | 15 12 files changed, 634 insertions(+), 104 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_Hty.cs" new file mode 100644 index 0000000..afff1ad --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_Hty.cs" @@ -0,0 +1,18 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Core.DB.Models; + +namespace WIDESEAWCS_Model.Models +{ + public class Dt_Task_Hty : Dt_Task, IBaseHistoryEntity + { + public int SourceId { get; set; } + + public string OperateType { get; set; } + + public DateTime InsertTime { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.js" index 24e1d94..6292426 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.js" @@ -17,6 +17,7 @@ methods: { //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� onInit() { + }, onInited() { //妗嗘灦鍒濆鍖栭厤缃悗 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 86bbdf2..fa899a9 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" @@ -23,14 +23,8 @@ [Description("缁勭洏鏆傚瓨")] 缁勭洏鏆傚瓨 = 1, - [Description("缁勭洏鎾ら攢")] - 缁勭洏鎾ら攢 = 2, - [Description("鍏ュ簱纭")] 鍏ュ簱纭 = 3, - - [Description("鍏ュ簱鎾ら攢")] - 鍏ュ簱鎾ら攢 = 4, [Description("鍏ュ簱瀹屾垚")] 鍏ュ簱瀹屾垚 = 6, @@ -49,5 +43,17 @@ [Description("閫�搴�")] 閫�搴� = 11, + + [Description("鎵嬪姩缁勭洏鏆傚瓨")] + 鎵嬪姩缁勭洏鏆傚瓨 = 12, + + [Description("鎵嬪姩缁勭洏鍏ュ簱纭")] + 鎵嬪姩缁勭洏鍏ュ簱纭 = 13, + + [Description("缁勭洏鎾ら攢")] + 缁勭洏鎾ら攢 = 99, + + [Description("鍏ュ簱鎾ら攢")] + 鍏ュ簱鎾ら攢 = 199, } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs" index fbbfef0..e576b3d 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs" @@ -61,7 +61,7 @@ ms.Position = 0; await ms.CopyToAsync(originalBody); - if (!((context.Request.Path.Value?.Contains("get")) ?? true) && !((context.Request.Path.Value?.Contains("Get")) ?? true) && !((context.Request.Path.Value?.Contains("query")) ?? true) && !((context.Request.Path.Value?.Contains("Query")) ?? true)) + if (!((context.Request.Path.Value?.Contains("get")) ?? true) && !((context.Request.Path.Value?.Contains("Get")) ?? true) && !((context.Request.Path.Value?.Contains("query")) ?? true) && !((context.Request.Path.Value?.Contains("Query")) ?? true) && !((context.Request.Path.Value?.Contains("DownLoadApp")) ?? true) && !((context.Request.Path.Value?.Contains("downLoadApp")) ?? true) && !((context.Request.Path.Value?.Contains("UploadApp")) ?? true) && !((context.Request.Path.Value?.Contains("uploadApp")) ?? true)) Logger.Add(requestParam, responseParam); } catch (Exception ex) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs" index ad4a66d..7969fb7 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs" @@ -20,7 +20,7 @@ WebResponseContent GetInboundOrders(SaveModel saveModel); WebResponseContent MaterielGroup(int inboundOrderId, string palletCode, string serNum); - WebResponseContent MaterielGroup(int inboundOrderId, string palletCode, List<string> serNums); + WebResponseContent MaterielGroup(string palletCode, int Initiallife, int warehouseId, List<string> serNums); WebResponseContent FeedbackInboundOrder(int id); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" index 319ec37..6b37125 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" @@ -1,5 +1,6 @@ 锘縰sing AutoMapper; using HslCommunication.WebSocket; +using Microsoft.AspNetCore.Mvc.RazorPages; using Newtonsoft.Json; using SqlSugar; using System; @@ -415,31 +416,16 @@ return content; } - public WebResponseContent MaterielGroup(int inboundOrderId, string palletCode, List<string> serNums) + public WebResponseContent MaterielGroup(string palletCode, int Initiallife, int warehouseId, List<string> serNums) { + WebResponseContent content = new WebResponseContent(); try { - Dt_InboundOrder inboundOrder = BaseDal.Db.Queryable<Dt_InboundOrder>().Where(x => x.Id == inboundOrderId).Includes(x => x.Details).First(); - if (inboundOrder == null) + Dt_Warehouse warehouse = _warehouseService.Repository.QueryFirst(x => x.WarehouseId == warehouseId); + if (warehouse == null) { - return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟淇℃伅"); + return WebResponseContent.Instance.Error($"鏈壘鍒拌浠撳簱淇℃伅"); } - if (inboundOrder.Details == null || inboundOrder.Details.Count <= 0) - { - return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟鏄庣粏淇℃伅"); - } - - Dt_ReceiveOrder receiveOrder = _inboundRepository.ReceiveOrderRepository.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderNo == inboundOrder.UpperOrderNo).Includes(x => x.Details).First(); - if (receiveOrder == null) - { - return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑鏀惰揣鍗�"); - } - if (receiveOrder.Details == null || receiveOrder.Details.Count <= 0) - { - return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑鏀惰揣鍗曟槑缁�"); - } - - List<string> purchaseOrderNos = receiveOrder.Details.Select(x => x.PurchaseOrderNo).ToList(); List<MatSerNumAnalysisModel> models = CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNums); @@ -455,17 +441,6 @@ return WebResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡鐨勪俊鎭�"); } - List<Dt_InboundOrderDetail> inboundOrderDetails = inboundOrder.Details.Where(x => x.MaterielCode == materielCode).ToList(); - - if (inboundOrderDetails == null || inboundOrderDetails.Count <= 0) - { - return WebResponseContent.Instance.Error($"鏈湪鍏ュ簱鍗曟槑缁嗕腑鎵惧埌璇ョ墿鏂欎俊鎭�"); - } - if (receiveOrder.Details.FirstOrDefault(x => x.MaterielCode == materielCode) == null) - { - return WebResponseContent.Instance.Error($"鏈湪鏀惰揣鍗曟槑缁嗕腑鎵惧埌璇ョ墿鏂欎俊鎭�"); - } - float beforeQuantity = 0; Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First(); @@ -474,50 +449,43 @@ stockInfo = new Dt_StockInfo() { PalletCode = palletCode, - StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(), - WarehouseId = inboundOrder.WarehouseId, + StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt(), + WarehouseId = warehouse.WarehouseId, PalletType = PalletTypeEnum.SmallPallet.ObjToInt(), Details = new List<Dt_StockInfoDetail>() }; } else { - if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt()) + if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt()) { return WebResponseContent.Instance.Error($"鎵樼洏鍙烽噸澶�"); } beforeQuantity = stockInfo.Details.Sum(x => x.StockQuantity); } + if (warehouse.WarehouseCode == WarehouseEnum.HA64.ToString()) + { + stockInfo.Remark = Initiallife.ToString(); + } + List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>(); List<int> detailKeys = new List<int>(); foreach (var model in models) { - if (purchaseOrderNos.FirstOrDefault(x => x == model.PurchaseOrderNo) == null) - { - return WebResponseContent.Instance.Error($"鏈湪鏀惰揣鍗曟槑缁嗕腑鎵惧埌璇ラ噰璐崟"); - } - - Dt_InboundOrderDetail? notGroupDetail = inboundOrderDetails.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt() && x.OrderQuantity == model.Quantity && !detailKeys.Contains(x.Id) && x.OrderQuantity > x.ReceiptQuantity).FirstOrDefault(); - - if (notGroupDetail == null) - { - return WebResponseContent.Instance.Error($"璇ョ墿鏂欏湪璇ュ叆搴撳崟涓凡鍏ㄩ儴缁勭洏瀹屾垚"); - } - detailKeys.Add(notGroupDetail.Id); Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail() { BatchNo = model.LotNo, MaterielCode = materielInfo.MaterielCode, MaterielName = materielInfo.MaterielName, - OrderNo = inboundOrder.InboundOrderNo, + OrderNo = "", SerialNumber = model.SerialNumber, StockQuantity = model.Quantity, OutboundQuantity = 0, Status = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(), ProductionDate = model.ProductionDate, EffectiveDate = model.EffectiveDate, - InboundOrderRowNo = notGroupDetail.RowNo, + InboundOrderRowNo = 0, }; if (stockInfo.Id > 0) @@ -527,14 +495,9 @@ stockInfo.Details.Add(stockInfoDetail); stockInfoDetails.Add(stockInfoDetail); - - notGroupDetail.ReceiptQuantity = model.Quantity; - notGroupDetail.OrderDetailStatus = OrderDetailStatusEnum.GroupAndInbound.ObjToInt(); } float totalQuantity = stockInfo.Details.Sum(x => x.StockQuantity); - - inboundOrder.OrderStatus = InOrderStatusEnum.鍏ュ簱涓�.ObjToInt(); _unitOfWorkManage.BeginTran(); if (stockInfo.Id == 0) @@ -545,19 +508,18 @@ { _stockRepository.StockInfoRepository.Db.UpdateNav(stockInfo).Include(x => x.Details, new UpdateNavOptions() { OneToManyInsertOrUpdate = true }).ExecuteCommand(); } - _inboundRepository.InboundOrderDetailRepository.UpdateData(inboundOrderDetails); - _inboundRepository.InboundOrderRepository.UpdateData(inboundOrder); _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfoDetails, beforeQuantity, totalQuantity, StockChangeTypeEnum.MaterielGroup); _unitOfWorkManage.CommitTran(); - - return WebResponseContent.Instance.OK(); + content.OK(); } catch (Exception ex) { _unitOfWorkManage.RollbackTran(); - return WebResponseContent.Instance.Error(ex.Message); + content.Error(ex.Message); } + return content; } + /// <summary> /// 鍏ュ簱瀹屾垚涓婃姤ERP /// </summary> @@ -575,13 +537,13 @@ { return WebResponseContent.Instance.Error($"鍏ュ簱鍗曟嵁宸插畬鎴�"); } - + Dt_Warehouse warehouse = _warehouseService.Repository.QueryFirst(x => x.WarehouseId == stockInfo.WarehouseId); if (warehouse == null) { return WebResponseContent.Instance.Error($"鏈壘鍒颁粨搴撲俊鎭�"); } - + ERPInboundModel model = new ERPInboundModel() { Code = inboundOrder.InboundOrderNo, diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" index 9a267e2..056a1bc 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" @@ -163,7 +163,7 @@ LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus; locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == task.WarehouseId); - + stockInfo.LocationCode = locationInfo.LocationCode; Dt_InboundOrder? inboundOrder = _inboundRepository.InboundOrderRepository.Db.Queryable<Dt_InboundOrder>().Where(x => x.InboundOrderNo == stockInfo.Details.FirstOrDefault().OrderNo).Includes(x => x.Details).First(); List<Dt_InboundOrderDetail> inboundOrderDetails = new List<Dt_InboundOrderDetail>(); @@ -176,7 +176,7 @@ } List<ERPInboundDetailModel> detailModels = new List<ERPInboundDetailModel>(); - + foreach (var item in stockInfo.Details) { Dt_InboundOrderDetail? inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.RowNo == item.InboundOrderRowNo); @@ -213,13 +213,13 @@ { inboundOrder.OrderStatus = InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt(); } - if (!_inboundOrderService.FeedbackInboundOrder(stockInfo, inboundOrder, detailModels).Status) + if (!_inboundOrderService.FeedbackInboundOrder(stockInfo, inboundOrder, detailModels).Status)//todo 淇敼澶勭悊 { return WebResponseContent.Instance.Error($"鍏ュ簱鍚屾Erp澶辫触"); } } //娴嬭瘯鏋跺叆搴撳簱瀛樼姸鎬� - if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() && warehouse.WarehouseCode == WarehouseEnum.HA64.ToString()) + if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() && warehouse.WarehouseCode == WarehouseEnum.HA64.ToString() && stockInfo.StockStatus != StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt()) { stockInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚鏈缓鍑哄簱鍗�.ObjToInt(); } @@ -239,8 +239,11 @@ _stockRepository.StockInfoDetailRepository.UpdateData(stockInfo.Details); _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, lastStatus, LocationChangeType.InboundCompleted); _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, stockInfo.Details.Sum(x => x.StockQuantity), stockInfo.Details.Sum(x => x.StockQuantity), StockChangeTypeEnum.Inbound, taskNum); - _inboundRepository.InboundOrderDetailRepository.UpdateData(inboundOrderDetails); - _inboundRepository.InboundOrderRepository.UpdateData(inboundOrder); + if (inboundOrder != null) + { + _inboundRepository.InboundOrderDetailRepository.UpdateData(inboundOrderDetails); + _inboundRepository.InboundOrderRepository.UpdateData(inboundOrder); + } _unitOfWorkManage.CommitTran(); return WebResponseContent.Instance.OK(); } @@ -301,7 +304,7 @@ } } } - + if (warehouse.WarehouseCode != WarehouseEnum.HA64.ToString()) { //鎺ㄩ�佸嚭搴撳畬鎴� diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" index a872ab6..ee27c47 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" @@ -44,7 +44,7 @@ { return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�"); } - if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt()) + if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt()) { return WebResponseContent.Instance.Error($"璇ユ墭鐩樼姸鎬佷笉姝g‘,涓嶅彲鐢宠鍏ュ簱"); } @@ -71,10 +71,17 @@ WarehouseId = stockInfo.WarehouseId, PalletType = stockInfo.PalletType }; + - stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt(); - - _unitOfWorkManage.BeginTran(); + if (stockInfo.StockStatus == StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt()) + { + stockInfo.StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt(); + } + else + { + stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt(); + } + _unitOfWorkManage.BeginTran(); int taskId = BaseDal.AddData(newTask); newTask.TaskId = taskId; _stockRepository.StockInfoRepository.UpdateData(stockInfo); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs" index b95b45d..4e353d1 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs" @@ -75,5 +75,11 @@ { return Service.FeedbackInboundOrder(id); } + + [HttpPost, HttpGet, Route("ManualMaterielGroup")] + public WebResponseContent MaterielGroup(string palletCode, int initiallife, int warehouseId, [FromBody] List<string> serNums) + { + return Service.MaterielGroup(palletCode, initiallife, warehouseId, serNums); + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json" index 767a3c3..cfd92e1 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json" @@ -43,6 +43,14 @@ "enablePullDownRefresh": false } }, + + { + "path": "pages/stash/boxing", + "style": { + "navigationBarTitleText": "WMS鍏ュ簱", + "enablePullDownRefresh": false + } + }, { "path": "pages/stash/pickingMat", "style": { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue" new file mode 100644 index 0000000..78e84ea --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue" @@ -0,0 +1,514 @@ +<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 label-width="180"> + <uni-forms-item label="鎵樼洏鏉$爜:"> + <uni-easyinput type="text" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' :focus="!focus" + v-model="barcode" @input="barcodeInput" /> + </uni-forms-item> + <uni-forms-item label="鍐呯鏍囩:"> + <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="focus" + v-model="materSn" @input="snInput" /> + </uni-forms-item> + <uni-forms-item label="鍒濆瀵垮懡:" v-if="Test"> + <uni-easyinput type="text" placeholder="璇疯緭鍏ュ垵濮嬪鍛�" ref='midInput' v-model="Initiallife" /> + </uni-forms-item> + <!-- <uni-forms-item> + <checkbox checked="check">鏄惁婊$洏</checkbox> + </uni-forms-item> --> + <uni-forms-item> + <button @click="submit" type="primary" size="default" style="margin-top: 2%;">缁勭洏</button> + </uni-forms-item> + </uni-forms> + <uni-list> + <!-- <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode"> + <template v-slot:body> + <view class="uni-list-box"> + <view class="uni-content"> + <view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栫爜锛歿{item.matCode}}</view> + <view class="uni-title-sub uni-ellipsis-2">鏁伴噺锛歿{item.matQuantity}}</view> + </view> + </view> + </template> + </uni-list-item> --> + <uni-list-item direction="column" v-for="(item,index) in matInfos" :key="index"> + <template v-slot:body> + <view class="uni-list-box"> + <uni-icons type="trash" size="22" style="position: absolute;right: 5%;" + @click="deleteList(index)"> + </uni-icons> + <view class="uni-content"> + <view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view> + <view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view> + <view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view> + <view class="uni-note">鏁伴噺锛歿{item.quantity}}</view> + <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view> + <view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view> + </view> + </view> + </template> + </uni-list-item> + </uni-list> + </view> + </view> + <view v-if="current === 1" class="headerstyle"> + <view class="itemstyle"> + <uni-forms label-width="120"> + <uni-forms-item label="鎵樼洏鏉$爜"> + <uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode" + placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @input="inputChangebarcode" /> + </uni-forms-item> + <uni-forms-item label="鍦板潃鏉$爜"> + <uni-easyinput type="text" v-model="address" placeholder="璇锋壂鎻忓湴鍧�鏉$爜" ref='midInput' + :focus="addressFocus" /> + </uni-forms-item> + <uni-forms-item> + <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">鍏ュ簱纭</button> + </uni-forms-item> + </uni-forms> + </view> + </view> + <view v-if="current === 2" 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 style="font-size: 18px;">鍗曟嵁鍙凤細{{orderNo}}</view> + <view style="font-size: 18px;">鐗╂枡缂栫爜锛歿{item.materielCode}}</view> + <!-- <view style="font-size: 18px;">鐗╂枡鍚嶇О锛歿{item.matName}}</view> --> + <view style="font-size: 18px;">鏁伴噺锛歿{item.orderQuantity}}</view> + <view style="font-size: 18px;">鍗曚綅锛歿{item.unit}}</view> + <view style="font-size: 18px;">缁勭洏鏁伴噺锛歿{item.receiptQuantity}}</view> + </view> + </view> + </template> + </uni-list-item> + </uni-list> + </view> + </view> + <view v-if="current === 3" class="headerstyle"> + <view class="itemstyle"> + <uni-forms label-width="120"> + <uni-forms-item> + <uni-easyinput type="text" @input="releaseboxInput" v-model="value" placeholder="璇锋壂鐮�" + ref='midInput' :focus="true" /> + </uni-forms-item> + <uni-forms-item> + <button @click="releasebox" type="primary" size="default">瑙g洏</button> + </uni-forms-item> + </uni-forms> + <uni-list> + <uni-list-item direction="column" v-if="value2"> + <template v-slot:body> + <view class="uni-list-box"> + <view class="uni-content"> + <view class="uni-title-sub uni-ellipsis-2">鎵樼洏鍙凤細{{value2}}</view> + </view> + </view> + </template> + </uni-list-item> + <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode"> + <template v-slot:body> + <view class="uni-list-box"> + <view class="uni-content"> + <view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栫爜锛歿{item.matCode}}</view> + <view class="uni-title-sub uni-ellipsis-2">鏁伴噺锛歿{item.matQuantity}}</view> + </view> + </view> + </template> + </uni-list-item> + + <uni-list-item direction="column" v-for="(item,index) in matInfo" :key="index"> + <template v-slot:body> + <view class="uni-list-box"> + <view class="uni-content"> + <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;"> + 鐗╂枡缂栫爜锛歿{item.matCode}} + </view> + <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;"> + 鐗╂枡鍚嶇О锛歿{item.matName}} + </view> + <view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;"> + 鏁伴噺锛歿{item.matQty}} + </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: ['缁勭洏', '鍏ュ簱'], //, '鍗曟嵁淇℃伅', '瑙g洏' + current: 0, + matTotal: [], + matInfos: [], + orderNo: "", + label: "", + orderInfo: [], + focus: false, + barcode: "", + materSn: "", + Initiallife: 1000, + sns: [], + addressFocus: false, + inboundBarcode: "", + address: "", + check: true, + value: "", + matInfo: [], + value2: "", + matTotals: [], + warehouseId: "", + Test: false, + Testcheck: false, + } + }, + onShow() {}, + onLoad(res) { + this.focus = false; + this.addressFocus = false; + this.orderNo = res.orderNo; + this.warehouseId = res.warehouseId; + this.Test = this.warehouseId == 6; //娴嬭瘯鏋朵粨搴撳尯ID + this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo; + this.getData(); + }, + methods: { + voiceSpeech(src) { + innerAudioContext.src = src; // '../../static/success.mp3'; + innerAudioContext.play(); + }, + //瑙g洏 + releasebox() { + if (this.value.length == 0) { + this.$refs.uToast.show({ + title: "璇锋壂鐮�", + type: "error" + }) + return; + } + var param; + var matInfo = this.value.split('|'); + if (matInfo.length == 7) { + param = { + MainData: { + "innerCode": this.value + } + } + } else { + param = { + MainData: { + "barcode": this.value + } + } + } + this.$u.post('/api/StockOperate/ReleaseAllBox', param).then(resdt => { + if (resdt.status) { + uni.$showMsg('瑙g洏鎴愬姛!') + this.value = ""; + this.matInfo = []; + this.matTotals = []; + this.value2 = ""; + } else { + this.$refs.uToast.show({ + title: resdt.message, + type: "error" + }) + } + }) + }, + releaseboxInput() { + this.$nextTick(() => { + if (this.value.length == 0) { + return; + } + var matInfo = this.value.split('|'); + this.matInfo = []; + if (matInfo.length == 7) { + this.$u.post('/api/StockOperate/GetStockInfoByInnerCode', { + MainData: { + "innerCode": this.value + } + }).then(res => { + if (res.status) { + this.matInfo = res.data.stockInfo; + this.matTotals = res.data.stockTotal; + this.value2 = res.data.barcode; + } else { + this.$refs.uToast.show({ + title: res.message, + type: "error" + }) + } + }) + } else { + this.$u.post('/api/StockOperate/GetStockInfoByBarcode', { + MainData: { + "barcode": this.value + } + }).then(res => { + if (res.status) { + this.matInfo = res.data.stockInfo; + this.matTotals = res.data.stockTotal; + this.value2 = res.data.barcode; + } else { + this.$refs.uToast.show({ + title: res.message, + type: "error" + }) + } + }) + } + }) + }, + + updateFocus() { + debugger + this.$nextTick(() => { + this.materSn = ''; + if (!this.focus) { + this.focus = true; + } + }); + }, + barcodeFocus() { + debugger + this.barcode = ''; + if (this.focus) { + this.focus = false; + } + }, + getData() { + var postData = { + MainData: { + orderNo: this.orderNo + }, + } + this.$u.post('/api/InboundOrderDetail/GetInboundOrderDetails', 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(); + } + } + }, + barcodeInput() { + this.$nextTick(function(x) { + if (this.barcode.length > 0) { + // if (this.barcode.substring(0, 1) == 'A' || this.barcode.substring(0, 2) == 'TP') { + this.focus = true; + // } else { + // this.$refs.uToast.show({ + // title: "鎵爜閿欒,璇锋壂鎻忔墭鐩樼爜", + // type: "error" + // }) + // } + } + }) + }, + 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) { + // debugger + // this.matTotal.push({ + // matCode: res.data.materielCode, + // matQuantity: parseInt(res.data.quantity) + // }); + this.sns.push(res.data.serialNumber); + + // this.matInfos.splice(0, this.matInfos.length); + this.matInfos.push(res.data); + if (res.message) { + this.$refs.uToast.show({ + title: res.message, + type: "error" + }) + // setTimeout(this.updateFocus,200); + setTimeout(() => { + this.voiceSpeech('../../static/fail.mp3'); + }, 100); + return; + } + // setTimeout(this.updateFocus,200); + setTimeout(() => { + this.voiceSpeech('../../static/success.mp3'); + }, 100); + } else { + // this.innerCode = ""; + this.$refs.uToast.show({ + title: res.message, + type: "error" + }) + // setTimeout(this.updateFocus,200); + setTimeout(() => { + this.voiceSpeech('../../static/fail.mp3'); + }, 100); + } + }) + } + }) + }, + inbound() { + if (this.inboundBarcode == "") { + this.$refs.uToast.show({ + title: "璇锋壂鎻忔墭鐩樻潯鐮�", + type: "error" + }) + return; + } + if (this.address == "") { + this.$refs.uToast.show({ + title: "璇锋壂鎻忓湴鍧�鏉$爜", + type: "error" + }) + return; + } + var postData = { + MainData: { + "barcode": this.inboundBarcode, + "startPoint": this.address, + "warehouseId": this.warehouseId + } + } + this.$u.post('/api/Task/RequestInboundTask', postData).then(res => { + if (res.status) { + uni.$showMsg(res.message); + this.inboundBarcode = ""; + this.address = ""; + setTimeout(() => { + this.addressFocus = false; + }, 200); + } else { + this.$refs.uToast.show({ + title: res.message, + type: "error" + }) + } + }).catch(err => { + this.$refs.uToast.show({ + title: err.message, + type: "error" + }) + }) + }, + inputChangebarcode() { + this.addressFocus = false; + this.$nextTick(function(x) { + if (this.inboundBarcode != '') { + this.addressFocus = true; + } + }) + }, + 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; + } + } + + let url = 'palletCode=' + this.barcode + '&initiallife=' + this.Initiallife + '&warehouseId=' + this.warehouseId; + + this.$u.post('/api/InboundOrder/ManualMaterielGroup?' + url, 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 diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/iconfont.css" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/iconfont.css" index 099fff3..fe2baae 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/iconfont.css" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/static/iconfont.css" @@ -1,77 +1,82 @@ @font-face { - font-family: "custom-icon"; - src: - url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAABGEAAwAAAAAJOgAABExAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoMCIzYGYACBHAq7CKtJATYCJAOCbguBPAAEIAWCFAcgG5gbUZSRVhjZzwPbMfUfvKkBIhTG0JHI6rDk1roYLiaHUvrwOGfvp6GSegJFrDY6McwreDHvRIvoFD86V+BsZgabszPtiUgoitv+TxMonyQVUSDS/85lcsdpCgfEdkocDzsg/m/u5831OvBjPeHImCm9/9X9Lxc8AY+8fhXcNh3hVBD1Lu36w0bkCSpS4UqXttr/gBG7IBadqSkCVSMynCB5/cug95tA/oBklt+ECkKXLpPOKV1JfhMpQFzU1DQpiipFVwbS5vow6kAaaQ/1GJt5nK6KdxigYuUrq7YAQAVAAaARqaAADQQSBXorU/CA0IwUQiyLwEBmqzUQQAJfiGQQEClFsFYGPTwgh2mpVWA4pFAiEp5OBTMI1LCABgsCDhQ8QeAFAg0Db/ABX/ADfwiAQAiCYNCCDvRgACMMgRAwwVAYDiNgJIyC0TAGQiEMwiECIiEKoiEGYuU4CBBPzRMgQiJoJMEDyRqYwSqnQIw0QBmAMl3IguyMZMtzIQ/lAxRAESoGVEJRKUxfDoIKAJUQwgEJxsFqgAGhFDAVvw38uybLx10hPN9lIbJnXPioPP/39zz6eN55nN/cSQia9iFr4QGaepVyAshhN0OcCCfhgNOJirv93LzcVFyF9osugYt3AQIXXAAIhr0+NQBAC1ADAgCeJkuYL42lAIKgUu6jad2UW+hWuke4x7jT3IXuue5W93z3319EfNHF8wWc3U2iYua5/3oifpQ/roLIv/O7867z33nrPHKUc8yRDgv/FVQz+rJhlxPzpwjSSJ8Pwa923XvQsi73ZaumCYgRygq65/VAIUAKLCWhpQXk/31UAkogx3RSRG87ERIYAXahGdkpt0thg4mfkuntxk/Y6/U4nLZ6VNM8sXrcah5WPSFF5XGFkKpSrNm4N2mTxhYl7ueBSLUYIgQcGz9eR0jRvF7Vx7XJfYpWyNSUTEbhDq45bAkEWcY/QfV7ueb1aZGzQ1uTvTbpd3MD09h8SrHxUut6TRVm7R0GGi5NJGGBgsEMFzOvQiIWOCjwkPorE3Yn6j/dfl5ACEZpIHlh560QFanbRcFQGK8C/TIX0QwAROXc8FvTn022jSwRmnnWipjLio8iRd9/P1q41v5sttRIsCqCCPhJmKEBCpYwMcWeDjH0vKhrulI7pNbZhhlbdLlO9e1jxkVuKn2gLCiqdgYhZiaCaeTB1Ccjr5xxNArFzK96O4dJhkNzRzVleJwPWjMNnfy0v7EXOst3f84xi3+6rbDh1v/hSinafmMF/4IV8uqg8ovI4oezTSk60Gya+inm+JjuD7EYg3Ydoa1EVFHZC/YS0xF1uylgTKKKhZVsQd60XvsiwCXSAR6KtqszbsWviHiBeo7xZSivoH5jFMMaXCOSuCRO/SLiR22JzHRdRl2pww2uAVzFQla7QHAs4IXpNuaz7kQFoKpcdbXtIsYWdZ5eLhRRToldab1ARLsVM0eYeD1jg1GhI85j94JhZ2XpxrsKNxfpOlVk+kK4wSyLlt3iel2i6vxi3zxPVYl5+pKw5dAdYjkWgb3Qcj48gim9tl0jAfg4nzkdYzBNQi2psQUxSkgUqrdWlyTwx0nnTiTIvJ9VUtjkeo+Q1g29EI4Rgi4UW85zTg7qCrq4jh7fm1r9RtvFqjIxyPzauM2BAj5bMKJKc/CFj7NhV/Ph1/LOK6mrKEpBSz8sg3t5ANlgWIbRTRKUemkI8s22lKJkTPKawbf+3QwgD/J3rbUjGC6aB+khbjBAJty1Rl5ProNxFdHdnoi1Cu268DAdppYUpJxITmJwisK4M8HFTbm0JG/lU5PdxHi9ec4bwSlpuYQqKEWN4WWAamuD1Vtk25o1/c9Fl7rstPlEc0KsvQSPbWsutqw675RaV+s1a6Od+ipdtK89skpXKb7mOFIxzVbrpX3DWY3a25WtYq1tIBmDmBuXtsv2T/lLfeZnbiLLXur9WCqnvmg8kXyPeD/rZdPJ/Fe0PSyPxYP8yGSX8p4NF1sOYK/YuH60SzH0oA7uuUmXjqcTnVTidDWK3N5U7BDImTddtYRhvpVIEdiYG4zU7ZpjOazc72Rfi8sYh/lX4+GdwzGl9DVJh3kvQpDDc1A/DRcf8bAN+Wg76GvU6aHoxbQuKnZeGY3p9cnZdvFaynCHusSQF3zixHRGNKAhVUikNqqQVqhK7y9fgbUAVQzU5BuqkzDFE9tJo1bNYrl+sRQwZUvrGWIcWl3DndMRQqT2xwiz15cxI7I5CRhWL6abzk0c8U1nGJTCaM6CLm7SLXvPTo9nL1qei4VlxZEdoqvuYYSGo5IG0Jd6Wi0U522lekNtRMCNUL1+RomVMljPbZqdoIW13B+haOPI50rmxmJ0WjfTOy/h5EWuhpvyXjN0RMQVgeXtGP0I4LPzCmrGY8zoRWxpX+6gs9ufsYZf74IT7n0jO/AvTEbdnPZ0zkPMbVLPm4dHu5H5/aXb7vSm31Gu8nlUqzdGl5QpuG6th07x6YNRZ2+c51JxebCQMJhlhLjSqU/k9Gc5UNjeI4Vs2tOuKY8Tm20WTDUbbiLBYIuZumBvKf5ZYvSOdkQU+Q3dEYH4qRFRO6rlU1ljbPNht7nsKYBZYM5mcxET3hVjuw5mwxZsFlcUFG2zVbrMNNAgeUFbMvcLMsNdY6kf4TVZwqy/3Fx/P4fRscrEnLtXY7q7nXX2zK2IxffN+50SzJMMMC5mQMLqG1fBxfQzxOkssU77Q+IjyRJKnJiz/tflv4RNMWR+nJUdkRqu6o13dbYP84dFZGiUY6pKpHxW7HASQP+1jK1SmxY5TmmUm1lCKA+8MaYolR0MZvvfV8u/1kdtUIUTgQ4odgxjBlyFu/bk1G3psTIDzMj8ioY2Ra8ySrlMFTk2U0Yrlyo7SDE4QpWnCr/wlMijVEvnNOYfPhoZP6hPSUjLbEcVvZHBkcpGyvajyiXITgaaIlb3fN3IMZ+aZZDtDL26Nk+pqTZt3h4r9beft1XBv3+OhieOqe1Y+sB7bPAgl1I05g14UIRwm5Teu+rmmNQtkfdOGJaPw1n8TCkS4vXm/31+xUjmfUnhkiOOxD2nrK73mWFFDhD1zIUtMo2jak+rbH4f6qF/Tl/OJ36qlNP21e88D3oefPOd63uH5Jp+ycu0r2swKp8rjQ17+vEhJTyDlTT1ifRH6XOs4qvpaJ3UssS7+s294VMKPGQtdnuLd8tusyVH62W8LG+PVFkKpbRwLqQ/IkNJsRTStRpp27UPtbrdtAM67QBC2ROafo1T875GR605Ne9pVksD/V0Oo9HhqvGzrJKr5VDSKWdle7HjEG+TqXWymV/LWSlzv6qgIj7C190tmrn96fZN/t59m38kNRX+ARWbcpaQRZv8fXp7eKq6IsC7b+fsAy0yKV56hzEPmR2933XSjHeYAUbyPvMXvS9hBtByd238HGNZVejcdXFzDVVlFkQ/uec1HuLRPKVEW+Yk05unTm9FKUHc1dfAX3dpKQdIhxrE/LiP6We2UeLMwetxB4pPikSU+i2OLqC5v1hOTx/qyOiA+Y8pDLOcYXQ3PjsXbX9n1r85PUevwQJ5V0YXvpkwcUoRYeeUWTD51vbvMIe6M7rRM9laYqA5lvum7FuWY3PZdHVGIzYOm4Qto/B8dk7DZGZpl5OWs18DPrNYfC51ZtTju2GTJxSZFvEFL/GuLlTo9d7etXK9fJd3O1kpEULuXh7vfc9LGKp7d8ukJT5LINXKZBnkmRHhsmNfYuKzp30QZMm7GgX2/fuz6cFBhb022Ot9L80YFldq+oiNAZ6vkmJL5HF9o0DpHgVn9TwwcYIdnPWzSM/aAtVuzsqauV3jHNzuMZx1t0pJ1GM8dzvGee6S4dxJcvg7TBkVXanNNJV5FQZUVY7j5u1V0vLMzHIpUODjmv1eMTXHTzRl9sIo9OAq8GG3NEMdVanLDCnTFPpn0nJm1npaKd4v3nWzsOVNWVORCcuCSllGRUWG7I60vEzLpT473hEdEIn3i+7O8FMjNufHicUpxaKtFZkZFVJhoea8zKo3eJfzGq/zcqtB/87Pe/4F1cqkLaNGbklaqVJ15m4ZOWpLbieoS1+fVZ8NU1/79gx/6f8t+ZKrP1/NBzVG8kHPglJ+fVp9eqz6+ndn8Nyo/qLh/KpA6YEtpx4M1J99XRa4/7UzL+q/yNj7TXz7rrx9eJHCiWZeOdXqcPTs6mmnTNly7uQyu8OefXLLWffBbUp84R8pdHK5TvGRXA+/ReuKm25U1iXY626UNJyocyQ4sSVURaoLU0KmzpUX2cbaQgsLZGCbudA2ttRSOiru46UlfrbVJcueWFjKbNsQB7Pq9drYntnFuze0oeEchlc97cN6tiQnJblZz7D2tvV7VoxVo8UJSoZJ2J0e381djrIjxnld7k4y5HJy8evkY1OUDmMoU09EBLFyd3wEmCPLRMQlLa0lbEmJxBq9rTfb7swB8Pjgp58HLF0sKfnU/cOokfzJ03wlf6F1+Ijtx1su9rPZyuq/P9gFhLrmw5dV+497mhrORrMNrXp/P324Icrw5OVxX+IjnmFk9OpeAslFSTGnVof6rpvvTBH9XkrJ4PtOzyq9k2GcDS1OL2fYB/9s3rVL3sr049YDyQGJ+KJ4HiXsl4ut3TcDlwYhXTocRCzQVdel5KsoSEpqG/Q0RRSKdAQtxcp1rFpt2b6xZlOr2Q7FqKyWmzdLmlUCSKtu34q4Z5lC3CfG2LV00NLAWcmmm6JIURoMkw3PlSkKo8FYuGT4/Vg65XXU7BD1iTNIJN4B5ywsa7gCeQeEoQa52PGQITVg6mReQ1dl0c6UMQsXzl7ISP/QwuZA7OU9hp5RVLoh/UX73jDcQEIY7pzpLOs10Is2/pm7NOpZkSOiKDEyd9mXG6XhhrLe+ro76LjIqo3qQGqzXI2ZpqIDmEVWFuFwI4omT+7UeJeXqolbs66IfwGvUMRZ7j25TqhB7Kt1d07f6eisO3P7Th2O6r5cnda++k8Ullr2JSYVtYU1mt8cc9uBmNzxI+LNyeVHfzmcFPJH8KinwVzQ09HB6uDRT4O44Kejgmfx6CwLy8oUaUwhKWR/pdeRtfDZ4Vq+/NZuKohfdQ/+3u7j6enze9ug26StGDb9kXNwEOUsby9P7z/aLxwSPaZ6yPac6ePpZYBtp1OtTc3W1JSBN74d1maElFTXsBnxlCnExnJ5HFvOodgMIh4tEIJhAEymay1WwaS7gICXRLogYrUR8lgAQkTNbrUFgAgXdUNqt+GgWmBT3aDUWns6m76w2yPt2MzmVOjJIZPZVv//wQ2RtxwhKJTwhRFYYeBICCLoBLassqCyzVBGbmrNA/YPtdb5wa9ZXEQLggQaZCtqyXpBPjlF9vL/kB9wkCRhepsSDcXy/1AVOEh1atiN3VDL/0n9QUTYjTHxGzfkZDMug3x09ndkQCaYqEz4TSygjcpPN4l1xIf/l48+KXB1jKc+6XL4bD1i+hr/77/okx+LbZUsTQP4/0ORADa4ANkoKQsdHZvM87mhNJRBRF/Liv0bQM0NJIF8MiOLQF/J+PSiYP+qXBrkY0HghWg7hR2QQ2AA/gjEn9jOAKogEIlUKwixejl9EoKZTd1vCkOAA6ObRREqK3+/emCxrQECrYBS5A42O5QImVrKgklkL4AAIQmwmgbFgo4miUR1gtBJRTJLdho5kp30C5ScQjiWKcANB/L75hA+orajqSMbj70QIwNCRdCirxC5EIDQkh8+PFyJgmJMw3oBEmBcTyMEk9Z7wA+LrQkRgq2YijmYhdloQgNGoWZ5u01oRCGmowpzUI/JmIlQjMbYrRyPXORRlGr3IpPeqHEvEqSkRaUCmrnkayI6VdYPFbgE2FyVP4FfNRQAAAA=') format('woff2'); + font-family: "custom-icon"; + src: + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'); } .custom-icon { - font-family: "custom-icon" !important; - font-size: 16px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; + font-family: "custom-icon" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.custom-icon-_WMS_rukuyewu:before { + content: "\e70f"; } .custom-icon-chuku:before { - content: "\e602"; + content: "\e602"; } .custom-icon-ruku:before { - content: "\e606"; + content: "\e606"; } .custom-icon-zhijin:before { - content: "\e652"; + content: "\e652"; } .custom-icon-shouhuo:before { - content: "\e60f"; + content: "\e60f"; } .custom-icon-kucunpandian-:before { - content: "\e646"; + content: "\e646"; } .custom-icon-ppt:before { - content: "\e734"; + content: "\e734"; } .custom-icon-chengpinchuku:before { - content: "\e62f"; + content: "\e62f"; } .custom-icon-jianxuandan:before { - content: "\e62b"; + content: "\e62b"; } .custom-icon-kucunchaxun:before { - content: "\e681"; + content: "\e681"; } .custom-icon-zhuangxiangruku1:before { - content: "\e601"; + content: "\e601"; } .custom-icon-chanpin-youmotuliao:before { - content: "\e682"; + content: "\e682"; } .custom-icon-bancaiwuliao:before { - content: "\e676"; + content: "\e676"; } .custom-icon-ceshijiaguanli:before { - content: "\e678"; + content: "\e678"; } .custom-icon-lingliaozupan:before { - content: "\e77d"; + content: "\e77d"; } .custom-icon-chengpincangku:before { - content: "\e6f9"; + content: "\e6f9"; } .custom-icon-fuliaocangku:before { - content: "\e6fa"; -} \ No newline at end of file + content: "\e6fa"; +} + -- Gitblit v1.9.3