You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

244 lines
4.7 KiB

4 years ago
<template>
3 years ago
<view class="login">
<view class="bkg">
<u-image src="/static/login/bkg-login.png" width="100vw" height="100vh"></u-image>
4 years ago
</view>
3 years ago
<view class="content">
<view class="title">
<view class="top-word">HELLO</view>
<view class="bottom-word">欢迎使用四世同堂管理系统</view>
</view>
4 years ago
3 years ago
<view class="username">
<view class="left-name">账户名</view>
3 years ago
<u-input v-model="form.username" placeholder="请输入账户名" :custom-style="inputStyle"
:placeholder-style="placeholderStyle">
3 years ago
</u-input>
</view>
4 years ago
3 years ago
<view class="password">
<view class="left-name">密码</view>
3 years ago
<u-input v-model="form.password" placeholder="请输入密码" type="password" :custom-style="inputStyle"
3 years ago
:placeholder-style="placeholderStyle"></u-input>
</view>
4 years ago
3 years ago
<view class="save-state">
3 years ago
<view class="radio" @click="isRemeber = !isRemeber">
3 years ago
<u-icon name="checkbox-mark" color="#fff" size="28" v-show="isRemeber">
</u-icon>
</view>
<view class="radio-text">记住当前状态</view>
</view>
4 years ago
3 years ago
<view class="btn">
3 years ago
<u-button :custom-style="btnStyle" :ripple="false" :hair-line="false" @click="login"></u-button>
3 years ago
</view>
3 years ago
<view class="bottom"> 2022四世同堂服务有限公司 </view>
</view>
4 years ago
</view>
</template>
<script>
export default {
data() {
return {
placeholderStyle: "color:'#999';font-size:'28rpx';font-weight:'500';",
inputStyle: {
color: "#999",
minHeight: "40rpx",
height: "40rpx",
3 years ago
flex: "1",
4 years ago
lineHeight: "40rpx",
fontSize: "28rpx",
3 years ago
fontWeight: "500",
4 years ago
},
btnStyle: {
color: "#fff",
fontFamily: "PingFang-SC-Medium, PingFang-SC;",
fontWeight: "500",
background: "#4CBD8D",
width: "600rpx",
height: "90rpx",
borderRadius: "6rpx",
border: "none",
fontSize: "28rpx",
letterSpacing: "10rpx",
3 years ago
marginTop: "66rpx",
},
3 years ago
isRemeber: true,
3 years ago
form: {
username: "",
password: "",
},
};
4 years ago
},
3 years ago
methods: {
login() {
3 years ago
if (this.form.username == "") {
3 years ago
uni.showToast({
icon: "none",
title: `请正确填写登录名`,
});
return false
}
3 years ago
if (this.form.password == "") {
3 years ago
uni.showToast({
icon: "none",
title: `请正确填写密码`,
});
return false
}
3 years ago
3 years ago
this.$u.api.login(this.form).then(res => {
this.$u.vuex("vuex_token", res.access_token);
this.getInfo();
})
},
3 years ago
async getInfo() {
await this.$store.dispatch('me')
uni.showToast({
icon: "none",
title: `欢迎回来,${this.vuex_user.name}`,
});
setTimeout(() => {
3 years ago
uni.switchTab({
url: "/pages/home/home"
});
3 years ago
}, 1500)
3 years ago
},
},
computed: {},
};
4 years ago
</script>
<style scoped lang="scss">
3 years ago
/deep/.u-input__right-icon {
display: none !important;
}
4 years ago
.login {
width: 100vw;
height: 100vh;
3 years ago
background: #187bfa;
3 years ago
.bkg {
z-index: 0;
position: fixed;
top: 0;
left: 0;
}
4 years ago
}
3 years ago
.content {
z-index: 1;
position: relative;
4 years ago
3 years ago
.title {
3 years ago
color: #fff;
4 years ago
3 years ago
padding: 414rpx 0 60rpx 76rpx;
4 years ago
3 years ago
.top-word {
width: 400rpx;
height: 168rpx;
font-size: 120rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
line-height: 168rpx;
}
4 years ago
3 years ago
.bottom-word {
width: 384rpx;
height: 46rpx;
font-size: 32rpx;
font-family: PingFang-SC-Medium, PingFang-SC;
font-weight: 500;
line-height: 46rpx;
4 years ago
3 years ago
padding-top: calc(576 - 414) rpx;
3 years ago
}
4 years ago
}
3 years ago
.input {
height: 90rpx;
width: 600rpx;
border-radius: 6rpx;
display: flex;
align-items: center;
background: #fff;
3 years ago
border: 2rpx solid #fffefe;
3 years ago
margin: 0 auto;
.left-name {
width: 84rpx;
height: 40rpx;
font-size: 28rpx;
font-family: PingFang-SC-Medium, PingFang-SC;
font-weight: 500;
color: #666666;
line-height: 40rpx;
text-align-last: justify;
margin: 0 34rpx 0 32rpx;
}
}
4 years ago
3 years ago
.username {
@extend .input;
}
4 years ago
3 years ago
.password {
@extend .input;
4 years ago
3 years ago
margin-top: 40rpx;
}
4 years ago
3 years ago
.save-state {
display: flex;
align-items: center;
3 years ago
margin-top: 40rpx;
margin-left: 76rpx;
.radio {
width: 28rpx;
height: 28rpx;
border-radius: 6rpx;
3 years ago
border: 2rpx solid #ffffff;
3 years ago
display: flex;
justify-content: center;
align-items: center;
}
.radio-text {
width: 144rpx;
height: 34rpx;
font-size: 24rpx;
font-family: PingFang-SC-Medium, PingFang-SC;
font-weight: 500;
3 years ago
color: #fff;
3 years ago
line-height: 34rpx;
margin-left: 30rpx;
}
4 years ago
}
3 years ago
.bottom {
width: 298rpx;
4 years ago
height: 34rpx;
font-size: 24rpx;
font-family: PingFang-SC-Medium, PingFang-SC;
font-weight: 500;
3 years ago
color: #ffffff;
4 years ago
line-height: 34rpx;
3 years ago
margin: 418rpx auto 0 auto;
4 years ago
}
}
</style>