Browse Source

feat: 用户指南接口新增用户过期判断,并加上loading动画

zhouyuhao 9 tháng trước cách đây
mục cha
commit
b4a1c99f14

+ 5 - 0
src/styles/elementui.scss

@@ -745,6 +745,11 @@ div .el-space {
   flex-wrap: wrap;
   margin: 3px 0 0 0;
 }
+div.element-loading {
+  .el-loading-text {
+    color: var(--color-theme);
+  }
+}
 div .el-loading-spinner .path {
   stroke: var(--color-theme);
 }

+ 2 - 0
src/views/Booking/src/components/BookingTable/src/BookingTable.vue

@@ -468,6 +468,8 @@ defineExpose({
     style="padding: 0px 24px"
     class="booking-table"
     v-loading.fullscreen.lock="exportLoading"
+    element-loading-text="Loading..."
+    element-loading-custom-class="element-loading"
     element-loading-background="rgb(43, 47, 54, 0.7)"
   >
     <div class="table-tools">

+ 38 - 25
src/views/Layout/src/components/Header/HeaderView.vue

@@ -111,32 +111,39 @@ const handleChangePassword = () => {
   changePasswordDialogRef.value.openDialog()
 }
 
+const userManualLoading = ref(false)
 const handleUserManual = () => {
+  userManualLoading.value = true
   try {
-    $api.getUserGuide().then(async (res) => {
-      if (res.status !== 200) {
-        ElMessageBox.alert('The request failed. Please try again later', 'Prompt', {
-          confirmButtonText: 'OK',
-          confirmButtonClass: 'el-button--dark'
-        })
-        return
-      }
-      if (res.data?.code === 403) {
-        sessionStorage.clear()
-        router.push('/login')
-        userStore.logout()
-        ElMessage.warning({
-          message: 'Please log in to use this feature.',
-          grouping: true
-        })
-        return
-      }
-      // 创建一个 Blob 对象
-      const blob = new Blob([res.data], { type: 'application/pdf' })
-      const url = URL.createObjectURL(blob)
-      // 在新标签页中打开 PDF
-      window.open(url, '_blank')
-    })
+    $api
+      .getUserGuide()
+      .then(async (res) => {
+        if (res.status !== 200) {
+          ElMessageBox.alert('The request failed. Please try again later', 'Prompt', {
+            confirmButtonText: 'OK',
+            confirmButtonClass: 'el-button--dark'
+          })
+          return
+        }
+        if (res.data?.code === 403) {
+          sessionStorage.clear()
+          router.push('/login')
+          userStore.logout()
+          ElMessage.warning({
+            message: 'Please log in to use this feature.',
+            grouping: true
+          })
+          return
+        }
+        // 创建一个 Blob 对象
+        const blob = new Blob([res.data], { type: 'application/pdf' })
+        const url = URL.createObjectURL(blob)
+        // 在新标签页中打开 PDF
+        window.open(url, '_blank')
+      })
+      .finally(() => {
+        userManualLoading.value = false
+      })
   } catch (error) {
     ElMessageBox.alert('The request failed. Please try again later', 'Prompt', {
       confirmButtonText: 'OK',
@@ -170,7 +177,13 @@ const closePopover = () => {
 </script>
 
 <template>
-  <div class="layout-toolbar">
+  <div
+    class="layout-toolbar"
+    v-loading.fullscreen.lock="userManualLoading"
+    element-loading-text="Loading..."
+    element-loading-custom-class="element-loading"
+    element-loading-background="rgb(43, 47, 54, 0.7)"
+  >
     <VBreadcrumb></VBreadcrumb>
     <div class="right-info">
       <el-input

+ 2 - 0
src/views/OperationLog/src/components/BookingTable/src/BookingTable.vue

@@ -351,6 +351,8 @@ defineExpose({
     style="padding: 0px 20px"
     class="booking-table"
     v-loading.fullscreen.lock="exportLoading"
+    element-loading-text="Loading..."
+    element-loading-custom-class="element-loading"
     element-loading-background="rgb(43, 47, 54, 0.7)"
   >
     <div class="table-tools">

+ 2 - 0
src/views/Tracking/src/components/TrackingTable/src/TrackingTable.vue

@@ -559,6 +559,8 @@ defineExpose({
     style="padding: 0px 24px"
     class="tracking-table"
     v-loading.fullscreen.lock="exportLoading"
+    element-loading-text="Loading..."
+    element-loading-custom-class="element-loading"
     element-loading-background="rgb(43, 47, 54, 0.7)"
   >
     <div class="table-tools">