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

Merge branch 'release_zyh' of United_Software/k_online_ui into dev

Jack Zhou пре 9 месеци
родитељ
комит
5211df7fbf

+ 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">

+ 39 - 16
src/views/Layout/src/components/Header/HeaderView.vue

@@ -111,22 +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
-      }
-      // 创建一个 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',
@@ -160,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
@@ -495,4 +518,4 @@ div.el-popover.el-popper.user-config-popover {
 div.el-popper.theme-popper-class {
   padding: 3px 4px;
 }
-</style>
+</style>

+ 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">