ソースを参照

Merge branch 'dev' into feature

zhouyuhao 9 ヶ月 前
コミット
8726bccde7

+ 5 - 0
src/styles/elementui.scss

@@ -758,6 +758,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

@@ -467,6 +467,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 - 15
src/views/Layout/src/components/Header/HeaderView.vue

@@ -112,22 +112,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
-      }
-      // 创建一个 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',
@@ -163,7 +180,13 @@ const notificationDrawer = ref(false)
 </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>
     <TrainingCard></TrainingCard>
     <div class="right-info">

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

@@ -345,6 +345,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

@@ -573,6 +573,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">