From ac8968793f8bb242bba100a52e2c324965a7d3d7 Mon Sep 17 00:00:00 2001
From: xzg <4727863@qq.com>
Date: Mon, 5 Feb 2024 11:48:29 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8C=85=E4=BB=B6=E9=A1=B5=E9=9D=A2=E6=96=B0?=
=?UTF-8?q?=E5=A2=9E=E6=9F=A5=E7=9C=8B=E8=BD=A8=E8=BF=B9=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?,=E4=BF=AE=E5=A4=8D=E9=A1=B5=E9=9D=A2=E6=B6=88=E6=81=AF?=
=?UTF-8?q?=E5=BC=B9=E7=AA=97=E9=87=8D=E5=A4=8D=EF=BC=8C=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=B6=88=E6=81=AF=E5=BC=B9=E7=AA=97=E9=87=8D?=
=?UTF-8?q?=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/axios.js | 21 ++++++++++----
src/main.js | 2 ++
src/utils/resetMessage.js | 23 +++++++++++++++
.../distributionDeliveryListedt.vue | 10 +++++++
.../distributionStockArticleDetails.vue | 14 ++++------
.../inventory/distrilbutionBillLadingView.vue | 25 ++++++++++++++++-
.../stockup/distributionStockupDetails.vue | 18 +++++++++++-
.../warehouseRetentionDetails.vue | 28 ++++++++++++++++++-
8 files changed, 124 insertions(+), 17 deletions(-)
create mode 100644 src/utils/resetMessage.js
diff --git a/src/axios.js b/src/axios.js
index e11e0d45..ba7f4820 100644
--- a/src/axios.js
+++ b/src/axios.js
@@ -17,7 +17,8 @@ import 'nprogress/nprogress.css'; // 进度条样式
import { Base64 } from 'js-base64'; // Base64编码工具
import { baseUrl } from '@/config/env'; // API基础URL
import crypto from '@/utils/crypto'; // 加密工具,可能用于加密Token等
-
+import {ref} from 'vue';
+let msg = ref(''); // 错误信息
// 存储待取消的HTTP请求的键值对,用于取消重复的请求
const pendingRequests = new Map();
@@ -131,13 +132,21 @@ axios.interceptors.response.use(
// 如果response的状态码不是200,则显示消息提示,并返回Promise的reject状态
if (status !== 200) {
- ElMessage({
- message: message,
- type: 'error',
- });
+ if(!msg.value){
+ ElMessage({
+ message: message,
+ type: 'error',
+ });
+ }
+ if(msg.value && (msg.value != message)){
+ setTimeout(() => {
+ msg.value = '';
+ }, 0);
+ }else{
+ msg.value=message
+ }
return Promise.reject(new Error(message));
}
-
// 正常状态返回responseData
return res;
},
diff --git a/src/main.js b/src/main.js
index bc615af3..7c5c59b1 100644
--- a/src/main.js
+++ b/src/main.js
@@ -25,6 +25,7 @@ import flowDesign from './components/flow-design/main.vue';
import tablecmt from './components/tablecmt/tablecmt.vue';
import SelectBox from './components/SelectBox/SelectBox.vue';
import edittablehead from './components/edittablehead/index.vue';
+import {message } from './utils/resetMessage'
import App from './App.vue';
import 'animate.css';
import dayjs from 'dayjs';
@@ -64,6 +65,7 @@ app.use(router);
app.use(ElementPlus, {
locale: messages[language],
});
+app.config.globalProperties.$message = message;//解决重复弹窗
app.use(Avue, {
axios,
calcHeight: 10,
diff --git a/src/utils/resetMessage.js b/src/utils/resetMessage.js
new file mode 100644
index 00000000..5b770889
--- /dev/null
+++ b/src/utils/resetMessage.js
@@ -0,0 +1,23 @@
+import { ElMessage } from 'element-plus';
+
+let messageInstance = null;
+const resetMessage = (options) => {
+ if (messageInstance) {
+ messageInstance.close();
+ }
+ messageInstance = ElMessage(options);
+};
+
+['error', 'success', 'info', 'warning'].forEach((type) => {
+ resetMessage[type] = (options) => {
+ if (typeof options === 'string') {
+ options = {
+ message: options,
+ };
+ }
+ options.type = type;
+ return resetMessage(options);
+ };
+});
+
+export const message = resetMessage;
\ No newline at end of file
diff --git a/src/views/distribution/deliverylist/distributionDeliveryListedt.vue b/src/views/distribution/deliverylist/distributionDeliveryListedt.vue
index bd6a0dba..41a40936 100644
--- a/src/views/distribution/deliverylist/distributionDeliveryListedt.vue
+++ b/src/views/distribution/deliverylist/distributionDeliveryListedt.vue
@@ -261,6 +261,7 @@
>