From 232cdf071bfe3bd2b77ba05accba89b67fcc1edc Mon Sep 17 00:00:00 2001
From: Zhang-Hong-Lin <a3219986988@163.com>
Date: 星期四, 26 六月 2025 18:51:14 +0800
Subject: [PATCH] 优化bug与添加一键删除按钮

---
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json                     |   86 
 项目代码/WCS/WIDESEAWCS_Client/src/extension/taskinfo/weight_hty.js                              |   59 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_ThicknessHtyService.cs             |    2 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskhtyService.cs                    |    1 
 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json              |   86 
 项目代码/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationimg.vue                                 | 1469 ++++++++++++++++++++
 项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/thickness_hty.vue                              |  157 ++
 项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue                                   |  174 ++
 项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/errormsginfo.vue                               |  118 +
 项目代码/WCS/WIDESEAWCS_Client/config/buttons.js                                                 |   36 
 项目代码/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/methods.js                          |   85 +
 项目代码/WCS/WIDESEAWCS_Client/src/views/Home.vue                                                |  623 ++++++++
 项目代码/WCS/WIDESEAWCS_Client/src/router/viewGird.js                                            |   30 
 项目代码/WCS/WIDESEAWCS_Client/src/views/wmsPart/stockInfo.vue                                   |   61 
 项目代码/WCS/WIDESEAWCS_Client/src/views/basicinfo/batch.vue                                     |  139 +
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml |    2 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_ThicknessHtyService.cs               |   11 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_WeightHtyService.cs                |    3 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Weight_HtyController.cs      |   10 
 项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue                                       |  130 +
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs                                    |   86 
 项目代码/WCS/WIDESEAWCS_Client/package.json                                                      |    7 
 项目代码/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/routerview.vue                     |    2 
 项目代码/WCS/WIDESEAWCS_Client/src/extension/taskinfo/thickness_hty.js                           |   59 
 项目代码/WCS/WIDESEAWCS_Client/src/views/Index.vue                                               |   53 
 项目代码/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/serviceFilter.js                    |    2 
 /dev/null                                                                                    |  265 ---
 项目代码/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationInfo.vue                                |   60 
 项目代码/WCS/WIDESEAWCS_Client/package-lock.json                                                 |  235 ++-
 项目代码/WCS/WIDESEAWCS_Client/src/views/basicinfo/stationinfo.vue                               |  126 +
 项目代码/WCS/WIDESEAWCS_Client/src/img/1.png                                                     |    0 
 项目代码/WCS/WIDESEAWCS_Client/src/api/http.js                                                   |    8 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs                         |    4 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_WeightHtyService.cs                  |   11 
 项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/weight_hty.vue                                 |  111 +
 项目代码/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue                     |    2 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Thickness_HtyController.cs   |   10 
 项目代码/WCS/WIDESEAWCS_Client/src/store/index.js                                                |   17 
 38 files changed, 3,693 insertions(+), 647 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/config/buttons.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/config/buttons.js"
index 50c4dfd..bbf4954 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/config/buttons.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/config/buttons.js"
@@ -22,6 +22,42 @@
     }
 },
 {
+    name: "鐗规畩鍒犻櫎1",
+    icon: 'el-icon-a',
+    value: 'a',
+    class: '',
+    //  plain:true,
+    type: 'a',
+    // plain:true,
+    onClick: function () {
+        this.speciadelete();
+    }
+},
+{
+    name: "鐗规畩缂栬緫",
+    icon: 'el-icon-b',
+    value: 'b',
+    class: '',
+    //  plain:true,
+    type: 'b',
+    // plain:true,
+    onClick: function () {
+        this.speciaupdate();
+    }
+},
+{
+    name: "绔嬪嵆瀹屾垚",
+    icon: 'el-icon-complete',
+    value: 'complete',
+    class: '',
+    //  plain:true,
+    type: 'complete',
+    // plain:true,
+    onClick: function () {
+        this.complete();
+    }
+},
+{
     name: "缂� 杈�",
     icon: 'el-icon-edit',
     value: 'Update',
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/package-lock.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/package-lock.json"
index 6c6708a..842e6ac 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/package-lock.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/package-lock.json"
@@ -1278,11 +1278,6 @@
         "fastq": "^1.6.0"
       }
     },
-    "@popperjs/core": {
-      "version": "npm:@sxzz/popperjs-es@2.11.7",
-      "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
-      "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
-    },
     "@soda/friendly-errors-webpack-plugin": {
       "version": "1.8.0",
       "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz?cache=0&sync_timestamp=1607927406873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40soda%2Ffriendly-errors-webpack-plugin%2Fdownload%2F%40soda%2Ffriendly-errors-webpack-plugin-1.8.0.tgz",
@@ -1841,6 +1836,87 @@
         "webpack-chain": "^6.4.0",
         "webpack-dev-server": "^3.11.0",
         "webpack-merge": "^4.2.2"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true,
+          "optional": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true,
+          "optional": true
+        },
+        "loader-utils": {
+          "version": "2.0.4",
+          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
+          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^2.1.2"
+          }
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        },
+        "vue-loader-v16": {
+          "version": "npm:vue-loader@16.8.3",
+          "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
+          "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "hash-sum": "^2.0.0",
+            "loader-utils": "^2.0.0"
+          }
+        }
       }
     },
     "@vue/cli-shared-utils": {
@@ -2362,6 +2438,11 @@
       "version": "1.1.2",
       "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz",
       "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY="
+    },
+    "adler-32": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
+      "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A=="
     },
     "agent-base": {
       "version": "6.0.2",
@@ -3333,6 +3414,15 @@
       "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
       "dev": true
     },
+    "cfb": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
+      "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
+      "requires": {
+        "adler-32": "~1.3.0",
+        "crc-32": "~1.2.0"
+      }
+    },
     "chai": {
       "version": "4.3.4",
       "resolved": "https://registry.npm.taobao.org/chai/download/chai-4.3.4.tgz",
@@ -3708,6 +3798,11 @@
         "chalk": "^2.4.1",
         "q": "^1.1.2"
       }
+    },
+    "codepage": {
+      "version": "1.15.0",
+      "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
+      "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA=="
     },
     "collection-visit": {
       "version": "1.0.0",
@@ -4092,6 +4187,11 @@
         "js-yaml": "^3.13.1",
         "parse-json": "^4.0.0"
       }
+    },
+    "crc-32": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
+      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="
     },
     "create-ecdh": {
       "version": "4.0.4",
@@ -4938,6 +5038,13 @@
         "lodash-unified": "^1.0.2",
         "memoize-one": "^6.0.0",
         "normalize-wheel-es": "^1.2.0"
+      },
+      "dependencies": {
+        "@popperjs/core": {
+          "version": "npm:@sxzz/popperjs-es@2.11.7",
+          "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
+          "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
+        }
       }
     },
     "elliptic": {
@@ -5783,6 +5890,11 @@
       "resolved": "https://registry.nlark.com/forwarded/download/forwarded-0.2.0.tgz?cache=0&sync_timestamp=1622503508967&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fforwarded%2Fdownload%2Fforwarded-0.2.0.tgz",
       "integrity": "sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE=",
       "dev": true
+    },
+    "frac": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
+      "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA=="
     },
     "fragment-cache": {
       "version": "0.2.1",
@@ -11272,6 +11384,14 @@
       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
       "dev": true
     },
+    "ssf": {
+      "version": "0.11.2",
+      "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
+      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
+      "requires": {
+        "frac": "~1.1.2"
+      }
+    },
     "sshpk": {
       "version": "1.16.1",
       "resolved": "https://registry.nlark.com/sshpk/download/sshpk-1.16.1.tgz",
@@ -12525,87 +12645,6 @@
         }
       }
     },
-    "vue-loader-v16": {
-      "version": "npm:vue-loader@16.8.3",
-      "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
-      "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "chalk": "^4.1.0",
-        "hash-sum": "^2.0.0",
-        "loader-utils": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true,
-          "optional": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true,
-          "optional": true
-        },
-        "loader-utils": {
-          "version": "2.0.4",
-          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
-          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^2.1.2"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
     "vue-router": {
       "version": "4.0.10",
       "resolved": "https://registry.nlark.com/vue-router/download/vue-router-4.0.10.tgz?cache=0&sync_timestamp=1624286995690&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-router%2Fdownload%2Fvue-router-4.0.10.tgz",
@@ -13301,6 +13340,16 @@
         }
       }
     },
+    "wmf": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
+      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
+    },
+    "word": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
+      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
+    },
     "word-wrap": {
       "version": "1.2.3",
       "resolved": "https://registry.nlark.com/word-wrap/download/word-wrap-1.2.3.tgz",
@@ -13394,6 +13443,20 @@
       "resolved": "https://registry.nlark.com/ws/download/ws-7.5.3.tgz?cache=0&sync_timestamp=1625897053615&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fws%2Fdownload%2Fws-7.5.3.tgz",
       "integrity": "sha1-Fgg1tjx9l7+rQY/BuKn87SrAGnQ="
     },
+    "xlsx": {
+      "version": "0.18.5",
+      "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz",
+      "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
+      "requires": {
+        "adler-32": "~1.3.0",
+        "cfb": "~1.2.1",
+        "codepage": "~1.15.0",
+        "crc-32": "~1.2.1",
+        "ssf": "~0.11.2",
+        "wmf": "~1.0.1",
+        "word": "~0.3.0"
+      }
+    },
     "xml-name-validator": {
       "version": "3.0.0",
       "resolved": "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/package.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/package.json"
index 038a0f9..01e2124 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/package.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/package.json"
@@ -3,8 +3,8 @@
   "version": "0.1.0",
   "private": true,
   "scripts": {
-    "server": "vue-cli-service serve",
-    "build": "vue-cli-service build",
+    "serve": " SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
+    "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
     "test:unit": "vue-cli-service test:unit",
     "lint": "vue-cli-service lint"
   },
@@ -21,7 +21,8 @@
     "vue-draggable-next": "^2.0.1",
     "vue-router": "^4.0.0-0",
     "vuex": "^4.0.0-0",
-    "wangeditor": "^4.7.6"
+    "wangeditor": "^4.7.6",
+    "xlsx": "^0.18.5"
   },
   "devDependencies": {
     "@babel/plugin-syntax-dynamic-import": "^7.8.3",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/api/http.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/api/http.js"
index 452906c..ee94485 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/api/http.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/api/http.js"
@@ -12,14 +12,16 @@
 let loadingInstance;
 let loadingStatus = false;
 if (process.env.NODE_ENV == 'development') {
-    axios.defaults.baseURL = window.webConfig.webApiProduction;
+    axios.defaults.baseURL = "http://127.0.0.1:9291/";
+    //axios.defaults.baseURL = "http://192.168.0.250:9291/";
 }
 else if (process.env.NODE_ENV == 'debug') {
-    axios.defaults.baseURL = window.webConfig.webApiDebug;
+    axios.defaults.baseURL = "http://127.0.0.1:9291/";
+    //axios.defaults.baseURL = "http://192.168.0.250:9291/";
 }
 
 else if (process.env.NODE_ENV == 'production') {
-    axios.defaults.baseURL = window.webConfig.webApiProduction;
+    axios.defaults.baseURL = "http://192.168.0.250:9291/";
 }
 if (!axios.defaults.baseURL.endsWith('/')) {
     axios.defaults.baseURL+="/";
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/methods.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/methods.js"
index fa02eca..0763ff6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/methods.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/methods.js"
@@ -1,4 +1,5 @@
 import detailMethods from './detailMethods.js';
+import axios from "axios";
 //涓氬姟澶勭悊鏂规硶,鍏ㄩ儴鍙互鐢卞紑鍙戣鐩�
 import serviceFilter from './serviceFilter.js';
 let methods = {
@@ -907,6 +908,85 @@
     this.modelOpenProcess();
     // this.modelOpenAfter();
   },
+  async complete(rows) {
+    this.boxOptions.title = '绔嬪嵆瀹屾垚';
+    this.currentAction = this.const.EDIT;
+    if (rows) {
+      if (!(rows instanceof Array)) {
+        rows = [rows];
+      }
+    } else {
+      rows = this.$refs.table.getSelected();
+    }
+    if (rows.length == 0) {
+      return this.$error('璇烽�夋嫨瑕佺紪杈戠殑琛�!');
+    }
+    if (rows.length != 1) {
+      return this.$error('鍙兘閫夋嫨涓�琛屾暟鎹繘琛岀紪杈�!');
+    }
+    //璁板綍褰撳墠缂栬緫鐨勮
+    this.currentRow = rows[0];
+    let w = this.currentRow.taskId;
+    axios.post("api/Task/AtOnceUpdate/?taskid=" + w, {}).then(x => {
+      alert("瀹屾垚");
+
+    })
+  },
+  async speciadelete(rows) {
+    this.boxOptions.title = '鐗规畩鍒犻櫎1';
+    this.currentAction = this.const.EDIT;
+    if (rows) {
+      if (!(rows instanceof Array)) {
+        rows = [rows];
+      }
+    } else {
+      rows = this.$refs.table.getSelected();
+    }
+    if (rows.length == 0) {
+      return this.$error('璇烽�夋嫨瑕佺紪杈戠殑琛�!');
+    }
+    if (rows.length != 1) {
+      return this.$error('鍙兘閫夋嫨涓�琛屾暟鎹繘琛岀紪杈�!');
+    }
+    //璁板綍褰撳墠缂栬緫鐨勮
+    this.currentRow = rows[0];
+    axios.post("api/Task/speciadelete/", this.currentRow).then(x => {
+      if (x.data.message == 1) {
+        alert("澶辫触");
+      } else {
+        alert("瀹屾垚");
+        this.refresh();
+      }
+    })
+  },
+  async speciaupdate(rows) {
+    this.boxOptions.title = '鐗规畩缂栬緫';
+    this.currentAction = this.const.EDIT;
+    if (rows) {
+      if (!(rows instanceof Array)) {
+        rows = [rows];
+      }
+    } else {
+      rows = this.$refs.table.getSelected();
+    }
+    if (rows.length == 0) {
+      return this.$error('璇烽�夋嫨瑕佺紪杈戠殑琛�!');
+    }
+    if (rows.length != 1) {
+      return this.$error('鍙兘閫夋嫨涓�琛屾暟鎹繘琛岀紪杈�!');
+    }
+    //璁板綍褰撳墠缂栬緫鐨勮
+    this.currentRow = rows[0];
+    let w = this.currentRow.taskId;
+    axios.post("api/Task/speciaupdate/", this.currentRow).then(x => {
+      if (x.data.message != 1) {
+        alert("澶辫触");
+      } else {
+        alert("瀹屾垚");
+        this.refresh();
+      }
+    })
+  },
   async edit(rows) {
     this.boxOptions.title = '缂栬緫';
     //缂栬緫
@@ -926,6 +1006,11 @@
     }
     //璁板綍褰撳墠缂栬緫鐨勮
     this.currentRow = rows[0];
+
+
+    console.log("123", this.currentRow);
+
+
     //鍒濆鍖栧脊鍑烘
     if (!(await this.initBox())) return;
     this.setContinueAdd(false);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/serviceFilter.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/serviceFilter.js"
index 5d3b21f..f2017b0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/serviceFilter.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/serviceFilter.js"
@@ -8,7 +8,7 @@
     console.log('Create鎵ц鍚�')
   },
   mounted () {
-    console.log('mounted');
+
   },
   searchBefore (param) { //鏌ヨViewGird琛ㄦ暟鎹墠,param鏌ヨ鍙傛暟
     // console.log('琛�' + this.table.cnName + '瑙﹀彂loadTableBefore');
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue"
index 28ed38f..62a639f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue"
@@ -160,7 +160,7 @@
     </vol-box>
   </div>
 </template>
-    
+      
     <script>
 import VolBox from "@/components/basic/VolBox.vue";
 import { el } from "element-plus/es/locale";
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/routerview.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/routerview.vue"
index 7ad2ff8..92aac80 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/routerview.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/routerview.vue"
@@ -34,7 +34,7 @@
     </vol-box>
   </div>
 </template>
-  
+    
   <script>
 import VolBox from "@/components/basic/VolBox.vue";
 export default {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/taskinfo/thickness_hty.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/taskinfo/thickness_hty.js"
new file mode 100644
index 0000000..6292426
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/taskinfo/thickness_hty.js"
@@ -0,0 +1,59 @@
+
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+    components: {
+      //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+      gridHeader: '',
+      gridBody: '',
+      gridFooter: '',
+      //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+      modelHeader: '',
+      modelBody: '',
+      modelFooter: ''
+    },
+    tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+    buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+    methods: {
+       //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+      onInit() {  
+        
+      },
+      onInited() {
+        //妗嗘灦鍒濆鍖栭厤缃悗
+        //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+        //this.detailOptions.columns.forEach(column=>{ });
+      },
+      searchBefore(param) {
+        //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+        //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+        return true;
+      },
+      searchAfter(result) {
+        //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+        return true;
+      },
+      addBefore(formData) {
+        //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+        return true;
+      },
+      updateBefore(formData) {
+        //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+        return true;
+      },
+      rowClick({ row, column, event }) {
+        //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+        this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      },
+      modelOpenAfter(row) {
+        //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+        //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+        //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+        //(3)this.editFormFields.瀛楁='xxx';
+        //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+        //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+      }
+    }
+  };
+  export default extension;
+  
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/taskinfo/weight_hty.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/taskinfo/weight_hty.js"
new file mode 100644
index 0000000..66fcbfc
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/extension/taskinfo/weight_hty.js"
@@ -0,0 +1,59 @@
+
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: '',
+    gridBody: '',
+    gridFooter: '',
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: '',
+    modelBody: '',
+    modelFooter: ''
+  },
+  tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+    //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {
+
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //璁剧疆琛ㄧ殑鏈�澶ч珮搴�
+      // this.tableMaxHeight = 300;
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      return true;
+    },
+    searchAfter(result) {
+      //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+      return true;
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true;
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true;
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    }
+  }
+};
+export default extension;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/img/1.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/img/1.png"
new file mode 100644
index 0000000..19b6fa5
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/img/1.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/router/viewGird.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/router/viewGird.js"
index 9650f2b..20b4d07 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/router/viewGird.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/router/viewGird.js"
@@ -54,13 +54,33 @@
     name: 'task',
     component: () => import('@/views/taskinfo/task.vue')
   }, {
-    path: '/router',
-    name: 'router',
-    component: () => import('@/views/basicinfo/router.vue')
+    path: '/stationinfo',
+    name: 'stationinfo',
+    component: () => import('@/views/basicinfo/stationinfo.vue')
   }, {
+    path: '/batch',
+    name: 'batch',
+    component: () => import('@/views/basicinfo/batch.vue')
+  },{
+    path: '/task_hty',
+    name: 'task_hty',
+    component: () => import('@/views/taskinfo/task_hty.vue')
+  },{
+    path: '/errormsginfo',
+    name: 'errormsginfo',
+    component: () => import('@/views/taskinfo/errormsginfo.vue')
+  },{
     path: '/locationInfo',
     name: 'locationInfo',
     component: () => import('@/views/wmsPart/locationInfo.vue')
+  },{
+    path: '/weight_hty',
+    name: 'weight_hty',
+    component: () => import('@/views/taskinfo/weight_hty.vue')
+  },{
+    path: '/thickness_hty',
+    name: 'thickness_hty',
+    component: () => import('@/views/taskinfo/thickness_hty.vue')
   }, {
     path: '/stockInfo',
     name: 'stockInfo',
@@ -70,6 +90,10 @@
     name: 'stockInfoDetail',
     component: () => import('@/views/wmsPart/stockInfoDetail.vue')
   }, {
+    path: '/locationimg',
+    name: 'locationimg',
+    component: () => import('@/views/wmsPart/locationimg.vue')
+  },{
     path: '/stockInfo_Hty',
     name: 'stockInfo_Hty',
     component: () => import('@/views/wmsPart/stockInfo_Hty.vue')
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/store/index.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/store/index.js"
index e72d129..caba606 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/store/index.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/store/index.js"
@@ -14,6 +14,7 @@
     permission: [],
     isLoading: false,//2020.06.03澧炲姞璺敱鍒囨崲鏃跺姞杞芥彁绀�
     userInfo: null,
+    homedata: {}
     // wcsState: true//wcs鏈嶅姟鐘舵��
   },
   mutations: {
@@ -38,6 +39,16 @@
     },
     updateLoadingState(state, flag) {
       state.isLoading = flag
+    },
+
+
+    
+    uphomedata(state, data) {
+      // console.log('123',data);
+
+      state.homedata = data;
+      // console.log('12state.homedata3',state.homedata);
+
     }
   }, getters: {
     getPermission: (state) => (path) => {  //璋冪敤鏂瑰紡 store.getters.getPermission('sys_User')
@@ -85,6 +96,12 @@
     },
     onLoading(context, flag) {
       context.commit("updateLoadingState", flag);
+    },
+
+
+
+    sethomedata(context, data) {
+      context.commit("uphomedata", data);
     }
   }
 })
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue"
index 820437a..b3ac4e1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue"
@@ -1,24 +1,631 @@
 <template>
-  <div class="title"></div>
+  <div id="title">
+    <!--涓�-->
+    <div id="akuang">
+      <!--宸�-->
+      <div class="xkuang">
+        <div class="xian" style="margin-top: 10px">
+          <p class="name">鍏ュ簱鎵规鍙凤細</p>
+          <div class="zhi">{{ InBatch }}</div>
+          <button class="gai" @click="updates(1)">缂栬緫</button>
+        </div>
+        <div class="xian">
+          <p class="name">鍑哄簱鎵规鍙凤細</p>
+          <div class="zhi">{{ OutBatch }}</div>
+          <button class="gai" @click="updates(2)">缂栬緫</button>
+        </div>
+        <div class="xian">
+          <p class="name">鍑哄簱绫诲瀷锛�</p>
+          <div class="zhi">
+            <input type="radio" name="a" id="a" />鑷骇
+            <input type="radio" name="a" id="b" />澶栬喘
+          </div>
+          <button class="gai" @click="updates(3)">缂栬緫</button>
+        </div>
+      </div>
+      <!--涓�-->
+      <div class="xkuang">
+        <div class="xian" style="margin-top: 10px">
+          <p class="name">鍏ュ簱绫诲瀷锛�</p>
+          <div class="zhi">
+            <input type="radio" name="c" id="e" />姝e父鍏ュ簱
+            <input type="radio" name="c" id="f" />鐩存帴鍑哄簱
+          </div>
+          <button class="gai" @click="updates(5)">缂栬緫</button>
+        </div>
+        <div class="xian">
+          <p class="name">瀛樻斁浣嶇疆锛�</p>
+          <div class="zhi">
+            <input type="radio" name="d" id="g" />蹇�熷嚭搴�
+            <input type="radio" name="d" id="h" />蹇�熷叆搴�
+          </div>
+          <button class="gai" @click="updates(6)">缂栬緫</button>
+        </div>
+        <div class="xian">
+          <p class="name">鏄惁鍑哄簱锛�</p>
+          <div class="zhi">
+            <input type="radio" name="b" id="c" />鏄�
+            <input type="radio" name="b" id="d" />鍚�
+          </div>
+          <button class="gai" @click="updates(4)">缂栬緫</button>
+        </div>
+      </div>
+      <!--鍙�-->
+      <div class="xkuang">
+        <div class="xian" style="margin-top: 10px">
+          <p class="names">涓婃澘鏁版嵁璁板綍锛�</p>
+          <div class="zhis">{{ data.R_CommonRecorder }}</div>
+        </div>
+        <div class="xian">
+          <p class="names">鍓旈櫎鏁版嵁璁板綍锛�</p>
+          <div class="zhis">{{ data.R_SpecialRecorder }}</div>
+        </div>
+        <div class="xian">
+          <p class="names">鏋佹澘鎬婚噸閲忥細</p>
+          <div class="zhis">{{ data.R_TotalWeight }}</div>
+        </div>
+      </div>
+    </div>
+    <!--涓�-->
+    <div id="bkuang" style="border-top: none">
+      <div class="skuang">
+        <div class="zhuname">澶╄溅</div>
+        <div class="zhankuang">
+          <div class="xname">澶╄溅褰撳墠杩愯妯″紡:</div>
+          <div class="xzhi">{{ data.R_RunMode }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">澶╄溅褰撳墠杩愯鐘舵��:</div>
+          <div class="xzhi">{{ data.R_RunState }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">澶╄溅鎶ヨ浠g爜:</div>
+          <div class="xzhi">{{ data.R_AlarmCode }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">澶╄溅浠诲姟鐘舵��:</div>
+          <div class="xzhi">{{ data.R_TaskState }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">澶╄溅澶ц溅褰撳墠浣嶇疆:</div>
+          <div class="xzhi">{{ data.R_CurrentLine }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">澶╄溅灏忚溅褰撳墠浣嶇疆:</div>
+          <div class="xzhi">{{ data.R_CurrentColumn }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">璧峰崌褰撳墠浣嶇疆:</div>
+          <div class="xzhi">{{ data.R_RiseUp_Position }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">浠诲姟鍙�:</div>
+          <div class="xzhi">{{ data.R_TaskNumber }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">1鍙疯揣鐖槸鍚︽湁璐�:</div>
+          <div class="xzhi">{{ data.R_Loaded_1 }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">2鍙疯揣鐖槸鍚︽湁璐�:</div>
+          <div class="xzhi">{{ data.R_Loaded_2 }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">閲嶉噺:</div>
+          <div class="xzhi">{{ data.weight }}</div>
+        </div>
+      </div>
+      <div class="skuang">
+        <div class="zhuname">瑙勬暣鏈�</div>
+        <div class="zhankuang">
+          <div class="xname">瑙勬暣鏈烘姇鍏ヤ娇鐢�:</div>
+          <div class="xzhi">{{ data.R_GZJ_isWork }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">涓婃枡妯″紡杞ㄩ亾杞�:</div>
+          <div class="xzhi">{{ data.R_RGVMode }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">涓婃枡妯″紡鍙夎溅:</div>
+          <div class="xzhi">{{ data.R_CCMode }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">涓滆法鏋跺瓙鍙彇鏉�:</div>
+          <div class="xzhi">{{ data.R_DK_isready }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">瑗胯法鏋跺瓙鍙彇鏉�:</div>
+          <div class="xzhi">{{ data.R_XK_isready }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">鍓旈櫎鏋跺瓙鍙斁鏉�:</div>
+          <div class="xzhi">{{ data.R_TC_isready }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">鍓旈櫎涓婃枡妯″紡:</div>
+          <div class="xzhi">{{ data.R_TCMode }}</div>
+        </div>
+      </div>
+      <div class="skuang">
+        <div class="zhuname">鏁村舰鏈�</div>
+        <div class="zhankuang">
+          <div class="xname">鏁村舰鏈烘姇鍏ヤ娇鐢�:</div>
+          <div class="xzhi">{{ data.R_ZXJ_isWork }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">涓婃枡妯″紡杞ㄩ亾杞�:</div>
+          <div class="xzhi">{{ data.R_ZXJ_RGVMode }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">涓婃枡妯″紡琛岃溅:</div>
+          <div class="xzhi">{{ data.R_ZXJ_TCMode }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">鍓旈櫎浣嶅彲鍙栨澘:</div>
+          <div class="xzhi">{{ data.R_ZXJ_TC_isready }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">鍓旈櫎妯″紡琛岃溅:</div>
+          <div class="xzhi">{{ data.R_TCMode_TC }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">鍓旈櫎妯″紡鍙夎溅:</div>
+          <div class="xzhi">{{ data.R_TCMode_CC }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">琛岃溅鍙噯澶囧彇鏉�:</div>
+          <div class="xzhi">{{ data.R_HC_isReady }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">琛岃溅鍙斁鏉�:</div>
+          <div class="xzhi">{{ data.R_HC_isReadyWork }}</div>
+        </div>
+        <div class="zhankuang">
+          <div class="xname">杩涙枡灏忚溅瀹夊叏浣�:</div>
+          <div class="xzhi">{{ data.R_issafe }}</div>
+        </div>
+      </div>
+    </div>
+    <div id="ti">
+      <div id="guan" @click="guanbi">X</div>
+      <div class="dakuang" v-if="xuan == 1">
+        <input type="text" id="shu1" />
+      </div>
+      <div class="dakuang" v-if="xuan == 2">
+        <input type="text" id="shu2" />
+      </div>
+      <div class="dakuang" v-if="xuan == 3">
+        <input type="radio" name="aa" id="aa" class="ding" />
+        <div class="yan">鑷骇</div>
+        <input type="radio" name="aa" id="bb" class="ding" style="margin-left: 40px;" />
+        <div class="yan">澶栬喘</div>
+      </div>
+      <div class="dakuang" v-if="xuan == 4">
+        <input type="radio" name="bb" id="cc" class="ding" />
+        <div class="yan">鏄�</div>
+        <input type="radio" name="bb" id="dd" class="ding" style="margin-left: 40px;" />
+        <div class="yan">鍚�</div>
+      </div>
+      <div class="dakuang" v-if="xuan == 5" style="margin-left: -100px;width:300px">
+        <input type="radio" name="cc" id="ee" class="ding" />
+        <div class="yan">姝e父鍏ュ簱</div>
+        <input type="radio" name="cc" id="ff" class="ding" style="margin-left: 40px;" />
+        <div class="yan">鐩存帴鍑哄簱</div>
+      </div>
+      <div class="dakuang" v-if="xuan == 6" style="margin-left: -100px;width:300px">
+        <input type="radio" name="cc" id="gg" class="ding" />
+        <div class="yan">蹇�熷叆搴�</div>
+        <input type="radio" name="cc" id="hh" class="ding" style="margin-left: 40px;" />
+        <div class="yan">蹇�熷嚭搴�</div>
+      </div>
+      <div id="xiugai" @click="xiugai()">淇敼</div>
+    </div>
+  </div>
 </template>
 
 <script>
-import { ref, reactive } from 'vue'
+import { ref, reactive, nextTick, computed, watch } from "vue";
+import { useStore } from "vuex";
+import { onMounted } from "vue";
+import axios from "axios";
 
 export default {
-  setup() {
+  data() {
     return {
+      xuan: 0
+    };
+  },
+  methods: {
+    updates(x) {
+      if (x == 1) {
+        document.getElementById("ti").style.display = "block";
+        this.xuan = 1;
+      } else if (x == 2) {
+        document.getElementById("ti").style.display = "block";
+        this.xuan = 2;
+      } else if (x == 3) {
+        document.getElementById("ti").style.display = "block";
+        this.xuan = 3;
+      } else if (x == 4) {
+        document.getElementById("ti").style.display = "block";
+        this.xuan = 4;
+      } else if (x == 5) {
+        document.getElementById("ti").style.display = "block";
+        this.xuan = 5;
+      } else if (x == 6) {
+        document.getElementById("ti").style.display = "block";
+        this.xuan = 6;
+      }
+    },
+    xiugai() {
+      if (this.xuan == 1) {
+        let w = document.getElementById("shu1").value;
+        let http = "api/Batch/UpdateInBatch/?batch=" + w;
+        let s = {};
+        if (w == "" || w == null) {
+          alert("璇疯緭鍏�");
+        } else {
+          this.gai(http, s);
+        }
+      } else if (this.xuan == 2) {
+        let w = document.getElementById("shu2").value;
+        let http = "api/Batch/UpdateOutBatch/?batch=" + w;
+        let s = {};
+        if (w == "" || w == null) {
+          alert("璇疯緭鍏�");
+        } else {
+          this.gai(http, s);
+        }
+      } else if (this.xuan == 3) {
+        let w = "api/Batch/UpdateOutStorageMode";
+        let n = document.getElementById("aa").checked;
+        let m = document.getElementById("bb").checked;
 
+        if (n) {
+          let http = w + "?isout=0";
+          let s = {};
+          this.gai(http, s);
+        } else if (m) {
+          let http = w + "?isout=1";
+          let s = {};
+          this.gai(http, s);
+          alert(n + "" + m);
+        } else {
+          alert("璇烽�夋嫨");
+        }
+      } else if (this.xuan == 4) {
+        let w = "api/OutStock/UpdateIsOutStock";
+        let n = document.getElementById("cc").checked;
+        let m = document.getElementById("dd").checked;
+        if (n) {
+          let http = w + "?isout=1";
+          let s = {};
+          this.gai(http, s);
+        } else if (m) {
+          let http = w + "?isout=0";
+          let s = {};
+          this.gai(http, s);
+        } else {
+          alert("璇烽�夋嫨");
+        }
+      } else if (this.xuan == 5) {
+        let w = "api/OutStock/UpdateInOut";
+        let n = document.getElementById("ee").checked;
+        let m = document.getElementById("ff").checked;
+        if (n) {
+          let http = w + "?isout=1";
+          let s = {};
+          this.gai(http, s);
+        } else if (m) {
+          let http = w + "?isout=2";
+          let s = {};
+          this.gai(http, s);
+        } else {
+          alert("璇烽�夋嫨");
+        }
+      } else if (this.xuan == 6) {
+        let w = "api/StorageMode/UpdateStoragemode/";
+        let n = document.getElementById("gg").checked;
+        let m = document.getElementById("hh").checked;
+        if (n) {
+          let http = w + "?storagemode=2";
+          let s = {};
+          this.gai(http, s);
+        } else if (m) {
+          let http = w + "?storagemode=1";
+          let s = {};
+          this.gai(http, s);
+        } else {
+          alert("璇烽�夋嫨");
+        }
+      }
+    },
+    gai(http, s) {
+      axios.post(http, s).then(x => {
+        document.getElementById("ti").style.display = "none";
+        alert("淇敼鎴愬姛");
+      });
+    },
+    guanbi() {
+      document.getElementById("ti").style.display = "none";
     }
+  },
+  setup() {
+    const store = useStore();
+    const data = ref({});
+
+    const InBatch = ref();
+    const OutBatch = ref();
+
+    const cha = () => {
+      axios.post("api/Batch/getPageData", { rows: 30 }).then(x => {
+        InBatch.value = x.data.rows[0].inBatch;
+        OutBatch.value = x.data.rows[0].outBatch;
+        if (x.data.rows[0].materType == 0) {
+          document.getElementById("a").checked = true;
+        } else if (x.data.rows[0].materType == 1) {
+          document.getElementById("b").checked = true;
+        }
+      });
+      axios.post("api/OutStock/getPageData", { rows: 30 }).then(x => {
+        if (x.data.rows[0].isout == 1) {
+          document.getElementById("c").checked = true;
+        } else if (x.data.rows[0].isout == 0) {
+          document.getElementById("d").checked = true;
+        }
+
+        if (x.data.rows[0].inOut == 1) {
+          document.getElementById("e").checked = true;
+        } else if (x.data.rows[0].inOut == 2) {
+          document.getElementById("f").checked = true;
+        }
+      });
+      axios.post("api/StorageMode/getPageData", { rows: 30 }).then(x => {
+        if (x.data.rows[0].storagemode == 1) {
+          document.getElementById("g").checked = true;
+        } else if (x.data.rows[0].storagemode == 2) {
+          document.getElementById("h").checked = true;
+        }
+      });
+    };
+
+    onMounted(() => {
+      nextTick(() => {
+        setInterval(() => {
+          data.value = store.state.homedata;
+          cha();
+          let xian = document.getElementsByClassName("xzhi");
+          for (let i = 0; i < xian.length; i++) {
+            if (xian[i].innerHTML == "true") {
+              xian[i].style.color = "green";
+            } else if (xian[i].innerHTML == "false") {
+              xian[i].style.color = "red";
+            }
+          }
+        }, 3000);
+      });
+    });
+    return {
+      data,
+      InBatch,
+      OutBatch
+    };
   }
-}
+};
 </script>
 
 <style scoped>
-.title {
-  line-height: 70vh;
+.zhis {
+  width: 45%;
+  height: 5vh;
+  float: left;
+  margin-top: 10px;
+  margin-left: -10%;
+  line-height: 60px;
   text-align: center;
-  font-size: 28px;
-  color: orange;
+  font-size: 1.1cqw;
+  color: white;
+}
+.names {
+  width: 28%;
+  height: 5vh;
+  float: left;
+  margin-top: 10px;
+  margin-left: 20%;
+  line-height: 60px;
+  text-align: right;
+  font-size: 1.1cqw;
+  color: white;
+}
+.ding {
+  float: left;
+  width: 20px;
+  height: 20px;
+  margin-top: 7px;
+}
+.yan {
+  color: white;
+  float: left;
+  font-size: 25px;
+}
+.dakuang {
+  width: 250px;
+  height: 50px;
+  position: absolute;
+  top: 150px;
+  left: 200px;
+}
+#xiugai {
+  width: 100px;
+  height: 30px;
+  float: left;
+  border-radius: 5px;
+  text-align: center;
+  line-height: 30px;
+  cursor: pointer;
+  border: 1px solid white;
+  color: white;
+  background: rgba(255, 255, 255, 0.5);
+  font-size: 25px;
+  position: absolute;
+  top: 150px;
+  left: 450px;
+}
+#xiugai:hover {
+  background: #f60;
+}
+#shu1,
+#shu2 {
+  width: 200px;
+  height: 30px;
+  float: left;
+  margin-top: 0px;
+  margin-right: 0px;
+  border-radius: 5px;
+  border: 1px solid white;
+}
+#guan {
+  width: 40px;
+  height: 40px;
+  float: left;
+  font-size: 1.1cqw;
+  text-align: center;
+  line-height: 40px;
+  cursor: pointer;
+  margin-left: 560px;
+  color: white;
+  position: absolute;
+}
+#ti {
+  width: 600px;
+  height: 300px;
+  position: relative;
+  background: rgba(255, 255, 255, 1);
+  border-radius: 10px;
+  top: 230px;
+  left: 35%;
+  display: none;
+  background-image: url("../img/1.png");
+  background-repeat: no-repeat;
+  background-size: 170%;
+  background-position: -220px 0px;
+}
+.zhuname {
+  width: 100%;
+  height: 5vh;
+  float: left;
+  text-align: center;
+  line-height: 50px;
+  font-weight: 700;
+  font-size: 1.1cqw;
+  color: white;
+}
+.xname {
+  width: 70%;
+  height: 80px;
+  float: left;
+  line-height: 7vh;
+  font-size: 1.1cqw;
+  color: white;
+}
+.xzhi {
+  width: 30%;
+  height: 7vh;
+  float: left;
+  line-height: 65px;
+  font-size: 1.1cqw;
+  color: white;
+}
+.zhankuang {
+  width: 45%;
+  height: 7vh;
+  margin-top: 10px;
+  margin-left: 5%;
+  float: left;
+}
+.gai {
+  width: 15%;
+  height: 3vh;
+  float: left;
+  border-radius: 10px;
+  cursor: pointer;
+  margin-top: 22px;
+  margin-left: 1%;
+  font-size: 1.1cqw;
+}
+.gai:hover {
+  background-color: #f60;
+  color: white;
+}
+.zhi {
+  width: 45%;
+  height: 5vh;
+  float: left;
+  margin-top: 10px;
+  margin-left: 1%;
+  line-height: 60px;
+  text-align: center;
+  font-size: 1.1cqw;
+  color: white;
+}
+.name {
+  width: 28%;
+  height: 5vh;
+  float: left;
+  margin-top: 10px;
+  margin-left: 1%;
+  line-height: 60px;
+  text-align: right;
+  font-size: 1.1cqw;
+  color: white;
+}
+.xian {
+  width: 100%;
+  height: 9vh;
+  float: left;
+}
+#title {
+  float: left;
+  width: 95%;
+  height: 88vh;
+  margin-top: 40px;
+  margin-left: 3%;
+  background-image: url("../img/1.png");
+  background-repeat: no-repeat;
+  background-size: 100%;
+  container-type: inline-size;
+}
+#akuang {
+  width: 100%;
+  height: 33vh;
+  float: left;
+}
+#bkuang {
+  width: 100%;
+  height: 55vh;
+  float: left;
+}
+.xkuang {
+  float: left;
+  width: 31%;
+  height: 28vh;
+  border-top: none;
+  border-left: none;
+  border-bottom: none;
+  background: rgba(255, 255, 255, 0.2);
+  margin-left: 1.7%;
+  margin-top: 20px;
+  border-radius: 10px;
+}
+.skuang {
+  width: 31%;
+  height: 55vh;
+  float: left;
+  border-top: none;
+  border-left: none;
+  border-bottom: none;
+  background: rgba(255, 255, 255, 0.2);
+  margin-left: 1.7%;
+  border-radius: 10px;
 }
 </style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Index.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Index.vue"
index 30ccf3d..5c2eb65 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Index.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Index.vue"
@@ -203,6 +203,8 @@
 import store from "../store/index";
 import http from "@/../src/api/http.js";
 import { ElNotification } from "element-plus";
+import { useStore } from "vuex";
+
 export default defineComponent({
   components: {
     VolMenu,
@@ -217,8 +219,8 @@
       rightTabs: true,
       otherTabs: true,
       menuLeft: 0,
-      menuTop: 0,
-      client: null
+      menuTop: 0
+
       //  contextMenuVisible: false, // 鍙抽敭鍏抽棴鏄�/闅�
     };
   },
@@ -296,26 +298,44 @@
         toggleLeft();
       }
     };
+    const Store = useStore();
+    const s = ref(null);
 
     const handleMessage = e => {
-      let data = JSON.parse(e.data);
-      messageList.push(data);
-      ElNotification({
-        title: data.title,
-        message: h("i", { style: "color: teal" }, data.message),
-        position: "bottom-right"
-      });
+      if (e) {
+        s.value = e.data;
+        console.log("WebSocket 鏀跺埌娑堟伅: ", e.data);
+        store.dispatch("sethomedata", s.value);
+        let data = JSON.parse(e.data);
+        messageList.push(data);
+        ElNotification({
+          title: data.title,
+          message: h("i", { style: "color: teal" }, data.message),
+          position: "bottom-right"
+        });
+      }
     };
 
     const createSocket = url => {
-      // 鍒涘缓WebSocket杩炴帴
-      //"ws://127.0.0.1:9295/admin"
-      client = new WebSocket(url);
+      //console.log(url);
 
+      //鍒涘缓WebSocket杩炴帴
+      //"ws://127.0.0.1:9295/admin"
+      //client = new WebSocket("ws://192.168.0.250:9260/");
+      client = new WebSocket("ws:localhost:9260/");
       client.onopen = function() {
-        client.onmessage = handleMessage;
-        store.commit("setWebsocket", client);
+        //client.onmessage = handleMessage;
+        // store.commit("setWebsocket", client);
         console.log("WebSocket 杩炴帴鎴愬姛");
+      };
+
+      client.onmessage = function(event) {
+        // console.log("WebSocket 鏀跺埌娑堟伅: ", event);
+
+        if (event != undefined) {
+          store.dispatch("sethomedata", JSON.parse(event.data));
+        }
+        // handleMessage(event);
       };
 
       client.onclose = function() {
@@ -323,7 +343,10 @@
         setTimeout(createSocket, 10000);
       };
 
-      client.onerror = function() {};
+      client.onerror = function(err) {
+        console.log("WebSocket 杩炴帴閿欒: ", err);
+      };
+      client.onmessage();
     };
 
     const changeTheme = name => {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/basicinfo/batch.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/basicinfo/batch.vue"
new file mode 100644
index 0000000..20bec5a
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/basicinfo/batch.vue"
@@ -0,0 +1,139 @@
+
+<template>
+  <view-grid
+    ref="grid"
+    :columns="columns"
+    :detail="detail"
+    :editFormFields="editFormFields"
+    :editFormOptions="editFormOptions"
+    :searchFormFields="searchFormFields"
+    :searchFormOptions="searchFormOptions"
+    :table="table"
+    :extend="extend"
+  ></view-grid>
+</template>
+    <script>
+import extend from "@/extension/basicinfo/router.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    const table = ref({
+      key: "id",
+      footer: "Foots",
+      cnName: "鎵规绠$悊",
+      name: "batch",
+      url: "/Batch/",
+      sortName: "createDate"
+    });
+    const editFormFields = ref({});
+    const editFormOptions = ref([
+      [
+        {
+          title: "鎵规",
+          required: true,
+          field: "batch",
+          type: "string"
+        }
+      ]
+    ]);
+    const searchFormFields = ref({
+        batch: "",
+        creater: ""
+    });
+    const searchFormOptions = ref([
+      [
+        {
+          title: "鎵规",
+          field: "batch",
+          type: "like"
+        },
+        {
+          title: "鍒涘缓鑰�",
+          field: "creater",
+          type: "like"
+        }
+      ]
+    ]);
+    const columns = ref([
+      {
+        field: "id",
+        title: "Id",
+        type: "int",
+        width: 90,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left"
+      },
+      {
+        field: "inBatch",
+        title: "鍏ュ簱鎵规鍙�",
+        type: "int",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "outBatch",
+        title: "鍑哄簱鎵规鍙�",
+        type: "int",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "materType",
+        title: "鐗╂枡淇℃伅",
+        type: "string",
+        width: 100,
+        align: "left",
+        bind: { key: "mateType", data: [] },
+      },
+      {
+        field: "creater",
+        title: "鍒涘缓鑰�",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left"
+      },
+      {
+        field: "modifier",
+        title: "淇敼浜�",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "modifyDate",
+        title: "淇敼鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left"
+      }
+    ]);
+    const detail = ref({
+      cnName: "",
+      table: "",
+      columns: [],
+      sortName: "",
+      key: ""
+    });
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail
+    };
+  }
+});
+</script>
+    
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/basicinfo/router.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/basicinfo/router.vue"
deleted file mode 100644
index 319e35e..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/basicinfo/router.vue"
+++ /dev/null
@@ -1,265 +0,0 @@
-
-<template>
-  <view-grid
-    ref="grid"
-    :columns="columns"
-    :detail="detail"
-    :editFormFields="editFormFields"
-    :editFormOptions="editFormOptions"
-    :searchFormFields="searchFormFields"
-    :searchFormOptions="searchFormOptions"
-    :table="table"
-    :extend="extend"
-  >
-  </view-grid>
-</template>
-    <script>
-import extend from "@/extension/basicinfo/router.js";
-import { ref, defineComponent } from "vue";
-export default defineComponent({
-  setup() {
-    const table = ref({
-      key: "id",
-      footer: "Foots",
-      cnName: "璺敱閰嶇疆淇℃伅",
-      name: "router",
-      url: "/Router/",
-      sortName: "createDate",
-    });
-    const editFormFields = ref({
-      // name: "",
-      // jobGroup: "",
-      // assemblyName: "",
-      // className: "",
-      // intervalSecond: "",
-      // beginTime: "",
-      // endTime: "",
-      // remark: "",
-    });
-    const editFormOptions = ref([
-      // [
-      //   {
-      //     title: "浠诲姟鍚嶇О",
-      //     required: true,
-      //     field: "name",
-      //     type: "string",
-      //   },
-      //   {
-      //     title: "浠诲姟鍒嗙粍",
-      //     required: true,
-      //     field: "jobGroup",
-      //     type: "select",
-      //     dataKey: "deviceType",
-      //     data: [],
-      //   },
-      //   {
-      //     title: "绋嬪簭闆嗗悕绉�",
-      //     required: true,
-      //     field: "assemblyName",
-      //     type: "string",
-      //     type: "select",
-      //     dataKey: "jobAssembly",
-      //     data: [],
-      //   },
-      //   {
-      //     title: "浠诲姟鎵�鍦ㄧ被",
-      //     required: true,
-      //     field: "className",
-      //     type: "string",
-      //     type: "select",
-      //     dataKey: "jobClassName",
-      //     data: [],
-      //   },
-      // ],
-      // [
-      //   {
-      //     title: "闂撮殧鏃堕棿",
-      //     required: true,
-      //     field: "intervalSecond",
-      //     type: "number",
-      //   },
-      //   {
-      //     title: "寮�濮嬫椂闂�",
-      //     field: "beginTime",
-      //     type: "datetime",
-      //   },
-      //   {
-      //     title: "缁撴潫鏃堕棿",
-      //     field: "endTime",
-      //     type: "datetime",
-      //   },
-      //   {
-      //     title: "澶囨敞",
-      //     field: "remark",
-      //     type: "string",
-      //   },
-      // ],
-    ]);
-    const searchFormFields = ref({
-      startPosi: "",
-      nextPosi: "",
-      // assemblyName: "",
-      // className: "",
-    });
-    const searchFormOptions = ref([
-      [
-        {
-          title: "璧风偣浣嶇疆",
-          field: "startPosi",
-          type: "like",
-        },
-        {
-          title: "缁堢偣浣嶇疆",
-          field: "nextPosi",
-          type: "like",
-        },
-        //   {
-        //     title: "绋嬪簭闆嗗悕绉�",
-        //     field: "assemblyName",
-        //     type: "like",
-        //   },
-        //   {
-        //     title: "浠诲姟鎵�鍦ㄧ被",
-        //     field: "className",
-        //     type: "like",
-        //   },
-      ],
-    ]);
-    const columns = ref([
-      {
-        field: "id",
-        title: "Id",
-        type: "int",
-        width: 90,
-        hidden: true,
-        readonly: true,
-        require: true,
-        align: "left",
-      },
-      {
-        field: "startPosi",
-        title: "璧风偣浣嶇疆",
-        type: "string",
-        width: 90,
-        align: "left",
-      },
-      {
-        field: "nextPosi",
-        title: "缁堢偣浣嶇疆",
-        type: "string",
-        width: 180,
-        align: "left",
-      },
-      {
-        field: "inOutType",
-        title: "璺敱绫诲瀷",
-        type: "string",
-        width: 180,
-        align: "left",
-      },
-      {
-        field: "childPosi",
-        title: "瀛愪綅缃�",
-        type: "string",
-        width: 200,
-        align: "left",
-      },
-      {
-        field: "childPosiDeviceCode",
-        title: "瀛愪綅缃墍灞炶澶�",
-        type: "string",
-        width: 120,
-        align: "left",
-      },
-      {
-        field: "srmRow",
-        title: "鍫嗗灈鏈哄彇璐�/鏀捐揣琛�",
-        type: "int",
-        width: 150,
-        align: "left",
-      },
-      {
-        field: "srmColumn",
-        title: "鍫嗗灈鏈哄彇璐�/鏀捐揣鍒�",
-        type: "int",
-        width: 150,
-        align: "left",
-      },
-      {
-        field: "srmLayer",
-        title: "鍫嗗灈鏈哄彇璐�/鏀捐揣灞�",
-        type: "int",
-        width: 150,
-        align: "left",
-      },
-      {
-        field: "depth",
-        title: "娣卞害",
-        type: "int",
-        width: 150,
-        align: "left",
-      },
-      {
-        field: "isEnd",
-        title: "鏄惁鏄渶缁堢偣",
-        type: "bool",
-        width: 150,
-        align: "left",
-      },
-      {
-        field: "creater",
-        title: "鍒涘缓浜�",
-        type: "string",
-        width: 90,
-        align: "left",
-      },
-      {
-        field: "createDate",
-        title: "鍒涘缓鏃堕棿",
-        type: "datetime",
-        width: 160,
-        align: "left",
-      },
-      {
-        field: "modifier",
-        title: "淇敼浜�",
-        type: "string",
-        width: 100,
-        align: "left",
-      },
-      {
-        field: "modifyDate",
-        title: "淇敼鏃堕棿",
-        type: "datetime",
-        width: 160,
-        align: "left",
-      },
-      {
-        field: "remark",
-        title: "澶囨敞",
-        type: "string",
-        width: 100,
-        align: "left",
-      },
-    ]);
-    const detail = ref({
-      cnName: "",
-      table: "",
-      columns: [],
-      sortName: "",
-      key: "",
-    });
-    return {
-      table,
-      extend,
-      editFormFields,
-      editFormOptions,
-      searchFormFields,
-      searchFormOptions,
-      columns,
-      detail,
-    };
-  },
-});
-</script>
-    
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/basicinfo/stationinfo.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/basicinfo/stationinfo.vue"
new file mode 100644
index 0000000..c9c2850
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/basicinfo/stationinfo.vue"
@@ -0,0 +1,126 @@
+
+<template>
+  <view-grid
+    ref="grid"
+    :columns="columns"
+    :detail="detail"
+    :editFormFields="editFormFields"
+    :editFormOptions="editFormOptions"
+    :searchFormFields="searchFormFields"
+    :searchFormOptions="searchFormOptions"
+    :table="table"
+    :extend="extend"
+  >
+  </view-grid>
+</template>
+    <script>
+import extend from "@/extension/basicinfo/router.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    const table = ref({
+      key: "id",
+      footer: "Foots",
+      cnName: "绔欏彴绠$悊",
+      name: "station",
+      url: "/station/",
+      sortName: "createDate",
+    });
+    const editFormFields = ref({});
+    const editFormOptions = ref([
+      [
+        { field: "row", title: "琛�", type: "int" },
+        { field: "column", title: "鍒�", type: "int" }
+      ]
+    ]);
+    const searchFormFields = ref({});
+    const searchFormOptions = ref([]);
+    const columns = ref([
+      {
+        field: "id",
+        title: "Id",
+        type: "int",
+        width: 90,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left",
+      },
+      {
+        field: "row",
+        title: "琛�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "column",
+        title: "鍒�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "msg",
+        title: "鎻忚堪淇℃伅",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "creater",
+        title: "鍒涘缓浜�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+      },
+      {
+        field: "modifier",
+        title: "淇敼浜�",
+        type: "string",
+        width: 100,
+        align: "left",
+      },
+      {
+        field: "modifyDate",
+        title: "淇敼鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+      },
+      {
+        field: "remark",
+        title: "澶囨敞",
+        type: "string",
+        width: 100,
+        align: "left",
+      },
+    ]);
+    const detail = ref({
+      cnName: "",
+      table: "",
+      columns: [],
+      sortName: "",
+      key: "",
+    });
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail,
+    };
+  },
+});
+</script>
+    
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/errormsginfo.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/errormsginfo.vue"
new file mode 100644
index 0000000..7dfb860
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/errormsginfo.vue"
@@ -0,0 +1,118 @@
+
+<template>
+  <view-grid
+    ref="grid"
+    :columns="columns"
+    :detail="detail"
+    :editFormFields="editFormFields"
+    :editFormOptions="editFormOptions"
+    :searchFormFields="searchFormFields"
+    :searchFormOptions="searchFormOptions"
+    :table="table"
+  >
+  </view-grid>
+</template>
+  <script>
+import extend from "@/extension/taskinfo/task.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    //琛ㄥ叾浠栭厤缃�
+    const table = ref({
+      key: "id",
+      footer: "Foots",
+      cnName: "閿欒淇℃伅",
+      name: "erroe",
+      url: "/ERROE/",
+      sortName: "CreateDate",
+    });
+    //缂栬緫瀛楁
+    const editFormFields = ref({});
+    //缂栬緫閰嶇疆
+    const editFormOptions = ref([]);
+    //鏌ヨ瀛楁
+    const searchFormFields = ref({
+
+    });
+    //鏌ヨ閰嶇疆
+    const searchFormOptions = ref([
+      
+    ]);
+    //鏌ヨ椤甸潰table琛ㄧ殑閰嶇疆
+    const columns = ref([
+      {
+        field: "id",
+        title: "id",
+        type: "int",
+        width: 90,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left",
+      },
+      {
+        field: "mesg",
+        title: "鎻忚堪",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "errormsg",
+        title: "閿欒淇℃伅",
+        type: "string",
+        width: 90,
+        align: "left",
+        bind: { key: "taskType", data: [] },
+      },
+      {
+        field: "creater",
+        title: "鍒涘缓浜�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "modifier",
+        title: "淇敼浜�",
+        type: "string",
+        width: 100,
+        align: "left",
+      },
+      {
+        field: "modifyDate",
+        title: "淇敼鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+      }
+    ]);
+    //涓讳粠鏄庣粏琛ㄩ厤缃�
+    const detail = ref({
+      cnName: "",
+      table: "",
+      columns: [],
+      sortName: "",
+      key: "",
+    });
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail,
+    };
+  },
+});
+</script>
+  
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue"
index 887aced..4e6c96d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue"
@@ -1,6 +1,10 @@
 
 <template>
-  <view-grid
+  <div>
+    <div id="zhu">
+      <div id="task">浠诲姟鍙�</div>
+    </div>
+    <view-grid
     ref="grid"
     :columns="columns"
     :detail="detail"
@@ -9,15 +13,61 @@
     :searchFormFields="searchFormFields"
     :searchFormOptions="searchFormOptions"
     :table="table"
-    :extend="extend"
   >
   </view-grid>
+  </div>
 </template>
+<style scoped>
+#task{
+  width: 6%;
+  height: 300%;
+  position: absolute;
+  border-radius: 5px;
+  left: 2.5%;
+  top: 820%;
+  cursor: pointer;
+  text-align: center;
+  line-height: 230%;;
+  font-size: 13px;
+  font-weight: 700;
+  z-index: 100;
+}
+#shu{
+  width: 7%;
+  height: 300%;
+  position: absolute;
+  border-radius: 5px;
+  left: 42%;
+  top: 220%;
+  z-index: 100;
+}
+#wan{
+  width: 4%;
+  height: 300%;
+  background: #f60;
+  position: absolute;
+  border-radius: 5px;
+  left: 50%;
+  top: 220%;
+  cursor: pointer;
+  text-align: center;
+  line-height: 230%;
+  color: beige;
+  z-index: 100;
+}
+#zhu {
+  width: 100%;
+  height: 1vh;
+  position: relative;
+}
+</style>
   <script>
+
 import extend from "@/extension/taskinfo/task.js";
 import { ref, defineComponent } from "vue";
 export default defineComponent({
   setup() {
+    //琛ㄥ叾浠栭厤缃�
     const table = ref({
       key: "taskId",
       footer: "Foots",
@@ -26,8 +76,20 @@
       url: "/Task/",
       sortName: "CreateDate",
     });
+    //缂栬緫瀛楁
     const editFormFields = ref({});
-    const editFormOptions = ref([]);
+    //缂栬緫閰嶇疆
+    const editFormOptions = ref([
+      [
+        {
+          field: "taskState",
+          title: "浠诲姟鐘舵��",
+          type: "select",
+          dataKey: "taskState",
+        }
+      ]
+    ]);
+    //鏌ヨ瀛楁
     const searchFormFields = ref({
       taskNum: "",
       palletCode: "",
@@ -39,10 +101,10 @@
       creater: "",
       createDate: "",
     });
+    //鏌ヨ閰嶇疆
     const searchFormOptions = ref([
       [
         { title: "浠诲姟鍙�", field: "taskNum", type: "int" },
-        { title: "鎵樼洏缂栧彿", field: "palletCode", type: "like" },
         {
           title: "浠诲姟绫诲瀷",
           field: "taskType",
@@ -57,23 +119,28 @@
           dataKey: "taskState",
           data: [],
         },
+        {
+          title: "鐗╂枡淇℃伅",
+          field: "remark",
+          type: "selectList",
+          dataKey: "remark",
+          data: [],
+        },
       ],
       [
         { title: "璧峰鍦板潃", field: "sourceAddress", type: "like" },
         { title: "鐩爣鍦板潃", field: "targetAddress", type: "like" },
-        { title: "褰撳墠浣嶇疆", field: "currentAddress", type: "like" },
-        { title: "涓嬩竴浣嶇疆", field: "nextAddress", type: "like" },
       ],
       [
-        { title: "宸烽亾鍙�", field: "roadway", type: "like" },
         { title: "鍒涘缓浜�", field: "creater", type: "like" },
         { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
       ],
     ]);
+    //鏌ヨ椤甸潰table琛ㄧ殑閰嶇疆
     const columns = ref([
       {
         field: "taskId",
-        title: "TaskId",
+        title: "浠诲姟鍙�",
         type: "int",
         width: 90,
         hidden: true,
@@ -82,30 +149,16 @@
         align: "left",
       },
       {
-        field: "taskNum",
-        title: "浠诲姟鍙�",
+        field: "taskId",
+        title: "浠诲姟ID",
         type: "int",
-        width: 90,
-        align: "left",
-      },
-      {
-        field: "palletCode",
-        title: "鎵樼洏缂栧彿",
-        type: "string",
-        width: 200,
-        align: "left",
-      },
-      {
-        field: "roadway",
-        title: "宸烽亾鍙�",
-        type: "string",
-        width: 90,
+        width: 120,
         align: "left",
       },
       {
         field: "taskType",
         title: "浠诲姟绫诲瀷",
-        type: "int",
+        type: "string",
         width: 90,
         align: "left",
         bind: { key: "taskType", data: [] },
@@ -113,10 +166,18 @@
       {
         field: "taskState",
         title: "浠诲姟鐘舵��",
-        type: "int",
+        type: "string",
         width: 150,
         align: "left",
         bind: { key: "taskState", data: [] },
+      },
+      {
+        field: "remark",
+        title: "鐗╂枡淇℃伅",
+        type: "string",
+        width: 120,
+        align: "left",
+        bind: { key: "mateType", data: [] },
       },
       {
         field: "sourceAddress",
@@ -128,20 +189,6 @@
       {
         field: "targetAddress",
         title: "鐩爣鍦板潃",
-        type: "string",
-        width: 120,
-        align: "left",
-      },
-      {
-        field: "currentAddress",
-        title: "褰撳墠浣嶇疆",
-        type: "string",
-        width: 120,
-        align: "left",
-      },
-      {
-        field: "nextAddress",
-        title: "涓嬩竴浣嶇疆",
         type: "string",
         width: 120,
         align: "left",
@@ -212,6 +259,7 @@
         hidden: true,
       },
     ]);
+    //涓讳粠鏄庣粏琛ㄩ厤缃�
     const detail = ref({
       cnName: "",
       table: "",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue"
new file mode 100644
index 0000000..dcc2798
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue"
@@ -0,0 +1,174 @@
+
+<template>
+  <view-grid
+    ref="grid"
+    :columns="columns"
+    :detail="detail"
+    :editFormFields="editFormFields"
+    :editFormOptions="editFormOptions"
+    :searchFormFields="searchFormFields"
+    :searchFormOptions="searchFormOptions"
+    :table="table"
+  >
+  </view-grid>
+</template>
+  <script>
+import extend from "@/extension/taskinfo/task.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    //琛ㄥ叾浠栭厤缃�
+    const table = ref({
+      key: "taskId",
+      footer: "Foots",
+      cnName: "浠诲姟鍘嗗彶",
+      name: "taskhty",
+      url: "/TaskHty/",
+      sortName: "CreateDate",
+    });
+    //缂栬緫瀛楁
+    const editFormFields = ref({});
+    //缂栬緫閰嶇疆
+    const editFormOptions = ref([]);
+    //鏌ヨ瀛楁
+    const searchFormFields = ref({});
+    //鏌ヨ閰嶇疆
+    const searchFormOptions = ref([]);
+    //鏌ヨ椤甸潰table琛ㄧ殑閰嶇疆
+    const columns = ref([
+        {
+        field: "taskId",
+        title: "浠诲姟鍙�",
+        type: "int",
+        width: 90,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left",
+      },
+      {
+        field: "taskType",
+        title: "浠诲姟绫诲瀷",
+        type: "string",
+        width: 90,
+        align: "left",
+        bind: { key: "taskType", data: [] },
+      },
+      {
+        field: "taskState",
+        title: "浠诲姟鐘舵��",
+        type: "string",
+        width: 150,
+        align: "left",
+        bind: { key: "taskState", data: [] },
+      },
+      {
+        field: "remark",
+        title: "鐗╂枡淇℃伅",
+        type: "string",
+        width: 120,
+        align: "left",
+        bind: { key: "mateType", data: [] },
+      },
+      {
+        field: "sourceAddress",
+        title: "璧峰鍦板潃",
+        type: "int",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "targetAddress",
+        title: "鐩爣鍦板潃",
+        type: "string",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "exceptionMessage",
+        title: "寮傚父淇℃伅",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "grade",
+        title: "浼樺厛绾�",
+        type: "int",
+        width: 80,
+        align: "left",
+      },
+      {
+        field: "dispatchertime",
+        title: "浠诲姟涓嬪彂鏃堕棿",
+        type: "datetime",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "wMSId",
+        title: "WMS浠诲姟涓婚敭",
+        type: "int",
+        width: 120,
+        align: "left",
+        hidden: true,
+      },
+      {
+        field: "creater",
+        title: "鍒涘缓浜�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "modifier",
+        title: "淇敼浜�",
+        type: "string",
+        width: 100,
+        align: "left",
+      },
+      {
+        field: "modifyDate",
+        title: "淇敼鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+      },
+      {
+        field: "remark",
+        title: "澶囨敞",
+        type: "string",
+        width: 100,
+        align: "left",
+        hidden: true,
+      },
+    ]);
+    //涓讳粠鏄庣粏琛ㄩ厤缃�
+    const detail = ref({
+      cnName: "",
+      table: "",
+      columns: [],
+      sortName: "",
+      key: "",
+    });
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail,
+    };
+  },
+});
+</script>
+  
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/thickness_hty.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/thickness_hty.vue"
new file mode 100644
index 0000000..32765d2
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/thickness_hty.vue"
@@ -0,0 +1,157 @@
+
+<template>
+  <!--鍔犱笂     :extend="extend"    鍙互鍑虹幇鏌ョ湅鏄庣粏閫夐」-->
+  <view-grid
+    ref="grid"
+    :columns="columns"
+    :detail="detail"
+    :editFormFields="editFormFields"
+    :editFormOptions="editFormOptions"
+    :searchFormFields="searchFormFields"
+    :searchFormOptions="searchFormOptions"
+    :table="table"
+  ></view-grid>
+</template>
+    <script>
+import extend from "@/extension/taskinfo/thickness_hty.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    const table = ref({
+      key: "id",
+      footer: "Foots",
+      cnName: "鍑哄簱鍘氬害鍘嗗彶",
+      name: "thickness_hty",
+      url: "/Thickness_hty/",
+      sortName: "createDate"
+    });
+    const editFormFields = ref({});
+    const editFormOptions = ref([
+
+    ]);
+    const searchFormFields = ref({
+
+    });
+    const searchFormOptions = ref([
+
+    ]);
+    const columns = ref([
+      {
+        field: "id",
+        title: "Id",
+        type: "int",
+        width: 100,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left"
+      },
+      {
+        field: "topleft",
+        title: "椤堕儴宸﹁竟",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "topmiddle",
+        title: "椤堕儴涓棿",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "topright",
+        title: "椤堕儴鍙宠竟",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "centreleft",
+        title: "涓棿宸﹁竟",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "centremiddle",
+        title: "涓棿涓績",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "centreright",
+        title: "涓棿鍙宠竟",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "bottomleft",
+        title: "搴曢儴宸﹁竟",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "bottomright",
+        title: "搴曢儴鍙宠竟",
+        type: "string",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "qualified",
+        title: "鏄惁鍚堟牸",
+        type: "string",
+        width: 100,
+        align: "left",
+        bind: { key: "qualified", data: [
+          {key: "0", value: "涓嶅悎鏍�"},
+          {key: "1", value: "鍚堟牸"},
+        ] },
+      },
+      {
+        field: "interval",
+        title: "鍖洪棿鍊�",
+        type: "string",
+        width: 400,
+        align: "left"
+      },
+      {
+        field: "creater",
+        title: "鍒涘缓浜�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 150,
+        align: "left",
+      },
+    ]);
+    const detail = ref({
+      cnName: "#detailCnName",
+      table: "",
+      columns: [],
+      sortName: ""
+    });
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail
+    };
+  }
+});
+</script>
+    
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/weight_hty.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/weight_hty.vue"
new file mode 100644
index 0000000..dc38f82
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/taskinfo/weight_hty.vue"
@@ -0,0 +1,111 @@
+
+<template>
+  <!--鍔犱笂     :extend="extend"    鍙互鍑虹幇鏌ョ湅鏄庣粏閫夐」-->
+  <view-grid
+    ref="grid"
+    :columns="columns"
+    :detail="detail"
+    :editFormFields="editFormFields"
+    :editFormOptions="editFormOptions"
+    :searchFormFields="searchFormFields"
+    :searchFormOptions="searchFormOptions"
+    :table="table"
+  ></view-grid>
+</template>
+    <script>
+import extend from "@/extension/taskinfo/weight_hty.js";
+import { ref, defineComponent } from "vue";
+
+export default defineComponent({
+  setup() {
+    const table = ref({
+      key: "id",
+      footer: "Foots",
+      cnName: "鍑哄簱閲嶉噺鍘嗗彶",
+      name: "weight_hty",
+      url: "/Weight_hty/",
+      sortName: "createDate"
+    });
+
+    const editFormFields = ref({});
+    const editFormOptions = ref([]);
+    const searchFormFields = ref({});
+    const searchFormOptions = ref([]);
+    const columns = ref([
+      {
+        field: "id",
+        title: "Id",
+        type: "int",
+        width: 100,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left"
+      },
+      {
+        field: "weight",
+        title: "閲嶉噺",
+        type: "decimal",
+        width: 100,
+        align: "left"
+      },
+      {
+        field: "qualified",
+        title: "鏄惁鍚堟牸",
+        type: "string",
+        width: 120,
+        align: "left",
+        bind: {
+          key: "qualified",
+          data: [
+            { key: "0", value: "涓嶅悎鏍�" },
+            { key: "1", value: "鍚堟牸" }
+          ]
+        }
+      },
+      {
+        field: "interval",
+        title: "鍖洪棿鍊�",
+        type: "string",
+        width: 400,
+        align: "left"
+      },
+      {
+        field: "creater",
+        title: "鍒涘缓浜�",
+        type: "string",
+        width: 90,
+        align: "left"
+      },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 150,
+        align: "left"
+      },
+    ]);
+    const detail = ref({
+      cnName: "#detailCnName",
+      table: "",
+      columns: [],
+      sortName: ""
+    });
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail
+    };
+  }
+});
+</script>
+<style scoped>
+  .cell el-tooltip{
+    background: red;
+  }
+</style>   
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationInfo.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationInfo.vue"
index 5b84415..818a1ad 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationInfo.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationInfo.vue"
@@ -1,5 +1,6 @@
 
 <template>
+  <!--鍔犱笂     :extend="extend"    鍙互鍑虹幇鏌ョ湅鏄庣粏閫夐」-->
   <view-grid
     ref="grid"
     :columns="columns"
@@ -9,7 +10,6 @@
     :searchFormFields="searchFormFields"
     :searchFormOptions="searchFormOptions"
     :table="table"
-    :extend="extend"
   ></view-grid>
 </template>
     <script>
@@ -23,11 +23,9 @@
       cnName: "璐т綅淇℃伅",
       name: "locationInfo",
       url: "/LocationInfo/",
-      sortName: "id"
+      sortName: "createDate"
     });
-    const editFormFields = ref({
-      locationStatus: ""
-    });
+    const editFormFields = ref({});
     const editFormOptions = ref([
       [
         {
@@ -35,7 +33,12 @@
           field: "locationStatus",
           type: "select",
           dataKey: "locationStatusEnum",
-          data: []
+        },
+        {
+          title: "绂佺敤鐘舵��",
+          field: "enableStatus",
+          type: "select",
+          dataKey: "enableStatusEnum",
         }
       ]
     ]);
@@ -92,14 +95,6 @@
         require: true,
         align: "left"
       },
-      // {
-      //   field: "areaId",
-      //   title: "鍖哄煙涓婚敭",
-      //   type: "string",
-      //   width: 90,
-      //   align: "left",
-      //   bind: {key: "areainfo",data: []}
-      // },
       {
         field: "locationCode",
         title: "璐т綅缂栧彿",
@@ -115,27 +110,32 @@
         align: "left"
       },
       {
-        field: "roadwayNo",
-        title: "宸烽亾缂栧彿",
-        type: "decimal",
-        width: 100,
-        align: "left"
-      },
-      {
         field: "row",
         title: "璐т綅琛�",
-        type: "string",
+        type: "int",
         width: 90,
-        align: "left",
-        hidden: true
+        align: "left"
       },
       {
         field: "column",
         title: "璐т綅鍒�",
         type: "int",
         width: 120,
-        align: "left",
-        hidden: true
+        align: "left"
+      },
+      {
+        field: "depth",
+        title: "宸ヤ綅",
+        type: "int",
+        width: 120,
+        align: "left"
+      },
+      {
+        field: "roadwayNo",
+        title: "宸烽亾缂栧彿",
+        type: "decimal",
+        width: 100,
+        align: "left"
       },
       {
         field: "layer",
@@ -208,14 +208,6 @@
         width: 160,
         align: "left",
         sort: true
-      },
-      {
-        field: "remark",
-        title: "澶囨敞",
-        type: "string",
-        width: 100,
-        align: "left",
-        hidden: true
       }
     ]);
     const detail = ref({
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationimg.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationimg.vue"
new file mode 100644
index 0000000..6bd71da
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationimg.vue"
@@ -0,0 +1,1469 @@
+<template>
+  <div id="zhu">
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(1,6,2)"></div>
+        <div class="ge" @click="xian(1,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(1,5,2)"></div>
+        <div class="ge" @click="xian(1,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(1,4,2)"></div>
+        <div class="ge" @click="xian(1,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(1,3,2)"></div>
+        <div class="ge" @click="xian(1,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(1,2,2)"></div>
+        <div class="ge" @click="xian(1,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(1,1,2)"></div>
+        <div class="ge" @click="xian(1,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(2,6,2)"></div>
+        <div class="ge" @click="xian(2,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(2,5,2)"></div>
+        <div class="ge" @click="xian(2,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(2,4,2)"></div>
+        <div class="ge" @click="xian(2,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(2,3,2)"></div>
+        <div class="ge" @click="xian(2,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(2,2,2)"></div>
+        <div class="ge" @click="xian(2,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(2,1,2)"></div>
+        <div class="ge" @click="xian(2,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(3,6,2)"></div>
+        <div class="ge" @click="xian(3,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(3,5,2)"></div>
+        <div class="ge" @click="xian(3,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(3,4,2)"></div>
+        <div class="ge" @click="xian(3,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(3,3,2)"></div>
+        <div class="ge" @click="xian(3,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(3,2,2)"></div>
+        <div class="ge" @click="xian(3,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(3,1,2)"></div>
+        <div class="ge" @click="xian(3,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(4,6,2)"></div>
+        <div class="ge" @click="xian(1,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(4,5,2)"></div>
+        <div class="ge" @click="xian(4,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(4,4,2)"></div>
+        <div class="ge" @click="xian(4,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(4,3,2)"></div>
+        <div class="ge" @click="xian(4,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(4,2,2)"></div>
+        <div class="ge" @click="xian(4,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(4,1,2)"></div>
+        <div class="ge" @click="xian(4,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(5,6,2)"></div>
+        <div class="ge" @click="xian(5,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(5,5,2)"></div>
+        <div class="ge" @click="xian(5,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(5,4,2)"></div>
+        <div class="ge" @click="xian(5,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(5,3,2)"></div>
+        <div class="ge" @click="xian(5,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(5,2,2)"></div>
+        <div class="ge" @click="xian(5,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(5,1,2)"></div>
+        <div class="ge" @click="xian(5,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(6,6,2)"></div>
+        <div class="ge" @click="xian(6,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(6,5,2)"></div>
+        <div class="ge" @click="xian(6,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(6,4,2)"></div>
+        <div class="ge" @click="xian(6,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(6,3,2)"></div>
+        <div class="ge" @click="xian(6,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(6,2,2)"></div>
+        <div class="ge" @click="xian(6,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(6,1,2)"></div>
+        <div class="ge" @click="xian(6,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(7,6,2)"></div>
+        <div class="ge" @click="xian(7,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(7,5,2)"></div>
+        <div class="ge" @click="xian(7,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(7,4,2)"></div>
+        <div class="ge" @click="xian(7,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(7,3,2)"></div>
+        <div class="ge" @click="xian(7,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(7,2,2)"></div>
+        <div class="ge" @click="xian(7,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(7,1,2)"></div>
+        <div class="ge" @click="xian(7,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(8,6,2)"></div>
+        <div class="ge" @click="xian(8,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(8,5,2)"></div>
+        <div class="ge" @click="xian(8,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(8,4,2)"></div>
+        <div class="ge" @click="xian(8,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(8,3,2)"></div>
+        <div class="ge" @click="xian(8,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(8,2,2)"></div>
+        <div class="ge" @click="xian(8,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(8,1,2)"></div>
+        <div class="ge" @click="xian(8,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(9,6,2)"></div>
+        <div class="ge" @click="xian(9,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(9,5,2)"></div>
+        <div class="ge" @click="xian(9,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(9,4,2)"></div>
+        <div class="ge" @click="xian(9,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(9,3,2)"></div>
+        <div class="ge" @click="xian(9,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(9,2,2)"></div>
+        <div class="ge" @click="xian(9,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(9,1,2)"></div>
+        <div class="ge" @click="xian(9,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(10,6,2)"></div>
+        <div class="ge" @click="xian(10,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(10,5,2)"></div>
+        <div class="ge" @click="xian(10,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(10,4,2)"></div>
+        <div class="ge" @click="xian(10,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(10,3,2)"></div>
+        <div class="ge" @click="xian(10,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(10,2,2)"></div>
+        <div class="ge" @click="xian(10,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(10,1,2)"></div>
+        <div class="ge" @click="xian(10,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(11,6,2)"></div>
+        <div class="ge" @click="xian(11,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(11,5,2)"></div>
+        <div class="ge" @click="xian(11,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(11,4,2)"></div>
+        <div class="ge" @click="xian(11,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(11,3,2)"></div>
+        <div class="ge" @click="xian(11,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(11,2,2)"></div>
+        <div class="ge" @click="xian(11,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(11,1,2)"></div>
+        <div class="ge" @click="xian(11,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(12,6,2)"></div>
+        <div class="ge" @click="xian(12,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(12,5,2)"></div>
+        <div class="ge" @click="xian(12,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(12,4,2)"></div>
+        <div class="ge" @click="xian(12,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(12,3,2)"></div>
+        <div class="ge" @click="xian(12,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(12,2,2)"></div>
+        <div class="ge" @click="xian(12,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(12,1,2)"></div>
+        <div class="ge" @click="xian(12,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(13,6,2)"></div>
+        <div class="ge" @click="xian(13,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(13,5,2)"></div>
+        <div class="ge" @click="xian(13,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(13,4,2)"></div>
+        <div class="ge" @click="xian(13,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(13,3,2)"></div>
+        <div class="ge" @click="xian(13,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(13,2,2)"></div>
+        <div class="ge" @click="xian(13,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(13,1,2)"></div>
+        <div class="ge" @click="xian(13,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(14,6,2)"></div>
+        <div class="ge" @click="xian(14,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(14,5,2)"></div>
+        <div class="ge" @click="xian(14,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(14,4,2)"></div>
+        <div class="ge" @click="xian(14,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(14,3,2)"></div>
+        <div class="ge" @click="xian(14,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(14,2,2)"></div>
+        <div class="ge" @click="xian(14,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(14,1,2)"></div>
+        <div class="ge" @click="xian(14,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(15,6,2)"></div>
+        <div class="ge" @click="xian(15,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(15,5,2)"></div>
+        <div class="ge" @click="xian(15,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(15,4,2)"></div>
+        <div class="ge" @click="xian(15,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(15,3,2)"></div>
+        <div class="ge" @click="xian(15,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(15,2,2)"></div>
+        <div class="ge" @click="xian(15,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(15,1,2)"></div>
+        <div class="ge" @click="xian(15,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(16,6,2)"></div>
+        <div class="ge" @click="xian(16,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(16,5,2)"></div>
+        <div class="ge" @click="xian(16,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(16,4,2)"></div>
+        <div class="ge" @click="xian(16,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(16,3,2)"></div>
+        <div class="ge" @click="xian(16,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(16,2,2)"></div>
+        <div class="ge" @click="xian(16,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(16,1,2)"></div>
+        <div class="ge" @click="xian(16,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(17,6,2)"></div>
+        <div class="ge" @click="xian(17,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(17,5,2)"></div>
+        <div class="ge" @click="xian(17,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(17,4,2)"></div>
+        <div class="ge" @click="xian(17,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(17,3,2)"></div>
+        <div class="ge" @click="xian(17,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(17,2,2)"></div>
+        <div class="ge" @click="xian(17,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(17,1,2)"></div>
+        <div class="ge" @click="xian(17,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(18,6,2)"></div>
+        <div class="ge" @click="xian(18,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(18,5,2)"></div>
+        <div class="ge" @click="xian(18,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(18,4,2)"></div>
+        <div class="ge" @click="xian(18,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(18,3,2)"></div>
+        <div class="ge" @click="xian(18,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(18,2,2)"></div>
+        <div class="ge" @click="xian(18,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(18,1,2)"></div>
+        <div class="ge" @click="xian(18,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(19,6,2)"></div>
+        <div class="ge" @click="xian(19,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(19,5,2)"></div>
+        <div class="ge" @click="xian(19,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(19,4,2)"></div>
+        <div class="ge" @click="xian(19,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(19,3,2)"></div>
+        <div class="ge" @click="xian(19,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(19,2,2)"></div>
+        <div class="ge" @click="xian(19,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(19,1,2)"></div>
+        <div class="ge" @click="xian(19,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(20,6,2)"></div>
+        <div class="ge" @click="xian(20,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(20,5,2)"></div>
+        <div class="ge" @click="xian(20,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(20,4,2)"></div>
+        <div class="ge" @click="xian(20,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(20,3,2)"></div>
+        <div class="ge" @click="xian(20,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(20,2,2)"></div>
+        <div class="ge" @click="xian(20,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(20,1,2)"></div>
+        <div class="ge" @click="xian(20,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(21,6,2)"></div>
+        <div class="ge" @click="xian(21,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(21,5,2)"></div>
+        <div class="ge" @click="xian(21,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(21,4,2)"></div>
+        <div class="ge" @click="xian(21,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(21,3,2)"></div>
+        <div class="ge" @click="xian(21,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(21,2,2)"></div>
+        <div class="ge" @click="xian(21,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(21,1,2)"></div>
+        <div class="ge" @click="xian(21,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(22,6,2)"></div>
+        <div class="ge" @click="xian(22,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(22,5,2)"></div>
+        <div class="ge" @click="xian(22,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(22,4,2)"></div>
+        <div class="ge" @click="xian(22,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(22,3,2)"></div>
+        <div class="ge" @click="xian(22,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(22,2,2)"></div>
+        <div class="ge" @click="xian(22,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(22,1,2)"></div>
+        <div class="ge" @click="xian(22,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(23,6,2)"></div>
+        <div class="ge" @click="xian(23,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(23,5,2)"></div>
+        <div class="ge" @click="xian(23,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(23,4,2)"></div>
+        <div class="ge" @click="xian(23,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(23,3,2)"></div>
+        <div class="ge" @click="xian(23,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(23,2,2)"></div>
+        <div class="ge" @click="xian(23,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(23,1,2)"></div>
+        <div class="ge" @click="xian(23,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(24,6,2)"></div>
+        <div class="ge" @click="xian(24,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(24,5,2)"></div>
+        <div class="ge" @click="xian(24,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(24,4,2)"></div>
+        <div class="ge" @click="xian(24,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(24,3,2)"></div>
+        <div class="ge" @click="xian(24,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(24,2,2)"></div>
+        <div class="ge" @click="xian(24,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(24,1,2)"></div>
+        <div class="ge" @click="xian(24,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(25,6,2)"></div>
+        <div class="ge" @click="xian(25,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(25,5,2)"></div>
+        <div class="ge" @click="xian(25,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(25,4,2)"></div>
+        <div class="ge" @click="xian(25,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(25,3,2)"></div>
+        <div class="ge" @click="xian(25,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(25,2,2)"></div>
+        <div class="ge" @click="xian(25,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(25,1,2)"></div>
+        <div class="ge" @click="xian(25,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(26,6,2)"></div>
+        <div class="ge" @click="xian(26,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(26,5,2)"></div>
+        <div class="ge" @click="xian(26,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(26,4,2)"></div>
+        <div class="ge" @click="xian(26,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(26,3,2)"></div>
+        <div class="ge" @click="xian(26,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(26,2,2)"></div>
+        <div class="ge" @click="xian(26,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(26,1,2)"></div>
+        <div class="ge" @click="xian(26,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(27,6,2)"></div>
+        <div class="ge" @click="xian(27,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(27,5,2)"></div>
+        <div class="ge" @click="xian(27,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(27,4,2)"></div>
+        <div class="ge" @click="xian(27,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(27,3,2)"></div>
+        <div class="ge" @click="xian(27,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(27,2,2)"></div>
+        <div class="ge" @click="xian(27,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(27,1,2)"></div>
+        <div class="ge" @click="xian(27,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(28,6,2)"></div>
+        <div class="ge" @click="xian(28,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(28,5,2)"></div>
+        <div class="ge" @click="xian(28,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(28,4,2)"></div>
+        <div class="ge" @click="xian(28,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(28,3,2)"></div>
+        <div class="ge" @click="xian(28,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(28,2,2)"></div>
+        <div class="ge" @click="xian(28,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(28,1,2)"></div>
+        <div class="ge" @click="xian(28,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(29,6,2)"></div>
+        <div class="ge" @click="xian(29,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(29,5,2)"></div>
+        <div class="ge" @click="xian(29,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(29,4,2)"></div>
+        <div class="ge" @click="xian(29,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(29,3,2)"></div>
+        <div class="ge" @click="xian(29,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(29,2,2)"></div>
+        <div class="ge" @click="xian(29,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(29,1,2)"></div>
+        <div class="ge" @click="xian(29,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(30,6,2)"></div>
+        <div class="ge" @click="xian(30,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(30,5,2)"></div>
+        <div class="ge" @click="xian(30,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(30,4,2)"></div>
+        <div class="ge" @click="xian(30,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(30,3,2)"></div>
+        <div class="ge" @click="xian(30,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(30,2,2)"></div>
+        <div class="ge" @click="xian(30,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(30,1,2)"></div>
+        <div class="ge" @click="xian(30,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(31,6,2)"></div>
+        <div class="ge" @click="xian(31,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(31,5,2)"></div>
+        <div class="ge" @click="xian(31,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(31,4,2)"></div>
+        <div class="ge" @click="xian(31,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(31,3,2)"></div>
+        <div class="ge" @click="xian(31,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(31,2,2)"></div>
+        <div class="ge" @click="xian(31,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(31,1,2)"></div>
+        <div class="ge" @click="xian(31,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(32,6,2)"></div>
+        <div class="ge" @click="xian(32,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(32,5,2)"></div>
+        <div class="ge" @click="xian(32,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(32,4,2)"></div>
+        <div class="ge" @click="xian(32,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(32,3,2)"></div>
+        <div class="ge" @click="xian(32,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(32,2,2)"></div>
+        <div class="ge" @click="xian(32,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(32,1,2)"></div>
+        <div class="ge" @click="xian(32,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(33,6,2)"></div>
+        <div class="ge" @click="xian(33,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(33,5,2)"></div>
+        <div class="ge" @click="xian(33,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(33,4,2)"></div>
+        <div class="ge" @click="xian(33,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(33,3,2)"></div>
+        <div class="ge" @click="xian(33,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(33,2,2)"></div>
+        <div class="ge" @click="xian(33,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(33,1,2)"></div>
+        <div class="ge" @click="xian(33,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(34,6,2)"></div>
+        <div class="ge" @click="xian(34,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(34,5,2)"></div>
+        <div class="ge" @click="xian(34,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(34,4,2)"></div>
+        <div class="ge" @click="xian(34,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(34,3,2)"></div>
+        <div class="ge" @click="xian(34,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(34,2,2)"></div>
+        <div class="ge" @click="xian(34,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(34,1,2)"></div>
+        <div class="ge" @click="xian(34,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(35,6,2)"></div>
+        <div class="ge" @click="xian(35,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(35,5,2)"></div>
+        <div class="ge" @click="xian(35,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(35,4,2)"></div>
+        <div class="ge" @click="xian(35,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(35,3,2)"></div>
+        <div class="ge" @click="xian(35,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(35,2,2)"></div>
+        <div class="ge" @click="xian(35,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(35,1,2)"></div>
+        <div class="ge" @click="xian(35,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(36,6,2)"></div>
+        <div class="ge" @click="xian(36,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(36,5,2)"></div>
+        <div class="ge" @click="xian(36,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(36,4,2)"></div>
+        <div class="ge" @click="xian(36,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(36,3,2)"></div>
+        <div class="ge" @click="xian(36,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(36,2,2)"></div>
+        <div class="ge" @click="xian(36,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(36,1,2)"></div>
+        <div class="ge" @click="xian(36,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(37,6,2)"></div>
+        <div class="ge" @click="xian(37,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(37,5,2)"></div>
+        <div class="ge" @click="xian(37,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(37,4,2)"></div>
+        <div class="ge" @click="xian(37,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(37,3,2)"></div>
+        <div class="ge" @click="xian(37,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(37,2,2)"></div>
+        <div class="ge" @click="xian(37,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(37,1,2)"></div>
+        <div class="ge" @click="xian(37,1,1)"></div>
+      </div>
+    </div>
+    <div class="lie">
+      <div class="hang" style="margin-top: 20%;">
+        <div class="ge" @click="xian(38,6,2)"></div>
+        <div class="ge" @click="xian(38,6,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(38,5,2)"></div>
+        <div class="ge" @click="xian(38,5,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(38,4,2)"></div>
+        <div class="ge" @click="xian(38,4,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(38,3,2)"></div>
+        <div class="ge" @click="xian(38,3,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(38,2,2)"></div>
+        <div class="ge" @click="xian(38,2,1)"></div>
+      </div>
+      <div class="hang">
+        <div class="ge" @click="xian(38,1,2)"></div>
+        <div class="ge" @click="xian(38,1,1)"></div>
+      </div>
+    </div>
+    <div id="kuang">
+      <div id="ti">
+        <div class="ge" id="a" style="width: 6%;height:60%;margin-top: 1%;margin-left: 1%;"></div>
+        <div class="wen">绌洪棽</div>
+        <div class="ge" id="b" style="width: 6%;height:60%;margin-top: 1%;margin-left: 1%;"></div>
+        <div class="wen">绂佺敤</div>
+        <div class="ge" id="c" style="width: 6%;height:60%;margin-top: 1%;margin-left: 1%;"></div>
+        <div class="wen">閿佸畾</div>
+        <div class="ge" id="e" style="width: 6%;height:60%;margin-top: 1%;margin-left: 1%;"></div>
+        <div class="wen">姝e父搴撳瓨</div>
+        <div class="ge" id="d" style="width: 6%;height:60%;margin-top: 1%;margin-left: 1%;"></div>
+        <div class="wen">鍓旈櫎搴撳瓨</div>
+      </div>
+      <div id="dian">
+        <div id="zi">褰撳墠閫夋嫨璐т綅浣嶇疆涓猴細</div>
+        <div id="xian"></div>
+      </div>
+    </div>
+    <div id="zxj" @click="zxj">鏁村舰鏈�</div>
+    <div id="kc" @click="kc">鍑哄簱</div>
+    <div id="gzj" @click="gzj">瑙勬暣鏈�</div>
+    <div id="kr" @click="kr">鍏ュ簱</div>
+  </div>
+</template>
+
+<script setup>
+import { ref, reactive, nextTick, computed, watch } from "vue";
+import { onMounted } from "vue";
+import axios from "axios";
+import { useStore } from "vuex";
+import { getCurrentInstance } from "vue";
+
+const wei = ref("");
+const weis = ref("");
+const swei = ref("");
+const lie = ref("");
+
+const qu = ref(0);
+const ji = ref(0);
+const qu1 = ref(0);
+const ji1 = ref(0);
+
+const R_ZXJ_TCMode = ref(false);
+const R_HC_isReadyWork = ref(false);
+const R_ZXJ_TC_isready = ref(false);
+const R_TCMode_TC = ref(false);
+const R_TC_isready = ref(false);
+
+const store = useStore();
+const data = ref({});
+
+//鍑哄簱
+const kc = () => {
+  let t = document.getElementById("zxj");
+  let s = document.getElementById("gzj");
+  //鏄惁閫変腑搴�
+  if (wei.value != "") {
+    //鏅�氳揣鍗婅嚜鍔ㄥ嚭搴�
+    if (ji.value == 1) {
+      //鍒ゆ柇鍒�
+      if (lie.value != 38) {
+        //data.value.R_ZXJ_isWork == true &&
+        if (R_ZXJ_TCMode.value == true && R_HC_isReadyWork.value == true) {
+          axios
+            .post(
+              "api/Task/banzidong/?wei=" + wei.value + "&weis=" + weis.value,
+              {}
+            )
+            .then(x => {
+              qu.value = 0;
+              t.style.background = "#f60";
+              if (x.data.message == 1) {
+                alert("鍑哄簱澶辫触锛堝彲鑳芥槸 鈥滄槸鍚﹀嚭搴撯�� 鐨勯棶棰橈級");
+              } else if (x.data.message == 3) {
+                alert("鍑哄簱澶辫触锛堟壘涓嶅埌搴撳瓨锛�");
+              } else {
+                alert("鍑哄簱鎴愬姛");
+              }
+              console.log(x);
+            });
+        } else {
+          alert("淇″彿涓嶆纭�");
+        }
+      } else {
+        alert("鏅�氬嚭搴撲笉鑳介�変腑38鍒楃殑搴�");
+      }
+
+      //鍓旈櫎璐у崐鑷姩鍑哄簱
+    } else if (ji1.value == 1) {
+      //鍒ゆ柇鍒�
+      if (lie.value == 38) {
+        //鍒ゆ柇淇″彿////////////////////////////////////////////////////////////////////////////////
+        if (R_TC_isready.value == true) {
+          axios.post("api/Task/tichuchuku/?wei=" + wei.value, {}).then(x => {
+            qu1.value = 0;
+            s.style.background = "#f60";
+            if (x.data.message == 1) {
+              alert("鍑哄簱澶辫触锛堝彲鑳芥槸 鈥滄槸鍚﹀嚭搴撯�� 鐨勯棶棰橈級");
+            } else if (x.data.message == 2) {
+              alert("鍑哄簱鎴愬姛");
+            } else if (x.data.message == 3) {
+              alert("鍑哄簱澶辫触");
+            } else if (x.data.message == 4) {
+              alert("搴撳瓨閲岄潰鏃犺揣");
+            }
+          });
+        }else{
+          alert("淇″彿涓嶆纭�");
+        }
+      } else {
+        alert("鏅�氬嚭搴撳彧鑳介�変腑38鍒楃殑搴�");
+      }
+    }
+    //鍓旈櫎鐩存帴鍑哄簱
+  } else if (ji1.value == 1 && ji.value == 1) {
+    //鍒ゆ柇淇″彿;////////////////////////////////////////////////////////////////////////////////
+    if (
+      R_TC_isready.value == true &&
+      R_ZXJ_TC_isready.value == true &&
+      R_TCMode_TC.value == true
+    ) {
+      axios.post("api/Task/zhijiechuku", {}).then(x => {
+        qu.value = 0;
+        t.style.background = "#f60";
+        qu1.value = 0;
+        s.style.background = "#f60";
+        if (x.data.message == 1) {
+          alert("鍑哄簱澶辫触锛堝彲鑳芥槸 鈥滄槸鍚﹀嚭搴撯�� 鐨勯棶棰橈級");
+        } else if (x.data.message == 2) {
+          alert("鍑哄簱鎴愬姛");
+        } else if (x.data.message == 3) {
+          alert("鍑哄簱澶辫触");
+        }
+      });
+    }
+  } else {
+    alert("璇峰厛閫変腑搴撲綅");
+  }
+};
+
+//鍏ュ簱
+const kr = () => {
+  let t = document.getElementById("zxj");
+  if (ji.value == 1 && wei.value != "") {
+    if (lie.value == 38) {
+      //鍒ゆ柇淇″彿////////////////////////////////////////////////////////////////////////////////
+      if (R_ZXJ_TC_isready.value == true && R_TCMode_TC.value == true) {
+        axios.post("api/Task/tichuruku/?wei=" + wei.value, {}).then(x => {
+          qu.value = 0;
+          t.style.background = "#f60";
+          if (x.data.message == 1) {
+            alert("鍏ュ簱澶辫触锛堝彲鑳芥槸 鈥滄槸鍚﹀嚭搴撯�� 鐨勯棶棰橈級");
+          } else if (x.data.message == 2) {
+            alert("鍏ュ簱鎴愬姛");
+          } else if (x.data.message == 3) {
+            alert("鍏ュ簱澶辫触");
+          } else if (x.data.message == 4) {
+            alert("搴撳瓨閲岄潰宸叉湁璐�");
+          }
+        });
+      }
+    } else {
+      alert("鍓旈櫎鍏ュ簱鍙兘閫変腑38鍒楃殑搴�");
+    }
+  } else {
+    alert("璇峰厛閫変腑搴撲綅鍜屾暣褰㈡満");
+  }
+};
+
+//閫変腑鍙樿壊
+const zxj = () => {
+  let t = document.getElementById("zxj");
+  if (qu.value == 0) {
+    qu.value = 1;
+    ji.value = 1;
+    t.style.background = "red";
+  } else {
+    qu.value = 0;
+    ji.value = 0;
+    t.style.background = "#f60";
+  }
+};
+const gzj = () => {
+  let t = document.getElementById("gzj");
+  if (qu1.value == 0) {
+    qu1.value = 1;
+    ji1.value = 1;
+    t.style.background = "red";
+  } else {
+    qu1.value = 0;
+    ji1.value = 0;
+    t.style.background = "#f60";
+  }
+};
+const xian = (x, y, w) => {
+  let t = document.getElementById("xian");
+  t.innerHTML = x + "鍒�" + y + "琛�" + w + "鍌ㄤ綅";
+
+  let v = document.getElementsByClassName("ge");
+  for (let i = 0; i < v.length; i++) {
+    v[i].style.border = "1px solid blue";
+  }
+  let c = 0;
+  if (y == 1) {
+    if (w == 1) {
+      c = 0;
+    } else {
+      c = 1;
+    }
+  } else if (y == 2) {
+    if (w == 1) {
+      c = 2;
+    } else {
+      c = 3;
+    }
+  } else if (y == 3) {
+    if (w == 1) {
+      c = 4;
+    } else {
+      c = 5;
+    }
+  } else if (y == 4) {
+    if (w == 1) {
+      c = 6;
+    } else {
+      c = 7;
+    }
+  } else if (y == 5) {
+    if (w == 1) {
+      c = 8;
+    } else {
+      c = 9;
+    }
+  } else if (y == 6) {
+    if (w == 1) {
+      c = 10;
+    } else {
+      c = 11;
+    }
+  }
+  let z = x * 12 - 1 - c;
+  //鍙栨秷閫変腑
+  let s = 0;
+  if (swei.value == z) {
+    v[z].style.border = "1px solid blue";
+    s = 1;
+    weis.value = "";
+    wei.value = "";
+    swei.value = "";
+  }
+  //閫変腑
+  if (s == 0) {
+    swei.value = z;
+    lie.value = x;
+    v[z].style.border = "2px solid red";
+    if (w == 1) {
+      weis.value = x + "-" + y + "-" + 2;
+      wei.value = x + "-" + y + "-" + w;
+    } else {
+      wei.value = x + "-" + y + "-" + 1;
+      weis.value = x + "-" + y + "-" + w;
+    }
+  }
+};
+
+//鍥炬爣鏄剧ず涓庤幏鍙栦俊鍙�
+onMounted(() => {
+  nextTick(() => {
+    setInterval(() => {
+      data.value = store.state.homedata;
+      R_ZXJ_TCMode.value = data.value.R_ZXJ_TCMode; //璧嬪�糳ata
+      R_HC_isReadyWork.value = data.value.R_HC_isReadyWork;
+      R_ZXJ_TC_isready.value = data.value.R_ZXJ_TC_isready;
+      R_TCMode_TC.value = data.value.R_TCMode_TC;
+      R_TC_isready.value = data.value.R_TC_isready;
+
+      axios.post("api/LocationInfo/getPageData", { rows: 500 }).then(x => {
+        //console.log(x.data.rows,"111");
+        let w = document.getElementsByClassName("ge");
+
+        let t = 0,
+          tt = 11;
+        //鍒�(寮�鍚墧闄ゅ簱浣嶈鏀�38)
+        for (let z = 1, i = 0; z <= 38; z++) {
+          t = tt;
+          //璐т綅
+          for (let a = 1; a <= 12; a++, t--) {
+            //绂佺敤
+            if (x.data.rows[i].enableStatus == 3) {
+              w[t].style.backgroundImage =
+                "url(" + require("@../../../public/Error.png") + ")";
+              //鍚敤
+            } else if (x.data.rows[i].enableStatus == 0) {
+              //绌洪棽
+              if (x.data.rows[i].locationStatus == 0) {
+                w[t].style.backgroundImage = "url('')";
+                //閿佸畾
+              } else if (x.data.rows[i].locationStatus == 1) {
+                w[t].style.backgroundImage =
+                  "url(" + require("@../../../public/Lock.png") + ")";
+                //鏈夎揣
+              } else if (x.data.rows[i].locationStatus == 2) {
+                //鏅�氳揣
+                if (x.data.rows[i].locationType == 2) {
+                  w[t].style.backgroundImage =
+                    "url(" + require("@../../../public/Stored.png") + ")";
+                  //鍓旈櫎璐�
+                } else if (x.data.rows[i].locationType == 1) {
+                  w[t].style.backgroundImage =
+                    "url(" + require("@../../../public/Stored2.png") + ")";
+                }
+              }
+            }
+            i++;
+          }
+          tt += 12;
+        }
+      });
+    }, 3000);
+  });
+});
+</script>
+
+<style scoped>
+#kr {
+  width: 4%;
+  height: 4%;
+  position: absolute;
+  top: 73%;
+  left: 55%;
+  border: 1px solid black;
+  text-align: center;
+  line-height: 230%;
+  background: #f60;
+  border-radius: 10%;
+  cursor: pointer;
+  color: white;
+}
+#kr:hover {
+  opacity: 0.8;
+  color: black;
+}
+#gzj {
+  width: 10%;
+  height: 15%;
+  position: absolute;
+  top: 75%;
+  left: 87%;
+  text-align: center;
+  line-height: 700%;
+  font-size: 20px;
+  border-radius: 10%;
+  border: 1px solid black;
+  cursor: pointer;
+  background: #f60;
+  color: white;
+}
+#gzj:hover {
+  opacity: 0.8;
+  color: black;
+}
+#kc {
+  width: 4%;
+  height: 4%;
+  position: absolute;
+  top: 73%;
+  left: 45%;
+  border: 1px solid black;
+  text-align: center;
+  line-height: 230%;
+  background: #f60;
+  border-radius: 10%;
+  cursor: pointer;
+  color: white;
+}
+#kc:hover {
+  opacity: 0.8;
+  color: black;
+}
+#zxj {
+  width: 10%;
+  height: 15%;
+  position: absolute;
+  top: 75%;
+  left: 2%;
+  text-align: center;
+  line-height: 700%;
+  font-size: 20px;
+  border-radius: 10%;
+  border: 1px solid black;
+  cursor: pointer;
+  background: #f60;
+  color: white;
+}
+#zxj:hover {
+  opacity: 0.8;
+  color: black;
+}
+#b {
+  background-image: url("../../../public/Error.png");
+}
+#c {
+  background-image: url("../../../public/Lock.png");
+}
+#d {
+  background-image: url("../../../public/Stored2.png");
+}
+#e {
+  background-image: url("../../../public/Stored.png");
+}
+#zi,
+#xian {
+  width: 45%;
+  height: 30%;
+  float: left;
+  margin-top: 5%;
+  font-size: 18px;
+}
+#dian {
+  width: 30%;
+  height: 80%;
+  float: left;
+  margin-top: 1%;
+  margin-left: 35%;
+}
+.wen {
+  width: 12%;
+  height: 30%;
+  float: left;
+  font-size: 15px;
+  margin-top: 3%;
+  margin-left: 1%;
+  text-align: center;
+}
+#ti {
+  width: 50%;
+  height: 40%;
+  float: left;
+  margin-left: 25%;
+  margin-top: 0%;
+}
+#kuang {
+  width: 90%;
+  height: 20%;
+  float: left;
+  margin-left: 5%;
+}
+.ge {
+  width: 90%;
+  height: 30%;
+  float: left;
+  border: 1px solid blue;
+  margin-left: 5%;
+  margin-top: 10%;
+  background-repeat: no-repeat;
+  background-size: 100%;
+  cursor: pointer;
+}
+.hang {
+  width: 100%;
+  height: 15%;
+  float: left;
+}
+.lie {
+  width: 2.1%;
+  height: 80%;
+  float: left;
+  margin-left: 0.5%;
+}
+#zhu {
+  width: 95%;
+  height: 88vh;
+  float: left;
+  border: 1px solid black;
+  margin-left: 2.5%;
+  margin-top: 1%;
+  position: relative;
+}
+</style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/stockInfo.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/stockInfo.vue"
index 3f1ca9d..2f1c0ef 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/stockInfo.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/wmsPart/stockInfo.vue"
@@ -63,46 +63,46 @@
         align: "left"
       },
       {
-        field: "palletCode",
-        title: "鎵樼洏缂栧彿",
+        field: "batchNo",
+        title: "鎵规鍙�",
         type: "string",
         width: 90,
+        align: "left"
+      },
+      {
+        field: "remark",
+        title: "鐗╂枡淇℃伅",
+        type: "string",
+        width: 120,
+        align: "left",
+        bind: { key: "mateType", data: [] },
+      },
+      {
+        field: "weight",
+        title: "閲嶉噺",
+        type: "string",
+        width: 150,
         align: "left"
       },
       {
         field: "locationCode",
         title: "璐т綅缂栧彿",
         type: "string",
-        width: 150,
+        width: 100,
         align: "left"
       },
-      // {
-      //   field: "isFull",
-      //   title: "鏄惁婊$洏",
-      //   type: "string",
-      //   width: 150,
-      //   align: "left",
-      //   bind: { key: "yesno", data: [] },
-      // },
       {
-        field: "warehouseId",
-        title: "浠撳簱",
-        type: "select",
-        width: 100,
+        field: "stockStatus",
+        title: "搴撳瓨鐘舵��",
+        type: "string",
+        width: 90,
         align: "left",
-        bind: { key: "warehouses", data: [] }
+        bind: { key: "stock", data: [] },
       },
       {
         field: "creater",
-        title: "鍒涘缓浜�",
+        title: "鍒涘缓鑰�",
         type: "string",
-        width: 90,
-        align: "left"
-      },
-      {
-        field: "createDate",
-        title: "鍒涘缓鏃堕棿",
-        type: "datetime",
         width: 160,
         align: "left"
       },
@@ -112,24 +112,21 @@
         type: "string",
         width: 100,
         align: "left",
-        hidden: true
       },
       {
         field: "modifyDate",
-        title: "淇敼鏃堕棿",
+        title: "淇敼鏃ユ湡",
         type: "datetime",
         width: 160,
         align: "left",
-        hidden: true
       },
       {
-        field: "remark",
-        title: "澶囨敞",
-        type: "string",
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
         width: 100,
         align: "left",
-        hidden: true
-      }
+      },
     ]);
     const detail = ref({
       cnName: "#detailCnName",
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 275c460..9dd4407 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"
@@ -11,16 +11,12 @@
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\zxj\\zxjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtreaddata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtreaddata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -34,8 +30,32 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 0,
+          "SelectedChildIndex": 2,
           "Children": [
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "Program.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
+              "ViewState": "AgIAABgAAAAAAAAAAAAAABsAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-03T03:02:12.932Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "TaskService.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ViewState": "AgIAAPwAAAAAAAAAAAAUwDEBAAAQAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-19T02:06:47.617Z"
+            },
             {
               "$type": "Document",
               "DocumentIndex": 0,
@@ -44,63 +64,22 @@
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
-              "ViewState": "AgIAABACAAAAAAAAAAAAAK8BAAAkAAAAAAAAAA==",
+              "ViewState": "AgIAAJIBAAAAAAAAAAAuwJ8BAAAbAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-05-16T07:03:59.279Z",
-              "IsPinned": true,
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "OHTReadData.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
-              "ViewState": "AgIAAD8AAAAAAAAAAIA4wEcAAAAYAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-26T06:34:01.253Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 2,
-              "Title": "OHTEnum.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
-              "ViewState": "AgIAANIBAAAAAAAAAAAewOQBAAAWAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-26T06:33:59.339Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "TaskService.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAHUDAAAAAAAAAAAewIcDAAAVAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-19T02:06:47.617Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
               "Title": "OHTJob.cs",
               "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
-              "ViewState": "AgIAAMEAAAAAAAAAAAAewKAAAABcAAAAAAAAAA==",
+              "ViewState": "AgIAAEEAAAAAAAAAAAAewMsAAAAUAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-16T07:49:36.171Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-05-16T07:49:36.171Z"
             },
             {
               "$type": "Document",
@@ -110,10 +89,9 @@
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
-              "ViewState": "AgIAAPYAAAAAAAAAAAAewAgBAAAYAAAAAAAAAA==",
+              "ViewState": "AgIAADYAAAAAAAAAAAAYwAgBAAAYAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-04-03T02:04:31.648Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-04-03T02:04:31.648Z"
             }
           ]
         }
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 275c460..9dd4407 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"
@@ -11,16 +11,12 @@
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\zxj\\zxjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtreaddata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtreaddata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -34,8 +30,32 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 0,
+          "SelectedChildIndex": 2,
           "Children": [
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "Program.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
+              "ViewState": "AgIAABgAAAAAAAAAAAAAABsAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-03T03:02:12.932Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "TaskService.cs",
+              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ViewState": "AgIAAPwAAAAAAAAAAAAUwDEBAAAQAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-05-19T02:06:47.617Z"
+            },
             {
               "$type": "Document",
               "DocumentIndex": 0,
@@ -44,63 +64,22 @@
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
-              "ViewState": "AgIAABACAAAAAAAAAAAAAK8BAAAkAAAAAAAAAA==",
+              "ViewState": "AgIAAJIBAAAAAAAAAAAuwJ8BAAAbAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-05-16T07:03:59.279Z",
-              "IsPinned": true,
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "OHTReadData.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
-              "ViewState": "AgIAAD8AAAAAAAAAAIA4wEcAAAAYAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-26T06:34:01.253Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 2,
-              "Title": "OHTEnum.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
-              "ViewState": "AgIAANIBAAAAAAAAAAAewOQBAAAWAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-26T06:33:59.339Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "TaskService.cs",
-              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAHUDAAAAAAAAAAAewIcDAAAVAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-19T02:06:47.617Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
               "Title": "OHTJob.cs",
               "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
-              "ViewState": "AgIAAMEAAAAAAAAAAAAewKAAAABcAAAAAAAAAA==",
+              "ViewState": "AgIAAEEAAAAAAAAAAAAewMsAAAAUAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-16T07:49:36.171Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-05-16T07:49:36.171Z"
             },
             {
               "$type": "Document",
@@ -110,10 +89,9 @@
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
               "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
-              "ViewState": "AgIAAPYAAAAAAAAAAAAewAgBAAAYAAAAAAAAAA==",
+              "ViewState": "AgIAADYAAAAAAAAAAAAYwAgBAAAYAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-04-03T02:04:31.648Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-04-03T02:04:31.648Z"
             }
           ]
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_ThicknessHtyService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_ThicknessHtyService.cs"
index a0de76f..8f2c6b1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_ThicknessHtyService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_ThicknessHtyService.cs"
@@ -3,6 +3,7 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Model.Models.System;
 
@@ -10,5 +11,6 @@
 {
     public interface Idt_ThicknessHtyService : IService<dt_Thickness_hty>
     {
+        WebResponseContent alldelete();
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_WeightHtyService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_WeightHtyService.cs"
index 17b7d62..f22ac8e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_WeightHtyService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_WeightHtyService.cs"
@@ -3,6 +3,7 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_Model.Models.System;
@@ -11,6 +12,6 @@
 {
     public interface Idt_WeightHtyService : IService<dt_Weight_hty>
     {
-
+        WebResponseContent alldelete();
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskhtyService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskhtyService.cs"
index 8c24f9c..c6cdf1f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskhtyService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskhtyService.cs"
@@ -11,6 +11,5 @@
 {
     public interface ITaskhtyService : IService<Dt_Task_hty>
     {
-
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Thickness_HtyController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Thickness_HtyController.cs"
index be32e30..5ca282c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Thickness_HtyController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Thickness_HtyController.cs"
@@ -1,4 +1,5 @@
 锘縰sing Microsoft.AspNetCore.Mvc;
+using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseController;
 using WIDESEAWCS_ISystemServices;
 using WIDESEAWCS_Model.Models.System;
@@ -9,8 +10,17 @@
     [ApiController]
     public class Thickness_HtyController : ApiBaseController<Idt_ThicknessHtyService, dt_Thickness_hty>
     {
+        private readonly Idt_ThicknessHtyService _Idt_ThicknessHtyService;
         public Thickness_HtyController(Idt_ThicknessHtyService service) : base(service)
         {
+            _Idt_ThicknessHtyService = service;
+        }
+
+        //鍏ㄩ儴鍒犻櫎
+        [HttpPost, HttpGet, Route("alldelete")]
+        public WebResponseContent alldelete()
+        {
+            return Service.alldelete();
         }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Weight_HtyController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Weight_HtyController.cs"
index 20caeb1..81fc7ca 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Weight_HtyController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Weight_HtyController.cs"
@@ -1,4 +1,5 @@
 锘縰sing Microsoft.AspNetCore.Mvc;
+using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseController;
 using WIDESEAWCS_ISystemServices;
 using WIDESEAWCS_ITaskInfoService;
@@ -12,8 +13,17 @@
     [ApiController]
     public class Weight_HtyController : ApiBaseController<Idt_WeightHtyService, dt_Weight_hty>
     {
+        private readonly Idt_WeightHtyService _Idt_WeightHtyService;
         public Weight_HtyController(Idt_WeightHtyService service) : base(service)
         {
+            _Idt_WeightHtyService = service;
+        }
+
+        //鍏ㄩ儴鍒犻櫎
+        [HttpPost, HttpGet, Route("alldelete")]
+        public WebResponseContent alldelete()
+        {
+            return Service.alldelete();
         }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml"
index d8c0c6f..5f5c6b5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml"
@@ -17,6 +17,6 @@
     <TargetFramework>net6.0</TargetFramework>
     <ProjectGuid>487fa45b-ea1a-4aca-bb5b-0f6708f462c0</ProjectGuid>
     <SelfContained>false</SelfContained>
-    <RuntimeIdentifier>linux-x64</RuntimeIdentifier>
+    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_ThicknessHtyService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_ThicknessHtyService.cs"
index 8b801a0..092fe52 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_ThicknessHtyService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_ThicknessHtyService.cs"
@@ -7,6 +7,7 @@
 using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_ISystemServices;
+using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_Model.Models.System;
 
 namespace WIDESEAWCS_SystemServices
@@ -17,9 +18,19 @@
         {
         }
 
+        public IRepository<dt_Thickness_hty> Repository => BaseDal;
+
         public override WebResponseContent AddData(dt_Thickness_hty entity)
         {
             return base.AddData(entity);
         }
+
+        public WebResponseContent alldelete()
+        {
+            List<dt_Thickness_hty> weights = BaseDal.QueryData();
+            BaseDal.DeleteData(weights);
+            WebResponseContent w = new WebResponseContent();
+            return w;
+        }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_WeightHtyService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_WeightHtyService.cs"
index bcea620..146dfda 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_WeightHtyService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_WeightHtyService.cs"
@@ -4,6 +4,8 @@
 using System.Text;
 using System.Threading.Tasks;
 using AutoMapper;
+using SqlSugar;
+using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_ISystemServices;
@@ -18,6 +20,15 @@
         {
         }
 
+        public IRepository<dt_Weight_hty> Repository => BaseDal;
+
+        public WebResponseContent alldelete()
+        {
+            List<dt_Weight_hty> weights = BaseDal.QueryData();
+            BaseDal.DeleteData(weights);
+            WebResponseContent w = new WebResponseContent();
+            return w;
+        }
 
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 83abd14..a01f8e1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -305,7 +305,9 @@
                 //}
                 if (workTpe.Equals("In"))
                 {
-                    task = BaseDal.QueryData(v => (v.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu || v.TaskType == (int)TaskInboundTypeEnum.Inbound) && v.TaskState == (int)TaskInStatusEnum.InNew).OrderByDescending(v => v.Grade).OrderBy(v => v.CreateDate).First();
+                    //OrderByDescending(闄嶅簭鎺掑簭)
+                    task = BaseDal.QueryData(v => (v.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu || v.TaskType == (int)TaskInboundTypeEnum.Inbound) && v.TaskState == (int)TaskInStatusEnum.InNew).OrderBy(v => v.CreateDate).First();
+                    Dt_Task tasks = new Dt_Task();
                 }
                 else if (workTpe.Equals("Out"))
                 {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs"
index cd5b34c..84b2514 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs"
@@ -78,7 +78,6 @@
 
         public Task Execute(IJobExecutionContext context)
         {
-            Console.WriteLine("1");
             //return Task.CompletedTask;
             bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
             if (flag && value != null)
@@ -189,7 +188,46 @@
                     {
                         Dt_Task task = new Dt_Task();
                         var storagemode = _storagemodeRepository.QueryFirst(v => v.Id == 1);
-                        if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_DK_isready)//RGV涓婃枡妯″紡锛屼笖瑗胯法鏋跺瓙鏈変笂鏂欎俊鍙�
+
+                        if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_XK_isready)//RGV涓婃枡妯″紡锛屼笖瑗胯法鏋跺瓙鏈変笂鏂欎俊鍙�
+                        {
+                            var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "瑗胯法鏋跺瓙");
+                            task.SourceAddress = station.Row + "-" + station.Column + "-1";
+                            var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress);
+                            if (oldhtytask == null)
+                            {
+                                task.TargetAddress = _locationInfoService.GetInLocation(storagemode.storagemode).LocationCode;
+                                if (OHTJob.oHTReadData.R_DK_isready)
+                                {
+                                    task.Grade = 3;
+                                }
+                                else
+                                {
+                                    task.Grade = 2;
+                                }
+                                task.Remark = (int)MateTypeEnum.ZiChan;
+                                //鏌ユ壘鐩搁偦鐨勫簱浣�
+                                Dt_LocationInfo Towlocation = new Dt_LocationInfo();
+                                var Onelocation = _LocationInfoRepository.QueryFirst(v => v.LocationCode == task.TargetAddress);
+                                if (Onelocation.Depth == 1)
+                                {
+                                    Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 2);
+                                }
+                                else
+                                {
+                                    Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 1);
+                                }
+                                task.NextAddress = Towlocation.LocationCode;
+                                task.Roadway = "TC01";
+                                task.TaskType = (int)TaskInboundTypeEnum.Inbound;
+                                task.TaskState = (int)TaskInStatusEnum.InNew;
+                                task.PalletCode = "text";
+                                task.CurrentAddress = "text";
+                                task.WMSId = 3;
+                                _dt_taskRepositiry.AddData(task);
+                            }
+                        }
+                        if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_DK_isready)//RGV涓婃枡妯″紡锛屼笖涓滆法鏋跺瓙鏈変笂鏂欎俊鍙�
                         {
                             var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "涓滆法鏋跺瓙");
                             task.SourceAddress = station.Row + "-" + station.Column + "-1";
@@ -221,45 +259,9 @@
                                 _dt_taskRepositiry.AddData(task);
                             }
                         }
-                        if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_XK_isready)//RGV涓婃枡妯″紡锛屼笖涓滆法鏋跺瓙鏈変笂鏂欎俊鍙�
-                        {
+                        
 
-                            var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "瑗胯法鏋跺瓙");
-                            task.SourceAddress = station.Row + "-" + station.Column + "-1";
-                            var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress);
-                            if (oldhtytask == null)
-                            {
-                                task.TargetAddress = _locationInfoService.GetInLocation(storagemode.storagemode).LocationCode;
-                                if (OHTJob.oHTReadData.R_DK_isready)
-                                {
-                                    task.Grade = 2;
-                                }
-                                else
-                                {
-                                    task.Grade = 1;
-                                }
-                                task.Remark = (int)MateTypeEnum.ZiChan;
-                                //鏌ユ壘鐩搁偦鐨勫簱浣�
-                                Dt_LocationInfo Towlocation = new Dt_LocationInfo();
-                                var Onelocation = _LocationInfoRepository.QueryFirst(v => v.LocationCode == task.TargetAddress);
-                                if (Onelocation.Depth == 1)
-                                {
-                                    Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 2);
-                                }
-                                else
-                                {
-                                    Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 1);
-                                }
-                                task.NextAddress = Towlocation.LocationCode;
-                                task.Roadway = "TC01";
-                                task.TaskType = (int)TaskInboundTypeEnum.Inbound;
-                                task.TaskState = (int)TaskInStatusEnum.InNew;
-                                task.PalletCode = "text";
-                                task.CurrentAddress = "text";
-                                task.WMSId = 3;
-                                _dt_taskRepositiry.AddData(task);
-                            }
-                        }
+
                         if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_DK_isready)
                         {
                             var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "涓滆法鏋跺瓙");
@@ -270,11 +272,11 @@
                                 task.TargetAddress = _locationInfoService.GetInLocation(storagemode.storagemode).LocationCode;
                                 if (OHTJob.oHTReadData.R_XK_isready)
                                 {
-                                    task.Grade = 2;
+                                    task.Grade = 3;
                                 }
                                 else
                                 {
-                                    task.Grade = 1;
+                                    task.Grade = 2;
                                 }
                                 task.Remark = (int)MateTypeEnum.WaiGou;
                                 //鏌ユ壘鐩搁偦鐨勫簱浣�

--
Gitblit v1.9.3