xuxueyang
2024-07-12 48dd8be3d25e5b6d8bfa57ad757569f470f5ff74
update组件
已修改7个文件
1072 ■■■■ 文件已修改
App.vue 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/supplier-home.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/supplier-login.vue 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/supplier/flower-manage/flower-manage.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/supplier/supplier-reg/supplier-reg.vue 839 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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() {
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函数里面得到
        }]
    }
}
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', {
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)
                        // }
                    }
                }
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;
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>
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>