廖井涛
2024-03-13 5ca512048bcb9fa1e29fa924a468ba1302c6c243
north-glass-erp/northglass-erp/src/views/LoginView.vue
@@ -1,5 +1,5 @@
<script lang="ts" setup>
import {reactive, ref} from "vue"
import {onMounted, onUnmounted, reactive, ref} from "vue"
import {useRouter,useRoute } from 'vue-router'
import type {FormInstance, FormRules} from 'element-plus'
import { ElMessage } from "element-plus";
@@ -7,9 +7,12 @@
import request from '@/utils/request'
import userInfo from '@/stores/userInfo'
import { sendSock, createWebSocket, closeSock,global_callback1 } from "@/utils/webSocket"
import { useI18n } from 'vue-i18n'
//语言获取
const { t } = useI18n()
const store=userInfo()
const ruleFormRef  = ref<FormInstance>()
let ruleFormRef  = ref<FormInstance>()
const router = useRouter()
const route = useRoute()
@@ -24,7 +27,7 @@
const validateUser = (rule: any, value: any, callback: any) => {
  if (value === '') {
    callback(new Error('请输入你的账号'))
    callback(new Error(t('login.userErr')))
  } else {
    callback()
  }
@@ -32,7 +35,7 @@
const validatePass = (rule: any, value: any, callback: any) => {
  if (value === '') {
    callback(new Error('请输入你的密码'))
    callback(new Error(  t('login.psErr')  ))
  } else {
    callback()
  }
@@ -55,14 +58,14 @@
          store.$patch({user:res.data})
          router.push('/main')
          ElMessage.success(`登录成功`)
          ElMessage.success(t('login.loginSuccessful'))
        } else {
          ElMessage.error(res['msg'])
          loginLoadings.value=false
          return false
        }
      }).catch(error => {
        ElMessage.error("服务器连接失败")
        ElMessage.error(t('login.connectErr'))
        loginLoadings.value=false
        return false
      })
@@ -80,38 +83,52 @@
let loginLoadings= ref(false)
let registerLoadings= ref(false)
const keyDown = (e) => {
  // 回车则执行登录方法 enter键的ASCII是13
  if (e.keyCode == 13 || e.keyCode == 100) {
    submitForm(ruleFormRef.value)
  }
}
onMounted(()=>{
  window.addEventListener('keydown', keyDown)
})
onUnmounted(() => {
  window.removeEventListener('keydown', keyDown)
})
</script>
<template>
  <div class="mainDiv">
  <div class="mainDiv" >
    <div id="main-login">
      <div id="img-div">
        <img id="img-pic" src="@/assets/img.png" alt="">
      </div>
      <div id="div-login">
        <h2>北玻自动化ERP管理系统</h2>
        <h2>{{$t('login.SysName')}}</h2>
        <el-form
            @submit.native.prevent
            ref="ruleFormRef"
            :model="userForm"
            status-icon
            :rules="rules"
        >
          <el-form-item label="用户:" prop="userId">
          <el-form-item :label="$t('login.user')+':'" prop="userId">
            <el-input
                v-model="userForm.userId"
                type="text"
                autocomplete="off"
                :prefix-icon="Avatar"
                placeholder="请输入你的账号"
                :placeholder="$t('login.userErr')"
            />
          </el-form-item>
          <el-form-item label="密码:" prop="pass">
          <el-form-item :label="$t('login.password')+':'" prop="pass">
            <el-input
                v-model="userForm.pass"
                type="password"
                autocomplete="off"
                :prefix-icon="Lock"
                placeholder="请输入你的密码"
                :placeholder="$t('login.pwErr')"
            />
          </el-form-item>
          <el-form-item id="submitForm">
@@ -119,13 +136,15 @@
                :loading="registerLoadings"
                type="primary"
                @click="register"
            >注册
            >{{$t('login.register')}}
            </el-button>
            <el-button
                :loading="loginLoadings"
                type="primary"
                native-type="submit"
                @click="submitForm(ruleFormRef)"
            >登录
                @keyup.enter.native="keyDown(e)"
            >{{$t('login.login')}}
            </el-button>
          </el-form-item>