InspectionCleaning/pages/public/login.vue

120 lines
2.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="content">
<view class="logo">
<image style="width: 150rpx; height: 150rpx; " src="/static/images/logo.png" alt="" /></image>
</view>
<view class="login">
<u-form :model="form" ref="uForm" :error-type="['toast']">
<u-form-item label="帐号:" prop="phone">
<u-input v-model="form.phone" placeholder="请输入登陆账号" />
</u-form-item>
<u-form-item label="密码:" prop="password">
<u-input type="password" v-model="form.password" placeholder="请输入密码"/>
</u-form-item>
</u-form>
<u-button @click="submit" style="margin-top: 30rpx;" type="primary">登录</u-button>
<view class="forgetPassword" @click="forgetPassWord">忘记密码</view>
<view class="reg" @click="register">没有帐号注册</view>
</view>
</view>
</template>
<script>
import {toast, clearStorageSync, setStorageSync, getStorageSync, useRouter} from '@/utils/utils.js'
export default {
data() {
return {
form: {
phone: '',
password: '',
},
rules: {
phone: [
{
required: true,
message: '请输入帐号',
// 可以单个或者同时写两个触发验证方式
trigger: ['change','blur'],
}
],
password: [
{
required: true,
message: '请输入密码',
// 可以单个或者同时写两个触发验证方式
trigger: ['change','blur'],
}
]
}
};
},
methods: {
submit() {
this.$refs.uForm.validate(valid => {
if (valid) {
const data = {
login_code: this.form.login_code,
phone: this.form.phone,
password: this.form.password,
}
this.$api.login(data).then(res => {
console.log(res)
if (res.code !== 0) {
toast(res.msg)
} else {
toast('登录成功')
setStorageSync('token' ,res.data.token )
useRouter('/pages/index/index',{} ,'switchTab')
}
})
} else {
console.log('验证失败');
}
});
},
register(){
useRouter('/pages/public/register')
},
forgetPassWord(){
useRouter('/pages/public/forget_password')
}
},
// 必须要在onReady生命周期因为onLoad生命周期组件可能尚未创建完毕
onReady() {
this.$refs.uForm.setRules(this.rules);
}
};
</script>
<style lang="scss" scoped>
.content {
padding: 0 10rpx;
width:100%;
background-image: url('/static/images/login_bg.png') ;
background-size: cover;
background-repeat: no-repeat;
background-position: left top;
}
.logo{
width:150rpx;
margin:0 auto;
padding-top:140rpx;
}
.login{
width: 80%;
margin: 0 auto;
margin-top: 260rpx;
}
.title {
text-align: center;
margin: 80rpx 0 0 0;
}
.reg{float: right;padding:30rpx 0 30rpx 0;color:#2979ff;}
.forgetPassword{float: left;padding:30rpx 0 30rpx 0;color:#2979ff;}
</style>