|
@@ -1,14 +1,18 @@
|
|
|
<template>
|
|
|
<div class="login-container">
|
|
|
+ <!-- 顶部 -->
|
|
|
+ <div class="lang">
|
|
|
+ <LangSelect class="cursor-pointer"></LangSelect>
|
|
|
+ </div>
|
|
|
<!-- 登录表单 -->
|
|
|
<el-card class="card">
|
|
|
<div class="text">
|
|
|
- <h2>{{ siteInfo.zhTitle }}</h2>
|
|
|
+ <h2>{{ $t('login.title') }}</h2>
|
|
|
</div>
|
|
|
<el-form ref="loginFormRef" :model="loginData" :rules="loginRules" class="login-form">
|
|
|
<!-- 用户名 -->
|
|
|
<el-form-item prop="username">
|
|
|
- <el-input v-model="loginData.account" size="large" placeholder="请输入登录账号">
|
|
|
+ <el-input v-model="loginData.account" size="large" :placeholder="$t('login.placeholder1')">
|
|
|
<template #prefix>
|
|
|
<el-icon>
|
|
|
<User />
|
|
@@ -18,7 +22,7 @@
|
|
|
</el-form-item>
|
|
|
<!-- 密码 -->
|
|
|
<el-form-item prop="password">
|
|
|
- <el-input v-model="loginData.password" size="large" type="password" show-password placeholder="请输入登录密码">
|
|
|
+ <el-input v-model="loginData.password" size="large" type="password" show-password :placeholder="$t('login.placeholder2')">
|
|
|
<template #prefix>
|
|
|
<el-icon>
|
|
|
<Unlock />
|
|
@@ -27,15 +31,13 @@
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<!-- 登录按钮 -->
|
|
|
- <el-button :loading="loading" type="primary" size="large" class="button" @click.prevent="handleLogin">{{
|
|
|
- $t('login.login') }} </el-button>
|
|
|
+ <el-button :loading="loading" type="primary" size="large" class="button" @click.prevent="handleLogin">{{ $t('login.login') }} </el-button>
|
|
|
</el-form>
|
|
|
</el-card>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { siteInfo } from '@/layout/site'
|
|
|
// 接口
|
|
|
import { LoginStore } from '@/store/api/login'
|
|
|
const router = useRouter()
|
|
@@ -47,7 +49,7 @@ const loginData = ref({
|
|
|
password: '1qaz2wsx',
|
|
|
type: 'Admin'
|
|
|
})
|
|
|
-const loginRules = computed(() => { })
|
|
|
+const loginRules = computed(() => {})
|
|
|
const toLogin = async (data) => {
|
|
|
const res = await loginStore.login(data)
|
|
|
if (res.errcode == '0') {
|
|
@@ -80,6 +82,16 @@ function handleLogin() {
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
background: url('@/assets/images/login-bg.jpg') no-repeat center right;
|
|
|
+ .lang {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: flex-end;
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ right: 0;
|
|
|
+ height: 5rem;
|
|
|
+ padding: 0 1.25rem;
|
|
|
+ }
|
|
|
|
|
|
.login-form {
|
|
|
padding: 30px 10px;
|