passwordForm.vue 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <template>
  2. <el-form ref="loginForm" :model="form" :rules="rules" label-width="0" size="large" @keyup.enter="login">
  3. <el-form-item prop="username">
  4. <el-input v-model="form.username" prefix-icon="el-icon-user" clearable :placeholder="$t('login.userPlaceholder')"></el-input>
  5. </el-form-item>
  6. <el-form-item prop="password">
  7. <el-input v-model="form.password" prefix-icon="el-icon-lock" clearable show-password :placeholder="$t('login.PWPlaceholder')"></el-input>
  8. </el-form-item>
  9. <el-form-item style="margin-bottom: 10px">
  10. <el-col :span="12">
  11. <el-checkbox v-model="form.autologin" :label="$t('login.rememberMe')"></el-checkbox>
  12. </el-col>
  13. <el-col :span="12" class="login-forgot">
  14. <router-link to="/reset_password">{{ $t('login.forgetPassword') }}?</router-link>
  15. </el-col>
  16. </el-form-item>
  17. <el-form-item>
  18. <el-button type="primary" style="width: 100%" :loading="islogin" round @click="login">{{ $t('login.signIn') }}</el-button>
  19. </el-form-item>
  20. <div class="login-reg">
  21. {{ $t('login.noAccount') }} <router-link to="/user_register">{{ $t('login.createAccount') }}</router-link>
  22. </div>
  23. </el-form>
  24. </template>
  25. <script>
  26. import useStore from '@/store'
  27. const { user } = useStore()
  28. export default {
  29. data() {
  30. return {
  31. form: {
  32. username: 'admin',
  33. password: '100607',
  34. autologin: false
  35. },
  36. rules: {
  37. username: [{ required: true, message: this.$t('login.userError'), trigger: 'blur' }],
  38. password: [{ required: true, message: this.$t('login.PWError'), trigger: 'blur' }]
  39. },
  40. loading: false
  41. }
  42. },
  43. mounted() {},
  44. methods: {
  45. async login() {
  46. let validate = await this.$refs.loginForm.validate().catch(() => {})
  47. if (!validate) {
  48. return false
  49. }
  50. this.loading = true
  51. console.log(this.form);
  52. user.login(this.form).finally(() => {
  53. this.loading = false
  54. this.$message.success('Login Success 登录成功')
  55. })
  56. }
  57. },
  58. watch: {
  59. '$route.query': {
  60. handler(query) {
  61. user.$patch({
  62. loginQuery: query
  63. })
  64. },
  65. immediate: true
  66. }
  67. },
  68. }
  69. </script>
  70. <style></style>