From dd45231398da022f9cf6ee76f488257fef5c5afe Mon Sep 17 00:00:00 2001
From: xiazhengtongxue <133085197+xiazhengtongxue@users.noreply.github.com>
Date: 星期日, 26 四月 2026 16:13:28 +0800
Subject: [PATCH] feat(AGV): 添加极卷库管理

---
 Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStock.vue                   |  299 +++++++++++++
 Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask_hty.vue             |   52 +-
 Code/WCS/WIDESEAWCS_Client/src/views/Login.vue                            |    2 
 Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/agvTask_hty.vue             |  127 +++--
 Code/WMS/WIDESEA_WMSClient/src/views/Login.vue                            |    2 
 Code/WMS/WIDESEA_WMSClient/src/router/viewGird.js                         |   21 
 Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.jsx             |   21 
 Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json             |    2 
 Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/agvTask_hty.jsx         |   78 +++
 Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask.vue                 |    2 
 Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStock.jsx               |   95 ++++
 Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStockDetail.vue             |  200 ++++++++
 Code/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.jsx              |   31 
 Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_AGV.cs     |    4 
 Code/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs |   67 ++
 Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task_hty.jsx            |  123 +++--
 Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs    |   10 
 Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js                         |    5 
 Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStockDetail.jsx         |   90 +++
 Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/agvTask_hty.jsx         |   92 ++++
 20 files changed, 1,167 insertions(+), 156 deletions(-)

diff --git a/Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/agvTask_hty.jsx b/Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/agvTask_hty.jsx
new file mode 100644
index 0000000..4e1a310
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/agvTask_hty.jsx
@@ -0,0 +1,92 @@
+// 璇ユ墿灞曟枃浠剁敤浜庝换鍔″巻鍙查〉闈㈢殑涓氬姟鎵╁睍銆�
+// 鏂规硶鐩殑锛氱粺涓�棰勭暀鍒楄〃鏌ヨ銆佷繚瀛樺墠鍚庡拰寮圭獥鎵撳紑鏃剁殑鎵╁睍鍏ュ彛锛屼繚鎸佷笌椤圭洰鍐� task 椤甸潰涓�鑷寸殑鎵╁睍鐐广��
+// 鍙傛暟鍚箟锛氱敱妗嗘灦鎸夌敓鍛藉懆鏈熶紶鍏ワ紝鍖呭惈鏌ヨ鍙傛暟銆佽〃鍗曟暟鎹�佽鏁版嵁绛変笂涓嬫枃銆�
+// 杩斿洖鍊艰鏄庯細杩斿洖 true 浠h〃缁х画榛樿琛屼负锛岃繑鍥� false 浠h〃涓柇榛樿琛屼负銆�
+// 寮傚父澶勭悊璇存槑锛氬綋鍓嶆湭寮曞叆澶栭儴璋冪敤锛涜嫢鍚庣画鏂板鎺ュ彛璋冪敤锛岄渶鍦ㄦ柟娉曞唴琛ュ厖 try-catch 骞惰褰曞叧閿笟鍔″弬鏁般��
+
+let extension = {
+  components: {
+    gridHeader: "",
+    gridBody: "",
+    gridFooter: "",
+    modelHeader: "",
+    modelBody: "",
+    modelFooter: "",
+  },
+  tableAction: "",
+  buttons: { view: [], box: [], detail: [] },
+  methods: {
+    // 鏂规硶鐩殑锛氶〉闈㈠垵濮嬪寲鏃舵墽琛岃嚜瀹氫箟閫昏緫銆�
+    // 鍙傛暟锛氭棤銆�
+    // 杩斿洖鍊硷細鏃犮��
+    onInit() {},
+
+    // 鏂规硶鐩殑锛氶〉闈㈠垵濮嬪寲瀹屾垚鍚庢墽琛岃嚜瀹氫箟閫昏緫銆�
+    // 鍙傛暟锛氭棤銆�
+    // 杩斿洖鍊硷細鏃犮��
+    onInited() {},
+
+    // 鏂规硶鐩殑锛氭煡璇㈠墠澶勭悊鏌ヨ鏉′欢銆�
+    // 鍙傛暟锛歱aram 鏌ヨ鍙傛暟瀵硅薄銆�
+    // 杩斿洖鍊硷細true 缁х画鏌ヨ锛宖alse 缁堟鏌ヨ銆�
+    searchBefore(param) {
+      // 绗竴涓繃婊ゆ潯浠�
+      const roadwayFilter1 = {
+        name: "roadway",
+        value: "ZJ1",
+        displayType: "like",
+      };
+
+      // 绗簩涓繃婊ゆ潯浠�
+      const roadwayFilter2 = {
+        name: "roadway",
+        value: "FJ1",
+        displayType: "like",
+      };
+
+      if (!param.wheres) {
+        param.wheres = [];
+      }
+
+      // 灏嗕袱涓繃婊ゆ潯浠舵坊鍔犲埌鏌ヨ鍙傛暟涓�
+      param.wheres.push(roadwayFilter1);
+      param.wheres.push(roadwayFilter2);
+
+      return true;
+      return true;
+    },
+
+    // 鏂规硶鐩殑锛氭煡璇㈠悗澶勭悊杩斿洖缁撴灉銆�
+    // 鍙傛暟锛歳esult 鍚庣杩斿洖鏁版嵁銆�
+    // 杩斿洖鍊硷細true 缁х画娓叉煋锛宖alse 缁堟鍚庣画澶勭悊銆�
+    searchAfter(result) {
+      return true;
+    },
+
+    // 鏂规硶鐩殑锛氭柊澧炲墠鏍¢獙鎴栬ˉ鍏呮彁浜ゅ瓧娈点��
+    // 鍙傛暟锛歠ormData 琛ㄥ崟鎻愪氦瀵硅薄銆�
+    // 杩斿洖鍊硷細true 缁х画鎻愪氦锛宖alse 缁堟鎻愪氦銆�
+    addBefore(formData) {
+      return true;
+    },
+
+    // 鏂规硶鐩殑锛氱紪杈戝墠鏍¢獙鎴栬ˉ鍏呮彁浜ゅ瓧娈点��
+    // 鍙傛暟锛歠ormData 琛ㄥ崟鎻愪氦瀵硅薄銆�
+    // 杩斿洖鍊硷細true 缁х画鎻愪氦锛宖alse 缁堟鎻愪氦銆�
+    updateBefore(formData) {
+      return true;
+    },
+
+    // 鏂规硶鐩殑锛氱偣鍑昏鏃舵墿灞曞鐞嗐��
+    // 鍙傛暟锛歳ow 琛屾暟鎹紝column 鍒楅厤缃紝event 鍘熷浜嬩欢銆�
+    // 杩斿洖鍊硷細鏃犮��
+    rowClick({ row, column, event }) {},
+
+    // 鏂规硶鐩殑锛氱紪杈戝脊绐楁墦寮�鍚庢墽琛屾墿灞曢�昏緫銆�
+    // 鍙傛暟锛歳ow 褰撳墠琛屾暟鎹��
+    // 杩斿洖鍊硷細鏃犮��
+    modelOpenAfter(row) {},
+  },
+};
+
+export default extension;
diff --git a/Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.jsx b/Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.jsx
index 642855b..5581028 100644
--- a/Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.jsx
+++ b/Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.jsx
@@ -30,6 +30,27 @@
     // 鍙傛暟锛歱aram 鏌ヨ鍙傛暟瀵硅薄銆�
     // 杩斿洖鍊硷細true 缁х画鏌ヨ锛宖alse 缁堟鏌ヨ銆�
     searchBefore(param) {
+      const roadwayFilter1 = {
+        name: "roadway",
+        value: "ZJSC1",
+        displayType: "notequal",
+      };
+
+      // 绗簩涓繃婊ゆ潯浠�
+      const roadwayFilter2 = {
+        name: "roadway",
+        value: "FJSC1",
+        displayType: "notequal",
+      };
+
+      if (!param.wheres) {
+        param.wheres = [];
+      }
+
+      // 灏嗕袱涓繃婊ゆ潯浠舵坊鍔犲埌鏌ヨ鍙傛暟涓�
+      param.wheres.push(roadwayFilter1);
+      param.wheres.push(roadwayFilter2);
+      return true;
       return true;
     },
 
diff --git a/Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js b/Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js
index c4df3f2..be3098f 100644
--- a/Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js
+++ b/Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js
@@ -90,6 +90,11 @@
     component: () => import("@/views/taskinfo/agvTask.vue"),
   },
   {
+    path: "/agvTask_hty",
+    name: "agvTask_hty",
+    component: () => import("@/views/taskinfo/agvTask_hty.vue"),
+  },
+  {
     path: "/taskHty",
     name: "taskHty",
     component: () => import("@/views/taskinfo/taskHty.vue"),
diff --git a/Code/WCS/WIDESEAWCS_Client/src/views/Login.vue b/Code/WCS/WIDESEAWCS_Client/src/views/Login.vue
index 9967400..327b738 100644
--- a/Code/WCS/WIDESEAWCS_Client/src/views/Login.vue
+++ b/Code/WCS/WIDESEAWCS_Client/src/views/Login.vue
@@ -95,7 +95,7 @@
     const loading = ref(false);
     const codeImgSrc = ref('');
     const userInfo = reactive({
-      userName: 'admin',
+      userName: 'QKA02',
       password: '123456',
       verificationCode: '1234',
       UUID: undefined
diff --git a/Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue b/Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/agvTask_hty.vue
similarity index 72%
copy from Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue
copy to Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/agvTask_hty.vue
index 8beaf41..5db3dc6 100644
--- a/Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue
+++ b/Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/agvTask_hty.vue
@@ -1,4 +1,3 @@
-
 <template>
   <view-grid
     ref="grid"
@@ -13,55 +12,75 @@
   >
   </view-grid>
 </template>
-    <script>
-import extend from "@/extension/taskinfo/agvTask.jsx";
+<script>
+import extend from "@/extension/taskinfo/agvTask_hty.jsx";
 import { ref, defineComponent } from "vue";
+
 export default defineComponent({
   setup() {
     const table = ref({
       key: "taskId",
       footer: "Foots",
-      cnName: "浠诲姟淇℃伅",
-      name: "task",
-      url: "/Task/",
-      sortName: "CreateDate",
+      cnName: "浠诲姟鍘嗗彶",
+      name: "taskHty",
+      url: "/Task_Hty/",
+      sortName: "insertTime",
     });
+
     const editFormFields = ref({});
     const editFormOptions = ref([]);
+
     const searchFormFields = ref({
       taskNum: "",
       palletCode: "",
       roadway: "",
-      taskStatus: "",
-      taskType: "",
       sourceAddress: "",
       targetAddress: "",
       currentAddress: "",
       nextAddress: "",
       creater: "",
       createDate: "",
+      operateType: "",
+      insertTime: "",
     });
+
     const searchFormOptions = ref([
       [
         { title: "浠诲姟鍙�", field: "taskNum", type: "int" },
-        { title: "鎵樼洏缂栧彿", field: "palletCode", type: "like" },
-        { title: "鍒涘缓浜�", field: "creater", type: "like" },
-      ],
-      [
-        { title: "浠诲姟绫诲瀷",field: "taskType",type: "selectList",dataKey: "taskTypeEnum",data: [],},
-        { title: "浠诲姟鐘舵��",field: "taskStatus",type: "selectList",dataKey: "taskStatusEnum",data: [],},
-        { title: "宸烽亾鍙�", field: "roadway", type: "like" },
+        { title: "鎵樼洏缂栫爜", field: "palletCode", type: "like" },
+        {
+          title: "浠诲姟绫诲瀷",
+          field: "taskType",
+          type: "selectList",
+          dataKey: "taskType",
+          data: [],
+        },
+        {
+          title: "浠诲姟鐘舵��",
+          field: "taskStatus",
+          type: "selectList",
+          dataKey: "taskState",
+          data: [],
+        },
       ],
       [
         { title: "璧峰鍦板潃", field: "sourceAddress", type: "like" },
         { title: "鐩爣鍦板潃", field: "targetAddress", type: "like" },
-        { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
+        { title: "褰撳墠浣嶇疆", field: "currentAddress", type: "like" },
+        { title: "涓嬩竴浣嶇疆", field: "nextAddress", type: "like" },
+      ],
+      [
+        { title: "宸烽亾鍙�", field: "roadway", type: "like" },
+        { title: "鍒涘缓浜�", field: "creater", type: "like" },
+        { title: "鎿嶄綔绫诲瀷", field: "operateType", type: "like" },
+        { title: "绉诲叆鍘嗗彶鏃堕棿", field: "insertTime", type: "datetime" },
       ],
     ]);
+
     const columns = ref([
       {
         field: "taskId",
-        title: "taskId",
+        title: "TaskId",
         type: "int",
         width: 90,
         hidden: true,
@@ -73,43 +92,43 @@
         field: "taskNum",
         title: "浠诲姟鍙�",
         type: "int",
-        width: 120,
+        width: 100,
         align: "left",
       },
       {
         field: "palletCode",
-        title: "鎵樼洏缂栧彿",
+        title: "鎵樼洏缂栫爜",
         type: "string",
-        width: 160,
+        width: 150,
         align: "left",
       },
       {
         field: "roadway",
         title: "宸烽亾鍙�",
         type: "string",
-        width: 120,
+        width: 90,
         align: "left",
       },
       {
         field: "taskType",
         title: "浠诲姟绫诲瀷",
         type: "int",
-        width: 120,
+        width: 90,
         align: "left",
-        bind: { key: "taskTypeEnum", data: [] },
+        bind: { key: "taskType", data: [] },
       },
       {
         field: "taskStatus",
         title: "浠诲姟鐘舵��",
         type: "int",
-        width: 150,
+        width: 120,
         align: "left",
-        bind: { key: "taskStatusEnum", data: [] },
+        bind: { key: "taskState", data: [] },
       },
       {
         field: "sourceAddress",
         title: "璧峰鍦板潃",
-        type: "int",
+        type: "string",
         width: 120,
         align: "left",
       },
@@ -135,48 +154,39 @@
         align: "left",
       },
       {
-        field: "exceptionMessage",
-        title: "寮傚父淇℃伅",
-        type: "string",
+        field: "grade",
+        title: "浼樺厛绾�",
+        type: "int",
         width: 90,
         align: "left",
       },
-      // {
-      //   field: "grade",
-      //   title: "浼樺厛绾�",
-      //   type: "int",
-      //   width: 80,
-      //   align: "left",
-      // },
       {
-        field: "depth",
-        title: "娣卞害",
+        field: "sourceId",
+        title: "鍘熻〃涓婚敭",
         type: "int",
-        width: 80,
+        width: 100,
         align: "left",
-        bind: { key: "locationDepth", data: [] },
       },
       {
-        field: "dispatchertime",
-        title: "浠诲姟涓嬪彂鏃堕棿",
-        type: "datetime",
-        width: 160,
-        align: "left",
-        // hidden:true,
-      },
-      {
-        field: "wMSId",
-        title: "WMS浠诲姟涓婚敭",
-        type: "int",
+        field: "operateType",
+        title: "鎿嶄綔绫诲瀷",
+        type: "string",
         width: 120,
         align: "left",
-        hidden: true,
+      },
+      {
+        field: "insertTime",
+        title: "绉诲叆鍘嗗彶鏃堕棿",
+        type: "datetime",
+        width: 170,
+        align: "left",
+        sort: true,
       },
       {
         field: "creater",
         title: "鍒涘缓浜�",
         type: "string",
-        width: 90,
+        width: 100,
         align: "left",
       },
       {
@@ -204,17 +214,19 @@
         field: "remark",
         title: "澶囨敞",
         type: "string",
-        width: 100,
+        width: 120,
         align: "left",
-        hidden: true,
       },
     ]);
+
     const detail = ref({
-      cnName: "#detailCnName",
+      cnName: "",
       table: "",
       columns: [],
       sortName: "",
+      key: "",
     });
+
     return {
       table,
       extend,
@@ -228,4 +240,3 @@
   },
 });
 </script>
-    
\ No newline at end of file
diff --git a/Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStock.jsx b/Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStock.jsx
new file mode 100644
index 0000000..7b3bae8
--- /dev/null
+++ b/Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStock.jsx
@@ -0,0 +1,95 @@
+/*****************************************************************************************
+ **  Author:jxx 2022
+ **  QQ:283591387
+ **瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+ **甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+ **鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+ *****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: "",
+    gridBody: "",
+    gridFooter: "",
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: "",
+    modelBody: "",
+    modelFooter: "",
+  },
+  tableAction: "", //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+    //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {
+      //妗嗘灦鍒濆鍖栭厤缃墠锛�
+      //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+      //   this.buttons.unshift({  //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+      //     name: '鎸夐挳', //鎸夐挳鍚嶇О
+      //     icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+      //     type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+      //     onClick: function () {
+      //       this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+      //     }
+      //   });
+      //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+      // this.boxOptions.labelWidth = 150;
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      const warehouseIdFilter1 = {
+        name: "warehouseId",
+        value: "6",
+        displayType: "ThanOrEqual",
+      };
+
+    //   // 绗簩涓繃婊ゆ潯浠�
+    //   const warehouseIdFilter2 = {
+    //     name: "warehouseId",
+    //     value: "7",
+    //     displayType: "int",
+    //   };
+
+      if (!param.wheres) {
+        param.wheres = [];
+      }
+
+      // 灏嗕袱涓繃婊ゆ潯浠舵坊鍔犲埌鏌ヨ鍙傛暟涓�
+      param.wheres.push(warehouseIdFilter1);
+    //   param.wheres.push(warehouseIdFilter2);
+      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/Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStockDetail.jsx b/Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStockDetail.jsx
new file mode 100644
index 0000000..5a3970e
--- /dev/null
+++ b/Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStockDetail.jsx
@@ -0,0 +1,90 @@
+/*****************************************************************************************
+ **  Author:jxx 2022
+ **  QQ:283591387
+ **瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+ **甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+ **鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+ *****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: "",
+    gridBody: "",
+    gridFooter: "",
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: "",
+    modelBody: "",
+    modelFooter: "",
+  },
+  tableAction: "", //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+    //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {
+      //妗嗘灦鍒濆鍖栭厤缃墠锛�
+      //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+      //   this.buttons.unshift({  //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+      //     name: '鎸夐挳', //鎸夐挳鍚嶇О
+      //     icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+      //     type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+      //     onClick: function () {
+      //       this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+      //     }
+      //   });
+      //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+      // this.boxOptions.labelWidth = 150;
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      const remarkFilter = {
+        name: "remark",
+        value: "鏋佸嵎搴�",
+        displayType: "like",
+      };
+
+
+      if (!param.wheres) {
+        param.wheres = [];
+      }
+
+      // 灏嗕袱涓繃婊ゆ潯浠舵坊鍔犲埌鏌ヨ鍙傛暟涓�
+      param.wheres.push(remarkFilter);
+      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/Code/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.jsx b/Code/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.jsx
index d76739f..fe852c1 100644
--- a/Code/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.jsx
+++ b/Code/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.jsx
@@ -3,9 +3,9 @@
 let extension = {
   components: {
     //鏌ヨ鐣岄潰鎵╁睍缁勪欢
-    gridHeader: '',
-    gridBody: '',
-    gridFooter: '',
+    gridHeader: "",
+    gridBody: "",
+    gridFooter: "",
     //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
     modelHeader: "",
     modelBody: "",
@@ -25,24 +25,30 @@
         render: (h, { row, column, index }) => {
           return (
             <div>
-              
               <el-button
                 type="primary"
                 size="small"
-                onClick={($e) => { this.handleInbound(row); }}
-              >杩涚珯</el-button>
+                onClick={($e) => {
+                  this.handleInbound(row);
+                }}
+              >
+                杩涚珯
+              </el-button>
               <el-button
                 type="success"
                 size="small"
                 style="margin-left: 8px"
-                onClick={($e) => { this.handleOutbound(row); }}
-              >鍑虹珯</el-button>
+                onClick={($e) => {
+                  this.handleOutbound(row);
+                }}
+              >
+                鍑虹珯
+              </el-button>
             </div>
           );
         },
       });
     },
-
 
     // 鎵樼洏杩涚珯鎿嶄綔
     async handleInbound(row) {
@@ -114,15 +120,14 @@
       }
     },
 
-
     onInited() {
       // 妗嗘灦鍒濆鍖栭厤缃悗
     },
     searchBefore(param) {
       const stockStatusFilter = {
-        name: "stockStatus",
-        value: "1",
-        displayType: "notequal",
+        name: "LocationId",
+        value: "0",
+        displayType: "notequal"
       };
       if (!param.wheres) {
         param.wheres = [];
diff --git a/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/agvTask_hty.jsx b/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/agvTask_hty.jsx
new file mode 100644
index 0000000..fe078a0
--- /dev/null
+++ b/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/agvTask_hty.jsx
@@ -0,0 +1,78 @@
+//姝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锛屽垯涓嶄細鎵ц鏌ヨ
+
+      // 绗竴涓繃婊ゆ潯浠�
+      const roadwayFilter1 = {
+        name: "roadway",
+        value: "ZJSC1",
+        displayType: "like",
+      };
+
+      // 绗簩涓繃婊ゆ潯浠�
+      const roadwayFilter2 = {
+        name: "roadway",
+        value: "FJSC1",
+        displayType: "like",
+      };
+
+      if (!param.wheres) {
+        param.wheres = [];
+      }
+
+      // 灏嗕袱涓繃婊ゆ潯浠舵坊鍔犲埌鏌ヨ鍙傛暟涓�
+      param.wheres.push(roadwayFilter1);
+      param.wheres.push(roadwayFilter2);
+      
+      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/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task_hty.jsx b/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task_hty.jsx
index 24e1d94..ce692dd 100644
--- a/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task_hty.jsx
+++ b/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task_hty.jsx
@@ -1,58 +1,75 @@
-
 //姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
 
 let extension = {
-    components: {
-      //鏌ヨ鐣岄潰鎵╁睍缁勪欢
-      gridHeader: '',
-      gridBody: '',
-      gridFooter: '',
-      //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
-      modelHeader: '',
-      modelBody: '',
-      modelFooter: ''
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: "",
+    gridBody: "",
+    gridFooter: "",
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: "",
+    modelBody: "",
+    modelFooter: "",
+  },
+  tableAction: "", //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+    //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {},
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
     },
-    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)
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      const roadwayFilter1 = {
+        name: "roadway",
+        value: "ZJSC1",
+        displayType: "notequal",
+      };
+
+      // 绗簩涓繃婊ゆ潯浠�
+      const roadwayFilter2 = {
+        name: "roadway",
+        value: "FJSC1",
+        displayType: "notequal",
+      };
+
+      if (!param.wheres) {
+        param.wheres = [];
       }
-    }
-  };
-  export default extension;
-  
\ No newline at end of file
+
+      // 灏嗕袱涓繃婊ゆ潯浠舵坊鍔犲埌鏌ヨ鍙傛暟涓�
+      param.wheres.push(roadwayFilter1);
+      param.wheres.push(roadwayFilter2);
+      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/Code/WMS/WIDESEA_WMSClient/src/router/viewGird.js b/Code/WMS/WIDESEA_WMSClient/src/router/viewGird.js
index 257c9b1..e2bc776 100644
--- a/Code/WMS/WIDESEA_WMSClient/src/router/viewGird.js
+++ b/Code/WMS/WIDESEA_WMSClient/src/router/viewGird.js
@@ -95,10 +95,25 @@
     path: '/task_hty',
     name: 'task_hty',
     component: () => import('@/views/taskinfo/task_hty.vue')
+  },
+  {
+    path: '/agvTask',
+    name: 'agvTask',
+    component: () => import('@/views/taskinfo/agvTask.vue')
+  },
+  {
+    path: '/agvStock',
+    name: 'agvStock',
+    component: () => import('@/views/stock/agvStock.vue')
   },{
-    path: '/task_agv',
-    name: 'task_agv',
-    component: () => import('@/views/taskinfo/task_agv.vue')
+    path: '/agvStockDetail',
+    name: 'agvStockDetail',
+    component: () => import('@/views/stock/agvStockDetail.vue')
+  },
+  {
+    path: '/agvTask_hty',
+    name: 'agvTask_hty',
+    component: () => import('@/views/taskinfo/agvTask_hty.vue')
   },
   {
     path: '/groupPalle',
diff --git a/Code/WMS/WIDESEA_WMSClient/src/views/Login.vue b/Code/WMS/WIDESEA_WMSClient/src/views/Login.vue
index d303005..c22b131 100644
--- a/Code/WMS/WIDESEA_WMSClient/src/views/Login.vue
+++ b/Code/WMS/WIDESEA_WMSClient/src/views/Login.vue
@@ -117,7 +117,7 @@
     const loading = ref(false);
     const codeImgSrc = ref("");
     const userInfo = reactive({
-      userName: "admin",
+      userName: "QKA02",
       password: "123456",
       verificationCode: "1234",
       UUID: undefined,
diff --git a/Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStock.vue b/Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStock.vue
new file mode 100644
index 0000000..de1d71c
--- /dev/null
+++ b/Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStock.vue
@@ -0,0 +1,299 @@
+<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/stock/agvStock.jsx";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+    setup() {
+        const table = ref({
+            key: "id",
+            footer: "Foots",
+            cnName: "鎵樼洏淇℃伅",
+            name: "stockInfo",
+            url: "/StockInfo/",
+            sortName: "id",
+        });
+        const editFormFields = ref({
+            palletCode: "",
+            locationCode: "",
+            stockStatus: "",
+            palletType: "",
+            warehouseId: "",
+            roadway: "",
+
+        });
+        const editFormOptions = ref([
+            [
+                { field: 'palletCode', title: '鎵樼洏缂栧彿', type: 'string' },
+                { field: 'locationCode', title: '璐т綅缂栧彿', type: 'string' },
+                { field: "stockStatus", title: '搴撳瓨鐘舵��', type: 'select', dataKey: 'stockStatusEmun', data: [] }
+            ]
+        ]);
+        const searchFormFields = ref({
+            palletCode: "",
+            locationCode: "",
+            // roadway: "",
+            warehouseId: "",
+        });
+        const searchFormOptions = ref([
+            [
+                { title: "鎵樼洏缂栧彿", field: "palletCode", type: 'like' },
+                { title: "璐т綅缂栧彿", field: "locationCode", type: 'like' },
+                // { title: "宸烽亾缂栧彿", field: "roadway", type: 'string' },
+                { title: "浠撳簱", field: "warehouseId", type: 'select', dataKey: "warehousetype", data: [] }
+            ],
+        ]);
+        const columns = ref([
+            {
+                field: "id",
+                title: "Id",
+                type: "int",
+                width: 90,
+                hidden: true,
+                readonly: true,
+                require: true,
+                align: "left",
+            }, {
+                field: "warehouseId",
+                title: "浠撳簱缂栧彿",
+                type: "int",
+                width: 80,
+                align: "left",
+                bind: { key: "warehouseEnum", data: [] },
+            },
+            {
+                field: "palletCode",
+                title: "鎵樼洏缂栧彿",
+                type: "string",
+                width: 120,
+                align: "left",
+                link: true,
+            },
+            // {
+            //     field: "roadway",
+            //     title: "宸烽亾鍙�",
+            //     type: "string",
+            //     width: 70,
+            //     align: "left",
+            // },
+            {
+                field: "locationCode",
+                title: "璐т綅缂栧彿",
+                type: "string",
+                width: 120,
+                align: "left",
+            },
+            {
+                field: "palletType",
+                title: "鎵樼洏绫诲瀷",
+                type: "string",
+                width: 150,
+                align: "center",
+                sort: true,
+                bind: { key: "palletTypesEmun", data: [] }
+            }, {
+                field: "stockStatus",
+                title: "搴撳瓨鐘舵��",
+                type: "string",
+                width: 150,
+                align: "left",
+                sort: true,
+                bind: { key: "stockStatusEmun", data: [] },
+            },
+            {
+                field: "warehouseId",
+                title: "浠撳簱",
+                type: "select",
+                width: 100,
+                align: "left",
+                bind: { key: "warehousetype", data: [] },
+            },
+            {
+                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",
+                hidden: true
+            },
+            {
+                field: "modifyDate",
+                title: "淇敼鏃堕棿",
+                type: "datetime",
+                width: 160,
+                align: "left",
+                hidden: true
+            },
+            {
+                field: "remark",
+                title: "澶囨敞",
+                type: "string",
+                width: 100,
+                align: "left",
+                hidden: true
+            },
+        ]);
+        const detail = ref({
+            cnName: "鎵樼洏璐х墿鏄庣粏",
+            table: "StockInfoDetail",
+            columns: [
+                {
+                    field: "id",
+                    title: "Id",
+                    type: "int",
+                    width: 90,
+                    hidden: true,
+                    require: true,
+                    align: "left",
+                },
+                {
+                    field: "stockId",
+                    title: "搴撳瓨淇℃伅涓婚敭",
+                    type: "string",
+                    width: 90,
+                    hidden: true,
+                    readonly: true,
+                    require: true,
+                    align: "left",
+                },
+                {
+                    field: "materielCode",
+                    title: "鐗╂枡缂栧彿",
+                    type: "string",
+                    width: 150,
+                    require: true,
+                    align: "left",
+                    sortable: true,
+                    edit: { type: "" },
+                },
+                {
+                    field: "materielName",
+                    title: "鐗╂枡鍚嶇О",
+                    type: "string",
+                    width: 150,
+                    require: true,
+                    align: "left",
+                    edit: { type: "" },
+                },
+                {
+                    field: "orderNo",
+                    title: "鍗曟嵁缂栧彿",
+                    type: "string",
+                    width: 120,
+                    require: true,
+                    align: "left",
+                    edit: { type: "" },
+                },
+                {
+                    field: "batchNo",
+                    title: "鎵规鍙�",
+                    type: "string",
+                    width: 120,
+                    align: "left",
+                    edit: { type: "" },
+                },
+                {
+                    field: "serialNumber",
+                    title: "搴忓垪鍙�",
+                    type: "string",
+                    width: 120,
+                    align: "left",
+                    edit: { type: "" },
+                },
+                {
+                    field: "stockQuantity",
+                    title: "搴撳瓨鏁伴噺",
+                    type: "decimal",
+                    width: 100,
+                    require: true,
+                    align: "right",
+                    edit: { type: "number" },
+                },
+                {
+                    field: "outboundQuantity",
+                    title: "鍑哄簱鏁伴噺",
+                    type: "decimal",
+                    width: 100,
+                    align: "right",
+                    edit: { type: "number" },
+                },
+                {
+                    field: "status",
+                    title: "搴撳瓨鏄庣粏鐘舵��",
+                    type: "string",
+                    width: 120,
+                    require: true,
+                    align: "left",
+                    edit: { type: "select", key: "stockStatusEmun" },
+                },
+                {
+                    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",
+                    edit: { type: "textarea" },
+                },
+            ],
+            sortName: "createDate",
+            key: "id",
+        });
+        return {
+            table,
+            extend,
+            editFormFields,
+            editFormOptions,
+            searchFormFields,
+            searchFormOptions,
+            columns,
+            detail,
+        };
+    },
+});
+</script>
\ No newline at end of file
diff --git a/Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStockDetail.vue b/Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStockDetail.vue
new file mode 100644
index 0000000..556360e
--- /dev/null
+++ b/Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStockDetail.vue
@@ -0,0 +1,200 @@
+<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/stock/agvStockDetail.jsx";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    const table = ref({
+      key: "id",
+      footer: "Foots",
+      cnName: "鎵樼洏璐х墿鏄庣粏",
+      name: "stockInfoDetail",
+      url: "/StockInfoDetail/",
+      sortName: "id",
+    });
+    const editFormFields = ref({
+      deviceCode: "",
+      deviceName: "",
+      deviceType: "",
+      deviceStatus: "",
+      deviceIp: "",
+      devicePort: "",
+      devicePlcType: "",
+      deviceRemark: "",
+    });
+    const editFormOptions = ref([
+      [
+        {
+          title: "鐗╂枡缂栧彿",
+          required: true,
+          field: "materielCode",
+          type: "string",
+        },
+        {
+          title: "鍗曟嵁缂栧彿",
+          required: true,
+          field: "materielName",
+          type: "string",
+        },
+        {
+          title: "鎵规鍙�",
+          required: true,
+          field: "orderNo",
+          type: "string",
+        },
+        {
+          title: "搴忓垪鍙�",
+          required: true,
+          field: "serialNumber",
+          type: "string",
+        },
+      ],
+      
+    ]);
+    const searchFormFields = ref({
+      materielCode: "",
+      materielName: "",
+      orderNo: "",
+    });
+    const searchFormOptions = ref([
+      [
+        { title: "鐗╂枡缂栧彿", field: "materielCode" },
+        { title: "鐗╂枡鍚嶇О", field: "materielName" },
+        { title: "鍗曟嵁缂栧彿", field: "orderNo" },
+      ],
+    ]);
+    const columns = ref([
+      {
+        field: "id",
+        title: "Id",
+        type: "int",
+        width: 90,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left",
+      },
+      {
+        field: "stockId",
+        title: "鎵樼洏ID",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "materielCode",
+        title: "鐗╂枡缂栧彿",
+        type: "string",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "materielName",
+        title: "鐗╂枡鍚嶇О",
+        type: "string",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "orderNo",
+        title: "鍗曟嵁缂栧彿",
+        type: "decimal",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "batchNo",
+        title: "鎵规鍙�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "serialNumber",
+        title: "搴忓垪鍙�",
+        type: "int",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "stockQuantity",
+        title: "搴撳瓨鏁伴噺",
+        type: "string",
+        width: 200,
+        align: "left",
+      },
+      {
+        field: "outboundQuantity",
+        title: "鍑哄簱鏁伴噺",
+        type: "string",
+        width: 180,
+        align: "left",
+      },
+      {
+        field: "status",
+        title: "搴撳瓨鏄庣粏鐘舵��",
+        type: "string",
+        width: 120,
+        align: "left",
+        bind: { key: "stockStatusEmun", data: [] },
+      },
+      {
+        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: "#detailCnName",
+      table: "",
+      columns: [],
+      sortName: "",
+    });
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail,
+    };
+  },
+});
+</script>
\ No newline at end of file
diff --git a/Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue b/Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask.vue
similarity index 98%
rename from Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue
rename to Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask.vue
index 8beaf41..7db1240 100644
--- a/Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue
+++ b/Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask.vue
@@ -21,7 +21,7 @@
     const table = ref({
       key: "taskId",
       footer: "Foots",
-      cnName: "浠诲姟淇℃伅",
+      cnName: "鏋佸嵎搴撲换鍔′俊鎭�",
       name: "task",
       url: "/Task/",
       sortName: "CreateDate",
diff --git a/Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue b/Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask_hty.vue
similarity index 87%
copy from Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue
copy to Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask_hty.vue
index 8beaf41..ee750d9 100644
--- a/Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue
+++ b/Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask_hty.vue
@@ -14,17 +14,17 @@
   </view-grid>
 </template>
     <script>
-import extend from "@/extension/taskinfo/agvTask.jsx";
+import extend from "@/extension/taskinfo/agvTask_hty.jsx";
 import { ref, defineComponent } from "vue";
 export default defineComponent({
   setup() {
     const table = ref({
       key: "taskId",
       footer: "Foots",
-      cnName: "浠诲姟淇℃伅",
-      name: "task",
-      url: "/Task/",
-      sortName: "CreateDate",
+      cnName: "鏋佸嵎搴撳巻鍙蹭俊鎭�",
+      name: "task_hty",
+      url: "/Task_Hty/",
+      sortName: "taskId",
     });
     const editFormFields = ref({});
     const editFormOptions = ref([]);
@@ -42,13 +42,13 @@
       createDate: "",
     });
     const searchFormOptions = ref([
-      [
+    [
         { title: "浠诲姟鍙�", field: "taskNum", type: "int" },
         { title: "鎵樼洏缂栧彿", field: "palletCode", type: "like" },
         { title: "鍒涘缓浜�", field: "creater", type: "like" },
       ],
       [
-        { title: "浠诲姟绫诲瀷",field: "taskType",type: "selectList",dataKey: "taskTypeEnum",data: [],},
+        { title: "浠诲姟绫诲瀷",field: "taskType",type: "selectList",dataKey: "taskType",data: [],},
         { title: "浠诲姟鐘舵��",field: "taskStatus",type: "selectList",dataKey: "taskStatusEnum",data: [],},
         { title: "宸烽亾鍙�", field: "roadway", type: "like" },
       ],
@@ -89,6 +89,12 @@
         type: "string",
         width: 120,
         align: "left",
+      },{
+        field: "operateType",
+        title: "鎿嶄綔绫诲瀷",
+        type: "string",
+        width: 120,
+        align: "left"
       },
       {
         field: "taskType",
@@ -120,26 +126,27 @@
         width: 120,
         align: "left",
       },
-      {
-        field: "currentAddress",
-        title: "褰撳墠浣嶇疆",
-        type: "string",
-        width: 120,
-        align: "left",
-      },
-      {
-        field: "nextAddress",
-        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",
+      // },
       {
         field: "exceptionMessage",
         title: "寮傚父淇℃伅",
         type: "string",
         width: 90,
         align: "left",
+        hidden: true,
       },
       // {
       //   field: "grade",
@@ -160,9 +167,8 @@
         field: "dispatchertime",
         title: "浠诲姟涓嬪彂鏃堕棿",
         type: "datetime",
-        width: 160,
+        width: 150,
         align: "left",
-        // hidden:true,
       },
       {
         field: "wMSId",
diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs
index d8b39a4..4a3a486 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs
@@ -64,5 +64,15 @@
 
         [Description("鍏ュ簱鎾ら攢")]
         鍏ュ簱鎾ら攢 = 199,
+    }
+    /// <summary>
+    /// 鎵樼洏绫诲瀷
+    /// </summary>
+    public enum PalletTypesEmun
+    {
+        [Description("妯″垏娈�")]
+        妯″垏娈� = 1,
+        [Description("鍗风粫娈�")]
+        鍗风粫娈� = 2,
     }
 }
diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
index 7424711..4c933a4 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
@@ -285,6 +285,73 @@
                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                         }
                         break;
+                    case "palletTypesEmun":
+                        {
+                            List<object> data = new List<object>();
+
+                            {
+                                Type type = typeof(PalletTypesEmun);
+                                List<int> enums = Enum.GetValues(typeof(PalletTypesEmun)).Cast<int>().ToList();
+                                int index = 0;
+                                foreach (var item in enums)
+                                {
+                                    FieldInfo? fieldInfo = typeof(PalletTypesEmun).GetField(((PalletTypesEmun)item).ToString());
+                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                    if (description != null)
+                                    {
+                                        data.Add(new { key = item.ToString(), value = description.Description });
+                                    }
+                                    else
+                                    {
+                                        data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    }
+                                    index++;
+                                }
+                            }
+
+                            {
+                                Type type = typeof(TaskOutStatusEnum);
+                                List<int> enums = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().ToList();
+                                int index = 0;
+                                foreach (var item in enums)
+                                {
+                                    FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString());
+                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                    if (description != null)
+                                    {
+                                        data.Add(new { key = item.ToString(), value = description.Description });
+                                    }
+                                    else
+                                    {
+                                        data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    }
+                                    index++;
+                                }
+                            }
+
+                            {
+                                Type type = typeof(TaskRobotStatusEnum);
+                                List<int> enums = Enum.GetValues(typeof(TaskRobotStatusEnum)).Cast<int>().ToList();
+                                int index = 0;
+                                foreach (var item in enums)
+                                {
+                                    FieldInfo? fieldInfo = typeof(TaskRobotStatusEnum).GetField(((TaskRobotStatusEnum)item).ToString());
+                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                    if (description != null)
+                                    {
+                                        data.Add(new { key = item.ToString(), value = description.Description });
+                                    }
+                                    else
+                                    {
+                                        data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    }
+                                    index++;
+                                }
+                            }
+
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
                     case "taskStatusEnum":
                         {
                             List<object> data = new List<object>();
diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_AGV.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_AGV.cs
index b59b92f..023d460 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_AGV.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_AGV.cs
@@ -317,7 +317,7 @@
                 InboundOrderRowNo = 1,
                 Creater = StockConstants.AGV_USER,
                 CreateDate = DateTime.Now,
-                Remark = $"AGV鍏ュ簱浠诲姟鍒涘缓锛屼换鍔″彿锛歿dto.TaskId}"
+                Remark = $"鏋佸嵎搴揂GV鍏ュ簱浠诲姟鍒涘缓锛屼换鍔″彿锛歿dto.TaskId}"
             };
 
             // 鍒涘缓搴撳瓨涓昏褰�
@@ -329,7 +329,7 @@
                 StockStatus = (int)StockStatusEmun.鍏ュ簱纭,
                 Creater = StockConstants.AGV_USER,
                 CreateDate = DateTime.Now,
-                Remark = $"AGV鍏ュ簱浠诲姟鍒涘缓锛屼换鍔″彿锛歿dto.TaskId}",
+                Remark = $"鏋佸嵎搴揂GV鍏ュ簱浠诲姟鍒涘缓锛屼换鍔″彿锛歿dto.TaskId}",
                 Details = new List<Dt_StockInfoDetail> { details }
             };
 
diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json b/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
index bdc746e..e3428ef 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
@@ -28,7 +28,7 @@
       "Microsoft.AspNetCore.Mvc.ModelBinding": "Warning"
     }
   },
-  "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,locationDepth,stockChangeType,outStockStatus,receiveOrderTypeEnum,authorityScope,authorityScopes,locationChangeType,warehouses,suppliers,taskType,receiveStatus,purchaseType,purchaseOrderStatus,printStatus,warehouseEnum",
+  "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,locationDepth,stockChangeType,outStockStatus,receiveOrderTypeEnum,authorityScope,authorityScopes,locationChangeType,warehouses,suppliers,taskType,receiveStatus,purchaseType,purchaseOrderStatus,printStatus,warehouseEnum,palletTypesEmun",
   "AllowedHosts": "*",
   "ConnectionStringsEncryption": false,
   "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue

--
Gitblit v1.9.3