From bd21c609d3e0f325f10f20bb1f59ae24a4b35dc2 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 03 三月 2025 10:29:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
UI-Project/src/views/LoginView.vue | 77 +++++++++++++++++++-------------------
1 files changed, 38 insertions(+), 39 deletions(-)
diff --git a/UI-Project/src/views/LoginView.vue b/UI-Project/src/views/LoginView.vue
index 21d4f05..0bb6054 100644
--- a/UI-Project/src/views/LoginView.vue
+++ b/UI-Project/src/views/LoginView.vue
@@ -5,59 +5,61 @@
import {ElMessage} from 'element-plus'
import request from '@/utils/request'
import userInfo from '@/stores/userInfo'
-
+import { useI18n } from 'vue-i18n'
const store = userInfo()
let ruleFormRef = ref<FormInstance>()
const router = useRouter()
const route = useRoute()
-
+const { t } = useI18n()
+let language = ref(localStorage.getItem('lang') || 'zh')
+const changeLanguage = () =>{
+ localStorage.setItem('lang',language.value)
+ location.reload()
+}
const userForm = reactive({
userName: '',
password: '',
})
-
if (typeof route.query.id != 'undefined') {
userForm.userId = <string>route.query.id
}
-
const validateUser = (rule: any, value: any, callback: any) => {
if (value === '') {
- callback(new Error('璇疯緭鍏ヤ綘鐨勮处鍙�'))
+ callback(new Error(t('login.userErr')))
} else {
callback()
}
}
-
const validatePass = (rule: any, value: any, callback: any) => {
if (value === '') {
- callback(new Error('璇疯緭鍏ヤ綘鐨勫瘑鐮�'))
+ callback(new Error(t('login.pwErr')))
} else {
callback()
}
}
-
const rules = reactive<FormRules<typeof userForm>>({
userId: [{validator: validateUser, trigger: 'blur'}],
pass: [{validator: validatePass, trigger: 'blur'}],
})
-
//鐧婚檰鏂规硶
const submitForm = (formEl: FormInstance | undefined) => {
+ store.$patch({
+ user: null,
+ })
if (!formEl) return
formEl.validate((valid) => {
if (valid) {
loginLoadings.value = true
request
- .post('/loadGlass/userinfo/login', userForm)
+ // .post('/loadGlass/userinfo/login', userForm)
+ .post('/loadGlass/sys/user/login', userForm)
.then((res) => {
if (res['code'] == 200) {
store.$patch({user: res.data})
- console.log(res.data)
-
router.push('/main')
- ElMessage.success(`鐧诲綍鎴愬姛`)
+ ElMessage.success(t('login.loginSuccessful'))
} else {
- ElMessage.error(res['msg'])
+ // ElMessage.error(res['msg'])
store.$patch({
user: null,
})
@@ -66,7 +68,7 @@
}
})
.catch((error) => {
- ElMessage.error('鏈嶅姟鍣ㄨ繛鎺ュけ璐�')
+ ElMessage.error(t('main.connectErr'))
store.$patch({
user: null,
})
@@ -76,16 +78,13 @@
}
})
}
-
function register() {
router.push({
path: '/register',
})
}
-
let loginLoadings = ref(false)
let registerLoadings = ref(false)
-
const keyDown = (e) => {
// 鍥炶溅鍒欐墽琛岀櫥褰曟柟娉� enter閿殑ASCII鏄�13
if (e.keyCode == 13 || e.keyCode == 100) {
@@ -99,7 +98,6 @@
window.removeEventListener('keydown', keyDown)
})
</script>
-
<template>
<div class="mainDiv">
<div id="main-login">
@@ -112,26 +110,36 @@
<img src="../../src/assets/3.png">
</div>
<div style="position: absolute; left: 15vw; top: 22vw; font-size: 55px;color: rgba(29, 33, 41, 1);">
- 鍖楃幓MES绯荤粺
+ {{ $t('northglassMESsystem') }}
</div>
</div>
<div id="div-login">
+ <!--璇█鍒囨崲鎸夐挳-->
+ <el-select
+ @change="changeLanguage"
+ v-model="language"
+ placeholder=" "
+ style="float: right;width: 9rem">
+ <el-option value="zh" label="涓枃" />
+ <el-option value="py" label="袪褍褋褋泻懈泄 褟蟹褘泻" />
+ <el-option value="en" label="English" />
+ </el-select>
<el-form @submit.native.prevent
ref="ruleFormRef"
:model="userForm"
status-icon
:rules="rules">
<div id="center">
- <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">璐﹀彿</div>
+ <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">{{ $t('login.user') }}</div>
<el-form-item prop="userId">
<el-input style="width: 340px;"
v-model="userForm.userName"
type="text"
autocomplete="off"
:prefix-icon="Avatar"
- placeholder="璇疯緭鍏ヨ处鍙�"/>
+ :placeholder="$t('login.userErr')"/>
</el-form-item>
- <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">瀵嗙爜</div>
+ <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">{{ $t('login.password') }}</div>
<el-form-item prop="pass">
<el-input style="width: 340px;"
v-model="userForm.password"
@@ -139,44 +147,41 @@
autocomplete="off"
:prefix-icon="Lock"
show-password
- placeholder="璇疯緭鍏ュ瘑鐮�"/>
+ :placeholder="$t('login.pwErr')"
+ />
</el-form-item>
<el-form-item id="submitForm">
<el-button :loading="loginLoadings"
type="primary"
native-type="submit"
+ style="width: 80px;"
@click="submitForm(ruleFormRef)"
@keyup.enter.native="keyDown(e)"
- plain>鐧诲綍
+ plain>{{ $t('login.login') }}
</el-button>
- <el-button :loading="registerLoadings"
+ <!-- <el-button :loading="registerLoadings"
type="primary"
@click="register"
- plain>娉ㄥ唽
- </el-button>
-
+ plain>{{ $t('login.register') }}
+ </el-button> -->
</el-form-item>
</div>
</el-form>
</div>
</div>
-
</div>
</template>
-
<style scoped>
.mainDiv {
overflow: hidden;
min-width: 718px;
background-image: url('../../src/assets/background.jpg');
}
-
#main-login {
margin: 150px auto 0 auto;
height: 70vh;
width: 80vw;
}
-
#img-div {
width: 55%;
height: 100%;
@@ -185,12 +190,10 @@
align-items: center;
float: left;
}
-
#img-pic {
max-height: 90%;
max-width: 100%;
}
-
#div-login {
margin-top: 5%;
/* margin-top: 20%; */
@@ -203,22 +206,18 @@
border-radius: 4px;
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0), 0 6px 5px 0 rgba(0, 0, 0, 0.19);
}
-
#center {
margin-top: -30px;
}
-
.el-form {
width: 60%;
margin: 20% auto auto;
}
-
#submitForm {
display: flex;
justify-content: space-evenly;
margin-top: 2rem;
}
-
:deep(.el-form-item__content) {
flex: unset;
}
--
Gitblit v1.8.0