From 4d58609275685b1b5deaace933697dcf3f01359e Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 04 十一月 2025 12:29:00 +0800
Subject: [PATCH] 优化前端页面显示,优化前后端盘点

---
 新建文件夹/WMS/src/extension/outbound/outboundOrder.js                            |   70 ++
 新建文件夹/WMS/src/views/basic/locationInfo.vue                                   |   77 ++-
 新建文件夹/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs          |    7 
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Check.cs          |    2 
 新建文件夹/WIDESEA_WMSServer/WIDESEA_WMSServer/OutOrderJob.cs                     |    2 
 新建文件夹/WIDESEA_WMSServer/ClassLibrary2/ContainerService.cs                    |    3 
 新建文件夹/WMS/src/views/outbound/outboundOrder.vue                               |  777 +++++++++++++++++++-------------------
 新建文件夹/WIDESEA_WMSServer/WIDESEA_DTO/Outbound/OutboundOrderDetailAddDTO.cs    |   27 +
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs |  134 ++++++
 新建文件夹/WMS/src/extension/stock/Dt_Inventory_Batch.js                          |    9 
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs    |    4 
 新建文件夹/WIDESEA_WMSServer/ClassLibrary2/InventoryInfoService.cs                |   27 
 新建文件夹/WIDESEA_WMSServer/WIDESEA_WMSServer/AlarmJob.cs                        |    2 
 13 files changed, 687 insertions(+), 454 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/ContainerService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/ContainerService.cs"
index b0b272b..59f4c2f 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/ContainerService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/ContainerService.cs"
@@ -41,6 +41,7 @@
                 if (response == null || response.code != "000") throw new Exception("鎺ュ彛杩斿洖鏁版嵁鎶ラ敊");
                 var deviceNames = response.data.Select(x => x.name?.Trim()).Distinct().ToList();
                 var containers = BaseDal.QueryData(x => deviceNames.Contains(x.deviceName)).ToList();
+                if (containers == null || containers.Count < 1) return WebResponseContent.Instance.Error();
                 List<Dt_Container> containersAdd = new List<Dt_Container>();
                 List<Dt_Container> containersUp = new List<Dt_Container>();
                 foreach (var item in response.data)
@@ -117,7 +118,7 @@
                         cool.AlarmInformation = item.message;
                         cool.ModifyDate = currentTime;
                         updateList.Add(cool);
-                        if (cool.Alarm!="姝e父")
+                        if (cool.Alarm != "姝e父")
                         {
                             _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, $"鍐锋煖{item.alarm}", item.message, MessageStatusEnum.Undisposed);
                         }
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
index 397a3bc..7949385 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
@@ -50,6 +50,7 @@
 
                 if (codes.Count < 1) return content;
                 List<Dt_EquipmentAlarmInfor> equipmentAlarmInfors = BaseDal.QueryData(x => codes.Contains(x.RobotCode));
+                if (equipmentAlarmInfors.Count < 1) return content;
                 List<Dt_EquipmentAlarmInfor> equipmentAlarmInforsAdd = new List<Dt_EquipmentAlarmInfor>();
                 List<Dt_EquipmentAlarmInfor> equipmentAlarmInforsUp = new List<Dt_EquipmentAlarmInfor>();
                 foreach (var item in response.data.robot)
@@ -76,7 +77,7 @@
                     }
                     if (string.Equals(item.status, nameof(DeviceStatus.Error), StringComparison.OrdinalIgnoreCase))
                     {
-                        _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm,"灏忚溅缂栧彿"+ item.robotCode, item.status);
+                        _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "灏忚溅缂栧彿" + item.robotCode, item.status);
                     }
                 }
                 foreach (var item in response.data.sorters)
@@ -103,7 +104,7 @@
                     }
                     if (string.Equals(item.status, nameof(DeviceStatus.Error), StringComparison.OrdinalIgnoreCase))
                     {
-                        _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "鍒嗘嫞鍙板悕瀛�"+ item.sorterCode, item.status);
+                        _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "鍒嗘嫞鍙板悕瀛�" + item.sorterCode, item.status);
                     }
                 }
                 if (equipmentAlarmInforsAdd.Count > 0) BaseDal.AddData(equipmentAlarmInforsAdd);
@@ -116,6 +117,6 @@
             return content;
         }
 
-    
+
     }
 }
\ No newline at end of file
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/InventoryInfoService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/InventoryInfoService.cs"
index 4b06b24..876073f 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/InventoryInfoService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/InventoryInfoService.cs"
@@ -38,33 +38,30 @@
                 List<object> lists = new List<object>();
                 #region 鍐峰喕搴�
                 string WareCodeLD = WarehouseEnum.鍐峰喕搴�.ObjToInt().ToString("000");
-                List<Dt_InventoryInfo> inventoryInfosLD = BaseDal.QueryData(x => x.WarehouseCode == WareCodeLD);
-                object LDQty = new
+                var LDQty = Convert.ToInt32(BaseDal.QueryData(x => x.WarehouseCode == WareCodeLD).Sum(x => x.StockQuantity));
+                lists.Add(new
                 {
                     name = WarehouseEnum.鍐峰喕搴�.ObjToString(),
-                    count = inventoryInfosLD.Sum(x => x.StockQuantity).ObjToInt()
-                };
-                lists.Add(LDQty);
+                    count = LDQty
+                });
                 #endregion
                 #region 楹荤簿搴�
                 string WareCodeMJ = WarehouseEnum.楹荤簿搴�.ObjToInt().ToString("000");
-                List<Dt_InventoryInfo> inventoryInfosMJ = BaseDal.QueryData(x => x.WarehouseCode == WareCodeMJ);
-                object MJQty = new
+                var MJQty = Convert.ToInt32(BaseDal.QueryData(x => x.WarehouseCode == WareCodeMJ).Sum(x => x.StockQuantity));
+                lists.Add(new
                 {
                     name = WarehouseEnum.楹荤簿搴�.ObjToString(),
-                    count = inventoryInfosMJ.Sum(x => x.StockQuantity).ObjToInt()
-                };
-                lists.Add(MJQty);
+                    count = MJQty
+                });
                 #endregion
                 #region 澶т欢搴�
                 string WareCodeDJ = WarehouseEnum.澶т欢搴�.ObjToInt().ToString("000");
-                List<Dt_InventoryInfo> inventoryInfosDJ = BaseDal.QueryData(x => x.WarehouseCode == WareCodeDJ);
-                object DJQty = new
+                var DJQty = Convert.ToInt32(BaseDal.QueryData(x => x.WarehouseCode == WareCodeDJ).Sum(x => x.StockQuantity));
+                lists.Add(new
                 {
                     name = WarehouseEnum.澶т欢搴�.ObjToString(),
-                    count = inventoryInfosDJ.Sum(x => x.StockQuantity).ObjToInt()
-                };
-                lists.Add(DJQty);
+                    count = DJQty
+                });
                 #endregion
                 content.OK(data: lists);
             }
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_DTO/Outbound/OutboundOrderDetailAddDTO.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_DTO/Outbound/OutboundOrderDetailAddDTO.cs"
index e5bbbf8..784d4c5 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_DTO/Outbound/OutboundOrderDetailAddDTO.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_DTO/Outbound/OutboundOrderDetailAddDTO.cs"
@@ -8,6 +8,33 @@
 namespace WIDESEA_DTO.Outbound
 {
     [ModelValidate]
+    public class DeliveryOrderDetailAddDTO
+    {
+        public int id {  get; set; }
+        /// <summary>
+        /// 鐗╂枡缂栧彿
+        /// </summary>
+        [PropertyValidate("鐗╂枡缂栧彿", NotNullAndEmpty = true)]
+        public string goods_no {  get; set; }
+        /// <summary>
+        /// 鎵规鍙�
+        /// </summary>
+        public string batch_num { get; set; }
+        /// <summary>
+        /// 鏁堟湡
+        /// </summary>
+        public string exp_date { get; set; }
+        /// <summary>
+        /// 璐т綅鍙�
+        /// </summary>
+        public string locationCode { get; set; }
+
+        /// <summary>
+        /// 鏁伴噺
+        /// </summary>
+        [PropertyValidate("鍗曟嵁鏁伴噺", NotNullAndEmpty = true, MinValue = 0, IsContainMinValue = false)]
+        public int order_Outqty { get; set; }
+    }
     public class OutboundOrderDetailAddDTO
     {
         /// <summary>
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
index 826e505..1fa0a25 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
@@ -161,8 +161,8 @@
                 #region 璐т綅
                 var location = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == LocationCode);
                 if (location == null) return WebResponseContent.Instance.Error($"璇风淮鎶よ揣浣嶇紪鍙枫�恵LocationCode}銆戠殑璐т綅淇℃伅");
-                if (location.EnableStatus == EnableStatusEnum.Disable.ObjToInt())
-                    return WebResponseContent.Instance.Error($"璐т綅缂栧彿銆恵LocationCode}銆戝凡绂佺敤锛岃鎭㈠姝e父鍐嶄娇鐢�");
+                //if (location.EnableStatus == EnableStatusEnum.Disable.ObjToInt())
+                //    return WebResponseContent.Instance.Error($"璐т綅缂栧彿銆恵LocationCode}銆戝凡绂佺敤锛岃鎭㈠姝e父鍐嶄娇鐢�");
                 if (location.WarehouseCode != cabinOrderDetail.Reservoirarea)
                     return WebResponseContent.Instance.Error($"璐т綅缂栧彿銆恵LocationCode}銆戞墍灞炲簱鎴夸笌褰撳墠鍏ュ簱鍗曟墍灞炲簱鎴夸笉鍖归厤");
                 if (location.LocationStatus == LocationStatusEnum.Free.ObjToInt())
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
index f61e1a2..d1f49e4 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
@@ -21,6 +21,7 @@
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Enums;
 using WIDESEA_Core.Helper;
+using WIDESEA_DTO.Outbound;
 using WIDESEA_DTO.SquareCabin;
 using WIDESEA_IBasicService;
 using WIDESEA_ISquareCabinServices;
@@ -62,7 +63,138 @@
         }
         public override WebResponseContent UpdateData(SaveModel saveModel)
         {
-            return base.UpdateData(saveModel);
+            try
+            {
+                int id = saveModel.MainData["id"].ObjToInt();
+                var warehouse_no = saveModel.MainData["warehouse_no"].ToString();
+                var out_no = saveModel.MainData["out_no"].ToString();
+                //OutboundOrderAddDTO outboundOrder = saveModel.MainData.DicToModel<OutboundOrderAddDTO>();
+                //Dt_DeliveryOrder deliveryOrder = BaseDal.QueryFirst(x => x.Id == id);
+                List<DeliveryOrderDetailAddDTO> orderDetailAddDTOs = saveModel.DetailData.DicToIEnumerable<DeliveryOrderDetailAddDTO>();
+                orderDetailAddDTOs = orderDetailAddDTOs.Where(x => x.id == 0).ToList();
+                if (orderDetailAddDTOs.Count < 1) return WebResponseContent.Instance.OK();
+                if (orderDetailAddDTOs.Where(x => string.IsNullOrEmpty(x.locationCode)).Any()) return WebResponseContent.Instance.Error("璐т綅鍙蜂负蹇呭~瀛楁!");
+                if (orderDetailAddDTOs.Where(x => string.IsNullOrEmpty(x.exp_date)).Any()) return WebResponseContent.Instance.Error("鏁堟湡涓哄繀濉瓧娈�!");
+                var LocationCodes = orderDetailAddDTOs.Select(x => x.locationCode);
+                List<Dt_LocationInfo> locationInfos = _locationInfoService.Repository.QueryData(x => x.WarehouseCode == warehouse_no && LocationCodes.Contains(x.LocationCode));
+                var diff = LocationCodes.Except(locationInfos.Select(x => x.LocationCode)).ToArray();
+                if (diff.Length > 0) return WebResponseContent.Instance.Error($"璐т綅缂栧彿銆恵string.Join(", ", diff)}銆戜笉灞炰簬褰撳墠搴撴埧");
+                var array1 = orderDetailAddDTOs.Select(x => x.goods_no);
+                var MaterielInfos = _materielInfoService.Repository.QueryData(x => array1.Contains(x.MaterielCode));
+                var array2 = MaterielInfos.Select(x => x.MaterielCode);
+                diff = array1.Except(array2).ToArray();
+                if (diff.Length > 0) return WebResponseContent.Instance.Error($"璇风淮鎶ょ墿鏂欑紪鍙枫�恵string.Join(", ", diff)}銆戠殑鐗╂枡淇℃伅");
+                if (warehouse_no == WarehouseEnum.绔嬪簱.ObjToInt().ToString("000"))
+                {
+                    var MaterielInfos1 = MaterielInfos.Where(x => x.MaterielSourceType == MaterielSourceTypeEnum.PurchasePart).ToList();
+                    if (MaterielInfos1.Count > 0)
+                    {
+                        return WebResponseContent.Instance.Error($"鐗╂枡缂栧彿銆恵string.Join(", ", MaterielInfos1.Select(x => x.MaterielCode))}銆戠殑鐗╂枡灞炴�у垎绫讳负澶т欢锛屼笉鍙叆绔嬪簱");
+                    }
+                }
+                var InventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.WarehouseCode == warehouse_no && array2.ToList().Contains(x.MaterielCode));
+                var Batchs = _inventory_BatchServices.Repository.QueryData(x => array2.Contains(x.MaterielCode));
+                List<Dt_DeliveryOrderDetail> deliveryOrderDetails = new List<Dt_DeliveryOrderDetail>();
+                List<Dt_SupplyTask> supplyTasks = new List<Dt_SupplyTask>();
+                List<Dt_InventoryInfo> inventoryInfos = new List<Dt_InventoryInfo>();
+                List<Dt_Inventory_Batch> inventory_Batches = new List<Dt_Inventory_Batch>();
+                foreach (var item in orderDetailAddDTOs)
+                {
+                    if (InventoryInfos.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).Any())
+                        return WebResponseContent.Instance.Error($"鐗╂枡缂栧彿銆恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戝凡瀛樺湪搴撳瓨");
+                    #region 娣诲姞鐩樼偣鍗曡鎯�
+                    Dt_DeliveryOrderDetail dt_DeliveryOrde = new Dt_DeliveryOrderDetail()
+                    {
+                        DeliveryOrderId = id,
+                        Reservoirarea = warehouse_no,
+                        Status = 2,
+                        Order_qty = 0,
+                        Order_Outqty = item.order_Outqty,
+                        Goods_no = item.goods_no,
+                        OotDetailStatus = "鏂板缓",
+                        Batch_num = item.batch_num,
+                        Creater = App.User.UserName,
+                        CreateDate = DateTime.Now,
+                    };
+                    deliveryOrderDetails.Add(dt_DeliveryOrde);
+                    #endregion
+
+                    #region 娣诲姞搴撳瓨銆佹壒娆′俊鎭�佺洏鐐逛换鍔�
+                    var MaterielInfo = MaterielInfos.First(x => x.MaterielCode == item.goods_no);
+                    Dt_InventoryInfo inventoryInfo = new Dt_InventoryInfo()
+                    {
+                        BatchNo = item.batch_num,
+                        MaterielCode = MaterielInfo.MaterielCode,
+                        AvailableQuantity = 0,
+                        CreateDate = DateTime.Now,
+                        Creater = App.User.UserName,
+                        InDate = DateTime.Now,
+                        LocationCode = item.locationCode,
+                        MaterielName = MaterielInfo.MaterielName,
+                        MaterielSpec = MaterielInfo.MaterielSpec,
+                        OutboundQuantity = 0,
+                        StockQuantity = 0,
+                        StockStatus = StockStatusEmun.鐩樼偣閿佸畾.ObjToInt(),
+                        SupplyQuantity = 0,
+                        WarehouseCode = warehouse_no,
+                        ValidityPeriod = item.exp_date
+                    };
+                    inventoryInfos.Add(inventoryInfo);
+                    Dt_Inventory_Batch? inventory_Batch = Batchs.FirstOrDefault(x => x.BatchNo == item.batch_num && x.MaterielCode == item.goods_no);
+                    if (inventory_Batch == null)
+                    {
+                        inventory_Batch = new Dt_Inventory_Batch()
+                        {
+                            BatchNo = inventoryInfo.BatchNo,
+                            CreateDate = inventoryInfo.CreateDate,
+                            Creater = inventoryInfo.Creater,
+                            MaterielCode = inventoryInfo.MaterielCode,
+                            ERPStockQuantity = 0,
+                            MaterielName = inventoryInfo.MaterielName,
+                            MaterielSpec = inventoryInfo.MaterielSpec,
+                            OutboundQuantity = inventoryInfo.OutboundQuantity,
+                            ProductionDate = inventoryInfo.ProductionDate,
+                            Status = false,
+                            StockQuantity = inventoryInfo.StockQuantity,
+                            AvailableQuantity = inventoryInfo.AvailableQuantity,
+                            ValidityPeriod = inventoryInfo.ValidityPeriod.ObjToDate(),
+                            SupplyQuantity = inventoryInfo.SupplyQuantity,
+                        };
+                        inventory_Batches.Add(inventory_Batch);
+                    }
+                    Dt_SupplyTask supplyTask = new Dt_SupplyTask()
+                    {
+                        WarehouseCode = warehouse_no,
+                        TaskStatus = SupplyStatusEnum.NewCheck.ObjToInt(),
+                        BatchNo = inventoryInfo.BatchNo,
+                        MaterielName = inventoryInfo.MaterielName,
+                        MaterielCode = inventoryInfo.MaterielCode,
+                        MaterielSpec = inventoryInfo.MaterielSpec,
+                        TaskType = TaskTypeEnum.OutInventory.ObjToInt(),
+                        CreateDate = DateTime.Now,
+                        Creater = App.User.UserName,
+                        LocationCode = inventoryInfo.LocationCode,
+                        OrderNo = out_no,
+                        StockQuantity = inventoryInfo.StockQuantity,
+                        SupplyQuantity = 0,
+                        Remark = "鐩樼偣"
+                    };
+                    supplyTasks.Add(supplyTask);
+                    #endregion
+                }
+                _unitOfWorkManage.BeginTran();
+                _deliveryOrderDetailServices.AddData(deliveryOrderDetails);
+                _inventoryInfoService.AddData(inventoryInfos);
+                if (inventory_Batches.Count > 0) _inventory_BatchServices.AddData(inventory_Batches);
+                _supplyTaskService.AddData(supplyTasks);
+                _unitOfWorkManage.CommitTran();
+                return WebResponseContent.Instance.OK("鐩樼偣璇︽儏娣诲姞鎴愬姛,璇烽�氳繃ERP骞宠处锛�");
+            }
+            catch (Exception ex)
+            {
+                _unitOfWorkManage.RollbackTran();
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
         }
 
         #region 鍒涘缓鍑哄簱鍗�
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Check.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Check.cs"
index 7a2e10e..f72a092 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Check.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Check.cs"
@@ -38,7 +38,7 @@
                     var supplyTasks = _supplyTaskService.Repository.QueryData(x => x.MaterielCode == item.MaterielCode && x.BatchNo == item.BatchNo && x.TaskStatus == SupplyStatusEnum.NewCheck.ObjToInt()).ToList();
                     if (supplyTasks.Count > 0) throw new Exception($"鐗╂枡缂栧彿銆恵item.MaterielCode}銆戞壒娆″彿銆恵item.BatchNo}銆戝凡瀛樺湪鐩樼偣浠诲姟锛岃鍏堝畬鎴愬綋鍓嶇洏鐐逛换鍔�");
                     supplyTasks = _supplyTaskService.Repository.QueryData(x => x.MaterielCode == item.MaterielCode && x.BatchNo == item.BatchNo && x.TaskStatus == SupplyStatusEnum.NewOut.ObjToInt()).ToList();
-                    if (supplyTasks.Count > 0) throw new Exception($"鐗╂枡缂栧彿銆恵item.MaterielCode}銆戞壒娆″彿銆恵item.BatchNo}銆戝凡瀛樺湪鐩樼偣浠诲姟锛岃鍏堝畬鎴愬綋鍓嶇洏鐐逛换鍔�");
+                    if (supplyTasks.Count > 0) throw new Exception($"鐗╂枡缂栧彿銆恵item.MaterielCode}銆戞壒娆″彿銆恵item.BatchNo}銆戝凡瀛樺湪鍑哄簱浠诲姟锛岃鍏堝畬鎴愬綋鍓嶅嚭搴撲换鍔�");
                     List<Dt_InventoryInfo> inventoryInfos = _inventoryInfoService.Repository.QueryData(x => item.MaterielCode == x.MaterielCode && x.BatchNo == item.BatchNo);
                     if (inventoryInfos.Count > 0)
                     {
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_WMSServer/AlarmJob.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_WMSServer/AlarmJob.cs"
index 795cef5..49d7b10 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_WMSServer/AlarmJob.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_WMSServer/AlarmJob.cs"
@@ -19,7 +19,7 @@
             _inventoryInfoService = inventoryInfoService;
         }
         //姣忛殧1绉掓墽琛屼竴娆�
-        [Invoke(Begin = "2025-11-01", Interval = 1000 * 5, IsEnabled = true, SkipWhileExecuting = true)]
+        [Invoke(Begin = "2025-11-01", Interval = 1000 * 10, IsEnabled = true, SkipWhileExecuting = true)]
         public void Run()
         {
             //鍐峰簱
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_WMSServer/OutOrderJob.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_WMSServer/OutOrderJob.cs"
index 190546d..f29365a 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_WMSServer/OutOrderJob.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_WMSServer/OutOrderJob.cs"
@@ -14,7 +14,7 @@
             _materielInfoService = materielInfoService;
         }
         //姣忛殧1绉掓墽琛屼竴娆�
-        [Invoke(Begin = "2025-11-01", Interval = 1000 * 5, IsEnabled = true, SkipWhileExecuting = true)]
+        [Invoke(Begin = "2025-11-01", Interval = 1000 * 8, IsEnabled = true, SkipWhileExecuting = true)]
         public void Run()
         {
             //鑾峰彇涓婃父鍑哄簱鍗曟暟鎹�
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/outbound/outboundOrder.js" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/outbound/outboundOrder.js"
index da89607..06741ff 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/outbound/outboundOrder.js"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/outbound/outboundOrder.js"
@@ -2,7 +2,7 @@
 //姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
 import gridBody from './extend/outOrderDetail.vue'
 import http from '../../api/http';
-import { el } from 'element-plus/es/locales.mjs';
+import { el, fa, sw } from 'element-plus/es/locales.mjs';
 let extension = {
   components: {
     //鏌ヨ鐣岄潰鎵╁睍缁勪欢
@@ -40,6 +40,14 @@
           });
         }
       }
+      // this.detailOptions.buttons.unshift({//杩欓噷鍙互浣跨敤push娣诲姞鏈�鍚庝竴涓綅缃�
+      //   name: '鑷畾涔夋寜閽�', //鎸夐挳鍚嶇О
+      //   icon: 'el-icon-document', //鎸夐挳鍥炬爣:缁勪欢绀轰緥->鍥炬爣
+      //   //primary銆乻uccess銆亀arning銆乪rror銆乮nfo銆乼ext銆乨anger
+      //   type: 'primary',
+      //   plain: true,
+      //   onClick: () => { }
+      // })
     },
     onInited() {
       //妗嗘灦鍒濆鍖栭厤缃悗
@@ -85,22 +93,54 @@
         })
       })
       this.detailOptions.buttons.forEach((btn) => {
-        if (btn.name != '娣诲姞琛�') {
-          btn.hidden = true;
-          //鎴栬�呰缃彧璇�
-          //btn.readonly=true;
+        if (row.out_type == "20" && row.warehouse_no != "001") {
+          btn.hidden = btn.name != '娣诲姞琛�' && btn.name != '鑷畾涔夋寜閽�'
+        } else {
+          btn.hidden = true
         }
+        // if (row.out_type != "20") {
+        //   btn.hidden = true
+        // } else {
+        //   btn.hidden = btn.name != '娣诲姞琛�'
+        // }
+        // if (btn.name != '娣诲姞琛�') {
+        //   btn.hidden = btn.name != '娣诲姞琛�';
+        //   //鎴栬�呰缃彧璇�
+        //   //btn.readonly=true;
+        // }
       });
-      if (row.out_type == "20") {
-        this.detail.columns.forEach((x) => {
-          if (x.field == "order_Outqty") {
-            x.title = "鐩樼偣鏁伴噺",
-              x.edit = true
-          }
-        })
-      } else {
-
-      }
+      this.detail.columns.forEach((x) => {
+        switch (x.field) {
+          case "creater":
+            x.hidden = (row.out_type != "20" && row.out_type != "215");
+            break;
+          case "locationCode":
+            if (row.warehouse_no != "001" && row.out_type == "20") {
+              x.hidden = false
+            } else {
+              x.hidden = true
+            }
+          case "exp_date":
+            x.hidden = row.out_type == "215" || row.out_type == "20" && row.warehouse_no === "001";
+            // x.title = (row.out_type == "20") ? "璐т綅鍙�" : "鏁堟湡";
+            x.edit = row.out_type == "20"
+            break;
+          case "order_qty":
+            x.title = row.out_type == "20" ? "搴撳瓨鏁伴噺" : "璁㈠崟鏁伴噺";
+            x.readonly = row.out_type != "20";
+            break;
+          case "order_Outqty":
+            x.title = row.out_type == "20" ? "鐩樼偣鏁伴噺" : "瀹屾垚鏁伴噺";
+            x.readonly = row.out_type != "20";
+            break;
+          case "goods_no":
+            x.readonly = row.out_type != "20";
+            break;
+          case "batch_num":
+            x.readonly = row.out_type != "20";
+            break;
+        }
+      })
     }
   }
 };
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/stock/Dt_Inventory_Batch.js" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/stock/Dt_Inventory_Batch.js"
index c9b708b..6cd2ca5 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/stock/Dt_Inventory_Batch.js"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/stock/Dt_Inventory_Batch.js"
@@ -70,6 +70,13 @@
       this.buttons.forEach(x => {//name鏀逛负瑕侀殣钘忕殑鎸夐挳鍚嶅瓧
         if (x.name == '缂� 杈�') {
           x.name = '璋� 鎷�';
+          x.onClick = function () {
+            let rows = this.$refs.table.getSelected();
+            if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+            if (rows.length > 1) return this.$error("鍙兘閫夋嫨涓�鏉℃暟鎹�")
+            let row = rows[0];
+            this.edit(row)
+          }
         }
       })
     },
@@ -105,7 +112,7 @@
       this.editFormOptions.forEach((editForm) => {
         editForm.forEach((x) => {
           if (x.field == "availableQuantity") {
-            
+
           } else {
             x.readonly = true
           }
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/views/basic/locationInfo.vue" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/views/basic/locationInfo.vue"
index 3e717b4..e34e8df 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/views/basic/locationInfo.vue"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/views/basic/locationInfo.vue"
@@ -38,7 +38,7 @@
       locationStatus: "",
       enableStatus: "",
       remark: "",
-      warehouseCode:"",
+      warehouseCode: "",
     });
     const editFormOptions = ref([
       [
@@ -48,61 +48,60 @@
         //   type: "select",
         //   required: true,
         //   span: 12,
-        //   dataKey:  "warehouseNuber", 
+        //   dataKey:  "warehouseNuber",
         //   data: []
         // },
-         {
+        {
           field: "warehouseCode",
           title: "搴撴埧缂栧彿",
           type: "select",
           required: true,
           span: 12,
-          dataKey:  "warehouseNuber", 
-          data: []
+          dataKey: "warehouseNuber",
+          data: [],
         },
-        
+
         {
           field: "locationCode",
           title: "璐т綅缂栧彿",
           type: "string",
-          span: 12
-        }
+          span: 12,
+        },
       ],
       [
         {
           field: "locationName",
           title: "璐т綅鍚嶇О",
           type: "string",
-          span: 12
+          span: 12,
         },
         {
           field: "roadwayNo",
           title: "宸烽亾缂栧彿",
           type: "string",
-          span: 12
-        }
+          span: 12,
+        },
       ],
       [
         {
           field: "row",
           title: "璐т綅琛�",
           type: "int",
-          span: 8
+          span: 8,
         },
         {
           field: "column",
           title: "璐т綅鍒�",
           type: "int",
-          span: 8
+          span: 8,
         },
-      
       ],
       [
         {
           field: "depth",
           title: "璐т綅娣卞害",
           type: "int",
-          span: 12
+          span: 12,
         },
         // {
         //   field: "locationType",
@@ -112,12 +111,12 @@
         //   data: [],
         //   dataKey:  "locationTypeEnum",
         // }
-          {
+        {
           field: "layer",
           title: "璐т綅灞�",
           type: "int",
-          span: 8
-        }
+          span: 8,
+        },
       ],
       [
         {
@@ -126,16 +125,16 @@
           type: "select",
           span: 12,
           data: [],
-           dataKey:  "locationStatusEnum",
+          dataKey: "locationStatusEnum",
         },
         {
           field: "enableStatus",
           title: "绂佺敤鐘舵��",
           type: "select",
           span: 12,
-          dataKey:"EnableStatusEnum",
+          dataKey: "EnableStatusEnum",
           data: [],
-        }
+        },
       ],
       // [
       //   {
@@ -157,26 +156,43 @@
       row: "",
       column: "",
       layer: "",
-      warehouseCode: ""
+      warehouseCode: "",
     });
     const searchFormOptions = ref([
       [
         // { title: "搴撴埧缂栧彿", field: "warehouseId", type: "select", dataKey:  "warehouseNuber",  data: [] } ,
-         { title: "搴撴埧缂栧彿", field: "warehousecode", type: "select", dataKey:  "warehouseNuber",  data: [] } ,
+        {
+          title: "搴撴埧缂栧彿",
+          field: "warehousecode",
+          type: "select",
+          dataKey: "warehouseNuber",
+          data: [],
+        },
         { title: "璐т綅缂栧彿", field: "locationCode", type: "like" },
         { title: "璐т綅鍚嶇О", field: "locationName", type: "like" },
       ],
       [
         { title: "宸烽亾缂栧彿", field: "roadwayNo", type: "like" },
-        // { title: "璐т綅绫诲瀷", field: "locationType", type: "select",  dataKey:  "locationTypeEnum", data: []  },       
-        { title: "璐т綅鐘舵��", field: "locationStatus", type: "select",  dataKey:  "locationStatusEnum",data: []},
-         { title: "绂佺敤鐘舵��", field: "enableStatus", type: "select", data: [], dataKey:"status" },
+        // { title: "璐т綅绫诲瀷", field: "locationType", type: "select",  dataKey:  "locationTypeEnum", data: []  },
+        {
+          title: "璐т綅鐘舵��",
+          field: "locationStatus",
+          type: "select",
+          dataKey: "locationStatusEnum",
+          data: [],
+        },
+        {
+          title: "绂佺敤鐘舵��",
+          field: "enableStatus",
+          type: "select",
+          data: [],
+          dataKey: "status",
+        },
       ],
       [
-
         { title: "琛�", field: "row", type: "int" },
         { title: "鍒�", field: "column", type: "int" },
-        { title: "灞�", field: "layer", type: "int" }
+        { title: "灞�", field: "layer", type: "int" },
       ],
     ]);
     const columns = ref([
@@ -206,7 +222,7 @@
         width: 120,
         align: "left",
         data: [],
-        bind: { key: "warehouseNuber", data: [] }
+        bind: { key: "warehouseNuber", data: [] },
       },
       {
         field: "locationCode",
@@ -228,6 +244,7 @@
         type: "string",
         width: 100,
         align: "left",
+        hidden: true,
       },
       {
         field: "row",
@@ -320,7 +337,7 @@
         width: 160,
         align: "left",
         sort: true,
-      }
+      },
     ]);
     const detail = ref({
       cnName: "#detailCnName",
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/views/outbound/outboundOrder.vue" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/views/outbound/outboundOrder.vue"
index 99e31b8..bfc6147 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/views/outbound/outboundOrder.vue"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/views/outbound/outboundOrder.vue"
@@ -1,389 +1,400 @@
  
 <template>
-    <view-grid ref="grid"
-               :columns="columns"
-               :detail="detail"
-               :editFormFields="editFormFields"
-               :editFormOptions="editFormOptions"
-               :searchFormFields="searchFormFields"
-               :searchFormOptions="searchFormOptions"
-               :table="table"
-               :extend="extend">
-    </view-grid>
+  <view-grid
+    ref="grid"
+    :columns="columns"
+    :detail="detail"
+    :editFormFields="editFormFields"
+    :editFormOptions="editFormOptions"
+    :searchFormFields="searchFormFields"
+    :searchFormOptions="searchFormOptions"
+    :table="table"
+    :extend="extend"
+  >
+  </view-grid>
 </template>
 <script>
-    import extend from "@/extension/outbound/outboundOrder.js";
-    import { ref, defineComponent } from "vue";
-    export default defineComponent({
-        setup() {
-            const table = ref({
-                key: 'id',
-                footer: "Foots",
-                cnName: '鍑哄簱鍗�',
-                name: 'DeliveryOrder',
-                url: "/DeliveryOrder/",
-                sortName: "id"
-            });
-            
-            const editFormFields = ref({
-                out_no: "",
-                out_type: "",
-                client_no: "",
-                client_name: "",
-                warehouse_no: "",
-                account_time: "",
-                outStatus: "",
-            });
-
-            const editFormOptions = ref([
-                [
-                    {
-                        title: "鍑哄簱鍗曞彿",
-                        field: "out_no",
-                        type: "string",
-                        required: true,
-                        width: 150
-                    },
-                    {
-                        title: "鍑哄簱鍗曠被鍨�",
-                        field: "out_type",
-                        type: "select",
-                        dataKey: "out_type",
-                        data: [],
-                        required: true,
-                        width: 120
-                    }
-                ],
-                [
-                    {
-                        title: "瀹㈡埛浠g爜",
-                        field: "client_no",
-                        type: "string",
-                        width: 120
-                    },
-                    {
-                        title: "瀹㈡埛鍚嶇О",
-                        field: "client_name",
-                        type: "string",
-                        width: 150
-                    }
-                ],
-                [
-                    {
-                        title: "搴撴埧鍙�",
-                        field: "warehouse_no",
-                        type: "select",
-                        dataKey: "warehouseNuber",
-                        data: [],
-                        width: 100
-                    },
-                    {
-                        title: "鐘舵��",
-                        field: "outStatus",
-                        type: "string",
-                        dataKey: "outStatus",
-                        data: [],
-                        width: 120
-                    }
-                ],
-                [
-                    {
-                        title: "鍑哄簱璁拌处鏃堕棿",
-                        field: "account_time",
-                        type: "datetime",
-                        width: 160
-                    }
-                ]
-            ]);
-            
-            const searchFormFields = ref({
-                out_no: "",
-                out_type: "",
-                client_no: "",
-                client_name: "",
-                warehouse_no: "",
-                outStatus: "",
-                account_time: "",
-            });
-            
-            const searchFormOptions = ref([
-                [
-                    { title: "鍑哄簱鍗曞彿", field: "out_no", type: "like" },
-                    { title: "瀹㈡埛浠g爜", field: "client_no", type: "like" },
-                    { title: "搴撴埧鍙�", field: "warehouse_no", type: "select", dataKey: "warehouseNuber", data: [] },
-                    {
-                        title: "鍑哄簱鍗曠被鍨�",
-                        field: "out_type",
-                        type: "select",
-                        dataKey: "out_type",
-                        data: [],
-                    },
-                ],
-                [
-                    // {
-                    //     title: "鐘舵��",
-                    //     field: "outStatus",
-                    //     type: "select",
-                    //     dataKey: "outStatus",
-                    //     data: [],
-                    // },
-                    { title: "瀹㈡埛鍚嶇О", field: "client_name", type: "like" },
-                    { title: "鍑哄簱璁拌处鏃堕棿", field: "account_time", type: "datetime" },
-                ]
-            ]);
-            
-            const columns = ref([
-                {
-                    field: 'id',
-                    title: '涓婚敭',
-                    type: 'int',
-                    width: 90,
-                    hidden: true,
-                    readonly: true,
-                    require: true,
-                    align: 'left'
-                },
-                {
-                    field: 'out_no',
-                    title: '鍑哄簱鍗曞彿',
-                    type: 'string',
-                    width: 150,
-                    require: true,
-                    align: 'left',
-                    sort: true,
-                    link: true
-                },
-                {
-                    field: 'out_type',
-                    title: '鍑哄簱鍗曠被鍨�',
-                    type: 'string',
-                    width: 120,
-                    require: true,
-                    align: 'left',
-                    bind: { key: "out_type", data: [] }
-                },
-                {
-                    field: 'client_no',
-                    title: '瀹㈡埛浠g爜',
-                    type: 'string',
-                    width: 120,
-                    align: 'left'
-                },
-                {
-                    field: 'client_name',
-                    title: '瀹㈡埛鍚嶇О',
-                    type: 'string',
-                    width: 150,
-                    align: 'left'
-                },
-                {
-                    field: 'warehouse_no',
-                    title: '搴撴埧鍙�',
-                    type: 'string',
-                    width: 100,
-                    align: 'left',
-                    bind: { key: "warehouseNuber", data: [] }
-                },
-                {
-                    field: 'account_time',
-                    title: '鍑哄簱璁拌处鏃堕棿',
-                    type: 'datetime',
-                    width: 160,
-                    align: 'left'
-                },
-                {
-                    field: 'outStatus',
-                    title: '鐘舵��',
-                    type: 'string',
-                    width: 120,
-                    align: 'left',
-                    // bind: { key: "outStatus", data: [] }
-                    // edit:{type:""}
-                },
-                // {
-                //     field: 'creater',
-                //     title: '鍒涘缓浜�',
-                //     type: 'string',
-                //     width: 90,
-                //     align: 'left'
-                // },
-                {
-                    field: 'createDate',
-                    title: '鍒涘缓鏃堕棿',
-                    type: 'datetime',
-                    width: 160,
-                    align: 'left',
-                    sort: true
-                },
-                // {
-                //     field: 'modifier',
-                //     title: '淇敼浜�',
-                //     type: 'string',
-                //     width: 100,
-                //     align: 'left'
-                // },
-                {
-                    field: 'modifyDate',
-                    title: '淇敼鏃堕棿',
-                    type: 'datetime',
-                    width: 160,
-                    align: 'left',
-                    sort: true
-                }
-            ]);
-            
-            const detail = ref({
-                cnName: "鍑哄簱鍗曟槑缁�",
-                table: "DeliveryOrderDetail",
-                url: "/DeliveryOrderDetail/",
-                columns: [
-                    {
-                        field: 'id',
-                        title: '涓婚敭',
-                        type: 'int',
-                        width: 90,
-                        hidden: true,
-                        readonly: true,
-                        require: true,
-                        align: 'left'
-                    },
-                    {
-                        field: 'deliveryOrderId',
-                        title: '鍏宠仈鍑哄簱鍗旾D',
-                        type: 'int',
-                        width: 120,
-                        require: true,
-                        align: 'left',
-                        sort: true,
-                        hidden: true
-                    },
-                    {
-                        field: 'reservoirarea',
-                        title: '搴撳尯',
-                        type: 'string',
-                        width: 120,
-                        align: 'left',
-                        bind: { key: "warehouseNuber", data: [] },
-                        // edit:{type:""}
-
-                    },
-                    {
-                        field: "goods_no",
-                        title: "鐗╂枡鍚嶇О",
-                        type: "string",
-                        width: 150,
-                        align: "left",
-                        required: true,
-                        // edit:{type:""},
-                        bind: { key: "MaterielNames", data: [] },
-                    },
-                    {
-                        field: 'goods_no',
-                        title: '鑽搧缂栫爜',
-                        type: 'string',
-                        width: 150,
-                        require: true,
-                        align: 'left',
-                        bind: { key: "medicineGoods", data: [] },
-                        // edit:{type:""}
-                    },
-                    {
-                        field: 'order_qty',
-                        title: '璁㈠崟鏁伴噺',
-                        type: 'decimal',
-                        width: 100,
-                        require: true,
-                        align: 'left',
-                        // edit:{type:"number"}
-                    },
-                       {
-                        field: 'order_Outqty',
-                        title: '瀹屾垚鏁伴噺',
-                        type: 'decimal',
-                        width: 100,
-                        require: true,
-                        align: 'left',
-                        edit:{type:"number"}
-                    },
-                    {
-                        field: 'batch_num',
-                        title: '鎵瑰彿',
-                        type: 'string',
-                        width: 120,
-                        require: true,
-                        align: 'left',
-                        edit:{type:""}
-                    },
-                    {
-                        field: 'exp_date',
-                        title: '鏍℃湡',
-                        type: 'string',
-                        width: 120,
-                        align: 'left',
-                        edit:{type:""}
-                    },
-                    {
-                        field: 'ootDetailStatus',
-                        title: '鐘舵��',
-                        type: 'string',
-                        width: 120,
-                        align: 'left',
-                        // edit:{type:""}
-                    },
-                    {
-                        field: 'status',
-                        title: '鍚屾鐘舵��',
-                        type: 'int',
-                        width: 120,
-                        align: 'left',
-                        bind: { key: "syncStatus", data: [] },
-                        // edit:{type:'select',dataKey:'syncStatus',data:[]}
-                    },
-                    {
-                        field: 'creater',
-                        title: '鍒涘缓浜�',
-                        type: 'string',
-                        width: 90,
-                        align: 'left'
-                    },
-                    {
-                        field: 'createDate',
-                        title: '鍒涘缓鏃堕棿',
-                        type: 'datetime',
-                        width: 160,
-                        align: 'left',
-                        sort: true
-                    },
-                    {
-                        field: 'modifier',
-                        title: '淇敼浜�',
-                        type: 'string',
-                        width: 100,
-                        align: 'left'
-                    },
-                    {
-                        field: 'modifyDate',
-                        title: '淇敼鏃堕棿',
-                        type: 'datetime',
-                        width: 160,
-                        align: 'left',
-                        sort: true
-                    }
-                ],
-                sortName: "id",
-                key: "id"
-            });
-            
-            return {
-                table,
-                extend,
-                editFormFields,
-                editFormOptions,
-                searchFormFields,
-                searchFormOptions,
-                columns,
-                detail,
-            };
-        },
+import extend from "@/extension/outbound/outboundOrder.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    const table = ref({
+      key: "id",
+      footer: "Foots",
+      cnName: "鍑哄簱鍗�",
+      name: "DeliveryOrder",
+      url: "/DeliveryOrder/",
+      sortName: "id",
     });
+
+    const editFormFields = ref({
+      out_no: "",
+      out_type: "",
+      client_no: "",
+      client_name: "",
+      warehouse_no: "",
+      account_time: "",
+      outStatus: "",
+      locationCode: "",
+    });
+
+    const editFormOptions = ref([
+      [
+        {
+          title: "鍑哄簱鍗曞彿",
+          field: "out_no",
+          type: "string",
+          required: true,
+          width: 150,
+        },
+        {
+          title: "鍑哄簱鍗曠被鍨�",
+          field: "out_type",
+          type: "select",
+          dataKey: "out_type",
+          data: [],
+          required: true,
+          width: 120,
+        },
+      ],
+      [
+        {
+          title: "瀹㈡埛浠g爜",
+          field: "client_no",
+          type: "string",
+          width: 120,
+        },
+        {
+          title: "瀹㈡埛鍚嶇О",
+          field: "client_name",
+          type: "string",
+          width: 150,
+        },
+      ],
+      [
+        {
+          title: "搴撴埧鍙�",
+          field: "warehouse_no",
+          type: "select",
+          dataKey: "warehouseNuber",
+          data: [],
+          width: 100,
+        },
+        {
+          title: "鐘舵��",
+          field: "outStatus",
+          type: "string",
+          dataKey: "outStatus",
+          data: [],
+          width: 120,
+        },
+      ],
+    ]);
+
+    const searchFormFields = ref({
+      out_no: "",
+      out_type: "",
+      client_no: "",
+      client_name: "",
+      warehouse_no: "",
+      outStatus: "",
+      account_time: "",
+    });
+
+    const searchFormOptions = ref([
+      [
+        { title: "鍑哄簱鍗曞彿", field: "out_no", type: "like" },
+        { title: "瀹㈡埛浠g爜", field: "client_no", type: "like" },
+        {
+          title: "搴撴埧鍙�",
+          field: "warehouse_no",
+          type: "select",
+          dataKey: "warehouseNuber",
+          data: [],
+        },
+        {
+          title: "鍑哄簱鍗曠被鍨�",
+          field: "out_type",
+          type: "select",
+          dataKey: "out_type",
+          data: [],
+        },
+      ],
+      [
+        // {
+        //     title: "鐘舵��",
+        //     field: "outStatus",
+        //     type: "select",
+        //     dataKey: "outStatus",
+        //     data: [],
+        // },
+        { title: "瀹㈡埛鍚嶇О", field: "client_name", type: "like" },
+        { title: "鍑哄簱璁拌处鏃堕棿", field: "account_time", type: "datetime" },
+      ],
+    ]);
+
+    const columns = ref([
+      {
+        field: "id",
+        title: "涓婚敭",
+        type: "int",
+        width: 90,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left",
+      },
+      {
+        field: "out_no",
+        title: "鍑哄簱鍗曞彿",
+        type: "string",
+        width: 150,
+        require: true,
+        align: "left",
+        sort: true,
+        link: true,
+      },
+      {
+        field: "out_type",
+        title: "鍑哄簱鍗曠被鍨�",
+        type: "string",
+        width: 120,
+        require: true,
+        align: "left",
+        bind: { key: "out_type", data: [] },
+      },
+      {
+        field: "client_no",
+        title: "瀹㈡埛浠g爜",
+        type: "string",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "client_name",
+        title: "瀹㈡埛鍚嶇О",
+        type: "string",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "warehouse_no",
+        title: "搴撴埧鍙�",
+        type: "string",
+        width: 100,
+        align: "left",
+        bind: { key: "warehouseNuber", data: [] },
+      },
+      {
+        field: "account_time",
+        title: "鍑哄簱璁拌处鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+      },
+      {
+        field: "outStatus",
+        title: "鐘舵��",
+        type: "string",
+        width: 120,
+        align: "left",
+        // bind: { key: "outStatus", data: [] }
+        // edit:{type:""}
+      },
+      // {
+      //     field: 'creater',
+      //     title: '鍒涘缓浜�',
+      //     type: 'string',
+      //     width: 90,
+      //     align: 'left'
+      // },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+        sort: true,
+      },
+      // {
+      //     field: 'modifier',
+      //     title: '淇敼浜�',
+      //     type: 'string',
+      //     width: 100,
+      //     align: 'left'
+      // },
+      {
+        field: "modifyDate",
+        title: "淇敼鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+        sort: true,
+      },
+    ]);
+
+    const detail = ref({
+      cnName: "鍑哄簱鍗曟槑缁�",
+      table: "DeliveryOrderDetail",
+      url: "/DeliveryOrderDetail/",
+      columns: [
+        {
+          field: "id",
+          title: "涓婚敭",
+          type: "int",
+          width: 90,
+          hidden: true,
+          readonly: true,
+          require: true,
+          align: "left",
+        },
+        {
+          field: "deliveryOrderId",
+          title: "鍏宠仈鍑哄簱鍗旾D",
+          type: "int",
+          width: 120,
+          require: true,
+          align: "left",
+          sort: true,
+          hidden: true,
+        },
+        {
+          field: "reservoirarea",
+          title: "搴撳尯",
+          type: "string",
+          width: 120,
+          align: "left",
+          bind: { key: "warehouseNuber", data: [] },
+          hidden: true,
+        },
+        {
+          field: "goods_no",
+          title: "鐗╂枡鍚嶇О",
+          type: "string",
+          width: 150,
+          align: "left",
+          required: true,
+          // edit:{type:""},
+          bind: { key: "MaterielNames", data: [] },
+        },
+        {
+          field: "goods_no",
+          title: "鑽搧缂栫爜",
+          type: "string",
+          width: 150,
+          require: true,
+          align: "left",
+          bind: { key: "medicineGoods", data: [] },
+          edit: true,
+        },
+        {
+          field: "order_qty",
+          title: "璁㈠崟鏁伴噺",
+          type: "decimal",
+          width: 100,
+          require: true,
+          align: "left",
+          // edit:{type:"number"}
+        },
+        {
+          field: "order_Outqty",
+          title: "瀹屾垚鏁伴噺",
+          type: "decimal",
+          width: 100,
+          require: true,
+          align: "left",
+          // edit:{type:"number"}
+        },
+        {
+          field: "batch_num",
+          title: "鎵瑰彿",
+          type: "string",
+          width: 120,
+          require: true,
+          align: "left",
+          edit: true,
+        },
+        {
+          field: "exp_date",
+          title: "鏁堟湡",
+          type: "string",
+          width: 120,
+          align: "left",
+          // edit:{type:""}
+        },
+        {
+          field: "locationCode",
+          title: "璐т綅鍙�",
+          type: "string",
+          width: 120,
+          align: "left",
+          hidden: true,
+          edit: true,
+        },
+        {
+          field: "ootDetailStatus",
+          title: "鐘舵��",
+          type: "string",
+          width: 120,
+          align: "left",
+          // edit:{type:""}
+        },
+        {
+          field: "status",
+          title: "鍚屾鐘舵��",
+          type: "int",
+          width: 120,
+          align: "left",
+          bind: { key: "syncStatus", data: [] },
+          // edit:{type:'select',dataKey:'syncStatus',data:[]}
+        },
+        {
+          field: "creater",
+          title: "鍒涘缓浜�",
+          type: "string",
+          width: 90,
+          align: "left",
+        },
+        {
+          field: "createDate",
+          title: "鍒涘缓鏃堕棿",
+          type: "datetime",
+          width: 160,
+          align: "left",
+          sort: true,
+        },
+        {
+          field: "modifier",
+          title: "淇敼浜�",
+          type: "string",
+          width: 100,
+          align: "left",
+          hidden: true,
+        },
+        {
+          field: "modifyDate",
+          title: "淇敼鏃堕棿",
+          type: "datetime",
+          width: 160,
+          align: "left",
+          hidden: true,
+          sort: true,
+        },
+      ],
+      sortName: "id",
+      key: "id",
+    });
+
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail,
+    };
+  },
+});
 </script>
\ No newline at end of file

--
Gitblit v1.9.3