From 9ddad348a549154e7b328f9d7dd9517d2abd330c Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Tue, 30 Sep 2025 09:47:25 +0800
Subject: [PATCH] 1

---
 src/page/login/login.vue |  125 +++++++++++++++++++++++++++++++++++------
 1 files changed, 105 insertions(+), 20 deletions(-)

diff --git a/src/page/login/login.vue b/src/page/login/login.vue
index b852d92..79cf95c 100644
--- a/src/page/login/login.vue
+++ b/src/page/login/login.vue
@@ -1,23 +1,63 @@
 <template>
   <div class="login_page">
-    <headers />
+    <!-- <headers /> -->
+    <tab-head :leftShow="false" :rightShow="false">
+      <van-popover
+        v-model="languageShow"
+        trigger="click"
+        :actions="actions"
+        @select="onSelect"
+        placement="bottom-end"
+      >
+        <template #reference>
+          <div class="multilingual">
+            <img src="../../assets/img/language.svg" alt="" />
+          </div>
+        </template>
+      </van-popover>
+    </tab-head>
+
+    <img src="../../assets/img/logo.png" alt="" class="logo" />
+
     <div class="login_title animated slideInDown">
-      <span>{{ $t("登錄賬號") }}</span>
+      <span>{{ $t("dlan") }}</span>
     </div>
     <div class="logins_content">
       <div class="login_forms">
         <div class="top_forms">
-          <el-input :placeholder="$t('hj9')" :size="medium" v-model="userName" clearable>
+          <div class="forms_title">{{ $t("hj27") }}</div>
+          <el-input
+            :placeholder="$t('hj9')"
+            :size="medium"
+            v-model="userName"
+            clearable
+          >
           </el-input>
-          <el-input style="margin-top: 0.46rem" show-password :placeholder="$t('hj10')" :size="medium"
-            v-model="userPassword" @input="handleInput()">
+          <div class="forms_title">{{ $t("Password") }}</div>
+          <el-input
+            show-password
+            :placeholder="$t('hj10')"
+            :size="medium"
+            v-model="userPassword"
+            @input="handleInput()"
+          >
           </el-input>
         </div>
         <div class="bottom_btns">
-          <van-button type="info" :disabled="!btnClass" class="butn" @click="loginIN">
+          <van-button
+            type="info"
+            :disabled="!btnClass"
+            class="butn"
+            @click="loginIN"
+          >
             {{ $t("立即登录") }}
           </van-button>
-          <van-button type="info" plain class="butn_2" @click="$router.push('/register')">
+          <van-button
+            type="info"
+            plain
+            class="butn_2"
+            @click="$router.push('/register')"
+          >
             {{ $t("免費註冊") }}
           </van-button>
           <!-- <div class="password-operate" data-v-8cc76a7b="">
@@ -41,7 +81,8 @@
   </div>
 </template>
 <script>
-import headers from "./components/header.vue";
+// import headers from "./components/header.vue";
+import tabHead from "../../components/tabHead.vue";
 import * as api from "@/axios/api";
 import { Notify } from "vant";
 import { mapActions, mapMutations } from "vuex";
@@ -57,11 +98,28 @@
       userPassword: "",
       userName: "",
       btnClass: false,
-      medium: "medium"
+      medium: "medium",
+      languageShow: false, // 语言选择
+      // 多语言配置
+      actions: [
+        {
+          text: "English",
+          lang: "en"
+        },
+        {
+          text: "中文(繁体)",
+          lang: "zh-Hant"
+        },
+        {
+          text: "हिंदी",
+          lang: "hi"
+        }
+      ]
     };
   },
   components: {
-    headers
+    // headers,
+    tabHead
   },
   mounted() {
     const ret = window.localStorage.getItem("login_admin");
@@ -128,10 +186,15 @@
         // 支持
         navigator.vibrate([55]);
       }
+    },
+    // 选择语言
+    onSelect(e) {
+      window.localStorage.setItem("language", e.lang);
+      this.$i18n.locale = e.lang;
     }
   },
-  beforeDestroy() { },
-  created() { }
+  beforeDestroy() {},
+  created() {}
 };
 </script>
 
@@ -176,11 +239,11 @@
 .login_title {
   font-family: "DINPro", serif;
   font-style: normal;
-  font-weight: 500;
-  font-size: 0.48rem;
+  font-weight: 700;
+  font-size: 0.7rem;
   line-height: 0.66667rem;
   color: #14181f;
-  margin-left: 0.53333rem;
+  text-align: center;
 }
 
 /deep/ .van-checkbox__label {
@@ -200,6 +263,22 @@
   display: flex;
   flex-direction: column;
   height: 100vh;
+
+  .multilingual {
+    width: 0.8em;
+    height: 0.8em;
+    margin-left: 0.25em;
+
+    img {
+      width: 100%;
+      height: 100%;
+    }
+  }
+}
+
+.logo {
+  width: 50vw;
+  margin: 10vw auto 15vw;
 }
 
 .logins_content {
@@ -229,6 +308,12 @@
       align-items: center;
       flex-wrap: wrap;
 
+      .forms_title {
+        font-size: 0.4rem;
+        margin-top: 0.5rem;
+        margin-bottom: 0.2rem;
+      }
+
       .user_name,
       .password {
         width: 100%;
@@ -237,7 +322,7 @@
         // background: #1e1e1e;
         border-radius: 0.3564rem;
 
-        >input {
+        > input {
           width: 100%;
           height: 100%;
           padding-left: 0.3564rem;
@@ -277,7 +362,7 @@
         border-radius: 8px;
         color: @green;
         border-color: @green;
-        margin-top: .4rem;
+        margin-top: 0.4rem;
       }
 
       .top_btn {
@@ -293,7 +378,7 @@
         font-size: 0.5128rem;
         margin-top: 0.75rem;
 
-        >span {
+        > span {
           font-weight: 530 !important;
         }
       }
@@ -342,7 +427,7 @@
     align-items: center;
     justify-content: center;
 
-    >span {
+    > span {
       font-size: 0.3046rem;
       color: #000;
       background-color: #fff;
@@ -405,7 +490,7 @@
     width: 3rem;
     height: 3.5769rem;
 
-    >img {
+    > img {
       width: 100%;
       height: 100%;
     }

--
Gitblit v1.9.3