Преглед изворни кода

feat: 修改表格loading bug

zhouyuhao пре 1 година
родитељ
комит
427e07ea3a

+ 2 - 2
src/utils/axios.ts

@@ -45,8 +45,8 @@ class HttpAxios {
   }
 
   _requestInterceptors = (config: AxiosRequestConfig) => {
-    const _config = { timeout: this.timeout }
-    return { ...config, ..._config }
+    // const _config = { timeout: this.timeout }
+    // return { ...config, ..._config }
     return config
   }
   /**

+ 6 - 1
src/views/Booking/src/components/BookingTable/src/BookingTable.vue

@@ -138,7 +138,8 @@ const searchTableData = (data: any) => {
       if (res.code === 200) {
         bookingTable.value.data = res.data.searchData || []
         pageInfo.value.total = Number(res.data.rc)
-        tableLoading.value = false
+        tempSearch.value = res.data.tmp_search
+
         // 拥有所有字段的表格
         setTimeout(() => {
           allTable.value.columns = handleColumns(res.data.allColums, 'all')
@@ -150,6 +151,10 @@ const searchTableData = (data: any) => {
         }, 1000)
       }
     })
+    .finally(() => {
+      tableRef.value && autoWidth(bookingTable.value, tableRef.value)
+      tableLoadingTableData.value = false
+    })
 }
 
 onMounted(() => {

+ 22 - 10
src/views/Tracking/src/components/TrackingTable/src/TrackingTable.vue

@@ -133,7 +133,7 @@ const getSharedTableData = () => {
   return false
 }
 
-const getTableData = async (isInit: boolean, isPageChange?: boolean) => {
+const getTableData = async (isPageChange?: boolean) => {
   const rc = isPageChange ? pageInfo.value.total : -1
   tableLoadingTableData.value = true
 
@@ -184,8 +184,8 @@ const getTableData = async (isInit: boolean, isPageChange?: boolean) => {
         if (res.code === 200) {
           trackingTable.value.data = res.data.searchData || []
           pageInfo.value.total = Number(res.data.rc)
-
           tempSearch.value = res.data.tmp_search
+
           if (res.data.canEdiVgm && trackingTable.value.columns.length > 0) {
             const index = trackingTable.value.columns.findIndex(
               (item: any) => item.title === 'Action'
@@ -212,10 +212,8 @@ const getTableData = async (isInit: boolean, isPageChange?: boolean) => {
       })
   }
   nextTick(() => {
-    if (!isInit) {
-      tableRef.value && autoWidth(trackingTable.value, tableRef.value)
-      tableLoadingTableData.value = false
-    }
+    tableRef.value && autoWidth(trackingTable.value, tableRef.value)
+    tableLoadingTableData.value = false
   })
 }
 
@@ -235,8 +233,21 @@ const searchTableData = (data: any) => {
       if (res.code === 200) {
         trackingTable.value.data = res.data.searchData
         pageInfo.value.total = Number(res.data.rc)
-        tableLoading.value = false
-
+        tempSearch.value = res.data.tmp_search
+
+        if (res.data.canEdiVgm && trackingTable.value.columns.length > 0) {
+          const index = trackingTable.value.columns.findIndex(
+            (item: any) => item.title === 'Action'
+          )
+          if (index === -1) {
+            trackingTable.value.columns.push({
+              title: 'Action',
+              fixed: 'right',
+              width: 80,
+              slots: { default: 'action' }
+            })
+          }
+        }
         // 拥有所有字段的表格
         setTimeout(() => {
           allTable.value.columns = handleColumns(res.data.allColums, 'all')
@@ -248,6 +259,7 @@ const searchTableData = (data: any) => {
       }
     })
     .finally(() => {
+      tableRef.value && autoWidth(trackingTable.value, tableRef.value)
       tableLoadingTableData.value = false
     })
 }
@@ -577,8 +589,8 @@ defineExpose({
           background
           layout="sizes, prev, pager, next"
           :total="pageInfo.total"
-          @size-change="getTableData(false, true)"
-          @current-change="getTableData(false, true)"
+          @size-change="getTableData(true)"
+          @current-change="getTableData(true)"
         />
       </div>
     </div>