From be1cd9e5b30097ca427a9c2b7b054b28854e410a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 11 三月 2026 13:21:36 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/login.html |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/src/main/webapp/views/login.html b/src/main/webapp/views/login.html
index 2c28dae..1574206 100644
--- a/src/main/webapp/views/login.html
+++ b/src/main/webapp/views/login.html
@@ -273,14 +273,16 @@
 
         .tools-dialog .el-dialog,
         .text-dialog .el-dialog,
-        .upload-dialog .el-dialog {
+        .upload-dialog .el-dialog,
+        .mfa-dialog .el-dialog {
             border-radius: 20px;
             overflow: hidden;
         }
 
         .tools-dialog .el-dialog__header,
         .text-dialog .el-dialog__header,
-        .upload-dialog .el-dialog__header {
+        .upload-dialog .el-dialog__header,
+        .mfa-dialog .el-dialog__header {
             padding: 18px 20px 12px;
             border-bottom: 1px solid rgba(222, 230, 239, 0.92);
             background: #f8fbff;
@@ -288,14 +290,16 @@
 
         .tools-dialog .el-dialog__title,
         .text-dialog .el-dialog__title,
-        .upload-dialog .el-dialog__title {
+        .upload-dialog .el-dialog__title,
+        .mfa-dialog .el-dialog__title {
             font-weight: 700;
             color: #243447;
         }
 
         .tools-dialog .el-dialog__body,
         .text-dialog .el-dialog__body,
-        .upload-dialog .el-dialog__body {
+        .upload-dialog .el-dialog__body,
+        .mfa-dialog .el-dialog__body {
             padding: 18px 20px 20px;
         }
 
@@ -357,6 +361,33 @@
             display: inline-flex;
             align-items: center;
             justify-content: center;
+        }
+
+        .mfa-tip {
+            color: #6f7f92;
+            font-size: 13px;
+            line-height: 1.7;
+            margin-bottom: 12px;
+        }
+
+        .mfa-account {
+            margin-bottom: 14px;
+            padding: 12px 14px;
+            border-radius: 14px;
+            background: rgba(244, 248, 253, 0.92);
+            color: #42576d;
+            font-size: 13px;
+        }
+
+        .mfa-account strong {
+            color: #1e3956;
+        }
+
+        .mfa-footer {
+            display: flex;
+            justify-content: flex-end;
+            gap: 10px;
+            margin-top: 14px;
         }
 
         @media (max-width: 640px) {
@@ -494,6 +525,27 @@
         </div>
     </el-dialog>
 
+    <el-dialog
+        class="mfa-dialog"
+        title="MFA浜屾楠岃瘉"
+        :visible.sync="mfaDialogVisible"
+        width="420px"
+        :close-on-click-modal="false"
+        @close="closeMfaDialog"
+        append-to-body>
+        <div class="mfa-tip">璐﹀彿瀵嗙爜宸查�氳繃锛岃杈撳叆韬唤楠岃瘉鍣ㄤ腑鐨� 6 浣嶅姩鎬侀獙璇佺爜鍚庣户缁櫥褰曘��</div>
+        <div class="mfa-account">褰撳墠璐﹀彿锛�<strong>{{ mfaPending.username || loginForm.mobile || '--' }}</strong></div>
+        <el-form ref="mfaForm" :model="mfaForm" :rules="mfaRules" label-width="82px" size="small" @submit.native.prevent>
+            <el-form-item label="楠岃瘉鐮�" prop="code">
+                <el-input v-model.trim="mfaForm.code" maxlength="6" placeholder="璇疯緭鍏�6浣嶅姩鎬佺爜" @keyup.enter.native="handleMfaLogin"></el-input>
+            </el-form-item>
+        </el-form>
+        <div class="mfa-footer">
+            <el-button @click="closeMfaDialog">鍙栨秷</el-button>
+            <el-button type="primary" :loading="mfaLoading" @click="handleMfaLogin">楠岃瘉骞剁櫥褰�</el-button>
+        </div>
+    </el-dialog>
+
     <el-dialog class="text-dialog" :title="textDialog.title" :visible.sync="textDialogVisible" width="720px" append-to-body>
         <div class="dialog-text-label">{{ textDialog.label }}</div>
         <div v-if="textDialog.tip" class="dialog-text-tip">{{ textDialog.tip }}</div>
@@ -520,5 +572,5 @@
 <script type="text/javascript" src="../static/js/common.js"></script>
 <script type="text/javascript" src="../static/vue/js/vue.min.js"></script>
 <script type="text/javascript" src="../static/vue/element/element.js"></script>
-<script type="text/javascript" src="../static/js/login/login.js?v=20260310_login_vue"></script>
+<script type="text/javascript" src="../static/js/login/login.js?v=20260311_login_mfa"></script>
 </html>

--
Gitblit v1.9.1