廖井涛
2024-09-06 10a26b9b670efef0a2adba675c794c539846aa3c
north-glass-erp/northglass-erp/src/views/LoginView.vue
@@ -7,14 +7,18 @@
import request from '@/utils/request'
import userInfo from '@/stores/userInfo'
import { sendSock, createWebSocket, closeSock,global_callback1 } from "@/utils/webSocket"
import userOrderInfo from '@/stores/sd/order/orderInfo'
import { useI18n } from 'vue-i18n'
import i18n from "@/lang/index"
//语言获取
const { t } = useI18n()
let language = ref(localStorage.getItem('lang') || 'zh')
const store=userInfo()
let ruleFormRef  = ref<FormInstance>()
const router = useRouter()
const route = useRoute()
const orderInfo = userOrderInfo()
const userForm = reactive({
  userId: '',
@@ -35,7 +39,7 @@
const validatePass = (rule: any, value: any, callback: any) => {
  if (value === '') {
    callback(new Error(t('login.psErr')))
    callback(new Error(  t('login.pwErr')  ))
  } else {
    callback()
  }
@@ -52,15 +56,16 @@
  formEl.validate((valid) => {
    if (valid) {
      loginLoadings.value=true
      request.post('/user/login',
      userForm.pass = btoa(userForm.pass)
      request.post('/userInfo/login',
          userForm).then((res) => {
        if(res['code']==200){
        if(res['code']==200 && res['data']){
          store.$patch({user:res.data})
          orderInfo.clearSelectDate()
          router.push('/main')
          ElMessage.success(t('login.loginSuccessful'))
        } else {
          ElMessage.error(res['msg'])
          ElMessage.error(t('login.loginErr'))
          loginLoadings.value=false
          return false
        }
@@ -68,6 +73,8 @@
        ElMessage.error(t('login.connectErr'))
        loginLoadings.value=false
        return false
      }).then(() => {
        userForm.pass = atob(userForm.pass)
      })
    }
  })
@@ -85,7 +92,7 @@
const keyDown = (e) => {
  // 回车则执行登录方法 enter键的ASCII是13
  if (e.keyCode == 13 || e.keyCode == 100) {
  if (e.keyCode == 13 ) {
    submitForm(ruleFormRef.value)
  }
}
@@ -95,7 +102,10 @@
onUnmounted(() => {
  window.removeEventListener('keydown', keyDown)
})
const changeLanguage = () =>{
  localStorage.setItem('lang',language.value)
  location.reload()
}
</script>
<template>
@@ -105,6 +115,15 @@
        <img id="img-pic" src="@/assets/img.png" alt="">
      </div>
      <div id="div-login">
        <el-select
            @change="changeLanguage"
            v-model="language"
            placeholder=" "
            style="float: right;width: 6rem">
          <el-option value="zh"  label="中文" />
          <el-option value="en"  label="English" />
          <el-option value="ru"  label="Русский язык" />
        </el-select>
        <h2>{{$t('login.SysName')}}</h2>
        <el-form
            @submit.native.prevent