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

---
 src/main/webapp/views/login.html |   53 +++++++++++++++++++++++++----------------------------
 1 files changed, 25 insertions(+), 28 deletions(-)

diff --git a/src/main/webapp/views/login.html b/src/main/webapp/views/login.html
index 1574206..47918db 100644
--- a/src/main/webapp/views/login.html
+++ b/src/main/webapp/views/login.html
@@ -454,37 +454,34 @@
     <div class="login-layout">
         <section class="hero-panel animate__animated animate__fadeInLeft">
             <div class="brand-chip">Zoneyung WCS</div>
-            <div class="hero-title">WCS绯荤粺璁╄澶囪皟搴︺�佷换鍔℃墽琛屼笌鐜板満鐩戞帶淇濇寔鍦ㄥ悓涓�濂椾笟鍔¢摼璺腑銆�</div>
+            <div class="hero-title">{{ text('login.hero.title', 'WCS绯荤粺璁╄澶囪皟搴︺�佷换鍔℃墽琛屼笌鐜板満鐩戞帶淇濇寔鍦ㄥ悓涓�濂椾笟鍔¢摼璺腑銆�') }}</div>
             <div class="hero-subtitle">
-                Warehouse Control System 闈㈠悜鑷姩鍖栫珛浣撲粨搴撶幇鍦烘墽琛屽眰锛屽洿缁曞爢鍨涙満銆丷GV銆佽緭閫佺珯鍙般�佷换鍔℃寚浠ゃ��
-                搴撲綅鐘舵�佸拰鏃ュ織杩借釜杩涜缁熶竴璋冨害涓庡彲瑙嗗寲绠$悊锛屽府鍔╀粨鍌ㄧ郴缁熷疄鐜扮ǔ瀹氥�佸彲杩芥函銆佸彲鑱斿姩鐨勪綔涓氭帶鍒躲��
-                娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙搁暱鏈熶笓娉ㄤ簬鑷姩鍖栫珛浣撲粨搴撲笌鏅鸿兘鐗╂祦绯荤粺寤鸿锛岃鐩栨柟妗堣璁°�佽蒋浠舵帶鍒躲��
-                璁惧闆嗘垚涓庨」鐩疄鏂戒氦浠樸��
+                {{ text('login.hero.subtitle', 'Warehouse Control System 闈㈠悜鑷姩鍖栫珛浣撲粨搴撶幇鍦烘墽琛屽眰锛屽洿缁曞爢鍨涙満銆丷GV銆佽緭閫佺珯鍙般�佷换鍔℃寚浠ゃ�佸簱浣嶇姸鎬佸拰鏃ュ織杩借釜杩涜缁熶竴璋冨害涓庡彲瑙嗗寲绠$悊锛屽府鍔╀粨鍌ㄧ郴缁熷疄鐜扮ǔ瀹氥�佸彲杩芥函銆佸彲鑱斿姩鐨勪綔涓氭帶鍒躲�傛禉姹熶腑鎵珛搴撴妧鏈湁闄愬叕鍙搁暱鏈熶笓娉ㄤ簬鑷姩鍖栫珛浣撲粨搴撲笌鏅鸿兘鐗╂祦绯荤粺寤鸿锛岃鐩栨柟妗堣璁°�佽蒋浠舵帶鍒躲�佽澶囬泦鎴愪笌椤圭洰瀹炴柦浜や粯銆�') }}
             </div>
             <div class="hero-metrics">
                 <div class="metric-card">
-                    <div class="metric-value">璋冨害</div>
-                    <div class="metric-label">缁熶竴缂栨帓鐜板満鎵ц浠诲姟</div>
+                    <div class="metric-value">{{ text('login.hero.metric.dispatch.title', '璋冨害') }}</div>
+                    <div class="metric-label">{{ text('login.hero.metric.dispatch.desc', '缁熶竴缂栨帓鐜板満鎵ц浠诲姟') }}</div>
                 </div>
                 <div class="metric-card">
-                    <div class="metric-value">杩芥函</div>
-                    <div class="metric-label">浣滀笟銆佽澶囥�佹棩蹇楀叏閾捐矾鐣欑棔</div>
+                    <div class="metric-value">{{ text('login.hero.metric.trace.title', '杩芥函') }}</div>
+                    <div class="metric-label">{{ text('login.hero.metric.trace.desc', '浣滀笟銆佽澶囥�佹棩蹇楀叏閾捐矾鐣欑棔') }}</div>
                 </div>
                 <div class="metric-card">
-                    <div class="metric-value">闆嗘垚</div>
-                    <div class="metric-label">瀵规帴WMS銆佽澶囦笌涓氬姟瑙勫垯</div>
+                    <div class="metric-value">{{ text('login.hero.metric.integration.title', '闆嗘垚') }}</div>
+                    <div class="metric-label">{{ text('login.hero.metric.integration.desc', '瀵规帴WMS銆佽澶囦笌涓氬姟瑙勫垯') }}</div>
                 </div>
             </div>
             <div class="hero-footer">
-                <span>娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙�</span>
-                <span>鑷姩鍖栫珛浣撲粨搴撲笌鏅鸿兘鐗╂祦绯荤粺瑙e喅鏂规</span>
+                <span>{{ text('login.hero.company.name', '娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙�') }}</span>
+                <span>{{ text('login.hero.company.solution', '鑷姩鍖栫珛浣撲粨搴撲笌鏅鸿兘鐗╂祦绯荤粺瑙e喅鏂规') }}</span>
             </div>
         </section>
 
         <section class="login-card animate__animated animate__fadeInUp">
             <div class="login-head">
                 <h1 class="login-title" @click="handleTitleClick">{{ text('login.title', 'WCS绯荤粺V3.0') }}</h1>
-                <div class="login-subtitle">璇疯緭鍏ヨ处鍙峰拰瀵嗙爜杩涘叆绯荤粺銆�</div>
+                <div class="login-subtitle">{{ text('login.subtitle', '璇疯緭鍏ヨ处鍙峰拰瀵嗙爜杩涘叆绯荤粺銆�') }}</div>
             </div>
             <div class="login-body">
                 <el-form ref="loginForm" class="login-form" :model="loginForm" :rules="loginRules" @submit.native.prevent>
@@ -506,7 +503,7 @@
         </section>
     </div>
 
-    <el-dialog class="tools-dialog" title="绯荤粺宸ュ叿" :visible.sync="toolsDialogVisible" width="560px" :close-on-click-modal="true" append-to-body>
+    <el-dialog class="tools-dialog" :title="text('login.tools.title', '绯荤粺宸ュ叿')" :visible.sync="toolsDialogVisible" width="560px" :close-on-click-modal="true" append-to-body>
         <div class="tool-group">
             <div class="tool-title">{{ text('login.tools.recommended', '鎺ㄨ崘鎿嶄綔') }}</div>
             <div class="tool-actions">
@@ -527,22 +524,22 @@
 
     <el-dialog
         class="mfa-dialog"
-        title="MFA浜屾楠岃瘉"
+        :title="text('login.mfa.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>
+        <div class="mfa-tip">{{ text('login.mfa.tip', '璐﹀彿瀵嗙爜宸查�氳繃锛岃杈撳叆韬唤楠岃瘉鍣ㄤ腑鐨� 6 浣嶅姩鎬侀獙璇佺爜鍚庣户缁櫥褰曘��') }}</div>
+        <div class="mfa-account">{{ text('login.mfa.currentAccount', '褰撳墠璐﹀彿锛�') }}<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 :label="text('login.mfa.codeLabel', '楠岃瘉鐮�')" prop="code">
+                <el-input v-model.trim="mfaForm.code" maxlength="6" :placeholder="text('login.mfa.codePlaceholder', '璇疯緭鍏�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>
+            <el-button @click="closeMfaDialog">{{ text('login.mfa.cancel', '鍙栨秷') }}</el-button>
+            <el-button type="primary" :loading="mfaLoading" @click="handleMfaLogin">{{ text('login.mfa.submit', '楠岃瘉骞剁櫥褰�') }}</el-button>
         </div>
     </el-dialog>
 
@@ -551,18 +548,18 @@
         <div v-if="textDialog.tip" class="dialog-text-tip">{{ textDialog.tip }}</div>
         <el-input v-model="textDialog.text" type="textarea" :rows="10" readonly></el-input>
         <div class="text-footer">
-            <el-button @click="textDialogVisible = false">鍏抽棴</el-button>
+            <el-button @click="textDialogVisible = false">{{ text('login.dialog.close', '鍏抽棴') }}</el-button>
             <el-button type="primary" @click="copyText">{{ text('copy', '澶嶅埗') }}</el-button>
         </div>
     </el-dialog>
 
-    <el-dialog class="upload-dialog" title="褰曞叆璁稿彲璇�" :visible.sync="uploadDialogVisible" width="760px" append-to-body>
-        <div class="dialog-text-label">璁稿彲璇� Base64</div>
-        <div class="dialog-text-tip">灏嗚鍙瘉鏈嶅姟绔繑鍥炵殑 license 瀛楁瀹屾暣绮樿创鍒拌繖閲屻��</div>
+    <el-dialog class="upload-dialog" :title="text('login.tools.uploadLicense', '褰曞叆璁稿彲璇�')" :visible.sync="uploadDialogVisible" width="760px" append-to-body>
+        <div class="dialog-text-label">{{ text('login.license.label', '璁稿彲璇� Base64') }}</div>
+        <div class="dialog-text-tip">{{ text('login.license.tip', '灏嗚鍙瘉鏈嶅姟绔繑鍥炵殑 license 瀛楁瀹屾暣绮樿创鍒拌繖閲屻��') }}</div>
         <el-input v-model.trim="licenseBase64" type="textarea" :rows="10"></el-input>
         <div class="upload-footer">
-            <el-button @click="uploadDialogVisible = false">鍙栨秷</el-button>
-            <el-button type="primary" @click="submitLicense">鎻愪氦</el-button>
+            <el-button @click="uploadDialogVisible = false">{{ text('login.mfa.cancel', '鍙栨秷') }}</el-button>
+            <el-button type="primary" @click="submitLicense">{{ text('login.license.submit', '鎻愪氦') }}</el-button>
         </div>
     </el-dialog>
 </div>

--
Gitblit v1.9.1