hwh
2024-09-14 f735e389c01eed24d6b9792b35d2f98d15f3ecbb
Merge branch 'master' of http://47.95.120.53:8083/r/WCSNet6
11个文件已修改
1个文件已添加
452 ■■■■■ 已修改文件
Admin.NET/WCS.Application/Entity/WcsTask.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Enum/TaskEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Model/TaskRequest.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/PLC/PLCCommon.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/PLC/PLCService.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskInput.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskOutput.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Service/WcsTaskMonitor/Dto/WcsTaskMonitorOutput2.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Service/WcsTaskMonitor/WcsTaskMonitorService.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Util/HttpService.cs 189 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Web/src/views/wcs/wcsTask/index.vue 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Entity/WcsTask.cs
@@ -108,7 +108,25 @@
    /// </summary>
    [SugarColumn(ColumnName = "CompleteQty", ColumnDescription = "拆垛数量")]
    public int? CompleteQty { get; set; }
    /// <summary>
    /// 是否绑定
    /// </summary>
    [SugarColumn(ColumnName = "IsBind", ColumnDescription = "是否绑定")]
    public IsBindEnum? IsBind { get; set; }
    /// <summary>
    /// 整垛数量
    /// </summary>
    [SugarColumn(ColumnName = "PalletQty", ColumnDescription = "整垛数量")]
    public int? PalletQty { get; set; }
    /// <summary>
    /// 拆垛工位号
    /// </summary>
    [SugarColumn(ColumnName = "StationNum", ColumnDescription = "拆垛工位号", Length = 10)]
    public string? StationNum { get; set; }
    /// <summary>
    /// 拣货方式
    /// </summary>
Admin.NET/WCS.Application/Enum/TaskEnum.cs
@@ -103,4 +103,21 @@
    /// </summary>
    [Description("人工拣货出")]
    Artificial = 1,
}
/// <summary>
/// 是否绑定
/// </summary>
[Description("是否成功枚举")]
public enum IsBindEnum
{
    /// <summary>
    /// 未绑定
    /// </summary>
    [Description("未绑定")]
    No = 0,
    /// <summary>
    /// 已绑定
    /// </summary>
    [Description("已绑定")]
    Yes = 1
}
Admin.NET/WCS.Application/Model/TaskRequest.cs
@@ -10,12 +10,62 @@
public class ResponseTasks
{
    public string StatusCode { get; set; }
    public string Success { get; set; }
    public int Success { get; set; }
    public string Message { get; set; }
    public WcsTask TaskList { get; set; }
    public ResponseTasksModel TaskList { get; set; }
}
public class ResponseTasksModel
{
    /// <summary>
    /// 任务号
    /// </summary>
    public string TaskNo { get; set; }
    /// <summary>
    /// 任务类型
    /// </summary>
    public string TaskType { get; set; }
    /// <summary>
    /// 托盘号
    /// </summary>
    public string PalletNo { get; set; }
    /// <summary>
    /// 起始位置
    /// </summary>
    public string StartLocate { get; set; }
    /// <summary>
    /// 起始巷道
    /// </summary>
    public string StartRoadway { get; set; }
    /// <summary>
    /// 结束位置
    /// </summary>
    public string EndLocate { get; set; }
    /// <summary>
    /// 目标巷道
    /// </summary>
    public string EndRoadway { get; set; }
    /// <summary>
    /// 出库口
    /// </summary>
    public string OutMode { get; set; }
    /// <summary>
    /// 顺序-优先级
    /// </summary>
    public int Order { get; set; }
}
/// <summary>
/// 申请入库任务  巷道或储位
/// </summary>
Admin.NET/WCS.Application/PLC/PLCCommon.cs
@@ -552,19 +552,28 @@
    public static string GetRoadwayByStationNew(string StationNum)
    {
        string value = "";
        var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" };
        var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" };
        var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" };
        //var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" };
        //var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" };
        //var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" };
        if (conveyList1.Contains(StationNum))
        var ipInfo = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine || s.Type == PLCTypeEnum.BoxConveyorLine);
        var ip1 = ipInfo.First(m=>m.Text == "1层托盘输送线");
        var ip2 = ipInfo.First(m=>m.Text == "2层托盘输送线");
        var ip3 = ipInfo.First(m=>m.Text == "3层托盘输送线");
        var dev1 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip1.Id).Select(m=>m.StationNum).ToList();
        var dev2 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip2.Id).Select(m => m.StationNum).ToList();
        var dev3 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip3.Id).Select(m => m.StationNum).ToList();
        if (dev1.Contains(StationNum))
        {
            value = "1";
        }
        else if (conveyList2.Contains(StationNum))
        else if (dev2.Contains(StationNum))
        {
            value = "2";
        }
        else if (conveyList3.Contains(StationNum))
        else if (dev3.Contains(StationNum))
        {
            value = "3";
        }
Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -735,7 +735,7 @@
                    }
                    string pallet = palletVal.ToString();
                    // 获取任务信息
                    var modTask = _db.Queryable<WcsTask>().First(s => s.IsDelete == false && s.PalletNo == pallet && (s.Status == TaskStatusEnum.Wait || s.Status == TaskStatusEnum.Doing) && s.TaskType == TaskTypeEnum.In && s.StartRoadway == modDevice.StationNum);
                    var modTask = _db.Queryable<WcsTask>().First(s => s.IsDelete == false && s.PalletNo == pallet && (s.Status == TaskStatusEnum.Wait || s.Status == TaskStatusEnum.Doing) && s.TaskType == TaskTypeEnum.In);
                    if (modTask == null)
                    {
                        // 此托盘没有对应的转移任务 led显示
@@ -749,8 +749,9 @@
                    // 任务号、任务类型、托盘号
                    var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "任务号");
                    listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo));
                    var modPosTaskType = modDevice.listStation.FirstOrDefault(s => s.Text == "任务号");
                    listResult.Add(plcConn.SetPlcDBValue(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, modTask.TaskType.ToString()));
                    var modPosTaskType = modDevice.listStation.FirstOrDefault(s => s.Text == "任务类型");
                    var taskTypeStr = (int)modTask.TaskType;
                    listResult.Add(plcConn.SetPlcDBValue(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString()));
                    var modPosPalletNo = modDevice.listStation.FirstOrDefault(s => s.Text == "托盘码");
                    listResult.Add(plcConn.SetPlcDBValue(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo));
                    // 起始工位、目的工位
@@ -880,7 +881,7 @@
                    // 获取工位托盘码信息
                    var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "托盘码");
                    var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
                    // 获取工位托盘码信息
                    // 获取工位任务号信息
                    var modPosTaskNo = modDevice.listStation.FirstOrDefault(m => m.Text == "任务号");
                    var (taskRes, taskNoVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTaskNo.PlcPos);
                    if (!res.IsSucceed || !taskRes.IsSucceed )
@@ -941,12 +942,13 @@
                        var modPosTask = djInfos.FirstOrDefault(s => s.Text == "任务号");
                        listResult.Add(plcStackeConn.SetPlcDBValue(modPosTask.PosType, djMod.DbNumber, modPosTask.PlcPos, modTask.TaskNo));
                        var modPosTaskType = djInfos.FirstOrDefault(s => s.Text == "任务类型");
                        listResult.Add(plcStackeConn.SetPlcDBValue(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, modTask.TaskType.ToString()));
                        var taskTypeStr = (int)modTask.TaskType;
                        listResult.Add(plcStackeConn.SetPlcDBValue(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString()));
                        var modPosPalletNo = djInfos.FirstOrDefault(s => s.Text == "托盘号");
                        listResult.Add(plcStackeConn.SetPlcDBValue(modPosPallet.PosType, djMod.DbNumber, modPosPallet.PlcPos, modTask.PalletNo));
                        listResult.Add(plcStackeConn.SetPlcDBValue(modPosPalletNo.PosType, djMod.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo));
                        
                        //起始工位
                        var modPosStrStationNum = djInfos.FirstOrDefault(s => s.Text == "取货排");
                        var modPosStrStationNum = djInfos.FirstOrDefault(s => s.Text == "起始工位");
                        listResult.Add(plcStackeConn.SetPlcDBValue(modPosStrStationNum.PosType, djMod.DbNumber, modPosStrStationNum.PlcPos, modDevice.StationNum));
                        //取货排、列、层
Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskInput.cs
@@ -195,8 +195,18 @@
        /// 状态
        /// </summary>
        public TaskStatusEnum? Status { get; set; }
    }
        /// <summary>
        /// 托盘号
        /// </summary>
        public string? PalletNo { get; set; }
        /// <summary>
        /// 来源
        /// </summary>
        public string? Origin { get; set; }
}
    /// <summary>
    /// 任务表增加输入参数
Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskOutput.cs
@@ -100,7 +100,21 @@
    /// 拆垛数量
    /// </summary>
    public int? CompleteQty { get; set; }
    /// <summary>
    /// 是否绑定
    /// </summary>
    public IsBindEnum? IsBind { get; set; }
    /// <summary>
    /// 整垛数量
    /// </summary>
    public int? PalletQty { get; set; }
    /// <summary>
    /// 拆垛工位号
    public string? StationNum { get; set; }
    /// <summary>
    /// 拣货方式
    /// </summary>
Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs
@@ -44,6 +44,8 @@
            .WhereIF(!string.IsNullOrWhiteSpace(input.TaskNo), u => u.TaskNo.Contains(input.TaskNo.Trim()))
            .WhereIF(input.TaskType.HasValue, u => u.TaskType == input.TaskType)
            .WhereIF(input.Status.HasValue, u => u.Status == input.Status)
            .WhereIF(!string.IsNullOrWhiteSpace(input.PalletNo), u => u.PalletNo.Contains(input.PalletNo.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Origin), u => u.Origin.Contains(input.Origin.Trim()))
            .Select<WcsTaskOutput>();
        return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
    }
@@ -179,12 +181,17 @@
            if (modTask.Status > TaskStatusEnum.Doing)
                throw Oops.Oh("任务状态异常");
            if (input.Status == TaskStatusEnum.Complete)
            {
                modTask.IsSuccess = TaskSuccessEnum.Success;
                modTask.FinishDate = DateTime.Now;//完成时间
            }
            else
            {
                modTask.IsSuccess = TaskSuccessEnum.Fail;
            modTask.FinishDate = DateTime.Now;
                modTask.CancelDate = DateTime.Now;//取消时间
            }
            modTask.Status = input.Status;
            await _wcsTaskRep.Context.Updateable(modTask).UpdateColumns(s => new { s.Status, s.IsSuccess, s.FinishDate, s.UpdateTime,s.UpdateUserId,s.UpdateUserName }).ExecuteCommandAsync();
            await _wcsTaskRep.Context.Updateable(modTask).UpdateColumns(s => new { s.Status, s.IsSuccess, s.FinishDate, s.CancelDate, s.UpdateTime, s.UpdateUserId, s.UpdateUserName }).ExecuteCommandAsync();
            //写入任务明细表
            WcsTaskMonitor modTaskMonitor = new WcsTaskMonitor()
            {
Admin.NET/WCS.Application/Service/WcsTaskMonitor/Dto/WcsTaskMonitorOutput2.cs
New file
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WCS.Application.Service.WcsTaskMonitor.Dto
{
    public class WcsTaskMonitorOutput2
    {
        public long Id { get; set; }
        /// <summary>
        /// 任务号
        /// </summary>
        public string? TaskNo { get; set; }
        /// <summary>
        /// 交互位置
        /// </summary>
        public string? PlcName { get; set; }
        /// <summary>
        /// 交互信息
        /// </summary>
        public string? InteractiveMsg { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }
    }
}
Admin.NET/WCS.Application/Service/WcsTaskMonitor/WcsTaskMonitorService.cs
@@ -1,4 +1,6 @@

using WCS.Application.Service.WcsTaskMonitor.Dto;
namespace WCS.Application;
/// <summary>
@@ -21,7 +23,7 @@
    [HttpPost]
    [ApiDescriptionSettings(Name = "Page")]
    [DisplayName("分页查询任务明细监控表")]
    public async Task<SqlSugarPagedList<WcsTaskMonitorOutput>> Page(PageWcsTaskMonitorInput input)
    public async Task<SqlSugarPagedList<WcsTaskMonitorOutput2>> Page(PageWcsTaskMonitorInput input)
    {
        input.SearchKey = input.SearchKey?.Trim();
        var query = _wcsTaskMonitorRep.AsQueryable()
@@ -29,8 +31,17 @@
                u.TaskNo.Contains(input.SearchKey)
            )
            .WhereIF(!string.IsNullOrWhiteSpace(input.TaskNo), u => u.TaskNo.Contains(input.TaskNo.Trim()))
            .Select<WcsTaskMonitorOutput>();
        return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
            .LeftJoin<WcsDevice>((u, plcid) => u.PlcId == plcid.Id)
            .Select((u, plcid) => new WcsTaskMonitorOutput2
            {
                Id = u.Id,
                TaskNo = u.TaskNo,
                PlcName = plcid.StationNum + "工位," + plcid.Text,
                InteractiveMsg = u.InteractiveMsg,
                CreateTime = u.CreateTime
            })
            .OrderByDescending(u=>u.CreateTime);
        return await query.OrderBuilder(input,"","").ToPagedListAsync(input.Page, input.PageSize);
    }
    /// <summary>
Admin.NET/WCS.Application/Util/HttpService.cs
@@ -1,4 +1,5 @@
using Furion.Logging;
using Elastic.Clients.Elasticsearch;
using Furion.Logging;
using Furion.RemoteRequest.Extensions;
using Newtonsoft.Json;
using System.Text;
@@ -46,14 +47,16 @@
            string url = Urls.WMSAddress + ":" + Urls.WMSPort;
            var result =  (url + "/api/DownAPi/RequestRoadWay").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>().Result;
            Log.Information("调用WMS接口反馈任务接口" + result.ToJson());
            if (result.StatusCode == "0")
            if (result.Success == 0)
            {
                                
                var taskAdd = new WcsTask()
                {
                    TaskType = TaskTypeEnum.In,
                    Status = TaskStatusEnum.Wait,
                    Origin = "WMS",
                    StartLocate = startLocat,
                    PalletNo = palletNo,
                    TaskNo = result.TaskList.TaskNo,
                    EndLocate = result.TaskList.EndLocate,
                    EndRoadway = result.TaskList.EndRoadway
@@ -80,153 +83,6 @@
        endLocat = PLCCommon.RoadwayToStationNum(endLocat, ceng);
        return returnStr;
        // 确定目标工位//需添加层数确认
        //switch (endLocat)
        //{
        //    case "R01":
        //        if (ceng == "1")
        //        {
        //            endLocat = "145";
        //        }
        //        else if (ceng == "2")
        //        {
        //            endLocat = "252";
        //        }
        //        else if (ceng == "3")
        //        {
        //            endLocat = "101";
        //        }
        //        break;
        //    case "R02":
        //        if (ceng == "1")
        //        {
        //            endLocat = "137";
        //        }
        //        else if (ceng == "2")
        //        {
        //            endLocat = "260";
        //        }
        //        else if (ceng == "3")
        //        {
        //            endLocat = "405";
        //        }
        //        break;
        //    case "R03":
        //        if (ceng == "1")
        //        {
        //            endLocat = "127";
        //        }
        //        else if (ceng == "2")
        //        {
        //            endLocat = "270";
        //        }
        //        else if (ceng == "3")
        //        {
        //            endLocat = "409";
        //        }
        //        break;
        //    case "R04":
        //        if (ceng == "1")
        //        {
        //            endLocat = "119";
        //        }
        //        else if (ceng == "2")
        //        {
        //            endLocat = "278";
        //        }
        //        else if (ceng == "3")
        //        {
        //            endLocat = "413";
        //        }
        //        break;
        //    case "R05":
        //        if (ceng == "1")
        //        {
        //            endLocat = "109";
        //        }
        //        else if (ceng == "2")
        //        {
        //            endLocat = "288";
        //        }
        //        else if (ceng == "3")
        //        {
        //            endLocat = "417";
        //        }
        //        break;
        //    case "R06":
        //        if (ceng == "1")
        //        {
        //            endLocat = "101";
        //        }
        //        else if (ceng == "2")
        //        {
        //            endLocat = "301";
        //        }
        //        else if (ceng == "3")
        //        {
        //            endLocat = "421";
        //        }
        //        break;
        //    case "R07":
        //        if (ceng == "1")
        //        {
        //            endLocat = "091";
        //        }
        //        else if (ceng == "2")
        //        {
        //            endLocat = "307";
        //        }
        //        else if (ceng == "3")
        //        {
        //            endLocat = "425";
        //        }
        //        break;
        //    case "R08":
        //        if (ceng == "1")
        //        {
        //            endLocat = "083";
        //        }
        //        else if (ceng == "2")
        //        {
        //            endLocat = "315";
        //        }
        //        else if (ceng == "3")
        //        {
        //            endLocat = "429";
        //        }
        //        break;
        //    case "R09":
        //        if (ceng == "1")
        //        {
        //            endLocat = "073";
        //        }
        //        else if (ceng == "2")
        //        {
        //            endLocat = "325";
        //        }
        //        else if (ceng == "3")
        //        {
        //            endLocat = "433";
        //        }
        //        break;
        //    case "R10":
        //        if (ceng == "1")
        //        {
        //            endLocat = "065";
        //        }
        //        else if (ceng == "2")
        //        {
        //            endLocat = "337";
        //        }
        //        else if (ceng == "3")
        //        {
        //            endLocat = "437";
        //        }
        //        break;
        //}
    }
    /// <summary>
@@ -258,20 +114,35 @@
            string url = Urls.WMSAddress + ":" + Urls.WMSPort;
            var result = (url + "/api/DownAPi/RequestLocation").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>().Result;
            Log.Information("调用WMS申请储位接口反馈任务接口" + result.ToJson());
            if (result.StatusCode == "0")
            if (result.Success == 0)
            {
                var taskAdd = new WcsTask()
                var taskUp = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.TaskNo == result.TaskList.TaskNo);
                if (taskUp == null)
                {
                    TaskType = TaskTypeEnum.In,
                    Origin = "WMS",
                    StartLocate = startLocat,
                    TaskNo = result.TaskList.TaskNo,
                    EndLocate = result.TaskList.EndLocate,
                    EndRoadway = result.TaskList.EndRoadway
                };
                    var taskAdd = new WcsTask()
                    {
                        TaskNo = result.TaskList.TaskNo,
                        TaskType = TaskTypeEnum.In,
                        Status = TaskStatusEnum.Wait,
                        //IsSuccess =TaskSuccessEnum.Success,
                        Origin = "WMS",
                        StartLocate = startLocat,
                        PalletNo = palletNo,
                        EndLocate = result.TaskList.EndLocate,
                        EndRoadway = result.TaskList.EndRoadway
                    };
                    _db.Insertable(taskAdd).ExecuteCommand();
                }
                else
                {
                    taskUp.EndRoadway = result.TaskList.EndRoadway;
                    taskUp.EndLocate = result.TaskList.EndLocate;
                    _db.Updateable(taskUp).ExecuteCommand();
                }
                _db.Updateable(taskAdd).ExecuteCommand();
                returnStr = result.TaskList.EndLocate;
                taskNo = result.TaskList.TaskNo;
            }
Web/src/views/wcs/wcsTask/index.vue
@@ -35,6 +35,16 @@
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
                <el-form-item label="托盘号">
                  <el-input v-model="queryParams.palletNo" clearable="" placeholder="请输入托盘号" />
                </el-form-item>
              </el-col>
              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
                <el-form-item label="来源">
                  <el-input v-model="queryParams.origin" clearable="" placeholder="请输入来源" />
                </el-form-item>
              </el-col>
              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
                <el-form-item>
                  <el-button-group style="display: flex; align-items: center;">
@@ -70,16 +80,39 @@
                  scope.row.status)?.name }}</el-tag>
              </template>
            </el-table-column>
            <el-table-column prop="origin" label="来源" show-overflow-tooltip="" />
            <el-table-column prop="startLocate" label="起始位置" show-overflow-tooltip="" />
            <el-table-column prop="endLocate" label="结束位置" show-overflow-tooltip="" />
            <el-table-column prop="palletNo" label="托盘号" show-overflow-tooltip="" />
            <el-table-column prop="completeQty" label="拆垛箱数" show-overflow-tooltip="" />
            <el-table-column prop="palletQty" label="整跺箱数" show-overflow-tooltip="" />
            <el-table-column prop="lotNo" label="批次号" show-overflow-tooltip="" />
            <el-table-column prop="skuNo" label="物料编码" show-overflow-tooltip="" />
            <el-table-column prop="skuName" label="物料名称" show-overflow-tooltip="" />
            <el-table-column prop="unstackingMode" width="100" label="拆垛方式" show-overflow-tooltip="">
              <template #default="scope">
                <span v-if="scope.row.unstackingMode">
                  <el-tag :type="dv('UnstackingModeEnum', scope.row.unstackingMode)?.tagType"> {{ dv('UnstackingModeEnum',
                  scope.row.unstackingMode)?.name }}</el-tag>
                </span>
              </template>
            </el-table-column>
            <el-table-column prop="isBind" width="85" label="是否绑定" show-overflow-tooltip="">
              <template #default="scope">
                <span v-if="scope.row.isBind!=null">
                  <el-tag :type="dv('IsBindEnum', scope.row.isBind)?.tagType"> {{ dv('IsBindEnum',
                  scope.row.isBind)?.name }}</el-tag>
                </span>
              </template>
            </el-table-column>
            <el-table-column prop="stationNum" label="拆垛工位号" show-overflow-tooltip="" />
            <el-table-column prop="cancelDate" label="取消时间" show-overflow-tooltip="" />
            <el-table-column prop="finishDate" label="完成时间" show-overflow-tooltip="" />
            <el-table-column label="修改记录" width="80" align="center" show-overflow-tooltip>
            <!-- <el-table-column label="修改记录" width="80" align="center" show-overflow-tooltip>
              <template #default="scope">
                <ModifyRecord :data="scope.row" />
              </template>
            </el-table-column>
            </el-table-column> -->
            <el-table-column prop="操作" label="操作" width="130" align="center" fixed="right" show-overflow-tooltip=""
              v-if="auth('wcsTask:complete') || auth('wcsTask:cancell')">
              <template #default="scope">
@@ -126,14 +159,15 @@
            border="">
            <el-table-column type="index" label="序号" width="55" align="center" />
            <el-table-column prop="taskNo" label="任务号" show-overflow-tooltip="" />
            <el-table-column prop="plcId" label="交互工位号" show-overflow-tooltip="" />
            <!-- <el-table-column prop="plcId" label="交互工位号" show-overflow-tooltip="" /> -->
            <el-table-column prop="plcName" label="交互位置" show-overflow-tooltip="" />
            <el-table-column prop="interactiveMsg" label="交互信息" show-overflow-tooltip="" />
            <el-table-column label="修改记录" width="80" align="center" show-overflow-tooltip>
            <el-table-column prop="createTime" label="交互时间" show-overflow-tooltip="" />
            <!-- <el-table-column label="修改记录" width="80" align="center" show-overflow-tooltip>
              <template #default="scope">
                <ModifyRecord :data="scope.row" />
              </template>
            </el-table-column>
            </el-table-column> -->
          </el-table>
          <el-pagination v-model:currentPage="tableParams2.page" v-model:page-size="tableParams2.pageSize"
            :total="tableParams2.total" :page-sizes="[10, 20, 50, 100, 200, 500]" size="small" background=""