No Description

inviteCodeLogin.vue 2.8KB

    <template> <div class="login"> <router-link to="home" class="logo-wrapper"></router-link> <div class="form-wrapper"> <div class="form-contain"> <p class="form-title">登录</p> <ul class='table-panel'> <li class="table-panel-single"><a href="#/loginPlat">密码登录</a></li> <li class="table-panel-single tablePanelActive">邀请码登录</li> </ul> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="demo-ruleForm"> <el-form-item prop="email"> <el-input v-model="ruleForm.email" placeholder="请输入邮箱地址"></el-input> </el-form-item> <el-form-item prop="inviteCode"> <el-input type="password" v-model="ruleForm.inviteCode" placeholder="请输入邀请码" auto-complete="off" @keydown.native="submitForm('ruleForm')"></el-input> </el-form-item> <el-form-item> <el-button type="primary" :disabled="isDisabl" :loading="logining" @click="submitForm('ruleForm')">登录</el-button> </el-form-item> </el-form> </div> </div> </div> </template> <script type="text/ecmascript-6"> export default { data() { return { logining: false, isDisabl: false, ruleForm: { email: '', inviteCode: '' }, rules: { email: [ { required: true, message: '请输入您的邮箱地址', trigger: 'blur' }, { type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur'] } ], inviteCode: [ { required: true, message: '请输入邀请码', trigger: 'blur' } ] } }; }, methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { this.logining = true; this.$axios.post('/ajax/sys/inviteLogin', this.ruleForm, res => { this.logining = false; if (res.success) { if (res.data) { this.$router.push({path: 'enterRegister', query: { id: res.data.id, orgName: res.data.name }}); } else { this.$message.error('邮箱或邀请码错误,请重新输入'); } } else { const errorMsg = { '-60001': '该账号已激活,请直接登录' } if (errorMsg[res.code]) { this.$message.error(errorMsg[res.code]); } } }); } else { return false; } }); } } }; </script> <style lang="scss" rel="stylesheet/scss" scoped> @import './style.scss'; </style>