From 4d3b2b13b87fb25870ae02e342e3f9e04ac40074 Mon Sep 17 00:00:00 2001 From: juzi <819872918@qq.com> Date: Wed, 11 Mar 2026 09:54:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A9=BE=E9=A9=B6=E8=88=B1=E6=8A=A5=E8=A1=A8&?= =?UTF-8?q?=E6=8C=87=E6=A0=87=E5=A1=AB=E6=8A=A5&=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0loading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/styles/ruoyi.scss | 2 +- src/utils/request.js | 33 +- src/views/home/components/budgetDetails.vue | 10 +- .../home/components/indicatorDetails.vue | 16 +- .../home/costComponents/costOverview.vue | 2 +- src/views/home/indicatorSubmissionDetails.vue | 18 +- .../productionCostAnalysisBase.vue | 2 +- .../singleProcMfgOverheadCost.vue | 2 +- .../dataTrendBarProduct.vue | 4 +- src/views/report/cockpitReport/edit.vue | 72 +-- src/views/report/cockpitReport/index copy.vue | 469 ++++++++++++++++++ src/views/report/cockpitReport/index.vue | 293 ++--------- 12 files changed, 629 insertions(+), 294 deletions(-) create mode 100644 src/views/report/cockpitReport/index copy.vue diff --git a/src/assets/styles/ruoyi.scss b/src/assets/styles/ruoyi.scss index d9b3a411..f5da3c16 100644 --- a/src/assets/styles/ruoyi.scss +++ b/src/assets/styles/ruoyi.scss @@ -143,7 +143,7 @@ h6 { .pagination-container .el-pagination { right: 0; - position: absolute; + position: absolute !important; } @media (max-width: 768px) { diff --git a/src/utils/request.js b/src/utils/request.js index 772fee96..877bdfb1 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,5 +1,5 @@ import axios from 'axios' -import {Message, MessageBox, Notification} from 'element-ui' +import {Message, MessageBox, Notification, Loading} from 'element-ui' import store from '@/store' import {getAccessToken, getRefreshToken, getTenantId, setToken, getVisitTenantId} from '@/utils/auth' import errorCode from '@/utils/errorCode' @@ -31,8 +31,36 @@ const service = axios.create({ // 禁用 Cookie 等信息 withCredentials: false, }) + + +let loadingInstance = null +function startLoading() { + loadingInstance = Loading.service({ + fullscreen: false, + text: '拼命加载中...', + background: 'rgba(0, 0, 0, 0.1)' + }) +} +function endLoading() { + loadingInstance.close() +} +let needLoadingRequestCount = 0 +function showFullScreenLoading() { + if (needLoadingRequestCount === 0) { + startLoading() + } + needLoadingRequestCount++ +} +function tryHideFullScreenLoading() { + if (needLoadingRequestCount <= 0) return + needLoadingRequestCount-- + if (needLoadingRequestCount === 0) { + endLoading() + } +} // request拦截器 service.interceptors.request.use(config => { + showFullScreenLoading() // 是否需要设置 token const isToken = (config.headers || {}).isToken === false if (getAccessToken() && !isToken) { @@ -88,12 +116,14 @@ service.interceptors.request.use(config => { } return config }, error => { + tryHideFullScreenLoading() console.log(error) Promise.reject(error) }) // 响应拦截器 service.interceptors.response.use(async res => { + tryHideFullScreenLoading() let { data } = res // 未设置状态码则默认成功状态 // 二进制数据则直接返回,例如说 Excel 导出 @@ -202,6 +232,7 @@ service.interceptors.response.use(async res => { } }, error => { console.log('err' + error) + tryHideFullScreenLoading() let {message} = error; if (message === "Network Error") { message = "后端接口连接异常"; diff --git a/src/views/home/components/budgetDetails.vue b/src/views/home/components/budgetDetails.vue index bf6b600f..12695e42 100644 --- a/src/views/home/components/budgetDetails.vue +++ b/src/views/home/components/budgetDetails.vue @@ -8,7 +8,7 @@