From 4f437aec7cfb60fe87daec1c5e52b3ed1d10e719 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Thu, 25 Sep 2025 15:07:51 +0800
Subject: [PATCH] 1

---
 src/page/login/login.vue |  160 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 128 insertions(+), 32 deletions(-)

diff --git a/src/page/login/login.vue b/src/page/login/login.vue
index cb0a528..79cf95c 100644
--- a/src/page/login/login.vue
+++ b/src/page/login/login.vue
@@ -1,12 +1,31 @@
 <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">
+          <div class="forms_title">{{ $t("hj27") }}</div>
           <el-input
             :placeholder="$t('hj9')"
             :size="medium"
@@ -14,8 +33,8 @@
             clearable
           >
           </el-input>
+          <div class="forms_title">{{ $t("Password") }}</div>
           <el-input
-            style="margin-top: 0.46rem"
             show-password
             :placeholder="$t('hj10')"
             :size="medium"
@@ -30,9 +49,18 @@
             :disabled="!btnClass"
             class="butn"
             @click="loginIN"
-            >{{ $t("立即登录") }}</van-button
           >
-          <div class="password-operate" data-v-8cc76a7b="">
+            {{ $t("立即登录") }}
+          </van-button>
+          <van-button
+            type="info"
+            plain
+            class="butn_2"
+            @click="$router.push('/register')"
+          >
+            {{ $t("免費註冊") }}
+          </van-button>
+          <!-- <div class="password-operate" data-v-8cc76a7b="">
             <div class="forget" data-v-8cc76a7b="" @click="getApp()">
               {{ $t("hj12") }}
             </div>
@@ -41,24 +69,20 @@
                 $t("記住帳戶密碼")
               }}</van-checkbox>
             </div>
-          </div>
+          </div> -->
         </div>
       </div>
 
-      <div class="register" data-v-8cc76a7b="">
-        {{ $t("還沒賬號?")
-        }}<span
-          @click="$router.push('/register')"
-          data-v-8cc76a7b=""
-          style="color: rgb(5, 106, 239)"
-          >{{ $t("免費註冊") }}</span
-        >
-      </div>
+      <!-- <div class="register" data-v-8cc76a7b="">
+        {{ $t("還沒賬號?") }}
+        <span @click="$router.push('/register')" data-v-8cc76a7b="" style="color:#c4d600">{{ $t("免費註冊") }}</span>
+      </div> -->
     </div>
   </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";
@@ -75,10 +99,27 @@
       userName: "",
       btnClass: false,
       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");
@@ -111,7 +152,7 @@
     async loginIN() {
       let opts = {
         phone: this.userName,
-        userPwd: this.userPassword,
+        userPwd: this.userPassword
       };
       let data = await api.login(opts);
 
@@ -122,7 +163,7 @@
             "login_admin",
             JSON.stringify({
               phone: this.userName,
-              userPassword: this.userPassword,
+              userPassword: this.userPassword
             })
           );
         } else {
@@ -132,10 +173,11 @@
         this.$store.state.userInfo.token = data.data.token;
         this.undataToken(data.data.token);
         window.localStorage.setItem("USERTOKEN", data.data.token);
-        Notify({ type: "success", message: this.$t("hj36") });
+        // Notify({ type: "success", message: this.$t("hj36") });
 
         setTimeout(() => {
-          this.$router.push("/home");
+          // this.$router.push("/home");
+          this.$router.push("/home_index");
         }, 1000);
       } else {
         Notify({ type: "warning", message: data.msg });
@@ -145,17 +187,25 @@
         navigator.vibrate([55]);
       }
     },
+    // 选择语言
+    onSelect(e) {
+      window.localStorage.setItem("language", e.lang);
+      this.$i18n.locale = e.lang;
+    }
   },
   beforeDestroy() {},
-  created() {},
+  created() {}
 };
 </script>
 
 <style scoped lang="less">
+@green: #c4d600;
+
 .password-operate {
   display: flex;
   justify-content: space-between;
   margin-top: 0.53333rem;
+
   .forget {
     font-style: normal;
     font-weight: 400;
@@ -165,9 +215,14 @@
   }
 }
 
+/deep/ .van-checkbox__icon--checked .van-icon {
+  background: @green;
+  border-color: @green;
+}
+
 .register {
   font-style: normal;
-  font-weight: 400;
+  font-weight: 500;
   font-size: 0.37333rem;
   color: #8c9fad;
   margin: 0.4rem auto;
@@ -175,34 +230,55 @@
   width: 100%;
   height: 6rem;
   text-align: center;
+
   span {
     color: rgb(5, 106, 239);
   }
 }
+
 .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 {
   font-style: normal;
-  font-weight: 400;
+  font-weight: 500;
   font-size: 0.37333rem;
   line-height: 0.53333rem;
   color: #8c9fad;
 }
+
 /deep/ .van-button__text {
   font-size: 24px;
   font-family: "DINPro";
 }
+
 .login_page {
   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 {
@@ -232,11 +308,17 @@
       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%;
         height: 50px;
-        background: rgb(246, 246, 247);
+        background: #fff;
         // background: #1e1e1e;
         border-radius: 0.3564rem;
 
@@ -252,29 +334,43 @@
     /deep/.el-input__inner {
       width: 100%;
       height: 70px;
-      background-color: rgb(246, 246, 247) !important;
+      background-color: #fff !important;
       // background: #1e1e1e;
       border-radius: 8px;
       font-size: 0.45rem !important;
-      border: none;
+      border: #ddd solid 1px;
     }
 
     .bottom_btns {
       width: 100%;
       height: 3.3333rem;
+
       // margin-top: 0.8528rem;
       .butn {
         width: 100%;
         margin-top: 40px;
         height: 60px;
         border-radius: 8px;
+        background: @green;
+        border: none;
       }
+
+      .butn_2 {
+        width: 100%;
+        margin-top: 40px;
+        height: 60px;
+        border-radius: 8px;
+        color: @green;
+        border-color: @green;
+        margin-top: 0.4rem;
+      }
+
       .top_btn {
         border: none;
         width: 100%;
         height: 1.25rem;
         border-radius: 8px;
-        background: #0066ed;
+        background: @green;
         color: #fff;
         display: flex;
         align-items: center;
@@ -422,7 +518,7 @@
 }
 
 .on .top_btn {
-  background: #2d8cf0 !important;
+  background: @green !important;
 }
 
 /deep/.el-icon-circle-close::before {

--
Gitblit v1.9.3