From a54f85deb9d8c8778ec77ae115b8db4cabc934be Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 10 九月 2024 15:24:29 +0800
Subject: [PATCH] #

---
 zy-asrs-admin/src/views/base/taskSts/index.vue               |   15 
 zy-asrs-admin/src/views/loc/loc/index.vue                    |   19 
 zy-asrs-admin/src/views/base/loc/index.vue                   |   15 
 zy-asrs-admin/src/views/system/dept/index.vue                |   15 
 zy-asrs-admin/src/views/base/zpalletBarcode/index.vue        |   15 
 zy-asrs-admin/src/components/orderLog/index.vue              |   17 
 zy-asrs-admin/src/views/loc/locMap/locMap.vue                |   16 
 zy-asrs-admin/src/views/in/waitPakin/index.vue               |   20 
 zy-asrs-admin/src/views/system/user/index.vue                |   15 
 zy-asrs-admin/src/components/locDetl/selectLocDetl/index.vue |    6 
 zy-asrs-admin/src/views/base/locAreaType/index.vue           |   15 
 zy-asrs-framework/src/main/resources/templates/vue/Index.txt |   14 
 zy-asrs-admin/src/views/strategy/circleRule/index.vue        |  170 +++---
 zy-asrs-admin/src/views/order/orderLog/index.vue             |   15 
 zy-asrs-admin/src/views/config/matField/index.vue            |   15 
 zy-asrs-admin/src/views/task/taskDetl/index.vue              |   17 
 zy-asrs-admin/src/views/base/locType/index.vue               |   15 
 zy-asrs-admin/src/views/base/orderType/index.vue             |   15 
 zy-asrs-admin/src/views/strategy/suggestLocRule/index.vue    |   16 
 zy-asrs-admin/src/views/task/task/index.vue                  |   16 
 zy-asrs-admin/src/views/strategy/lanewayRule/index.vue       |   15 
 zy-asrs-admin/src/views/system/host/index.vue                |   15 
 zy-asrs-admin/src/views/in/waitPakinLog/index.vue            |   16 
 zy-asrs-admin/src/views/out/wave/index.vue                   |   18 
 zy-asrs-admin/src/views/base/locSts/index.vue                |   15 
 zy-asrs-admin/src/views/base/operationPort/index.vue         |  113 ++--
 zy-asrs-admin/src/views/order/orderDetl/index.vue            |  197 +++---
 zy-asrs-admin/src/views/system/operationRecord/index.vue     |   15 
 zy-asrs-admin/src/views/base/tag/index.vue                   |   15 
 zy-asrs-admin/src/views/strategy/shelvesRule/index.vue       |   16 
 zy-asrs-admin/src/components/order/index.vue                 |   15 
 zy-asrs-admin/src/views/base/mat/index.vue                   |   18 
 zy-asrs-admin/src/views/base/locTypeBind/index.vue           |   15 
 zy-asrs-admin/src/views/base/taskType/index.vue              |   15 
 zy-asrs-admin/src/views/system/role/index.vue                |   15 
 zy-asrs-admin/src/views/order/orderDetlLog/index.vue         |  197 +++---
 zy-asrs-admin/src/views/task/taskLog/index.vue               |   17 
 zy-asrs-admin/src/views/system/dict/index.vue                |   15 
 zy-asrs-admin/src/views/task/taskDetlLog/index.vue           |   17 
 zy-asrs-admin/src/views/system/language/index.vue            |   15 
 zy-asrs-admin/src/views/base/orderSettle/index.vue           |   15 
 zy-asrs-admin/src/views/strategy/waitPakinRule/index.vue     |  128 ++--
 zy-asrs-admin/src/views/strategy/orderNoRule/index.vue       |  156 +++--
 zy-asrs-admin/src/views/system/userLogin/index.vue           |   15 
 zy-asrs-admin/src/views/base/locArea/index.vue               |   15 
 zy-asrs-admin/src/views/loc/locDetl/index.vue                |   18 
 zy-asrs-admin/src/views/system/menu/index.vue                |   14 
 47 files changed, 923 insertions(+), 673 deletions(-)

diff --git a/zy-asrs-admin/src/components/locDetl/selectLocDetl/index.vue b/zy-asrs-admin/src/components/locDetl/selectLocDetl/index.vue
index fb6a698..5ca33c8 100644
--- a/zy-asrs-admin/src/components/locDetl/selectLocDetl/index.vue
+++ b/zy-asrs-admin/src/components/locDetl/selectLocDetl/index.vue
@@ -167,6 +167,8 @@
 }
 
 function getPage() {
+    state.loading = true;
+
     post('/api/locDetl/outPage', {
         current: currentPage,
         pageSize: pageSize,
@@ -176,6 +178,8 @@
         if (result.code == 200) {
             let data = result.data;
             tableData.value = data.records;
+
+            state.loading = false;
         } else if (result.code === 401) {
             message.error(result.msg);
             logout()
@@ -250,7 +254,7 @@
             </div>
             <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
                 :data-source="tableData" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id" :scroll="{ y: 768 }"
-                :columns="state.columns">
+                :columns="state.columns" :loading="state.loading">
             </a-table>
         </a-modal>
     </div>
diff --git a/zy-asrs-admin/src/components/order/index.vue b/zy-asrs-admin/src/components/order/index.vue
index 27966f4..8b4c353 100644
--- a/zy-asrs-admin/src/components/order/index.vue
+++ b/zy-asrs-admin/src/components/order/index.vue
@@ -28,6 +28,11 @@
 const editChild = ref(null)
 const showOrderDetlChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -124,10 +129,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -143,6 +144,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   let apiUrl = '/api/order/page';
   if (props.ioModel == 'in') {
     apiUrl = '/api/order/in/page';
@@ -159,6 +162,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -315,7 +320,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/components/orderLog/index.vue b/zy-asrs-admin/src/components/orderLog/index.vue
index a19313f..5290ed4 100644
--- a/zy-asrs-admin/src/components/orderLog/index.vue
+++ b/zy-asrs-admin/src/components/orderLog/index.vue
@@ -23,6 +23,11 @@
 const editChild = ref(null)
 const showOrderDetlChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -112,10 +117,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -131,6 +133,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post(props.ioModel == 'in' ? '/api/orderLog/in/page' : '/api/orderLog/out/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -140,6 +144,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -232,7 +238,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/loc/index.vue b/zy-asrs-admin/src/views/base/loc/index.vue
index 6720a4f..a435151 100644
--- a/zy-asrs-admin/src/views/base/loc/index.vue
+++ b/zy-asrs-admin/src/views/base/loc/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -134,10 +139,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -153,6 +155,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/loc/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -162,6 +165,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -247,7 +252,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/locArea/index.vue b/zy-asrs-admin/src/views/base/locArea/index.vue
index d7cdb5b..2e668cd 100644
--- a/zy-asrs-admin/src/views/base/locArea/index.vue
+++ b/zy-asrs-admin/src/views/base/locArea/index.vue
@@ -16,6 +16,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let currentLocAreaType = ref(null)
 let tableData = ref([]);
 getPage();
@@ -97,10 +102,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -116,6 +118,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/locArea/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -126,6 +129,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -270,7 +275,7 @@
       <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
         :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
         :pagination="{ total: tableData.total, onChange: onPageChange }"
-        :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+        :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" :loading="state.loading">
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.dataIndex === 'oper'">
             <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/locAreaType/index.vue b/zy-asrs-admin/src/views/base/locAreaType/index.vue
index 3d2d908..4719b16 100644
--- a/zy-asrs-admin/src/views/base/locAreaType/index.vue
+++ b/zy-asrs-admin/src/views/base/locAreaType/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -105,10 +110,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -124,6 +126,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/locAreaType/tree', {
     current: currentPage,
     pageSize: pageSize,
@@ -139,6 +142,8 @@
         name: '鍏ㄩ儴',
         children: data
       }];
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -224,7 +229,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/locSts/index.vue b/zy-asrs-admin/src/views/base/locSts/index.vue
index 28eb241..57df1ce 100644
--- a/zy-asrs-admin/src/views/base/locSts/index.vue
+++ b/zy-asrs-admin/src/views/base/locSts/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -99,10 +104,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -118,6 +120,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/locSts/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -127,6 +130,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -212,7 +217,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/locType/index.vue b/zy-asrs-admin/src/views/base/locType/index.vue
index 5cf1d07..ca22aa0 100644
--- a/zy-asrs-admin/src/views/base/locType/index.vue
+++ b/zy-asrs-admin/src/views/base/locType/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -113,10 +118,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -132,6 +134,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/locType/tree', {
     current: currentPage,
     pageSize: pageSize,
@@ -147,6 +150,8 @@
         name: '鍏ㄩ儴',
         children: data
       }];
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -232,7 +237,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/locTypeBind/index.vue b/zy-asrs-admin/src/views/base/locTypeBind/index.vue
index fa9de93..9738f60 100644
--- a/zy-asrs-admin/src/views/base/locTypeBind/index.vue
+++ b/zy-asrs-admin/src/views/base/locTypeBind/index.vue
@@ -18,6 +18,11 @@
 const editChild = ref(null)
 const initChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let currentLocType = ref(null)
 let tableData = ref([]);
 getPage();
@@ -99,10 +104,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -118,6 +120,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/locTypeBind/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -128,6 +131,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -279,7 +284,7 @@
       <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
         :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
         :pagination="{ total: tableData.total, onChange: onPageChange }"
-        :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+        :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" :loading="state.loading">
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.dataIndex === 'oper'">
             <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/mat/index.vue b/zy-asrs-admin/src/views/base/mat/index.vue
index 47f7cf4..cb4596f 100644
--- a/zy-asrs-admin/src/views/base/mat/index.vue
+++ b/zy-asrs-admin/src/views/base/mat/index.vue
@@ -17,6 +17,12 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+  columns: []
+});
+
 let tableData = ref([]);
 getColumns();
 getPage();
@@ -26,11 +32,7 @@
   handleResizeColumn,
 } = useTableSearch();
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-  columns: []
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -343,6 +345,7 @@
 }
 
 async function getPage() {
+  state.loading = true;
   post('/api/mat/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -352,6 +355,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -446,7 +451,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="state.columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="state.columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/operationPort/index.vue b/zy-asrs-admin/src/views/base/operationPort/index.vue
index 28d8df2..91222c5 100644
--- a/zy-asrs-admin/src/views/base/operationPort/index.vue
+++ b/zy-asrs-admin/src/views/base/operationPort/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -26,55 +31,55 @@
 } = useTableSearch();
 
 const columns = [
-        {
-            title: formatMessage('db.man_operation_port.flag', '浣滀笟鍙�'),
-            dataIndex: 'flag',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('flag'),
-        },
-        {
-            title: formatMessage('db.man_operation_port.status', '鐘舵��'),
-            dataIndex: 'status$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('status$'),
-        },
-        {
-            title: formatMessage('db.man_operation_port.create_time', '娣诲姞鏃堕棿'),
-            dataIndex: 'createTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createTime$'),
-        },
-        {
-            title: formatMessage('db.man_operation_port.create_by', '娣诲姞浜哄憳'),
-            dataIndex: 'createBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createBy$'),
-        },
-        {
-            title: formatMessage('db.man_operation_port.update_time', '淇敼鏃堕棿'),
-            dataIndex: 'updateTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateTime$'),
-        },
-        {
-            title: formatMessage('db.man_operation_port.update_by', '淇敼浜哄憳'),
-            dataIndex: 'updateBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateBy$'),
-        },
-        {
-            title: formatMessage('db.man_operation_port.memo', '澶囨敞'),
-            dataIndex: 'memo',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('memo'),
-        },
+  {
+    title: formatMessage('db.man_operation_port.flag', '浣滀笟鍙�'),
+    dataIndex: 'flag',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('flag'),
+  },
+  {
+    title: formatMessage('db.man_operation_port.status', '鐘舵��'),
+    dataIndex: 'status$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('status$'),
+  },
+  {
+    title: formatMessage('db.man_operation_port.create_time', '娣诲姞鏃堕棿'),
+    dataIndex: 'createTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createTime$'),
+  },
+  {
+    title: formatMessage('db.man_operation_port.create_by', '娣诲姞浜哄憳'),
+    dataIndex: 'createBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createBy$'),
+  },
+  {
+    title: formatMessage('db.man_operation_port.update_time', '淇敼鏃堕棿'),
+    dataIndex: 'updateTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateTime$'),
+  },
+  {
+    title: formatMessage('db.man_operation_port.update_by', '淇敼浜哄憳'),
+    dataIndex: 'updateBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateBy$'),
+  },
+  {
+    title: formatMessage('db.man_operation_port.memo', '澶囨敞'),
+    dataIndex: 'memo',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('memo'),
+  },
 
   {
     title: formatMessage('common.operation', '鎿嶄綔'),
@@ -86,10 +91,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -105,6 +107,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/operationPort/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -114,6 +117,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -199,7 +204,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/orderSettle/index.vue b/zy-asrs-admin/src/views/base/orderSettle/index.vue
index 99e8fa0..22df7d3 100644
--- a/zy-asrs-admin/src/views/base/orderSettle/index.vue
+++ b/zy-asrs-admin/src/views/base/orderSettle/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -99,10 +104,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -118,6 +120,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/orderSettle/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -127,6 +130,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -212,7 +217,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/orderType/index.vue b/zy-asrs-admin/src/views/base/orderType/index.vue
index 6d5fdb0..5e83814 100644
--- a/zy-asrs-admin/src/views/base/orderType/index.vue
+++ b/zy-asrs-admin/src/views/base/orderType/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -106,10 +111,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -125,6 +127,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/orderType/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -134,6 +137,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -219,7 +224,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/tag/index.vue b/zy-asrs-admin/src/views/base/tag/index.vue
index f8520dd..216b416 100644
--- a/zy-asrs-admin/src/views/base/tag/index.vue
+++ b/zy-asrs-admin/src/views/base/tag/index.vue
@@ -16,6 +16,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -132,10 +137,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -151,6 +153,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/tag/tree', {
     current: currentPage,
     pageSize: pageSize,
@@ -166,6 +169,8 @@
         name: '鍏ㄩ儴',
         children: data
       }];
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -250,7 +255,7 @@
     </div>
 
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
-      :data-source="tableData" :defaultExpandAllRows="false" key="menu" rowKey="id">
+      :data-source="tableData" :defaultExpandAllRows="false" key="menu" rowKey="id" :loading="state.loading">
       <a-table-column :title="formatMessage('db.man_tag.name', '鍚嶇О')" key="name" data-index="name" />
       <a-table-column :title="formatMessage('db.man_tag.flag', '鏍囪瘑')" key="flag" data-index="flag" />
       <a-table-column :title="formatMessage('db.man_tag.status', '鐘舵��')" key="status$" data-index="status$" />
diff --git a/zy-asrs-admin/src/views/base/taskSts/index.vue b/zy-asrs-admin/src/views/base/taskSts/index.vue
index 9ee9ca9..0793dc0 100644
--- a/zy-asrs-admin/src/views/base/taskSts/index.vue
+++ b/zy-asrs-admin/src/views/base/taskSts/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -92,10 +97,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -111,6 +113,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/taskSts/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -120,6 +123,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -205,7 +210,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/taskType/index.vue b/zy-asrs-admin/src/views/base/taskType/index.vue
index cef9324..3c00a7c 100644
--- a/zy-asrs-admin/src/views/base/taskType/index.vue
+++ b/zy-asrs-admin/src/views/base/taskType/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -92,10 +97,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -111,6 +113,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/taskType/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -120,6 +123,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -205,7 +210,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/base/zpalletBarcode/index.vue b/zy-asrs-admin/src/views/base/zpalletBarcode/index.vue
index 91ccded..f65dd53 100644
--- a/zy-asrs-admin/src/views/base/zpalletBarcode/index.vue
+++ b/zy-asrs-admin/src/views/base/zpalletBarcode/index.vue
@@ -23,6 +23,11 @@
 let generateBarcodeValue = ref("80000001");
 let generateNum = ref(100);
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -107,10 +112,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -126,6 +128,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/zpalletBarcode/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -135,6 +138,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -267,7 +272,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/config/matField/index.vue b/zy-asrs-admin/src/views/config/matField/index.vue
index 5f4e144..97bf9aa 100644
--- a/zy-asrs-admin/src/views/config/matField/index.vue
+++ b/zy-asrs-admin/src/views/config/matField/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -120,10 +125,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -139,6 +140,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/matField/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -148,6 +151,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -233,7 +238,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/in/waitPakin/index.vue b/zy-asrs-admin/src/views/in/waitPakin/index.vue
index 1b736df..7e601a0 100644
--- a/zy-asrs-admin/src/views/in/waitPakin/index.vue
+++ b/zy-asrs-admin/src/views/in/waitPakin/index.vue
@@ -26,6 +26,11 @@
 const editChild = ref(null)
 const generateTaskChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -136,10 +141,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -155,6 +157,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/waitPakin/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -164,6 +167,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -259,10 +264,10 @@
   }
   if (info.file.status === 'done') {
     let result = info.file.response;
-    if(result.code == 200) {
+    if (result.code == 200) {
       message.success(`${info.file.name} ${formatMessage('page.upload.success', '涓婁紶鎴愬姛')}`);
       getPage()
-    }else {
+    } else {
       message.error(result.msg);
     }
   } else if (info.file.status === 'error') {
@@ -317,7 +322,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/in/waitPakinLog/index.vue b/zy-asrs-admin/src/views/in/waitPakinLog/index.vue
index 4ab62d4..f57d55f 100644
--- a/zy-asrs-admin/src/views/in/waitPakinLog/index.vue
+++ b/zy-asrs-admin/src/views/in/waitPakinLog/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -127,10 +132,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -146,6 +148,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/waitPakinLog/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -155,6 +158,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -240,7 +245,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/loc/loc/index.vue b/zy-asrs-admin/src/views/loc/loc/index.vue
index 5d3d7c3..81630f1 100644
--- a/zy-asrs-admin/src/views/loc/loc/index.vue
+++ b/zy-asrs-admin/src/views/loc/loc/index.vue
@@ -19,6 +19,11 @@
 const editChild = ref(null)
 const locDetlShowChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -137,10 +142,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -156,6 +158,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/loc/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -165,6 +168,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -255,11 +260,13 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
-            <a-button type="link" primary @click="showDetl(record)">{{ formatMessage('page.loc.locDetl', '搴撳瓨鏄庣粏') }}</a-button>
+            <a-button type="link" primary @click="showDetl(record)">{{ formatMessage('page.loc.locDetl', '搴撳瓨鏄庣粏')
+              }}</a-button>
             <!-- <a-button type="link" primary @click="handleEdit(record)">{{ formatMessage('page.edit', '缂栬緫') }}</a-button>
             <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '鍒犻櫎')
               }}</a-button> -->
diff --git a/zy-asrs-admin/src/views/loc/locDetl/index.vue b/zy-asrs-admin/src/views/loc/locDetl/index.vue
index df7c012..4c50d66 100644
--- a/zy-asrs-admin/src/views/loc/locDetl/index.vue
+++ b/zy-asrs-admin/src/views/loc/locDetl/index.vue
@@ -17,6 +17,12 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+  columns: [],
+});
+
 let tableData = ref([]);
 getColumns();
 getPage();
@@ -26,11 +32,7 @@
   handleResizeColumn,
 } = useTableSearch();
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-  columns: [],
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -178,6 +180,7 @@
 }
 
 function getPage() {
+  state.loading = true;
   post('/api/locDetl/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -187,6 +190,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -272,7 +277,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="state.columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="state.columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/loc/locMap/locMap.vue b/zy-asrs-admin/src/views/loc/locMap/locMap.vue
index a6a152a..113da46 100644
--- a/zy-asrs-admin/src/views/loc/locMap/locMap.vue
+++ b/zy-asrs-admin/src/views/loc/locMap/locMap.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -93,10 +98,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -112,6 +114,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/locMap/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -121,6 +124,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -231,7 +236,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/order/orderDetl/index.vue b/zy-asrs-admin/src/views/order/orderDetl/index.vue
index 0addb6c..3351972 100644
--- a/zy-asrs-admin/src/views/order/orderDetl/index.vue
+++ b/zy-asrs-admin/src/views/order/orderDetl/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -26,97 +31,97 @@
 } = useTableSearch();
 
 const columns = [
-        {
-            title: formatMessage('db.man_order_detl.order_id', '璁㈠崟ID'),
-            dataIndex: 'orderId$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('orderId$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.order_no', '璁㈠崟缂栧彿'),
-            dataIndex: 'orderNo',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('orderNo'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.anfme', '鏁伴噺'),
-            dataIndex: 'anfme',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('anfme'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.qty', '宸插畬鎴愭暟閲�'),
-            dataIndex: 'qty',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('qty'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.work_qty', '浣滀笟涓暟閲�'),
-            dataIndex: 'workQty',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('workQty'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.mat_id', '鐗╂枡'),
-            dataIndex: 'matId$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('matId$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.batch', '鎵瑰彿'),
-            dataIndex: 'batch',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('batch'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.status', '鐘舵��'),
-            dataIndex: 'status$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('status$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.create_time', '娣诲姞鏃堕棿'),
-            dataIndex: 'createTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createTime$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.create_by', '娣诲姞浜哄憳'),
-            dataIndex: 'createBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createBy$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.update_time', '淇敼鏃堕棿'),
-            dataIndex: 'updateTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateTime$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.update_by', '淇敼浜哄憳'),
-            dataIndex: 'updateBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateBy$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl.memo', '澶囨敞'),
-            dataIndex: 'memo',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('memo'),
-        },
+  {
+    title: formatMessage('db.man_order_detl.order_id', '璁㈠崟ID'),
+    dataIndex: 'orderId$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('orderId$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.order_no', '璁㈠崟缂栧彿'),
+    dataIndex: 'orderNo',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('orderNo'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.anfme', '鏁伴噺'),
+    dataIndex: 'anfme',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('anfme'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.qty', '宸插畬鎴愭暟閲�'),
+    dataIndex: 'qty',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('qty'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.work_qty', '浣滀笟涓暟閲�'),
+    dataIndex: 'workQty',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('workQty'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.mat_id', '鐗╂枡'),
+    dataIndex: 'matId$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('matId$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.batch', '鎵瑰彿'),
+    dataIndex: 'batch',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('batch'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.status', '鐘舵��'),
+    dataIndex: 'status$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('status$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.create_time', '娣诲姞鏃堕棿'),
+    dataIndex: 'createTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createTime$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.create_by', '娣诲姞浜哄憳'),
+    dataIndex: 'createBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createBy$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.update_time', '淇敼鏃堕棿'),
+    dataIndex: 'updateTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateTime$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.update_by', '淇敼浜哄憳'),
+    dataIndex: 'updateBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateBy$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl.memo', '澶囨敞'),
+    dataIndex: 'memo',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('memo'),
+  },
 
   {
     title: formatMessage('common.operation', '鎿嶄綔'),
@@ -127,10 +132,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -146,6 +147,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/orderDetl/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -155,6 +158,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -240,7 +245,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/order/orderDetlLog/index.vue b/zy-asrs-admin/src/views/order/orderDetlLog/index.vue
index 7b1d619..16b2661 100644
--- a/zy-asrs-admin/src/views/order/orderDetlLog/index.vue
+++ b/zy-asrs-admin/src/views/order/orderDetlLog/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -26,97 +31,97 @@
 } = useTableSearch();
 
 const columns = [
-        {
-            title: formatMessage('db.man_order_detl_log.order_id', '璁㈠崟ID'),
-            dataIndex: 'orderId$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('orderId$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.order_no', '璁㈠崟缂栧彿'),
-            dataIndex: 'orderNo',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('orderNo'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.anfme', '鏁伴噺'),
-            dataIndex: 'anfme',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('anfme'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.qty', '宸插畬鎴愭暟閲�'),
-            dataIndex: 'qty',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('qty'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.work_qty', '浣滀笟涓暟閲�'),
-            dataIndex: 'workQty',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('workQty'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.mat_id', '鐗╂枡'),
-            dataIndex: 'matId$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('matId$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.batch', '鎵瑰彿'),
-            dataIndex: 'batch',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('batch'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.status', '鐘舵��'),
-            dataIndex: 'status$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('status$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.create_time', '娣诲姞鏃堕棿'),
-            dataIndex: 'createTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createTime$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.create_by', '娣诲姞浜哄憳'),
-            dataIndex: 'createBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createBy$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.update_time', '淇敼鏃堕棿'),
-            dataIndex: 'updateTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateTime$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.update_by', '淇敼浜哄憳'),
-            dataIndex: 'updateBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateBy$'),
-        },
-        {
-            title: formatMessage('db.man_order_detl_log.memo', '澶囨敞'),
-            dataIndex: 'memo',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('memo'),
-        },
+  {
+    title: formatMessage('db.man_order_detl_log.order_id', '璁㈠崟ID'),
+    dataIndex: 'orderId$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('orderId$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.order_no', '璁㈠崟缂栧彿'),
+    dataIndex: 'orderNo',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('orderNo'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.anfme', '鏁伴噺'),
+    dataIndex: 'anfme',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('anfme'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.qty', '宸插畬鎴愭暟閲�'),
+    dataIndex: 'qty',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('qty'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.work_qty', '浣滀笟涓暟閲�'),
+    dataIndex: 'workQty',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('workQty'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.mat_id', '鐗╂枡'),
+    dataIndex: 'matId$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('matId$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.batch', '鎵瑰彿'),
+    dataIndex: 'batch',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('batch'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.status', '鐘舵��'),
+    dataIndex: 'status$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('status$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.create_time', '娣诲姞鏃堕棿'),
+    dataIndex: 'createTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createTime$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.create_by', '娣诲姞浜哄憳'),
+    dataIndex: 'createBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createBy$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.update_time', '淇敼鏃堕棿'),
+    dataIndex: 'updateTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateTime$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.update_by', '淇敼浜哄憳'),
+    dataIndex: 'updateBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateBy$'),
+  },
+  {
+    title: formatMessage('db.man_order_detl_log.memo', '澶囨敞'),
+    dataIndex: 'memo',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('memo'),
+  },
 
   {
     title: formatMessage('common.operation', '鎿嶄綔'),
@@ -127,10 +132,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -146,6 +147,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/orderDetlLog/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -155,6 +158,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -240,7 +245,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/order/orderLog/index.vue b/zy-asrs-admin/src/views/order/orderLog/index.vue
index 5c3da94..4b39b39 100644
--- a/zy-asrs-admin/src/views/order/orderLog/index.vue
+++ b/zy-asrs-admin/src/views/order/orderLog/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -113,10 +118,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -132,6 +133,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/orderLog/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -141,6 +144,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -226,7 +231,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/out/wave/index.vue b/zy-asrs-admin/src/views/out/wave/index.vue
index 63c3092..098a2a2 100644
--- a/zy-asrs-admin/src/views/out/wave/index.vue
+++ b/zy-asrs-admin/src/views/out/wave/index.vue
@@ -19,6 +19,12 @@
 const editChild = ref(null)
 const orderOutMergePreviewChild = ref(null);
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+  columns: [],
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -37,12 +43,6 @@
     rowSpan: count,
   };
 }
-
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-  columns: [],
-});
 
 state.columns = [
   {
@@ -118,6 +118,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/wave/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -152,7 +154,7 @@
       tableDataColSpan = colSpan;
       tableData.value = tmp;
 
-      console.log(tmp);
+      state.loading = false;
 
     } else if (result.code === 401) {
       message.error(result.msg);
@@ -309,7 +311,7 @@
       </div> -->
     </div>
     <a-table :data-source="tableData" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="index"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="state.columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="state.columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/strategy/circleRule/index.vue b/zy-asrs-admin/src/views/strategy/circleRule/index.vue
index 19d4d06..c443a79 100644
--- a/zy-asrs-admin/src/views/strategy/circleRule/index.vue
+++ b/zy-asrs-admin/src/views/strategy/circleRule/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -26,83 +31,83 @@
 } = useTableSearch();
 
 const columns = [
-        {
-            title: formatMessage('db.strategy_circle_rule.name', '鍚嶇О'),
-            dataIndex: 'name',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('name'),
-        },
-        {
-            title: formatMessage('db.strategy_circle_rule.flag', '鏍囪瘑'),
-            dataIndex: 'flag',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('flag'),
-        },
-        {
-            title: formatMessage('db.strategy_circle_rule.current_value', '褰撳墠鍊�'),
-            dataIndex: 'currentValue',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('currentValue'),
-        },
-        {
-            title: formatMessage('db.strategy_circle_rule.start_value', '璧峰鍊�'),
-            dataIndex: 'startValue',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('startValue'),
-        },
-        {
-            title: formatMessage('db.strategy_circle_rule.target_value', '缁撴潫鍊�'),
-            dataIndex: 'targetValue',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('targetValue'),
-        },
-        {
-            title: formatMessage('db.strategy_circle_rule.status', '鐘舵��'),
-            dataIndex: 'status$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('status$'),
-        },
-        {
-            title: formatMessage('db.strategy_circle_rule.create_time', '娣诲姞鏃堕棿'),
-            dataIndex: 'createTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createTime$'),
-        },
-        {
-            title: formatMessage('db.strategy_circle_rule.create_by', '娣诲姞浜哄憳'),
-            dataIndex: 'createBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createBy$'),
-        },
-        {
-            title: formatMessage('db.strategy_circle_rule.update_time', '淇敼鏃堕棿'),
-            dataIndex: 'updateTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateTime$'),
-        },
-        {
-            title: formatMessage('db.strategy_circle_rule.update_by', '淇敼浜哄憳'),
-            dataIndex: 'updateBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateBy$'),
-        },
-        {
-            title: formatMessage('db.strategy_circle_rule.memo', '澶囨敞'),
-            dataIndex: 'memo',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('memo'),
-        },
+  {
+    title: formatMessage('db.strategy_circle_rule.name', '鍚嶇О'),
+    dataIndex: 'name',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('name'),
+  },
+  {
+    title: formatMessage('db.strategy_circle_rule.flag', '鏍囪瘑'),
+    dataIndex: 'flag',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('flag'),
+  },
+  {
+    title: formatMessage('db.strategy_circle_rule.current_value', '褰撳墠鍊�'),
+    dataIndex: 'currentValue',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('currentValue'),
+  },
+  {
+    title: formatMessage('db.strategy_circle_rule.start_value', '璧峰鍊�'),
+    dataIndex: 'startValue',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('startValue'),
+  },
+  {
+    title: formatMessage('db.strategy_circle_rule.target_value', '缁撴潫鍊�'),
+    dataIndex: 'targetValue',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('targetValue'),
+  },
+  {
+    title: formatMessage('db.strategy_circle_rule.status', '鐘舵��'),
+    dataIndex: 'status$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('status$'),
+  },
+  {
+    title: formatMessage('db.strategy_circle_rule.create_time', '娣诲姞鏃堕棿'),
+    dataIndex: 'createTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createTime$'),
+  },
+  {
+    title: formatMessage('db.strategy_circle_rule.create_by', '娣诲姞浜哄憳'),
+    dataIndex: 'createBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createBy$'),
+  },
+  {
+    title: formatMessage('db.strategy_circle_rule.update_time', '淇敼鏃堕棿'),
+    dataIndex: 'updateTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateTime$'),
+  },
+  {
+    title: formatMessage('db.strategy_circle_rule.update_by', '淇敼浜哄憳'),
+    dataIndex: 'updateBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateBy$'),
+  },
+  {
+    title: formatMessage('db.strategy_circle_rule.memo', '澶囨敞'),
+    dataIndex: 'memo',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('memo'),
+  },
 
   {
     title: formatMessage('common.operation', '鎿嶄綔'),
@@ -114,10 +119,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -133,6 +135,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/circleRule/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -142,6 +145,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -227,7 +232,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/strategy/lanewayRule/index.vue b/zy-asrs-admin/src/views/strategy/lanewayRule/index.vue
index bfa53d2..a7c325e 100644
--- a/zy-asrs-admin/src/views/strategy/lanewayRule/index.vue
+++ b/zy-asrs-admin/src/views/strategy/lanewayRule/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -100,10 +105,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -119,6 +121,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/lanewayRule/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -128,6 +131,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -213,7 +218,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/strategy/orderNoRule/index.vue b/zy-asrs-admin/src/views/strategy/orderNoRule/index.vue
index 56df620..7e37182 100644
--- a/zy-asrs-admin/src/views/strategy/orderNoRule/index.vue
+++ b/zy-asrs-admin/src/views/strategy/orderNoRule/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -26,76 +31,76 @@
 } = useTableSearch();
 
 const columns = [
-        {
-            title: formatMessage('db.strategy_order_no_rule.order_const', '鍗曞彿甯搁噺'),
-            dataIndex: 'orderConst',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('orderConst'),
-        },
-        {
-            title: formatMessage('db.strategy_order_no_rule.time_rule', '鏃堕棿瑙勫垯'),
-            dataIndex: 'timeRule$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('timeRule$'),
-        },
-        {
-            title: formatMessage('db.strategy_order_no_rule.increase_num', '鑷闀夸綅鏁�'),
-            dataIndex: 'increaseNum',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('increaseNum'),
-        },
-        {
-            title: formatMessage('db.strategy_order_no_rule.order_type', '绫诲瀷'),
-            dataIndex: 'orderType$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('orderType$'),
-        },
-        {
-            title: formatMessage('db.strategy_order_no_rule.status', '鐘舵��'),
-            dataIndex: 'status$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('status$'),
-        },
-        {
-            title: formatMessage('db.strategy_order_no_rule.create_time', '娣诲姞鏃堕棿'),
-            dataIndex: 'createTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createTime$'),
-        },
-        {
-            title: formatMessage('db.strategy_order_no_rule.create_by', '娣诲姞浜哄憳'),
-            dataIndex: 'createBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createBy$'),
-        },
-        {
-            title: formatMessage('db.strategy_order_no_rule.update_time', '淇敼鏃堕棿'),
-            dataIndex: 'updateTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateTime$'),
-        },
-        {
-            title: formatMessage('db.strategy_order_no_rule.update_by', '淇敼浜哄憳'),
-            dataIndex: 'updateBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateBy$'),
-        },
-        {
-            title: formatMessage('db.strategy_order_no_rule.memo', '澶囨敞'),
-            dataIndex: 'memo',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('memo'),
-        },
+  {
+    title: formatMessage('db.strategy_order_no_rule.order_const', '鍗曞彿甯搁噺'),
+    dataIndex: 'orderConst',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('orderConst'),
+  },
+  {
+    title: formatMessage('db.strategy_order_no_rule.time_rule', '鏃堕棿瑙勫垯'),
+    dataIndex: 'timeRule$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('timeRule$'),
+  },
+  {
+    title: formatMessage('db.strategy_order_no_rule.increase_num', '鑷闀夸綅鏁�'),
+    dataIndex: 'increaseNum',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('increaseNum'),
+  },
+  {
+    title: formatMessage('db.strategy_order_no_rule.order_type', '绫诲瀷'),
+    dataIndex: 'orderType$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('orderType$'),
+  },
+  {
+    title: formatMessage('db.strategy_order_no_rule.status', '鐘舵��'),
+    dataIndex: 'status$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('status$'),
+  },
+  {
+    title: formatMessage('db.strategy_order_no_rule.create_time', '娣诲姞鏃堕棿'),
+    dataIndex: 'createTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createTime$'),
+  },
+  {
+    title: formatMessage('db.strategy_order_no_rule.create_by', '娣诲姞浜哄憳'),
+    dataIndex: 'createBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createBy$'),
+  },
+  {
+    title: formatMessage('db.strategy_order_no_rule.update_time', '淇敼鏃堕棿'),
+    dataIndex: 'updateTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateTime$'),
+  },
+  {
+    title: formatMessage('db.strategy_order_no_rule.update_by', '淇敼浜哄憳'),
+    dataIndex: 'updateBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateBy$'),
+  },
+  {
+    title: formatMessage('db.strategy_order_no_rule.memo', '澶囨敞'),
+    dataIndex: 'memo',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('memo'),
+  },
 
   {
     title: formatMessage('common.operation', '鎿嶄綔'),
@@ -107,10 +112,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -126,6 +128,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/orderNoRule/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -135,6 +138,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -220,7 +225,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/strategy/shelvesRule/index.vue b/zy-asrs-admin/src/views/strategy/shelvesRule/index.vue
index e9da135..0e0795e 100644
--- a/zy-asrs-admin/src/views/strategy/shelvesRule/index.vue
+++ b/zy-asrs-admin/src/views/strategy/shelvesRule/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -100,10 +105,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -119,6 +121,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/shelvesRule/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -128,6 +131,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -213,7 +218,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/strategy/suggestLocRule/index.vue b/zy-asrs-admin/src/views/strategy/suggestLocRule/index.vue
index 028ff05..4315a88 100644
--- a/zy-asrs-admin/src/views/strategy/suggestLocRule/index.vue
+++ b/zy-asrs-admin/src/views/strategy/suggestLocRule/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -142,10 +147,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -161,6 +163,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/suggestLocRule/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -170,6 +173,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -255,7 +260,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/strategy/waitPakinRule/index.vue b/zy-asrs-admin/src/views/strategy/waitPakinRule/index.vue
index 3a82672..f8b6ef5 100644
--- a/zy-asrs-admin/src/views/strategy/waitPakinRule/index.vue
+++ b/zy-asrs-admin/src/views/strategy/waitPakinRule/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -26,62 +31,62 @@
 } = useTableSearch();
 
 const columns = [
-        {
-            title: formatMessage('db.strategy_wait_pakin_rule.pallet_order', '鎵樼洏璁㈠崟'),
-            dataIndex: 'palletOrder$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('palletOrder$'),
-        },
-        {
-            title: formatMessage('db.strategy_wait_pakin_rule.pallet_mixed', '鏄惁娣疯浇'),
-            dataIndex: 'palletMixed$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('palletMixed$'),
-        },
-        {
-            title: formatMessage('db.strategy_wait_pakin_rule.status', '鐘舵��'),
-            dataIndex: 'status$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('status$'),
-        },
-        {
-            title: formatMessage('db.strategy_wait_pakin_rule.create_time', '娣诲姞鏃堕棿'),
-            dataIndex: 'createTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createTime$'),
-        },
-        {
-            title: formatMessage('db.strategy_wait_pakin_rule.create_by', '娣诲姞浜哄憳'),
-            dataIndex: 'createBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('createBy$'),
-        },
-        {
-            title: formatMessage('db.strategy_wait_pakin_rule.update_time', '淇敼鏃堕棿'),
-            dataIndex: 'updateTime$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateTime$'),
-        },
-        {
-            title: formatMessage('db.strategy_wait_pakin_rule.update_by', '淇敼浜哄憳'),
-            dataIndex: 'updateBy$',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('updateBy$'),
-        },
-        {
-            title: formatMessage('db.strategy_wait_pakin_rule.memo', '澶囨敞'),
-            dataIndex: 'memo',
-            width: 140,
-            ellipsis: true,
-            ...getColumnSearchProps('memo'),
-        },
+  {
+    title: formatMessage('db.strategy_wait_pakin_rule.pallet_order', '鎵樼洏璁㈠崟'),
+    dataIndex: 'palletOrder$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('palletOrder$'),
+  },
+  {
+    title: formatMessage('db.strategy_wait_pakin_rule.pallet_mixed', '鏄惁娣疯浇'),
+    dataIndex: 'palletMixed$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('palletMixed$'),
+  },
+  {
+    title: formatMessage('db.strategy_wait_pakin_rule.status', '鐘舵��'),
+    dataIndex: 'status$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('status$'),
+  },
+  {
+    title: formatMessage('db.strategy_wait_pakin_rule.create_time', '娣诲姞鏃堕棿'),
+    dataIndex: 'createTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createTime$'),
+  },
+  {
+    title: formatMessage('db.strategy_wait_pakin_rule.create_by', '娣诲姞浜哄憳'),
+    dataIndex: 'createBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('createBy$'),
+  },
+  {
+    title: formatMessage('db.strategy_wait_pakin_rule.update_time', '淇敼鏃堕棿'),
+    dataIndex: 'updateTime$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateTime$'),
+  },
+  {
+    title: formatMessage('db.strategy_wait_pakin_rule.update_by', '淇敼浜哄憳'),
+    dataIndex: 'updateBy$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('updateBy$'),
+  },
+  {
+    title: formatMessage('db.strategy_wait_pakin_rule.memo', '澶囨敞'),
+    dataIndex: 'memo',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('memo'),
+  },
 
   {
     title: formatMessage('common.operation', '鎿嶄綔'),
@@ -93,10 +98,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -112,6 +114,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/waitPakinRule/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -121,6 +124,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -206,7 +211,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/system/dept/index.vue b/zy-asrs-admin/src/views/system/dept/index.vue
index 235c238..62429d4 100644
--- a/zy-asrs-admin/src/views/system/dept/index.vue
+++ b/zy-asrs-admin/src/views/system/dept/index.vue
@@ -16,6 +16,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -120,10 +125,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -139,6 +140,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/dept/tree', {
     current: currentPage,
     pageSize: pageSize,
@@ -154,6 +157,8 @@
         name: '鏍圭洰褰�',
         children: data
       }];
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -238,7 +243,7 @@
     </div>
 
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
-      :data-source="tableData" :defaultExpandAllRows="false" key="menu" rowKey="id">
+      :data-source="tableData" :defaultExpandAllRows="false" key="menu" rowKey="id" :loading="state.loading">
       <a-table-column :title="formatMessage('db.sys_dept.name', '閮ㄩ棬鍚嶇О')" key="name" data-index="name" />
       <a-table-column :title="formatMessage('db.sys_dept.leader', '璐熻矗浜�')" key="leader" data-index="leader" />
       <a-table-column :title="formatMessage('db.sys_dept.sort', '鎺掑簭')" key="sort" data-index="sort" />
diff --git a/zy-asrs-admin/src/views/system/dict/index.vue b/zy-asrs-admin/src/views/system/dict/index.vue
index 74f07d0..4c40401 100644
--- a/zy-asrs-admin/src/views/system/dict/index.vue
+++ b/zy-asrs-admin/src/views/system/dict/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -117,10 +122,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -136,6 +137,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/dict/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -145,6 +148,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -230,7 +235,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/system/host/index.vue b/zy-asrs-admin/src/views/system/host/index.vue
index 6c0f732..7241a5e 100644
--- a/zy-asrs-admin/src/views/system/host/index.vue
+++ b/zy-asrs-admin/src/views/system/host/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -65,10 +70,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -84,6 +85,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/host/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -93,6 +96,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -179,7 +184,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/system/language/index.vue b/zy-asrs-admin/src/views/system/language/index.vue
index 796145a..980687a 100644
--- a/zy-asrs-admin/src/views/system/language/index.vue
+++ b/zy-asrs-admin/src/views/system/language/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -77,10 +82,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -96,6 +97,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/language/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -105,6 +108,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -190,7 +195,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/system/menu/index.vue b/zy-asrs-admin/src/views/system/menu/index.vue
index 1bc9659..76543e7 100644
--- a/zy-asrs-admin/src/views/system/menu/index.vue
+++ b/zy-asrs-admin/src/views/system/menu/index.vue
@@ -14,6 +14,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -28,10 +33,6 @@
   },
 };
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -47,6 +48,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/menu/tree', {}).then((result) => {
     if (result.data.code == 200) {
       let data = result.data.data;
@@ -57,6 +59,8 @@
         name: '鏍圭洰褰�',
         children: data
       }];
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -133,7 +137,7 @@
       </div>
     </div>
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
-      :data-source="tableData" :defaultExpandAllRows="false" key="menu" rowKey="id">
+      :data-source="tableData" :defaultExpandAllRows="false" key="menu" rowKey="id" :loading="state.loading">
       <a-table-column :title="formatMessage('db.sys_menu.name', '鑿滃崟鍚嶇О')" key="name" data-index="name" />
       <a-table-column :title="formatMessage('db.sys_menu.route', '璺敱鍦板潃')" key="route" data-index="route" />
       <a-table-column :title="formatMessage('db.sys_menu.type', '绫诲瀷')" key="type" data-index="type$">
diff --git a/zy-asrs-admin/src/views/system/operationRecord/index.vue b/zy-asrs-admin/src/views/system/operationRecord/index.vue
index d235645..491da91 100644
--- a/zy-asrs-admin/src/views/system/operationRecord/index.vue
+++ b/zy-asrs-admin/src/views/system/operationRecord/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -126,10 +131,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -145,6 +146,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/operationRecord/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -154,6 +157,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -239,7 +244,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/system/role/index.vue b/zy-asrs-admin/src/views/system/role/index.vue
index 76cbbeb..0f8d3d1 100644
--- a/zy-asrs-admin/src/views/system/role/index.vue
+++ b/zy-asrs-admin/src/views/system/role/index.vue
@@ -25,6 +25,11 @@
 let expandedKeys = ref([]);
 let selectedKeys = ref([]);
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -79,10 +84,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -98,6 +99,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/role/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -107,6 +110,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -246,7 +251,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/system/user/index.vue b/zy-asrs-admin/src/views/system/user/index.vue
index 3ec7600..d5db92f 100644
--- a/zy-asrs-admin/src/views/system/user/index.vue
+++ b/zy-asrs-admin/src/views/system/user/index.vue
@@ -19,6 +19,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let currentDept = ref(null);
 let tableData = ref([]);
 getPage();
@@ -148,10 +153,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -167,6 +168,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/user/page1', {
     current: currentPage,
     pageSize: pageSize,
@@ -177,6 +180,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -394,7 +399,7 @@
       <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
         :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
         :pagination="{ total: tableData.total, onChange: onPageChange }"
-        :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+        :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" :loading="state.loading">
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.dataIndex === 'oper'">
             <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/system/userLogin/index.vue b/zy-asrs-admin/src/views/system/userLogin/index.vue
index 885edfc..1125c4d 100644
--- a/zy-asrs-admin/src/views/system/userLogin/index.vue
+++ b/zy-asrs-admin/src/views/system/userLogin/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -78,10 +83,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -97,6 +98,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/userLogin/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -106,6 +109,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -191,7 +196,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/task/task/index.vue b/zy-asrs-admin/src/views/task/task/index.vue
index 734511d..cbc6ad8 100644
--- a/zy-asrs-admin/src/views/task/task/index.vue
+++ b/zy-asrs-admin/src/views/task/task/index.vue
@@ -19,6 +19,11 @@
 const editChild = ref(null)
 const showTaskDetlChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -143,10 +148,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -162,6 +163,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/task/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -171,6 +174,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -336,7 +341,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/task/taskDetl/index.vue b/zy-asrs-admin/src/views/task/taskDetl/index.vue
index 7884245..42f1696 100644
--- a/zy-asrs-admin/src/views/task/taskDetl/index.vue
+++ b/zy-asrs-admin/src/views/task/taskDetl/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -148,10 +153,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -167,6 +169,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/taskDetl/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -176,6 +180,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -261,7 +267,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/task/taskDetlLog/index.vue b/zy-asrs-admin/src/views/task/taskDetlLog/index.vue
index c560196..154a649 100644
--- a/zy-asrs-admin/src/views/task/taskDetlLog/index.vue
+++ b/zy-asrs-admin/src/views/task/taskDetlLog/index.vue
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -148,10 +153,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -167,6 +169,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/taskDetlLog/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -176,6 +180,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -261,7 +267,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-admin/src/views/task/taskLog/index.vue b/zy-asrs-admin/src/views/task/taskLog/index.vue
index 5acd241..389d938 100644
--- a/zy-asrs-admin/src/views/task/taskLog/index.vue
+++ b/zy-asrs-admin/src/views/task/taskLog/index.vue
@@ -19,6 +19,11 @@
 const editChild = ref(null)
 const showTaskDetlChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -143,10 +148,7 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
+
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -162,6 +164,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/taskLog/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -171,6 +175,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -261,7 +267,8 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn"
+      :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">
diff --git a/zy-asrs-framework/src/main/resources/templates/vue/Index.txt b/zy-asrs-framework/src/main/resources/templates/vue/Index.txt
index 41d4884..bf8b96a 100644
--- a/zy-asrs-framework/src/main/resources/templates/vue/Index.txt
+++ b/zy-asrs-framework/src/main/resources/templates/vue/Index.txt
@@ -17,6 +17,11 @@
 const searchInput = ref("")
 const editChild = ref(null)
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -37,10 +42,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -56,6 +57,7 @@
 };
 
 function getPage() {
+  state.loading = true;
   post('/api/@{SIMPLEENTITYNAME}/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -65,6 +67,8 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
+
+      state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
       logout()
@@ -150,7 +154,7 @@
     <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
       :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
       :pagination="{ total: tableData.total, onChange: onPageChange }"
-      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+      :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
       <template #bodyCell="{ column, text, record }">
         <template v-if="column.dataIndex === 'oper'">
           <div style="display: flex;justify-content: space-evenly;">

--
Gitblit v1.9.1