From 48dd8be3d25e5b6d8bfa57ad757569f470f5ff74 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期五, 12 七月 2024 15:49:25 +0800
Subject: [PATCH] update组件
---
pages/login/supplier-login.vue | 67 ++
pages/home/home.vue | 7
sub_pages/supplier/supplier-reg/supplier-reg.vue | 839 ++++++++++++++++++++++++----------------------
pages/home/supplier-home.vue | 34
pages.json | 33 -
sub_pages/supplier/flower-manage/flower-manage.vue | 2
App.vue | 90 ++--
7 files changed, 565 insertions(+), 507 deletions(-)
diff --git a/App.vue b/App.vue
index 6bdaa3c..b44273d 100644
--- a/App.vue
+++ b/App.vue
@@ -1,74 +1,70 @@
<script>
// 合伙人: "appid" : "wx6d0ecc4e18710458",
- // 花农: "appid" : "wx3203fd935a6ffe09",
+ // 花农: "appid" : "wx3203fd935a6ffe09",
// 花店 wx1441324401626290
import storage from '@/plugins/storage.js'
export default {
onLaunch: function(options) {
- // #ifdef MP
- // {
- // if(decodeURIComponent(options.query.q))
- // if (options.inviter) {
- // //说明是邀请的,需要保存下来,
- // this.$storage.setItem('inviter', options.inviter)
- // //有效24小时
- // this.$storage.setItem('inviterTime', new Date().getTime())
-
- // }
- // if (options.inviterName) {
- // this.$storage.setItem('inviterName', options.inviterName)
- // this.inviterName = options.inviterName
- // }else{
- // this.inviterName = this.$storage.getItem('inviterName') || ''
- // }
- // }
- // #endif
console.warn('当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!')
console.log('App Launch')
uni.getSystemInfo({
success: (e) => {
- // this.globalData.StatusBar = e.statusBarHeight;
- let custom = uni.getMenuButtonBoundingClientRect();
- // this.globalData.Custom = custom;
- // this.globalData.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
- uni.setStorageSync('StatusBar', e.statusBarHeight);
- uni.setStorageSync('CustomBar', (custom.bottom + custom.top - e.statusBarHeight));
+ try {
+ let custom = uni.getMenuButtonBoundingClientRect();
+ uni.setStorageSync('StatusBar', e.statusBarHeight);
+ uni.setStorageSync('CustomBar', (custom.bottom + custom.top - e.statusBarHeight));
+ } catch (e) {
+ console.error('e', e)
+ }
}
});
// #ifdef MP
if (true && storage.getItem('token')) {
setTimeout(async () => {
const res = await this.$store.dispatch('getCurrentInfo');
- // console.log('init info',res,this.currentInfo)
- // #ifdef PUB_CUSTOMER
- if (this.currentInfo && this.currentInfo.id && !this.currentInfo.openId) {
- uni.reLaunch({
- url: '/pages/home/supplier-home'
- })
- }
+ // #ifndef PUB_CUSTOMER
+ if (this.currentInfo && this.currentInfo.id && !this.currentInfo.openId) {
+ uni.reLaunch({
+ url: '/pages/home/supplier-home'
+ })
+ } else {
+ uni.reLaunch({
+ url: '/pages/login/supplier-login'
+ })
+ }
// #endif
}, 200);
} else {
-
+ // #ifndef PUB_CUSTOMER
+ uni.reLaunch({
+ url: '/pages/login/supplier-login'
+ })
+ // #endif
}
// #endif
- // #ifdef H5
- if (true && storage.getItem('token')) {
- setTimeout(async () => {
- const res = await this.$store.dispatch('getCurrentInfo');
- // console.log('init info',res,this.currentInfo)
- if (this.currentInfo && this.currentInfo.id && !this.currentInfo.openId) {
- // uni.reLaunch({
- // url: '/pages/home/supplier-home'
- // })
- }
- }, 200);
- } else {
-
- }
+ // #ifdef PUB_CUSTOMER
+ uni.reLaunch({
+ url: '/pages/home/home'
+ })
// #endif
+
+ // // #ifdef H5
+ // if (true && storage.getItem('token')) {
+ // setTimeout(async () => {
+ // const res = await this.$store.dispatch('getCurrentInfo');
+ // // console.log('init info',res,this.currentInfo)
+ // if (this.currentInfo && this.currentInfo.id && !this.currentInfo.openId) {
+ // // uni.reLaunch({
+ // // url: '/pages/home/supplier-home'
+ // // })
+ // }
+ // }, 200);
+ // } else {
+
+ // }
+ // // #endif
},
onReady() {
diff --git a/pages.json b/pages.json
index ef06e85..84c27fd 100644
--- a/pages.json
+++ b/pages.json
@@ -4,18 +4,6 @@
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
"pages": [
-
- // #ifdef PUB_CUSTOMER
- {
- "path": "pages/home/home",
- "style": {
- "navigationBarTitleText": "首页",
- "enablePullDownRefresh": true,
- "navigationStyle": "custom"
- }
-
- },
- // #endif
{
"path": "pages/login/supplier-login",
"style": {
@@ -31,7 +19,18 @@
"navigationStyle": "custom"
}
- },
+ },
+ // #ifdef PUB_CUSTOMER
+ {
+ "path": "pages/home/home",
+ "style": {
+ "navigationBarTitleText": "首页",
+ "enablePullDownRefresh": true,
+ "navigationStyle": "custom"
+ }
+
+ },
+ // #endif
{
"path": "pages/user/supplier-user",
"style": {
@@ -199,13 +198,5 @@
"app-plus": {
"background": "#efeff4"
}
- },
- "condition": { //模式配置,仅开发期间生效
- "current": 0, //当前激活的模式(list 的索引项)
- "list": [{
- "name": "", //模式名称
- "path": "", //启动页面,必选
- "query": "" //启动参数,在页面的onLoad函数里面得到
- }]
}
}
\ No newline at end of file
diff --git a/pages/home/home.vue b/pages/home/home.vue
index 22681a1..1059f80 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -176,10 +176,11 @@
// if (res.code == 0) {
// this.schools = res.data || []
// }
+ // })
+
+ // uni.navigateTo({
+ // url: '/sub_pages/customer/trade/detail'
// })
- uni.navigateTo({
- url: '/sub_pages/customer/trade/detail'
- })
//获取banner图
this.$http.request('get', '/api/ua/banner/list', {
diff --git a/pages/home/supplier-home.vue b/pages/home/supplier-home.vue
index c3ce2fa..f19e19a 100644
--- a/pages/home/supplier-home.vue
+++ b/pages/home/supplier-home.vue
@@ -224,24 +224,24 @@
this.scrollable = false
}
let that = this
- if (this.noticeList.length >= 1) {
- setInterval(() => {
- console.log('interval,1')
- that.currentNoticeIndex += 1
- that.currentNoticeIndex %= that.noticeList.length
- that.currentNotice = that.noticeList[that.currentNoticeIndex]
- that.scrollable = false
- that.$nextTick(() => {
- if (that.currentNotice.title && that.currentNotice.title
- .length >= 30) {
- that.scrollable = true
- } else {
- that.scrollable = false
- }
- })
+ // if (this.noticeList.length >= 1) {
+ // setInterval(() => {
+ // console.log('interval,1')
+ // that.currentNoticeIndex += 1
+ // that.currentNoticeIndex %= that.noticeList.length
+ // that.currentNotice = that.noticeList[that.currentNoticeIndex]
+ // that.scrollable = false
+ // that.$nextTick(() => {
+ // if (that.currentNotice.title && that.currentNotice.title
+ // .length >= 30) {
+ // that.scrollable = true
+ // } else {
+ // that.scrollable = false
+ // }
+ // })
- }, 8000)
- }
+ // }, 8000)
+ // }
}
}
diff --git a/pages/login/supplier-login.vue b/pages/login/supplier-login.vue
index 4ad70ff..51b358a 100644
--- a/pages/login/supplier-login.vue
+++ b/pages/login/supplier-login.vue
@@ -13,24 +13,36 @@
<view class="title-1">HELLO</view>
<view class="title-2">欢迎登录<span class="title-3">花满芜</span></view>
</view>
- <view class="t-a input" v-if="loginType=='pwd'">
- <input type="text" name="userName" placeholder="请输入账号" v-model="userName" />
+ <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" v-if="loginType=='pwd'">
- <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" />
+ <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" v-if="loginType=='code'">
+ <view class="t-a input form-input" v-if="loginType=='code'">
- <input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber" />
+<!-- <input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber" />
<view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
{{getCodeText}}
- </view>
+ </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 input" v-if="loginType=='code'">
- <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode" />
+ <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>
<button @tap="login()" class="bottom-button">登 录</button>
@@ -39,7 +51,10 @@
<view class="topic-font" v-if="loginType=='pwd'" @click="loginType='code'">手机验证码登录</view>
<view class="topic-font" v-if="loginType=='code'" @click="loginType='pwd'">账号密码登录</view>
+ <!-- #ifdef PUB_SUPPLIER -->
<view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</view>
+
+ <!-- #endif -->
</view>
</form>
</view>
@@ -91,7 +106,8 @@
};
},
methods: {
- async getCode() {
+ async getCode() {
+ console.log('getCode')
uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
if (this.getCodeisWaiting) {
return;
@@ -242,7 +258,24 @@
}
};
</script>
+<style lang="scss" scoped>
+ .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/ input {
+ height: 70rpx;
+ line-height: 70rpx;
+
+ }
+ }
+</style>
<style lang="scss" scoped>
@import './login.scss';
@@ -303,7 +336,7 @@
}
.t-login input {
- padding: 0 20rpx 0 120rpx;
+ padding: 0 20rpx 0 60rpx;
height: 90rpx;
line-height: 90rpx;
margin-bottom: 50rpx;
@@ -317,9 +350,9 @@
position: relative;
.get-code {
- position: absolute;
- right: 40rpx;
- top: 25rpx;
+ // position: absolute;
+ // right: 40rpx;
+ // top: 25rpx;
}
}
@@ -404,9 +437,9 @@
font-size: 27rpx;
}
- .t-login .uni-input-placeholder {
- color: #000;
- }
+ // .t-login .uni-input-placeholder {
+ // color: #000;
+ // }
.cl {
zoom: 1;
diff --git a/sub_pages/supplier/flower-manage/flower-manage.vue b/sub_pages/supplier/flower-manage/flower-manage.vue
index bd03816..e6f8311 100644
--- a/sub_pages/supplier/flower-manage/flower-manage.vue
+++ b/sub_pages/supplier/flower-manage/flower-manage.vue
@@ -5,7 +5,7 @@
<view @click.stop="clickButton('in')" class="button button-search-in"></view>
<view @click.stop="clickButton('unpass')" class="button button-search-unpass"></view>
<view @click.stop="clickButton('inpass')" class="button button-search-inpass" style="flex:5"></view>
- <view @click.stop="clickButton('delete')" class="button button-search-delete"></view>
+ <view @click.stop="clickButton('delete')" class="button button-search-delete" style="margin-top: -1rpx;"></view>
</view>
diff --git a/sub_pages/supplier/supplier-reg/supplier-reg.vue b/sub_pages/supplier/supplier-reg/supplier-reg.vue
index 7bdfc5f..4773dd7 100644
--- a/sub_pages/supplier/supplier-reg/supplier-reg.vue
+++ b/sub_pages/supplier/supplier-reg/supplier-reg.vue
@@ -1,404 +1,441 @@
-<template>
- <view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
- <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></view>
- </view>
-
-
- <view class="t-a 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>
- </view>
-
-
- <view class="t-a input" v-if="loginType=='code'">
- <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode" />
- </view>
- <view class="t-a input" v-if="loginType=='code'">
- <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" />
- </view>
- <button @tap="login()" class="bottom-button">注 册</button>
-
- <view class="flex">
- <view class="topic-font m-l-a m-r-0" @click="toLogin">前往登录</view>
- </view>
- <view class="flex flex-wrap-normal" style="position: fixed;bottom: 40rpx;left: 40rpx;right: 40rpx;" v-if="false">
- <view :style="{'margin-top': '8rpx','margin-right': '12rpx','font-size':'24rpx'}"
- @click="protocal=!protocal"
- class="component-radio" :class="[protocal?'cur':'']">
-
- </view>
- <view class="topic-gray" @click="toProtocol">请仔细阅读《花满芜合伙人供应商入口小程序隐私保护指引》如您同意该指引,请勾选开始使用本小程序</view>
- </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 {
- data() {
- return {
- openId: '-1',
-
- userName: '',
- password: '',
-
- phoneNumber: '',
- smsCode: '',
-
- checked: false,
- loginType: 'code', //pwd和code,密码和验证码登录
- pcfvalue: undefined,
- getCodeText: '获取验证码',
- getCodeBtnColor: "#20613D",
- getCodeisWaiting: false,
- Timer: undefined,
- protocal:false
- };
- },
- methods: {
- toProtocol(){
- uni.navigateTo({
- url:'/sub_pages/supplier/protocol'
- })
- },
- async getCode() {
- // await this.$message.confirm('是否同意入驻协议')
- // this.protocal = true
- console.log('getCode')
- uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
- if (this.getCodeisWaiting) {
- return;
- }
- if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
- uni.showToast({
- title: '请填写正确手机号码',
- icon: "none"
- });
- 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: 'supplier'
- }
- })
- if (code == 0) {
- uni.showToast({
- title: '验证码已发送',
- icon: "none"
- });
- this.setTimer(); //调用定时器方法
- }
- // setTimeout(() => {
- // //弹出提示框
- // //示例默认1234,生产中请删除这一句。
- // // this.code = '1234'; //发送验证码,进行填入
-
- // }, 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)
- },
- toLogin() {
- uni.redirectTo({
- url: '/pages/login/supplier-login'
- })
-
- },
- changeAll(e) {
- this.pcfvalue = e.detail.value[0]
- },
- async login() {
- uni.showLoading({
- title: '登陆中'
- });
- var that = this;
- if (!that.phoneNumber) {
- uni.showToast({
- title: '请输入手机号',
- icon: 'none'
- });
- return;
- }
- if (!that.smsCode) {
- uni.showToast({
- title: '请输入手机验证码',
- icon: 'none'
- });
- return;
- }
- if (!that.password) {
- uni.showToast({
- title: '请输入密码',
- icon: 'none'
- });
- return;
- }
- // if (this.pcfvalue == undefined) {
- // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
- // return;
- // }
- let post = {
- tel: this.phoneNumber,
- smsCode: this.smsCode,
- password: this.password,
- // openId: '123456789'
- }
- // const {
- // code
- // } = await this.$http.request('get', '/api/login/admin')
- const resp = await this.$store.dispatch('regSupplier', post);
- // uni.hideLoading()
-
- 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))
- // }
- uni.showToast({
- title: '注册成功!',
- icon: 'none'
- });
- setTimeout(() => {
- this.toLogin()
- }, 1000);
-
- } else {
- uni.showToast({
- title: '登录失败!',
- icon: 'none'
- });
- return;
- }
-
- },
- tc1(id) {
- uni.navigateTo({
- url: '/pages/users/xieyi?id=' + id,
- });
- }
- }
- };
-</script>
-
-<style lang="scss" scoped>
- @import '@/pages/login/login.scss';
-
- .main-container {
- margin: 20px 0;
- }
-
- .img-a {
- position: absolute;
- width: 100%;
- top: -150rpx;
- right: 0;
- }
-
- .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;
- }
-
- .t-login {
- width: 100%;
- margin: 0 auto;
- font-size: 28rpx;
- color: #000;
- }
-
- .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 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 120rpx;
- height: 90rpx;
- line-height: 90rpx;
+<template>
+ <view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
+ <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></view>
+ </view>
+
+
+ <view class="t-a form-input" v-if="loginType=='code'">
+ <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>
+
+ <!-- <u-input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber"
+ style="position: relative;z-index: 1;" /> -->
+
+
+ </view>
+
+
+ <view class="t-a form-input" v-if="loginType=='code'">
+ <!-- <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode"
+ style="position: relative;z-index: 1;" /> -->
+ <u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
+
+ </view>
+ <view class="t-a form-input" v-if="loginType=='code'">
+ <!-- <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" /> -->
+
+ <u-input :password="true" :border="false" placeholder="请输入密码" v-model="password"></u-input>
+ </view>
+
+ <button @tap="login()" class="bottom-button">注 册</button>
+
+ <view class="flex">
+ <view class="topic-font m-l-a m-r-0" @click="toLogin">前往登录</view>
+ </view>
+ <view class="flex flex-wrap-normal" style="position: fixed;bottom: 40rpx;left: 40rpx;right: 40rpx;"
+ v-if="false">
+ <view :style="{'margin-top': '8rpx','margin-right': '12rpx','font-size':'24rpx'}"
+ @click="protocal=!protocal" class="component-radio" :class="[protocal?'cur':'']">
+
+ </view>
+ <view class="topic-gray" @click="toProtocol">请仔细阅读《花满芜合伙人供应商入口小程序隐私保护指引》如您同意该指引,请勾选开始使用本小程序
+ </view>
+ </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 {
+ data() {
+ return {
+ openId: '-1',
+
+ userName: '',
+ password: '',
+
+ phoneNumber: '',
+ smsCode: '',
+
+ checked: false,
+ loginType: 'code', //pwd和code,密码和验证码登录
+ pcfvalue: undefined,
+ getCodeText: '获取验证码',
+ getCodeBtnColor: "#20613D",
+ getCodeisWaiting: false,
+ Timer: undefined,
+ protocal: false
+ };
+ },
+ methods: {
+ toProtocol() {
+ uni.navigateTo({
+ url: '/sub_pages/supplier/protocol'
+ })
+ },
+ async getCode() {
+ // await this.$message.confirm('是否同意入驻协议')
+ // this.protocal = true
+ console.log('getCode')
+ setTimeout(() => {
+ uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
+ }, 200)
+
+ if (this.getCodeisWaiting) {
+ return;
+ }
+ if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
+ uni.showToast({
+ title: '请填写正确手机号码',
+ icon: "none"
+ });
+ 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: 'supplier'
+ }
+ })
+ if (code == 0) {
+ uni.showToast({
+ title: '验证码已发送',
+ icon: "none"
+ });
+ this.setTimer(); //调用定时器方法
+ }
+ // setTimeout(() => {
+ // //弹出提示框
+ // //示例默认1234,生产中请删除这一句。
+ // // this.code = '1234'; //发送验证码,进行填入
+
+ // }, 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)
+ },
+ toLogin() {
+ uni.redirectTo({
+ url: '/pages/login/supplier-login'
+ })
+
+ },
+ changeAll(e) {
+ this.pcfvalue = e.detail.value[0]
+ },
+ async login() {
+ uni.showLoading({
+ title: '登陆中'
+ });
+ var that = this;
+ if (!that.phoneNumber) {
+ uni.showToast({
+ title: '请输入手机号',
+ icon: 'none'
+ });
+ return;
+ }
+ if (!that.smsCode) {
+ uni.showToast({
+ title: '请输入手机验证码',
+ icon: 'none'
+ });
+ return;
+ }
+ if (!that.password) {
+ uni.showToast({
+ title: '请输入密码',
+ icon: 'none'
+ });
+ return;
+ }
+ // if (this.pcfvalue == undefined) {
+ // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
+ // return;
+ // }
+ let post = {
+ tel: this.phoneNumber,
+ smsCode: this.smsCode,
+ password: this.password,
+ // openId: '123456789'
+ }
+ // const {
+ // code
+ // } = await this.$http.request('get', '/api/login/admin')
+ const resp = await this.$store.dispatch('regSupplier', post);
+ // uni.hideLoading()
+
+ 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))
+ // }
+ uni.showToast({
+ title: '注册成功!',
+ icon: 'none'
+ });
+ setTimeout(() => {
+ this.toLogin()
+ }, 1000);
+
+ } else {
+ uni.showToast({
+ title: '登录失败!',
+ icon: 'none'
+ });
+ return;
+ }
+
+ },
+ 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;
- background: #f8f7fc;
- border: 1px solid #e9e9e9;
- font-size: 28rpx;
- border-radius: 50rpx;
- }
-
- .t-login .t-a {
- position: relative;
-
- .get-code {
- position: absolute;
- right: 40rpx;
- top: 25rpx;
- z-index: 99;
+ border: 1px solid #e9e9e9;
+ /deep/ .u-input{
+ padding-left: 60rpx !important;
+ padding-right: 40rpx !important;
+ }
+ /deep/ input {
+ height: 70rpx;
+ line-height: 70rpx;
+
}
- }
-
- .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-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-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-e {
- text-align: center;
- width: 250rpx;
- margin: 80rpx auto 0;
- }
-
- .t-login .t-g {
- float: left;
- width: 50%;
- }
-
- .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 {
- margin-left: 20rpx;
- color: #aaaaaa;
- font-size: 27rpx;
- }
-
- .t-login .uni-input-placeholder {
- color: #000;
- }
-
- .cl {
- zoom: 1;
- }
-
- .cl:after {
- clear: both;
- display: block;
- visibility: hidden;
- height: 0;
- content: '\20';
- }
+
+ }
+</style>
+<style lang="scss" scoped>
+ @import '@/pages/login/login.scss';
+
+ .main-container {
+ margin: 20px 0;
+ }
+
+ .img-a {
+ position: absolute;
+ width: 100%;
+ top: -150rpx;
+ right: 0;
+ }
+
+ .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;
+ }
+
+ .t-login {
+ width: 100%;
+ margin: 0 auto;
+ font-size: 28rpx;
+ color: #000;
+ }
+
+ .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 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 .t-a {
+ position: relative;
+
+ .get-code {
+ // position: absolute;
+ // right: 0rpx;
+ // top: 0rpx;
+ // z-index: 99;
+ // padding-top: 25rpx;
+ // bottom: 0;
+ // padding-right: 40rpx;
+ // padding-left: 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-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-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-e {
+ text-align: center;
+ width: 250rpx;
+ margin: 80rpx auto 0;
+ }
+
+ .t-login .t-g {
+ float: left;
+ width: 50%;
+ }
+
+ .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 {
+ margin-left: 20rpx;
+ color: #aaaaaa;
+ font-size: 27rpx;
+ }
+
+ .t-login .uni-input-placeholder {
+ color: #000;
+ }
+
+ .cl {
+ zoom: 1;
+ }
+
+ .cl:after {
+ clear: both;
+ display: block;
+ visibility: hidden;
+ height: 0;
+ content: '\20';
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.3