243 lines
6.3 KiB
Vue
243 lines
6.3 KiB
Vue
<template>
|
||
<view class="flex-col page">
|
||
<u-navbar
|
||
:custom-back="backFn"
|
||
:background="background"
|
||
:border-bottom="false"
|
||
title=""
|
||
></u-navbar>
|
||
<view>
|
||
<view class="title">
|
||
<h3>请选择登录角色</h3>
|
||
<text class="tips"
|
||
>温馨提示:因为系统中存在多个角色,请选择角色后再登录</text
|
||
>
|
||
</view>
|
||
<view class="selectList">
|
||
<view
|
||
class="item flex-row"
|
||
:class="{ 'item-selected': [0,2].includes(vuex_user.userType) }"
|
||
@click="goStudent"
|
||
>
|
||
<view class="name">
|
||
<text class="text">我是学生</text>
|
||
<text class="text text-en">Student</text>
|
||
</view>
|
||
<view class="student"></view>
|
||
</view>
|
||
<view
|
||
class="item flex-row"
|
||
:class="{ 'item-selected': vuex_user.userType == '1' }"
|
||
@click="goTeacher"
|
||
>
|
||
<view class="name">
|
||
<text class="text">我是教师</text>
|
||
<text class="text text-en">Teacher</text>
|
||
</view>
|
||
<view class="teacher"></view>
|
||
</view>
|
||
<!-- <view
|
||
class="item flex-row"
|
||
:class="{ 'item-selected': vuex_user.userType == '2' }"
|
||
@click="goGraduate"
|
||
>
|
||
<view class="name">
|
||
<text class="text">我是毕业生</text>
|
||
<text class="text text-en">Graduate</text>
|
||
</view>
|
||
<view class="graduate"></view>
|
||
</view> -->
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import uButton from "../../uview-ui/components/u-button/u-button.vue";
|
||
|
||
export default {
|
||
components: { uButton },
|
||
data() {
|
||
return {
|
||
background: {
|
||
backgroundColor: "transparent",
|
||
},
|
||
source: "",
|
||
userRole: uni.getStorageSync("role"),
|
||
};
|
||
},
|
||
onLoad(e) {
|
||
console.log(e, "e");
|
||
this.source = e.source;
|
||
},
|
||
methods: {
|
||
backFn() {
|
||
console.log(this.source, "source---");
|
||
if (this.source === "my") {
|
||
uni.switchTab({
|
||
url: "/pages/my/my/my",
|
||
});
|
||
return;
|
||
}
|
||
if (this.source === "login") {
|
||
this.$u.vuex("vuex_msgList", "");
|
||
this.$u.vuex("vuex_user", "");
|
||
this.$u.vuex("vuex_token", "");
|
||
this.$u.vuex("vuex_userInfo", "");
|
||
uni.clearStorage();
|
||
this.$u.route({
|
||
url: "/pages/login/login/login",
|
||
});
|
||
return;
|
||
}
|
||
uni.navigateBack();
|
||
},
|
||
async goTeacher() {
|
||
const res = await this.$u.apiList.SelectUserTypeApi();
|
||
console.log(res, "res---");
|
||
const jzgFlag = res.jzgFlag;
|
||
// const studentFlag = res.studentFlag
|
||
if (jzgFlag === false) {
|
||
uni.setStorageSync("role", "teacher");
|
||
uni.navigateTo({
|
||
url: "/pages/login/teacherCertification",
|
||
});
|
||
return;
|
||
}
|
||
const req = {
|
||
userType: 1,
|
||
};
|
||
const result = await this.$u.apiList.UpdateUserTypeApi(req);
|
||
console.log(result, "result---");
|
||
this.vuex_user.userType = 1;
|
||
uni.switchTab({
|
||
url: "/pages/my/my/my",
|
||
});
|
||
},
|
||
async goStudent() {
|
||
const res = await this.$u.apiList.SelectUserTypeApi();
|
||
console.log(res, "res---");
|
||
// const jzgFlag = res.jzgFlag;
|
||
const studentFlag = res.studentFlag;
|
||
if (studentFlag === false) {
|
||
uni.setStorageSync("role", "student");
|
||
uni.navigateTo({
|
||
url: "/pages/login/perfect/perfect",
|
||
});
|
||
return;
|
||
}
|
||
const req = {
|
||
userType: 0,
|
||
};
|
||
const result = await this.$u.apiList.UpdateUserTypeApi(req);
|
||
console.log(result, "result---");
|
||
this.vuex_user.userType = 0;
|
||
uni.switchTab({
|
||
url: "/pages/my/my/my",
|
||
});
|
||
},
|
||
async goGraduate() {
|
||
uni.navigateTo({
|
||
url: "/pages/login/graduateCertification/graduateCertification",
|
||
});
|
||
// uni.$u.toast("功能开发中");
|
||
},
|
||
},
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.page {
|
||
background: linear-gradient(
|
||
0deg,
|
||
rgba(80, 123, 244, 0) 80%,
|
||
rgba(95, 147, 238, 0.3) 100%
|
||
);
|
||
height: 100%;
|
||
.button {
|
||
margin: 0.6rem 0.15rem 0;
|
||
}
|
||
}
|
||
|
||
.selectList {
|
||
width: calc(100% - 30rpx);
|
||
margin: 0 auto;
|
||
.item {
|
||
height: 278rpx;
|
||
padding: 15rpx;
|
||
margin-bottom: 15rpx;
|
||
box-shadow: 0rpx 20rpx 40rpx 0rpx rgba(0, 0, 0, 0.05);
|
||
border-radius: 32rpx;
|
||
border: 4rpx solid #e7ecf0;
|
||
.name {
|
||
width: 60%;
|
||
display: flex;
|
||
justify-content: center;
|
||
// align-items: center;
|
||
flex-direction: column;
|
||
padding-top: 20rpx;
|
||
padding-left: 100rpx;
|
||
.text {
|
||
margin-top: 10rpx;
|
||
font-size: 48rpx;
|
||
font-weight: bold;
|
||
color: #333;
|
||
// margin-right: 200rpx;
|
||
letter-spacing: 2rpx;
|
||
}
|
||
.text-en {
|
||
font-size: 40rpx;
|
||
color: #666;
|
||
letter-spacing: 2rpx;
|
||
font-weight: normal;
|
||
}
|
||
}
|
||
}
|
||
.item-selected {
|
||
border: 4rpx solid #8ad3fd;
|
||
}
|
||
}
|
||
.title {
|
||
width: calc(100% - 60rpx);
|
||
margin: 70rpx auto 100rpx;
|
||
h3 {
|
||
font-weight: 800;
|
||
font-size: 48rpx;
|
||
color: #000;
|
||
line-height: 60rpx;
|
||
}
|
||
.tips {
|
||
font-weight: 500;
|
||
font-size: 24rpx;
|
||
color: #666666;
|
||
}
|
||
}
|
||
.teacher {
|
||
width: 256rpx;
|
||
height: 256rpx;
|
||
-moz-background-image: url("/static/common/img/teacher.png");
|
||
-webkit-background-image: url("/static/common/img/teacher.png");
|
||
background-image: url("/static/common/img/teacher.png");
|
||
background-repeat: no-repeat;
|
||
background-size: cover;
|
||
}
|
||
.student {
|
||
width: 256rpx;
|
||
height: 256rpx;
|
||
-moz-background-image: url("/static/common/img/student.png");
|
||
-webkit-background-image: url("/static/common/img/student.png");
|
||
background-image: url("/static/common/img/student.png");
|
||
background-repeat: no-repeat;
|
||
background-size: cover;
|
||
}
|
||
.graduate {
|
||
width: 256rpx;
|
||
height: 256rpx;
|
||
-moz-background-image: url("/static/common/img/graduate.png");
|
||
-webkit-background-image: url("/static/common/img/graduate.png");
|
||
background-image: url("/static/common/img/graduate.png");
|
||
background-repeat: no-repeat;
|
||
background-size: cover;
|
||
}
|
||
</style>
|