Pārlūkot izejas kodu

Fix 修复提示重复提交的问题,且loading不自动关闭的问题。

Yue 4 dienas atpakaļ
vecāks
revīzija
fc5d2fee43

+ 3 - 0
UI/VAP_V3.VUE/src/core/services/RequestService.ts

@@ -103,6 +103,9 @@ Rs.interceptors.request.use(
 				) {
 					const message = "数据正在处理,请勿重复提交"
 					console.warn(`[${s_url}]: ` + message)
+					if (config.loading) {
+						msgUtil.closeLoading()
+					}
 					return Promise.reject(new Error(message))
 				} else {
 					sessionCache.setJSON("sessionObj", requestObj)

+ 10 - 0
UI/VAP_V3.VUE/src/views/account/login.vue

@@ -42,8 +42,14 @@ const captchaEnabled = ref(false)
 const register = ref(false)
 
 const redirect = ref(undefined)
+const isLogining = ref(false)
 
 function handleLogin() {
+	if (isLogining.value) {
+		return
+	}
+	isLogining.value = true
+
 	loginFormRef.value?.validate((valid: boolean) => {
 		if (valid) {
 			loading.value = true
@@ -69,14 +75,18 @@ function handleLogin() {
 				.then(() => {
 					router.push({ path: redirect.value || "/" })
 					loading.value = false
+					isLogining.value = false
 				})
 				.catch(() => {
 					loading.value = false
+					isLogining.value = false
 					// 重新获取验证码
 					if (captchaEnabled.value) {
 						getCode()
 					}
 				})
+		} else {
+			isLogining.value = false
 		}
 	})
 }