From af5847927931d3f491d7be5e0178cff3c37ac6f9 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 06 十一月 2025 17:20:44 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json                                |   45 
 项目代码/WMS/WIDESEA_WMSClient/src/components/Index/TaskList.vue                                            |    4 
 项目代码/WMS/WIDESEA_WMSClient/src/views/Index.vue                                                          |    8 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs                           |   29 
 项目代码/WMS/WIDESEA_WMSClient/src/components/basic/ViewGrid/ViewGrid.vue                                   |  418 ++++++---
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json                         |   42 
 项目代码/WMS/WIDESEA_WMSClient/src/assets/imgs/a.png                                                        |    0 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue          |   44 
 项目代码/WMS/WIDESEA_WMSClient/src/views/Home.vue                                                           |   43 
 项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/InboundOrder.vue                                 |    2 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/components/basic/VolTable.vue                                            | 1426 +++++++++++++++++++--------------
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db          |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionoutOrderDetail.vue      |   53 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm      |    0 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json                                |   99 +
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs                          |    2 
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx                        |   46 
 项目代码/WMS/WIDESEA_WMSClient/index.html                                                                   |    4 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs                         |    7 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm      |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx                               |   24 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json                         |  118 ++
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/TaskData.cs                                                |   14 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm |    0 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db     |    0 
 项目代码/WMS/WIDESEA_WMSClient/public/a.png                                                                 |    0 
 /dev/null                                                                                               |    0 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db          |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderDetailService.cs               |   22 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal      |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/views/Login.vue                                                          |    6 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderDetailService.cs             |   22 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal      |    0 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db     |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/WIDESEA_OrderServices.csproj                           |    1 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue                            |    4 
 39 files changed, 1,524 insertions(+), 959 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db"
index 1b2a8af..146b995 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
index b35c5bd..57140b3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
index b45808f..5505e12 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
index 073d71f..2edc113 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
index bc5fada..b294b2c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
index 518e67c..1c305d0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
index dfc9e52..c37bc6f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
@@ -3,14 +3,6 @@
   "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
@@ -21,6 +13,14 @@
     {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -42,19 +42,20 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 5,
+          "SelectedChildIndex": 0,
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 2,
+              "DocumentIndex": 0,
               "Title": "TaskService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
               "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAGkBAAAAAAAAAAAewHoBAAAXAAAAAAAAAA==",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAANACAAAkAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-09-25T03:21:17.498Z"
+              "WhenOpened": "2025-09-25T03:21:17.498Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
@@ -70,19 +71,19 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
+              "DocumentIndex": 1,
               "Title": "CommonStackerCraneJob.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
-              "ViewState": "AgIAAEQAAAAAAAAAAAAIwEsAAAAUAAAAAAAAAA==",
+              "ViewState": "AgIAAEMAAAAAAAAAAAD4v10AAAA6AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-10-08T02:55:34.719Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 1,
+              "DocumentIndex": 4,
               "Title": "CommonConveyorLineJob.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
@@ -106,16 +107,15 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 0,
+              "DocumentIndex": 3,
               "Title": "CommonAGVJob.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
-              "ViewState": "AgIAAGwAAAAAAAAAAAAIwG4AAACFAAAAAAAAAA==",
+              "ViewState": "AgIAADwAAAAAAAAAAAAIwEoAAABOAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-09T05:11:29.775Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-10-09T05:11:29.775Z"
             },
             {
               "$type": "Document",
@@ -131,13 +131,13 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 4,
+              "DocumentIndex": 2,
               "Title": "AGVSignal.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
-              "ViewState": "AgIAACcAAAAAAAAAAAAMwL0AAAB9AAAAAAAAAA==",
+              "ViewState": "AgIAAJQAAAAAAAAAAAAjwKUAAABGAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-10-13T01:17:34.312Z"
             }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
index cc52c1c..da62172 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
@@ -3,6 +3,14 @@
   "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
   "Documents": [
     {
+      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
@@ -11,16 +19,8 @@
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -42,17 +42,17 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 7,
+          "SelectedChildIndex": 0,
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 2,
+              "DocumentIndex": 0,
               "Title": "TaskService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
               "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAOgBAAAAAAAAAAAnwLMBAAAiAAAAAAAAAA==",
+              "ViewState": "AgIAAEkAAAAAAAAAAAAAwNACAAAkAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-09-25T03:21:17.498Z",
               "EditorCaption": ""
@@ -71,19 +71,20 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 4,
+              "DocumentIndex": 1,
               "Title": "CommonStackerCraneJob.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
-              "ViewState": "AgIAAEQAAAAAAAAAAAAIwEsAAAAUAAAAAAAAAA==",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAF0AAAA6AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-08T02:55:34.719Z"
+              "WhenOpened": "2025-10-08T02:55:34.719Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
+              "DocumentIndex": 4,
               "Title": "CommonConveyorLineJob.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
@@ -107,7 +108,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 1,
+              "DocumentIndex": 3,
               "Title": "CommonAGVJob.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
@@ -115,8 +116,7 @@
               "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
               "ViewState": "AgIAADwAAAAAAAAAAAAIwEoAAABOAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-09T05:11:29.775Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-10-09T05:11:29.775Z"
             },
             {
               "$type": "Document",
@@ -132,16 +132,15 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 0,
+              "DocumentIndex": 2,
               "Title": "AGVSignal.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs*",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs*",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
               "ViewState": "AgIAAJQAAAAAAAAAAAAjwKUAAABGAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-13T01:17:34.312Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-10-13T01:17:34.312Z"
             }
           ]
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/index.html" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/index.html"
index 8587539..f5561b1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/index.html"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/index.html"
@@ -3,9 +3,9 @@
 
 <head>
   <meta charset="UTF-8" />
-  <link rel="icon" href="/favicon.ico" />
+  <link rel="icon" href="/a.png" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>WIDESEA_WMS</title>
+  <title>鏄庡拰WMS</title>
   <script>
     var lang_storage_key = 'vol_lang';
   </script>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/public/a.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/public/a.png"
new file mode 100644
index 0000000..883bc8e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/public/a.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/assets/imgs/a.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/assets/imgs/a.png"
new file mode 100644
index 0000000..883bc8e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/assets/imgs/a.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/Index/TaskList.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/Index/TaskList.vue"
index 4ee45e1..139b7d7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/Index/TaskList.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/Index/TaskList.vue"
@@ -48,7 +48,7 @@
             left: 'center'
         },
         series: [{
-            name: '浠诲姟鐘舵�佸垎甯�',
+            name: '浠婃棩浠诲姟鏁版嵁',
             type: 'pie',
             radius: ['40%', '70%'],
             avoidLabelOverlap: false,
@@ -111,6 +111,6 @@
 .pie-chart-container {
     width: 100%;
     height: 100%;
-    min-height: 300px;
+    min-height: 400px;
 }
 </style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/ViewGrid/ViewGrid.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/ViewGrid/ViewGrid.vue"
index c66cf97..5be6e89 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/ViewGrid/ViewGrid.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/ViewGrid/ViewGrid.vue"
@@ -2,35 +2,60 @@
   <div class="layout-container">
     <a :href="exportHref" ref="export"></a>
     <!--寮�鍚噿鍔犺浇2020.12.06 -->
-    <vol-box :on-model-close="closeCustomModel" v-model="viewModel" :height="520" :width="500" :padding="0" :lazy="true"
-      title="璁剧疆">
+    <vol-box
+      :on-model-close="closeCustomModel"
+      v-model="viewModel"
+      :height="520"
+      :width="500"
+      :padding="0"
+      :lazy="true"
+      title="璁剧疆"
+    >
       <template #content>
         <custom-column :view-columns="viewColumns"></custom-column>
       </template>
       <template #footer>
         <div style="text-align: center">
-          <el-button type="default" size="small" @click="closeCustomModel"><i class="el-icon-close"></i>鍙栨秷</el-button>
-          <el-button type="success" size="small" @click="initViewColumns(true)"><i
-              class="el-icon-refresh"></i>閲嶇疆</el-button>
-          <el-button type="primary" size="small" @click="saveColumnConfig"><i class="el-icon-check"></i>纭畾</el-button>
+          <el-button type="default" size="small" @click="closeCustomModel"
+            ><i class="el-icon-close"></i>鍙栨秷</el-button
+          >
+          <el-button type="success" size="small" @click="initViewColumns(true)"
+            ><i class="el-icon-refresh"></i>閲嶇疆</el-button
+          >
+          <el-button type="primary" size="small" @click="saveColumnConfig"
+            ><i class="el-icon-check"></i>纭畾</el-button
+          >
         </div>
       </template>
     </vol-box>
-    <ViewGridAudit @auditClick="saveAudit" :option="table" ref="audit">
-
-    </ViewGridAudit>
+    <ViewGridAudit @auditClick="saveAudit" :option="table" ref="audit"> </ViewGridAudit>
 
     <!--瀵煎叆excel鍔熻兘-->
     <!--2020.10.31娣诲姞瀵煎叆鍓嶇殑鏂规硶-->
     <!--寮�鍚噿鍔犺浇2020.12.06 -->
     <!-- 2022.01.08澧炲姞鏄庣粏琛ㄥ鍏ュ垽鏂� -->
-    <vol-box v-if="upload.url" v-model="upload.excel" :height="350" :width="600" :lazy="true"
-      :title="(boxModel ? detailOptions.cnName : table.cnName) + '-瀵煎叆'">
-      <UploadExcel ref="upload_excel" @importExcelAfter="importExcelAfter" :importExcelBefore="importExcelBefore"
-        :url="upload.url" :template="upload.template"></UploadExcel>
+    <vol-box
+      v-if="upload.url"
+      v-model="upload.excel"
+      :height="350"
+      :width="600"
+      :lazy="true"
+      :title="(boxModel ? detailOptions.cnName : table.cnName) + '-瀵煎叆'"
+    >
+      <UploadExcel
+        ref="upload_excel"
+        @importExcelAfter="importExcelAfter"
+        :importExcelBefore="importExcelBefore"
+        :url="upload.url"
+        :template="upload.template"
+      ></UploadExcel>
     </vol-box>
     <!--澶撮儴鑷畾涔夌粍浠�-->
-    <component :is="dynamicComponent.gridHeader" ref="gridHeader" @parentCall="parentCall"></component>
+    <component
+      :is="dynamicComponent.gridHeader"
+      ref="gridHeader"
+      @parentCall="parentCall"
+    ></component>
     <!--涓荤晫闈㈡煡璇笌table琛ㄥ崟甯冨眬-->
     <div class="view-container">
       <!-- 2020.09.11澧炲姞鍥哄畾鏌ヨ琛ㄥ崟 -->
@@ -38,8 +63,15 @@
       <div class="grid-search">
         <div :class="[fiexdSearchForm ? 'fiexd-search-box' : 'search-box']" v-show="searchBoxShow">
           <!-- 2020.09.13澧炲姞formFileds鎷煎啓閿欒鍏煎澶勭悊 -->
-          <vol-form ref="searchForm" :load-key="false" style="padding: 0 15px" :label-width="labelWidth"
-            :formRules="searchFormOptions" :formFields="searchFormFields" :select2Count="select2Count">
+          <vol-form
+            ref="searchForm"
+            :load-key="false"
+            style="padding: 0 15px"
+            :label-width="labelWidth"
+            :formRules="searchFormOptions"
+            :formFields="searchFormFields"
+            :select2Count="select2Count"
+          >
             <template #footer>
               <div v-if="!fiexdSearchForm" class="form-closex">
                 <el-button size="small" type="primary" plain @click="search">
@@ -67,9 +99,15 @@
           </div>
           <!--蹇�熸煡璇㈠瓧娈�-->
           <div class="search-line" v-if="!fiexdSearchForm && !searchBoxShow">
-            <QuickSearch v-if="singleSearch" :searchFormOptions="searchFormOptions" :searchFormFields="searchFormFields"
-              :select2Count="select2Count" :label-width="labelWidth" :queryFields="queryFields"
-              @tiggerPress="quickSearchKeyPress"></QuickSearch>
+            <QuickSearch
+              v-if="singleSearch"
+              :searchFormOptions="searchFormOptions"
+              :searchFormFields="searchFormFields"
+              :select2Count="select2Count"
+              :label-width="labelWidth"
+              :queryFields="queryFields"
+              @tiggerPress="quickSearchKeyPress"
+            ></QuickSearch>
           </div>
           <!--鎿嶄綔鎸夐挳缁�-->
           <!-- 2020.11.29澧炲姞鏌ヨ鐣岄潰hidden灞炴�� -->
@@ -78,7 +116,8 @@
             <template :key="bIndex" v-for="(btn, bIndex) in buttons.slice(0, maxBtnLength)">
               <el-dropdown size="small" v-if="btn.data" :split-button="false">
                 <el-button :color="btn.color" :dark="false" :type="btn.type" :plain="btn.plain">
-                  {{ btn.name }}<i class="el-icon-arrow-down el-icon--right"></i></el-button>
+                  {{ btn.name }}<i class="el-icon-arrow-down el-icon--right"></i
+                ></el-button>
                 <template #dropdown>
                   <el-dropdown-menu>
                     <el-dropdown-item v-for="(item, index) in btn.data" :key="index">
@@ -90,13 +129,28 @@
                   </el-dropdown-menu>
                 </template>
               </el-dropdown>
-              <el-button v-else :type="btn.type" size="small" :color="btn.color" :dark="false" :class="btn.class"
-                :plain="btn.plain" v-show="!btn.hidden" @click="onClick(btn.onClick)">
+              <el-button
+                v-else
+                :type="btn.type"
+                size="small"
+                :color="btn.color"
+                :dark="false"
+                :class="btn.class"
+                :plain="btn.plain"
+                v-show="!btn.hidden"
+                @click="onClick(btn.onClick)"
+              >
                 <i :class="btn.icon"></i> {{ btn.name }}
               </el-button>
             </template>
-            <el-button type="default" style="padding: 0px 10px" size="small" :plain="true" v-if="showCustom"
-              @click="showCustomModel">
+            <el-button
+              type="default"
+              style="padding: 0px 10px"
+              size="small"
+              :plain="true"
+              v-if="showCustom"
+              @click="showCustomModel"
+            >
               <i class="el-icon-s-grid"></i>
             </el-button>
             <el-dropdown size="small" @click="changeDropdown" v-if="buttons.length > maxBtnLength">
@@ -105,11 +159,15 @@
               </el-button>
               <template #dropdown>
                 <el-dropdown-menu>
-                  <el-dropdown-item @click="changeDropdown(item.name)" :name="item.name" v-show="!item.hidden" v-for="(item, dIndex) in buttons.slice(
-                    maxBtnLength,
-                    buttons.length
-                  )" :key="dIndex">
-                    <i :class="item.icon"></i> {{ item.name }}</el-dropdown-item>
+                  <el-dropdown-item
+                    @click="changeDropdown(item.name)"
+                    :name="item.name"
+                    v-show="!item.hidden"
+                    v-for="(item, dIndex) in buttons.slice(maxBtnLength, buttons.length)"
+                    :key="dIndex"
+                  >
+                    <i :class="item.icon"></i> {{ item.name }}</el-dropdown-item
+                  >
                 </el-dropdown-menu>
               </template>
             </el-dropdown>
@@ -117,27 +175,54 @@
         </div>
 
         <!-- 鍒嗗壊浣嶇疆 -->
-        <vol-box v-if="boxInit" v-model="boxModel" :title="boxOptions.title" :width="boxOptions.width"
-          :height="boxOptions.height" :modal="boxOptions.modal" :draggable="boxOptions.draggable" :padding="0"
-          :on-model-close="onGridModelClose" @fullscreen="fullscreen">
+        <vol-box
+          v-if="boxInit"
+          v-model="boxModel"
+          :title="boxOptions.title"
+          :width="boxOptions.width"
+          :height="boxOptions.height"
+          :modal="boxOptions.modal"
+          :draggable="boxOptions.draggable"
+          :padding="0"
+          :on-model-close="onGridModelClose"
+          @fullscreen="fullscreen"
+        >
           <!--鏄庣粏澶撮儴鑷畾涔夌粍浠�-->
           <template #content>
             <div class="box-com vol-edit-box">
               <div class="vol-edit-content">
-                <component :is="dynamicComponent.modelHeader" ref="modelHeader" @parentCall="parentCall"></component>
+                <component
+                  :is="dynamicComponent.modelHeader"
+                  ref="modelHeader"
+                  @parentCall="parentCall"
+                ></component>
                 <!-- <div v-show="isBoxAudit" class="flow-step">
                 <div v-for="(item, index) in workFlowSteps" :key="index">
                   {{ item.stepName }}
                 </div>
               </div> -->
                 <div class="item form-item">
-                  <vol-form ref="form" :editor="editor" :load-key="false" :label-width="boxOptions.labelWidth"
-                    :formRules="editFormOptions" :formFields="editFormFields" :select2Count="select2Count"></vol-form>
+                  <vol-form
+                    ref="form"
+                    :editor="editor"
+                    :load-key="false"
+                    :label-width="boxOptions.labelWidth"
+                    :formRules="editFormOptions"
+                    :formFields="editFormFields"
+                    :select2Count="select2Count"
+                  ></vol-form>
                 </div>
                 <!--鏄庣粏body鑷畾涔夌粍浠�-->
-                <component :is="dynamicComponent.modelBody" ref="modelBody" @parentCall="parentCall"></component>
-                <div v-show="hasDetail" v-if="detail.columns && detail.columns.length > 0"
-                  class="grid-detail table-item item">
+                <component
+                  :is="dynamicComponent.modelBody"
+                  ref="modelBody"
+                  @parentCall="parentCall"
+                ></component>
+                <div
+                  v-show="hasDetail"
+                  v-if="detail.columns && detail.columns.length > 0"
+                  class="grid-detail table-item item"
+                >
                   <div class="toolbar">
                     <div class="title form-text">
                       <span>
@@ -147,43 +232,85 @@
                     </div>
                     <!--鏄庣粏琛ㄦ牸鎸夐挳-->
                     <div class="btns" v-show="!isBoxAudit">
-                      <el-button v-for="(btn, bIndex) in detailOptions.buttons" :key="bIndex" :plain="btn.plain"
-                        v-show="!(typeof btn.hidden == 'boolean' && btn.hidden)" @click="onClick(btn.onClick)"
-                        size="small"><i :class="btn.icon"></i>{{ btn.name }}</el-button>
+                      <el-button
+                        v-for="(btn, bIndex) in detailOptions.buttons"
+                        :key="bIndex"
+                        :plain="btn.plain"
+                        v-show="!(typeof btn.hidden == 'boolean' && btn.hidden)"
+                        @click="onClick(btn.onClick)"
+                        size="small"
+                        ><i :class="btn.icon"></i>{{ btn.name }}</el-button
+                      >
                     </div>
                   </div>
-                  <vol-table ref="detail" @loadBefore="loadInternalDetailTableBefore" @loadAfter="loadDetailTableAfter"
-                    @rowChange="detailRowOnChange" @rowClick="detailRowOnClick" :url="detailOptions.url"
-                    :load-key="false" :index="true" :tableData="detailOptions.data" :columns="detailOptions.columns"
-                    :pagination="detailOptions.pagination" :height="detailOptions.height" :single="detailOptions.single"
-                    :pagination-hide="detailOptions.paginationHide" :defaultLoadPage="detailOptions.load"
-                    :beginEdit="detailOptions.beginEdit" :endEditBefore="detailOptions.endEditBefore"
-                    :endEditAfter="detailOptions.endEditAfter" :double-edit="detailOptions.doubleEdit"
-                    :column-index="detailOptions.columnIndex" :ck="detailOptions.ck"
-                    :text-inline="detailOptions.textInline" :select2Count="select2Count" :selectable="detailSelectable"
-                    :spanMethod="detailSpanMethod"></vol-table>
+                  <vol-table
+                    ref="detail"
+                    @loadBefore="loadInternalDetailTableBefore"
+                    @loadAfter="loadDetailTableAfter"
+                    @rowChange="detailRowOnChange"
+                    @rowClick="detailRowOnClick"
+                    :url="detailOptions.url"
+                    :load-key="false"
+                    :index="true"
+                    :tableData="detailOptions.data"
+                    :columns="detailOptions.columns"
+                    :pagination="detailOptions.pagination"
+                    :height="detailOptions.height"
+                    :single="detailOptions.single"
+                    :pagination-hide="detailOptions.paginationHide"
+                    :defaultLoadPage="detailOptions.load"
+                    :beginEdit="detailOptions.beginEdit"
+                    :endEditBefore="detailOptions.endEditBefore"
+                    :endEditAfter="detailOptions.endEditAfter"
+                    :double-edit="detailOptions.doubleEdit"
+                    :column-index="detailOptions.columnIndex"
+                    :ck="detailOptions.ck"
+                    :text-inline="detailOptions.textInline"
+                    :select2Count="select2Count"
+                    :selectable="detailSelectable"
+                    :spanMethod="detailSpanMethod"
+                  ></vol-table>
                 </div>
-                <component :is="dynamicComponent.modelFooter" ref="modelFooter" @parentCall="parentCall"></component>
+                <component
+                  :is="dynamicComponent.modelFooter"
+                  ref="modelFooter"
+                  @parentCall="parentCall"
+                ></component>
               </div>
               <div class="vol-edit-box-right">
-                <component :is="dynamicComponent.modelRight" ref="modelRight" @parentCall="parentCall"></component>
+                <component
+                  :is="dynamicComponent.modelRight"
+                  ref="modelRight"
+                  @parentCall="parentCall"
+                ></component>
               </div>
             </div>
           </template>
           <template #footer>
-            <div style="text-align: center;" v-show="isBoxAudit">
+            <div style="text-align: center" v-show="isBoxAudit">
               <el-button size="small" type="primary" plain @click="onGridModelClose(false)">
                 <i class="el-icon-close">鍏抽棴</i>
               </el-button>
-              <el-button size="small" type="primary" v-show="auditParam.showViewButton"
-                @click="auditParam.model = true">
+              <el-button
+                size="small"
+                type="primary"
+                v-show="auditParam.showViewButton"
+                @click="auditParam.model = true"
+              >
                 <i class="el-icon-view">瀹℃壒</i>
               </el-button>
             </div>
             <div v-show="!isBoxAudit">
-              <el-button v-for="(btn, bIndex) in boxButtons" :key="bIndex" :type="btn.type" size="small"
-                :plain="btn.plain" v-show="!(typeof btn.hidden == 'boolean' && btn.hidden)"
-                :disabled="btn.hasOwnProperty('disabled') && !!btn.disabled" @click="onClick(btn.onClick)">
+              <el-button
+                v-for="(btn, bIndex) in boxButtons"
+                :key="bIndex"
+                :type="btn.type"
+                size="small"
+                :plain="btn.plain"
+                v-show="!(typeof btn.hidden == 'boolean' && btn.hidden)"
+                :disabled="btn.hasOwnProperty('disabled') && !!btn.disabled"
+                @click="onClick(btn.onClick)"
+              >
                 <i :class="btn.icon"></i>{{ btn.name }}
               </el-button>
               <el-button size="small" type="primary" plain @click="onGridModelClose(false)">
@@ -195,26 +322,61 @@
       </div>
       <!--body鑷畾涔夌粍浠�-->
       <div class="grid-body">
-        <component :is="dynamicComponent.gridBody" ref="gridBody" @parentCall="parentCall"></component>
+        <component
+          :is="dynamicComponent.gridBody"
+          ref="gridBody"
+          @parentCall="parentCall"
+        ></component>
       </div>
 
       <!--table琛ㄦ牸-->
       <div class="grid-container">
         <!-- 2021.05.02澧炲姞鏍戝舰缁撴瀯 rowKey -->
-        <vol-table ref="table" :single="single" :rowKey="rowKey" :loadTreeChildren="loadTreeTableChildren"
-          @loadBefore="loadTableBefore" @loadAfter="loadTableAfter" @rowChange="rowOnChange" @rowClick="rowOnClick"
-          @rowDbClick="rowOnDbClick" @selectionChange="selectionOnChange" :tableData="[]" :linkView="linkData"
-          :columns="columns" :pagination="pagination" :height="height" :max-height="tableMaxHeight"
-          :pagination-hide="paginationHide" :url="url" :load-key="false" :defaultLoadPage="load"
-          :double-edit="doubleEdit" :index="doubleEdit" :beginEdit="tableBeginEdit" :endEditBefore="tableEndEditBefore"
-          :column-index="columnIndex" :text-inline="textInline" :ck="ck" :select2Count="select2Count"
-          :selectable="selectable" :spanMethod="spanMethod" :lazy="lazy" :defaultExpandAll="defaultExpandAll"
-          :expandRowKeys="expandRowKeys" :rowParentField="rowParentField"></vol-table>
+        <vol-table
+          ref="table"
+          :single="single"
+          :rowKey="rowKey"
+          :loadTreeChildren="loadTreeTableChildren"
+          @loadBefore="loadTableBefore"
+          @loadAfter="loadTableAfter"
+          @rowChange="rowOnChange"
+          @rowClick="rowOnClick"
+          @rowDbClick="rowOnDbClick"
+          @selectionChange="selectionOnChange"
+          :tableData="[]"
+          :linkView="linkData"
+          :columns="columns"
+          :pagination="pagination"
+          :height="height"
+          :max-height="tableMaxHeight"
+          :pagination-hide="paginationHide"
+          :url="url"
+          :load-key="false"
+          :defaultLoadPage="load"
+          :double-edit="doubleEdit"
+          :index="doubleEdit"
+          :beginEdit="tableBeginEdit"
+          :endEditBefore="tableEndEditBefore"
+          :column-index="columnIndex"
+          :text-inline="textInline"
+          :ck="ck"
+          :select2Count="select2Count"
+          :selectable="selectable"
+          :spanMethod="spanMethod"
+          :lazy="lazy"
+          :defaultExpandAll="defaultExpandAll"
+          :expandRowKeys="expandRowKeys"
+          :rowParentField="rowParentField"
+        ></vol-table>
       </div>
     </div>
 
     <!--footer鑷畾涔夌粍浠�-->
-    <component :is="dynamicComponent.gridFooter" ref="gridFooter" @parentCall="parentCall"></component>
+    <component
+      :is="dynamicComponent.gridFooter"
+      ref="gridFooter"
+      @parentCall="parentCall"
+    ></component>
   </div>
 </template>
 
@@ -231,34 +393,22 @@
   DOWNLOADTEMPLATE: 'DownLoadTemplate', //涓嬭浇瀵煎叆妯℃澘
   IMPORT: 'Import', //瀵煎叆(瀵煎叆琛ㄧ殑Excel鍔熻兘)
   UPLOAD: 'Upload' //涓婁紶鏂囦欢
-};
-import Empty from '@/components/basic/Empty.vue';
+}
+import Empty from '@/components/basic/Empty.vue'
 
-import VolTable from '@/components/basic/VolTable.vue';
-import VolForm from '@/components/basic/VolForm.vue';
-import {
-  defineAsyncComponent,
-  defineComponent,
-  ref,
-  shallowRef,
-  toRaw
-} from 'vue';
+import VolTable from '@/components/basic/VolTable.vue'
+import VolForm from '@/components/basic/VolForm.vue'
+import { defineAsyncComponent, defineComponent, ref, shallowRef, toRaw } from 'vue'
 var vueParam = {
   emits: ['parentCall'],
   components: {
     'vol-form': VolForm,
     'vol-table': VolTable,
     VolBox: defineAsyncComponent(() => import('@/components/basic/VolBox.vue')),
-    QuickSearch: defineAsyncComponent(() =>
-      import('@/components/basic/QuickSearch.vue')
-    ),
+    QuickSearch: defineAsyncComponent(() => import('@/components/basic/QuickSearch.vue')),
     Audit: defineAsyncComponent(() => import('@/components/basic/Audit.vue')),
-    UploadExcel: defineAsyncComponent(() =>
-      import('@/components/basic/UploadExcel.vue')
-    ),
-    'custom-column': defineAsyncComponent(() =>
-      import('./ViewGridCustomColumn.vue')
-    ),
+    UploadExcel: defineAsyncComponent(() => import('@/components/basic/UploadExcel.vue')),
+    'custom-column': defineAsyncComponent(() => import('./ViewGridCustomColumn.vue')),
     'vol-header': defineAsyncComponent(() => import('./../VolHeader.vue')),
     ViewGridAudit: defineAsyncComponent(() => import('./ViewGridAudit.vue'))
   },
@@ -273,17 +423,17 @@
       modelBody: Empty,
       modelRight: Empty,
       modelFooter: Empty
-    };
+    }
     //鍚堝苟鎵╁睍缁勪欢
     if (props.extend.components) {
       for (const key in props.extend.components) {
         if (props.extend.components[key]) {
-          dynamicCom[key] = toRaw(props.extend.components[key]);
+          dynamicCom[key] = toRaw(props.extend.components[key])
         }
       }
     }
-    const dynamicComponent = shallowRef(dynamicCom);
-    return { dynamicComponent };
+    const dynamicComponent = shallowRef(dynamicCom)
+    return { dynamicComponent }
   },
   data() {
     return {
@@ -335,7 +485,7 @@
       continueAddName: '淇濆瓨鍚庣户缁坊鍔�', //2021.04.11鎸夐挳鍚嶇О
       // detailUrl: "",
       detailOptions: {
-        paginationHide: false,//鏄惁闅愯棌鏄庣粏琛ㄥ垎椤�2023.10.23
+        paginationHide: false, //鏄惁闅愯棌鏄庣粏琛ㄥ垎椤�2023.10.23
         //寮瑰嚭妗嗕粠琛�(鏄庣粏)瀵硅薄
         //浠庤〃閰嶇疆
         buttons: [], //寮瑰嚭妗嗕粠琛ㄨ〃鏍兼搷浣滄寜閽�,鐩墠鏈夊垹闄よ锛屾坊鍔犺锛屽埛鏂版搷浣滐紝濡傞渶瑕佸叾浠栨搷浣滄寜閽紝鍙湪琛ㄥ搴旂殑.js涓坊鍔�
@@ -356,15 +506,15 @@
         currentReadonly: false, //褰撳墠鐢ㄦ埛娌℃湁缂栬緫鎴栨柊寤烘潈闄愭椂锛岃〃鍗曞彧璇�(鍙敤浜庡垽鏂敤鎴锋槸鍚︽湁缂栬緫鎴栨柊寤烘潈闄�)
         //寮�鍚紪杈戞椂
         beginEdit: (row, column, index) => {
-          return true;
+          return true
         },
         //缁撴潫缂栬緫鍓�
         endEditBefore: (row, column, index) => {
-          return true;
+          return true
         },
         //缁撴潫缂栬緫鍚�
         endEditAfter: (row, column, index) => {
-          return true;
+          return true
         },
         columnIndex: false, //2020.11.01鏄庣粏鏄惁鏄剧ず琛屽彿
         ck: true //2020.11.01鏄庣粏鏄惁鏄剧ずcheckbox
@@ -421,68 +571,64 @@
       //2022.09.26澧炲姞鑷畾涔夊鍑烘枃浠跺悕
       downloadFileName: null,
       select2Count: 2000, //瓒呭嚭500鏁伴噺鏄剧ずselect2缁勪欢
-      paginationHide: false,//鏄殣钘忓垎椤�(2023.10.11)
-      queryFields: [],//蹇嵎鏌ヨ瀛楁2024.01.18澧炲姞澶氫釜蹇嵎鏌ヨ瀛楁
-      lazy: true,//鏍戝舰琛ㄦ牸鏄惁榛樿寤惰繜鍔犺浇
-      defaultExpandAll: false,//鏍戝舰琛ㄦ牸鏄惁灞曞紑鎵�鏈�
-      expandRowKeys: [],//榛樿灞曞紑琛岀殑涓婚敭鍊�2024.09.03
-      paginationHide: false,//鏄惁闅愯棌鍒嗛〉
-      rowParentField: "", //鏍戝舰琛ㄦ牸鐖剁骇id
-      text: ""//鐣岄潰涓婃爣棰樺悗鏄剧ず鐨勬枃鏈紝鍙互鏄痟tml鏍囩
-    };
+      paginationHide: false, //鏄殣钘忓垎椤�(2023.10.11)
+      queryFields: [], //蹇嵎鏌ヨ瀛楁2024.01.18澧炲姞澶氫釜蹇嵎鏌ヨ瀛楁
+      lazy: true, //鏍戝舰琛ㄦ牸鏄惁榛樿寤惰繜鍔犺浇
+      defaultExpandAll: false, //鏍戝舰琛ㄦ牸鏄惁灞曞紑鎵�鏈�
+      expandRowKeys: [], //榛樿灞曞紑琛岀殑涓婚敭鍊�2024.09.03
+      paginationHide: false, //鏄惁闅愯棌鍒嗛〉
+      rowParentField: '', //鏍戝舰琛ㄦ牸鐖剁骇id
+      text: '' //鐣岄潰涓婃爣棰樺悗鏄剧ず鐨勬枃鏈紝鍙互鏄痟tml鏍囩
+    }
   },
   methods: {},
   activated() {
-    this.initFlowQuery();
+    this.initFlowQuery()
     //2020.06.25澧炲姞activated鏂规硶
-    this.onActivated && this.onActivated();
+    this.onActivated && this.onActivated()
     if (!this._inited) {
-      this._inited = true;
-      return;
+      this._inited = true
+      return
     }
     if (this.activatedLoad) {
-      this.refresh();
+      this.refresh()
     }
   },
   mounted() {
-    this.mounted();
+    this.mounted()
     // this.$refs.searchForm.forEach()
   },
   unmounted() {
-    this.destroyed();
+    this.destroyed()
   },
   created: function () {
     //鍚堝苟鑷畾涔変笟鍔℃墿灞曟柟娉�
-    Object.assign(this, this.extend.methods);
+    Object.assign(this, this.extend.methods)
     //濡傛灉娌℃湁鎸囧畾鎺掑簭瀛楁锛屽垯鐢ㄤ富閿綔涓洪粯璁ゆ帓搴忓瓧娈�
-    this.pagination.sortName = this.table.sortName || this.table.key;
-    this.initBoxButtons(); //鍒濆鍖栧脊鍑烘涓庢槑缁嗚〃鏍兼寜閽�
-    this.initAuditColumn();
-    this.onInit(); //鍒濆鍖栧墠锛屽鏋滈渶瑕佸仛鍏朵粬澶勭悊鍦ㄦ墿灞曟柟娉曚腑瑕嗙洊姝ゆ柟娉�
-    this.getButtons();
+    this.pagination.sortName = this.table.sortName || this.table.key
+    this.initBoxButtons() //鍒濆鍖栧脊鍑烘涓庢槑缁嗚〃鏍兼寜閽�
+    this.initAuditColumn()
+    this.onInit() //鍒濆鍖栧墠锛屽鏋滈渶瑕佸仛鍏朵粬澶勭悊鍦ㄦ墿灞曟柟娉曚腑瑕嗙洊姝ゆ柟娉�
+    this.getButtons()
     //鍒濆鍖栬嚜瀹氫箟琛ㄦ牸鍒�
-    this.initViewColumns();
+    this.initViewColumns()
     //鍒濆缂栬緫妗嗙瓑鏁版嵁
-    this.initBoxHeightWidth();
-    this.initDicKeys(); //鍒濆涓嬫鏁版嵁婧�
-    this.onInited(); //鍒濆鍖栧悗锛屽鏋滈渶瑕佸仛鍏朵粬澶勭悊鍦ㄦ墿灞曟柟娉曚腑瑕嗙洊姝ゆ柟娉�
+    this.initBoxHeightWidth()
+    this.initDicKeys() //鍒濆涓嬫鏁版嵁婧�
+    this.onInited() //鍒濆鍖栧悗锛屽鏋滈渶瑕佸仛鍏朵粬澶勭悊鍦ㄦ墿灞曟柟娉曚腑瑕嗙洊姝ゆ柟娉�
   },
-  beforeUpdate: function () { },
-  updated: function () { }
-};
+  beforeUpdate: function () {},
+  updated: function () {}
+}
 
-import props from './props.js';
-import methods from './methods.jsx';
+import props from './props.js'
+import methods from './methods.jsx'
 
 //鍚堝苟灞炴��
-vueParam.props = Object.assign(vueParam.props, props);
+vueParam.props = Object.assign(vueParam.props, props)
 //鍚堝苟鏂规硶
-vueParam.methods = Object.assign(
-  vueParam.methods,
-  methods,
-  props.extend.methods
-);
-export default defineComponent(vueParam);
+vueParam.methods = Object.assign(vueParam.methods, methods, props.extend.methods)
+export default defineComponent(vueParam)
 </script>
 <style lang="less" scoped>
 @import './ViewGrid.less';
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/VolTable.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/VolTable.vue"
index ec01ee7..5618bf6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/VolTable.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/VolTable.vue"
@@ -1,58 +1,114 @@
 <template>
   <!-- 2021.11.18绉婚櫎voltable鏂规硶@cell-mouse-leave="rowEndEdit" -->
-  <div class="vol-table" :class="[
-    textInline ? 'text-inline' : '',
-    fxRight ? 'fx-right' : '',
-    isChrome ? 'chrome' : '',
-    smallCell ? 'small-table' : ''
-  ]">
+  <div
+    class="vol-table"
+    :class="[
+      textInline ? 'text-inline' : '',
+      fxRight ? 'fx-right' : '',
+      isChrome ? 'chrome' : '',
+      smallCell ? 'small-table' : ''
+    ]"
+  >
     <div class="mask" v-show="loading"></div>
     <div class="message" v-show="loading">鍔犺浇涓�.....</div>
-    <el-table :show-summary="summary" :summary-method="getSummaryData" :row-key="rowKey" :key="randomTableKey"
-      :lazy="lazy" :defaultExpandAll="defaultExpandAll" :expand-row-keys="rowKey ? expandRowKeys : undefined" stripe
-      :load="loadTreeChildren" @select="userSelect" @select-all="userSelect" @selection-change="selectionChange"
-      @row-dblclick="rowDbClick" @row-click="rowClick" @header-click="headerClick"
-      :highlight-current-row="highlightCurrentRow" ref="table" class="v-table" @sort-change="sortChange"
-      tooltip-effect="dark" :height="realHeight" :max-height="realMaxHeight" :data="url ? rowData : tableData" border
-      :row-class-name="initIndex" :cell-style="getCellStyle" style="width: 100%" :scrollbar-always-on="true"
-      :span-method="cellSpanMethod" @expand-change="expandChange">
+    <el-table
+      :show-summary="summary"
+      :summary-method="getSummaryData"
+      :row-key="rowKey"
+      :key="randomTableKey"
+      :lazy="lazy"
+      :defaultExpandAll="defaultExpandAll"
+      :expand-row-keys="rowKey ? expandRowKeys : undefined"
+      stripe
+      :load="loadTreeChildren"
+      @select="userSelect"
+      @select-all="userSelect"
+      @selection-change="selectionChange"
+      @row-dblclick="rowDbClick"
+      @row-click="rowClick"
+      @header-click="headerClick"
+      :highlight-current-row="highlightCurrentRow"
+      ref="table"
+      class="v-table"
+      @sort-change="sortChange"
+      tooltip-effect="dark"
+      :height="realHeight"
+      :max-height="realMaxHeight"
+      :data="url ? rowData : tableData"
+      border
+      :row-class-name="initIndex"
+      :cell-style="getCellStyle"
+      style="width: 100%"
+      :scrollbar-always-on="true"
+      :span-method="cellSpanMethod"
+      @expand-change="expandChange"
+    >
       <el-table-column v-if="columnIndex" type="index" :fixed="fixed" width="55"></el-table-column>
-      <el-table-column v-if="ck" type="selection" :fixed="fixed" :selectable="selectable" width="55"></el-table-column>
+      <el-table-column
+        v-if="ck"
+        type="selection"
+        :fixed="fixed"
+        :selectable="selectable"
+        width="55"
+      ></el-table-column>
 
       <!-- 2020.10.10绉婚櫎table绗竴琛屽己鍒舵帓搴� -->
-      <el-table-column v-for="(column, cindex) in filterColumns" :prop="column.field" :label="column.title"
-        :min-width="column.width" :formatter="formatter" :fixed="column.fixed" :key="column.field + cindex"
-        :align="column.align" :sortable="column.sort ? 'custom' : false" :show-overflow-tooltip=true>
+      <el-table-column
+        v-for="(column, cindex) in filterColumns"
+        :prop="column.field"
+        :label="column.title"
+        :min-width="column.width"
+        :formatter="formatter"
+        :fixed="column.fixed"
+        :key="column.field + cindex"
+        :align="column.align"
+        :sortable="column.sort ? 'custom' : false"
+        :show-overflow-tooltip="true"
+      >
         <template #header>
-          <span v-if="(column.require || column.required) && column.edit" class="column-required">*</span>{{
-            column.title }}
+          <span v-if="(column.require || column.required) && column.edit" class="column-required"
+            >*</span
+          >{{ column.title }}
         </template>
 
         <template #default="scope">
           <!-- 2022.01.08澧炲姞澶氳〃澶达紝鐜板湪鍙敮鎸佸父鐢ㄥ姛鑳芥覆鏌擄紝涓嶆敮鎸佺紪杈戝姛鑳�(娑夊強鍒扮粍浠堕噸鍐�) -->
-          <el-table-column style="border: none" v-for="columnChildren in filterChildrenColumn(column.children)"
-            :key="columnChildren.field" :min-width="columnChildren.width" :class-name="columnChildren.class"
-            :prop="columnChildren.field" :align="columnChildren.align" :label="columnChildren.title">
+          <el-table-column
+            style="border: none"
+            v-for="columnChildren in filterChildrenColumn(column.children)"
+            :key="columnChildren.field"
+            :min-width="columnChildren.width"
+            :class-name="columnChildren.class"
+            :prop="columnChildren.field"
+            :align="columnChildren.align"
+            :label="columnChildren.title"
+          >
             <template #default="scopeChildren">
-              <a href="javascript:void(0);" style="text-decoration: none"
-                @click="link(scopeChildren.row, columnChildren, $event)" v-if="columnChildren.link"
-                v-text="scopeChildren.row[columnChildren.field]"></a>
-              <table-render v-else-if="columnChildren.render && typeof columnChildren.render == 'function'"
-                :row="scopeChildren.row" key="rd-01" :index="scope.$index" :column="columnChildren"
-                :render="columnChildren.render"></table-render>
-              <div v-else-if="columnChildren.formatter" @click="
-                columnChildren.click &&
-                columnChildren.click(
-                  scopeChildren.row,
-                  columnChildren,
-                  scopeChildren.$index
-                )
-                " v-html="columnChildren.formatter(
-                  scopeChildren.row,
-                  columnChildren,
-                  scopeChildren.$index
-                )
-                  "></div>
+              <a
+                href="javascript:void(0);"
+                style="text-decoration: none"
+                @click="link(scopeChildren.row, columnChildren, $event)"
+                v-if="columnChildren.link"
+                v-text="scopeChildren.row[columnChildren.field]"
+              ></a>
+              <table-render
+                v-else-if="columnChildren.render && typeof columnChildren.render == 'function'"
+                :row="scopeChildren.row"
+                key="rd-01"
+                :index="scope.$index"
+                :column="columnChildren"
+                :render="columnChildren.render"
+              ></table-render>
+              <div
+                v-else-if="columnChildren.formatter"
+                @click="
+                  columnChildren.click &&
+                    columnChildren.click(scopeChildren.row, columnChildren, scopeChildren.$index)
+                "
+                v-html="
+                  columnChildren.formatter(scopeChildren.row, columnChildren, scopeChildren.$index)
+                "
+              ></div>
               <div v-else-if="columnChildren.bind">
                 {{ formatter(scopeChildren.row, columnChildren, true) }}
               </div>
@@ -65,108 +121,184 @@
             </template>
           </el-table-column>
           <!-- 2020.06.18澧炲姞render娓叉煋鑷畾涔夊唴瀹� -->
-          <table-render v-if="column.render && typeof column.render == 'function'" :row="scope.row" key="rd-01"
-            :index="scope.$index" :column="column" :render="column.render"></table-render>
+          <table-render
+            v-if="column.render && typeof column.render == 'function'"
+            :row="scope.row"
+            key="rd-01"
+            :index="scope.$index"
+            :column="column"
+            :render="column.render"
+          ></table-render>
           <!-- 鍚敤鍙屽嚮缂栬緫鍔熻兘锛屽甫缂栬緫鍔熻兘鐨勪笉浼氭覆鏌撲笅鎷夋鏂囨湰鑳屾櫙棰滆壊 -->
           <!-- @click="rowBeginEdit(scope.$index,cindex)" -->
           <!-- 2021.09.21澧炲姞缂栬緫鏃跺readonly灞炴�у垽鏂� -->
           <template
-            v-else-if="column.edit && !column.readonly && ['file', 'img', 'excel'].indexOf(column.edit.type) != -1">
-            <div style="display:flex;align-items: center;" @click.stop>
-              <i v-if="!column.showUpload || column.showUpload(scope.row, column)"
-                style="padding: 3px;margin-right: 10px;color:#8f9293;cursor: pointer;"
-                @click="showUpload(scope.row, column)" class="el-icon-upload"></i>
+            v-else-if="
+              column.edit &&
+              !column.readonly &&
+              ['file', 'img', 'excel'].indexOf(column.edit.type) != -1
+            "
+          >
+            <div style="display: flex; align-items: center" @click.stop>
+              <i
+                v-if="!column.showUpload || column.showUpload(scope.row, column)"
+                style="padding: 3px; margin-right: 10px; color: #8f9293; cursor: pointer"
+                @click="showUpload(scope.row, column)"
+                class="el-icon-upload"
+              ></i>
               <template v-if="column.edit.type == 'img'">
-                <img v-for="(file, imgIndex) in getFilePath(
-                  scope.row[column.field],
-                  column
-                )" :key="imgIndex" @error="handleImageError"
-                  @click="viewImg(scope.row, column, file.path, $event, imgIndex)" class="table-img" :src="file.path" />
+                <img
+                  v-for="(file, imgIndex) in getFilePath(scope.row[column.field], column)"
+                  :key="imgIndex"
+                  @error="handleImageError"
+                  @click="viewImg(scope.row, column, file.path, $event, imgIndex)"
+                  class="table-img"
+                  :src="file.path"
+                />
               </template>
-              <a style="margin-right: 8px" v-else class="t-file" v-for="(file, fIndex) in getFilePath(
-                scope.row[column.field],
-                column
-              )" :key="fIndex" @click="dowloadFile(file)">{{ file.name }}</a>
+              <a
+                style="margin-right: 8px"
+                v-else
+                class="t-file"
+                v-for="(file, fIndex) in getFilePath(scope.row[column.field], column)"
+                :key="fIndex"
+                @click="dowloadFile(file)"
+                >{{ file.name }}</a
+              >
             </div>
           </template>
-          <div v-else-if="
-            column.edit &&
-            !column.readonly &&
-            (column.edit.keep || edit.rowIndex == scope.$index)
-          " class="edit-el">
+          <div
+            v-else-if="
+              column.edit && !column.readonly && (column.edit.keep || edit.rowIndex == scope.$index)
+            "
+            class="edit-el"
+          >
             <div @click.stop class="e-item">
               <div>
                 <!-- 2020.07.24澧炲姞鏃ユ湡onChange浜嬩欢 -->
-                <el-date-picker clearable size="default" style="width: 100%"
-                  v-if="['date', 'datetime'].indexOf(column.edit.type) != -1" v-model="scope.row[column.field]" @change="(val) => {
-                    column.onChange &&
-                      column.onChange(scope.row, column, val);
-                  }
-                  " :type="column.edit.type" :placeholder="column.placeholder || column.title"
-                  :disabledDate="(val) => getDateOptions(val, column)" :value-format="getDateFormat(column)"
-                  :disabled="initColumnDisabled(scope.row, column)">
+                <el-date-picker
+                  clearable
+                  size="default"
+                  style="width: 100%"
+                  v-if="['date', 'datetime'].indexOf(column.edit.type) != -1"
+                  v-model="scope.row[column.field]"
+                  @change="
+                    (val) => {
+                      column.onChange && column.onChange(scope.row, column, val)
+                    }
+                  "
+                  :type="column.edit.type"
+                  :placeholder="column.placeholder || column.title"
+                  :disabledDate="(val) => getDateOptions(val, column)"
+                  :value-format="getDateFormat(column)"
+                  :disabled="initColumnDisabled(scope.row, column)"
+                >
                 </el-date-picker>
-                <el-time-picker clearable size="default" style="width: 100%" v-else-if="column.edit.type == 'time'"
-                  v-model="scope.row[column.field]" @change="(val) => {
-                    column.onChange &&
-                      column.onChange(scope.row, column, val);
-                  }
-                  " :placeholder="column.placeholder || column.title" :value-format="column.format || 'HH:mm:ss'"
-                  :disabled="initColumnDisabled(scope.row, column)">
+                <el-time-picker
+                  clearable
+                  size="default"
+                  style="width: 100%"
+                  v-else-if="column.edit.type == 'time'"
+                  v-model="scope.row[column.field]"
+                  @change="
+                    (val) => {
+                      column.onChange && column.onChange(scope.row, column, val)
+                    }
+                  "
+                  :placeholder="column.placeholder || column.title"
+                  :value-format="column.format || 'HH:mm:ss'"
+                  :disabled="initColumnDisabled(scope.row, column)"
+                >
                 </el-time-picker>
-                <el-switch v-else-if="column.edit.type == 'switch'" v-model="scope.row[column.field]"
-                  active-color="#0f84ff" inactive-color="rgb(194 194 194)" active-text="鏄�" inactive-text="鍚�"
-                  inline-prompt @change="(val) => {
-                    switchChange(val, scope.row, column);
-                  }
-                  " :active-value="typeof scope.row[column.field] == 'boolean'
+                <el-switch
+                  v-else-if="column.edit.type == 'switch'"
+                  v-model="scope.row[column.field]"
+                  active-color="#0f84ff"
+                  inactive-color="rgb(194 194 194)"
+                  active-text="鏄�"
+                  inactive-text="鍚�"
+                  inline-prompt
+                  @change="
+                    (val) => {
+                      switchChange(val, scope.row, column)
+                    }
+                  "
+                  :active-value="
+                    typeof scope.row[column.field] == 'boolean'
                       ? true
                       : typeof scope.row[column.field] == 'string'
-                        ? '1'
-                        : 1
-                      " :inactive-value="typeof scope.row[column.field] == 'boolean'
-                        ? false
-                        : typeof scope.row[column.field] == 'string'
-                          ? '0'
-                          : 0
-                        " :disabled="initColumnDisabled(scope.row, column)">
+                      ? '1'
+                      : 1
+                  "
+                  :inactive-value="
+                    typeof scope.row[column.field] == 'boolean'
+                      ? false
+                      : typeof scope.row[column.field] == 'string'
+                      ? '0'
+                      : 0
+                  "
+                  :disabled="initColumnDisabled(scope.row, column)"
+                >
                 </el-switch>
-                <template v-else-if="
-                  ['select', 'selectList'].indexOf(column.edit.type) != -1
-                ">
-                  <el-select-v2 style="width: 100%" :size="size" v-if="column.bind.data.length >= select2Count"
-                    v-model="scope.row[column.field]" filterable :multiple="column.edit.type == 'select' ? false : true"
-                    :placeholder="column.placeholder || column.title" :autocomplete="column.autocomplete"
-                    :options="column.bind.data" @change="
-                      column.onChange && column.onChange(scope.row, column)
-                      " clearable :disabled="initColumnDisabled(scope.row, column)">
+                <template v-else-if="['select', 'selectList'].indexOf(column.edit.type) != -1">
+                  <el-select-v2
+                    style="width: 100%"
+                    :size="size"
+                    v-if="column.bind.data.length >= select2Count"
+                    v-model="scope.row[column.field]"
+                    filterable
+                    :multiple="column.edit.type == 'select' ? false : true"
+                    :placeholder="column.placeholder || column.title"
+                    :autocomplete="column.autocomplete"
+                    :options="column.bind.data"
+                    @change="column.onChange && column.onChange(scope.row, column)"
+                    clearable
+                    :disabled="initColumnDisabled(scope.row, column)"
+                  >
                     <template #default="{ item }">
                       {{ item.label }}
                     </template>
                   </el-select-v2>
 
-                  <el-select size="default" style="width: 100%" v-else v-model="scope.row[column.field]" :filterable="column.filter || column.bind.data.length > 10
-                    ? true
-                    : false
-                    " :multiple="column.edit.type == 'select' ? false : true"
-                    :placeholder="column.placeholder || column.title" :allow-create="column.autocomplete" @change="
-                      column.onChange && column.onChange(scope.row, column)
-                      " clearable :disabled="initColumnDisabled(scope.row, column)">
-                    <el-option v-for="item in column.bind.data" :key="item.key" v-show="!item.hidden"
-                      :disabled="item.disabled" :label="item.value" :value="item.key">{{ item.value }}
+                  <el-select
+                    size="default"
+                    style="width: 100%"
+                    v-else
+                    v-model="scope.row[column.field]"
+                    :filterable="column.filter || column.bind.data.length > 10 ? true : false"
+                    :multiple="column.edit.type == 'select' ? false : true"
+                    :placeholder="column.placeholder || column.title"
+                    :allow-create="column.autocomplete"
+                    @change="column.onChange && column.onChange(scope.row, column)"
+                    clearable
+                    :disabled="initColumnDisabled(scope.row, column)"
+                  >
+                    <el-option
+                      v-for="item in column.bind.data"
+                      :key="item.key"
+                      v-show="!item.hidden"
+                      :disabled="item.disabled"
+                      :label="item.value"
+                      :value="item.key"
+                      >{{ item.value }}
                     </el-option>
                   </el-select>
                 </template>
-                <el-tree-select style="width: 100%"
+                <el-tree-select
+                  style="width: 100%"
                   v-else-if="column.edit.type == 'treeSelect' || column.edit.type == 'cascader'"
-                  v-model="scope.row[column.field]" :data="column.bind.data"
-                  :multiple="column.multiple === undefined ? true : column.multiple" :render-after-expand="false"
+                  v-model="scope.row[column.field]"
+                  :data="column.bind.data"
+                  :multiple="column.multiple === undefined ? true : column.multiple"
+                  :render-after-expand="false"
                   :show-checkbox="true"
-                  :check-strictly="column.checkStrictly === undefined ? true : column.checkStrictly" check-on-click-node
-                  node-key="key" @change="column.onChange && column.onChange(scope.row, column)"
-                  :props="{ label: 'label' }">
-                  <template #default="{ data, node }">
-                    {{ data.label }}</template>
+                  :check-strictly="column.checkStrictly === undefined ? true : column.checkStrictly"
+                  check-on-click-node
+                  node-key="key"
+                  @change="column.onChange && column.onChange(scope.row, column)"
+                  :props="{ label: 'label' }"
+                >
+                  <template #default="{ data, node }"> {{ data.label }}</template>
                 </el-tree-select>
                 <!-- <div     v-else-if="column.edit.type == 'cascader'">4444444</div> -->
                 <!-- <el-cascader
@@ -181,21 +313,38 @@
                   @change="column.onChange && column.onChange(scope.row, column)"
                 >
                 </el-cascader> -->
-                <el-input v-else-if="column.edit.type == 'textarea'" type="textarea"
-                  :placeholder="column.placeholder || column.title" v-model="scope.row[column.field]"
-                  :disabled="initColumnDisabled(scope.row, column)">
+                <el-input
+                  v-else-if="column.edit.type == 'textarea'"
+                  type="textarea"
+                  :placeholder="column.placeholder || column.title"
+                  v-model="scope.row[column.field]"
+                  :disabled="initColumnDisabled(scope.row, column)"
+                >
                 </el-input>
-                <input class="table-input" v-else-if="!column.summary && !column.onKeyPress"
-                  v-model.lazy="scope.row[column.field]" :placeholder="column.placeholder || column.title"
-                  :disabled="initColumnDisabled(scope.row, column)" />
-                <el-input v-else @change="inputKeyPress(scope.row, column, $event)"
+                <input
+                  class="table-input"
+                  v-else-if="!column.summary && !column.onKeyPress"
+                  v-model.lazy="scope.row[column.field]"
+                  :placeholder="column.placeholder || column.title"
+                  :disabled="initColumnDisabled(scope.row, column)"
+                />
+                <el-input
+                  v-else
+                  @change="inputKeyPress(scope.row, column, $event)"
                   @input="inputKeyPress(scope.row, column, $event)"
-                  @keyup.enter="inputKeyPress(scope.row, column, $event)" size="default"
-                  v-model="scope.row[column.field]" :placeholder="column.placeholder || column.title"
-                  :disabled="initColumnDisabled(scope.row, column)"></el-input>
+                  @keyup.enter="inputKeyPress(scope.row, column, $event)"
+                  size="default"
+                  v-model="scope.row[column.field]"
+                  :placeholder="column.placeholder || column.title"
+                  :disabled="initColumnDisabled(scope.row, column)"
+                ></el-input>
               </div>
               <div class="extra" v-if="column.extra && edit.rowIndex == scope.$index">
-                <a :style="column.extra.style" style="text-decoration: none" @click="extraClick(scope.row, column)">
+                <a
+                  :style="column.extra.style"
+                  style="text-decoration: none"
+                  @click="extraClick(scope.row, column)"
+                >
                   <i v-if="column.extra.icon" :class="[column.extra.icon]" />
                   {{ column.extra.text }}
                 </a>
@@ -204,42 +353,68 @@
           </div>
           <!--娌℃湁缂栬緫鍔熻兘鐨勭洿鎺ユ覆鏌撴爣绛�-->
           <template v-else>
-            <a href="javascript:void(0)" style="text-decoration: none;line-height: 1.3;"
-              @click="link(scope.row, column, $event)" v-if="column.link" v-text="scope.row[column.field]"></a>
-            <img v-else-if="column.type == 'img'" v-for="(file, imgIndex) in getFilePath(
-              scope.row[column.field],
-              column
-            )" :key="imgIndex" @error="handleImageError"
-              @click="viewImg(scope.row, column, file.path, $event, imgIndex)" class="table-img" :src="file.path" />
-            <a style="margin-right: 8px" v-else-if="column.type == 'file' || column.type == 'excel'" class="t-file"
-              v-for="(file, fIndex) in getFilePath(
-                scope.row[column.field],
-                column
-              )" :key="fIndex" @click="dowloadFile(file)">{{ file.name }}</a>
-            <span v-else-if="column.type == 'date'">{{
-              formatterDate(scope.row, column)
-            }}</span>
-            <div v-else-if="column.formatter" @click="formatterClick(scope.row, column, $event)"
-              v-html="column.formatter(scope.row, column)"></div>
-            <!-- 2021.11.18淇table鏁版嵁婧愯缃负normal鍚庣偣鍑昏$event缂哄け鐨勯棶棰� -->
-            <div v-else-if="column.bind && (column.normal || column.edit)"
+            <a
+              href="javascript:void(0)"
+              style="text-decoration: none; line-height: 1.3"
+              @click="link(scope.row, column, $event)"
+              v-if="column.link"
+              v-text="scope.row[column.field]"
+            ></a>
+            <img
+              v-else-if="column.type == 'img'"
+              v-for="(file, imgIndex) in getFilePath(scope.row[column.field], column)"
+              :key="imgIndex"
+              @error="handleImageError"
+              @click="viewImg(scope.row, column, file.path, $event, imgIndex)"
+              class="table-img"
+              :src="file.path"
+            />
+            <a
+              style="margin-right: 8px"
+              v-else-if="column.type == 'file' || column.type == 'excel'"
+              class="t-file"
+              v-for="(file, fIndex) in getFilePath(scope.row[column.field], column)"
+              :key="fIndex"
+              @click="dowloadFile(file)"
+              >{{ file.name }}</a
+            >
+            <span v-else-if="column.type == 'date'">{{ formatterDate(scope.row, column) }}</span>
+            <div
+              v-else-if="column.formatter"
               @click="formatterClick(scope.row, column, $event)"
-              :style="column.getStyle && column.getStyle(scope.row, column)">
+              v-html="column.formatter(scope.row, column)"
+            ></div>
+            <!-- 2021.11.18淇table鏁版嵁婧愯缃负normal鍚庣偣鍑昏$event缂哄け鐨勯棶棰� -->
+            <div
+              v-else-if="column.bind && (column.normal || column.edit)"
+              @click="formatterClick(scope.row, column, $event)"
+              :style="column.getStyle && column.getStyle(scope.row, column)"
+            >
               {{ formatter(scope.row, column, true) }}
             </div>
-            <div v-else-if="column.click && !column.bind" @click="formatterClick(scope.row, column)">
+            <div
+              v-else-if="column.click && !column.bind"
+              @click="formatterClick(scope.row, column)"
+            >
               {{ scope.row[column.field] }}
             </div>
-            <div @click="() => {
-              column.click && formatterClick(scope.row, column);
-            }
-            " v-else-if="column.bind">
-              <el-tag v-if="useTag" class="cell-tag" :class="[isEmptyTag(scope.row, column)]"
-                :type="getColor(scope.row, column)" :effect="column.effect">{{ formatter(scope.row, column, true)
-                }}</el-tag>
-              <template v-else>{{
-                formatter(scope.row, column, true)
-              }}</template>
+            <div
+              @click="
+                () => {
+                  column.click && formatterClick(scope.row, column)
+                }
+              "
+              v-else-if="column.bind"
+            >
+              <el-tag
+                v-if="useTag"
+                class="cell-tag"
+                :class="[isEmptyTag(scope.row, column)]"
+                :type="getColor(scope.row, column)"
+                :effect="column.effect"
+                >{{ formatter(scope.row, column, true) }}</el-tag
+              >
+              <template v-else>{{ formatter(scope.row, column, true) }}</template>
             </div>
 
             <span v-else>{{ formatter(scope.row, column, true) }}</span>
@@ -250,26 +425,42 @@
     <template v-if="!paginationHide">
       <div class="block pagination" key="pagination-01" style="display: flex">
         <div style="flex: 1"></div>
-        <el-pagination key="pagination-02" @size-change="handleSizeChange" @current-change="handleCurrentChange"
-          :current-page="paginations.page" :page-sizes="paginations.sizes" :page-size="paginations.size"
-          layout="total, sizes, prev, pager, next, jumper" :total="paginations.total"></el-pagination>
+        <el-pagination
+          key="pagination-02"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="paginations.page"
+          :page-sizes="paginations.sizes"
+          :page-size="paginations.size"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="paginations.total"
+        ></el-pagination>
       </div>
     </template>
   </div>
 
   <VolBox v-model="uploadModel" title="涓婁紶" :height="228" :width="500" :padding="15" lazy>
     <!-- 涓婁紶鍥剧墖銆乪xcel鎴栧叾浠栨枃浠躲�佹枃浠舵暟閲忋�佸ぇ灏忛檺鍒堕兘鍙互锛屽弬鐓olupload缁勪欢api -->
-    <div style="height: 200px;display: flex;align-items: center;">
-      <VolUpload style="text-align: center; " :autoUpload="currentColumn.edit.autoUpload"
-        :multiple="currentColumn.edit.multiple" :url="uploadUrl" :max-file="currentColumn.edit.maxFile"
-        :img="currentColumn.edit.type == 'img'" :excel="currentColumn.edit.type == 'excel'"
-        :fileTypes="currentColumn.edit.fileTypes ? currentColumn.edit.fileTypes : []" :fileInfo="fileInfo"
-        :upload-after="uploadAfter" :upload-before="uploadBefore" :append="currentColumn.edit.accept">
+    <div style="height: 200px; display: flex; align-items: center">
+      <VolUpload
+        style="text-align: center"
+        :autoUpload="currentColumn.edit.autoUpload"
+        :multiple="currentColumn.edit.multiple"
+        :url="uploadUrl"
+        :max-file="currentColumn.edit.maxFile"
+        :img="currentColumn.edit.type == 'img'"
+        :excel="currentColumn.edit.type == 'excel'"
+        :fileTypes="currentColumn.edit.fileTypes ? currentColumn.edit.fileTypes : []"
+        :fileInfo="fileInfo"
+        :upload-after="uploadAfter"
+        :upload-before="uploadBefore"
+        :append="currentColumn.edit.accept"
+      >
         <div>{{ currentColumn.message }}</div>
       </VolUpload>
     </div>
     <template #footer>
-      <div style="text-align: center; ">
+      <div style="text-align: center">
         <el-button type="default" size="small" @click="uploadModel = false">鍏抽棴</el-button>
         <el-button type="primary" size="small" @click="saveUpload">淇濆瓨</el-button>
       </div>
@@ -278,9 +469,9 @@
   <vol-image-viewer ref="viewer"></vol-image-viewer>
 </template>
 <script>
-import VolTableRender from './VolTable/VolTableRender';
-let _errMsg;
-import { defineComponent, defineAsyncComponent } from 'vue';
+import VolTableRender from './VolTable/VolTableRender'
+let _errMsg
+import { defineComponent, defineAsyncComponent } from 'vue'
 export default defineComponent({
   emits: ['loadBefore', 'loadAfter', 'rowChange', 'rowClick', 'rowDbClick', 'selectionChange'],
   //https://github.com/element-plus/element-plus/issues/1483
@@ -289,20 +480,20 @@
   watch: {
     'tableData.length': {
       handler(newLen, oldLen) {
-        this.watchRowSelectChange(newLen, oldLen);
+        this.watchRowSelectChange(newLen, oldLen)
       }
     },
     'rowData.length': {
       handler(newLen, oldLen) {
-        this.watchRowSelectChange(newLen, oldLen);
+        this.watchRowSelectChange(newLen, oldLen)
       }
     }
   },
   components: {
-    'vol-image-viewer': defineAsyncComponent(() => import("./VolImageViewer.vue")),
+    'vol-image-viewer': defineAsyncComponent(() => import('./VolImageViewer.vue')),
     'table-render': VolTableRender,
-    VolUpload: defineAsyncComponent(() => import("./VolUpload.vue")),
-    VolBox: defineAsyncComponent(() => import("./VolBox.vue")),
+    VolUpload: defineAsyncComponent(() => import('./VolUpload.vue')),
+    VolBox: defineAsyncComponent(() => import('./VolBox.vue'))
   },
   props: {
     rowKey: {
@@ -315,7 +506,7 @@
       type: Function,
       default: (tree, treeNode, resolve) => {
         if (resolve) {
-          return resolve([]);
+          return resolve([])
         }
       }
     },
@@ -328,7 +519,7 @@
       // 琛ㄦ暟鎹簮,閰嶇疆浜唘rl灏变笉鐢ㄤ紶杩欎釜鍙傛暟浜�
       type: Array,
       default: () => {
-        return [];
+        return []
       }
     },
     columns: {
@@ -346,13 +537,13 @@
     linkView: {
       type: Function,
       default: function () {
-        return 1;
+        return 1
       }
     },
     pagination: {
       type: Object,
       default: function () {
-        return { total: 0, size: 30, sortName: '' };
+        return { total: 0, size: 30, sortName: '' }
       }
     },
     url: {
@@ -399,21 +590,21 @@
       // 缂栬緫寮�濮�
       type: Function,
       default: function (row, column, index) {
-        return true;
+        return true
       }
     },
     endEditBefore: {
       // 缁撴潫缂栬緫鍓�
       type: Function,
       default: function (row, column, index) {
-        return true;
+        return true
       }
     },
     endEditAfter: {
       // 缁撴潫缂栬緫鍓�
       type: Function,
       default: function (row, column, index) {
-        return true;
+        return true
       }
     },
     ck: {
@@ -439,31 +630,34 @@
     selectable: {
       type: Function,
       default: (row, index) => {
-        return true;
+        return true
       }
     },
     spanMethod: {
       type: Function,
-      default: ({ row, column, rowIndex, columnIndex }) => {
-      }
+      default: ({ row, column, rowIndex, columnIndex }) => {}
     },
-    lazy: { //鏍戝舰琛ㄦ牸鏄惁榛樿寤惰繜鍔犺浇
+    lazy: {
+      //鏍戝舰琛ㄦ牸鏄惁榛樿寤惰繜鍔犺浇
       type: Boolean,
-      default: true,
+      default: true
     },
-    defaultExpandAll: { //鏍戝舰琛ㄦ牸鏄惁灞曞紑鎵�鏈�
+    defaultExpandAll: {
+      //鏍戝舰琛ㄦ牸鏄惁灞曞紑鎵�鏈�
       type: Boolean,
       default: false
     },
-    expandRowKeys: { //榛樿灞曞紑琛�
+    expandRowKeys: {
+      //榛樿灞曞紑琛�
       type: Array,
       default: () => {
         return []
       }
     },
-    rowParentField: { //鏍戝舰琛ㄦ牸鐖剁骇id
+    rowParentField: {
+      //鏍戝舰琛ㄦ牸鐖剁骇id
       type: String,
-      default: ""
+      default: ''
     }
   },
   data() {
@@ -484,7 +678,7 @@
       formatConfig: {},
       // defaultColor: "",
       // 2020.09.06璋冩暣table鍒楁暟鎹簮鐨勮儗鏅鑹�
-      colors: ["primary", "success", "info", "warning", "danger"],// ["warning", "success", "danger", "info"],
+      colors: ['primary', 'success', 'info', 'warning', 'danger'], // ["warning", "success", "danger", "info"],
       rule: {
         phone: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
         decimal: /(^[\-0-9][0-9]*(.[0-9]+)?)$/,
@@ -522,31 +716,31 @@
       currentRow: {},
       currentColumn: [],
       fileInfo: [],
-      uploadUrl: "",
+      uploadUrl: '',
       uploadModel: false,
       smallCell: true
-    };
+    }
   },
   created() {
     try {
-      this.useTag = this.$global.table && this.$global.table.useTag;
-      this.smallCell = this.$global.table && this.$global.table.smallCell;
+      this.useTag = this.$global.table && this.$global.table.useTag
+      this.smallCell = this.$global.table && this.$global.table.smallCell
     } catch (error) {
-      console.log(error.message);
+      console.log(error.message)
     }
 
-    this.realHeight = this.getHeight();
-    this.realMaxHeight = this.getMaxHeight();
+    this.realHeight = this.getHeight()
+    this.realMaxHeight = this.getMaxHeight()
     this.fxRight = this.columns.some((x) => {
-      return x.fixed == 'right';
-    });
+      return x.fixed == 'right'
+    })
     //2021.09.21绉婚櫎寮哄埗鍥哄畾琛屽彿涓巆heckbox鍒�
     if (
       this.columns.some((x) => {
-        return x.fixed && x.fixed != 'right';
+        return x.fixed && x.fixed != 'right'
       })
     ) {
-      this.fixed = true;
+      this.fixed = true
     }
     //2022.04.06浼樺寲table鍚堣鍥哄畾鍒楁樉绀�
     // if (
@@ -563,184 +757,175 @@
     // }
 
     // 浠庡悗鍙板姞涓嬫媺妗嗙殑[鏄惁鍚敤鐨刔鏁版嵁婧�
-    let keys = [];
-    let columnBind = [];
-    this.summaryData.push('鍚堣');
+    let keys = []
+    let columnBind = []
+    this.summaryData.push('鍚堣')
     if (this.columnIndex) {
-      this.summaryData.push(' ');
+      this.summaryData.push(' ')
     }
-    this.initCellStyleColumns();
+    this.initCellStyleColumns()
     this.columns.forEach((x, _index) => {
-
       if (!x.hidden) {
         // this.summaryIndex[x.field] = _index;
         // 2020.10.11淇姹傚拰鍒楅敊浣嶇殑闂
-        this.summaryData.push('');
-        this.summaryIndex[x.field] = this.summaryData.length - 1;
+        this.summaryData.push('')
+        this.summaryIndex[x.field] = this.summaryData.length - 1
       }
       // 姹傚拰
       if (x.summary && !this.summary) {
-        this.summary = true;
+        this.summary = true
       }
       if (x.children && Array.isArray(x.children)) {
-        x.children.forEach(cl => {
+        x.children.forEach((cl) => {
           if (cl.bind && cl.bind.key && (!cl.bind.data || cl.bind.data.length == 0)) {
-            keys.push(cl.bind.key);
-            cl.bind.valueType = cl.type;
-            columnBind.push(cl.bind);
+            keys.push(cl.bind.key)
+            cl.bind.valueType = cl.type
+            columnBind.push(cl.bind)
           }
         })
       } else if (x.bind && x.bind.key && (!x.bind.data || x.bind.data.length == 0)) {
         // 鍐欏叆杩滅▼
-        if (!x.bind.data) x.bind.data = [];
+        if (!x.bind.data) x.bind.data = []
         if (x.bind.remote) {
-          this.remoteColumns.push(x);
+          this.remoteColumns.push(x)
         } else if (this.loadKey) {
-          keys.push(x.bind.key);
-          x.bind.valueType = x.type;
+          keys.push(x.bind.key)
+          x.bind.valueType = x.type
           if (x.edit && x.edit.type) {
             x.bind.editType = x.edit.type
           }
-          columnBind.push(x.bind);
+          columnBind.push(x.bind)
         }
       }
-    });
+    })
     if (keys.length > 0) {
-      this.http
-        .post('/api/Sys_Dictionary/GetVueDictionary', keys)
-        .then((dic) => {
-          dic.forEach((x) => {
-            if (x.data.length > this.select2Count) {
-              x.data.forEach((item) => {
-                item.label = item.value;
-                item.value = item.key;
-              });
+      this.http.post('/api/Sys_Dictionary/GetVueDictionary', keys).then((dic) => {
+        dic.forEach((x) => {
+          if (x.data.length > this.select2Count) {
+            x.data.forEach((item) => {
+              item.label = item.value
+              item.value = item.key
+            })
+          }
+          const arrType = ['cascader', 'treeSelect']
+          columnBind.forEach((c) => {
+            if (arrType.indexOf(c.valueType) != -1 || arrType.indexOf(c.editType) != -1) {
+              this.columns.forEach((col) => {
+                if (col.bind && col.bind.key == c.key) {
+                  col.bind.orginData = JSON.parse(JSON.stringify(x.data))
+                }
+              })
+              x.data = this.base.convertTree(x.data, (node, data, isRoot) => {
+                if (!node.inited) {
+                  node.inited = true
+                  node.label = node.value
+                  node.value = node.key + ''
+                }
+              })
             }
-            const arrType = ['cascader', 'treeSelect'];
-            columnBind.forEach((c) => {
-              if ((arrType.indexOf(c.valueType) != -1 || arrType.indexOf(c.editType) != -1)) {
-                this.columns.forEach(col => {
-                  if (col.bind && col.bind.key == c.key) {
-                    col.bind.orginData = JSON.parse(JSON.stringify(x.data));
-                  }
-                })
-                x.data = this.base.convertTree(x.data, (node, data, isRoot) => {
-                  if (!node.inited) {
-                    node.inited = true;
-                    node.label = node.value;
-                    node.value = node.key + '';
-                  }
-                });
-              }
-              // 杞崲鏁版嵁婧愮殑绫诲瀷涓庡垪鐨勭被鍨嬩竴鑷�(2020.04.04)
-              else if (c.key == x.dicNo && (c.valueType == "int" || c.valueType == "sbyte")) {
-                x.data.forEach((d) => {
-                  // 2020.09.01澧炲姞瀵规暟瀛楃被鍨嬬殑浜屾鍒ゆ柇
-                  if (!isNaN(d.key)) {
-                    d.key = ~~d.key;
-                  }
-                });
-              }
-              if (c.key == x.dicNo) c.data.push(...x.data);
-            });
-          });
-        });
+            // 杞崲鏁版嵁婧愮殑绫诲瀷涓庡垪鐨勭被鍨嬩竴鑷�(2020.04.04)
+            else if (c.key == x.dicNo && (c.valueType == 'int' || c.valueType == 'sbyte')) {
+              x.data.forEach((d) => {
+                // 2020.09.01澧炲姞瀵规暟瀛楃被鍨嬬殑浜屾鍒ゆ柇
+                if (!isNaN(d.key)) {
+                  d.key = ~~d.key
+                }
+              })
+            }
+            if (c.key == x.dicNo) c.data.push(...x.data)
+          })
+        })
+      })
     }
 
-    this.paginations.sort = this.pagination.sortName;
+    this.paginations.sort = this.pagination.sortName
     // 2020.08.29澧炲姞鑷畾涔夊垎椤垫潯澶у皬
-    Object.assign(this.paginations, this.pagination);
+    Object.assign(this.paginations, this.pagination)
     if (this.pagination.size) {
-      this.paginations.rows = this.pagination.size;
+      this.paginations.rows = this.pagination.size
     }
     this.enableEdit = this.columns.some((x) => {
-      return x.hasOwnProperty('edit');
-    });
+      return x.hasOwnProperty('edit')
+    })
     let keyColumn = this.columns.find((x) => {
-      return x.isKey;
-    });
+      return x.isKey
+    })
     if (keyColumn) {
-      this.key = keyColumn.field;
+      this.key = keyColumn.field
     }
-    this.defaultLoadPage && this.load();
+    this.defaultLoadPage && this.load()
   },
   computed: {
     filterColumns() {
       return this.columns.filter((x, index) => {
         if (!x.field) {
-          x.field = x.title + index;
+          x.field = x.title + index
         }
-        return !x.hidden;
-      });
+        return !x.hidden
+      })
     }
   },
   methods: {
     initCellStyleColumns() {
-      this.columns.forEach(x => {
+      this.columns.forEach((x) => {
         if (x.cellStyle) {
-          this.cellStyleColumns[x.field] = x.cellStyle;
+          this.cellStyleColumns[x.field] = x.cellStyle
         }
       })
     },
     watchRowSelectChange(newLen, oldLen) {
       if (newLen < oldLen && this.selectRows.length) {
-        this.selectRows = [];
-        this.$refs.table.clearSelection();
+        this.selectRows = []
+        this.$refs.table.clearSelection()
       }
     },
     switchChange(val, row, column) {
       //杩欓噷鍦ㄥ垵濮嬪寲鐨勬椂鍊欎篃浼氳Е鍙慶hange浜嬩欢
       if (Object.keys(row).length <= 1) {
-        return;
+        return
       }
       if (column.onChange) {
-        column.onChange(val, row, column);
+        column.onChange(val, row, column)
       }
     },
     inputKeyPress(row, column, $event, $e) {
-      column.onKeyPress && column.onKeyPress(row, column, $event);
-      this.getInputSummaries(null, null, $event, column);
+      column.onKeyPress && column.onKeyPress(row, column, $event)
+      this.getInputSummaries(null, null, $event, column)
     },
     extraClick(row, column) {
       column.extra.click &&
-        column.extra.click(
-          row,
-          column,
-          this.url ? this.rowData : this.tableData
-        );
+        column.extra.click(row, column, this.url ? this.rowData : this.tableData)
     },
     headerClick(column, event) {
       if (this.clickEdit && this.edit.rowIndex != -1) {
         if (
           this.rowEndEdit(
-            this.url
-              ? this.rowData[this.edit.rowIndex]
-              : this.tableData[this.edit.rowIndex],
+            this.url ? this.rowData[this.edit.rowIndex] : this.tableData[this.edit.rowIndex],
             column
           )
         ) {
-          this.edit.rowIndex = -1;
+          this.edit.rowIndex = -1
         }
       }
       // this.edit.rowIndex = -1;
     },
     rowDbClick(row, column, event) {
       //2021.05.23澧炲姞鍙屽嚮琛屼簨浠�
-      this.$emit('rowDbClick', { row, column, event });
+      this.$emit('rowDbClick', { row, column, event })
     },
     rowClick(row, column, event) {
       //2022.02.20澧炲姞鐐瑰嚮鏃惰〃鏍煎弬鏁板垽鏂�
       if (!column) {
-        return;
+        return
       }
       //姝e湪缂栬緫鏃讹紝绂佹鍑哄彂rowClick浜嬩欢
       if (this.edit.rowIndex == -1) {
-        this.$emit('rowClick', { row, column, event });
+        this.$emit('rowClick', { row, column, event })
       }
       // 鐐瑰嚮琛屼簨浠�(2020.11.07)
 
       if (!this.doubleEdit) {
-        return;
+        return
       }
       // 鐐瑰嚮鍏朵粬琛屾椂锛屽鏋滅偣鍑荤殑琛屼笌姝e湪缂栬緫鐨勮鐩稿悓锛屼繚鎸佺紪杈戠姸鎬�
       if (this.clickEdit && this.edit.rowIndex != -1) {
@@ -748,25 +933,25 @@
           // 鐐瑰嚮鐨勫崟鍏冩牸濡傛灉涓嶅彲浠ョ紪杈戯紝鐩存帴缁撴潫缂栬緫
           // 2020.10.12淇缁撴潫缂栬緫鏃讹紝element table楂樼増鏈睘鎬ц幏鍙栦笉鍒扮殑闂
           let _col = this.columns.find((x) => {
-            return x.field == ((event && event.property) || column.property);
-          });
+            return x.field == ((event && event.property) || column.property)
+          })
           if (_col && (!_col.edit || _col.readonly)) {
             if (this.rowEndEdit(row, event)) {
-              this.edit.rowIndex = -1;
+              this.edit.rowIndex = -1
             }
           }
-          return;
+          return
         }
         if (this.rowEndEdit(row, event && event.property ? event : column)) {
-          this.edit.rowIndex = -1;
+          this.edit.rowIndex = -1
         }
         //褰撴鍦ㄧ紪杈戯紝涓旂偣鍑诲埌鍏朵粬琛屾椂锛屽湪鍘熺紪杈戠殑琛岀粨鏉熺紪杈戝悗锛岃Е鍙戞柊琛岀殑rowClick浜嬩欢
         //姝e湪缂栬緫鏃讹紝绂佹鍑哄彂rowClick浜嬩欢
         if (this.edit.rowIndex == -1) {
-          this.$emit('rowClick', { row, column, event });
+          this.$emit('rowClick', { row, column, event })
         }
       }
-      this.rowBeginEdit(row, column);
+      this.rowBeginEdit(row, column)
     },
     dowloadFile(file) {
       this.base.dowloadFile(
@@ -776,120 +961,118 @@
           Authorization: this.$store.getters.getToken()
         },
         this.http.ipAddress
-      );
+      )
     },
     getFilePath(pathSring, column) {
       // 鑾峰彇琛ㄧ殑鍥剧墖涓庢枃浠舵樉绀�
-      if (!pathSring) return [];
+      if (!pathSring) return []
       // 澧炲姞鍥剧墖鑷畾涔夋搷浣�
       // 杩斿洖鏍煎紡蹇呴』鏄痆{name:"鏂囦欢鍚�",path:"鍥剧墖鍏ㄨ矾寰勬垨base64鏍煎紡"}]
       if (column.formatter) {
-        return column.formatter(pathSring);
+        return column.formatter(pathSring)
       }
-      let filePath;
+      let filePath
       if (column.base64 && pathSring.indexOf('data') != -1) {
         filePath = (',' + pathSring)
           .split(',data')
           .filter((x) => {
-            return x;
+            return x
           })
           .map((m) => {
-            return 'data' + m;
-          });
+            return 'data' + m
+          })
       } else {
-        filePath = pathSring.replace(/\\/g, '/').split(',');
+        filePath = pathSring.replace(/\\/g, '/').split(',')
       }
 
-      let fileInfo = [];
+      let fileInfo = []
       for (let index = 0; index < filePath.length; index++) {
-        let file = filePath[index];
+        let file = filePath[index]
         // 2020.12.19澧炲姞base64鍥剧墖鏄剧ず
         if (column.base64) {
           fileInfo.push({
             name: '',
-            path:
-              (file.indexOf('data') == -1 ? 'data:image/png;base64,' : '') +
-              file
-          });
+            path: (file.indexOf('data') == -1 ? 'data:image/png;base64,' : '') + file
+          })
         } else if (file.indexOf('.') != -1) {
-          let splitFile = file.split('/');
+          let splitFile = file.split('/')
           if (splitFile.length > 0) {
             fileInfo.push({
               name: splitFile[splitFile.length - 1],
               path: this.base.isUrl(file) ? file : this.http.ipAddress + file
-            });
+            })
           }
         }
       }
-      return fileInfo;
+      return fileInfo
     },
     // 閲嶇疆table
     reset() {
       if (this.tableData && this.tableData.length > 0) {
-        this.tableData.splice(0);
+        this.tableData.splice(0)
       }
       if (this.rowData && this.rowData.length > 0) {
-        this.rowData.splice(0);
+        this.rowData.splice(0)
       }
       if (!this.paginationHide) {
-        this.paginations.page = 1;
+        this.paginations.page = 1
         // this.paginations.rows = 30;
         if (this.paginations.wheres && this.paginations.wheres.length > 0) {
-          this.paginations.wheres.splice(0);
+          this.paginations.wheres.splice(0)
         }
       }
-      this.errorFiled = '';
-      this.edit.columnIndex = -1;
-      this.edit.rowIndex = -1;
+      this.errorFiled = ''
+      this.edit.columnIndex = -1
+      this.edit.rowIndex = -1
     },
     getHeight() {
       // 娌℃湁瀹氫箟楂樺害涓庢渶澶ч珮搴︼紝浣跨敤table榛樿鍊�
       if (!this.height && !this.maxHeight) {
-        return null;
+        return null
       }
       // 瀹氫箟浜嗘渶澶ч珮搴﹀垯涓嶄娇鐢ㄩ珮搴�
       if (this.maxHeight) {
-        return null;
+        return null
       }
       // 浣跨敤褰撳墠瀹氫箟鐨勯珮搴�
-      return this.height;
+      return this.height
     },
     getMaxHeight() {
       // 娌℃湁瀹氫箟楂樺害涓庢渶澶ч珮搴︼紝浣跨敤table榛樿鍊�
       if (!this.height && !this.maxHeight) {
-        return null;
+        return null
       }
       // 瀹氫箟浜嗘渶澶ч珮搴︿娇鐢ㄦ渶澶ч珮搴�
       if (this.maxHeight) {
-        return this.maxHeight;
+        return this.maxHeight
       }
       // 涓嶄娇鐢ㄦ渶澶ч珮搴�
-      return null;
+      return null
     },
     getSelectedOptions(column) {
       if (column.bind && column.bind.data && column.bind.data.length > 0) {
-        return column.bind.data;
+        return column.bind.data
       }
-      return [];
+      return []
     },
     formatterClick(row, column, event) {
       if (column.click) {
-        column.click(row, column, event);
-        event.stopPropagation && event.stopPropagation();
+        column.click(row, column, event)
+        event.stopPropagation && event.stopPropagation()
       } else {
-        this.rowClick(row, column, event);
+        this.rowClick(row, column, event)
       }
     },
     initIndex({ row, rowIndex }) {
       if (this.index) {
-        row.elementIndex = rowIndex;
+        row.elementIndex = rowIndex
       }
       // if (rowIndex%2!==0) {
       //  return "even-row";
       // }
-      return;
+      return
     },
-    toggleEdit(event) { },
+    toggleEdit(event) {},
     setEditStatus(status) {
       // this.columns.forEach((x) => {
       //   if (x.hasOwnProperty("edit")) {
@@ -900,162 +1083,154 @@
     // 閫氳繃button鎸夐挳鍚敤缂栬緫
     beginWithButtonEdit(scope) {
       // url?rowData:tableData
-      this.rowBeginEdit(scope.row, this.columns[scope.$index]);
+      this.rowBeginEdit(scope.row, this.columns[scope.$index])
     },
     rowBeginEdit(row, column) {
       if (this.edit.rowIndex != -1) {
-        return;
+        return
       }
-      let _row = this.columns.find((x) => x.field == column.property);
+      let _row = this.columns.find((x) => x.field == column.property)
       if (_row) {
         if (_row.readonly) {
-          return;
+          return
         }
         if (
           //涓嶈兘缂栬緫鐨勫瓧娈点�乻witch锛岀偣鍑讳笉寮�鍚惎缂栬緫鍔熻兘
           !_row.edit ||
           (_row.edit.keep && _row.edit.type == 'switch')
         ) {
-          return;
+          return
         }
       }
-      if (!this.enableEdit) return;
-      _errMsg = '';
+      if (!this.enableEdit) return
+      _errMsg = ''
       // 缂栬緫鍓�
       this.columns
         .filter((x) => {
-          return x.bind && x.bind.data && x.bind.data.length;
+          return x.bind && x.bind.data && x.bind.data.length
         })
         .forEach((column) => {
-          let val = row[column.field];
+          let val = row[column.field]
           if (typeof column.bind.data[0].key == 'string') {
             if (typeof val == 'number') {
-              row[column.field] = row[column.field] + '';
+              row[column.field] = row[column.field] + ''
             }
           } else {
             //澶氶�夋垨鑰呯骇鑱旂紪杈戝洖鍐�,2023.01.06
             if (Array.isArray(val)) {
-              val = val.map(v => {
+              val = val.map((v) => {
                 return v * 1
-              });
-              row[column.field] = val;
-            }
-            else if (typeof val == 'string' && val) {
-              let _val = val * 1;
+              })
+              row[column.field] = val
+            } else if (typeof val == 'string' && val) {
+              let _val = val * 1
               if (_val + '' === val) {
-                row[column.field] = _val;
+                row[column.field] = _val
               }
             }
           }
-        });
-      if (!this.beginEdit(row, column, row.elementIndex)) return;
+        })
+      if (!this.beginEdit(row, column, row.elementIndex)) return
       if (row.hasOwnProperty('elementIndex')) {
         if (this.edit.rowIndex == row.elementIndex) {
-          return;
+          return
         }
-        this.edit.rowIndex = row.elementIndex;
+        this.edit.rowIndex = row.elementIndex
       }
     },
     rowEndEdit(row, column, event) {
       if (this.clickEdit && event) {
-        return true;
+        return true
       }
       if (!this.enableEdit) {
         if (!this.errorFiled) {
-          if (
-            this.edit.rowIndex != -1 &&
-            !this.endEditAfter(row, column, this.edit.rowIndex)
-          ) {
-            return false;
+          if (this.edit.rowIndex != -1 && !this.endEditAfter(row, column, this.edit.rowIndex)) {
+            return false
           }
-          this.edit.rowIndex = -1;
+          this.edit.rowIndex = -1
         }
-        return true;
+        return true
       }
       if (!this.doubleEdit && event) {
-        return true;
+        return true
       }
-      let _row = this.url
-        ? this.rowData[this.edit.rowIndex]
-        : this.tableData[this.edit.rowIndex];
+      let _row = this.url ? this.rowData[this.edit.rowIndex] : this.tableData[this.edit.rowIndex]
       // 缁撴潫缂栬緫鍓�
-      if (!this.endEditBefore(_row, column, this.edit.rowIndex)) return false;
+      if (!this.endEditBefore(_row, column, this.edit.rowIndex)) return false
       if (this.edit.rowIndex != -1) {
         //2022.06.26淇琛ㄦ牸鍐呭鍒囨崲鍚庤鏁颁笉涓�鑷存椂涓嶈兘缂栬緫鐨勯棶棰�
         if (this.edit.rowIndex - 1 > (this.rowData || this.tableData).length) {
-          this.edit.rowIndex = -1;
-          return;
+          this.edit.rowIndex = -1
+          return
         }
-        let row = (this.url ? this.rowData : this.tableData)[
-          this.edit.rowIndex
-        ];
+        let row = (this.url ? this.rowData : this.tableData)[this.edit.rowIndex]
         for (let index = 0; index < this.columns.length; index++) {
-          const _column = this.columns[index];
+          const _column = this.columns[index]
           if (_column.edit) {
             if (!this.validateRow(row, _column)) {
-              return;
+              return
             }
           }
         }
       }
-      if (!this.endEditAfter(_row, column, this.edit.rowIndex)) return false;
-      this.edit.rowIndex = -1;
-      return true;
+      if (!this.endEditAfter(_row, column, this.edit.rowIndex)) return false
+      this.edit.rowIndex = -1
+      return true
     },
     validateRow(row, option1) {
       if (!this.validateColum(option1, row)) {
-        this.errorFiled = option1.field;
+        this.errorFiled = option1.field
         // 2022.05.06 淇敼閿欒淇℃伅閲嶅鐨勯棶棰�
-        this.$message.error(option1.title + _errMsg);
-        return false;
+        this.$message.error(option1.title + _errMsg)
+        return false
       }
-      this.errorFiled = '';
-      return true;
+      this.errorFiled = ''
+      return true
     },
     validateColum(option, data) {
-      if (option.hidden || option.bind || !data) return true;
-      let val = data[option.field];
+      if (option.hidden || option.bind || !data) return true
+      let val = data[option.field]
       if (option.require || option.required) {
         if (val != '0' && (val === '' || val === undefined)) {
           if (!this.errorFiled) {
-            _errMsg = '涓嶈兘涓虹┖';
+            _errMsg = '涓嶈兘涓虹┖'
           }
-          return false;
+          return false
         }
       }
       if (!option.edit) {
-        return true;
+        return true
       }
-      let editType = option.edit.type;
+      let editType = option.edit.type
       // 楠岃瘉鏁板瓧
       if (editType == 'int' || editType == 'decimal' || editType == 'number') {
-        if (val == '' || val == undefined) return true;
+        if (val == '' || val == undefined) return true
         if (editType == 'decimal') {
           if (!this.rule.decimal.test(val)) {
-            _errMsg = '鍙兘鏄暟瀛�';
-            return false;
+            _errMsg = '鍙兘鏄暟瀛�'
+            return false
           }
         } else if (!this.rule.decimal.test(val)) {
-          _errMsg = '鍙兘鏄暟瀛�';
-          return false;
+          _errMsg = '鍙兘鏄暟瀛�'
+          return false
         }
         if (
           option.edit.min != undefined &&
           typeof option.edit.min === 'number' &&
           val < option.edit.min
         ) {
-          _errMsg = '涓嶈兘灏忎簬' + option.edit.min;
-          return false;
+          _errMsg = '涓嶈兘灏忎簬' + option.edit.min
+          return false
         }
         if (
           option.edit.max != undefined &&
           typeof option.edit.max === 'number' &&
           val > option.edit.max
         ) {
-          _errMsg = '涓嶈兘澶т簬' + option.edit.max;
-          return false;
+          _errMsg = '涓嶈兘澶т簬' + option.edit.max
+          return false
         }
-        return true;
+        return true
       }
 
       // 楠岃瘉瀛楃涓�
@@ -1065,30 +1240,28 @@
           typeof option.edit.min === 'number' &&
           val.length < option.edit.min
         ) {
-          _errMsg = '鑷冲皯' + option.edit.min + '涓瓧绗�';
-          return false;
+          _errMsg = '鑷冲皯' + option.edit.min + '涓瓧绗�'
+          return false
         }
         if (
           option.edit.max != undefined &&
           typeof option.edit.max === 'number' &&
           val.length > option.edit.max
         ) {
-          _errMsg = '鏈�澶�' + option.edit.max + '涓瓧绗�';
-          return false;
+          _errMsg = '鏈�澶�' + option.edit.max + '涓瓧绗�'
+          return false
         }
       }
-      return true;
+      return true
     },
     delRow() {
-      let rows = this.getSelected();
-      if (rows.length == 0) return this.$Message.error('璇烽�夋嫨瑕佸垹闄ょ殑琛�!');
+      let rows = this.getSelected()
+      if (rows.length == 0) return this.$Message.error('璇烽�夋嫨瑕佸垹闄ょ殑琛�!')
 
-      let data = this.url ? this.rowData : this.tableData;
-      let indexArr = this.getSelectedIndex();
+      let data = this.url ? this.rowData : this.tableData
+      let indexArr = this.getSelectedIndex()
       if (indexArr.length == 0) {
-        return this.$Message.error(
-          "鍒犻櫎鎿嶄綔蹇呴』璁剧疆VolTable鐨勫睘鎬ndex='true'"
-        );
+        return this.$Message.error("鍒犻櫎鎿嶄綔蹇呴』璁剧疆VolTable鐨勫睘鎬ndex='true'")
       }
       // if (indexArr.length == 0 || !this.key) {
       //   return this.$message.error(
@@ -1106,100 +1279,100 @@
       } else {
         for (let i = data.length - 1; i >= 0; i--) {
           if (indexArr.indexOf(i) != -1) {
-            data.splice(i, 1);
+            data.splice(i, 1)
           }
         }
       }
-      this.edit.rowIndex = -1;
-      return rows;
+      this.edit.rowIndex = -1
+      return rows
     },
     addRow(row) {
       if (!row) {
-        row = {};
+        row = {}
       }
       this.columns.forEach((x) => {
         // 2022.05.06 娣诲姞琛屾椂锛屽鏋滃垪鏈夌紪杈戝睘鎬э紝璁剧疆寮�鍚紪杈�(閬垮厤鍏抽棴缂栬緫鍚庯紝鏃犳硶鍐嶆鍚敤缂栬緫)??
         //x.readonly = false;
         if (!row.hasOwnProperty(x.field)) {
           if (x.edit && x.edit.type == 'switch') {
-            row[x.field] = x.type == 'bool' ? false : 0;
+            row[x.field] = x.type == 'bool' ? false : 0
           } else if (!row.hidden) {
             // 2020.09.06娣诲姞琛屾椂锛岃缃粯璁ゅ瓧娈�
-            row[x.field] = undefined;
+            row[x.field] = undefined
           }
         }
-      });
+      })
       if (!this.url) {
-        this.tableData.push(row);
-        return;
+        this.tableData.push(row)
+        return
       }
-      this.rowData.push(row);
+      this.rowData.push(row)
     },
     viewImg(row, column, url, $event, index) {
-      $event.stopPropagation();
-      const imgs = this.getFilePath(row[column.field], column).map(x => { return x.path });
-      this.$refs.viewer.show(imgs, index);
+      $event.stopPropagation()
+      const imgs = this.getFilePath(row[column.field], column).map((x) => {
+        return x.path
+      })
+      this.$refs.viewer.show(imgs, index)
       //this.base.previewImg(url);
       // window.open(row[column.field]);
     },
     link(row, column, $e) {
-      $e.stopPropagation();
-      this.$props.linkView(row, column);
+      $e.stopPropagation()
+      this.$props.linkView(row, column)
     },
     getSelected() {
-      return this.selectRows;
+      return this.selectRows
     },
     getSelectedIndex() {
       if (!this.index) {
         // 鍙湁璁剧疆浜嗗睘鎬ndex鎵嶆湁绱㈠紩琛�
-        return [];
+        return []
       }
       let indexArr = this.selectRows.map((x) => {
-        return x.elementIndex;
-      });
-      return indexArr || [];
+        return x.elementIndex
+      })
+      return indexArr || []
     },
     GetTableDictionary(rows) {
       // 鍒嗛〉鎴栧埛鏂版垨閲嶆柊缁戝畾鏁版嵁婧�
-      if (this.remoteColumns.length == 0 || !rows || rows.length == 0) return;
-      let remoteInfo = {};
+      if (this.remoteColumns.length == 0 || !rows || rows.length == 0) return
+      let remoteInfo = {}
       for (let index = 0; index < this.remoteColumns.length; index++) {
-        const column = this.remoteColumns[index];
+        const column = this.remoteColumns[index]
         //  column.bind.data.splice(0);
-        let key = column.bind.key;
-        let data = [];
+        let key = column.bind.key
+        let data = []
         rows.forEach((row) => {
           if (row[column.field] || row[column.field] == '0') {
             if (data.indexOf(row[column.field]) == -1) {
-              data.push(row[column.field]);
+              data.push(row[column.field])
             }
           }
-        });
+        })
         if (data.length > 0) {
-          remoteInfo[key] = data;
+          remoteInfo[key] = data
         }
       }
-      if (remoteInfo.length == 0) return;
+      if (remoteInfo.length == 0) return
       // ha= Object.assign([], ha, hb)
-      this.http
-        .post('/api/Sys_Dictionary/GetTableDictionary', remoteInfo)
-        .then((dic) => {
-          dic.forEach((x) => {
-            this.remoteColumns.forEach((column) => {
-              if (column.bind.key == x.key) {
-                column.bind.data = Object.assign([], column.bind.data, x.data);
-                // column.bind.data.push(...x.data);
-              }
-            });
-          });
-          this.$emit('dicInited', dic);
-        });
+      this.http.post('/api/Sys_Dictionary/GetTableDictionary', remoteInfo).then((dic) => {
+        dic.forEach((x) => {
+          this.remoteColumns.forEach((column) => {
+            if (column.bind.key == x.key) {
+              column.bind.data = Object.assign([], column.bind.data, x.data)
+              // column.bind.data.push(...x.data);
+            }
+          })
+        })
+        this.$emit('dicInited', dic)
+      })
     },
     load(query, isResetPage) {
       // isResetPage閲嶇疆鍒嗛〉鏁版嵁
-      if (!this.url) return;
+      if (!this.url) return
       if (isResetPage) {
-        this.resetPage();
+        this.resetPage()
       }
       let param = {
         page: this.paginations.page,
@@ -1207,11 +1380,11 @@
         sort: this.paginations.sort,
         order: this.paginations.order,
         wheres: [] // 鏌ヨ鏉′欢锛屾牸寮忎负[{ name: "瀛楁", value: "xx" }]
-      };
-      let status = true;
+      }
+      let status = true
       // 鍚堝苟鏌ヨ淇℃伅(鍖呮煡璇㈠垎椤点�佹帓搴忋�佹煡璇㈡潯浠剁瓑)
       if (query) {
-        param = Object.assign(param, query);
+        param = Object.assign(param, query)
       }
       /* 鏌ヨ鍓嶅鐞�(濡傛灉闇�瑕佹煡璇㈡潯浠讹紝瀹炵幇缁勪欢鏂规硶loadBefore鏂规硶鍗冲彲:
         loadBefore=(param, callBack)=>{
@@ -1220,189 +1393,190 @@
         })
       */
       this.$emit('loadBefore', param, (result) => {
-        status = result;
-      });
-      if (!status) return;
+        status = result
+      })
+      if (!status) return
 
       if (param.wheres && param.wheres instanceof Array) {
-        param.wheres = JSON.stringify(param.wheres);
+        param.wheres = JSON.stringify(param.wheres)
       }
-      this.loading = true;
-      let url = param.url || this.url;
-      param.url = undefined;
+      this.loading = true
+      let url = param.url || this.url
+      param.url = undefined
       this.http.post(url, param).then(
         (data) => {
           //2021.06.04淇tree涓嶅埛鏂扮殑闂
           if (this.rowKey) {
-            this.randomTableKey++;
-            this.rowData.splice(0);
+            this.randomTableKey++
+            this.rowData.splice(0)
           }
-          this.loading = false;
-          let rows = data.rows || [];
+          this.loading = false
+          let rows = data.rows || []
           // 鏌ヨ杩斿洖缁撴灉鍚庡鐞�
           // 2020.10.30澧炲姞鏌ヨ鍚庤繑鍥炴墍鏈夌殑鏌ヨ淇℃伅
           this.$emit(
             'loadAfter',
             rows,
             (result) => {
-              status = result;
+              status = result
             },
             data
-          );
-          if (!status) return;
-          this.GetTableDictionary(data.rows);
+          )
+          if (!status) return
+          this.GetTableDictionary(data.rows)
 
           if (this.rowParentField) {
-            rows = this.base.convertTree(rows, null, this.rowKey, this.rowParentField);
+            rows = this.base.convertTree(rows, null, this.rowKey, this.rowParentField)
           }
-          this.rowData = rows;
-          this.paginations.total = data.total;
+          this.rowData = rows
+          this.paginations.total = data.total
           // 鍚堣
-          this.getSummaries(data);
+          this.getSummaries(data)
           // this.$nextTick(() => {
           //   this.$refs.table.doLayout();
           // });
         },
         (error) => {
-          this.loading = false;
+          this.loading = false
           // this.$Message.error(error || "缃戠粶寮傚父");
         }
-      );
+      )
     }, // 鑾峰彇缁熻
     getSummaries(data) {
-      if (!this.summary || !data.summary) return;
-      this.summaryData.splice(0);
+      if (!this.summary || !data.summary) return
+      this.summaryData.splice(0)
       // 寮�鍚簡琛屽彿鐨勶紝+1
       if (this.columnIndex) {
-        this.summaryData.push('');
+        this.summaryData.push('')
       }
       // 濡傛灉鏈塩heckbox锛屽簲璇ョ畻浣滄槸绗竴琛�
       if (this.ck) {
-        this.summaryData.push('');
+        this.summaryData.push('')
       }
 
       this.columns.forEach((col) => {
         if (col.children && col.children.length) {
           col.children.forEach((item) => {
-            this.getColumnSummaries(item, data);
-          });
+            this.getColumnSummaries(item, data)
+          })
         } else {
-          this.getColumnSummaries(col, data);
+          this.getColumnSummaries(col, data)
         }
-      });
+      })
       if (this.summaryData.length > 0 && this.summaryData[0] == '') {
-        this.summaryData[0] = '鍚堣';
+        this.summaryData[0] = '鍚堣'
       }
     },
     getColumnSummaries(col, data) {
       if (!col.hidden) {
         if (data.summary.hasOwnProperty(col.field)) {
-          let sum = data.summary[col.field];
+          let sum = data.summary[col.field]
           //2024.01.07澧炲姞鑷畾涔夊悎璁℃牸寮忓寲
           if (col.summaryFormatter) {
             sum = col.summaryFormatter(sum, col, data, this.summaryData)
           } else if (sum) {
-            sum =
-              (sum * 1.0).toFixed(col.numberLength || 2).replace('.00', '') *
-              1.0;
+            sum = (sum * 1.0).toFixed(col.numberLength || 2).replace('.00', '') * 1.0
           }
-          this.summaryData.push(sum);
+          this.summaryData.push(sum)
         } else {
-          this.summaryData.push('');
+          this.summaryData.push('')
         }
       }
     },
-    getInputChangeSummaries() { },
+    getInputChangeSummaries() {},
     handleSizeChange(val) {
-      this.paginations.size = val;
-      this.paginations.rows = val;
-      this.load();
+      this.paginations.size = val
+      this.paginations.rows = val
+      this.load()
     },
     handleCurrentChange(val) {
-      this.paginations.page = val;
-      this.load();
+      this.paginations.page = val
+      this.load()
     },
     sortChange(sort) {
-      this.paginations.sort = sort.prop;
-      this.paginations.order = sort.order == 'ascending' ? 'asc' : 'desc';
-      this.load();
+      this.paginations.sort = sort.prop
+      this.paginations.order = sort.order == 'ascending' ? 'asc' : 'desc'
+      this.load()
     },
     resetPage() {
       // 閲嶇疆鏌ヨ鍒嗛〉
       // this.paginations.rows = 30;
-      this.paginations.page = 1;
+      this.paginations.page = 1
     },
     selectionChange(selection) {
       // console.log(selection);
       // 閫夋嫨琛屼簨浠�,鍙湁鍗曢�夋墠瑙﹀彂
-      this.selectRows = selection;
+      this.selectRows = selection
       if (this.single) {
         if (selection.length == 1) {
-          this.$emit('rowChange', selection[0]);
+          this.$emit('rowChange', selection[0])
         }
         if (selection.length > 1) {
-          let _row = selection[selection.length - 1];
-          this.$refs.table.toggleRowSelection(selection[0]);
-          this.selectRows = [_row];
+          let _row = selection[selection.length - 1]
+          this.$refs.table.toggleRowSelection(selection[0])
+          this.selectRows = [_row]
         }
       }
       // 灏唖electionchange鏆撮湶鍑哄幓
-      this.$emit('selectionChange', selection);
+      this.$emit('selectionChange', selection)
     },
     getColor(row, column) {
-      let val = row[column.field];
+      let val = row[column.field]
       if (column.getColor && typeof column.getColor === 'function') {
-        let _color = column.getColor(row, column);
+        let _color = column.getColor(row, column)
         if (_color) {
-          return _color;
+          return _color
         }
       }
       if (!val && val != '0') {
-        return undefined;
+        return undefined
       }
       if (!this.formatConfig[column.field]) {
-        this.formatConfig[column.field] = [val];
-        return this.colors[0];
+        this.formatConfig[column.field] = [val]
+        return this.colors[0]
       }
-      let index = this.formatConfig[column.field].indexOf(val);
+      let index = this.formatConfig[column.field].indexOf(val)
       if (index != -1) {
-        return this.colors[index];
+        return this.colors[index]
       }
       if (this.formatConfig[column.field].length > 5) {
-        return '';
+        return ''
       }
 
       if (index == -1) {
-        this.formatConfig[column.field].push(val);
-        index = this.formatConfig[column.field].length - 1;
+        this.formatConfig[column.field].push(val)
+        index = this.formatConfig[column.field].length - 1
       }
-      return this.colors[index] || 'info';
+      return this.colors[index] || 'info'
     },
     formatterDate(row, column) {
-      return (row[column.field] || '').substr(0, 10);
+      return (row[column.field] || '').substr(0, 10)
     },
     formatter(row, column, template) {
-      if (!template) return row[column.property];
-      let val = row[column.field];
-      if (!val && val != 0) return val;
+      if (!template) return row[column.property]
+      let val = row[column.field]
+      if (!val && val != 0) return val
       // 鏄惁鍊�
       if (column.edit && column.edit.type == 'switch') {
-        return val ? '鏄�' : '鍚�';
+        return val ? '鏄�' : '鍚�'
       }
       if (!column.bind || !column.bind.data) {
-        return row[column.field];
+        return row[column.field]
       }
 
-      if (column.edit && (column.edit.type == 'selectList'
-        || column.edit.type == 'treeSelect'
-        || column.bind.type == "cascader"
-        || column.bind.type == "treeSelect")) {
+      if (
+        column.edit &&
+        (column.edit.type == 'selectList' ||
+          column.edit.type == 'treeSelect' ||
+          column.bind.type == 'cascader' ||
+          column.bind.type == 'treeSelect')
+      ) {
         if (!Array.isArray(val)) {
-          row[column.field] = (val + '').split(',');
+          row[column.field] = (val + '').split(',')
         } else {
-          val = val.join(',');
+          val = val.join(',')
         }
-        return this.getSelectFormatter(column, val);
+        return this.getSelectFormatter(column, val)
       }
       // 缂栬緫澶氶�塼able鏄剧ず
       //  if (
@@ -1412,200 +1586,199 @@
       //   column.bind.type == "treeSelect"
       // ) {
       if (typeof val === 'string' && val.indexOf(',') != -1) {
-        return this.getSelectFormatter(column, val);
+        return this.getSelectFormatter(column, val)
       }
       //}
       let source = column.bind.data.filter((x) => {
         // return x.key != "" && x.key == val;
         // 2020.06.06淇鍗曠嫭浣跨敤table缁勪欢鏃�,key涓烘暟瀛�0鏃惰浆鎹㈡垚鏂囨湰澶辫触鐨勯棶棰�
-        return x.key !== '' && x.key !== undefined && x.key + '' === val + '';
-      });
-      if (source && source.length > 0) val = source[0].label || source[0].value;
-      return val;
+        return x.key !== '' && x.key !== undefined && x.key + '' === val + ''
+      })
+      if (source && source.length > 0) val = source[0].label || source[0].value
+      return val
     },
     getSelectFormatter(column, val) {
       // 缂栬緫澶氶�塼able鏄剧ず
-      let valArr = (val + "").split(",");
+      let valArr = (val + '').split(',')
       for (let index = 0; index < valArr.length; index++) {
-        (column.bind.orginData && column.bind.orginData.length
+        ;(column.bind.orginData && column.bind.orginData.length
           ? column.bind.orginData
-          : column.bind.data)
-          .forEach((x) => {
-            // 2020.06.06淇鏁版嵁婧愪负selectList鏃�,key涓烘暟瀛�0鏃朵笉鑳借浆鎹㈡枃鏈殑闂
-            if (x.key !== "" && x.key !== undefined && x.key + "" == valArr[index] + "") {
-              valArr[index] = x.label || x.value;
-            }
-          });
+          : column.bind.data
+        ).forEach((x) => {
+          // 2020.06.06淇鏁版嵁婧愪负selectList鏃�,key涓烘暟瀛�0鏃朵笉鑳借浆鎹㈡枃鏈殑闂
+          if (x.key !== '' && x.key !== undefined && x.key + '' == valArr[index] + '') {
+            valArr[index] = x.label || x.value
+          }
+        })
       }
-      return valArr.join(",");
+      return valArr.join(',')
     },
     onChange(scope, val, event, column) {
       // 2020.09.03淇onChange涓嶈Е鍙戠殑闂
-      let row = scope.row;
+      let row = scope.row
       if (column.onChange && !column.onChange(row, val, event)) {
-        return;
+        return
       }
       // 杈撳叆妗嗘眰鍜屽疄鏃惰绠�
-      this.getInputSummaries(scope, val, event, column);
+      this.getInputSummaries(scope, val, event, column)
     },
     // input杈撳叆瀹炴椂姹傚拰
     getInputSummaries(scope, val, event, column) {
       // column鍒楄缃簡summary灞炴�х殑鎵嶈绠楀��
-      if (!column.summary) return;
-      let sum = 0;
+      if (!column.summary) return
+      let sum = 0
       //  let _index = 0;
-      (this.url ? this.rowData : this.tableData).forEach((x, index) => {
+      ;(this.url ? this.rowData : this.tableData).forEach((x, index) => {
         if (x.hasOwnProperty(column.field) && !isNaN(x[column.field])) {
           // _index = index;
-          sum += x[column.field] * 1;
+          sum += x[column.field] * 1
         }
-      });
+      })
       if (sum) {
         if (column.summary == 'avg') {
-          sum = sum / (this.rowData.length || this.tableData.length || 1);
+          sum = sum / (this.rowData.length || this.tableData.length || 1)
         }
-        sum =
-          (sum * 1.0).toFixed(column.numberLength || 2).replace('.00', '') *
-          1.0;
+        sum = (sum * 1.0).toFixed(column.numberLength || 2).replace('.00', '') * 1.0
       }
-      this.summaryData[this.summaryIndex[column.field]] = sum;
+      this.summaryData[this.summaryIndex[column.field]] = sum
     },
     getSummaryData({ columns, data }) {
-      return this.summaryData;
+      return this.summaryData
     },
     getCellStyle(row) {
       // 2020.12.13澧炲姞璁剧疆鍗曞厓鏍奸鑹�
       if (row.column.property) {
         return (
           this.cellStyleColumns[row.column.property] &&
-          this.cellStyleColumns[row.column.property](
-            row.row,
-            row.rowIndex,
-            row.columnIndex
-          )
-        );
+          this.cellStyleColumns[row.column.property](row.row, row.rowIndex, row.columnIndex)
+        )
       }
     },
     compareDate(date1, date2) {
       if (!date2) {
-        return true;
+        return true
       }
-      return (
-        date1.valueOf() <
-        (typeof date2 == 'number' ? date2 : new Date(date2).valueOf())
-      );
+      return date1.valueOf() < (typeof date2 == 'number' ? date2 : new Date(date2).valueOf())
     },
     getDateOptions(date, item) {
       //2021.07.17璁剧疆鏃堕棿鍙�夎寖鍥�
       if ((!item.min && !item.max) || !date) {
-        return false;
+        return false
       }
       if (item.min && item.min.indexOf(' ') == -1) {
         //涓嶈缃椂鍒嗙锛屽悗闈細鑷姩鍔犱笂 08:00
-        item.min = item.min + ' 00:00:000';
+        item.min = item.min + ' 00:00:000'
       }
-      return (
-        this.compareDate(date, item.min) || !this.compareDate(date, item.max)
-      );
+      return this.compareDate(date, item.min) || !this.compareDate(date, item.max)
     },
     getDateFormat(column) {
       if (column.format) {
-        return column.format;
+        return column.format
       }
-      if (column.edit.type == "month") {
-        return "YYYY-MM";
+      if (column.edit.type == 'month') {
+        return 'YYYY-MM'
       }
       //瑙乭ttps://day.js.org/docs/zh-CN/display/format
-      return column.edit.type == 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:mm:ss';
+      return column.edit.type == 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:mm:ss'
     },
     userSelect(selection, row) {
-      this.selectRows = selection;
+      this.selectRows = selection
       if (!this.single) {
-        this.$emit('rowChange', { row, selection });
+        this.$emit('rowChange', { row, selection })
       }
     },
     isEmptyTag(row, column) {
       if (!row[column.field] && row[column.field] != '0') {
-        return 'empty-tag';
+        return 'empty-tag'
       }
-      return '';
+      return ''
     },
     filterChildrenColumn(children) {
       if (!children) {
-        return [];
+        return []
       }
       return children.filter((x) => {
-        return !x.hidden;
-      });
+        return !x.hidden
+      })
     },
     initColumnDisabled(row, column) {
-      return column.getDisabled && column.getDisabled(row, column);
+      return column.getDisabled && column.getDisabled(row, column)
     },
     showUpload(row, column) {
-      this.fileInfo = (row[column.field] || '').split(",")
-        .filter(x => { return x })
-        .map(item => {
-          return { path: item, name: "" };
+      this.fileInfo = (row[column.field] || '')
+        .split(',')
+        .filter((x) => {
+          return x
         })
-      this.currentRow = row;
-      this.currentColumn = column;
+        .map((item) => {
+          return { path: item, name: '' }
+        })
+      this.currentRow = row
+      this.currentColumn = column
       if (this.currentColumn.edit.autoUpload === undefined) {
-        this.currentColumn.edit.autoUpload = true;
+        this.currentColumn.edit.autoUpload = true
       }
       if (this.currentColumn.edit.multiple === undefined) {
-        this.currentColumn.edit.multiple = false;
+        this.currentColumn.edit.multiple = false
       }
 
       if (this.currentColumn.edit.url === undefined) {
         this.uploadUrl = 'api/' + (this.url || '').replace('/api', 'api').split('/')[1] + '/upload'
       } else {
-        this.uploadUrl = this.currentColumn.edit.url;
+        this.uploadUrl = this.currentColumn.edit.url
       }
-      this.uploadModel = true;
+      this.uploadModel = true
     },
     uploadAfter(result, files) {
-      this.currentColumn.uploadAfter && this.currentColumn.uploadAfter(result, files);
-      return true;
+      this.currentColumn.uploadAfter && this.currentColumn.uploadAfter(result, files)
+      return true
     },
     uploadBefore(files, params) {
-      this.currentColumn.uploadBefore && this.currentColumn.uploadBefore(files, this.currentRow, params);
-      return true;
+      this.currentColumn.uploadBefore &&
+        this.currentColumn.uploadBefore(files, this.currentRow, params)
+      return true
     },
     saveUpload() {
       //鐢熸垚淇濆瓨鍚庤繑鍥炵殑璺緞
       let arr = this.fileInfo.map((x) => {
         if (x.path) {
-          return x.path;
+          return x.path
         }
-        return result.data + x.name;
-      });
+        return result.data + x.name
+      })
 
-      this.currentRow[this.currentColumn.field] = arr.join(",");
-      this.uploadModel = false;
-      return true;
+      this.currentRow[this.currentColumn.field] = arr.join(',')
+      this.uploadModel = false
+      return true
     },
-    expandChange(row, expandedRows) { //	褰撶敤鎴峰鏌愪竴琛屽睍寮�鎴栬�呭叧闂殑鏃�
+    expandChange(row, expandedRows) {
+      //	褰撶敤鎴峰鏌愪竴琛屽睍寮�鎴栬�呭叧闂殑鏃�
       if (!this.defaultExpandAll && !this.lazy) {
         if (expandedRows) {
           if (this.expandRowKeys.indexOf(row[this.rowKey]) == -1) {
             this.expandRowKeys.push(row[this.rowKey])
           }
         } else {
-          let _index = this.expandRowKeys.findIndex(x => { return x == row[this.rowKey] });
+          let _index = this.expandRowKeys.findIndex((x) => {
+            return x == row[this.rowKey]
+          })
           if (_index != -1) {
-            this.expandRowKeys.splice(_index, 1);
+            this.expandRowKeys.splice(_index, 1)
           }
         }
       }
     },
     handleImageError($e) {
-      $e.target.src = this.defaultImg;
+      $e.target.src = this.defaultImg
     },
     cellSpanMethod({ row, column, rowIndex, columnIndex }) {
-      return this.spanMethod({ row, column, rowIndex, columnIndex }, this.url ? this.rowData : this.tableData)
+      return this.spanMethod(
+        { row, column, rowIndex, columnIndex },
+        this.url ? this.rowData : this.tableData
+      )
     }
   }
-});
+})
 </script>
 <style lang="less" scoped>
 .vol-table {
@@ -1643,7 +1816,7 @@
 .e-item {
   display: flex;
 
-  >div:first-child {
+  > div:first-child {
     flex: 1;
   }
 }
@@ -1782,7 +1955,6 @@
 .small-table ::v-deep(.el-table__cell) {
   padding: 6px 0;
   font-size: 13px;
-
 }
 
 .small-table ::v-deep(.cell-tag) {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue"
index dae42ce..0d35945 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue"
@@ -62,7 +62,7 @@
       </div>
       <div class="box-table" style="margin-top: 1%">
         <el-table ref="singleTable" :data="tableData" style="width: 100%; height: 630px" highlight-current-row
-          @current-change="handleCurrentChange" height="500px" @row-click="handleRowClick"
+           height="500px" @row-click="handleRowClick"
           @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="55"> </el-table-column>
           <el-table-column label="搴忓彿" type="index" fixed="left" width="55" align="center"></el-table-column>
@@ -75,6 +75,11 @@
                       :class="item.icon" style="font-size: 22px"></i></el-link></el-tooltip>
               </div>
 
+              <div v-else-if="item.type == 'tags'">
+                <el-tag size="small" :type="scoped.row.remark === '鏈夊簱瀛�' ? 'primary' : 'error'">
+                  {{ getDictionary(scoped.row, item) }}
+                </el-tag>
+              </div>
               <div v-else-if="item.type == 'tag'">
                 <el-tag size="small">
                   {{ getDictionary(scoped.row, item) }}
@@ -83,6 +88,12 @@
             </template>
           </el-table-column>
         </el-table>
+      </div>
+      <div style="margin-top: 20px; text-align: right;">
+        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+          :current-page="paginations.page" :page-sizes="paginations.sizes" :page-size="paginations.size"
+          layout="total, sizes, prev, pager, next, jumper" :total="paginations.total"> <!-- 鍏抽敭锛氱粦瀹歵otal灞炴�� -->
+        </el-pagination>
       </div>
     </vol-box>
     <stock-select ref="child" @parentCall="parentCall"></stock-select>
@@ -137,6 +148,12 @@
           title: "闇�姹傚垎绫�",
           type: "string",
           width: 150,
+        },
+        {
+          prop: "remark",
+          title: "鏄惁鏈夊簱瀛�",
+          type: "tags",
+          width:120,
         },
         {
           prop: "orderQuantity",
@@ -259,7 +276,6 @@
     },
     getData() {
       var wheres = [{ name: "orderId", value: this.row.id }, { name: "materielCode", value: this.MaterialCode, DisplayType: "text" }];
-      console.log(JSON.stringify(wheres));
       var param = {
         page: this.paginations.page,
         rows: this.paginations.rows,
@@ -267,9 +283,13 @@
         order: this.paginations.order,
         wheres: JSON.stringify(wheres), // 鏌ヨ鏉′欢锛屾牸寮忎负[{ name: "瀛楁", value: "xx" }]
       };
+      console.log(param);
       this.http
         .post("api/AllocateOutboundOrderDetail/GetPageData", param, "鏌ヨ涓�")
         .then((x) => {
+          this.tableData = x.rows;
+          this.MaterialCode = "";
+          this.paginations.total = x.total;
           this.tableData = x.rows;
         });
     },
@@ -279,6 +299,7 @@
           this.$message.error("璇ュ崟鎹凡娌℃湁鏁伴噺鍙嚭搴�");
           return;
         }
+        console.log(row);
         this.$refs.child.open(row);
       }
     },
@@ -306,8 +327,21 @@
     setCurrent(row) {
       this.$refs.singleTable.setCurrentRow(row);
     },
-    handleCurrentChange(val) {
-      this.currentRow = val;
+    // handleCurrentChange(val) {
+    //   this.currentRow = val;
+    // },
+    handleSizeChange(size) {
+      console.log(size);
+      this.paginations.size = size;
+      this.paginations.rows = size;
+      this.paginations.page = 1; // 閲嶇疆椤电爜
+      this.getData();
+    },
+
+    handleCurrentChange(page) {
+      console.log(page)
+      this.paginations.page = page;
+      this.getData();
     },
     getButtonEnable(propName, row) {
       if (propName == "assignStock") {
@@ -365,7 +399,7 @@
         }
       }
     },
-  },
+  }
 };
 </script>
 <style scoped>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionoutOrderDetail.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionoutOrderDetail.vue"
index dd13676..3c8018d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionoutOrderDetail.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionoutOrderDetail.vue"
@@ -34,7 +34,7 @@
       </div> -->
       <div class="box-table" style="margin-top: 1%">
         <el-table ref="singleTable" :data="tableData" style="width: 100%; height: 630px" highlight-current-row
-          @current-change="handleCurrentChange" height="500px" @row-click="handleRowClick"
+           height="500px" @row-click="handleRowClick"
           @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="55"> </el-table-column>
           <el-table-column label="搴忓彿" type="index" fixed="left" width="55" align="center"></el-table-column>
@@ -46,7 +46,11 @@
                     :disabled="getButtonEnable(item.prop, scoped.row)" @click="tableButtonClick(scoped.row, item)"><i
                       :class="item.icon" style="font-size: 22px"></i></el-link></el-tooltip>
               </div>
-
+              <div v-else-if="item.type == 'tags'">
+                <el-tag size="small" :type="scoped.row.remark === '鏈夊簱瀛�' ? 'primary' : 'error'">
+                  {{ getDictionary(scoped.row, item) }}
+                </el-tag>
+              </div>
               <div v-else-if="item.type == 'tag'">
                 <el-tag size="small">
                   {{ getDictionary(scoped.row, item) }}
@@ -55,6 +59,13 @@
             </template>
           </el-table-column>
         </el-table>
+
+      </div>
+      <div style="margin-top: 20px; text-align: right;">
+        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+          :current-page="paginations.page" :page-sizes="paginations.sizes" :page-size="paginations.size"
+          layout="total, sizes, prev, pager, next, jumper" :total="paginations.total"> <!-- 鍏抽敭锛氱粦瀹歵otal灞炴�� -->
+        </el-pagination>
       </div>
     </vol-box>
     <stock-select ref="child" @parentCall="parentCall"></stock-select>
@@ -72,7 +83,7 @@
       areaId: "2",
       showDetialBox: false,
       flag: false,
-      MaterialCode:"",
+      MaterialCode: "",
       currentRow: null,
       selection: [],
       tableData: [],
@@ -108,6 +119,12 @@
           title: "闇�姹傚垎绫�",
           type: "string",
           width: 150,
+        },
+        {
+          prop: "remark",
+          title: "鏄惁鏈夊簱瀛�",
+          type: "tags",
+          width:120,
         },
         {
           prop: "orderQuantity",
@@ -172,11 +189,6 @@
           type: "datetime",
           width: 160,
         },
-        {
-          prop: "remark",
-          title: "澶囨敞",
-          type: "string",
-        },
       ],
       paginations: {
         sort: "id",
@@ -229,7 +241,7 @@
       this.getData();
     },
     getData() {
-      var wheres = [{ name: "orderId", value: this.row.id},{name: "materielCode",value:this.MaterialCode,DisplayType:"text"}];
+      var wheres = [{ name: "orderId", value: this.row.id }, { name: "materielCode", value: this.MaterialCode, DisplayType: "text" }];
       console.log(JSON.stringify(wheres));
       var param = {
         page: this.paginations.page,
@@ -242,7 +254,11 @@
         .post("api/ProductionOutboundOrderDetail/GetPageData", param, "鏌ヨ涓�")
         .then((x) => {
           this.tableData = x.rows;
+          this.MaterialCode = "";
+          this.paginations.total = x.total;
+          this.tableData = x.rows;
         });
+
     },
     tableButtonClick(row, column) {
       if (column.prop == "assignStock") {
@@ -259,7 +275,7 @@
       }
       var keys = this.selection.map((item) => item.id); // 鑾峰彇閫変腑琛岀殑id
       var param = {
-        "orderIds":keys,
+        "orderIds": keys,
         "AreaId": this.areaId,
       }
       this.http
@@ -276,8 +292,21 @@
     setCurrent(row) {
       this.$refs.singleTable.setCurrentRow(row);
     },
-    handleCurrentChange(val) {
-      this.currentRow = val;
+    // handleCurrentChange(val) {
+    //   this.currentRow = val;
+    // },
+    handleSizeChange(size) {
+      console.log(size);
+      this.paginations.size = size;
+      this.paginations.rows = size;
+      this.paginations.page = 1; // 閲嶇疆椤电爜
+      this.getData();
+    },
+
+    handleCurrentChange(page) {
+      console.log(page)
+      this.paginations.page = page;
+      this.getData();
     },
     getButtonEnable(propName, row) {
       if (propName == "assignStock") {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx"
index 6d6b34f..df43713 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx"
@@ -26,28 +26,28 @@
   methods: {
     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
     onInit() {
-      this.detailOptions.buttons.unshift({
-        name: '鍏朵粬鍑哄簱', //鎸夐挳鍚嶇О
-        icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
-        type: 'primary',
-        onClick: function () {
-          this.$confirm('鏄惁鍏朵粬鍑哄簱', "璀﹀憡浣犳鍦ㄤ娇鐢ㄥ叾浠栧嚭搴�", {
-            confirmButtonText: '纭畾',
-            cancelButtonText: '鍙栨秷',
-            type: 'warning',
-            center: true
-          }).then(() => {
-            this.http.post(`/api/Task/OtherOutBoundTaskAsync`, row, "姝e湪瀹屾垚浠诲姟").then((res) => {
-              //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
-              if (res.status) {
-                this.$Message.success('浠诲姟瀹屾垚')
-              } else {
-                this.$Message.error(res.message) //閿欒鎻愮ず
-              }
-            })
-          })
-        }
-      });
+      // this.detailOptions.buttons.unshift({
+      //   name: '鍏朵粬鍑哄簱', //鎸夐挳鍚嶇О
+      //   icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+      //   type: 'primary',
+      //   onClick: function () {
+      //     this.$confirm('鏄惁鍏朵粬鍑哄簱', "璀﹀憡浣犳鍦ㄤ娇鐢ㄥ叾浠栧嚭搴�", {
+      //       confirmButtonText: '纭畾',
+      //       cancelButtonText: '鍙栨秷',
+      //       type: 'warning',
+      //       center: true
+      //     }).then(() => {
+      //       this.http.post(`/api/Task/OtherOutBoundTaskAsync`, row, "姝e湪瀹屾垚浠诲姟").then((res) => {
+      //         //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+      //         if (res.status) {
+      //           this.$Message.success('浠诲姟瀹屾垚')
+      //         } else {
+      //           this.$Message.error(res.message) //閿欒鎻愮ず
+      //         }
+      //       })
+      //     })
+      //   }
+      // });
       this.boxButtons.push({
         name: '鍏朵粬鍑哄簱', //鎸夐挳鍚嶇О
         icon: 'el-icon-document', //鎸夐挳鍥炬爣:缁勪欢绀轰緥->鍥炬爣
@@ -84,7 +84,7 @@
             type: 'warning',
             center: true
           }).then(() => {
-            this.http.post(`/api/Task/OtherOutBoundTaskAsync`, this.$refs.detail.rowData, "姝e湪瀹屾垚浠诲姟").then((res) => {
+            this.http.post(`/api/Task/HandAllocateOutBoundTaskAsync`, this.$refs.detail.rowData, "姝e湪瀹屾垚浠诲姟").then((res) => {
               if (res.status) {
                 this.$Message.success(res.message)
               } else {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx"
index 372279c..9635d0b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx"
@@ -24,18 +24,18 @@
     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
     onInit() {
 
-      this.columns.forEach(x => {
-        if (x.field == "errorMessage") {
-          x.cellStyle = (row, rowIndex, columnIndex) => {
-            if (row.errorMessage == null||row.errorMessage=="") {
-              return { background: "White", color: "Black" }
-            }
-            else{
-              return { background: "#FF4500", color: "Black" }
-            }
-          }
-        }
-      })
+      // this.columns.forEach(x => {
+      //   if (x.field == "errorMessage") {
+      //     x.cellStyle = (row, rowIndex, columnIndex) => {
+      //       if (row.errorMessage == null||row.errorMessage=="") {
+      //         return { background: "White", color: "Black" }
+      //       }
+      //       else{
+      //         return { background: "#FF4500", color: "Black" }
+      //       }
+      //     }
+      //   }
+      // })
 
       //妗嗘灦鍒濆鍖栭厤缃墠锛�
       let TaskHandCompleteBtn=this.buttons.find(x=>x.value=='TaskHandComplete');
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Home.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Home.vue"
index 46d57fd..17c134c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Home.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Home.vue"
@@ -1,12 +1,24 @@
 <template>
-  <div class="chart_left">
+  <div class="chart_left" style="margin-left: 20px;">
     <div class="titles">
       <el-icon class="icons" :size="24" color="#409EFF">
         <Checked />
       </el-icon>
       浠诲姟杩涜涓�
     </div>
-    <div style="margin-top: 60px;"></div>
+    <div style="margin-top: 20px;"></div>
+    <div class="item_center">
+      <Task-List :data="chartData" :options="chartOptions" />
+    </div>
+  </div>
+  <div class="chart_left" style="margin-left: 20px;">
+    <div class="titles">
+      <el-icon class="icons" :size="24" color="#409EFF">
+        <Checked />
+      </el-icon>
+      浠诲姟杩涜涓�
+    </div>
+    <div style="margin-top: 20px;"></div>
     <div class="item_center">
       <Task-List :data="chartData" :options="chartOptions" />
     </div>
@@ -16,33 +28,33 @@
 import TaskList from '../components/index/TaskList.vue';
 import http from '../api/http.js';
 import { ref, onMounted, onUnmounted, watch } from 'vue'; 
-
+const taskListRef = ref(null); 
 // 绀轰緥鏁版嵁
 const chartData = ref([
-  { value: 103, name: '宸插彇娑�', itemStyle: { color: '#FF6B6B' } },
-  { value: 735, name: '宸插畬鎴�', itemStyle: { color: '#4ECDC4' } },
+  // { value: 103, name: '宸插彇娑�', itemStyle: { color: '#FF6B6B' } },
+  // { value: 735, name: '宸插畬鎴�', itemStyle: { color: '#4ECDC4' } },
 ]);
 
 const fetchData = async () => {
   try {
     const response = await http.post("api/Task/GetTaskData", {});
+    chartData.value = response.data; 
 
-    console.log(response);
-    chartData.value = response.data; // 鏇存柊鍝嶅簲寮忔暟鎹�
-    console.log('鏁版嵁鏇存柊鎴愬姛:', chartData.value);
+    if (taskListRef.value) taskListRef.value.initChart();
   } catch (error) {
     console.error('API璇锋眰澶辫触:', error);
   }
 };
+const intervalId = ref(null)
 const startPolling = () => {
   fetchData(); // 鍒濆鍔犺浇
-  intervalId = setInterval(fetchData, 5 * 60 * 1000); // 5鍒嗛挓
+  intervalId.value = setInterval(fetchData, 5 * 60 * 1000); // 5鍒嗛挓
 };
 
 // 娓呯悊瀹氭椂鍣�
 const stopPolling = () => {
-  if (intervalId) {
-    clearInterval(intervalId);
+  if (intervalId.value) {
+    clearInterval(intervalId.value);
     console.log('宸插仠姝㈡暟鎹疆璇�');
   }
 };
@@ -82,9 +94,7 @@
   padding-top: 3vh;
 }
 
-.chart_left,
-.chart_center,
-.chart_right {
+.chart_left {
   position: relative;
   border-radius: 10px;
   background-color: white;
@@ -98,10 +108,9 @@
 }
 
 .indexModel .item_center {
-  height: 68vh;
+  height: 90vh;
   width: 98%;
-  margin: 0vh 1%;
-
+  margin: 0vh 20%;
 }
 
 .titles {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Index.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Index.vue"
index d551172..cc0f937 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Index.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Index.vue"
@@ -2,7 +2,7 @@
   <div id="vol-container" :class="['vol-theme-' + theme]">
     <div class="vol-aside" :style="{ width: menuWidth + 'px' }">
       <div class="header" :style="{ width: menuWidth - 1 + 'px' }">
-        <img v-show="!isCollapse" src="@/assets/imgs/logo.png" />
+        <img v-show="!isCollapse" src="@/assets/imgs/a.png" />
         <i @click="toggleLeft" class=" collapse-menu" :class="isCollapse ? 'el-icon-s-unfold' : 'el-icon-s-fold'" />
       </div>
       <div class="vol-menu">
@@ -14,7 +14,7 @@
     </div>
     <div class="vol-container" :style="{ left: menuWidth - 1 + 'px' }">
       <div class="vol-header">
-        <div class="project-name">WIDESEA_WMS</div>
+        <div class="project-name">鏄庡拰鏅鸿兘瑁呭鏈夐檺鍏徃</div>
         <div class="header-text">
           <div class="h-link">
             <a href="javascript:void(0)" @click="to(item)" v-for="(item, index) in links.filter((c) => {
@@ -90,8 +90,7 @@
               <component :is="Component" :key="$route.name"
                 v-if="!$route.meta || ($route.meta && !$route.meta.hasOwnProperty('keepAlive'))" />
             </keep-alive>
-            <component :is="Component" :key="$route.name"
-              v-if="$route.meta && $route.meta.hasOwnProperty('keepAlive')" />
+            <component :is="Component" :key="$route.name" v-if="$route.meta && $route.meta.hasOwnProperty('keepAlive')" />
           </router-view>
         </el-scrollbar>
       </div>
@@ -120,6 +119,7 @@
 import VolMenu from "@/components/basic/VolElementMenu.vue";
 import Message from "./index/Message.vue";
 import MessageConfig from "./index/MessageConfig.js";
+import logoImg from "@/assets/imgs/a.png"
 // var imgUrl = require("@/assets/imgs/logo.png");
 var $this;
 var $interval;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue"
index 44a5c0f..464afaa 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue"
@@ -1,6 +1,6 @@
 <template>
   <div class="login-container">
-    <div class="project-name">WIDESEA_WMS</div>
+    <div class="project-name">鏄庡拰鏅鸿兘瑁呭鏈夐檺鍏徃</div>
     <div class="login-form">
       <div class="form-user" @keypress="loginPress">
         <div class="login-text">
@@ -48,8 +48,8 @@
             target="_blank">QQ3缇�:743852316(婊�)</a>
           &nbsp; &nbsp;&nbsp; &nbsp;
           <a href="https://qm.qq.com/cgi-bin/qm/qr?k=YRZBbf64qsUeEmh24I65u2aIZFn2C-Ha&jump_from=webapi&qr=1" style="text-decoration: none" target="_blank">QQ4缇わ細959924606</a> -->
-          <!-- <a href="http://v2.volcore.xyz/document/guide" style="text-decoration: none" target="_blank">妗嗘灦鏂囨。</a> -->
-        <!-- </p>
+      <!-- <a href="http://v2.volcore.xyz/document/guide" style="text-decoration: none" target="_blank">妗嗘灦鏂囨。</a> -->
+      <!-- </p>
       </div> -->
       <!-- 閾炬帴浣嶇疆 -->
       <!-- <div class="app-link" >
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/InboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/InboundOrder.vue"
index b606a26..0c12476 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/InboundOrder.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/InboundOrder.vue"
@@ -57,6 +57,7 @@
             { field: 'upperOrderNo', title: '涓婃父鍗曞彿', type: 'string', width: 180, align: 'left' },
             { field: 'materialNo', title: '鐗╂枡缂栫爜', type: 'string', width: 180, align: 'left' },
             { field: 'materialName', title: '鐗╂枡鍚嶇О', type: 'string', width: 180, align: 'left' },
+            {field: 'quantity', title: '鏁伴噺', type: 'string', width: 90, align: 'left' },
             { field: 'demandClassification', title: '闇�姹傚垎绫�', type: 'string', width: 180, align: 'left' },
             { field: 'orderType', title: '鍗曟嵁绫诲瀷', type: 'string', width: 110, align: 'left' },
             { field: 'warehouseName', title: '浠撳簱鍚嶇О', type: 'string', width: 120, align: 'left' },
@@ -67,7 +68,6 @@
             { field: 'specs', title: '瑙勬牸', type: 'string', width: 180, align: 'left' },
             { field: 'unit', title: '鍗曚綅', type: 'string', width: 90, align: 'left' },
             { field: 'texture', title: '鏉愯川', type: 'string', width: 180, align: 'left' },
-            {field: 'quantity', title: '鏁伴噺', type: 'string', width: 90, align: 'left' },
             {field: 'orderStatus', title: '璁㈠崟鐘舵��', type: 'string', width: 90, align: 'left' },
            { field: 'creater', title: '鍒涘缓浜�', type: 'string', width: 120, align: 'left' },
            { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue"
index 7ea47c8..61b7749 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue"
@@ -133,9 +133,9 @@
                     type: "string",
                     width: 100,
                     align: "left",
-                    edit: { type: "int" },
+                    edit: { type: "select" },
                     required: true,
-                    
+                    bind: { key: "AreaType", data: [] }
                 },
                 {
                     field: "unit",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db"
index 6e6f7ac..75780d9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
index a314d5f..1dfa32b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
index 79ab8d1..b184081 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
index ae9e851..c9de240 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
index 2a8ee28..f15a5ee 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
index 8645713..af2ef84 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
index f0d1629..0449dc7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
@@ -3,24 +3,40 @@
   "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_allocateoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_allocateoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_productionoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_productionoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_allocateoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_allocateoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_productionoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_productionoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagebasicservices\\boxing\\boxinginfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|solutionrelative:widesea_storagebasicservices\\boxing\\boxinginfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\basic\\boxinginfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\basic\\boxinginfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\basic\\taskdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\basic\\taskdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{986CA639-B3B4-4D4F-B12B-3D8FBA48B2B1}|WIDESEA_IStorageTaskService\\WIDESEA_IStorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_istoragetaskservice\\task\\idt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{986CA639-B3B4-4D4F-B12B-3D8FBA48B2B1}|WIDESEA_IStorageTaskService\\WIDESEA_IStorageTaskServices.csproj|solutionrelative:widesea_istoragetaskservice\\task\\idt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_productionoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_productionoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagetaskservices\\aspnetcoreschedule.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -46,33 +62,83 @@
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "BoxingInfoController.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\BoxingInfoController.cs",
-              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Basic\\BoxingInfoController.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\BoxingInfoController.cs",
-              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Basic\\BoxingInfoController.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAXAAAAAAAAAA==",
+              "DocumentIndex": 1,
+              "Title": "Dt_ProductionOutboundOrderDetailService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "RelativeToolTip": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "ViewState": "AgIAADAAAAAAAAAAAAAIwEIAAAARAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-11-05T01:36:43.967Z",
+              "WhenOpened": "2025-11-06T07:16:00.471Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 0,
+              "Title": "Dt_AllocateOutboundOrderDetailService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_AllocateOutboundOrderDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_AllocateOutboundOrderDetailService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_AllocateOutboundOrderDetailService.cs",
+              "RelativeToolTip": "WIDESEA_OrderServices\\Dt_AllocateOutboundOrderDetailService.cs",
+              "ViewState": "AgIAADgAAAAAAAAAAAAIwEEAAAAiAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-11-06T03:57:25.899Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "TaskData.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Basic\\TaskData.cs",
+              "RelativeDocumentMoniker": "WIDESEA_DTO\\Basic\\TaskData.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Basic\\TaskData.cs",
+              "RelativeToolTip": "WIDESEA_DTO\\Basic\\TaskData.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwgAAAAKAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-11-06T00:33:05.048Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "IDt_TaskService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "RelativeToolTip": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "ViewState": "AgIAAB4AAAAAAAAAAADgvzIAAAAoAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-11-05T09:10:16.226Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "TaskController.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
+              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
+              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
+              "ViewState": "AgIAAI0AAAAAAAAAAAAswJ8AAAAxAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-11-05T09:03:37.443Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
               "Title": "Dt_TaskService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "RelativeToolTip": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
-              "ViewState": "AgIAAIoAAAAAAAAAAAAawKYAAAAZAAAAAAAAAA==",
+              "ViewState": "AgIAABgCAAAAAAAAAAAjwCkCAAAMAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-10-31T07:18:07.612Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
+              "DocumentIndex": 8,
               "Title": "Dt_ProductionOutboundOrderService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_ProductionOutboundOrderService.cs",
               "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderService.cs",
@@ -80,12 +146,11 @@
               "RelativeToolTip": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderService.cs",
               "ViewState": "AgIAADQBAAAAAAAAAAAjwD8BAAAMAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-11-03T02:13:51.105Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-11-03T02:13:51.105Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 5,
+              "DocumentIndex": 9,
               "Title": "AspNetCoreSchedule.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
               "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
@@ -93,38 +158,37 @@
               "RelativeToolTip": "WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
               "ViewState": "AgIAAHsAAAAAAAAAAAAQwGIAAAAzAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-11-03T09:09:37.829Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-11-03T09:09:37.829Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 1,
+              "DocumentIndex": 2,
               "Title": "Dt_AllocateOutboundOrderService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_AllocateOutboundOrderService.cs",
               "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_AllocateOutboundOrderService.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_AllocateOutboundOrderService.cs",
               "RelativeToolTip": "WIDESEA_OrderServices\\Dt_AllocateOutboundOrderService.cs",
-              "ViewState": "AgIAAD0BAAAAAAAAAAAjwEwBAAAMAAAAAAAAAA==",
+              "ViewState": "AgIAABgAAAAAAAAAAAAAACEAAABPAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-11-03T02:04:06.044Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
+              "DocumentIndex": 4,
               "Title": "BoxingInfoService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Boxing\\BoxingInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Boxing\\BoxingInfoService.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Boxing\\BoxingInfoService.cs",
               "RelativeToolTip": "WIDESEA_StorageBasicServices\\Boxing\\BoxingInfoService.cs",
-              "ViewState": "AgIAAN8AAAAAAAAAAAAuwBsBAAAQAAAAAAAAAA==",
+              "ViewState": "AgIAAMkAAAAAAAAAAAD4v9YAAAAQAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-11-03T02:02:13.16Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 6,
+              "DocumentIndex": 10,
               "Title": "LocationInfoService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Location\\LocationInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Location\\LocationInfoService.cs",
@@ -137,7 +201,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 7,
+              "DocumentIndex": 11,
               "Title": "Basic.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\ERP\\Basic.cs",
               "RelativeDocumentMoniker": "WIDESEA_DTO\\ERP\\Basic.cs",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
index cefdd0b..c45794a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
@@ -3,6 +3,10 @@
   "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
   "Documents": [
     {
+      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{986CA639-B3B4-4D4F-B12B-3D8FBA48B2B1}|WIDESEA_IStorageTaskService\\WIDESEA_IStorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_istoragetaskservice\\task\\idt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{986CA639-B3B4-4D4F-B12B-3D8FBA48B2B1}|WIDESEA_IStorageTaskService\\WIDESEA_IStorageTaskServices.csproj|solutionrelative:widesea_istoragetaskservice\\task\\idt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
@@ -11,16 +15,24 @@
       "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_allocateoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_allocateoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_productionoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_productionoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_allocateoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_allocateoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagebasicservices\\boxing\\boxinginfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|solutionrelative:widesea_storagebasicservices\\boxing\\boxinginfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_allocateoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_allocateoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\basic\\taskdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\basic\\taskdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_productionoutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -46,50 +58,89 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 0,
+          "SelectedChildIndex": 4,
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 0,
+              "DocumentIndex": 4,
+              "Title": "Dt_ProductionOutboundOrderDetailService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "RelativeToolTip": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "ViewState": "AgIAADAAAAAAAAAAAAAIwEIAAAARAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-11-06T07:16:00.471Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "Dt_AllocateOutboundOrderDetailService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_AllocateOutboundOrderDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_AllocateOutboundOrderDetailService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_AllocateOutboundOrderDetailService.cs",
+              "RelativeToolTip": "WIDESEA_OrderServices\\Dt_AllocateOutboundOrderDetailService.cs",
+              "ViewState": "AgIAADgAAAAAAAAAAAAIwEEAAAAiAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-11-06T03:57:25.899Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "TaskData.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Basic\\TaskData.cs",
+              "RelativeDocumentMoniker": "WIDESEA_DTO\\Basic\\TaskData.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Basic\\TaskData.cs",
+              "RelativeToolTip": "WIDESEA_DTO\\Basic\\TaskData.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwgAAAAKAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-11-06T00:33:05.048Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
               "Title": "IDt_TaskService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
               "RelativeDocumentMoniker": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
-              "RelativeToolTip": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
-              "ViewState": "AgIAAB4AAAAAAAAAAADgvzIAAAArAAAAAAAAAA==",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs*",
+              "RelativeToolTip": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs*",
+              "ViewState": "AgIAAFUAAAAAAAAAAAD4v2gAAABcAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-11-05T09:10:16.226Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
+              "DocumentIndex": 0,
               "Title": "TaskController.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
               "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
               "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
-              "ViewState": "AgIAAI0AAAAAAAAAAAAswJ8AAAAxAAAAAAAAAA==",
+              "ViewState": "AgIAAFcAAAAAAAAAAAD4v2sAAABMAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-11-05T09:03:37.443Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 1,
+              "DocumentIndex": 2,
               "Title": "Dt_TaskService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "RelativeToolTip": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
-              "ViewState": "AgIAAGMCAAAAAAAAAAAAwFcFAAAKAAAAAAAAAA==",
+              "ViewState": "AgIAAK8CAAAAAAAAAAAhwC0DAABoAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-10-31T07:18:07.612Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 5,
+              "DocumentIndex": 8,
               "Title": "Dt_ProductionOutboundOrderService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_ProductionOutboundOrderService.cs",
               "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderService.cs",
@@ -97,12 +148,11 @@
               "RelativeToolTip": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderService.cs",
               "ViewState": "AgIAADQBAAAAAAAAAAAjwD8BAAAMAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-11-03T02:13:51.105Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-11-03T02:13:51.105Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 6,
+              "DocumentIndex": 9,
               "Title": "AspNetCoreSchedule.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
               "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
@@ -110,38 +160,37 @@
               "RelativeToolTip": "WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
               "ViewState": "AgIAAHsAAAAAAAAAAAAQwGIAAAAzAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-11-03T09:09:37.829Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-11-03T09:09:37.829Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 4,
+              "DocumentIndex": 5,
               "Title": "Dt_AllocateOutboundOrderService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_AllocateOutboundOrderService.cs",
               "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_AllocateOutboundOrderService.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_AllocateOutboundOrderService.cs",
               "RelativeToolTip": "WIDESEA_OrderServices\\Dt_AllocateOutboundOrderService.cs",
-              "ViewState": "AgIAAD0BAAAAAAAAAAAjwEwBAAAMAAAAAAAAAA==",
+              "ViewState": "AgIAABgAAAAAAAAAAAAAACEAAABPAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-11-03T02:04:06.044Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
+              "DocumentIndex": 6,
               "Title": "BoxingInfoService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Boxing\\BoxingInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Boxing\\BoxingInfoService.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Boxing\\BoxingInfoService.cs",
               "RelativeToolTip": "WIDESEA_StorageBasicServices\\Boxing\\BoxingInfoService.cs",
-              "ViewState": "AgIAACYBAAAAAAAAAAAuwDEBAAAVAAAAAAAAAA==",
+              "ViewState": "AgIAAMkAAAAAAAAAAAD4v9YAAAAQAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-11-03T02:02:13.16Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 7,
+              "DocumentIndex": 10,
               "Title": "LocationInfoService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Location\\LocationInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Location\\LocationInfoService.cs",
@@ -154,7 +203,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 8,
+              "DocumentIndex": 11,
               "Title": "Basic.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\ERP\\Basic.cs",
               "RelativeDocumentMoniker": "WIDESEA_DTO\\ERP\\Basic.cs",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/TaskData.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/TaskData.cs"
new file mode 100644
index 0000000..8fd4310
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/TaskData.cs"
@@ -0,0 +1,14 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_DTO.Basic
+{
+    public class TaskData
+    {
+        public string Status { get; set; }
+        public int Count { get; set; }
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs"
index 938e35d..ee2da21 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs"
@@ -102,6 +102,8 @@
 
     Task<WebResponseContent> OtherOutBoundTaskAsync(List<DtStockInfoDetail> details);
 
+    Task<WebResponseContent> HandAllocateOutBoundTaskAsync(List<DtStockInfoDetail> details);
+
     (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) GetlcoationState(List<Dt_Task> tasks, int StatusChangeTypeEnum);
 
     (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) GetlcoationState(Dt_Task task, int StatusChangeTypeEnum);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderDetailService.cs"
index c00107d..21f412f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderDetailService.cs"
@@ -6,22 +6,26 @@
 using WIDESEA_Core.Helper;
 using WIDESEA_IOrderRepository;
 using WIDESEA_IOrderServices;
+using WIDESEA_IStorageBasicRepository;
 using WIDESEA_IStorageTaskRepository;
 using WIDESEA_IStorageTaskServices;
 using WIDESEA_Model.Models;
 using WIDESEA_Model.Models.Order;
+using WIDESEA_StorageBasicRepository;
 
 namespace WIDESEA_OrderServices
 {
     public class Dt_AllocateOutboundOrderDetailService : ServiceBase<Dt_AllocateOutboundOrderDetail, IDt_AllocateOutboundOrderDetailRepository>, IDt_AllocateOutboundOrderDetailService
     {
         private readonly IUnitOfWorkManage _unitOfWorkManage;
+        private readonly IStockInfoDetailRepository _stockInfoDetailRepository;
 
         public Dt_AllocateOutboundOrderDetailService(IDt_AllocateOutboundOrderDetailRepository BaseDal,
-                                        IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
+                                        IUnitOfWorkManage unitOfWorkManage,
+                                        IStockInfoDetailRepository stockInfoDetailRepository) : base(BaseDal)
         {
             _unitOfWorkManage = unitOfWorkManage;
-
+            _stockInfoDetailRepository = stockInfoDetailRepository;
         }
         public override PageGridData<Dt_AllocateOutboundOrderDetail> GetPageData(PageDataOptions options)
         {
@@ -55,7 +59,19 @@
                 .WhereIF(!wheres.IsNullOrEmpty(), wheres)
                 .OrderBy(orderByModels)
                 .ToPageList(options.Page, options.Rows, ref totalCount);
-            var x=new PageGridData<Dt_AllocateOutboundOrderDetail>(totalCount, data);
+
+            foreach (var item in data)
+            {
+                var detail = _stockInfoDetailRepository.QueryFirst(x => x.MaterielCode == item.MaterielCode);
+                if (detail != null)
+                {
+                    item.Remark = "鏈夊簱瀛�";
+                }
+                else
+                {
+                    item.Remark = "鏃犲簱瀛�";
+                }
+            }
             return new PageGridData<Dt_AllocateOutboundOrderDetail>(totalCount, data);
         }
     }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderDetailService.cs"
index 39b719c..cf60638 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderDetailService.cs"
@@ -6,6 +6,7 @@
 using WIDESEA_Core.Helper;
 using WIDESEA_IOrderRepository;
 using WIDESEA_IOrderServices;
+using WIDESEA_IStorageBasicRepository;
 using WIDESEA_IStorageTaskRepository;
 using WIDESEA_IStorageTaskServices;
 using WIDESEA_Model.Models;
@@ -16,12 +17,13 @@
     public class Dt_ProductionOutboundOrderDetailService : ServiceBase<Dt_ProductionOutboundOrderDetail, IDt_ProductionOutboundOrderDetailRepository>, IDt_ProductionOutboundOrderDetailService
     {
         private readonly IUnitOfWorkManage _unitOfWorkManage;
-
+        private readonly IStockInfoDetailRepository _stockInfoDetailRepository;
         public Dt_ProductionOutboundOrderDetailService(IDt_ProductionOutboundOrderDetailRepository BaseDal,
-                                        IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
+                                        IUnitOfWorkManage unitOfWorkManage,
+                                        IStockInfoDetailRepository stockInfoDetailRepository) : base(BaseDal)
         {
             _unitOfWorkManage = unitOfWorkManage;
-
+            _stockInfoDetailRepository = stockInfoDetailRepository;
         }
         public override PageGridData<Dt_ProductionOutboundOrderDetail> GetPageData(PageDataOptions options)
         {
@@ -55,7 +57,19 @@
                 .WhereIF(!wheres.IsNullOrEmpty(), wheres)
                 .OrderBy(orderByModels)
                 .ToPageList(options.Page, options.Rows, ref totalCount);
-            var x=new PageGridData<Dt_ProductionOutboundOrderDetail>(totalCount, data);
+
+            foreach (var item in data)
+            {
+                var detail = _stockInfoDetailRepository.QueryFirst(x => x.MaterielCode == item.MaterielCode);
+                if (detail != null)
+                {
+                    item.Remark = "鏈夊簱瀛�";
+                }
+                else
+                {
+                    item.Remark = "鏃犲簱瀛�";
+                }
+            }
             return new PageGridData<Dt_ProductionOutboundOrderDetail>(totalCount, data);
         }
     }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/WIDESEA_OrderServices.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/WIDESEA_OrderServices.csproj"
index a45c373..675aac9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/WIDESEA_OrderServices.csproj"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/WIDESEA_OrderServices.csproj"
@@ -11,6 +11,7 @@
     <ProjectReference Include="..\WIDESEA_Cache\WIDESEA_Cache.csproj" />
     <ProjectReference Include="..\WIDESEA_IBusinessServices\WIDESEA_IBusinessServices.csproj" />
     <ProjectReference Include="..\WIDESEA_IOrderServices\WIDESEA_IOrderServices.csproj" />
+    <ProjectReference Include="..\WIDESEA_IStorageBasicService\WIDESEA_IStorageBasicServices.csproj" />
     <ProjectReference Include="..\WIDESEA_StorageBasicRepository\WIDESEA_StorageBasicRepository.csproj" />
     <ProjectReference Include="..\WIDESEA_StorageTaskServices\WIDESEA_StorageTaskServices.csproj" />
   </ItemGroup>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs"
index 5c09857..6e9b06b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs"
@@ -24,6 +24,7 @@
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.Const;
 using WIDESEA_Core.Enums;
+using WIDESEA_DTO.Basic;
 using WIDESEA_DTO.ERP;
 using WIDESEA_DTO.Location;
 using WIDESEA_DTO.Stock;
@@ -121,7 +122,7 @@
 
             var allocateOrderdetail = orderDetails.Where(x => true).ToList();
 
-            await ERPAllocateOut(stock);
+            //await ERPAllocateOut(stock);
 
             //璋冩嫧鍑哄簱
             if (task.TaskType == (int)TaskOutboundTypeEnum.OutAllocate)
@@ -834,12 +835,12 @@
                 return content.Error("璇ユ墭鐩樺簱瀛樺凡鍦ㄥ嚭搴撶紦瀛樺尯");
             }
 
-            Dt_Task taskNew = await RequestOutboundTaskAsync(new RequestTaskDto { PalletCode = stock.PalletCode, AreaId = 2, Position = stock.LocationCode, TaskType = (int)TaskOutboundTypeEnum.OutOther });
+            Dt_Task taskNew = await RequestOutboundTaskAsync(new RequestTaskDto { PalletCode = stock.PalletCode, AreaId = 2, Position = stock.LocationCode, TaskType = (int)TaskOutboundTypeEnum.OutAllocate });
 
             List<Dt_OrderOutDetails> outDetails = new List<Dt_OrderOutDetails>();
             details.Where(x => x.OutboundQuantity > 0).ForEach(x =>
             {
-                var areaName = _areaInfoRepository.QueryFirst(y => y.AreaName == x.Remark);
+                var areaName = _areaInfoRepository.QueryFirst(y => y.AreaID == Convert.ToInt32(x.Remark));
                 if (areaName == null)
                 {
                     throw new Exception($"鏈壘鍒拌皟鎷ㄤ粨搴搟x.Remark}鏁版嵁");
@@ -856,10 +857,10 @@
                     ERPOrderId = "",
                     MaterielCode = x.MaterielCode,
                     MaterielName = x.MaterielName,
-                    AllocateWarehouse = x.Remark,
+                    AllocateWarehouse = areaName.AreaName,
                     Warehouse = "鏅鸿兘绔嬪簱",
                     WareHouseId = "107",
-                    AllocateWarehouseId = areaName.AreaName,
+                    AllocateWarehouseId = areaName.AreaCode ,
                     OutboundQuantity = x.OutboundQuantity,
                 });
             });
@@ -1392,14 +1393,22 @@
         WebResponseContent content = new WebResponseContent();
         try
         {
-            var task = BaseDal.QueryData(x => true);
-            Dictionary<string,object> obj=new Dictionary<string, object>()
+            var task = await BaseDal.QueryDataAsync(x => true);
+            var taskData = new List<TaskData>
             {
-                 {"name","宸插畬鎴�"},
+                new TaskData { Status = "宸插彇娑�", Count = task.Count+50 },
+                new TaskData { Status = "宸插畬鎴�", Count = 735 }
             };
-            
 
-            return content.OK(data:obj);
+            // 鏋勫缓绗﹀悎瑕佹眰鐨勬牸寮�
+            var result = taskData.Select(item => new
+            {
+                value = item.Count,
+                name = item.Status,
+                itemStyle = new { color = item.Status == "宸插彇娑�" ? "#FF0000" : "#00FF00" }
+            }).ToList();
+
+            return content.OK(data: result);
         }
         catch (Exception ex)
         {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
index 28d91df..d126566 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
@@ -105,6 +105,13 @@
         return Service.OtherOutBoundTaskAsync(details);
     }
 
+    [HttpPost, HttpGet, AllowAnonymous, Route("HandAllocateOutBoundTaskAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 2 })]
+    public Task<WebResponseContent> HandAllocateOutBoundTaskAsync([FromBody] List<DtStockInfoDetail> details)
+    {
+        return Service.HandAllocateOutBoundTaskAsync(details);
+    }
+
     /// <summary>
     /// 浠诲姟鐘舵�佷慨鏀�
     /// </summary>
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$\346\230\216\345\222\214U9\346\216\245\345\217\243.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$\346\230\216\345\222\214U9\346\216\245\345\217\243.xlsx"
deleted file mode 100644
index 1e0c8b3..0000000
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$\346\230\216\345\222\214U9\346\216\245\345\217\243.xlsx"
+++ /dev/null
Binary files differ

--
Gitblit v1.9.3