From b41d6ab12f9b4c169f269832dd6149d1db7fb30d Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Fri, 27 Feb 2026 17:23:59 +0800
Subject: [PATCH] feat:添加loading

---
 uniapps/work-app/src/pages/login/index.vue |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/uniapps/work-app/src/pages/login/index.vue b/uniapps/work-app/src/pages/login/index.vue
index 65b289d..568b316 100644
--- a/uniapps/work-app/src/pages/login/index.vue
+++ b/uniapps/work-app/src/pages/login/index.vue
@@ -30,7 +30,13 @@
       <div class="forgotPassword" @click="goToForgotPassword">忘记密码?</div>
     </div>
 
-    <button class="login-btn" :style="[inputStyle]" @tap="submit">登录</button>
+    <button class="login-btn" :style="[inputStyle]" @tap="submit" :disabled="loading">
+      <view v-if="loading" class="loading-container">
+        <view class="loading-spinner"></view>
+        <text>登录中...</text>
+      </view>
+      <view v-else>登录</view>
+    </button>
   </view>
 </template>
 
@@ -59,6 +65,7 @@
 });
 const rememberPassword = ref(false);
 const showPassword = ref(false);
+const loading = ref(false);
 const inputStyle = computed(() => {
   const style = {};
   if (loginForm.value.username && loginForm.value.password) {
@@ -134,6 +141,8 @@
   }
 
   try {
+    // 开始加载
+    loading.value = true;
     const res = await loginByUsername(
       userInfo.tenantId,
       userInfo.deptId,
@@ -181,6 +190,9 @@
     });
     // 即使原始登录失败,也尝试调用工单登录接口
     await gdLogin();
+  } finally {
+    // 结束加载
+    loading.value = false;
   }
 }
 // 工单登录
@@ -377,6 +389,30 @@
     &::after {
       @apply border-none;
     }
+    &:disabled {
+      opacity: 0.7;
+    }
+  }
+
+  .loading-container {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
+
+  .loading-spinner {
+    width: 24rpx;
+    height: 24rpx;
+    border: 2rpx solid rgba(255, 255, 255, 0.3);
+    border-top: 2rpx solid #ffffff;
+    border-radius: 50%;
+    animation: spin 1s linear infinite;
+    margin-right: 12rpx;
+  }
+
+  @keyframes spin {
+    0% { transform: rotate(0deg); }
+    100% { transform: rotate(360deg); }
   }
 
   .wechat-login-btn {

--
Gitblit v1.9.3