| | |
| | | <template>
|
| | | <view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
|
| | | <!-- background-image:url('@/static/images/supplier/login/bg.png') -->
|
| | | <view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
|
| | | <!-- background-image:url('@/static/images/supplier/login/bg.png') -->
|
| | |
|
| | | <image class="component-bg"
|
| | | src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png"
|
| | | mode="scaleToFill"/>
|
| | | <view class="t-login top-bg">
|
| | | <view class="nav-title">登录</view>
|
| | | <view class="login">
|
| | | <form class="cl">
|
| | | <view class="t-a titles-top">
|
| | | <view class="title-1">HELLO</view>
|
| | | <view class="title-2">欢迎登录<span class="title-3">花满芫</span>
|
| | | <!-- #ifdef PUB_SUPPLIER -->
|
| | | <span>供应商管理平台</span>
|
| | | <!-- #endif -->
|
| | | <!-- #ifdef PUB_PARTNER -->
|
| | | <span>合伙人管理平台</span>
|
| | | <!-- #endif -->
|
| | | </view>
|
| | | </view>
|
| | | <view class="t-a input form-input" v-if="loginType=='pwd'">
|
| | | <!-- <input type="text" name="userName" placeholder="请输入账号" v-model="userName" /> -->
|
| | | <u-input placeholder="请输入账号" :border="false" v-model="userName"></u-input>
|
| | | <image class="component-bg"
|
| | | src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png"
|
| | | mode="scaleToFill" />
|
| | | <view class="t-login top-bg">
|
| | | <view class="nav-title">登录</view>
|
| | | <view class="login">
|
| | | <form class="cl">
|
| | | <view class="t-a titles-top">
|
| | | <view class="title-1">HELLO</view>
|
| | | <view class="title-2">欢迎登录<span class="title-3">花满芫</span>
|
| | | <!-- #ifdef PUB_SUPPLIER -->
|
| | | <span>供应商管理平台</span>
|
| | | <!-- #endif -->
|
| | | <!-- #ifdef PUB_PARTNER -->
|
| | | <span>合伙人管理平台</span>
|
| | | <!-- #endif -->
|
| | | </view>
|
| | | </view>
|
| | | <view class="t-a input form-input" v-if="loginType=='pwd'">
|
| | | <!-- <input type="text" name="userName" placeholder="请输入账号" v-model="userName" /> -->
|
| | | <u-input placeholder="请输入账号" :border="false" v-model="userName"></u-input>
|
| | |
|
| | | </view>
|
| | | <view class="t-a input form-input" v-if="loginType=='pwd'">
|
| | | <!-- <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" /> -->
|
| | | <u-input :password="true" :border="false" placeholder="请输入密码" v-model="password"></u-input>
|
| | | </view>
|
| | | <view class="t-a input form-input" v-if="loginType=='code'">
|
| | | </view>
|
| | | <view class="t-a input form-input" v-if="loginType=='pwd'">
|
| | | <u-input :password="true" :border="false" placeholder="请输入密码" v-model="password"></u-input>
|
| | | </view>
|
| | | <view class="t-a input form-input" v-if="loginType=='code'">
|
| | |
|
| | |
|
| | | <!-- <input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber" />
|
| | | <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
|
| | | {{getCodeText}}
|
| | | </view> -->
|
| | | <u-input placeholder="请输入手机号" :border="false" v-model="phoneNumber">
|
| | | <template slot="suffix">
|
| | | <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
|
| | | {{ getCodeText }}
|
| | | </view>
|
| | | </template>
|
| | | </u-input>
|
| | | </view>
|
| | | <u-input placeholder="请输入手机号" :border="false" v-model="phoneNumber">
|
| | | <template slot="suffix">
|
| | | <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
|
| | | {{ getCodeText }}
|
| | | </view>
|
| | | </template>
|
| | | </u-input>
|
| | | </view>
|
| | |
|
| | |
|
| | | <view class="t-a form-input" v-if="loginType=='code'">
|
| | | <!-- <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode" /> -->
|
| | | <u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
|
| | | <view class="t-a form-input" v-if="loginType=='code'">
|
| | | <u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
|
| | |
|
| | | </view>
|
| | | </view>
|
| | |
|
| | | <button @tap="login()" class="bottom-button">登 录</button>
|
| | |
|
| | | <view class="flex">
|
| | | <view class="topic-font" v-if="loginType=='pwd'" @click="loginType='code'">手机验证码登录</view>
|
| | | <view class="topic-font" v-if="loginType=='code'" @click="loginType='pwd'">账号密码登录</view>
|
| | | <button @tap="login()" class="bottom-button">登 录</button>
|
| | |
|
| | | <view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</view>
|
| | | <view class="flex">
|
| | | <view class="topic-font" v-if="loginType=='pwd'&&apitype!=='loginAdmin'" @click="loginType='code'">手机验证码登录</view>
|
| | | <view class="topic-font" v-if="loginType=='code'&&apitype!=='loginAdmin'" @click="loginType='pwd'">账号密码登录</view>
|
| | |
|
| | | <!-- #ifdef PUB_CUSTOMER -->
|
| | | <view class="topic-font m-l-a m-r-0" @click="toHome">返回首页</view>
|
| | | <!-- #endif -->
|
| | | </view>
|
| | | <view class="topic-font m-l-a m-r-0" v-if="apitype!=='loginAdmin'" @click="toReg">前往注册</view>
|
| | |
|
| | | </form>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <!-- #ifdef PUB_CUSTOMER -->
|
| | | <view class="topic-font m-l-a m-r-0" @click="toHome">返回首页</view>
|
| | | <!-- #endif -->
|
| | | <!-- #ifdef PUB_PARTNER -->
|
| | | <view class="topic-font m-l-a m-r-0" @click="()=>{
|
| | | if(apitype==='loginPartner'){
|
| | | apitype = 'loginAdmin' |
| | | loginType = 'pwd'
|
| | | }else{
|
| | | apitype = 'loginPartner'
|
| | | }
|
| | | }">
|
| | | 切换为{{apitype!=='loginPartner'?'合伙人':'质检人员'}}登录
|
| | | </view>
|
| | | <!-- #endif -->
|
| | | </view>
|
| | |
|
| | | </form>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </template>
|
| | | <script>
|
| | | // import util from '@/utils/util.js'
|
| | | // import gzmzApi from '@/api/gzmzApi.js'
|
| | | // import myCache from '@/utils/myCache.js'
|
| | | export default {
|
| | | // props: {
|
| | | // // apitype: 'loginSupplier',
|
| | | // apitype: {
|
| | | // type: String,
|
| | | // default () {
|
| | | // // #ifdef PUB_SUPPLIER
|
| | | // return 'loginSupplier'
|
| | | // // #endif
|
| | | // // #ifdef PUB_PARTNER
|
| | | // return 'loginPartner'
|
| | | // // #endif
|
| | | // // #ifdef PUB_CUSTOMER
|
| | | // return 'loginCustomer'
|
| | | // // #endif
|
| | | // // return 'loginPartner'
|
| | | // }
|
| | | // },
|
| | | // },
|
| | | data() {
|
| | | return {
|
| | | openId: '-1',
|
| | | userName: '',
|
| | | password: '',
|
| | | // userName: '',
|
| | | // password: '',
|
| | | // import util from '@/utils/util.js'
|
| | | // import gzmzApi from '@/api/gzmzApi.js'
|
| | | // import myCache from '@/utils/myCache.js'
|
| | | export default {
|
| | | // props: {
|
| | | // // apitype: 'loginSupplier',
|
| | | // apitype: {
|
| | | // type: String,
|
| | | // default () {
|
| | | // // #ifdef PUB_SUPPLIER
|
| | | // return 'loginSupplier'
|
| | | // // #endif
|
| | | // // #ifdef PUB_PARTNER
|
| | | // return 'loginPartner'
|
| | | // // #endif
|
| | | // // #ifdef PUB_CUSTOMER
|
| | | // return 'loginCustomer'
|
| | | // // #endif
|
| | | // // return 'loginPartner'
|
| | | // }
|
| | | // },
|
| | | // },
|
| | | data() {
|
| | | return {
|
| | | openId: '-1',
|
| | | userName: '',
|
| | | password: '',
|
| | | // userName: '',
|
| | | // password: '',
|
| | |
|
| | | phoneNumber: '',
|
| | | smsCode: '',
|
| | | phoneNumber: '',
|
| | | smsCode: '',
|
| | |
|
| | | checked: false,
|
| | | loginType: 'pwd', //pwd和code,密码和验证码登录
|
| | | pcfvalue: undefined,
|
| | | getCodeText: '获取验证码',
|
| | | getCodeBtnColor: "#20613D",
|
| | | getCodeisWaiting: false,
|
| | | Timer: undefined,
|
| | | // #ifdef PUB_SUPPLIER
|
| | | apitype: 'loginSupplier',
|
| | | // #endif
|
| | | // #ifdef PUB_PARTNER
|
| | | apitype: 'loginPartner',
|
| | | // #endif
|
| | | // #ifdef PUB_CUSTOMER
|
| | | apitype: 'loginCustomer',
|
| | | // #endif
|
| | | // return 'loginPartner'
|
| | | };
|
| | | },
|
| | | methods: {
|
| | | async getCode() {
|
| | | console.log('getCode')
|
| | | uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
|
| | | if (this.getCodeisWaiting) {
|
| | | return;
|
| | | }
|
| | | if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
|
| | | this.$message.showToast('请填写正确手机号码')
|
| | | return false;
|
| | | }
|
| | | this.getCodeText = "发送中..." //发送验证码
|
| | | this.getCodeisWaiting = true;
|
| | | this.getCodeBtnColor = "#000" //追加样式,修改颜色
|
| | | //示例用定时器模拟请求效果
|
| | | //setTimeout(()用于在指定的毫秒数后调用函数或计算表达式
|
| | | const {
|
| | | code
|
| | | } = await this.$http.request('post', '/api/sms/send/code', {
|
| | | data: {
|
| | | tel: this.phoneNumber,
|
| | | userType: this.apitype.replace("login", "").toLowerCase()
|
| | | }
|
| | | })
|
| | | if (code == 0) {
|
| | | uni.showToast({
|
| | | title: '验证码已发送',
|
| | | icon: "none"
|
| | | });
|
| | | this.setTimer(); //调用定时器方法
|
| | | } else {
|
| | | this.getCodeText = "获取验证码" //发送验证码
|
| | | this.getCodeisWaiting = false;
|
| | | this.getCodeBtnColor = "#20613D";
|
| | | }
|
| | | // setTimeout(() => {
|
| | | // uni.showToast({
|
| | | // title: '验证码已发送',
|
| | | // icon: "none"
|
| | | // }); //弹出提示框
|
| | | // //示例默认1234,生产中请删除这一句。
|
| | | // // this.code = '1234'; //发送验证码,进行填入
|
| | | // this.setTimer(); //调用定时器方法
|
| | | // }, 1000)
|
| | | },
|
| | | //setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数
|
| | | setTimer() {
|
| | | let holdTime = 60; //定义变量并赋值
|
| | | this.getCodeText = "重新获取(60)"
|
| | | //setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。
|
| | | //setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。
|
| | | this.Timer = setInterval(() => {
|
| | | if (holdTime <= 0) {
|
| | | this.getCodeisWaiting = false;
|
| | | this.getCodeBtnColor = "#20613D";
|
| | | this.getCodeText = "获取验证码"
|
| | | clearInterval(this.Timer); //清除该函数
|
| | | return; //返回前面
|
| | | }
|
| | | this.getCodeText = "重新获取(" + holdTime + ")"
|
| | | holdTime--;
|
| | | }, 1000)
|
| | | },
|
| | | toHome(){
|
| | | uni.redirectTo({
|
| | | url: '/pages/home/home'
|
| | | })
|
| | | },
|
| | | toReg() {
|
| | | // uni.switchTab({
|
| | | // url: '/pages/index/index'
|
| | | // })
|
| | | var addstr = ''
|
| | | // #ifdef PUB_PARTNER
|
| | | addstr = '?source=step'
|
| | | uni.navigateTo({
|
| | | url: '/sub_pages/partner/partner-info/partner-info' + addstr
|
| | | })
|
| | | // #endif
|
| | | // #ifdef PUB_SUPPLIER
|
| | | uni.redirectTo({
|
| | | url: '/pages/login/supplier-reg'
|
| | | })
|
| | | // #endif
|
| | | // #ifdef PUB_CUSTOMER
|
| | | addstr = '?source=step'
|
| | | uni.navigateTo({
|
| | | url: '/sub_pages/customer/customer-info/customer-info' + addstr
|
| | | })
|
| | | // #endif
|
| | | },
|
| | | changeAll(e) {
|
| | | this.pcfvalue = e.detail.value[0]
|
| | | },
|
| | | async login() {
|
| | | uni.showLoading({
|
| | | title: '登陆中'
|
| | | });
|
| | | var that = this;
|
| | | if (this.loginType == 'pwd') {
|
| | | if (!that.userName) {
|
| | | uni.showToast({
|
| | | title: '请输入用户名',
|
| | | icon: 'none'
|
| | | });
|
| | | return;
|
| | | }
|
| | | if (!that.password) {
|
| | | uni.showToast({
|
| | | title: '请输入密码',
|
| | | icon: 'none'
|
| | | });
|
| | | return;
|
| | | }
|
| | | }
|
| | | if (this.loginType == 'code') {
|
| | | if (!that.phoneNumber) {
|
| | | uni.showToast({
|
| | | title: '请输入手机号',
|
| | | icon: 'none'
|
| | | });
|
| | | return;
|
| | | }
|
| | | if (!that.smsCode) {
|
| | | uni.showToast({
|
| | | title: '请输入手机验证码',
|
| | | icon: 'none'
|
| | | });
|
| | | return;
|
| | | }
|
| | | }
|
| | | // if (this.pcfvalue == undefined) {
|
| | | // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
|
| | | // return;
|
| | | // }
|
| | | let post = {
|
| | | username: this.userName,
|
| | | password: this.password,
|
| | | tel: this.phoneNumber,
|
| | | smsCode: this.smsCode
|
| | | // openId: '123456789'
|
| | | }
|
| | | // const {
|
| | | // code
|
| | | // } = await this.$http.request('get', '/api/login/admin')
|
| | | const resp = await this.$store.dispatch(this.apitype, post);
|
| | | // uni.hideLoading()
|
| | | checked: false,
|
| | | loginType: 'pwd', //pwd和code,密码和验证码登录
|
| | | pcfvalue: undefined,
|
| | | getCodeText: '获取验证码',
|
| | | getCodeBtnColor: "#20613D",
|
| | | getCodeisWaiting: false,
|
| | | Timer: undefined,
|
| | | // #ifdef PUB_SUPPLIER
|
| | | apitype: 'loginSupplier',
|
| | | // #endif
|
| | | // #ifdef PUB_PARTNER
|
| | | apitype: 'loginPartner',
|
| | | // #endif
|
| | | // #ifdef PUB_CUSTOMER
|
| | | apitype: 'loginCustomer',
|
| | | // #endif
|
| | | // return 'loginPartner'
|
| | | };
|
| | | },
|
| | | methods: {
|
| | | async getCode() {
|
| | | console.log('getCode')
|
| | | uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
|
| | | if (this.getCodeisWaiting) {
|
| | | return;
|
| | | }
|
| | | if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
|
| | | this.$message.showToast('请填写正确手机号码')
|
| | | return false;
|
| | | }
|
| | | this.getCodeText = "发送中..." //发送验证码
|
| | | this.getCodeisWaiting = true;
|
| | | this.getCodeBtnColor = "#000" //追加样式,修改颜色
|
| | | //示例用定时器模拟请求效果
|
| | | //setTimeout(()用于在指定的毫秒数后调用函数或计算表达式
|
| | | const {
|
| | | code
|
| | | } = await this.$http.request('post', '/api/sms/send/code', {
|
| | | data: {
|
| | | tel: this.phoneNumber,
|
| | | userType: this.apitype.replace("login", "").toLowerCase()
|
| | | }
|
| | | })
|
| | | if (code == 0) {
|
| | | uni.showToast({
|
| | | title: '验证码已发送',
|
| | | icon: "none"
|
| | | });
|
| | | this.setTimer(); //调用定时器方法
|
| | | } else {
|
| | | this.getCodeText = "获取验证码" //发送验证码
|
| | | this.getCodeisWaiting = false;
|
| | | this.getCodeBtnColor = "#20613D";
|
| | | }
|
| | | // setTimeout(() => {
|
| | | // uni.showToast({
|
| | | // title: '验证码已发送',
|
| | | // icon: "none"
|
| | | // }); //弹出提示框
|
| | | // //示例默认1234,生产中请删除这一句。
|
| | | // // this.code = '1234'; //发送验证码,进行填入
|
| | | // this.setTimer(); //调用定时器方法
|
| | | // }, 1000)
|
| | | },
|
| | | //setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数
|
| | | setTimer() {
|
| | | let holdTime = 60; //定义变量并赋值
|
| | | this.getCodeText = "重新获取(60)"
|
| | | //setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。
|
| | | //setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。
|
| | | this.Timer = setInterval(() => {
|
| | | if (holdTime <= 0) {
|
| | | this.getCodeisWaiting = false;
|
| | | this.getCodeBtnColor = "#20613D";
|
| | | this.getCodeText = "获取验证码"
|
| | | clearInterval(this.Timer); //清除该函数
|
| | | return; //返回前面
|
| | | }
|
| | | this.getCodeText = "重新获取(" + holdTime + ")"
|
| | | holdTime--;
|
| | | }, 1000)
|
| | | },
|
| | | toHome() {
|
| | | uni.redirectTo({
|
| | | url: '/pages/home/home'
|
| | | })
|
| | | },
|
| | | toReg() {
|
| | | // uni.switchTab({
|
| | | // url: '/pages/index/index'
|
| | | // })
|
| | | var addstr = ''
|
| | | // #ifdef PUB_PARTNER
|
| | | addstr = '?source=step'
|
| | | uni.navigateTo({
|
| | | url: '/sub_pages/partner/partner-info/partner-info' + addstr
|
| | | })
|
| | | // #endif
|
| | | // #ifdef PUB_SUPPLIER
|
| | | uni.redirectTo({
|
| | | url: '/pages/login/supplier-reg'
|
| | | })
|
| | | // #endif
|
| | | // #ifdef PUB_CUSTOMER
|
| | | addstr = '?source=step'
|
| | | uni.navigateTo({
|
| | | url: '/sub_pages/customer/customer-info/customer-info' + addstr
|
| | | })
|
| | | // #endif
|
| | | },
|
| | | changeAll(e) {
|
| | | this.pcfvalue = e.detail.value[0]
|
| | | },
|
| | | async login() {
|
| | | uni.showLoading({
|
| | | title: '登陆中'
|
| | | });
|
| | | var that = this;
|
| | | if (this.loginType == 'pwd') {
|
| | | if (!that.userName) {
|
| | | uni.showToast({
|
| | | title: '请输入用户名',
|
| | | icon: 'none'
|
| | | });
|
| | | return;
|
| | | }
|
| | | if (!that.password) {
|
| | | uni.showToast({
|
| | | title: '请输入密码',
|
| | | icon: 'none'
|
| | | });
|
| | | return;
|
| | | }
|
| | | }
|
| | | if (this.loginType == 'code') {
|
| | | if (!that.phoneNumber) {
|
| | | uni.showToast({
|
| | | title: '请输入手机号',
|
| | | icon: 'none'
|
| | | });
|
| | | return;
|
| | | }
|
| | | if (!that.smsCode) {
|
| | | uni.showToast({
|
| | | title: '请输入手机验证码',
|
| | | icon: 'none'
|
| | | });
|
| | | return;
|
| | | }
|
| | | }
|
| | | // if (this.pcfvalue == undefined) {
|
| | | // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
|
| | | // return;
|
| | | // }
|
| | | let post = {
|
| | | username: this.userName,
|
| | | password: this.password,
|
| | | tel: this.phoneNumber,
|
| | | smsCode: this.smsCode
|
| | | // openId: '123456789'
|
| | | }
|
| | | // const {
|
| | | // code
|
| | | // } = await this.$http.request('get', '/api/login/admin')
|
| | | const resp = await this.$store.dispatch(this.apitype, post);
|
| | | // uni.hideLoading()
|
| | |
|
| | | if (resp.code === 0) {
|
| | | if (resp.code === 0) {
|
| | |
|
| | | // myCache.cache("userToken", res.data.accessToken)
|
| | | // let userRes = await gzmzApi.getMemberInfo();
|
| | | // if (userRes.status) {
|
| | | // myCache.cache("userInfo", JSON.stringify(userRes.data))
|
| | | // }
|
| | | // setTimeout(() => {
|
| | | // uni.navigateBack();
|
| | | // }, 1000);
|
| | | // myCache.cache("userToken", res.data.accessToken)
|
| | | // let userRes = await gzmzApi.getMemberInfo();
|
| | | // if (userRes.status) {
|
| | | // myCache.cache("userInfo", JSON.stringify(userRes.data))
|
| | | // }
|
| | | // setTimeout(() => {
|
| | | // uni.navigateBack();
|
| | | // }, 1000);
|
| | |
|
| | | } else {
|
| | | // uni.showToast({
|
| | | // title: '登录失败!',
|
| | | // icon: 'none'
|
| | | // });
|
| | | return;
|
| | | }
|
| | | } else {
|
| | | // uni.showToast({
|
| | | // title: '登录失败!',
|
| | | // icon: 'none'
|
| | | // });
|
| | | return;
|
| | | }
|
| | |
|
| | | },
|
| | | tc1(id) {
|
| | | uni.navigateTo({
|
| | | url: '/pages/users/xieyi?id=' + id,
|
| | | });
|
| | | }
|
| | | }
|
| | | };
|
| | | },
|
| | | tc1(id) {
|
| | | uni.navigateTo({
|
| | | url: '/pages/users/xieyi?id=' + id,
|
| | | });
|
| | | }
|
| | | }
|
| | | };
|
| | | </script>
|
| | | <style lang="scss" scoped>
|
| | | .form-input {
|
| | | background-color: #f8f7fc;
|
| | | border-radius: 50rpx;
|
| | | margin-bottom: 50rpx;
|
| | | border: 1px solid #e9e9e9;
|
| | | .form-input {
|
| | | background-color: #f8f7fc;
|
| | | border-radius: 50rpx;
|
| | | margin-bottom: 50rpx;
|
| | | border: 1px solid #e9e9e9;
|
| | |
|
| | | /deep/ .u-input {
|
| | | padding-left: 60rpx !important;
|
| | | padding-right: 40rpx !important;
|
| | | }
|
| | | /deep/ .u-input {
|
| | | padding-left: 60rpx !important;
|
| | | padding-right: 40rpx !important;
|
| | | }
|
| | |
|
| | | /deep/ input {
|
| | | height: 70rpx;
|
| | | line-height: 70rpx;
|
| | | /deep/ input {
|
| | | height: 70rpx;
|
| | | line-height: 70rpx;
|
| | |
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | | }
|
| | | </style>
|
| | | <style lang="scss" scoped>
|
| | | @import './login.scss';
|
| | | @import './login.scss';
|
| | |
|
| | | .main-container {
|
| | | margin: 20px 0;
|
| | | }
|
| | | .main-container {
|
| | | margin: 20px 0;
|
| | | }
|
| | |
|
| | | .img-a {
|
| | | position: absolute;
|
| | | width: 100%;
|
| | | top: -150rpx;
|
| | | right: 0;
|
| | | }
|
| | | .img-a {
|
| | | position: absolute;
|
| | | width: 100%;
|
| | | top: -150rpx;
|
| | | right: 0;
|
| | | }
|
| | |
|
| | | .img-b {
|
| | | position: absolute;
|
| | | width: 50%;
|
| | | bottom: 0;
|
| | | left: -120rpx;
|
| | | }
|
| | | .img-b {
|
| | | position: absolute;
|
| | | width: 50%;
|
| | | bottom: 0;
|
| | | left: -120rpx;
|
| | | }
|
| | |
|
| | | .to-home {
|
| | | margin-top: 30rpx;
|
| | | font-size: 30rpx;
|
| | | color: #5af;
|
| | | display: flex;
|
| | | flex-direction: row-reverse;
|
| | | }
|
| | | .to-home {
|
| | | margin-top: 30rpx;
|
| | | font-size: 30rpx;
|
| | | color: #5af;
|
| | | display: flex;
|
| | | flex-direction: row-reverse;
|
| | | }
|
| | |
|
| | | .t-login {
|
| | | width: 100%;
|
| | | margin: 0 auto;
|
| | | font-size: 28rpx;
|
| | | color: #000;
|
| | | }
|
| | | .t-login {
|
| | | width: 100%;
|
| | | margin: 0 auto;
|
| | | font-size: 28rpx;
|
| | | color: #000;
|
| | | }
|
| | |
|
| | | .t-login .bg {
|
| | | width: 100%;
|
| | | position: relative;
|
| | | }
|
| | | .t-login .bg {
|
| | | width: 100%;
|
| | | position: relative;
|
| | | }
|
| | |
|
| | | .t-login .login {
|
| | | width: 650rpx;
|
| | | margin: 60rpx auto;
|
| | | margin-top: 0rpx;
|
| | | font-size: 28rpx;
|
| | | color: #000;
|
| | | }
|
| | | .t-login .login {
|
| | | width: 650rpx;
|
| | | margin: 60rpx auto;
|
| | | margin-top: 0rpx;
|
| | | font-size: 28rpx;
|
| | | color: #000;
|
| | | }
|
| | |
|
| | | .t-login button {
|
| | | font-size: 28rpx;
|
| | | background: #5677fc;
|
| | | color: #fff;
|
| | | height: 90rpx;
|
| | | line-height: 90rpx;
|
| | | border-radius: 50rpx;
|
| | | box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
|
| | | }
|
| | | .t-login button {
|
| | | font-size: 28rpx;
|
| | | background: #5677fc;
|
| | | color: #fff;
|
| | | height: 90rpx;
|
| | | line-height: 90rpx;
|
| | | border-radius: 50rpx;
|
| | | box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
|
| | | }
|
| | |
|
| | | .t-login input {
|
| | | padding: 0 20rpx 0 60rpx;
|
| | | height: 90rpx;
|
| | | line-height: 90rpx;
|
| | | margin-bottom: 50rpx;
|
| | | background: #f8f7fc;
|
| | | border: 1px solid #e9e9e9;
|
| | | font-size: 28rpx;
|
| | | border-radius: 50rpx;
|
| | | }
|
| | | .t-login input {
|
| | | padding: 0 20rpx 0 60rpx;
|
| | | height: 90rpx;
|
| | | line-height: 90rpx;
|
| | | margin-bottom: 50rpx;
|
| | | background: #f8f7fc;
|
| | | border: 1px solid #e9e9e9;
|
| | | font-size: 28rpx;
|
| | | border-radius: 50rpx;
|
| | | }
|
| | |
|
| | | .t-login .t-a {
|
| | | position: relative;
|
| | | .t-login .t-a {
|
| | | position: relative;
|
| | |
|
| | | .get-code {
|
| | | // position: absolute;
|
| | | // right: 40rpx;
|
| | | // top: 25rpx;
|
| | | }
|
| | | }
|
| | | .get-code {
|
| | | // position: absolute;
|
| | | // right: 40rpx;
|
| | | // top: 25rpx;
|
| | | }
|
| | | }
|
| | |
|
| | | .t-login .t-a .icon {
|
| | | width: 40rpx;
|
| | | height: 40rpx;
|
| | | position: absolute;
|
| | | left: 24rpx;
|
| | | top: 14rpx;
|
| | | margin-right: 20rpx;
|
| | | }
|
| | | .t-login .t-a .icon {
|
| | | width: 40rpx;
|
| | | height: 40rpx;
|
| | | position: absolute;
|
| | | left: 24rpx;
|
| | | top: 14rpx;
|
| | | margin-right: 20rpx;
|
| | | }
|
| | |
|
| | | .t-login .t-a .line {
|
| | | width: 2rpx;
|
| | | height: 40rpx;
|
| | | background-color: #dedede;
|
| | | position: absolute;
|
| | | top: 28rpx;
|
| | | left: 98rpx;
|
| | | }
|
| | | .t-login .t-a .line {
|
| | | width: 2rpx;
|
| | | height: 40rpx;
|
| | | background-color: #dedede;
|
| | | position: absolute;
|
| | | top: 28rpx;
|
| | | left: 98rpx;
|
| | | }
|
| | |
|
| | | .t-login .t-b {
|
| | | text-align: left;
|
| | | font-size: 46rpx;
|
| | | color: #000;
|
| | | padding: 300rpx 0 30rpx 0;
|
| | | font-weight: bold;
|
| | | }
|
| | | .t-login .t-b {
|
| | | text-align: left;
|
| | | font-size: 46rpx;
|
| | | color: #000;
|
| | | padding: 300rpx 0 30rpx 0;
|
| | | font-weight: bold;
|
| | | }
|
| | |
|
| | | .t-login .t-b2 {
|
| | | text-align: left;
|
| | | font-size: 32rpx;
|
| | | color: #aaaaaa;
|
| | | padding: 0rpx 0 120rpx 0;
|
| | | }
|
| | | .t-login .t-b2 {
|
| | | text-align: left;
|
| | | font-size: 32rpx;
|
| | | color: #aaaaaa;
|
| | | padding: 0rpx 0 120rpx 0;
|
| | | }
|
| | |
|
| | | .t-login .t-c {
|
| | | position: absolute;
|
| | | right: 22rpx;
|
| | | top: 22rpx;
|
| | | background: #5677fc;
|
| | | color: #fff;
|
| | | font-size: 24rpx;
|
| | | border-radius: 50rpx;
|
| | | height: 50rpx;
|
| | | line-height: 50rpx;
|
| | | padding: 0 25rpx;
|
| | | z-index: 999;
|
| | | }
|
| | | .t-login .t-c {
|
| | | position: absolute;
|
| | | right: 22rpx;
|
| | | top: 22rpx;
|
| | | background: #5677fc;
|
| | | color: #fff;
|
| | | font-size: 24rpx;
|
| | | border-radius: 50rpx;
|
| | | height: 50rpx;
|
| | | line-height: 50rpx;
|
| | | padding: 0 25rpx;
|
| | | z-index: 999;
|
| | | }
|
| | |
|
| | | .t-login .t-d {
|
| | | text-align: center;
|
| | | color: #999;
|
| | | margin: 80rpx 0;
|
| | | }
|
| | | .t-login .t-d {
|
| | | text-align: center;
|
| | | color: #999;
|
| | | margin: 80rpx 0;
|
| | | }
|
| | |
|
| | | .t-login .t-e {
|
| | | text-align: center;
|
| | | width: 250rpx;
|
| | | margin: 80rpx auto 0;
|
| | | }
|
| | | .t-login .t-e {
|
| | | text-align: center;
|
| | | width: 250rpx;
|
| | | margin: 80rpx auto 0;
|
| | | }
|
| | |
|
| | | .t-login .t-g {
|
| | | float: left;
|
| | | width: 50%;
|
| | | }
|
| | | .t-login .t-g {
|
| | | float: left;
|
| | | width: 50%;
|
| | | }
|
| | |
|
| | | .t-login .t-e image {
|
| | | width: 50rpx;
|
| | | height: 50rpx;
|
| | | }
|
| | | .t-login .t-e image {
|
| | | width: 50rpx;
|
| | | height: 50rpx;
|
| | | }
|
| | |
|
| | | .t-login .t-f {
|
| | | text-align: center;
|
| | | margin: 200rpx 0 0 0;
|
| | | color: #666;
|
| | | }
|
| | | .t-login .t-f {
|
| | | text-align: center;
|
| | | margin: 200rpx 0 0 0;
|
| | | color: #666;
|
| | | }
|
| | |
|
| | | .t-login .t-f text {
|
| | | margin-left: 20rpx;
|
| | | color: #aaaaaa;
|
| | | font-size: 27rpx;
|
| | | }
|
| | | .t-login .t-f text {
|
| | | margin-left: 20rpx;
|
| | | color: #aaaaaa;
|
| | | font-size: 27rpx;
|
| | | }
|
| | |
|
| | | // .t-login .uni-input-placeholder {
|
| | | // color: #000;
|
| | | // }
|
| | | // .t-login .uni-input-placeholder {
|
| | | // color: #000;
|
| | | // }
|
| | |
|
| | | .cl {
|
| | | zoom: 1;
|
| | | }
|
| | | .cl {
|
| | | zoom: 1;
|
| | | }
|
| | |
|
| | | .cl:after {
|
| | | clear: both;
|
| | | display: block;
|
| | | visibility: hidden;
|
| | | height: 0;
|
| | | content: '\20';
|
| | | }
|
| | | .cl:after {
|
| | | clear: both;
|
| | | display: block;
|
| | | visibility: hidden;
|
| | | height: 0;
|
| | | content: '\20';
|
| | | }
|
| | | </style> |