@ -0,0 +1,235 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="plate" :class="{show:show}">
|
||||
<div :class="['item',{active:index===0}]" @click.stop="handleChange(0)">{{plate[0]}}</div>
|
||||
<div :class="['item ml10',{active:index===1}]" @click="handleChange(1)">{{plate[1]}}</div>
|
||||
<div style=" font-size: 16rpx; padding: 0rpx 8rpx;">●</div>
|
||||
<div :class="['item',{active:index===2}]" @click="handleChange(2)">{{plate[2]}}</div>
|
||||
<div :class="['item ml10',{active:index===3}]" @click="handleChange(3)">{{plate[3]}}</div>
|
||||
<div :class="['item ml10',{active:index===4}]" @click="handleChange(4)">{{plate[4]}}</div>
|
||||
<div :class="['item ml10',{active:index===5}]" @click="handleChange(5)">{{plate[5]}}</div>
|
||||
<div :class="['item ml10',{active:index===6}]" @click="handleChange(6)">{{plate[6]}}</div>
|
||||
<div :class="['item ml10 column',{active:index===7}]" @click="handleChange(7)">
|
||||
<template v-if="newEnergy">
|
||||
<text>{{plate[7]}}</text>
|
||||
</template>
|
||||
<template v-else>
|
||||
<u-icon name="plus-circle"></u-icon>
|
||||
<div style="font-size: 20upx;">新能源</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<section class="panel" :class="{show:show}">
|
||||
<div class="header">
|
||||
<div class="p24" @click="panelReset">重置</div>
|
||||
<!-- <img src="/static/img/down.png" style="width: 140upx;" mode="widthFix" @click="panelHide" /> -->
|
||||
<div class="p24" @click="panelHide">关闭</div>
|
||||
</div>
|
||||
<div class="panelList clearfix">
|
||||
<div class="item" v-for="(item,index) of currentDatas" @click.stop="clickKeyBoard(item)">{{item}}</div>
|
||||
</div>
|
||||
<div class="backspace shadow" @click="backspace">
|
||||
<u-icon name="backspace" color="#333" size="34"></u-icon>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "index",
|
||||
props: {
|
||||
characterDatas: {
|
||||
type: Array,
|
||||
default () {
|
||||
return [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N',
|
||||
'P', 'Q',
|
||||
'R',
|
||||
'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '港', '澳', '学', '领','新'
|
||||
]
|
||||
}
|
||||
},
|
||||
areaDatas: {
|
||||
type: Array,
|
||||
default () {
|
||||
return ['京', '沪', '粤', '津', '冀', '晋', '蒙', '黑', '吉', '辽', '苏', '浙', '皖', '闽', '赣', '鲁', '豫', '鄂', '湘',
|
||||
'桂',
|
||||
'琼', '渝', '川', '贵', '云', '藏',
|
||||
'陕', '甘', '青', '宁', '新', '临', '领', '警', '学', '港', '澳'
|
||||
]
|
||||
}
|
||||
},
|
||||
defaultPlate: {
|
||||
type: Array,
|
||||
default () {
|
||||
return Array.from({
|
||||
length: 8
|
||||
}, v => '')
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
index: -1,
|
||||
newEnergy: false,
|
||||
plate: this.defaultPlate
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
computed: {
|
||||
currentDatas() {
|
||||
return this.index === 0 ? this.areaDatas : this.characterDatas;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
plate(value) {
|
||||
this.$emit("listenPlateChange", value);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
panelShow() {
|
||||
this.show = true;
|
||||
},
|
||||
panelHide() {
|
||||
this.show = false;
|
||||
},
|
||||
handleChange(index) {
|
||||
this.index = index;
|
||||
if (index === 7) {
|
||||
this.newEnergy = true;
|
||||
}
|
||||
this.panelShow();
|
||||
},
|
||||
clickKeyBoard(item) {
|
||||
console.log(item)
|
||||
if (this.index < 7 || this.newEnergy) {
|
||||
this.$set(this.plate, this.index, item);
|
||||
}
|
||||
|
||||
if (this.index < 7) {
|
||||
this.index++;
|
||||
}
|
||||
},
|
||||
backspace() {
|
||||
if (this.index > 0) {
|
||||
this.$set(this.plate, this.index, '');
|
||||
this.index--;
|
||||
}
|
||||
},
|
||||
panelReset() {
|
||||
this.index = 0;
|
||||
this.plate = Array.from({
|
||||
length: 8
|
||||
}, v => '');
|
||||
this.newEnergy = false;
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang='scss'>
|
||||
.plate {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.item {
|
||||
width: 66upx;
|
||||
height: 66upx;
|
||||
background-color: #fffbe9;
|
||||
border: 1px solid #0d0398;
|
||||
border-radius: 10upx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
&.ml10 {
|
||||
margin-left: 10upx;
|
||||
}
|
||||
|
||||
&.column {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
&.active {
|
||||
background-color: #0d0398;
|
||||
color:#fff
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.panel {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
bottom: 0;
|
||||
z-index: 999;
|
||||
box-sizing: border-box;
|
||||
background-color: #cfd0d5;
|
||||
transition: all 0.3s ease;
|
||||
transform: translateY(100%);
|
||||
|
||||
.p24 {
|
||||
padding: 24upx;
|
||||
}
|
||||
|
||||
&.show {
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 80upx;
|
||||
border-top: 1px solid #c9cacd;
|
||||
border-bottom: 1px solid #c9cacd;
|
||||
}
|
||||
|
||||
.panelList {
|
||||
padding-top: 20upx;
|
||||
padding-left: 16upx;
|
||||
text-align: center;
|
||||
|
||||
.item {
|
||||
float: left;
|
||||
width: 62upx;
|
||||
height: 84upx;
|
||||
background: #fff;
|
||||
border-radius: 10upx;
|
||||
line-height: 84upx;
|
||||
margin-right: 10upx;
|
||||
margin-bottom: 10upx;
|
||||
font-size: 32upx;
|
||||
font-weight: bold;
|
||||
box-shadow: 0 0 8px 1px #e5e5e5;
|
||||
}
|
||||
}
|
||||
|
||||
.backspace {
|
||||
position: absolute;
|
||||
bottom: 10upx;
|
||||
right: 22upx;
|
||||
width: 100upx;
|
||||
height: 84upx;
|
||||
background-color: #adb2bc;
|
||||
border-radius: 10upx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
.clearfix::before,
|
||||
.clearfix::after {
|
||||
content: ' ';
|
||||
display: table;
|
||||
height: 0;
|
||||
line-height: 0;
|
||||
visibility: hidden;
|
||||
clear: both;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,105 @@
|
||||
<template>
|
||||
<view class="container-swiper">
|
||||
<swiper @change="changeCurrent" circular :current="current_swiper" :autoplay="false">
|
||||
<swiper-item v-for="item in banner_list" @click="toCourse(item)">
|
||||
<image :src="item.image?item.image.url:''" />
|
||||
<!-- <view class="course_name">{{item.name}}</view> -->
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
|
||||
<view class="container-swiper_current">
|
||||
<image src="../static/index_swiper_left.png" alt="" />
|
||||
<text class="bigFont">{{show_current_swiper}}</text>
|
||||
<text>/{{banner_list.length}}</text>
|
||||
<image src="../static/index_swiper_right.png" alt="" />
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "topBanner",
|
||||
props:{
|
||||
banner_list:{
|
||||
type:Array,
|
||||
default:[]
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
current_swiper: 0,
|
||||
show_current_swiper: 1,
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
},
|
||||
methods:{
|
||||
changeCurrent(e) {
|
||||
this.show_current_swiper = e.detail.current + 1
|
||||
},
|
||||
toCourse(item){
|
||||
uni.switchTab({
|
||||
url:item.jump_url
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.container-swiper {
|
||||
width: 680rpx;
|
||||
margin: 0 auto;
|
||||
font-size: 0;
|
||||
margin-top: 30rpx;
|
||||
position: relative;
|
||||
z-index: 99;
|
||||
|
||||
swiper {
|
||||
width: 100%;
|
||||
height: 380rpx;
|
||||
|
||||
swiper-item {
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.course_name {
|
||||
font-size: 32rpx;
|
||||
color: #ba9676;
|
||||
position: absolute;
|
||||
top: 20rpx;
|
||||
left: 20rpx;
|
||||
}
|
||||
|
||||
&_current {
|
||||
font-size: 28rpx;
|
||||
text-align: center;
|
||||
color: #333333;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: 28rpx;
|
||||
|
||||
image {
|
||||
width: 28rpx;
|
||||
height: 11rpx;
|
||||
margin: 0 20rpx;
|
||||
}
|
||||
|
||||
text {
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
.bigFont {
|
||||
color: #b08c6c;
|
||||
font-size: 40rpx;
|
||||
margin-top: 0rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -1,74 +1,224 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<u-form :model="form" :label-width="140" ref="uForm" :label-align="'left'" error-type="toast">
|
||||
<u-form-item label="姓名" prop="username" required><u-input v-model="form.username" /></u-form-item>
|
||||
<u-form-item label="性别" prop="sex" required><u-input @click="showSex = true" v-model="form.sex"
|
||||
type="select" /></u-form-item>
|
||||
<u-form-item label="身份证号" prop="idcard" required><u-input type="idcard"
|
||||
v-model="form.idcard" /></u-form-item>
|
||||
<u-form-item label="手机号码" prop="mobile" required><u-input type="number"
|
||||
v-model="form.mobile" /></u-form-item>
|
||||
<u-form-item label="公司名称" prop="company_name"><u-input v-model="form.company_name" /></u-form-item>
|
||||
<u-form-item label="职务" prop="company_position"><u-input v-model="form.company_position" /></u-form-item>
|
||||
</u-form>
|
||||
<u-button @click="saveUser">提交</u-button>
|
||||
<image class="cbg" src="../../static/common_bg.png"></image>
|
||||
<view class="wrap">
|
||||
<u-form :model="form" :label-width="140" ref="uForm" :label-align="'left'" :error-type="['message']">
|
||||
<u-form-item label="姓名" prop="username" required>
|
||||
<u-input v-model="form.username" placeholder="请输入姓名" />
|
||||
</u-form-item>
|
||||
<u-form-item label="性别" prop="sex" required>
|
||||
<u-input @click="showSex = true" placeholder="请选择性别" v-model="form.sex" type="select" />
|
||||
</u-form-item>
|
||||
<u-form-item label="身份证号" prop="idcard" required>
|
||||
<u-input type="idcard" placeholder="请输入身份证号"
|
||||
v-model="form.idcard" /></u-form-item>
|
||||
<u-form-item label="联系方式" prop="mobile" required>
|
||||
<u-input type="number" placeholder="请输入联系方式"
|
||||
v-model="form.mobile" />
|
||||
</u-form-item>
|
||||
<u-form-item label="出生日期" prop="birthday" required>
|
||||
<u-input @click="dateShow=true" placeholder="请选择出生日期" v-model="form.birthday" type="select" /></u-form-item>
|
||||
<u-form-item label="邮箱" prop="email" required>
|
||||
<u-input v-model="form.email" placeholder="请输入邮箱"/></u-form-item>
|
||||
<u-form-item label="公司名称" prop="company_name">
|
||||
<u-input v-model="form.company_name" placeholder="请输入公司名称"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="职务" prop="company_position">
|
||||
<u-input @click="showPosition = true" v-model="form.company_position" type="select" placeholder="请选择职务"/></u-form-item>
|
||||
</u-form>
|
||||
</view>
|
||||
<view class="form-btn">
|
||||
<view @click="saveUser">注册</view>
|
||||
</view>
|
||||
<u-picker @confirm="selectSex" v-model="showSex" :range="sexList" range-key="value" mode="selector"></u-picker>
|
||||
|
||||
<u-picker @confirm="dateConfirm" mode="time" v-model="dateShow" :params="dateParams"></u-picker>
|
||||
<u-picker @confirm="selectPosition" v-model="showPosition" :range="positionList" range-key="value" mode="selector"></u-picker>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
showSex: false,
|
||||
form: {},
|
||||
return {
|
||||
course_id:null,
|
||||
showSex: false,
|
||||
showPosition:false,
|
||||
positionList:[],
|
||||
dateShow:false,
|
||||
dateParams: {
|
||||
year: true,
|
||||
month: true,
|
||||
day: true,
|
||||
hour: false,
|
||||
minute: false,
|
||||
second: false
|
||||
},
|
||||
form: {
|
||||
username: '',
|
||||
sex: ''
|
||||
},
|
||||
sexList: [{
|
||||
label: '男',
|
||||
value: '男'
|
||||
}, {
|
||||
label: '女',
|
||||
value: '女'
|
||||
}],
|
||||
rules: {
|
||||
username: [{
|
||||
}],
|
||||
rules: {
|
||||
username: [{
|
||||
required: true,
|
||||
message: '请输入姓名',
|
||||
trigger: ['blur'],
|
||||
}],
|
||||
sex: [{
|
||||
required: true,
|
||||
message: '请选择性别',
|
||||
trigger: ['change','blur'],
|
||||
}],
|
||||
birthday: [{
|
||||
required: true,
|
||||
message: '请输入姓名',
|
||||
trigger: ['change', 'blur'],
|
||||
message: '请选择出生日期',
|
||||
trigger: ['change','blur'],
|
||||
}],
|
||||
|
||||
mobile: [{
|
||||
required: true,
|
||||
message: '请输入联系方式',
|
||||
trigger: ['blur'],
|
||||
}, {
|
||||
validator: (rule, value, callback) => {
|
||||
return this.$u.test.mobile(value);
|
||||
},
|
||||
message: '手机号码不正确',
|
||||
trigger: ['blur'],
|
||||
}],
|
||||
sex: [{
|
||||
idcard: [{
|
||||
required: true,
|
||||
message: '请选择性别',
|
||||
trigger: ['change', 'blur'],
|
||||
message: '请输入身份证号',
|
||||
trigger: ['blur'],
|
||||
}, {
|
||||
validator: (rule, value, callback) => {
|
||||
return this.$u.test.idCard(value);
|
||||
},
|
||||
message: '身份证号不正确',
|
||||
trigger: ['blur'],
|
||||
}],
|
||||
email: [{
|
||||
required: true,
|
||||
message: '请输入邮箱',
|
||||
trigger: ['blur'],
|
||||
}, {
|
||||
validator: (rule, value, callback) => {
|
||||
return this.$u.test.email(value);
|
||||
},
|
||||
message: '邮箱不正确',
|
||||
trigger: ['blur'],
|
||||
}],
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
onReady() {
|
||||
this.$refs.uForm.setRules(this.rules);
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
methods:{
|
||||
selectSex(e){
|
||||
console.log("e",e)
|
||||
this.form.sex = this.sexList[e[0]]['value']
|
||||
},
|
||||
onReady() {
|
||||
this.$refs.uForm.setRules(this.rules);
|
||||
},
|
||||
onLoad(options) {
|
||||
this.course_id = options.id?options.id:null
|
||||
this.getPosition()
|
||||
},
|
||||
methods: {
|
||||
selectSex(e) {
|
||||
this.form.sex = this.sexList[e[0]]['value']
|
||||
},
|
||||
saveUser(){
|
||||
this.$u.api.saveUser(this.form).then(res=>{
|
||||
this.base.toast("注册成功")
|
||||
this.$u.api.user().then(res => {
|
||||
this.$u.vuex('vuex_user', res.user)
|
||||
uni.redirectTo({
|
||||
url:'/pages/me/index'
|
||||
})
|
||||
})
|
||||
selectPosition(e){
|
||||
this.form.company_position = this.positionList[e[0]]['value']
|
||||
|
||||
},
|
||||
// 日期
|
||||
dateConfirm(e) {
|
||||
this.form.birthday = e.year + '-' + e.month + '-' + e.day
|
||||
},
|
||||
getPosition(){
|
||||
this.$u.api.getparameter({
|
||||
number:'company_position'
|
||||
}).then(res=>{
|
||||
this.positionList = res.detail
|
||||
})
|
||||
},
|
||||
|
||||
saveUser() {
|
||||
let that = this
|
||||
this.$refs.uForm.validate(valid => {
|
||||
if (valid) {
|
||||
this.$u.api.saveUser(this.form).then(res => {
|
||||
|
||||
this.$u.api.user().then(res => {
|
||||
this.$u.vuex('vuex_user', res.user)
|
||||
this.base.toast("注册成功",2000,function(){
|
||||
if(that.course_id){
|
||||
// uni.redirectTo({
|
||||
// url:'/packages/apply/index?id='+that.course_id
|
||||
// })
|
||||
uni.redirectTo({
|
||||
url:'/pages/course/index'
|
||||
})
|
||||
}else{
|
||||
uni.switchTab({
|
||||
url: '/pages/me/index'
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
})
|
||||
} else {
|
||||
console.log('验证失败');
|
||||
// this.base.toast("注册失败")
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style scoped lang="scss">
|
||||
.container {
|
||||
padding: 30rpx;
|
||||
height: 100vh;
|
||||
overflow: scroll;
|
||||
.cbg {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.wrap {
|
||||
background: #fff;
|
||||
position: relative;
|
||||
padding: 35rpx;
|
||||
border-radius: 30rpx;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.form-btn {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
padding: 60rpx 0;
|
||||
|
||||
&>view {
|
||||
width: 70%;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
color: #fff;
|
||||
background: linear-gradient(to right, #5e5fbc, #0d0398);
|
||||
border-radius: 30rpx;
|
||||
padding: 20rpx;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,212 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<image class="cbg" src="../../static/login-top.png"></image>
|
||||
<view class="login">
|
||||
<image class="login-logo" src="../../static/login-logo.png"></image>
|
||||
<view class="login-form">
|
||||
<view>
|
||||
<u-input :custom-style="inputStyle" :clearable="false" v-model="form.mobile"
|
||||
placeholder="手机号"></u-input>
|
||||
</view>
|
||||
<view class="sendmsg">
|
||||
<u-input v-model="form.code" :custom-style="inputSendStyle" :clearable="false"
|
||||
placeholder="验证码"></u-input>
|
||||
<view @click="getSmsCode" class="send" :class="{'hasSend':hasSend}">{{hasSend?'已发送':'获取验证码'}}<text
|
||||
v-if="hasSend">({{count}}s)</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="login-btn">
|
||||
<view @click="handleMsgLogin">登录</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
hasSend: false,
|
||||
count: 60,
|
||||
inputStyle: {
|
||||
'padding': '0rpx 30rpx',
|
||||
'height': '80rpx',
|
||||
'border': '1rpx solid #dad8d8;',
|
||||
'border-radius': '20rpx'
|
||||
},
|
||||
inputSendStyle: {
|
||||
'padding': '0rpx 30rpx',
|
||||
'height': '80rpx',
|
||||
'border': '1rpx solid #dad8d8;',
|
||||
'border-radius': '20rpx 0 0 20rpx'
|
||||
},
|
||||
form: {
|
||||
mobile: '',
|
||||
code: '',
|
||||
},
|
||||
sendTimer: null,
|
||||
type:'me'
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
this.type=options.id?'course':'me'
|
||||
},
|
||||
methods: {
|
||||
getSmsCode() {
|
||||
if (this.hasSend) {
|
||||
return
|
||||
}
|
||||
if (this.base.isNull(this.form.mobile)) {
|
||||
this.base.toast('手机号码不能为空')
|
||||
return
|
||||
}
|
||||
if (!this.base.isMobile(this.form.mobile)) {
|
||||
this.base.toast('手机号码错误')
|
||||
return
|
||||
}
|
||||
let that = this
|
||||
this.$u.api.sendSms({
|
||||
mobile: this.form.mobile
|
||||
}).then(res => {
|
||||
this.base.toast("发送成功")
|
||||
this.hasSend = true
|
||||
this.sendTimer = setInterval(function() {
|
||||
if (that.count > 1) {
|
||||
that.count--
|
||||
} else {
|
||||
clearInterval(that.sendTimer);
|
||||
that.hasSend = false;
|
||||
}
|
||||
}, 1000)
|
||||
})
|
||||
},
|
||||
handleMsgLogin() {
|
||||
if (this.base.isNull(this.form.mobile)) {
|
||||
this.base.toast('请输入手机号')
|
||||
return
|
||||
}
|
||||
if (this.base.isNull(this.form.code)) {
|
||||
this.base.toast('请输入验证码')
|
||||
return
|
||||
}
|
||||
let that = this
|
||||
console.log("this.type",this.type)
|
||||
this.$u.api.bindMobile({
|
||||
mobile: this.form.mobile,
|
||||
code: this.form.code,
|
||||
is_bind: 1
|
||||
}).then(res => {
|
||||
this.base.toast('绑定成功')
|
||||
if (that.sendTimer) {
|
||||
clearInterval(that.sendTimer);
|
||||
that.hasSend = false;
|
||||
}
|
||||
this.$u.api.user().then(res => {
|
||||
this.$u.vuex('vuex_user', res.user)
|
||||
if(that.type=='course'){
|
||||
uni.switchTab({
|
||||
url: '/pages/course/index'
|
||||
})
|
||||
}else{
|
||||
uni.switchTab({
|
||||
url: '/pages/me/index'
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.container {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
overflow: scroll;
|
||||
background: #fefcf7;
|
||||
position: relative;
|
||||
|
||||
.cbg {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 509rpx;
|
||||
height: 369rpx;
|
||||
}
|
||||
|
||||
.login {
|
||||
width: 590rpx;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
|
||||
&-logo {
|
||||
width: 345rpx;
|
||||
height: 72rpx;
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
&-form {
|
||||
margin: 100rpx 0;
|
||||
|
||||
&>view {
|
||||
border-radius: 20rpx;
|
||||
|
||||
&:first-child {
|
||||
margin-bottom: 50rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.sendmsg {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
u-input {
|
||||
width: calc(100% - 200rpx);
|
||||
|
||||
}
|
||||
|
||||
.send {
|
||||
background: #c69c6d;
|
||||
color: #fff;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
border-radius: 0 20rpx 20rpx 0;
|
||||
width: 200rpx;
|
||||
text-align: center;
|
||||
border: 1px solid #c69c6d;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
.hasSend {
|
||||
background: #dad8d8;
|
||||
color: #333;
|
||||
border: 1px solid #dad8d8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&-btn {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
|
||||
&>view {
|
||||
width: 70%;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
color: #fff;
|
||||
background: linear-gradient(to right, #e4cdb4, #c69c6d);
|
||||
border-radius: 30rpx;
|
||||
padding: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 390 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1015 B |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 932 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 716 B |
|
After Width: | Height: | Size: 754 B |
|
After Width: | Height: | Size: 503 B |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 565 B |
|
After Width: | Height: | Size: 421 B |
|
After Width: | Height: | Size: 670 B |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 746 B |
|
After Width: | Height: | Size: 35 KiB |