xuxueyang
2024-07-08 d8ad0c1805b0701afadd069c79950edde490d5c9
update 花店小程序
已删除4个文件
已修改9个文件
已添加23个文件
2375 ■■■■ 文件已修改
components/footer/bussincess-footer.vue 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/footer/customer-footer.vue 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 347 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/bussiness-home.vue 251 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-buttons.vue 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-goods.vue 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/supplier-home.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/supplier-login.vue 839 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/supplier-user.vue 346 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/user-customer.scss 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/footer/footer-home-0.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/footer/footer-home-1.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/footer/footer-self-0.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/footer/footer-self-1.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/footer/footer-shopping-0.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/footer/footer-shopping-1.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/footer/footer-trade-0.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/footer/footer-trade-1.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/order/order-type-1.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/order/order-type-2.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/order/order-type-3.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/order/order-type-4.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/order/order-type-5.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/service/service-icon-1.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/service/service-icon-2.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/service/service-icon-3.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/service/service-icon-4.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/service/service-icon-5.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/service/service-icon-6.png 补丁 | 查看 | 原始文档 | blame | 历史
store/index.js 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shopping/shopping.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/trade.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/partner/order-manage/order-manage.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/footer/bussincess-footer.vue
文件已删除
components/footer/customer-footer.vue
对比新文件
@@ -0,0 +1,85 @@
<template>
    <view class="footer flex customer-footer" style="">
        <view v-for="(item,index) in tabBar" :key="index" class="footer-item">
            <view class="item flex" :class="flg==index?'cur':''" @click="go(index,item)">
                <view v-if="index==0">
                    <image src="../../static/images/customer/footer/footer-home-1.png" class="footer-icon" v-if="flg==0"></image>
                    <image src="../../static/images/customer/footer/footer-home-0.png" class="footer-icon" v-if="flg!=0"></image>
                </view>
                <view v-if="index==1">
                    <image src="../../static/images/customer/footer/footer-trade-1.png" class="footer-icon" v-if="flg==0"></image>
                    <image src="../../static/images/customer/footer/footer-trade-0.png" class="footer-icon" v-if="flg!=0"></image>
                </view>
                <view v-if="index==2">
                    <image src="../../static/images/customer/footer/footer-shopping-1.png" class="footer-icon" v-if="flg==0">
                    </image>
                    <image src="../../static/images/customer/footer/footer-shopping-0.png" class="footer-icon" v-if="flg!=0">
                    </image>
                </view>
                <view v-if="index==3">
                    <image src="../../static/images/customer/footer/footer-self-1.png" class="footer-icon" v-if="flg==1"></image>
                    <image src="../../static/images/customer/footer/footer-self-0.png" class="footer-icon" v-if="flg!=1"></image>
                </view>
                <view>
                    {{item.text}}
                </view>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                tabBar: [{
                        "text": "首页"
                    },
                    {
                        "text": "交易大厅"
                    },
                    {
                        "text": "购物车"
                    },
                    {
                        "text": "我的"
                    }
                ]
            }
        },
        props: {
            flg: {
                type: String,
            },
            bussincess: {
                type: Boolean,
                default () {
                    return false
                }
            }
        },
        created() {},
        methods: {
            go(index, item) {
                if (this.flg == ('' + index)) {
                    return
                }
                uni.redirectTo({
                    url: item.pagePath
                });
            },
        }
    }
</script>
<style lang="scss">
    @import "./main.scss";
</style>
main.js
@@ -48,8 +48,16 @@
// #ifdef PUB_CUSTOMER
import customerFooter from '@/components/footer/customer-footer'
Vue.component('common-footer', customerFooter)
// #endif
// #ifndef PUB_CUSTOMER
import supplierfooter from '@/components/footer/supplier-footer'
Vue.component('supplier-footer', supplierfooter)
Vue.component('common-footer', supplierfooter)
// #endif
import nodata from '@/components/no-data'
Vue.component('no-data', nodata)
// import bfooter from '@/components/footer/bussincess-footer'
package.json
@@ -22,6 +22,17 @@
                "define": {
                    "PUB_PARTNER": true
                }
            },
            "customer":{
                "title": "花店/用户-小程序",
                "BROWSER": "Chrome",
                "env": {
                    "UNI_PLATFORM": "mp-weixin",
                    "PUB_TYPE": "customer"
                },
                "define": {
                    "PUB_CUSTOMER": true
                }
            }
        }
pages.json
@@ -1,161 +1,188 @@
{
    // 如果您是通过uni_modules形式引入uView,可以忽略此配置
    "easycom": {
        "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
    },
    "pages": [{
            "path": "pages/login/supplier-login",
            "style": {
                "navigationBarTitleText": "登录",
                "enablePullDownRefresh": false,
                "navigationStyle": "custom"
            }
        }, {
            "path": "pages/home/supplier-home",
            "style": {
                "navigationBarTitleText": "首页",
                "enablePullDownRefresh": true,
                "navigationStyle": "custom"
            }
        }, {
            "path": "pages/user/supplier-user",
            "style": {
                "navigationBarTitleText": "我的",
                "enablePullDownRefresh": true,
                "navigationStyle": "custom"
            }
        },
        {
            "path": "pages/user/user-info/user-info",
            "style": {
                "navigationBarTitleText": "我的信息",
                "enablePullDownRefresh": false
            }
        },
        {
            "path": "pages/notice/notice",
            "style": {
                "navigationBarTitleText": "通知公告",
                "enablePullDownRefresh": false
            }
        },
        {
            "path": "pages/notice/list",
            "style": {
                "navigationBarTitleText": "通知公告",
                "enablePullDownRefresh": true
            }
        },
        {
            "path" : "pages/user/user-pwd/user-pwd",
            "style" :
            {
                "navigationBarTitleText" : "修改密码",
                "enablePullDownRefresh" : false
            }
        }
    ],
    "subPackages": [{
        "root": "sub_pages/supplier",
        "pages": [{
                "path": "supplier-info/supplier-info",
                "style": {
                    "navigationBarTitleText": "信息维护",
                    "enablePullDownRefresh": false
                }
            }, {
                "path": "order-settlement/order-settlement",
                "style": {
                    "navigationBarTitleText": "账单结算",
                    "enablePullDownRefresh": true
                }
            },
            {
                "path": "flower-manage/flower-manage",
                "style": {
                    "navigationBarTitleText": "商品管理",
                    "enablePullDownRefresh": true
                }
            },
            {
                "path": "order-sale/order-sale",
                "style": {
                    "navigationBarTitleText": "售后理赔",
                    "enablePullDownRefresh": true
                }
            },
            {
                "path": "order-records/order-records",
                "style": {
                    "navigationBarTitleText": "扣款记录",
                    "enablePullDownRefresh": false,
                    "navigationBarBackgroundColor": "#E6F2EB"
                }
            },
            {
                "path": "flower-manage/flower-add",
                "style": {
                    "navigationBarTitleText": "",
                    "enablePullDownRefresh": false
                }
            },
            {
                "path": "supplier-reg/supplier-reg",
                "style": {
                    "navigationBarTitleText": "申请入住",
                    "navigationStyle": "custom"
                }
            },
            {
                "path" : "protocol",
                "style" :
                {
                    "navigationBarTitleText" : "协议",
                    "enablePullDownRefresh" : false
                }
            }
        ]
    },{
        "root": "sub_pages/partner",
        "pages": [{
            "path" : "order-manage/order-manage",
            "style" :
            {
                "navigationBarTitleText" : "订单管理",
                "enablePullDownRefresh" : false
            }
        },
        {
            "path" : "markup-config/markup-config",
            "style" :
            {
                "navigationBarTitleText" : "加价配置",
                "enablePullDownRefresh" : false
            }
        }
        ]
    }],
    "globalStyle": {
        "navigationBarTextStyle": "black",
        "navigationBarTitleText": "uni-app",
        "navigationBarBackgroundColor": "#F8F8F8",
        "backgroundColor": "#F8F8F8",
        "app-plus": {
            "background": "#efeff4"
        }
    },
    "condition": { //模式配置,仅开发期间生效
        "current": 0, //当前激活的模式(list 的索引项)
        "list": [{
            "name": "", //模式名称
            "path": "", //启动页面,必选
            "query": "" //启动参数,在页面的onLoad函数里面得到
        }]
    }
{
    // 如果您是通过uni_modules形式引入uView,可以忽略此配置
    "easycom": {
        "^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": {
                "navigationBarTitleText": "登录",
                "enablePullDownRefresh": false,
                "navigationStyle": "custom"
            }
        }, {
            "path": "pages/home/supplier-home",
            "style": {
                "navigationBarTitleText": "首页",
                "enablePullDownRefresh": true,
                "navigationStyle": "custom"
            }
        },
        {
            "path": "pages/user/supplier-user",
            "style": {
                "navigationBarTitleText": "我的",
                "enablePullDownRefresh": true,
                "navigationStyle": "custom"
            }
        },
        {
            "path": "pages/user/user-info/user-info",
            "style": {
                "navigationBarTitleText": "我的信息",
                "enablePullDownRefresh": false
            }
        },
        {
            "path": "pages/notice/notice",
            "style": {
                "navigationBarTitleText": "通知公告",
                "enablePullDownRefresh": false
            }
        },
        {
            "path": "pages/notice/list",
            "style": {
                "navigationBarTitleText": "通知公告",
                "enablePullDownRefresh": true
            }
        },
        {
            "path": "pages/user/user-pwd/user-pwd",
            "style": {
                "navigationBarTitleText": "修改密码",
                "enablePullDownRefresh": false
            }
        }
    ],
    "subPackages": [{
        "root": "sub_pages/supplier",
        "pages": [{
                "path": "supplier-info/supplier-info",
                "style": {
                    "navigationBarTitleText": "信息维护",
                    "enablePullDownRefresh": false
                }
            }, {
                "path": "order-settlement/order-settlement",
                "style": {
                    "navigationBarTitleText": "账单结算",
                    "enablePullDownRefresh": true
                }
            },
            {
                "path": "flower-manage/flower-manage",
                "style": {
                    "navigationBarTitleText": "商品管理",
                    "enablePullDownRefresh": true
                }
            },
            {
                "path": "order-sale/order-sale",
                "style": {
                    "navigationBarTitleText": "售后理赔",
                    "enablePullDownRefresh": true
                }
            },
            {
                "path": "order-records/order-records",
                "style": {
                    "navigationBarTitleText": "扣款记录",
                    "enablePullDownRefresh": true,
                    "navigationBarBackgroundColor": "#E6F2EB"
                }
            },
            {
                "path": "flower-manage/flower-add",
                "style": {
                    "navigationBarTitleText": "",
                    "enablePullDownRefresh": false
                }
            },
            {
                "path": "supplier-reg/supplier-reg",
                "style": {
                    "navigationBarTitleText": "申请入住",
                    "navigationStyle": "custom"
                }
            },
            {
                "path": "protocol",
                "style": {
                    "navigationBarTitleText": "协议",
                    "enablePullDownRefresh": false
                }
            }
        ]
    }, {
        "root": "sub_pages/partner",
        "pages": [{
                "path": "order-manage/order-manage",
                "style": {
                    "navigationBarTitleText": "订单管理",
                    "enablePullDownRefresh": true
                }
            },
            {
                "path": "markup-config/markup-config",
                "style": {
                    "navigationBarTitleText": "加价配置",
                    "enablePullDownRefresh": true
                }
            }
        ]
    }, {
        "root": "sub_pages/customer",
        "pages": [{
                "path": "trade/trade",
                "style": {
                    "navigationBarTitleText": "交易大厅",
                    "enablePullDownRefresh": true
                }
            },
            {
                "path": "shopping/shopping",
                "style": {
                    "navigationBarTitleText": "购物车",
                    "enablePullDownRefresh": true
                }
            }
        ]
    }],
    "globalStyle": {
        "navigationBarTextStyle": "black",
        "navigationBarTitleText": "uni-app",
        "navigationBarBackgroundColor": "#F8F8F8",
        "backgroundColor": "#F8F8F8",
        "app-plus": {
            "background": "#efeff4"
        }
    },
    "condition": { //模式配置,仅开发期间生效
        "current": 0, //当前激活的模式(list 的索引项)
        "list": [{
            "name": "", //模式名称
            "path": "", //启动页面,必选
            "query": "" //启动参数,在页面的onLoad函数里面得到
        }]
    }
}
pages/home/bussiness-home.vue
文件已删除
pages/home/components/home-buttons.vue
文件已删除
pages/home/components/home-goods.vue
文件已删除
pages/home/home.vue
@@ -110,7 +110,7 @@
        </view>
        <view style="padding-bottom:200rpx">
        </view>
        <supplier-footer flg="0"></supplier-footer>
        <common-footer flg="0"></common-footer>
    </view>
</template>
pages/home/supplier-home.vue
@@ -171,7 +171,7 @@
        <view style="padding-bottom:200rpx">
        </view>
        <supplier-footer flg="0"></supplier-footer>
        <common-footer flg="0"></common-footer>
    </view>
pages/login/supplier-login.vue
@@ -1,419 +1,422 @@
<template>
    <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></view>
                    </view>
                    <view class="t-a input" v-if="loginType=='pwd'">
                        <input type="text" name="userName" placeholder="请输入账号" v-model="userName" />
                    </view>
                    <view class="t-a input" v-if="loginType=='pwd'">
                        <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" />
                    </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>
                    <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>
                        <view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</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 {
        props: {
            // apitype: 'loginSupplier',
            apitype: {
                type:String,
                default(){
                    // #ifdef PUB_SUPPLIER
                    return 'loginSupplier'
                    // #endif
                    // #ifdef PUB_PARTNER
                    return 'loginPartner'
                    // #endif
                    return ''
                    // return 'loginPartner'
                }
            },
        },
        data() {
            return {
                openId: '-1',
                userName: 'gzm',
                password: '123456',
                // userName: '',
                // password: '',
                phoneNumber: '',
                smsCode: '',
                checked: false,
                loginType: 'pwd', //pwd和code,密码和验证码登录
                pcfvalue: undefined,
                getCodeText: '获取验证码',
                getCodeBtnColor: "#20613D",
                getCodeisWaiting: false,
                Timer: undefined
            };
        },
        methods: {
            async 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: 'supplier'
                    }
                })
                if (code == 0) {
                    uni.showToast({
                        title: '验证码已发送',
                        icon: "none"
                    });
                    this.setTimer(); //调用定时器方法
                }
                // 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)
            },
            toReg() {
                // uni.switchTab({
                //     url: '/pages/index/index'
                // })
                uni.redirectTo({
                    url: '/sub_pages/supplier/supplier-reg/supplier-reg'
                })
            },
            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.tel) {
                        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) {
                    // 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;
                }
            },
            tc1(id) {
                uni.navigateTo({
                    url: '/pages/users/xieyi?id=' + id,
                });
            }
        }
    };
</script>
<style lang="scss" scoped>
    @import './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;
        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;
        }
    }
    .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';
    }
<template>
    <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></view>
                    </view>
                    <view class="t-a input" v-if="loginType=='pwd'">
                        <input type="text" name="userName" placeholder="请输入账号" v-model="userName" />
                    </view>
                    <view class="t-a input" v-if="loginType=='pwd'">
                        <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" />
                    </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>
                    <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>
                        <view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</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 {
        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 ''
                    // return 'loginPartner'
                }
            },
        },
        data() {
            return {
                openId: '-1',
                userName: 'gzm',
                password: '123456',
                // userName: '',
                // password: '',
                phoneNumber: '',
                smsCode: '',
                checked: false,
                loginType: 'pwd', //pwd和code,密码和验证码登录
                pcfvalue: undefined,
                getCodeText: '获取验证码',
                getCodeBtnColor: "#20613D",
                getCodeisWaiting: false,
                Timer: undefined
            };
        },
        methods: {
            async 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: 'supplier'
                    }
                })
                if (code == 0) {
                    uni.showToast({
                        title: '验证码已发送',
                        icon: "none"
                    });
                    this.setTimer(); //调用定时器方法
                }
                // 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)
            },
            toReg() {
                // uni.switchTab({
                //     url: '/pages/index/index'
                // })
                uni.redirectTo({
                    url: '/sub_pages/supplier/supplier-reg/supplier-reg'
                })
            },
            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.tel) {
                        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) {
                    // 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;
                }
            },
            tc1(id) {
                uni.navigateTo({
                    url: '/pages/users/xieyi?id=' + id,
                });
            }
        }
    };
</script>
<style lang="scss" scoped>
    @import './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;
        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;
        }
    }
    .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>
pages/user/supplier-user.vue
@@ -1,137 +1,221 @@
<template>
    <view class="main-container user-container">
        <!--         <view>
            我的
        </view> -->
        <!-- 背景图 -->
        <view class="top-bg img100 relative" :style="{'padding-top':(StatusBar)+'px','line-height':CustomBar+'rpx' }">
            <image class="component-bg"
                src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/21/21c95c14e9504be69edff7785e3b44a9bg.png"
                mode="scaleToFill" />
            <view class="title" style="position: relative;">
                我的
            </view>
            <view class="flex user-info" v-if="currentInfo&&(currentInfo.id)">
                <!-- 头像 -->
                <image class="user-icon" v-if="!currentInfo.picture" src="../../static/imgs/home/home-shop-top-icon.png"
                    mode="aspectFit"></image>
                <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image>
                <view class="name">
                    <view class="t1">
                        {{ (!!currentInfo.supplierDTO?(currentInfo.supplierDTO.name):"") || currentInfo.nickName || currentInfo.loginName || '-'}}<span
                            v-if="currentInfo.supplierDTO&&currentInfo.supplierDTO.status!=='P'">
                            ({{currentInfo.supplierDTO?currentInfo.supplierDTO.statusStr:''}})</span>
<template>
    <view class="main-container user-container">
        <!--         <view>
            我的
        </view> -->
        <!-- 背景图 -->
        <view class="top-bg img100 relative" :style="{'padding-top':(StatusBar)+'px','line-height':CustomBar+'rpx' }">
            <image class="component-bg"
                src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/21/21c95c14e9504be69edff7785e3b44a9bg.png"
                mode="scaleToFill" />
            <view class="title" style="position: relative;">
                我的
            </view>
            <view class="flex user-info" v-if="currentInfo&&(currentInfo.id)">
                <!-- 头像 -->
                <image class="user-icon" v-if="!currentInfo.picture" src="../../static/imgs/home/home-shop-top-icon.png"
                    mode="aspectFit"></image>
                <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image>
                <view class="name">
                    <view class="t1">
                        {{ (!!currentInfo.supplierDTO?(currentInfo.supplierDTO.name):"") || currentInfo.nickName || currentInfo.loginName || '-'}}<span
                            v-if="currentInfo.supplierDTO&&currentInfo.supplierDTO.status!=='P'">
                            ({{currentInfo.supplierDTO?currentInfo.supplierDTO.statusStr:''}})</span>
                    </view>
                    <view class="t2">{{currentInfo.tel || '暂无电话'}}</view>
                </view>
                <image class="icon-setting" src="../../static/common/icon-setting.png" mode="aspectFit"></image>
            </view>
        </view>
        <!-- #ifdef PUB_CUSTOMER -->
        <view class="user-utils m-20" v-if="selftype==='customer'">
            <view class="user-util m-t-12 user-customer-order-infos">
                <view class="title flex">
                    <view>我的订单</view>
                    <view class="m-r-a m-r-0 more">全部订单<uni-icons type="right"></uni-icons></view>
                </view>
                <view class="flex order-icons-container">
                    <view class="order-icons">
                        <image src="../../static/images/customer/order/order-type-1.png" class="order-icon dfk"></image>
                        <view>待付款</view>
                    </view>
                    <view class="order-icons">
                        <image src="../../static/images/customer/order/order-type-2.png" class="order-icon dfh"></image>
                        <view>待发货</view>
                    </view>
                    <view class="order-icons">
                        <image src="../../static/images/customer/order/order-type-3.png" class="order-icon dsh"></image>
                        <view>待收货</view>
                    </view>
                    <view class="order-icons">
                        <image src="../../static/images/customer/order/order-type-4.png" class="order-icon dpj"></image>
                        <view>待评价</view>
                    </view>
                    <view class="order-icons">
                        <image src="../../static/images/customer/order/order-type-5.png" class="order-icon sh"></image>
                        <view>售后</view>
                    </view>
                </view>
            </view>
        </view>
        <view class="user-utils m-20" v-if="selftype==='customer'">
            <view class="user-util m-t-12 user-customer-service-infos">
                <view class="title flex">
                    <view>我的服务</view>
                </view>
                <view class="flex service-icons-container">
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-1.png" class="service-icon ">
                        </image>
                        <view>关注店铺</view>
                    </view>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-2.png" class="service-icon ">
                        </image>
                        <view>我的收藏</view>
                    </view>
                    <view class="t2">{{currentInfo.tel || '暂无电话'}}</view>
                </view>
                <image class="icon-setting" src="../../static/common/icon-setting.png" mode="aspectFit"></image>
            </view>
        </view>
        <view class="user-utils m-20">
            <view class="user-util m-t-12 flex" @click="goto('/pages/user/user-info/user-info',true)">
                <view class="title">个人信息</view>
                <view class="right-icon">
                    <uni-icons type="right"></uni-icons>
                </view>
            </view>
            <view class="user-util m-t-12 flex" v-if="selftype==='supplier'"
                @click="goto('/sub_pages/supplier/supplier-info/supplier-info',true)">
                <view class="title">店铺信息</view>
                <view class="right-icon">
                    <uni-icons type="right"></uni-icons>
                </view>
            </view>
            <view class="user-util m-t-12 flex" @click="goto('/pages/user/user-pwd/user-pwd',true)">
                <view class="title">修改密码</view>
                <view class="right-icon">
                    <uni-icons type="right"></uni-icons>
                </view>
            </view>
            <view class="user-util m-t-12 " @click="callTel" v-if="selftype==='supplier'">
                <view class="title">我的客服</view>
                <view class="flex">
                    <image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image>
                    <view class="name">
                        客服电话 : &nbsp;&nbsp; <span class="topic-gray">{{tel}}</span>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-3.png" class="service-icon ">
                        </image>
                        <view>地址管理</view>
                    </view>
                </view>
            </view>
            <!--             <view class="user-util m-t-12 " @click="callTel" v-if="selftype==='partner'">
                <view class="name">
                    账号: <span class="topic-gray">{{tel}}</span>
                </view>
                <view class="name">
                    密码: <span class="topic-gray">{{tel}}</span>
                </view>
            </view> -->
        </view>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-4.png" class="service-icon ">
                        </image>
                        <view>售后规则</view>
                    </view>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-5.png" class="t2 service-icon ">
                        </image>
                        <view>新手帮助</view>
                    </view>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-6.png" class="t2 service-icon ">
                        </image>
                        <view>运费详查</view>
                    </view>
                </view>
            </view>
        </view>
        <!-- #endif -->
        <view class="user-utils m-20">
            <view class="user-util m-t-12 flex" @click="goto('/pages/user/user-info/user-info',true)">
                <view class="title">个人信息</view>
                <view class="right-icon">
                    <uni-icons type="right"></uni-icons>
                </view>
            </view>
            <view class="user-util m-t-12 flex" v-if="selftype==='supplier'"
                @click="goto('/sub_pages/supplier/supplier-info/supplier-info',true)">
                <view class="title">店铺信息</view>
                <view class="right-icon">
                    <uni-icons type="right"></uni-icons>
                </view>
            </view>
            <view class="user-util m-t-12 flex" @click="goto('/pages/user/user-pwd/user-pwd',true)">
                <view class="title">修改密码</view>
                <view class="right-icon">
                    <uni-icons type="right"></uni-icons>
                </view>
            </view>
            <view class="user-util m-t-12 " @click="callTel" v-if="selftype==='supplier'||selftype==='customer'">
                <view class="title">我的客服</view>
                <view class="flex">
                    <image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image>
                    <view class="name">
                        客服电话 : &nbsp;&nbsp; <span class="topic-gray">{{tel}}</span>
                    </view>
                </view>
            </view>
            <!--             <view class="user-util m-t-12 " @click="callTel" v-if="selftype==='partner'">
                <view class="name">
                    账号: <span class="topic-gray">{{tel}}</span>
                </view>
                <view class="name">
                    密码: <span class="topic-gray">{{tel}}</span>
                </view>
            </view> -->
        </view>
        <view class="button-login-out topic-gray" @click="clearlogout">
            退出登录
        </view>
        <!-- #ifdef PUB_CUSTOMER -->
        <view style="padding-bottom:200rpx">
        </view>
        <supplier-footer flg="1"></supplier-footer>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                CustomBar: uni.getStorageSync('CustomBar'),
                StatusBar: uni.getStorageSync('StatusBar'),
                tcode: '',
                inviterName: '',
                // StatusBar:0,
                tel: '1386785374'
            };
        },
        onLoad(options) {
            const url = options.q ? decodeURIComponent(options.q) : '';
            const urlcode = options.url && decodeURIComponent(options.url) || ''
        },
        created() {
        },
        async onPullDownRefresh() {
            await this.$store.dispatch('getCurrentInfo')
            uni.stopPullDownRefresh()
        },
        methods: {
            async clearlogout() {
                await this.$message.confirm('是否退出登录?')
                this.$store.commit('updateLogin', false)
                uni.reLaunch({
                    url: '/pages/login/supplier-login'
                })
            },
            async callTel() {
                await this.$message.confirm('是否拨打客服电话')
                uni.makePhoneCall({
                    phoneNumber: this.tel //仅为示例
                });
            }
        }
    }
</script>
<style lang="scss" scoped>
    @import "./user.scss";
</style>
<style lang="scss" scoped>
        <common-footer flg="4"></common-footer>
        <!-- #endif -->
        <!-- #ifndef PUB_CUSTOMER -->
        <view class="button-login-out topic-gray" @click="clearlogout">
            退出登录
        </view>
        <view style="padding-bottom:200rpx">
        </view>
        <common-footer flg="1"></common-footer>
        <!-- #endif -->
    </view>
</template>
<script>
    export default {
        data() {
            return {
                CustomBar: uni.getStorageSync('CustomBar'),
                StatusBar: uni.getStorageSync('StatusBar'),
                tcode: '',
                inviterName: '',
                // StatusBar:0,
                tel: '1386785374'
            };
        },
        onLoad(options) {
            const url = options.q ? decodeURIComponent(options.q) : '';
            const urlcode = options.url && decodeURIComponent(options.url) || ''
        },
        created() {
        },
        async onPullDownRefresh() {
            await this.$store.dispatch('getCurrentInfo')
            uni.stopPullDownRefresh()
        },
        methods: {
            async clearlogout() {
                await this.$message.confirm('是否退出登录?')
                this.$store.commit('updateLogin', false)
                uni.reLaunch({
                    url: '/pages/login/supplier-login'
                })
            },
            async callTel() {
                await this.$message.confirm('是否拨打客服电话')
                uni.makePhoneCall({
                    phoneNumber: this.tel //仅为示例
                });
            }
        }
    }
</script>
<style lang="scss" scoped>
    @import "./user.scss";
</style>
<!-- #ifdef PUB_CUSTOMER -->
<style lang="scss" scoped>
    @import "./user-customer.scss";
</style>
<!-- #endif -->
<style lang="scss" scoped>
</style>
pages/user/user-customer.scss
对比新文件
@@ -0,0 +1,68 @@
.user-customer-order-infos{
    .more{
        font-weight: 400;
        font-size: 24rpx;
        color: #666666;
        line-height: 34rpx;
    }
    .order-icons-container{
        .order-icons{
            margin: 0 auto;
            margin-top: 26rpx;
            text-align: center;
            width: fit-content;
            font-weight: 400;
            font-size: 24rpx;
            color: #000000;
            line-height: 34rpx;
            .order-icon{
                flex:1;
                margin: 0 auto;
                width: 52rpx;
                height: 52rpx;
            }
            .order-icon.dsh{
                width: 48rpx;
                height: 46rpx;
                margin-top: 3rpx;
            }
            .order-icon.sh{
                width: 48rpx;
                height: 46rpx;
                margin-top: 3rpx;
            }
        }
        .order-icons:last-child{
            margin-right: 0rpx;
        }
        .order-icons:first-child{
            margin-left: 0rpx;
        }
    }
}
.user-customer-service-infos{
    .service-icons-container{
        flex-wrap: wrap;
        .service-icons{
            min-width: 25%;
            max-width: 33%;
            flex: 1;
            margin: 0 auto;
            margin-top: 24rpx;
            text-align: center;
            .service-icons{
                height: 52rpx;
                width: 52rpx;
            }
            .service-icons.t2{
                height: 52rpx;
                width: 56rpx;
            }
        }
    }
}
static/images/customer/footer/footer-home-0.png
static/images/customer/footer/footer-home-1.png
static/images/customer/footer/footer-self-0.png
static/images/customer/footer/footer-self-1.png
static/images/customer/footer/footer-shopping-0.png
static/images/customer/footer/footer-shopping-1.png
static/images/customer/footer/footer-trade-0.png
static/images/customer/footer/footer-trade-1.png
static/images/customer/order/order-type-1.png
static/images/customer/order/order-type-2.png
static/images/customer/order/order-type-3.png
static/images/customer/order/order-type-4.png
static/images/customer/order/order-type-5.png
static/images/customer/service/service-icon-1.png
static/images/customer/service/service-icon-2.png
static/images/customer/service/service-icon-3.png
static/images/customer/service/service-icon-4.png
static/images/customer/service/service-icon-5.png
static/images/customer/service/service-icon-6.png
store/index.js
@@ -392,7 +392,43 @@
                            return resp
                        }
                    }
                    },
                    loginCustomer:async function({
                        commit,
                        dispatch,
                        state
                    }, data) {
                        {
                            const resp = await http.request('post', '/api/login/customer' + (data
                                .phoneNumber ? '/phone' : ''), {
                                data: {
                                    username: data.username,
                                    password: data.password,
                                    tel: data.phoneNumber || data.tel,
                                    smsCode: data.smsCode || ''
                                },
                                params: {
                                    clientType: data.clientType || 'app'
                                }
                            })
                            console.log('resp', resp)
                            if (resp && resp.code == 0) {
                                storage.setItem('token', resp.data.access_token)
                                commit("updateLogin", true)
                                await dispatch('getCurrentInfo')
                                uni.reLaunch({
                                    url: '/pages/home/home'
                                })
                            } else {
                            }
                            return resp
                        }
                    },
                }
            })
sub_pages/customer/shopping/shopping.vue
对比新文件
@@ -0,0 +1,22 @@
<template>
    <view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            }
        },
        methods: {
        }
    }
</script>
<style>
</style>
sub_pages/customer/trade/trade.vue
对比新文件
@@ -0,0 +1,22 @@
<template>
    <view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            }
        },
        methods: {
        }
    }
</script>
<style>
</style>
sub_pages/partner/order-manage/order-manage.vue
@@ -1,7 +1,7 @@
<template>
    <view class="list-container order-settlement supplier">
        <view class="component-tab-container m-t-12">
            <view class="tab-item" :class="[tabIndex==0?'cur':'']" @click="changeIndex(0)">带配送</view>
            <view class="tab-item" :class="[tabIndex==0?'cur':'']" @click="changeIndex(0)">待配送</view>
            <view class="tab-item" :class="[tabIndex==1?'cur':'']" @click="changeIndex(1)">已配送</view>
        </view>