| | |
| | | <div class="lowin-box lowin-login"> |
| | | <div class="lowin-box-inner"> |
| | | <el-form ref="loginFormRef" :model="loginForm" :rules="loginRules"> |
| | | <p>江西空管学生端</p> |
| | | <p>江西空管语音视频培训系统</p> |
| | | <div class="lowin-group"> |
| | | <el-form-item prop="userName"> |
| | | <label>用户名 </label> |
| | |
| | | </div> |
| | | <div class="lowin-group password-group"> |
| | | <el-form-item prop="password"> |
| | | <label>密码 <a href="#" class="forgot-link">忘记密码?</a></label> |
| | | <!-- <label>密码 <a href="#" class="forgot-link">忘记密码?</a></label> --> |
| | | <el-input class="lowin-input" :key="passwordType" ref="password" v-model="loginForm.password" |
| | | :type="passwordType" placeholder="密码" name="password" tabindex="2" auto-complete="on" |
| | | @keyup.native="checkCapslock" @blur="capsTooltip = false" @keyup.enter.native="handleLogin" /> |
| | |
| | | import { ref, reactive, onMounted, nextTick } from 'vue'; |
| | | import { useRouter } from 'vue-router'; |
| | | import { login } from '@/api/modules/user.js'; |
| | | import { useUserStore } from '@/store/index.js'; |
| | | |
| | | const userStore = useUserStore(); |
| | | |
| | | const router = useRouter(); |
| | | |
| | |
| | | const handleLogin = () => { |
| | | loginFormRef.value.validate((valid) => { |
| | | if (valid) { |
| | | router.push('/index'); |
| | | return; |
| | | loading.value = true; |
| | | login({}).then(res => { |
| | | console.log(res); |
| | | login(loginForm).then(res => { |
| | | loading.value = false; |
| | | userStore.setUserInfo(res.data); |
| | | router.push('/index'); |
| | | }).catch(err => { |
| | | console.log(err); |
| | | loading.value = false; |
| | | }); |
| | | } |