Przeglądaj źródła

Merge remote-tracking branch 'remotes/origin/developer' into developerB

zhengjinyi 2 lat temu
rodzic
commit
76e9eb3d2d

+ 1 - 1
components/thorui/tui-modal/tui-modal.vue

@@ -11,7 +11,7 @@
                          :style="{background: item.customStyle.bgColor ? item.customStyle.bgColor : '',color: item.customStyle.color ? item.customStyle.color : '',fontSize: item.customStyle.fontSize ? item.customStyle.fontSize : ''}"
 						 :hover-class="!item.customStyle && ('tui-'+(item.plain?'outline':(item.type || 'primary'))+'-hover')"  :data-index="index" @tap="handleClick">{{item.text || "确定"}}</button>
 					</block>
-				</view> 
+				</view>
 			</view>
 			<view v-else>
 				<slot></slot>

+ 12 - 1
pages.json

@@ -263,7 +263,18 @@
 					"style": {
 						"navigationBarTitleText": "修改密码"
 					}
-				}
+				},
+                {
+                    "path": "supplier_login",
+                    "style": {
+                        "navigationBarTitleText": "美业参谋"
+                    }
+                }, {
+                    "path": "supplier_information",
+                    "style": {
+                        "navigationBarTitleText": "美业参谋"
+                    }
+                }
 			]
 		},
 		{

+ 3 - 2
pages/h5/article/path.vue

@@ -48,8 +48,9 @@
                     URL_CONFIG = 'https://www.caimei365.com/'
                 }
                 this.activityPath = `${URL_CONFIG}/document/pdfdetails.html?type=1&src=${link}`
-            }
-		}
+            },
+            
+		},
 	}
 </script>
 	

+ 299 - 0
pages/login/components/basicOperationsProducts.vue

@@ -0,0 +1,299 @@
+<template>
+    <view class="basicoperation">
+        <slot name="supplier-title"></slot>
+        <view class="basicoperation_container">
+           <image class="defalut author-empty" :style="{'z-index': isOnline ? 0 : 13}" src="https://static.caimei365.com/app/img/supplier-login/basicoperation/author-empty.png" mode="aspectFill"></image>
+           <image class="defalut store-empty" :style="{'z-index': isOnline ? 12 : 0}" src="https://static.caimei365.com/app/img/supplier-login/basicoperation/store-empty.png" mode="aspectFill"></image>
+           <view class="operation_store" v-if="isOnline">
+               <view class="online_store">
+                   <view class="store-logo">
+                       <image src="https://static.caimei365.com/app/img/supplier-login/basicoperation/store.png" class="store" mode=""></image>
+                   </view>
+                   <view class="store-title">
+                       在线商城
+                   </view>
+               </view>
+               <view class="store-line-title">
+                   <image src="https://static.caimei365.com/app/img/supplier-login/basicoperation/title.png" style="width: 100%;height: 100%;" mode=""></image>
+               </view>
+               <view class="store-content">
+                   <view class="content-item" v-for="item in online_store_list" :key="item.id">
+                       <image :src="item.img" mode="" style="width: 80rpx;height: 50rpx;"></image>
+                       <view class="store-content-title">
+                           {{item.title}}
+                       </view>
+                       <view class="store-content-text">
+                           {{item.content}}
+                       </view>
+                   </view>
+               </view>
+               <view class="author" @click="isOnline = false">
+                   <view class="author-title">
+                       正品认证通
+                   </view>
+                   <image style="width: 50rpx;height: 54rpx;"  src="https://static.caimei365.com/app/img/supplier-login/basicoperation/author.png" mode=""></image>
+               </view>
+           </view>
+           <view class="operation-author" v-else>
+               <view class="author">
+                   <view class="author-logo">
+                       <image style="width: 66rpx;
+height: 68rpx;" src="https://static.caimei365.com/app/img/supplier-login/basicoperation/author.png" mode=""></image>
+                   </view>
+                   <view class="author-title">
+                       正品认证通
+                   </view>
+               </view>
+               <view class="author-title-logo">
+                   <image src="https://static.caimei365.com/app/img/supplier-login/basicoperation/logo.png" style="width: 100%;height: 100%;" mode=""></image>
+               </view>
+               <view class="author-content-item">
+                   <image src="https://static.caimei365.com/app/img/supplier-login/basicoperation/02.png" style="width: 50rpx;height: 50rpx;border-radius: 50%;" mode=""></image>
+                    <view class="author-content-title">易装易用免维护</view>
+                    <view class="author-content-split"></view>
+                    <view class="author-content-text">独立后台账号体系、会打字就会用、公众号无缝衔接</view>
+               </view>
+               <view class="author-content-item">
+                   <image src="https://static.caimei365.com/app/img/supplier-login/basicoperation/03.png" style="width: 50rpx;height: 50rpx;border-radius: 50%;" mode=""></image>
+                    <view class="author-content-title">授权认证功能</view>
+                    <view class="author-content-split"></view>
+                    <view class="author-content-text">机构认证查询、设备认证查询、医师认证查询</view>
+               </view>
+               <view class="author-content-item">
+                   <image src="https://static.caimei365.com/app/img/supplier-login/basicoperation/04.png" style="width: 50rpx;height: 50rpx;border-radius: 50%;" mode=""></image>
+                    <view class="author-content-title">品牌运营</view>
+                    <view class="author-content-split"></view>
+                    <view class="author-content-text">与机构客户建立双向沟通渠道</view>
+               </view>
+               <view class="online-store" @click="isOnline = true">
+                   <image src="https://static.caimei365.com/app/img/supplier-login/basicoperation/store.png" style="width: 72rpx;height: 68rpx;" mode=""></image>
+                   <view class="online-store-logo">
+                       在线商城
+                   </view>
+               </view>
+           </view>
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            isOnline: true,
+            online_store_list: [
+                {
+                    id: 1,
+                    img: 'https://static.caimei365.com/app/img/supplier-login/basicoperation/p.png',
+                    title: '品牌店铺搭建',
+                    content: '轻松开启线上交易'
+                },
+                {
+                    id: 2,
+                    img: 'https://static.caimei365.com/app/img/supplier-login/basicoperation/l.png',
+                    title: '品牌展露',
+                    content: '彰显品牌实力'
+                },
+                {
+                    id: 3,
+                    img: 'https://static.caimei365.com/app/img/supplier-login/basicoperation/s.png',
+                    title: '商品SKU管理',
+                    content: '提高决策效率'
+                }
+            ]
+        }
+    },
+    methods: {
+    }
+}
+</script>
+
+<style scoped lang="scss">
+.defalut {
+    width: 610rpx;
+    height: 570rpx;
+    position: absolute;
+    box-sizing: border-box;
+}
+.store {
+    width: 80rpx;
+    height: 70rpx;
+}
+.basicoperation {
+    padding: 1px;
+    box-sizing: border-box;
+    background-color: #fff;
+    .basicoperation_container {
+        height: 690rpx;
+        padding: 0 70rpx;
+        box-sizing: border-box;
+        position: relative;
+        .operation_store {
+            position: absolute;
+            box-sizing: border-box;
+            padding: 36rpx 43rpx;
+            width: 610rpx;
+            height: 570rpx;
+            z-index: 12;
+            .online_store {
+                width: 300rpx;
+                height: 95rpx;
+                border-bottom: 1px solid #FFCEAF;
+                display: flex;
+                align-items: center;
+                .store-logo {
+                    width: 72rpx;
+                    height: 100%;
+                    border-bottom: 2px solid #FFC39A;
+                }
+                .store-title {
+                    color: #333333;
+                    font-size: 40rpx;
+                    font-weight: bold;
+                    margin-left: 21rpx;
+                    margin-top: -25rpx;
+                }
+            }
+            .store-line-title {
+                width: 100%;
+                height: 90rpx;
+                margin: 50rpx 0 33rpx 0;
+            }
+            .store-content {
+                width: 100%;
+                height: 216rpx;
+                display: flex;
+                justify-content: space-between;
+                .content-item {
+                    width: 172rpx;
+                    height: 216rpx;
+                    background: #FDF0E9;
+                    border: 4rpx solid #FFFFFF;
+                    box-shadow: 0rpx 6rpx 50rpx 0rpx rgba(255,91,0,0.24);
+                    border-radius: 10rpx;
+                    box-sizing: border-box;
+                    display: flex;
+                    flex-direction: column;
+                    align-items: center;
+                    justify-content: center;
+                    .store-content-title {
+                        color: #333333;
+                        font-size: 24rpx;
+                        font-weight: bold;
+                        margin: 30rpx 0 13rpx 0;
+                    }
+                    .store-content-text {
+                        color: #666666;
+                        font-size: 19rpx;
+                        text-align: center;
+                    }
+                }
+            }
+            .author {
+                position: absolute;
+                right: 0;
+                top: 0;
+                width: 242rpx;
+                height: 80rpx;
+                box-sizing: border-box;
+                display: flex;
+                align-items: center;
+                .author-title {
+                    font-size: 32rpx;
+                    font-weight: bold;
+                    color: white;
+                    margin-right: 14rpx;
+                }
+            }
+        }
+        .operation-author {
+            position: absolute;
+            box-sizing: border-box;
+            padding: 36rpx 36rpx;
+            width: 610rpx;
+            height: 570rpx;
+            z-index: 13;
+            .author {
+                position: absolute;
+                right: 30rpx;
+                width: 275rpx;
+                height: 110rpx;
+                top: 12rpx;
+                border-bottom: 1px solid #FFCEAF;
+                display: flex;
+                align-items: center;
+                flex-direction: row-reverse;
+                .author-logo {
+                    width: 72rpx;
+                    height: 100%;
+                    box-sizing: border-box;
+                    border-bottom: 2px solid #FFC39A;
+                    padding-top: 17rpx;
+                }
+                .author-title {
+                    color: white;
+                    font-size: 40rpx;
+                    font-weight: bold;
+                }
+            }
+            .author-title-logo {
+                width: 100%;
+                height: 120rpx;
+                margin-top: 130rpx;
+            }
+            .author-content-item {
+                width: 100%;
+                height: 70rpx;
+                border-radius: 70rpx;
+                border: 1px solid #FFC39A;
+                box-sizing: border-box;
+                padding: 2rpx;
+                display: flex;
+                align-items: center;
+                margin-top: 18rpx;
+                view {
+                    height: 100%;
+                    color: #FFC39A;
+                    font-size: 20rpx;
+                }
+                .author-content-title {
+                    font-size: 24rpx;
+                    font-weight: bold;
+                    display: flex;
+                    justify-content: center;
+                    align-items: center;
+                    margin: 0 10rpx;
+                }
+                .author-content-split {
+                    width: 2rpx;
+                    height: 50%;
+                    background-color: #FFC39A;
+                    margin-right: 10rpx;
+                }
+                .author-content-text {
+                    width: 278rpx;
+                    display: flex;
+                    align-items: center;
+                }
+            }
+            .online-store {
+                position: absolute;
+                top: 0;
+                left: 0;
+                width: 250rpx;
+                height: 100rpx;
+                display: flex;
+                align-items: center;
+                box-sizing: border-box;
+                padding: 36rpx 0 36rpx 14rpx;
+                .online-store-logo {
+                    font-size: 32rpx;
+                    font-weight: bold;
+                    color: black;
+                    margin-left: 14rpx;
+                }
+            }
+        }
+    }
+}
+</style>

+ 77 - 0
pages/login/components/caimei-about.vue

@@ -0,0 +1,77 @@
+<template>
+    <view
+        class="about"
+        :style="{
+            background: 'url(' + bgImg + ')',
+            'background-repeat': 'no-repeat',
+            'background-size': '100% 100%'
+        }"
+    >
+        <slot name="supplier-title"></slot>
+        <view class="about-container">
+            <view class="about-explain">
+                <view class="about-bg"></view>
+                <view class="about-text">
+                    采美网是一个生活美容和医疗美容行业B2B数字化营销和供应链服务平台,其核心资产包括采购
+                    信息中心,媒体矩阵,数字运营以及线上交易和供应链管理软件,建立了一个从信息引流到数字
+                    运营到交易结算一体化平台,站外引流站内运营,采购转化的闭环生态,采美平台以创造客户价值为核心,借助数字化营销的优
+                    势,赋能美业供应链上下游企业,共同打造一站式美业双线融合的供应链新生态。
+                </view>
+            </view>
+            <view>
+                <image class="about-achievement" src="https://static.caimei365.com/app/img/supplier-login/caimeiabout/achievement.png" mode=""></image>
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            bgImg: 'https://static.caimei365.com/app/img/supplier-login/caimeiabout/bg.png',
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.about {
+    padding: 1px;
+    box-sizing: border-box;
+}
+.about-container {
+    padding: 0 70rpx;
+    box-sizing: border-box;
+    .about-explain {
+        width: 610rpx;
+        height: 760rpx;
+        position: relative;
+        margin-bottom: 78rpx;
+        .about-bg {
+            width: 100%;
+            height: 100%;
+            position: absolute;
+            left: 0;
+            top: 0;
+            background: #FFFFFF;
+            opacity: 0.2;
+            border-radius: 4rpx;
+        }
+        .about-text {
+            width: 100%;
+            height: 100%;
+            box-sizing: border-box;
+            padding: 45rpx 34rpx;
+            color: #FFFFFF;
+            font-size: 32rpx;
+            line-height: 64rpx;
+        }
+    }
+    .about-achievement {
+        width: 610rpx;
+        height: 400rpx;
+        margin-bottom: 62rpx;
+    }
+}
+</style>

+ 76 - 0
pages/login/components/caimei-video.vue

@@ -0,0 +1,76 @@
+<template>
+    <view class="video" :class="show ? 'video-show' : ''">
+        <video v-if="videoObj.cmBrandFiles[0].ossUrl" :src="videoObj.cmBrandFiles[0].ossUrl" autoplay class="videoRef" controls id="videoRef"></video>
+        <view style="display: flex;width: 100%;flex-direction: row-reverse; margin-top: 300rpx;" @click="cancel">
+            <image
+                src="https://static.caimei365.com/app/img/supplier-login/close.png"
+                mode=""
+                class="iconfont icon-guanbi close"
+                :class="show ? 'video-show' : ''"
+            ></image>
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    props: {
+        show: {
+            type: Boolean,
+            default: () => false
+        },
+        videoObj: {
+            type: Object,
+            default: () => {}
+        }
+    },
+    data() {
+        return {
+            videoContext: null // 播放器上下文
+        }
+    },
+    watch: {},
+    mounted() {
+        this.videoContext = uni.createVideoContext('videoRef', this)
+    },
+    methods: {
+        cancel() {
+            this.videoContext.pause()
+            this.$emit('closeClick')
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.video {
+    width: 100vw;
+    height: 100vh;
+    box-sizing: border-box;
+    background-color: rgba(0, 0, 0, 0.5);
+    justify-content: flex-end;
+    align-items: center;
+    flex-direction: column-reverse;
+    z-index: 999;
+    position: fixed;
+    opacity: 0;
+    display: none;
+    left: 0;
+    top: 0;
+    .videoRef {
+        width: 80%;
+        height: 500rpx;
+    }
+}
+.video-show {
+    opacity: 1;
+    display: flex !important;
+}
+.close {
+    width: 67rpx;
+    height: 67rpx;
+    margin-bottom: -30rpx;
+    margin-right: 6%;
+    z-index: 1;
+}
+</style>

+ 249 - 0
pages/login/components/growthCommunity.vue

@@ -0,0 +1,249 @@
+<template>
+    <view class="growthcommunity">
+        <slot name="supplier-title"></slot>
+        <view class="negotiation">
+            <view class="enterprise">
+                <view class="title">美业企谈</view>
+                <view class="container">
+                    <scroll-view
+                        scroll-x="true"
+                        class="scroll-view"
+                        @scroll="scrollVideoHandler"
+                        :scroll-into-view="activeVideoMenu"
+                        scroll-with-animation="true"
+                    >
+                        <view
+                            class="video-item"
+                            v-for="(item, index) in videoList"
+                            :key="item.id"
+                            @click="$emit('playVideo', item)"
+                            :id="`item${index}`"
+                            v-if="item.appStatus == '1'"
+                        >
+                            <view class="player">
+                                <image src="https://static.caimei365.com/app/img/supplier-login/player.png" class="player-img"  mode=""></image>
+                            </view>
+                            <view class="img-item"><image :src="item.headAppBanner" mode="" class="img"></image></view>
+                            <view class="videotitle">
+                                <view class="text">{{ item.title }}</view>
+                            </view>
+                        </view>
+                    </scroll-view>
+                </view>
+            </view>
+            <view class="item-dots"><page-dots :pageAll="videoList.length" :isActive="isVideo" @hanlder-click="hanlderVideoClick" /></view>
+            <view class="enterprise">
+                <view class="title">采美资讯</view>
+                <view class="container">
+                    <scroll-view
+                        scroll-x="true"
+                        class="scroll-view"
+                        @scroll="scrollHandler"
+                        :scroll-into-view="activeMenu"
+                        scroll-with-animation="true"
+                    >
+                        <view
+                            class="video-item"
+                            v-for="(item, index) in articelList"
+                            :key="item.id"
+                            @click="handlerTramp(item)"
+                            :id="`item${index}`"
+                            v-if="item.appStatus == '1'"
+                        >
+                            <view class="img-item"><image :src="item.headAppBanner" mode="" class="img"></image></view>
+                            <view class="articleContent">
+                                <view class="text">{{ item.title }}</view>
+                                <view class="article-con">{{ item.content.match(/[\u4e00-\u9fa5]/g).join('') }}</view>
+                            </view>
+                        </view>
+                    </scroll-view>
+                </view>
+            </view>
+            <view class="item-dots"><page-dots :pageAll="articelList.length" :isActive="isArtical" @hanlder-click="hanlderClick" /></view>
+        </view>
+    </view>
+</template>
+
+<script>
+import PageDots from './swiper-dots.vue'
+export default {
+    props: {
+        videoList: {
+            type: Array,
+            default: () => []
+        },
+        articelList: {
+            type: Array,
+            default: () => []
+        }
+    },
+    components: {
+        PageDots
+    },
+    data() {
+        return {
+            isVideo: 0,
+            isArtical: 0,
+            activeMenu: 'item0',
+            activeVideoMenu: 'item0'
+        }
+    },
+    watch: {
+        videoList: {
+            handler(val) {
+                this.community_video_list = val
+            },
+            deep: true
+        },
+        articelList: {
+            handler(val) {
+                this.community_article_list = val
+            },
+            deep: true
+        }
+    },
+    methods: {
+        handlerTramp($event) {
+            const list = this.community_article_list.filter(e => e.id === $event.id)
+            let data = list[0].content.replace(/<img/g, '<img style="width: 100%;height: 200px"')
+            data = data.replace(/\<figure/g, '<div')
+            data = data.replace(/\<\/figure/g, '<\/div')
+            uni.setStorageSync('artForm', data)
+            uni.navigateTo({
+                url: '/pages/login/supplier_information'
+            })
+        },
+        scrollHandler($event) {
+            const data = Math.floor($event.detail.scrollLeft / 192)
+             this.isArtical = data
+        },
+        scrollVideoHandler($event) {
+            const data = Math.floor($event.detail.scrollLeft / 192)
+             this.isVideo = data
+        },
+        // 点击导航
+        hanlderClick($event) {
+            this.isArtical = $event
+            this.activeMenu = `item${$event}`
+        },
+        hanlderVideoClick($event) {
+            this.isVideo = $event
+            this.activeVideoMenu = `item${$event}`
+        }
+    }
+}
+</script>
+
+<style scoped lang="scss">
+.img {
+    width: 100%;
+    height: 100%;
+}
+.growthcommunity {
+    padding: 1px;
+    box-sizing: border-box;
+    background-color: #fff;
+    .negotiation {
+        padding-left: 72rpx;
+    }
+}
+.enterprise {
+    position: relative;
+    margin-bottom: 50rpx;
+}
+.title {
+    color: #333333;
+    font-size: 32rpx;
+    margin-bottom: 34rpx;
+}
+.scroll-view {
+    white-space: nowrap;
+}
+.video-item {
+    width: 384rpx;
+    height: 376rpx;
+    background: #ffffff;
+    border: 1px solid #eaeaea;
+    display: inline-flex;
+    margin-right: 32rpx;
+    box-sizing: border-box;
+    flex-direction: column;
+    overflow-wrap: break-word;
+    white-space: normal;
+    position: relative;
+    .player {
+        height: calc(100% - 159rpx);
+        width: 100%;
+        position: absolute;
+        top: 0;
+        left: 0;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        background-color: rgba(0, 0, 0, 0.3);
+        .player-img {
+            width: 60rpx;
+            height: 60rpx;
+        }
+    }
+    .img-item {
+        height: calc(100% - 159rpx);
+        width: 100%;
+    }
+    .videotitle {
+        width: 100%;
+        height: 159rpx;
+        font-size: 28rpx;
+        color: #333333;
+        padding: 40rpx 40rpx;
+        overflow: hidden;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        box-sizing: border-box;
+        .text {
+            width: 336rpx;
+            height: 90rpx;
+            overflow: hidden;
+            line-height: 48rpx;
+            -webkit-box-orient: vertical;
+            -webkit-line-clamp: 2;
+            overflow-wrap: break-word;
+            text-overflow: ellipsis;
+            display: -webkit-box;
+        }
+    }
+    .articleContent {
+        .text {
+            margin-top: 24rpx;
+            box-sizing: border-box;
+            padding-left: 24rpx;
+            color: #333333;
+            font-size: 32rpx;
+            border-left: 2px solid #ff5b00;
+        }
+        .article-con {
+            margin-top: 18rpx;
+            width: 100%;
+            height: 62rpx;
+            box-sizing: border-box;
+            padding: 0 24rpx;
+            color: #666666;
+            font-size: 24rpx;
+            overflow: hidden;
+            -webkit-box-orient: vertical;
+            -webkit-line-clamp: 2;
+            overflow-wrap: break-word;
+            text-overflow: ellipsis;
+            display: -webkit-box;
+        }
+    }
+}
+.item-dots {
+    height: 160rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    margin-left: -20rpx;
+}
+</style>

+ 146 - 0
pages/login/components/markeServices.vue

@@ -0,0 +1,146 @@
+<template>
+    <view class="server">
+        <swiper
+            :indicator-dots="true"
+            :autoplay="true"
+            :interval="3000"
+            :duration="1000"
+            indicator-color="rgba(0, 0, 0, 0.5)"
+            indicator-active-color="rgba(255, 91, 0, 1)"
+        >
+            <swiper-item v-for="item in bannersList" :key="item.id" v-if="item.appStatus == '1'">
+                <view class="swiper-item">
+                    <image class="img" :src="item.headAppBanner" @click="jumplink(item)"/>
+                </view>
+            </swiper-item>
+        </swiper>
+        <slot name="supplier-title"></slot>
+        <scroll-view scroll-x="true" class="scroll-view">
+            <view class="server_item" v-for="item in server_card_list" :key="item.id">
+                <image :src="item.img" mode="" class="card_img"></image>
+                <text class="card_title">{{item.title}}</text>
+                <text class="card_text" v-for="text, index in item.content" :key="index">{{text.text}}</text>
+            </view>
+        </scroll-view>
+    </view>
+</template>
+
+<script>
+export default {
+    props: {
+        bannersList: {
+            type: Array,
+            default: () => []
+        }
+    },
+    data() {
+        return {
+            // 卡片内容
+            server_card_list: [
+                {
+                    id: 1,
+                    title: '全渠道获客',
+                    img: 'https://static.caimei365.com/app/img/supplier-login/server/01.png',
+                    content: [
+                        {
+                            text: '精准投放推广内容触达B端客户',
+                        },
+                        {
+                            text: '精准识别全渠道匿名用户线索',
+                        }
+                    ]
+                },
+                {
+                    id: 2,
+                    title: '潜客运营',
+                    img: 'https://static.caimei365.com/app/img/supplier-login/server/02.png',
+                    content: [
+                        {
+                            text: '潜客筛选',
+                        },
+                        {
+                            text: '精细化分层运营',
+                        },
+                        {
+                            text: '精准推送内容'
+                        }
+                    ]
+                },
+                {
+                    id: 3,
+                    title: '销售转化',
+                    img: 'https://static.caimei365.com/app/img/supplier-login/server/03.png',
+                    content: [
+                        {
+                            text: '全链条商机管理,用户线索流程清晰,高效流转'
+                        },
+                        {
+                            text: '全场景交易平台,线上线下一体化把握每一条商机'
+                        },
+                        {
+                            text: '全方位售后服务,延长客户生命周期、提高复购率'
+                        }
+                    ]
+                }
+            ]
+        }
+    },
+    methods: {
+        jumplink($event) {
+            if ($event.jumpAppLink) {
+                this.$api.navigateTo($event.jumpAppLink)
+            }
+        }
+    }
+}
+</script>
+
+<style scoped lang="scss">
+    .server {
+        background-color: #fff;
+    }
+swiper {
+    height: 360rpx;
+}
+.swiper-item {
+    height: 100%;
+    width: 100%;
+}
+.img {
+    width: 100%;
+    height: 100%;
+}
+.server_item {
+    width: 550rpx;
+    height: 610rpx;
+    box-sizing: border-box;
+    display: inline-flex;
+    flex-direction: column;
+    margin: 10rpx 20rpx;
+    align-items: center;
+    box-shadow: 0rpx 1rpx 16rpx 0rpx rgba(102, 102, 102, 0.3);
+    .card_title {
+        color: #333333;
+        font-size: 36rpx;
+        font-weight: 500;
+        margin-bottom: 20rpx;
+    }
+    .card_text {
+        color: #707070;
+        font-size: 24rpx;
+        margin-top: 10rpx;
+    }
+    .card_img {
+        width: 216rpx;
+        height: 216rpx;
+        margin: 80rpx 0 40rpx 0;
+    }
+}
+.scroll-view {
+    white-space: nowrap;
+    width: 100%;
+    box-sizing: border-box;
+    padding: 0 56rpx;
+    height: 640rpx;
+}
+</style>

+ 109 - 0
pages/login/components/menuTopDropdown.vue

@@ -0,0 +1,109 @@
+<template>
+	<view>
+		<view
+			class="dropdown dropdown-box"
+			:class="[show ? 'dropdown-show' : '']"
+			:style="{
+				height: height ? px(height) : 'auto',
+				backgroundColor: backgroundColor,
+				paddingBottom: px(paddingbtm),
+				transform: 'translateZ(0) translateY(' + (show ? px(translatey) : '-100%') + ')'
+			}"
+		>
+			<slot></slot>
+		</view>
+		<view @touchmove.stop.prevent class="dropdown-mask" :style="{top: px(maskTop)}" :class="[mask && show ? 'mask-show' : '']" @tap="handleClose"></view>
+	</view>
+</template>
+
+<script>
+export default {
+	name: 'TopDropdown',
+	props: {
+		//是否需要mask
+		mask: {
+			type: Boolean,
+			default: true
+		},
+		//控制显示
+		show: {
+			type: Boolean,
+			default: false
+		},
+		//背景颜色
+		backgroundColor: {
+			type: String,
+			default: '#fff'
+		},
+		//padding-bottom  rpx
+		paddingbtm: {
+			type: Number,
+			default: 0
+		},
+		//高度 rpx
+		height: {
+			type: Number,
+			default: 580
+		},
+		//移动距离 需要计算
+		translatey: {
+			type: Number,
+			default: 0
+		},
+        // mask 的位置
+        maskTop: {
+            type: Number,
+            default: 0
+        }
+	},
+	methods: {
+		handleClose() {
+			if (!this.show) {
+				return
+			}
+			this.$emit('close', {})
+		},
+		px(num) {
+			return uni.upx2px(num) + 'px'
+		}
+	}
+}
+</script>
+
+<style scoped lang="scss">
+.dropdown-box {
+	width: 100%;
+	position: fixed;
+	box-sizing: border-box;
+	border-bottom-right-radius: 24rpx;
+	border-bottom-left-radius: 24rpx;
+	transform: translateZ(0);
+	overflow: hidden;
+	/* visibility: hidden; */
+	transition: all 0.3s ease-in-out;
+	z-index: 996;
+	top: 0;
+    left: 0;
+}
+
+.dropdown-show {
+	/* visibility: visible; */
+}
+
+.dropdown-mask {
+	position: fixed;
+	left: 0;
+	right: 0;
+	bottom: 0;
+	background-color: rgba(0, 0, 0, 0.6);
+	z-index: 986;
+	transition: all 0.3s ease-in-out;
+	opacity: 0;
+	visibility: hidden;
+}
+
+.mask-show {
+	opacity: 1;
+	visibility: visible;
+}
+</style>

+ 176 - 0
pages/login/components/scenarioMarketing.vue

@@ -0,0 +1,176 @@
+<template>
+    <view class="scenariomarketing">
+        <slot name="supplier-title"></slot>
+        <view class="scenario-container">
+            <view class="scenario-item" v-for="item in filterScenarioList" :key="item.id">
+                <view class="scenario-title">{{item.title}}</view>
+                <view class="scenario-contant">{{item.contant}}</view>
+                <image class="scenario-img" :src="item.url" mode=""></image>
+            </view>
+            <view class="more" v-if="filterScenarioList.length < 10" @click="() => {filterScenarioList = ScenarioList}">
+                展开查看更多
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            ScenarioList: [
+                {
+                    id: 1,
+                    title: '信息平台',
+                    contant: '集创作、发布、客户资源收集于一体的美业内容输出平台;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/01.png'
+                },
+                {
+                    id: 2,
+                    title: '媒体矩阵',
+                    contant: '丰富媒体资源,助力品牌快速传播;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/02.png'
+                },
+                {
+                    id: 3,
+                    title: '正版图库',
+                    contant: '永久商业授权的专业医美正版图库;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/03.png'
+                },
+                {
+                    id: 4,
+                    title: 'SEO关键词',
+                    contant: '立足企业全局,进行关键词策划布局;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/04.png'
+                },
+                {
+                    id: 5,
+                    title: 'CRM系统',
+                    contant: '客户全生命周期数字化管理系统;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/05.png'
+                },
+                {
+                    id: 6,
+                    title: '认证通',
+                    contant: '一款专业的正品认证SaaS软件系统;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/06.png'
+                },
+                {
+                    id: 7,
+                    title: '美业社群',
+                    contant: '更紧密的联动用户,提高客户转化率;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/07.png'
+                },
+                {
+                    id: 8,
+                    title: '私域直播',
+                    contant: 'B2B企业直播平台,一键开启直播引流;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/08.png'
+                },
+                {
+                    id: 9,
+                    title: '分销体系',
+                    contant: '降低管理成本,提升经营效率;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/09.png'
+                },
+                {
+                    id: 10,
+                    title: '会议营销',
+                    contant: '以客户体验为导向,促进现场商机转化成交;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/10.png'
+                },
+                {
+                    id: 11,
+                    title: '金融分期',
+                    contant: '缓解客户现金流压力,促进大额交易;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/11.png'
+                },
+                {
+                    id: 12,
+                    title: '交易商城',
+                    contant: '一站式管理客户资源,支持1V1线上交易;',
+                    url: 'https://static.caimei365.com/app/img/supplier-login/scenariomarket/12.png'
+                }
+            ],
+            // 截取的H5列表
+            filterScenarioList: []
+        }
+    },
+    mounted() {
+        this.filterScenarioList = this.ScenarioList.filter(e => e.id <= 6)
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.scenariomarketing {
+    padding: 1px;
+    box-sizing: border-box;
+    background-color: #f7f7f7;
+}
+.scenario-container {
+    padding: 0 70rpx 62rpx 70rpx;
+    display: grid;
+    grid-template-columns: repeat(2, 1fr);
+    width: 610rpx;
+    .more {
+        grid-column: 1 / span 2;
+        justify-content: center;
+        align-items: center;
+        background-color: #fff;
+        border: 0.5px solid #f0f0f0;
+        font-size: 28rpx;
+        color: #999999;
+        height: 158rpx;
+        display: flex;
+        position: relative;
+    }
+    .more::before {
+        content: '';
+        position: absolute;
+        width: 15rpx;
+        height: 15rpx;
+        right: 180rpx;
+        top: 72rpx;
+        border-bottom: 1px solid;
+        border-right: 1px solid;
+        transform: rotate(45deg);
+    }
+    .more::after {
+        content: '';
+        position: absolute;
+        width: 15rpx;
+        height: 15rpx;
+        right: 180rpx;
+        top: 62rpx;
+        border-bottom: 1px solid;
+        border-right: 1px solid;
+        transform: rotate(45deg);
+    }
+    .scenario-item {
+        height: 447rpx;
+        border: 0.5rpx solid #f0f0f0;
+        background-color: #fff;
+        box-sizing: border-box;
+        padding: 57rpx 40rpx 0 40rpx;
+        position: relative;
+        .scenario-title {
+            color: #202020;
+            font-size: 36rpx;
+        }
+        .scenario-contant {
+            color: #666666;
+            font-size: 24rpx;
+            line-height: 36rpx;
+            margin-top: 28rpx;
+        }
+        .scenario-img {
+            position: absolute;
+            right: 49rpx;
+            bottom: 40rpx;
+            width: 118rpx;
+            height: 118rpx;
+        }
+    }
+}
+</style>

+ 232 - 0
pages/login/components/solution.vue

@@ -0,0 +1,232 @@
+<template>
+    <view
+        class="solution"
+        :style="{
+            background: 'url(' + bgImg + ')',
+            'background-repeat': 'no-repeat',
+            'background-size': '100% 100%'
+        }"
+    >
+        <slot name="supplier-title"></slot>
+        <view class="solution_container">
+            <view class="solution_item" v-for="item in solutionList" :key="item.id">
+                <view
+                    class="solution_item_bg"
+                    :style="{
+                        background: 'url(' + item.bgImg + ')',
+                        'background-repeat': 'no-repeat',
+                        'background-size': '100%'
+                    }"
+                >
+                    {{ item.title }}
+                </view>
+                <view class="solution_item_container">
+                    <view class="solution_text" v-for="(text, index) in item.content" :key="index">
+                        {{ text.text }}
+                    </view>
+                    <button type="default" class="solution_btn" @click="openMadel">查看解决方案</button>
+                </view>
+            </view>
+        </view>
+        <tui-modal
+            :show.sync="modal"
+            custom
+            @cancel="() => (modal = false)"
+            maskClosable
+            color="#333"
+            :size="32"
+        >
+            <view class="tui-modal-custom">
+                <view class="tui-modal-custom-text">如有需要,可通过右下角电话或微信联系客服</view>
+                <button height="72rpx" class="solution_btn" :size="28" shape="circle" @click="() => (modal = false)">确定</button>
+            </view>
+        </tui-modal>
+    </view>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            bgImg: 'https://static.caimei365.com/app/img/supplier-login/solution/bg.png',
+            // 解决方案内容
+            solutionList: [
+                {
+                    id: 1,
+                    title: '基础版',
+                    bgImg: 'https://static.caimei365.com/app/img/supplier-login/solution/01.png',
+                    content: [
+                        {
+                            text: '品牌商城入驻'
+                        },
+                        {
+                            text: '品牌内容宣发'
+                        },
+                        {
+                            text: '用户画像洞察'
+                        },
+                        {
+                            text: '客户旅程搭建'
+                        },
+                        {
+                            text: '客户线索跟踪'
+                        },
+                        {
+                            text: '线索转化'
+                        }
+                    ]
+                },
+                {
+                    id: 2,
+                    title: '高级版',
+                    bgImg: 'https://static.caimei365.com/app/img/supplier-login/solution/02.png',
+                    content: [
+                        {
+                            text: '基础版全部内容'
+                        },
+                        {
+                            text: '引流关键词策划和布局'
+                        },
+                        {
+                            text: '漏斗模型转化率评估'
+                        },
+                        {
+                            text: '数字营销内容策划'
+                        },
+                        {
+                            text: '客户线索跟踪'
+                        },
+                        {
+                            text: '线索转化'
+                        }
+                    ]
+                },
+                {
+                    id: 3,
+                    title: '战略版',
+                    bgImg: 'https://static.caimei365.com/app/img/supplier-login/solution/03.png',
+                    content: [
+                        {
+                            text: '高级版全部内容'
+                        },
+                        {
+                            text: '设置销售目标'
+                        },
+                        {
+                            text: '数据模型策划和执行'
+                        },
+                        {
+                            text: '品牌私域运营及正品认证通'
+                        },
+                        {
+                            text: '开放平台全域销售系统'
+                        },
+                        {
+                            text: '保证销售目标的执行'
+                        }
+                    ]
+                }
+            ],
+            modal: false,
+            btnStyle: [
+                {
+                    text: '确定',
+                    type: '',
+                    plain: false
+                }
+            ]
+        }
+    },
+    methods: {
+        openMadel() {
+            this.modal = true
+        }
+    }
+}
+</script>
+
+<style scoped lang="scss">
+.solution {
+    box-sizing: border-box;
+    padding: 1rpx;
+    margin-top: 120rpx;
+    .solution_container {
+        padding: 0 72rpx;
+        box-sizing: border-box;
+        .solution_item {
+            width: 606rpx;
+            height: 610rpx;
+            box-sizing: border-box;
+            display: flex;
+            margin-bottom: 60rpx;
+            .solution_item_bg {
+                display: flex;
+                align-items: center;
+                writing-mode: vertical-rl;
+                justify-content: center;
+                width: 140rpx;
+                font-size: 56rpx;
+                color: #ffffff;
+                font-weight: Bold;
+            }
+            .solution_item_container {
+                width: calc(100% - 140rpx);
+                height: 100%;
+                position: relative;
+                box-sizing: border-box;
+                padding: 63rpx 70rpx;
+                background-color: #fff;
+                .solution_text {
+                    font-size: 28rpx;
+                    color: #666666;
+                    line-height: 64rpx;
+                    position: relative;
+                    white-space: nowrap;
+                }
+                .solution_text::before {
+                    content: '';
+                    border: 1px solid #b2b2b2;
+                    width: 10rpx;
+                    height: 10rpx;
+                    position: absolute;
+                    left: -30rpx;
+                    top: 25rpx;
+                    transform: rotate(45deg);
+                }
+                .solution_btn {
+                    position: absolute;
+                    width: 220rpx;
+                    height: 72rpx;
+                    background: #ff5b00;
+                    border-radius: 4rpx;
+                    color: #fff;
+                    font-size: 28rpx;
+                    text-align: center;
+                    line-height: 72rpx;
+                    right: 40rpx;
+                    bottom: 48rpx;
+                }
+            }
+        }
+    }
+}
+.tui-modal-custom {
+    padding: 40rpx 20rpx 10rpx 20rpx;
+    .tui-modal-custom-text {
+        font-size: 32rpx;
+        color: #666666;
+        text-align: center;
+    }
+    .solution_btn {
+        width: 400rpx;
+        height: 72rpx;
+        margin-top: 40rpx;
+        background: #FF5B00;
+        border-radius: 36rpx;
+        color: white;
+        font-size: 28rpx;
+        text-align: center;
+        line-height: 72rpx;
+    }
+}
+</style>

+ 131 - 0
pages/login/components/successCases.vue

@@ -0,0 +1,131 @@
+<template>
+    <view class="successCases">
+        <slot name="supplier-title"></slot>
+        <scroll-view scroll-x="true" class="scroll-view" @scroll="scrollX" :scroll-into-view="activeMenu" scroll-with-animation="true">
+            <view
+                class="swiper-item"
+                v-for="(item, index) in successList"
+                :key="item.id"
+                :id="`item${index}`"
+                :style="{ margin: item.id === 2 ? '40rpx' : '' }"
+                v-if="item.appStatus == '1'"
+            >
+                <view class="swiper-item-title">{{ item.title }}</view>
+                <view class="swiper-item-contant" v-html="item.content"></view>
+                <image :src="item.headAppBanner" mode="" class="swiper-item-img"></image>
+            </view>
+        </scroll-view>
+        <view class="scroll-dots">
+            <page-dots :pageAll="successList.length" :isActive="isSuccess" @hanlder-click="hanlderClick" />
+        </view>
+    </view>
+</template>
+
+<script>
+import PageDots from './swiper-dots.vue'
+export default {
+    props: {
+        successList: {
+            type: Array,
+            default: () => []
+        }
+    },
+    components: {
+        PageDots
+    },
+    data() {
+        return {
+            isSuccess: 0,
+            activeMenu: 'item0'
+        }
+    },
+    methods: {
+        scrollX($event) {
+            const data = Math.floor($event.detail.scrollLeft / 192)
+             this.isSuccess = data
+        },
+        hanlderClick($event) {
+            this.isSuccess = $event
+            this.activeMenu = `item${$event}`
+        },
+    }
+}
+</script>
+
+<style scoped lang="scss">
+.successCases {
+    padding: 1px;
+    box-sizing: border-box;
+    background-color: #fff;
+    position: relative;
+}
+.scroll-view {
+    height: 1400rpx;
+    padding-left: 32rpx;
+    width: 100%;
+    box-sizing: border-box;
+    white-space: nowrap;
+    position: relative;
+    background-color: #fff;
+}
+.swiper-item {
+    width: 566rpx;
+    height: 1124rpx;
+    box-shadow: 0rpx 8rpx 32rpx 0rpx rgba(102, 102, 102, 0.3);
+    background: #ffffff;
+    margin: 40rpx 0 40rpx 40rpx;
+    box-sizing: border-box;
+    padding: 50rpx;
+    overflow-wrap: break-word;
+    white-space: normal;
+    display: inline-flex;
+    flex-direction: column;
+    position: relative;
+    align-items: center;
+}
+.swiper-item-title {
+    color: #333333;
+    font-size: 32rpx;
+    font-weight: 600;
+    text-align: center;
+}
+.swiper-item-contant {
+    font-size: 24rpx;
+    color: #666666;
+    line-height: 48rpx;
+    overflow-wrap: break-word;
+    white-space: normal;
+    margin-top: 40rpx;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-line-clamp: 14;
+    -webkit-box-orient: vertical;
+}
+.swiper-item-img {
+    width: 468rpx;
+    height: 274rpx;
+    position: absolute;
+    left: 48rpx;
+    bottom: 40rpx;
+}
+.scroll-dots {
+    position: absolute;
+    left: 50%;
+    bottom: 140rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    transform: translateX(-50%);
+    .scroll-dot {
+        width: 12rpx;
+        height: 12rpx;
+        border-radius: 50%;
+        background-color: #FFBD99;
+        margin-right: 16rpx;
+    }
+}
+.isActive {
+    background: #ff5b00 !important;
+}
+</style>

+ 187 - 0
pages/login/components/supplier-loginMenu.vue

@@ -0,0 +1,187 @@
+<template>
+    <view>
+        <view class="login_menu">
+            <image class="logo" src="https://static.caimei365.com/app/img/supplier-login/logo_.png" mode="" @click="trampLink"></image>
+            <view class="menu_slide">
+                <scroll-view
+                    scroll-x="true"
+                    class="scroll-view"
+                    @scroll="scroll"
+                    :scroll-into-view="activeMenu"
+                    :scroll-with-animation="true"
+                >
+                    <view
+                        :id="'item' + item.id"
+                        class="scroll_menu"
+                        v-for="item in menuList"
+                        @click="handlerActiveLink(item)"
+                        :key="item.id"
+                    >
+                        {{ item.title }}
+                    </view>
+                </scroll-view>
+            </view>
+            <view class="check_menu" @click="scrollintoview">
+                <text class="cell-more iconfont icon-xiayibu" :class="actbtn ? 'act-btn' : ''"></text>
+            </view>
+        </view>
+        <MenuTopDropdown :show="dropdownShow" @close="closeTopDrop" translatey="100" height="260" maskTop="100">
+            <view class="menuList">
+                <button>全部目录</button>
+                <button
+                    type="default"
+                    class="menu-btn"
+                    :class="isActive === item.id ? 'isActive' : ''"
+                    v-for="item in menuList"
+                    :key="item.id"
+                    @click="handlerNavLink(item)"
+                >
+                    {{ item.title }}
+                </button>
+            </view>
+        </MenuTopDropdown>
+    </view>
+</template>
+
+<script>
+import MenuTopDropdown from './menuTopDropdown'
+export default {
+    components: {
+        MenuTopDropdown
+    },
+    props: {
+        menuList: {
+            type: Array,
+            default: () => []
+        }
+    },
+    data() {
+        return {
+            activeMenu: '', // 滚动id
+            dropdownShow: false,
+            isActive: 0, // 活动链接
+            actbtn: false
+        }
+    },
+    watch: {},
+    methods: {
+        // 滚动菜单
+        scroll($event) {
+            this.activeMenu = ''
+        },
+        scrollintoview() {
+            // this.activeMenu = 'item4'
+            this.dropdownShow = !this.dropdownShow
+            this.actbtn = !this.actbtn
+        },
+        closeTopDrop() {
+            this.dropdownShow = false
+            this.actbtn = false
+        },
+        handlerNavLink($event) {
+            this.isActive = $event.id
+            this.activeMenu = 'item' + $event.id
+            this.dropdownShow = false
+            this.actbtn = false
+            this.$emit('scrollPage', this.activeMenu)
+        },
+        handlerActiveLink($event) {
+            this.isActive = $event.id
+            this.activeMenu = 'item' + $event.id
+            this.$emit('scrollPage', this.activeMenu)
+        },
+        trampLink() {
+            uni.navigateTo({
+                url: '/pages/supplier/index/index'
+            })
+        }
+    }
+}
+</script>
+
+<style scoped lang="scss">
+.login_menu {
+    width: 100%;
+    height: 100rpx;
+    background-color: #fff;
+    box-shadow: 0rpx 5rpx 14rpx 0rpx rgba(51, 51, 51, 0.12);
+    box-sizing: border-box;
+    padding: 26rpx 40rpx;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    position: fixed;
+    left: 0;
+    top: 0;
+    z-index: 999;
+}
+.logo {
+    width: 132rpx;
+    height: 48rpx;
+}
+.scroll-view {
+    white-space: nowrap;
+    width: 100%;
+}
+.menu_slide {
+    width: 530rpx;
+    box-sizing: border-box;
+    padding: 0 106rpx 0 40rpx;
+    .scroll_menu {
+        width: 150rpx;
+        font-size: 28rpx;
+        color: #333;
+        display: inline-block;
+        text-align: center;
+        box-sizing: border-box;
+        padding-left: 20rpx;
+    }
+}
+.check_menu {
+    position: absolute;
+    top: 0;
+    right: 0;
+    width: 148rpx;
+    height: 100rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    box-sizing: border-box;
+    box-shadow: -10px 0px 10px 0 #fff;
+}
+.menuList {
+    width: 100%;
+    height: 100%;
+    background-color: #fff;
+    display: grid;
+    grid-template-columns: repeat(4, 1fr);
+    grid-template-rows: repeat(2, 1fr);
+    align-items: center;
+    padding: 20rpx 0;
+    box-sizing: border-box;
+}
+.menu-btn {
+    width: 148rpx;
+    height: 64rpx;
+    background: #f5f5f5;
+    border-radius: 32rpx;
+    font-size: 24rpx;
+    text-align: center;
+    color: #666666;
+    line-height: 64rpx;
+}
+.isActive {
+    border: 1px solid #ff5b00;
+    color: #ff5b00;
+    background: #fff;
+}
+.iconfont {
+    transition: 0.2s;
+}
+.icon-xiayibu {
+    transform: rotate(90deg);
+}
+.act-btn {
+    transform: rotate(270deg) !important;
+}
+</style>

+ 42 - 0
pages/login/components/supplier-title.vue

@@ -0,0 +1,42 @@
+<template>
+    <view>
+        <view class="title" :style="{color: titlecolor}">{{title}}</view>
+        <view class="subtitle" v-html="subtitle" :style="{color: subtitlecolor}"></view>
+    </view>
+</template>
+
+<script>
+    export default {
+        props: {
+            title: {
+                type: String,
+                default: () => ''
+            },
+            subtitle: {
+                type: String,
+                default: () => ''
+            },
+            titlecolor: {
+                type: String,
+                default: () => '#333333'
+            },
+            subtitlecolor: {
+                type: String,
+                default: () => '#707070'
+            }
+        }
+    }
+</script>
+
+<style lang="scss" scoped>
+    .title {
+        margin-top: 122rpx;
+        text-align: center;
+        font-size: 44rpx;
+    }
+    .subtitle {
+        margin: 20rpx 0 100rpx 0;
+        text-align: center;
+        font-size: 28rpx;
+    }
+</style>

+ 39 - 0
pages/login/components/swiper-dots.vue

@@ -0,0 +1,39 @@
+<template>
+    <view class="dots">
+        <view class="dot" v-for="item in pageAll" :key="item" :class="isActive === item ? 'active' : ''" @click="$emit('hanlderClick', item)"></view>
+    </view>
+</template>
+
+<script>
+export default {
+    props: {
+        pageAll: {
+            type: Number,
+            default: () => 0
+        },
+        isActive: {
+            type: Number,
+            default: () => 0
+        }
+    },
+}
+</script>
+
+<style scoped lang="scss">
+.dots {
+    width: 100%;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    .dot {
+        width: 12rpx;
+        height: 12rpx;
+        border-radius: 50%;
+        background: rgba(255, 91, 0, 0.4);
+        margin-right: 20rpx;
+    }
+}
+.active {
+    background: #FF5B00 !important;
+}
+</style>

+ 6 - 2
pages/login/login.vue

@@ -28,7 +28,8 @@
 				<view class="code-btn" @click.stop="handleMobileCode"> {{ mobileCodeText }} </view>
 			</view>
 			<view class="login-input link">
-				<view class="login-reg" @click.stop="navigatorRegirst('/pages/login/register-select')">免费注册</view>
+				<view class="login-reg" @click.stop="navigatorRegirst('/pages/login/register-supplier')" v-if="JSON.parse(getOption).state == '1'">免费注册</view>
+                <view class="login-reg" @click.stop="navigatorRegirst('/pages/login/register')" v-else>免费注册</view>
 				<view class="login-pwd" @click.stop="handeleLogin(1)">密码登录</view>
 			</view>
 		</view>
@@ -57,7 +58,8 @@
 				/>
 			</view>
 			<view class="login-input link">
-				<view class="login-reg" @click.stop="navigatorRegirst('/pages/login/register-select')">免费注册</view>
+				<view class="login-reg" v-if="JSON.parse(getOption).state == '1'" @click.stop="navigatorRegirst('/pages/login/register-supplier')">免费注册</view>
+                <view class="login-reg" v-else @click.stop="navigatorRegirst('/pages/login/register')">免费注册</view>
 				<view class="login-pwd" @click.stop="handeleLogin(0)">验证码登录</view>
 			</view>
 		</view>
@@ -108,6 +110,7 @@ export default {
 	},
 	onLoad(option) {
 		this.getOption = JSON.stringify(option)
+        console.log(JSON.parse(this.getOption))
 	},
 	computed: {
 		...mapState(['hasLogin', 'isWxAuthorize', 'isLoginType'])
@@ -230,6 +233,7 @@ export default {
 					Um_Key_SourcePage: '登录页面'
 				})
 			}
+            console.log(url)
 			this.$api.navigateTo(url)
 		},
 		handeleLogin(type) {

+ 70 - 0
pages/login/supplier_information.vue

@@ -0,0 +1,70 @@
+<template>
+    <view>
+        <view class="supplier_login"><login-menu :menuList="menuList" @scrollPage="scrollPage" /></view>
+        <view class="artform" v-html="artForm"></view>
+    </view>
+</template>
+
+<script>
+import LoginMenu from './components/supplier-loginMenu.vue'
+export default {
+    components: {
+        LoginMenu
+    },
+    data() {
+        return {
+            menuList: [
+                {
+                    id: 0,
+                    title: '营销服务'
+                },
+                {
+                    id: 1,
+                    title: '解决方案'
+                },
+                {
+                    id: 2,
+                    title: '运营产品'
+                },
+                {
+                    id: 3,
+                    title: '营销工具'
+                },
+                {
+                    id: 4,
+                    title: '成功案例'
+                },
+                {
+                    id: 5,
+                    title: '关于采美'
+                },
+                {
+                    id: 6,
+                    title: '增长社区'
+                }
+            ],
+            activeMenu: '',
+            artForm: ''
+        }
+    },
+    mounted() {
+        this.artForm = uni.getStorageSync('artForm')
+    },
+    methods: {
+        // 滚动事件
+        scrollPage($event) {
+            this.activeMenu = $event
+            uni.navigateBack(1)
+            uni.$emit('changeLink', $event)
+        },
+    }
+}
+</script>
+
+<style scoped lang="scss">
+.artform {
+    margin-top: 220rpx;
+    padding: 0 40rpx 40rpx 40rpx;
+    box-sizing: border-box;
+}
+</style>

+ 416 - 0
pages/login/supplier_login.vue

@@ -0,0 +1,416 @@
+<template>
+    <view>
+        <view class="supplier_login"><login-menu :menuList="menuList" @scrollPage="scrollPage" /></view>
+        <view class="container">
+            <scroll-view
+                class="scrollview"
+                @scroll="scrollView"
+                scroll-y="true"
+                :scroll-into-view="activeMenu"
+                :scroll-with-animation="true"
+            >
+                <view id="item0">
+                    <marke-service :bannersList="bannerList">
+                        <template #supplier-title>
+                            <supplier-title title="全生命周期陪跑服务" subtitle="采美,更专业的美业数字化因营销服务" />
+                        </template>
+                    </marke-service>
+                </view>
+                <view id="item1">
+                    <Solution>
+                        <template #supplier-title>
+                            <supplier-title title="解决方案" subtitle="满足企业全方位需求" />
+                        </template>
+                    </Solution>
+                </view>
+                <view id="item2">
+                    <basic-operation>
+                        <template #supplier-title>
+                            <supplier-title title="基础运营产品" subtitle="使企业走向数字化的基石" />
+                        </template>
+                    </basic-operation>
+                </view>
+                <view id="item3">
+                    <scenario-market>
+                        <template #supplier-title>
+                            <supplier-title title="场景营销工具" subtitle="多样化工具,全方位助力您的企业目标" />
+                        </template>
+                    </scenario-market>
+                </view>
+                <view id="item4">
+                    <success-cases :successList="successList">
+                        <template #supplier-title>
+                            <supplier-title
+                                title="成功案例"
+                                subtitle="了解已合作品牌的真实推广案例,借鉴成功经验<br />助力有效推广,实现商业目标"
+                            />
+                        </template>
+                    </success-cases>
+                </view>
+                <view id="item5">
+                    <caimei-about>
+                        <template #supplier-title>
+                            <supplier-title
+                                title="关于采美"
+                                subtitle="了解采美,合作共赢"
+                                titlecolor="#ffffff"
+                                subtitlecolor="#ffffff"
+                            />
+                        </template>
+                    </caimei-about>
+                </view>
+                <view id="item6">
+                    <growth-community @playVideo="playVideo" :videoList="videoList" :articelList="articelList">
+                        <template #supplier-title>
+                            <supplier-title title="增长社区" subtitle="数十年资深美业运营经验,教你快速成长" />
+                        </template>
+                    </growth-community>
+                </view>
+            </scroll-view>
+        </view>
+        <view class="supplier-slide">
+            <view class="user-cicle" @click="supplierLogin">
+                <image style="width: 50%;height: 50%;" src="https://static.caimei365.com/app/img/supplier-login/userDefault.png" mode=""></image>
+            </view>
+            <view class="slide">
+                <view
+                    class="slide-item"
+                    v-for="item in slideList"
+                    :key="item.id"
+                    v-if="item.isShow"
+                    @click="handlerChange(item)"
+                >
+                    <image class="slide-img" :src="item.slideBg" mode=""></image>
+                    <view class="slide-title">{{ item.title }}</view>
+                </view>
+            </view>
+        </view>
+        <tui-modal :show="show" custom @cancel="cancel">
+            <view class="tui-modal-custom">
+                <view class="tui-modal-custom-text">周一至周五 9:00~1800</view>
+                <view class="tui-modal-custom-phone" @click=";(modal = true), (show = false)">153-3889-7365</view>
+            </view>
+        </tui-modal>
+        <tui-modal :show="isPhone" class="qrcode" custom @cancel="cancel">
+            <view class="tui-modal-custom-qrcode">
+                <image style="width: 100%;height: 100%;" show-menu-by-longpress="true" src="https://static.caimei365.com/app/img/supplier-login/kefu_qr.jpg" mode=""></image>
+            </view>
+        </tui-modal>
+        <tui-modal :show="modal" custom @cancel="cancel">
+            <view class="tui-modal-custom-call">
+                <view class="tui-modal-custom-text">
+                    确定拨打
+                    <text style="color: #FF5B00;font-weight: bold;margin: 0 6rpx;">153-3889-7365</text>
+                    吗?
+                </view>
+                <view class="modal-btns">
+                    <tui-button
+                        class="cancel"
+                        type="black"
+                        @click="modal = false"
+                        height="72rpx"
+                        :size="28"
+                        plain
+                        shape="circle"
+                    >
+                        取消
+                    </tui-button>
+                    <tui-button
+                        class="determine"
+                        height="72rpx"
+                        :size="28"
+                        type="warning"
+                        shape="circle"
+                        @click="handleClick"
+                    >
+                        确定
+                    </tui-button>
+                </view>
+            </view>
+        </tui-modal>
+        <cm-video :show="showVideo" @closeClick="closeVideo" :videoObj="videoObj" />
+    </view>
+</template>
+
+<script>
+import LoginMenu from './components/supplier-loginMenu.vue'
+import MarkeService from './components/markeServices.vue'
+import SupplierTitle from './components/supplier-title.vue'
+import Solution from './components/solution.vue'
+import BasicOperation from './components/basicOperationsProducts.vue'
+import ScenarioMarket from './components/scenarioMarketing.vue'
+import SuccessCases from './components/successCases.vue'
+import CaimeiAbout from './components/caimei-about.vue'
+import GrowthCommunity from './components/growthCommunity.vue'
+import CmVideo from './components/caimei-video.vue'
+import { mapState } from 'vuex'
+export default {
+    components: {
+        LoginMenu,
+        MarkeService,
+        SupplierTitle,
+        Solution,
+        BasicOperation,
+        ScenarioMarket,
+        SuccessCases,
+        CaimeiAbout,
+        GrowthCommunity,
+        CmVideo
+    },
+    data() {
+        return {
+            menuList: [
+                {
+                    id: 0,
+                    title: '营销服务'
+                },
+                {
+                    id: 1,
+                    title: '解决方案'
+                },
+                {
+                    id: 2,
+                    title: '运营产品'
+                },
+                {
+                    id: 3,
+                    title: '营销工具'
+                },
+                {
+                    id: 4,
+                    title: '成功案例'
+                },
+                {
+                    id: 5,
+                    title: '关于采美'
+                },
+                {
+                    id: 6,
+                    title: '增长社区'
+                }
+            ],
+            activeMenu: '', // 滚动到指定位置
+            show: false,
+            isPhone: false,
+            modal: false,
+            showVideo: false,
+            videoObj: {},
+            userInfo: {},
+            slideList: [
+                {
+                    id: 1,
+                    title: '电话联系',
+                    slideBg: 'https://static.caimei365.com/app/img/supplier-login/phone.png',
+                    isShow: true
+                },
+                {
+                    id: 2,
+                    title: '微信客服',
+                    slideBg: 'https://static.caimei365.com/app/img/supplier-login/qrcode.png',
+                    isShow: true
+                },
+                {
+                    id: 3,
+                    title: '',
+                    slideBg: 'https://static.caimei365.com/app/img/supplier-login/scrolltop.png',
+                    isShow: false
+                }
+            ],
+            successList: [],
+            videoList: [],
+            articelList: [],
+            bannerList: []
+        }
+    },
+    computed: {
+        ...mapState(['hasLogin'])
+    },
+    watch: {},
+    onLoad(options) {
+        // 点击链接
+        uni.$on('changeLink', e => {
+            setTimeout(() => {
+                this.activeMenu = e
+            }, 500)
+        })
+    },
+    mounted() {
+        this.userInfo = uni.getStorageSync('userInfo')
+        this.getSupplierLanding()
+    },
+    methods: {
+        // 滚动事件
+        scrollPage($event) {
+            this.activeMenu = $event
+        },
+        scrollView(e) {
+            this.activeMenu = ''
+            if (e.detail.scrollTop < 50) {
+                this.slideList[2].isShow = false
+            } else {
+                this.slideList[2].isShow = true
+            }
+        },
+        handlerChange(e) {
+            const obj = {
+                1: () => (this.show = true),
+                2: () => (this.isPhone = true),
+                3: () => (this.activeMenu = 'item0')
+            }
+            obj[e.id]()
+        },
+        hideAlert() {
+            this.show = false
+        },
+        // 拨打电话
+        handleClick() {
+            uni.makePhoneCall({
+                phoneNumber: '153-3889-7365' //仅为示例
+            })
+            this.modal = false
+        },
+        cancel() {
+            this.modal = false
+            this.show = false
+            this.isPhone = false
+        },
+        // 视频播放
+        playVideo($event) {
+            this.videoObj = $event
+            this.showVideo = true
+        },
+        // 视频关闭
+        closeVideo() {
+            this.showVideo = false
+        },
+        // supplierLogin 登陆
+        supplierLogin() {
+            if (this.hasLogin) {
+                uni.navigateTo({
+                    url: '/pages/supplier/user/supplier?shopId=' + this.userInfo.shopId
+                })
+            } else {
+                uni.navigateTo({
+                    url: '/pages/login/login?state=1'
+                })
+            }
+        },
+        async getSupplierLanding() {
+            try {
+                const {data} = await this.UserService.supplierLoading({source: 2})
+                this.bannerList = data.banner
+                this.successList = data.landing.filter(e => e.type == '1')
+                this.videoList = data.landing.filter(e => e.type == '2')
+                this.articelList = data.landing.filter(e => e.type == '3')
+            } catch (error) {
+                console.log(error)
+            }
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.container {
+    position: absolute;
+    bottom: 0;
+    height: auto;
+}
+.scrollview {
+    width: 100%;
+    height: calc(100vh - 120rpx);
+    background-color: #fff;
+}
+.supplier-slide {
+    position: fixed;
+    right: 40rpx;
+    box-sizing: border-box;
+    width: 100rpx;
+    bottom: 100rpx;
+    z-index: 999;
+    .user-cicle {
+        width: 100rpx;
+        height: 100rpx;
+        border-radius: 50%;
+        background-color: #fff;
+        margin-bottom: 40rpx;
+        box-shadow: 0rpx 6rpx 16rpx 0rpx rgba(51, 51, 51, 0.16);
+        display: flex;
+        justify-content: center;
+        align-items: center;
+    }
+    .slide {
+        width: 100rpx;
+        overflow: hidden;
+        border-radius: 50rpx;
+        background-color: #ff5b00;
+        box-shadow: 0rpx 6rpx 24rpx 0rpx rgba(255, 91, 0, 0.3);
+        .slide-img {
+            width: 45rpx;
+            height: 45rpx;
+        }
+        .slide-item {
+            height: 140rpx;
+            width: 100rpx;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            box-sizing: border-box;
+            padding-top: 30rpx;
+            border-bottom: 1rpx solid rgba(255, 255, 255, 0.3);
+            .slide-title {
+                margin-top: 10rpx;
+                font-size: 20rpx;
+                color: #fff;
+            }
+        }
+        .slide-item:nth-child(3) {
+            padding-top: 45rpx !important;
+        }
+    }
+}
+.tui-modal-custom {
+    padding: 30rpx 80rpx;
+}
+.tui-modal-custom-text {
+    text-align: center;
+    color: #666666;
+    font-size: 28rpx;
+}
+.tui-modal-custom-phone {
+    margin-top: 62rpx;
+    text-align: center;
+    color: #ff5b00;
+    border-bottom: 1px solid #ff5b00;
+    font-size: 40rpx;
+    font-weight: bold;
+}
+.tui-modal-custom-call {
+    font-size: 32rpx;
+    color: #666666;
+    padding-top: 50rpx;
+}
+.qrcode {
+    ::v-deep .tui-modal-box {
+        width: auto !important;
+        padding: 6rpx !important;
+        border-radius: 0 !important;
+    }
+    .tui-modal-custom-qrcode {
+        width: 412rpx;
+        height: 412rpx;
+    }
+}
+.modal-btns {
+    display: flex;
+    justify-content: space-between;
+    margin-top: 62rpx;
+    .cancel {
+        width: 200rpx !important;
+        color: #666666 !important;
+    }
+    .determine {
+        width: 200rpx !important;
+    }
+}
+</style>

+ 19 - 1
pages/supplier/components/user.vue

@@ -85,6 +85,24 @@
 			</view>
 			<!-- 底部跳转 -->
 			<view class="foot-list">
+                <view class="list-cell-item">
+                	<view
+                		class="list-cell"
+                		hover-class="cell-hover"
+                		:hover-stay-time="50"
+                		@click="navigator('/pages/login/supplier_login')"
+                	>
+                		<view class="cell-icon">
+                			<image
+                				class="cell-icon-image"
+                				src="https://static.caimei365.com/app/img/supplier-login/supplier.png"
+                				mode=""
+                			></image>
+                		</view>
+                		<text class="cell-tit">供应商服务</text> <text class="cell-more iconfont icon-xiayibu"></text>
+                		<text class="cell-more"></text>
+                	</view>
+                </view>
 				<view class="list-cell-item">
 					<view
 						class="list-cell"
@@ -301,7 +319,7 @@ export default {
 						this.allNum = data.allNum //全部商品
 						this.upNum = data.upNum //已上架
 						this.downNum = data.downNum //已下架
-						this.modal = data.constraint === "0" ? true : false
+						this.modal = data.constraint === '0' ? true : false
 						this.skeletonShow = false
 					})
 					.catch(error => {

+ 1169 - 1153
pages/tabBar/user/user.vue

@@ -1,381 +1,402 @@
 <template>
-	<view class="container user clearfix">
-		<cm-custom :navbar-data="nvabarData" v-if="isCmcustom"></cm-custom>
-		<view class="user-section">
-			<view
-				class="header"
-				:style="{
-					height: CustomBar + 120 - StatusBar + 'px',
-					paddingTop: CustomBar + 'px',
-					background: 'url(https://static.caimei365.com/app/img/bg/home_cumres@2x.png)',
-					backgroundSize: 'cover'
-				}"
-			>
-				<view class="header-main" v-if="hasLogin">
-					<view class="header-icon">
-						<image
-							:src="headpic ? headpic : 'https://static.caimei365.com/app/img/icon/icon-club@3x.png'"
-							mode=""
-						></image>
-					</view>
-					<view class="header-text">
-						<view class="user-item"
-							><text class="u-h1">{{ name }}</text></view
-						>
-						<view class="user-item">
-							<view class="user-item-tips vip" v-if="userIdentity == 2">
-								<image class="tips-icon" :src="userVipIcon" mode=""></image> {{ userType }}
-							</view>
-							<view
-								class="user-item-tips"
-								v-if="userIdentity == 4"
-								:class="userVip.vipFlag == 0 ? 'none' : ''"
-							>
-								<image class="tips-icon" v-if="userVip.vipFlag == 1" :src="userVipIcon" mode=""></image>
-								{{ userType }}
-							</view>
-						</view>
-					</view>
-				</view>
-				<view class="header-main-none" v-else>
-					<view class="header-icon" @click="navigator('/pages/login/login')">
-						<image src="https://static.caimei365.com/app/img/icon/icon-club@3x.png" mode=""></image>
-					</view>
-					<view class="header-text">
-						<view class="user-item">
-							<text class="u-h1" @click="navigatorRegirst('/pages/login/login')">账号登录/注册></text>
-						</view>
-						<view class="user-item">
-							<text class="u-p" @click="navigator('/pages/login/login')"
-								>登录采美商城更多惊喜等着您~</text
-							>
-						</view>
-						<view class="user-code" @click="navigatorLoginCode('/pages/login/logincode')">邀请码登录></view>
-					</view>
-				</view>
-				<!-- 我的资产 -->
-				<view class="header-main-account">
-					<view class="main-member">
-						<view class="main-member-none" v-if="!hasLogin" @click.stop="navigatorMember('/pages/login/login')">
-							<view class="main-member-none-text">开通采美·超级会员,享专属特权</view>
-							<view class="main-member-none-btn" @click.stop="navigatorMember('/pages/login/login')">立即开通</view>
-						</view>
-						<template v-else>
-							<view
-								class="main-member-svip"
-								v-if="userVip.vipFlag == 1"
-								@click="navigator('/pages/user/member/member')"
-							>
-								<view class="main-member-svip-h1">已开通采美·超级会员</view>
-								<view class="main-member-svip-p">有效期至:{{ userVip.time }}</view>
-								<view class="main-member-svip-icon"> <text class="iconfont icon-xiayibu"></text> </view>
-							</view>
-							<view
-								class="main-member-svip"
-								v-if="userVip.vipFlag == -1"
-								@click="navigator('/pages/user/member/member')"
-							>
-								<view class="main-member-svip-h1 red">采美·超级会员已过期</view>
-								<view class="main-member-svip-p">有效期至:{{ userVip.time }}</view>
-								<view class="main-member-svip-icon"> <text class="iconfont icon-xiayibu"></text> </view>
-							</view>
-							<view
-								class="main-member-none"
-								v-if="userVip.vipFlag == 0"
-								@click="navigatorUserMember('/pages/user/member/member')"
-							>
-								<view class="main-member-none-text">开通采美·超级会员,享专属特权</view>
-								<view class="main-member-none-btn">立即开通</view>
-							</view>
-						</template>
-					</view>
-					<view class="main-account">
-						<view class="main-cell">
-							<view
-								class="main-account-ri-view account"
-								@click="navigator('/pages/user/account/account')"
-							>
-								<view class="main-account-icon" v-if="hasLogin">{{ userMoney }}</view>
-								<view class="main-account-icon none" v-else>-</view>
-								<view class="main-account-text">账户余额</view>
-							</view>
-							<view
-								class="main-account-ri-view beans"
-								@click="navigator('/pages/user/account/account-bean')"
-							>
-								<view class="main-account-icon" v-if="hasLogin">{{
-									userBeans ? userBeans : 0
-								}}</view>
-								<view class="main-account-icon none" v-else>-</view>
-								<view class="main-account-text">采美豆</view>
-							</view>
-							<view
-								class="main-account-ri-view coupon"
-								@click="navigator('/pages/user/coupon/coupon')"
-							>
-								<view class="main-account-icon" v-if="hasLogin">{{
-									couponNum ? couponNum : 0
-								}}</view>
-								<view class="main-account-icon none" v-else>-</view>
-								<view class="main-account-text">优惠券</view>
-							</view>
-							<view
-								class="main-account-ri-view coupon"
-								@click="navigator('/pages/user/pay/card-list')"
-							>
-								<view class="main-account-icon" v-if="hasLogin">{{
-									bankNum ? bankNum : 0
-								}}</view>
-								<view class="main-account-icon none" v-else>-</view>
-								<view class="main-account-text">银行卡</view>
-							</view>
-						</view>
-					</view>
-				</view>
-				<!-- 订单 -->
-				<view class="header-main-order" :style="{ marginTop: hasLogin ? '0rpx' : '0rpx' }">
-					<view class="user-order">
-						<view class="tab-title" @click="navigator('/pages/user/order/order-list?state=0')">
-							<text class="cell-tit">我的订单</text> <text class="cell-more">全部订单</text>
-							<text class="iconfont icon-xiayibu"></text>
-						</view>
-						<view class="order-section">
-							<view
-								class="order-item"
-								@click="navigator('/pages/user/order/order-list?state=1')"
-								hover-class="common-hover"
-								:hover-stay-time="50"
-							>
-								<view class="order-icon">
-									<image
-										src="https://static.caimei365.com/app/img/icon/order5@3x.png"
-										mode=""
-									></image>
-									<text
-										v-if="confirmedCount > 0 && hasLogin"
-										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
-										:class="[confirmedCount < 10 ? 'goleft' : '']"
-									>
-										{{ confirmedCount >= 99 ? '99+' : confirmedCount }}
-									</text>
-								</view>
-								<text class="order-t">待确认</text>
-							</view>
-							<view
-								class="order-item"
-								@click="navigator('/pages/user/order/order-list?state=2')"
-								hover-class="common-hover"
-								:hover-stay-time="50"
-							>
-								<view class="order-icon">
-									<image
-										src="https://static.caimei365.com/app/img/icon/order1@3x.png"
-										mode=""
-									></image>
-									<text
-										v-if="paymentCount > 0 && hasLogin"
-										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num "
-										:class="[paymentCount < 10 ? 'goleft' : '']"
-									>
-										{{ paymentCount >= 99 ? '99+' : paymentCount }}
-									</text>
-								</view>
-								<text class="order-t">待付款</text>
-							</view>
-							<view
-								class="order-item"
-								@click="navigator('/pages/user/order/order-list?state=3')"
-								hover-class="common-hover"
-								:hover-stay-time="50"
-							>
-								<view class="order-icon">
-									<image
-										src="https://static.caimei365.com/app/img/icon/order2@3x.png"
-										mode=""
-									></image>
-									<text
-										v-if="waitShipmentsCount > 0 && hasLogin"
-										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
-										:class="[waitShipmentsCount < 10 ? 'goleft' : '']"
-									>
-										{{ waitShipmentsCount >= 99 ? '99+' : waitShipmentsCount }}
-									</text>
-								</view>
-								<text class="order-t">待发货</text>
-							</view>
-							<view
-								class="order-item"
-								@click="navigator('/pages/user/order/order-list?state=4')"
-								hover-class="common-hover"
-								:hover-stay-time="50"
-							>
-								<view class="order-icon">
-									<image
-										src="https://static.caimei365.com/app/img/icon/order3@3x.png"
-										mode=""
-									></image>
-									<text
-										v-if="shipmentsCount > 0 && hasLogin"
-										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
-										:class="[shipmentsCount < 10 ? 'goleft' : '']"
-									>
-										{{ shipmentsCount >= 99 ? '99+' : shipmentsCount }}
-									</text>
-								</view>
-								<text class="order-t">已发货</text>
-							</view>
-							<view
-								class="order-item"
-								@click="navigator('/pages/user/order/order-list?state=5')"
-								hover-class="common-hover"
-								:hover-stay-time="50"
-							>
-								<view class="order-icon">
-									<image
-										src="https://static.caimei365.com/app/img/icon/order4@3x.png"
-										mode=""
-									></image>
-									<text
-										v-if="salesReturnCount > 0 && hasLogin"
-										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
-										:class="[salesReturnCount < 10 ? 'goleft' : '']"
-									>
-										{{ salesReturnCount >= 99 ? '99+' : salesReturnCount }}
-									</text>
-								</view>
-								<text class="order-t">退货/款</text>
-							</view>
-						</view>
-					</view>
-				</view>
-				<!-- 底部跳转 -->
-				<view class="header-main-listcell">
-					<view class="list-cell-item" v-show="hasLogin">
-						<view
-							class="list-cell"
-							v-show="userIdentity == 4"
-							@click="navigatorClubUpgrade(`/pages/login/apply?clubStatus=${clubStatus}`)"
-							hover-class="cell-hover"
-							:hover-stay-time="50"
-						>
-							<view class="cell-icon">
-								<image
-									class="cell-icon-image"
-									src="https://static.caimei365.com/app/img/icon/icon_club_8@2x.png"
-									mode=""
-								></image>
-							</view>
-							<text class="cell-tit"> 升级资质机构 <text class="cell-tips">采美豆</text> </text>
-							<text class="cell-more">
-								<text class="txt">{{ clubStatusText(clubStatus) }}</text>
-								<text class="iconfont icon-xiayibu"></text>
-							</text>
-						</view>
-						<view
-							class="list-cell"
-							@click="navigator('/pages/user/regularPurchase/regularPurchase')"
-							hover-class="cell-hover"
-							:hover-stay-time="50"
-						>
-							<view class="cell-icon">
-								<image
-									class="cell-icon-image"
-									src="https://static.caimei365.com/app/img/icon/icon_club_9@2x.png"
-									mode=""
-								></image>
-							</view>
-							<text class="cell-tit">再次购买</text> <text class="cell-more iconfont icon-xiayibu"></text>
-						</view>
-						<view
-							class="list-cell"
-							@click="navigator('/pages/user/collection/collection')"
-							hover-class="cell-hover"
-							:hover-stay-time="50"
-						>
-							<view class="cell-icon">
-								<image
-									class="cell-icon-image"
-									src="https://static.caimei365.com/app/img/icon/icon_club_13@2x.png"
-									mode=""
-								></image>
-							</view>
-							<text class="cell-tit">收藏商品</text> <text class="cell-more iconfont icon-xiayibu"></text>
-						</view>
-					</view>
-					<view class="list-cell-item">
-						<view
-							class="list-cell"
-							v-for="(item, index) in firstList"
-							:key="index"
-							@click="navigator(item.path)"
-							hover-class="cell-hover"
-							:hover-stay-time="50"
-						>
-							<view class="cell-icon">
-								<image class="cell-icon-image" :src="item.icon" mode=""></image>
-							</view>
-							<text class="cell-tit">
-								{{ item.name }} <text class="cell-tips" v-if="index == 2 && isModify">采美豆</text>
-							</text>
-							<text class="cell-more iconfont icon-xiayibu"></text>
-						</view>
-					</view>
-					<view class="list-cell-item">
-						<view class="list-cell" hover-class="cell-hover" :hover-stay-time="50">
-							<view class="cell-icon">
-								<image
-									class="cell-icon-image"
-									src="https://static.caimei365.com/app/img/icon/icon_club_5@2x.png"
-									mode=""
-								></image>
-							</view>
-							<text class="cell-tit cont">联系我们</text>
-							<text class="cell-more cont" @click="toPhone">{{ contactNumber }}</text>
-						</view>
-						<view
-							class="list-cell"
-							@click="this.$api.navigateTo('/pages/user/about/about')"
-							hover-class="cell-hover"
-							:hover-stay-time="50"
-						>
-							<view class="cell-icon">
-								<image
-									class="cell-icon-image"
-									src="https://static.caimei365.com/app/img/icon/icon_club_6@2x.png"
-									mode=""
-								></image>
-							</view>
-							<text class="cell-tit">关于我们</text> <text class="cell-more iconfont icon-xiayibu"></text>
-						</view>
-						<view
-							class="list-cell last"
-							@click="this.$api.navigateTo('/pages/h5/article/page?linkType=99')"
-							hover-class="cell-hover"
-							:hover-stay-time="50"
-						>
-							<view class="cell-icon">
-								<image
-									class="cell-icon-image"
-									src="https://static.caimei365.com/app/img/icon/icon_club_7@2x.png"
-									mode=""
-								></image>
-							</view>
-							<text class="cell-tit">帮助中心</text> <text class="cell-more iconfont icon-xiayibu"></text>
-						</view>
-					</view>
-				</view>
-				<view class="header-main-last"></view>
-			</view>
-		</view>
-		<!-- 采美豆提示弹窗 -->
-		<activityBean
-			v-if="isActivityBean"
-			:show="isActivityBean"
-			:beansType="beansType"
-			:beanNumber="beanNumber"
-			@cancel="handleBeanlClick"
-		></activityBean>
-	</view>
+    <view class="container user clearfix">
+        <cm-custom :navbar-data="nvabarData" v-if="isCmcustom"></cm-custom>
+        <view class="user-section">
+            <view
+                class="header"
+                :style="{
+                    height: CustomBar + 120 - StatusBar + 'px',
+                    paddingTop: CustomBar + 'px',
+                    background: 'url(https://static.caimei365.com/app/img/bg/home_cumres@2x.png)',
+                    backgroundSize: 'cover'
+                }"
+            >
+                <view class="header-main" v-if="hasLogin">
+                    <view class="header-icon">
+                        <image
+                            :src="headpic ? headpic : 'https://static.caimei365.com/app/img/icon/icon-club@3x.png'"
+                            mode=""
+                        ></image>
+                    </view>
+                    <view class="header-text">
+                        <view class="user-item">
+                            <text class="u-h1">{{ name }}</text>
+                        </view>
+                        <view class="user-item">
+                            <view class="user-item-tips vip" v-if="userIdentity == 2">
+                                <image class="tips-icon" :src="userVipIcon" mode=""></image>
+                                {{ userType }}
+                            </view>
+                            <view
+                                class="user-item-tips"
+                                v-if="userIdentity == 4"
+                                :class="userVip.vipFlag == 0 ? 'none' : ''"
+                            >
+                                <image class="tips-icon" v-if="userVip.vipFlag == 1" :src="userVipIcon" mode=""></image>
+                                {{ userType }}
+                            </view>
+                        </view>
+                    </view>
+                </view>
+                <view class="header-main-none" v-else>
+                    <view class="header-icon" @click="navigator('/pages/login/login')">
+                        <image src="https://static.caimei365.com/app/img/icon/icon-club@3x.png" mode=""></image>
+                    </view>
+                    <view class="header-text">
+                        <view class="user-item">
+                            <text class="u-h1" @click="navigatorRegirst('/pages/login/login')">账号登录/注册></text>
+                        </view>
+                        <view class="user-item">
+                            <text class="u-p" @click="navigator('/pages/login/login')">
+                                登录采美商城更多惊喜等着您~
+                            </text>
+                        </view>
+                        <view class="user-code" @click="navigatorLoginCode('/pages/login/logincode')">邀请码登录></view>
+                    </view>
+                </view>
+                <!-- 我的资产 -->
+                <view class="header-main-account">
+                    <view class="main-member">
+                        <view
+                            class="main-member-none"
+                            v-if="!hasLogin"
+                            @click.stop="navigatorMember('/pages/login/login')"
+                        >
+                            <view class="main-member-none-text">开通采美·超级会员,享专属特权</view>
+                            <view class="main-member-none-btn" @click.stop="navigatorMember('/pages/login/login')">
+                                立即开通
+                            </view>
+                        </view>
+                        <template v-else>
+                            <view
+                                class="main-member-svip"
+                                v-if="userVip.vipFlag == 1"
+                                @click="navigator('/pages/user/member/member')"
+                            >
+                                <view class="main-member-svip-h1">已开通采美·超级会员</view>
+                                <view class="main-member-svip-p">有效期至:{{ userVip.time }}</view>
+                                <view class="main-member-svip-icon"><text class="iconfont icon-xiayibu"></text></view>
+                            </view>
+                            <view
+                                class="main-member-svip"
+                                v-if="userVip.vipFlag == -1"
+                                @click="navigator('/pages/user/member/member')"
+                            >
+                                <view class="main-member-svip-h1 red">采美·超级会员已过期</view>
+                                <view class="main-member-svip-p">有效期至:{{ userVip.time }}</view>
+                                <view class="main-member-svip-icon"><text class="iconfont icon-xiayibu"></text></view>
+                            </view>
+                            <view
+                                class="main-member-none"
+                                v-if="userVip.vipFlag == 0"
+                                @click="navigatorUserMember('/pages/user/member/member')"
+                            >
+                                <view class="main-member-none-text">开通采美·超级会员,享专属特权</view>
+                                <view class="main-member-none-btn">立即开通</view>
+                            </view>
+                        </template>
+                    </view>
+                    <view class="main-account">
+                        <view class="main-cell">
+                            <view
+                                class="main-account-ri-view account"
+                                @click="navigator('/pages/user/account/account')"
+                            >
+                                <view class="main-account-icon" v-if="hasLogin">{{ userMoney }}</view>
+                                <view class="main-account-icon none" v-else>-</view>
+                                <view class="main-account-text">账户余额</view>
+                            </view>
+                            <view
+                                class="main-account-ri-view beans"
+                                @click="navigator('/pages/user/account/account-bean')"
+                            >
+                                <view class="main-account-icon" v-if="hasLogin">{{ userBeans ? userBeans : 0 }}</view>
+                                <view class="main-account-icon none" v-else>-</view>
+                                <view class="main-account-text">采美豆</view>
+                            </view>
+                            <view class="main-account-ri-view coupon" @click="navigator('/pages/user/coupon/coupon')">
+                                <view class="main-account-icon" v-if="hasLogin">{{ couponNum ? couponNum : 0 }}</view>
+                                <view class="main-account-icon none" v-else>-</view>
+                                <view class="main-account-text">优惠券</view>
+                            </view>
+                            <view class="main-account-ri-view coupon" @click="navigator('/pages/user/pay/card-list')">
+                                <view class="main-account-icon" v-if="hasLogin">{{ bankNum ? bankNum : 0 }}</view>
+                                <view class="main-account-icon none" v-else>-</view>
+                                <view class="main-account-text">银行卡</view>
+                            </view>
+                        </view>
+                    </view>
+                </view>
+                <view class="header-main-order" style="margin-bottom: 20rpx;border-radius: 20rpx;" v-if="!hasLogin || userInfo.userIdentity === 3">
+                    <view
+                        class="list-cell"
+                       	@click="this.$api.navigateTo('/pages/login/supplier_login')"
+                        hover-class="cell-hover"
+                        :hover-stay-time="50"
+                        style="border-radius: 25rpx;
+    padding: 0 19rpx;
+    box-sizing: border-box;"
+                    >
+                        <view class="cell-icon">
+                            <image class="cell-icon-image" src="https://static.caimei365.com/app/img/supplier-login/supplier.png" mode=""></image>
+                        </view>
+                        <text class="cell-tit">供应商服务</text>
+                        <text style="right: 20rpx;" class="cell-more iconfont icon-xiayibu"></text>
+                    </view>
+                </view>
+                <!-- 订单 -->
+                <view class="header-main-order" :style="{ marginTop: hasLogin ? '0rpx' : '0rpx' }">
+                    <view class="user-order">
+                        <view class="tab-title" @click="navigator('/pages/user/order/order-list?state=0')">
+                            <text class="cell-tit">我的订单</text>
+                            <text class="cell-more">全部订单</text>
+                            <text class="iconfont icon-xiayibu"></text>
+                        </view>
+                        <view class="order-section">
+                            <view
+                                class="order-item"
+                                @click="navigator('/pages/user/order/order-list?state=1')"
+                                hover-class="common-hover"
+                                :hover-stay-time="50"
+                            >
+                                <view class="order-icon">
+                                    <image
+                                        src="https://static.caimei365.com/app/img/icon/order5@3x.png"
+                                        mode=""
+                                    ></image>
+                                    <text
+                                        v-if="confirmedCount > 0 && hasLogin"
+                                        class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
+                                        :class="[confirmedCount < 10 ? 'goleft' : '']"
+                                    >
+                                        {{ confirmedCount >= 99 ? '99+' : confirmedCount }}
+                                    </text>
+                                </view>
+                                <text class="order-t">待确认</text>
+                            </view>
+                            <view
+                                class="order-item"
+                                @click="navigator('/pages/user/order/order-list?state=2')"
+                                hover-class="common-hover"
+                                :hover-stay-time="50"
+                            >
+                                <view class="order-icon">
+                                    <image
+                                        src="https://static.caimei365.com/app/img/icon/order1@3x.png"
+                                        mode=""
+                                    ></image>
+                                    <text
+                                        v-if="paymentCount > 0 && hasLogin"
+                                        class="uni-badge uni-badge-error uni-small uni-badge--small icon-num "
+                                        :class="[paymentCount < 10 ? 'goleft' : '']"
+                                    >
+                                        {{ paymentCount >= 99 ? '99+' : paymentCount }}
+                                    </text>
+                                </view>
+                                <text class="order-t">待付款</text>
+                            </view>
+                            <view
+                                class="order-item"
+                                @click="navigator('/pages/user/order/order-list?state=3')"
+                                hover-class="common-hover"
+                                :hover-stay-time="50"
+                            >
+                                <view class="order-icon">
+                                    <image
+                                        src="https://static.caimei365.com/app/img/icon/order2@3x.png"
+                                        mode=""
+                                    ></image>
+                                    <text
+                                        v-if="waitShipmentsCount > 0 && hasLogin"
+                                        class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
+                                        :class="[waitShipmentsCount < 10 ? 'goleft' : '']"
+                                    >
+                                        {{ waitShipmentsCount >= 99 ? '99+' : waitShipmentsCount }}
+                                    </text>
+                                </view>
+                                <text class="order-t">待发货</text>
+                            </view>
+                            <view
+                                class="order-item"
+                                @click="navigator('/pages/user/order/order-list?state=4')"
+                                hover-class="common-hover"
+                                :hover-stay-time="50"
+                            >
+                                <view class="order-icon">
+                                    <image
+                                        src="https://static.caimei365.com/app/img/icon/order3@3x.png"
+                                        mode=""
+                                    ></image>
+                                    <text
+                                        v-if="shipmentsCount > 0 && hasLogin"
+                                        class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
+                                        :class="[shipmentsCount < 10 ? 'goleft' : '']"
+                                    >
+                                        {{ shipmentsCount >= 99 ? '99+' : shipmentsCount }}
+                                    </text>
+                                </view>
+                                <text class="order-t">已发货</text>
+                            </view>
+                            <view
+                                class="order-item"
+                                @click="navigator('/pages/user/order/order-list?state=5')"
+                                hover-class="common-hover"
+                                :hover-stay-time="50"
+                            >
+                                <view class="order-icon">
+                                    <image
+                                        src="https://static.caimei365.com/app/img/icon/order4@3x.png"
+                                        mode=""
+                                    ></image>
+                                    <text
+                                        v-if="salesReturnCount > 0 && hasLogin"
+                                        class="uni-badge uni-badge-error uni-small uni-badge--small icon-num"
+                                        :class="[salesReturnCount < 10 ? 'goleft' : '']"
+                                    >
+                                        {{ salesReturnCount >= 99 ? '99+' : salesReturnCount }}
+                                    </text>
+                                </view>
+                                <text class="order-t">退货/款</text>
+                            </view>
+                        </view>
+                    </view>
+                </view>
+                <!-- 底部跳转 -->
+                <view class="header-main-listcell">
+                    <view class="list-cell-item" v-show="hasLogin">
+                        <view
+                            class="list-cell"
+                            v-show="userIdentity == 4"
+                            @click="navigatorClubUpgrade(`/pages/login/apply?clubStatus=${clubStatus}`)"
+                            hover-class="cell-hover"
+                            :hover-stay-time="50"
+                        >
+                            <view class="cell-icon">
+                                <image
+                                    class="cell-icon-image"
+                                    src="https://static.caimei365.com/app/img/icon/icon_club_8@2x.png"
+                                    mode=""
+                                ></image>
+                            </view>
+                            <text class="cell-tit">
+                                升级资质机构
+                                <text class="cell-tips">采美豆</text>
+                            </text>
+                            <text class="cell-more">
+                                <text class="txt">{{ clubStatusText(clubStatus) }}</text>
+                                <text class="iconfont icon-xiayibu"></text>
+                            </text>
+                        </view>
+                        <view
+                            class="list-cell"
+                            @click="navigator('/pages/user/regularPurchase/regularPurchase')"
+                            hover-class="cell-hover"
+                            :hover-stay-time="50"
+                        >
+                            <view class="cell-icon">
+                                <image
+                                    class="cell-icon-image"
+                                    src="https://static.caimei365.com/app/img/icon/icon_club_9@2x.png"
+                                    mode=""
+                                ></image>
+                            </view>
+                            <text class="cell-tit">再次购买</text>
+                            <text class="cell-more iconfont icon-xiayibu"></text>
+                        </view>
+                        <view
+                            class="list-cell"
+                            @click="navigator('/pages/user/collection/collection')"
+                            hover-class="cell-hover"
+                            :hover-stay-time="50"
+                        >
+                            <view class="cell-icon">
+                                <image
+                                    class="cell-icon-image"
+                                    src="https://static.caimei365.com/app/img/icon/icon_club_13@2x.png"
+                                    mode=""
+                                ></image>
+                            </view>
+                            <text class="cell-tit">收藏商品</text>
+                            <text class="cell-more iconfont icon-xiayibu"></text>
+                        </view>
+                    </view>
+                    <view class="list-cell-item">
+                        <view
+                            class="list-cell"
+                            v-for="(item, index) in firstList"
+                            :key="index"
+                            @click="navigator(item.path)"
+                            hover-class="cell-hover"
+                            :hover-stay-time="50"
+                        >
+                            <view class="cell-icon">
+                                <image class="cell-icon-image" :src="item.icon" mode=""></image>
+                            </view>
+                            <text class="cell-tit">
+                                {{ item.name }}
+                                <text class="cell-tips" v-if="index == 2 && isModify">采美豆</text>
+                            </text>
+                            <text class="cell-more iconfont icon-xiayibu"></text>
+                        </view>
+                    </view>
+                    <view class="list-cell-item">
+                        <view class="list-cell" hover-class="cell-hover" :hover-stay-time="50">
+                            <view class="cell-icon">
+                                <image
+                                    class="cell-icon-image"
+                                    src="https://static.caimei365.com/app/img/icon/icon_club_5@2x.png"
+                                    mode=""
+                                ></image>
+                            </view>
+                            <text class="cell-tit cont">联系我们</text>
+                            <text class="cell-more cont" @click="toPhone">{{ contactNumber }}</text>
+                        </view>
+                        <view
+                            class="list-cell"
+                            @click="this.$api.navigateTo('/pages/user/about/about')"
+                            hover-class="cell-hover"
+                            :hover-stay-time="50"
+                        >
+                            <view class="cell-icon">
+                                <image
+                                    class="cell-icon-image"
+                                    src="https://static.caimei365.com/app/img/icon/icon_club_6@2x.png"
+                                    mode=""
+                                ></image>
+                            </view>
+                            <text class="cell-tit">关于我们</text>
+                            <text class="cell-more iconfont icon-xiayibu"></text>
+                        </view>
+                        <view
+                            class="list-cell last"
+                            @click="this.$api.navigateTo('/pages/h5/article/page?linkType=99')"
+                            hover-class="cell-hover"
+                            :hover-stay-time="50"
+                        >
+                            <view class="cell-icon">
+                                <image
+                                    class="cell-icon-image"
+                                    src="https://static.caimei365.com/app/img/icon/icon_club_7@2x.png"
+                                    mode=""
+                                ></image>
+                            </view>
+                            <text class="cell-tit">帮助中心</text>
+                            <text class="cell-more iconfont icon-xiayibu"></text>
+                        </view>
+                    </view>
+                </view>
+                <view class="header-main-last"></view>
+            </view>
+        </view>
+        <!-- 采美豆提示弹窗 -->
+        <activityBean
+            v-if="isActivityBean"
+            :show="isActivityBean"
+            :beansType="beansType"
+            :beanNumber="beanNumber"
+            @cancel="handleBeanlClick"
+        ></activityBean>
+    </view>
 </template>
 <script>
 import activityBean from '@/components/cm-module/activity/activityBean.vue'
@@ -383,821 +404,816 @@ import authorize from '@/common/config/authorize.js'
 import { mapState, mapMutations } from 'vuex'
 
 export default {
-	components: {
-		activityBean
-	},
-	data() {
-		return {
-			nvabarData: {
-				// 顶部自定义导航
-				showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
-				showSearch: 0,
-				title: '个人中心', // 导航栏中间的标题
-				haveBack: false,
-				textLeft: this.$store.state.isIphone,
-				textColor: '#333333',
-				bgColor: ''
-			},
-			CustomBar: this.CustomBar, // 顶部导航栏高度
-			StatusBar: this.StatusBar,
-			StaticUrl: this.$Static,
-			userId: 0,
-			beanNumber: 50,
-			beansType: 0,
-			isModify: false,
-			isActivityBean: false,
-			isCmcustom: false,
-			userVipIcon: '',
-			name: '',
-			userType: '',
-			headpic: '',
-			userVip: {}, // 超级会员信息
-			userBeans: 0,
-			userMoney: '0.00',
-			couponNum: 0,
-			bankNum:0,
-			contactNumber: '',
-			openid: '',
-			aboutHtml: '',
-			telPhone: '',
-			bindMobile: '',
-			isSvip: false,
-			isSvipType: 2,
-			clubStatus: '', // 机构升级资质机构审核状态1:待审核  91:审核失败
-			userIdentity: '', // 机构等级
-			confirmedCount: 0, // 待确认
-			paymentCount: 0, // 待付款角标
-			waitShipmentsCount: 0, // 待收货角标
-			shipmentsCount: 0, // 已发货角标
-			salesReturnCount: '', // 退货/款角标
-			firstList: [
-				{
-					name: '运营人员管理',
-					path: '/pages/user/operator/list',
-					icon: 'https://static.caimei365.com/app/img/icon/icon_club_1@2x.png'
-				},
-				{
-					name: '收货地址管理',
-					path: '/pages/user/address/address',
-					icon: 'https://static.caimei365.com/app/img/icon/icon_club_2@2x.png'
-				},
-				{
-					name: '机构资料',
-					path: '/pages/login/information',
-					icon: 'https://static.caimei365.com/app/img/icon/icon_club_3@2x.png'
-				},
-				{
-					name: '账户设置',
-					path: '/pages/user/setting/setting',
-					icon: 'https://static.caimei365.com/app/img/icon/icon_club_4@2x.png'
-				}
-			]
-		}
-	},
-	onLoad(option) {},
-	computed: {
-		...mapState(['hasLogin', 'userInfo', 'isWxAuthorize'])
-	},
-	methods: {
-		...mapMutations(['updateNoticeNum']),
-		getClubObtainCenter() {
-			// 获取个人中心数据
-			this.UserService.GetClubObtainCenter({ userId: this.userId })
-				.then(response => {
-					let data = response.data
-					this.userMoney = this.filtersMoney(data.user.ableUserMoney)
-					this.userIdentity = data.user.userIdentity //机构等级
-					if (this.userIdentity == 2) {
-						this.name = data.club.name //资质机构名称
-						this.userType = '资质机构'
-					} else {
-						this.name = data.user.userName //个人机构名称
-						this.userType = '个人机构'
-					}
-					this.userVip = data.vip // 超级会员信息
-					if (this.userVip.vipFlag == 1) {
-						this.userVipIcon = this.StaticUrl + '/icon/icon-member-svip@2x.png'
-					} else {
-						this.userVipIcon = this.StaticUrl + '/icon/icon-member-vip@2x.png'
-					}
-					this.userBeans = data.user.userBeans // 采美豆数量
-					this.headpic = data.user.image // 会所头像
-					this.bindMobile = data.user.bindMobile // 登录手机号
-					this.clubStatus = data.user.clubStatus // 机构审核状态
-					this.couponNum = data.couponNum // 优惠券数量
-					this.bankNum = data.bankNum // 银行卡数量
-					this.isModify = data.isModify // 是否显示采美豆
-					this.contactNumber = data.contactNumber // 联系电话
-					let clubInfo = { name: this.name, image: this.headpic, userId: data.user.userId }
-					uni.setStorage({ key: 'clubInfo', data: clubInfo })
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		UserClubOrderCount(){
-			//获取订单状态数量
-			this.OrderService.UserClubOrderCount({ userId: this.userId })
-				.then(response => {
-					let data = response.data
-					this.confirmedCount = this.showBadge(data.confirmedCount) //待确认
-					this.paymentCount = this.showBadge(data.paymentCount) //待付款
-					this.waitShipmentsCount = this.showBadge(data.waitShipmentsCount) //待收货
-					this.shipmentsCount = this.showBadge(data.shipmentsCount) //已发货
-					this.salesReturnCount = this.showBadge(data.salesReturnCount) //退货/款
-				})
-				.catch(error => {
-					console.log('获取订单状态数量异常~')
-				})
-		},
-		GetInitBeansInfo() {
-			//初始化采美豆信息
-			this.UserService.GetHomeObtainBeans({ userId: this.userId })
-				.then(response => {
-					this.beansType = response.data.beansType
-					this.beanNumber = response.data.num
-					this.isActivityBean = true
-				})
-				.catch(error => {
-					console.log('用户暂无采美豆推送~')
-				})
-		},
-		getPhone() {
-			// 获取联系我们电话
-			this.CommonService.QueryAfterSale()
-				.then(response => {
-					this.contactNumber = response.data.contactNumber
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		toPhone() {
-			// 拨号
-			uni.makePhoneCall({
-				phoneNumber: this.contactNumber //仅为示例
-			})
-		},
-		filtersMoney(param) {
-			let moneyText
-			if (param == 0) {
-				moneyText = '0.00'
-			} else {
-				let i = param.toString().lastIndexOf('.')
-				let money
-				if (i == -1) {
-					money = this.$api.FormatMoney(param) //会所剩余余额
-					moneyText = money + '.00'
-				} else {
-					money = this.$api.FormatMoney(param) //会所剩余余额
-					moneyText = money
-				}
-			}
-			console.log('moneyText', moneyText)
-			return moneyText
-		},
-		handleBeanlClick() {
-			//关闭采美豆弹窗
-			this.isActivityBean = false
-		},
-		navigator(url) {
-			if (this.hasLogin) {
-				this.$api.navigateTo(url)
-			} else {
-				this.$api.navigateTo('/pages/login/login?type=0')
-			}
-		},
-		navigatorRegirst(url) {
-			if (!this.hasLogin) {
-				// 友盟埋点注册入口点击事件
-				if (process.env.NODE_ENV != 'development') {
-					this.$uma.trackEvent('Um_Event_totalLoginAndRegister', {
-						Um_Key_PageName: '登录注册统一入口',
-						Um_Key_SourcePage: '个人中心'
-					})
-				}
-				this.$api.navigateTo(url)
-			}
-		},
-		navigatorClubUpgrade(url) {
-			// 友盟埋点个人机构升级点击事件
-			if (process.env.NODE_ENV != 'development') {
-				this.$uma.trackEvent('Um_Event_ClubUpgrade', {
-					Um_Key_ClubName: `${this.name}`,
-					Um_Key_PageName: '个人机构升级入口',
-					Um_Key_SourcePage: '个人中心'
-				})
-			}
-			this.$api.navigateTo(url)
-		},
-		navigatorLoginCode(url) {
-			// 友盟埋点个人机构升级点击事件
-			if (process.env.NODE_ENV != 'development') {
-				this.$uma.trackEvent('Um_Event_LoginCodeBtn', {
-					Um_Key_ClubName: this.getNowTime(),
-					Um_Key_PageName: '邀请码登录',
-					Um_Key_SourcePage: '个人中心'
-				})
-			}
-			this.$api.navigateTo(url)
-		},
-		navigatorMember(url) {
-			// 友盟埋点游客立即开通点击事件
-			if (process.env.NODE_ENV != 'development') {
-				this.$uma.trackEvent('Um_Event_userVisitorMember', {
-					Um_Key_Time: this.getNowTime(),
-					Um_Key_PageName: '游客立即开通',
-					Um_Key_SourcePage: '个人中心'
-				})
-			}
-			this.$api.navigateTo(url)
-		},
-		navigatorUserMember(url) {
-			// 友盟埋点机构立即开通点击事件
-			if (process.env.NODE_ENV != 'development') {
-				this.$uma.trackEvent('Um_Event_userClubMember', {
-					Um_Key_Time: `${this.name}`,
-					Um_Key_PageName: '机构立即开通',
-					Um_Key_SourcePage: '个人中心'
-				})
-			}
-			this.$api.navigateTo(url)
-		},
-		getNowTime () {
-			  let dateTime
-			  let yy = new Date().getFullYear()
-			  let mm = new Date().getMonth() + 1
-			  let dd = new Date().getDate()
-			  let hh = new Date().getHours()
-			  let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
-				:
-				new Date().getMinutes()
-			  let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
-				:
-				new Date().getSeconds()
-			  dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
-			  console.log(dateTime)
-			  return dateTime
-		},
-		navigatorNex(url) {
-			if (!this.hasLogin) {
-				this.$api.navigateTo(url)
-			}
-		},
-		showBadge(n) {
-			let num = ''
-			if (n > 100) {
-				num = 99
-			} else {
-				num = n
-			}
-			return num
-		},
-		clubStatusText(state) {
-			let stateText
-			switch (state) {
-				case 90:
-					stateText = ''
-					break
-				case 1:
-					stateText = '正在审核中'
-					break
-				case 92:
-					stateText = '审核不通过'
-					break
-			}
-			return stateText
-		},
-		async initUserData(){
-			const userInfo = await this.$api.getComStorage('userInfo')
-			this.userId = userInfo.userId ? userInfo.userId : 0
-			this.getClubObtainCenter()
-			this.UserClubOrderCount()
-			this.GetInitBeansInfo()
-			this.updateNoticeNum()
-		}
-	},
-	onPageScroll(e) {
-		//实时获取到滚动的值
-		if (e.scrollTop > 20) {
-			this.isCmcustom = true
-			this.nvabarData.bgColor = '#FFFFFF'
-			this.nvabarData.textColor = '#333333'
-		} else {
-			this.isCmcustom = false
-			this.nvabarData.bgColor = ''
-			this.nvabarData.textColor = '#FFFFFF'
-		}
-	},
-	onPullDownRefresh() {
-		//下拉刷新
-		if (this.hasLogin) {
-			this.getClubObtainCenter()
-			this.UserClubOrderCount()
-			uni.stopPullDownRefresh()
-		} else {
-			uni.stopPullDownRefresh()
-		}
-	},
-	onShow() {
-		if (this.hasLogin) {
-			this.initUserData()
-		} else {
-			this.getPhone()
-			this.$store.commit('updateAllNum', 0)
-		}
-	}
+    components: {
+        activityBean
+    },
+    data() {
+        return {
+            nvabarData: {
+                // 顶部自定义导航
+                showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
+                showSearch: 0,
+                title: '个人中心', // 导航栏中间的标题
+                haveBack: false,
+                textLeft: this.$store.state.isIphone,
+                textColor: '#333333',
+                bgColor: ''
+            },
+            CustomBar: this.CustomBar, // 顶部导航栏高度
+            StatusBar: this.StatusBar,
+            StaticUrl: this.$Static,
+            userId: 0,
+            beanNumber: 50,
+            beansType: 0,
+            isModify: false,
+            isActivityBean: false,
+            isCmcustom: false,
+            userVipIcon: '',
+            name: '',
+            userType: '',
+            headpic: '',
+            userVip: {}, // 超级会员信息
+            userBeans: 0,
+            userMoney: '0.00',
+            couponNum: 0,
+            bankNum: 0,
+            contactNumber: '',
+            openid: '',
+            aboutHtml: '',
+            telPhone: '',
+            bindMobile: '',
+            isSvip: false,
+            isSvipType: 2,
+            clubStatus: '', // 机构升级资质机构审核状态1:待审核  91:审核失败
+            userIdentity: '', // 机构等级
+            confirmedCount: 0, // 待确认
+            paymentCount: 0, // 待付款角标
+            waitShipmentsCount: 0, // 待收货角标
+            shipmentsCount: 0, // 已发货角标
+            salesReturnCount: '', // 退货/款角标
+            firstList: [
+                {
+                    name: '运营人员管理',
+                    path: '/pages/user/operator/list',
+                    icon: 'https://static.caimei365.com/app/img/icon/icon_club_1@2x.png'
+                },
+                {
+                    name: '收货地址管理',
+                    path: '/pages/user/address/address',
+                    icon: 'https://static.caimei365.com/app/img/icon/icon_club_2@2x.png'
+                },
+                {
+                    name: '机构资料',
+                    path: '/pages/login/information',
+                    icon: 'https://static.caimei365.com/app/img/icon/icon_club_3@2x.png'
+                },
+                {
+                    name: '账户设置',
+                    path: '/pages/user/setting/setting',
+                    icon: 'https://static.caimei365.com/app/img/icon/icon_club_4@2x.png'
+                }
+            ]
+        }
+    },
+    onLoad(option) {},
+    computed: {
+        ...mapState(['hasLogin', 'userInfo', 'isWxAuthorize'])
+    },
+    methods: {
+        ...mapMutations(['updateNoticeNum']),
+        getClubObtainCenter() {
+            // 获取个人中心数据
+            this.UserService.GetClubObtainCenter({ userId: this.userId })
+                .then(response => {
+                    let data = response.data
+                    this.userMoney = this.filtersMoney(data.user.ableUserMoney)
+                    this.userIdentity = data.user.userIdentity //机构等级
+                    if (this.userIdentity == 2) {
+                        this.name = data.club.name //资质机构名称
+                        this.userType = '资质机构'
+                    } else {
+                        this.name = data.user.userName //个人机构名称
+                        this.userType = '个人机构'
+                    }
+                    this.userVip = data.vip // 超级会员信息
+                    if (this.userVip.vipFlag == 1) {
+                        this.userVipIcon = this.StaticUrl + '/icon/icon-member-svip@2x.png'
+                    } else {
+                        this.userVipIcon = this.StaticUrl + '/icon/icon-member-vip@2x.png'
+                    }
+                    this.userBeans = data.user.userBeans // 采美豆数量
+                    this.headpic = data.user.image // 会所头像
+                    this.bindMobile = data.user.bindMobile // 登录手机号
+                    this.clubStatus = data.user.clubStatus // 机构审核状态
+                    this.couponNum = data.couponNum // 优惠券数量
+                    this.bankNum = data.bankNum // 银行卡数量
+                    this.isModify = data.isModify // 是否显示采美豆
+                    this.contactNumber = data.contactNumber // 联系电话
+                    let clubInfo = { name: this.name, image: this.headpic, userId: data.user.userId }
+                    uni.setStorage({ key: 'clubInfo', data: clubInfo })
+                })
+                .catch(error => {
+                    this.$util.msg(error.msg, 2000)
+                })
+        },
+        UserClubOrderCount() {
+            //获取订单状态数量
+            this.OrderService.UserClubOrderCount({ userId: this.userId })
+                .then(response => {
+                    let data = response.data
+                    this.confirmedCount = this.showBadge(data.confirmedCount) //待确认
+                    this.paymentCount = this.showBadge(data.paymentCount) //待付款
+                    this.waitShipmentsCount = this.showBadge(data.waitShipmentsCount) //待收货
+                    this.shipmentsCount = this.showBadge(data.shipmentsCount) //已发货
+                    this.salesReturnCount = this.showBadge(data.salesReturnCount) //退货/款
+                })
+                .catch(error => {
+                    console.log('获取订单状态数量异常~')
+                })
+        },
+        GetInitBeansInfo() {
+            //初始化采美豆信息
+            this.UserService.GetHomeObtainBeans({ userId: this.userId })
+                .then(response => {
+                    this.beansType = response.data.beansType
+                    this.beanNumber = response.data.num
+                    this.isActivityBean = true
+                })
+                .catch(error => {
+                    console.log('用户暂无采美豆推送~')
+                })
+        },
+        getPhone() {
+            // 获取联系我们电话
+            this.CommonService.QueryAfterSale()
+                .then(response => {
+                    this.contactNumber = response.data.contactNumber
+                })
+                .catch(error => {
+                    this.$util.msg(error.msg, 2000)
+                })
+        },
+        toPhone() {
+            // 拨号
+            uni.makePhoneCall({
+                phoneNumber: this.contactNumber //仅为示例
+            })
+        },
+        filtersMoney(param) {
+            let moneyText
+            if (param == 0) {
+                moneyText = '0.00'
+            } else {
+                let i = param.toString().lastIndexOf('.')
+                let money
+                if (i == -1) {
+                    money = this.$api.FormatMoney(param) //会所剩余余额
+                    moneyText = money + '.00'
+                } else {
+                    money = this.$api.FormatMoney(param) //会所剩余余额
+                    moneyText = money
+                }
+            }
+            console.log('moneyText', moneyText)
+            return moneyText
+        },
+        handleBeanlClick() {
+            //关闭采美豆弹窗
+            this.isActivityBean = false
+        },
+        navigator(url) {
+            if (this.hasLogin) {
+                this.$api.navigateTo(url)
+            } else {
+                this.$api.navigateTo('/pages/login/login?type=0&state=0')
+            }
+        },
+        navigatorRegirst(url) {
+            if (!this.hasLogin) {
+                // 友盟埋点注册入口点击事件
+                if (process.env.NODE_ENV != 'development') {
+                    this.$uma.trackEvent('Um_Event_totalLoginAndRegister', {
+                        Um_Key_PageName: '登录注册统一入口',
+                        Um_Key_SourcePage: '个人中心'
+                    })
+                }
+                this.$api.navigateTo(url)
+            }
+        },
+        navigatorClubUpgrade(url) {
+            // 友盟埋点个人机构升级点击事件
+            if (process.env.NODE_ENV != 'development') {
+                this.$uma.trackEvent('Um_Event_ClubUpgrade', {
+                    Um_Key_ClubName: `${this.name}`,
+                    Um_Key_PageName: '个人机构升级入口',
+                    Um_Key_SourcePage: '个人中心'
+                })
+            }
+            this.$api.navigateTo(url)
+        },
+        navigatorLoginCode(url) {
+            // 友盟埋点个人机构升级点击事件
+            if (process.env.NODE_ENV != 'development') {
+                this.$uma.trackEvent('Um_Event_LoginCodeBtn', {
+                    Um_Key_ClubName: this.getNowTime(),
+                    Um_Key_PageName: '邀请码登录',
+                    Um_Key_SourcePage: '个人中心'
+                })
+            }
+            this.$api.navigateTo(url)
+        },
+        navigatorMember(url) {
+            // 友盟埋点游客立即开通点击事件
+            if (process.env.NODE_ENV != 'development') {
+                this.$uma.trackEvent('Um_Event_userVisitorMember', {
+                    Um_Key_Time: this.getNowTime(),
+                    Um_Key_PageName: '游客立即开通',
+                    Um_Key_SourcePage: '个人中心'
+                })
+            }
+            this.$api.navigateTo(url)
+        },
+        navigatorUserMember(url) {
+            // 友盟埋点机构立即开通点击事件
+            if (process.env.NODE_ENV != 'development') {
+                this.$uma.trackEvent('Um_Event_userClubMember', {
+                    Um_Key_Time: `${this.name}`,
+                    Um_Key_PageName: '机构立即开通',
+                    Um_Key_SourcePage: '个人中心'
+                })
+            }
+            this.$api.navigateTo(url)
+        },
+        getNowTime() {
+            let dateTime
+            let yy = new Date().getFullYear()
+            let mm = new Date().getMonth() + 1
+            let dd = new Date().getDate()
+            let hh = new Date().getHours()
+            let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() : new Date().getMinutes()
+            let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : new Date().getSeconds()
+            dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
+            console.log(dateTime)
+            return dateTime
+        },
+        navigatorNex(url) {
+            if (!this.hasLogin) {
+                this.$api.navigateTo(url)
+            }
+        },
+        showBadge(n) {
+            let num = ''
+            if (n > 100) {
+                num = 99
+            } else {
+                num = n
+            }
+            return num
+        },
+        clubStatusText(state) {
+            let stateText
+            switch (state) {
+                case 90:
+                    stateText = ''
+                    break
+                case 1:
+                    stateText = '正在审核中'
+                    break
+                case 92:
+                    stateText = '审核不通过'
+                    break
+            }
+            return stateText
+        },
+        async initUserData() {
+            const userInfo = await this.$api.getComStorage('userInfo')
+            this.userId = userInfo.userId ? userInfo.userId : 0
+            this.getClubObtainCenter()
+            this.UserClubOrderCount()
+            this.GetInitBeansInfo()
+            this.updateNoticeNum()
+        }
+    },
+    onPageScroll(e) {
+        //实时获取到滚动的值
+        if (e.scrollTop > 20) {
+            this.isCmcustom = true
+            this.nvabarData.bgColor = '#FFFFFF'
+            this.nvabarData.textColor = '#333333'
+        } else {
+            this.isCmcustom = false
+            this.nvabarData.bgColor = ''
+            this.nvabarData.textColor = '#FFFFFF'
+        }
+    },
+    onPullDownRefresh() {
+        //下拉刷新
+        if (this.hasLogin) {
+            this.getClubObtainCenter()
+            this.UserClubOrderCount()
+            uni.stopPullDownRefresh()
+        } else {
+            uni.stopPullDownRefresh()
+        }
+    },
+    onShow() {
+        if (this.hasLogin) {
+            this.initUserData()
+        } else {
+            this.getPhone()
+            this.$store.commit('updateAllNum', 0)
+        }
+    }
 }
 </script>
 
 <style lang="scss">
 @import '@/uni.scss';
 page {
-	background-color: #f7f7f7;
+    background-color: #f7f7f7;
 }
 .user {
-	width: 100%;
-	height: 100%;
-	position: relative;
-	background: rgba(247, 247, 247, 1);
+    width: 100%;
+    height: 100%;
+    position: relative;
+    background: rgba(247, 247, 247, 1);
 }
 .header {
-	width: 100%;
-	position: relative;
-	background-size: cover;
+    width: 100%;
+    position: relative;
+    background-size: cover;
 }
 .header-main {
-	width: 702rpx;
-	height: 130rpx;
-	padding: 12rpx 24rpx;
-	display: flex;
-	.header-text {
-		flex: 8;
-		display: flex;
-		flex-direction: column;
-		box-sizing: border-box;
-		padding: 10rpx 0 0 20rpx;
-		.user-item {
-			flex: 1;
-			height: 64rpx;
-			line-height: 64rpx;
-			.user-item-tips {
-				display: inline-block;
-				float: left;
-				width: 140rpx;
-				height: 34rpx;
-				background: #e7eaef;
-				border-radius: 20rpx;
-				line-height: 34rpx;
-				font-size: $font-size-22;
-				text-align: center;
-				color: #627386;
-				box-sizing: border-box;
-				padding: 0 11rpx 0 41rpx;
-				position: relative;
-				&.none {
-					width: 120rpx;
-					padding: 0 11rpx 0 11rpx;
-				}
-				&.vip {
-					background: #fff2d5;
-					color: #e4aa43;
-				}
-				.tips-icon {
-					width: 34rpx;
-					height: 34rpx;
-					display: block;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.u-h1 {
-				width: 400rpx;
-				float: left;
-				font-size: $font-size-30;
-				color: #ffffff;
-				text-align: left;
-				-o-text-overflow: ellipsis;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				word-break: break-all;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 1;
-				overflow: hidden;
-			}
-			.u-p {
-				font-size: $font-size-24;
-				line-height: 30rpx;
-				color: #ffffff;
-				text-align: left;
-			}
-		}
-	}
-	.header-icon {
-		flex: 2;
-		image {
-			float: right;
-			width: 128rpx;
-			height: 128rpx;
-			border-radius: 100%;
-			border: 2rpx solid #ffffff;
-		}
-	}
+    width: 702rpx;
+    height: 130rpx;
+    padding: 12rpx 24rpx;
+    display: flex;
+    .header-text {
+        flex: 8;
+        display: flex;
+        flex-direction: column;
+        box-sizing: border-box;
+        padding: 10rpx 0 0 20rpx;
+        .user-item {
+            flex: 1;
+            height: 64rpx;
+            line-height: 64rpx;
+            .user-item-tips {
+                display: inline-block;
+                float: left;
+                width: 140rpx;
+                height: 34rpx;
+                background: #e7eaef;
+                border-radius: 20rpx;
+                line-height: 34rpx;
+                font-size: $font-size-22;
+                text-align: center;
+                color: #627386;
+                box-sizing: border-box;
+                padding: 0 11rpx 0 41rpx;
+                position: relative;
+                &.none {
+                    width: 120rpx;
+                    padding: 0 11rpx 0 11rpx;
+                }
+                &.vip {
+                    background: #fff2d5;
+                    color: #e4aa43;
+                }
+                .tips-icon {
+                    width: 34rpx;
+                    height: 34rpx;
+                    display: block;
+                    position: absolute;
+                    left: 0;
+                    top: 0;
+                }
+            }
+            .u-h1 {
+                width: 400rpx;
+                float: left;
+                font-size: $font-size-30;
+                color: #ffffff;
+                text-align: left;
+                -o-text-overflow: ellipsis;
+                text-overflow: ellipsis;
+                display: -webkit-box;
+                word-break: break-all;
+                -webkit-box-orient: vertical;
+                -webkit-line-clamp: 1;
+                overflow: hidden;
+            }
+            .u-p {
+                font-size: $font-size-24;
+                line-height: 30rpx;
+                color: #ffffff;
+                text-align: left;
+            }
+        }
+    }
+    .header-icon {
+        flex: 2;
+        image {
+            float: right;
+            width: 128rpx;
+            height: 128rpx;
+            border-radius: 100%;
+            border: 2rpx solid #ffffff;
+        }
+    }
 }
 .header-main-none {
-	width: 702rpx;
-	height: 152rpx;
-	padding: 0 24rpx;
-	display: flex;
-	.header-text {
-		flex: 8;
-		display: flex;
-		flex-direction: column;
-		position: relative;
-		box-sizing: border-box;
-		padding: 20rpx 0;
-		.user-code {
-			width: 193rpx;
-			height: 56rpx;
-			background: rgba(255, 255, 255, 0.2);
-			color: #ffffff;
-			line-height: 56rpx;
-			font-size: $font-size-26;
-			padding: 0 20rpx 0 23rpx;
-			box-sizing: border-box;
-			border-radius: 28rpx 0 0 28rpx;
-			position: absolute;
-			right: -24rpx;
-			top: 46rpx;
-		}
-		.user-item {
-			flex: 1;
-			height: 50rpx;
-			line-height: 50rpx;
-			.line {
-				margin: 0 10rpx;
-			}
-			.u-h1 {
-				float: left;
-				font-size: $font-size-28;
-				color: #ffffff;
-				text-align: left;
-				-o-text-overflow: ellipsis;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				word-break: break-all;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 1;
-				overflow: hidden;
-			}
-			.u-p {
-				font-size: $font-size-24;
-				line-height: 50rpx;
-				color: #ffffff;
-				text-align: left;
-			}
-		}
-	}
-	.header-icon {
-		flex: 2;
-		display: flex;
-		margin-right: 20rpx;
-		align-items: center;
-		justify-content: center;
-		image {
-			float: right;
-			width: 128rpx;
-			height: 128rpx;
-			border-radius: 100%;
-			border: 2rpx solid #ffffff;
-		}
-	}
+    width: 702rpx;
+    height: 152rpx;
+    padding: 0 24rpx;
+    display: flex;
+    .header-text {
+        flex: 8;
+        display: flex;
+        flex-direction: column;
+        position: relative;
+        box-sizing: border-box;
+        padding: 20rpx 0;
+        .user-code {
+            width: 193rpx;
+            height: 56rpx;
+            background: rgba(255, 255, 255, 0.2);
+            color: #ffffff;
+            line-height: 56rpx;
+            font-size: $font-size-26;
+            padding: 0 20rpx 0 23rpx;
+            box-sizing: border-box;
+            border-radius: 28rpx 0 0 28rpx;
+            position: absolute;
+            right: -24rpx;
+            top: 46rpx;
+        }
+        .user-item {
+            flex: 1;
+            height: 50rpx;
+            line-height: 50rpx;
+            .line {
+                margin: 0 10rpx;
+            }
+            .u-h1 {
+                float: left;
+                font-size: $font-size-28;
+                color: #ffffff;
+                text-align: left;
+                -o-text-overflow: ellipsis;
+                text-overflow: ellipsis;
+                display: -webkit-box;
+                word-break: break-all;
+                -webkit-box-orient: vertical;
+                -webkit-line-clamp: 1;
+                overflow: hidden;
+            }
+            .u-p {
+                font-size: $font-size-24;
+                line-height: 50rpx;
+                color: #ffffff;
+                text-align: left;
+            }
+        }
+    }
+    .header-icon {
+        flex: 2;
+        display: flex;
+        margin-right: 20rpx;
+        align-items: center;
+        justify-content: center;
+        image {
+            float: right;
+            width: 128rpx;
+            height: 128rpx;
+            border-radius: 100%;
+            border: 2rpx solid #ffffff;
+        }
+    }
 }
 .header-main-account {
-	width: 100%;
-	height: 310rpx;
-	box-sizing: border-box;
-	padding: 24rpx 44.5rpx;
-	position: relative;
-	.main-member {
-		width: 100%;
-		height: 168rpx;
-		background: url(https://static.caimei365.com/app/img/icon/icon-member-user@2x.png) no-repeat;
-		background-size: cover;
-		border-radius: 20rpx;
-		box-sizing: border-box;
-		padding: 5rpx 24rpx 75rpx 104rpx;
-		.main-member-none {
-			width: 100%;
-			height: 88rpx;
-			box-sizing: border-box;
-			padding: 28rpx 0 20rpx 0;
-			line-height: 40rpx;
-			.main-member-none-text {
-				font-size: $font-size-26;
-				color: #f0cb72;
-				float: left;
-			}
-			.main-member-none-btn {
-				width: 128rpx;
-				height: 40rpx;
-				background: linear-gradient(270deg, #fee9ba 0%, #f0cb72 100%);
-				border-radius: 24rpx;
-				line-height: 40rpx;
-				text-align: center;
-				font-size: $font-size-24;
-				color: #333333;
-				float: right;
-			}
-		}
-		.main-member-svip {
-			width: 100%;
-			height: 88rpx;
-			box-sizing: border-box;
-			padding: 12rpx 0 9rpx 0;
-			position: relative;
-			.main-member-svip-h1 {
-				width: 100%;
-				height: 37rpx;
-				line-height: 37rpx;
-				color: #f0cb72;
-				text-align: left;
-				font-size: $font-size-26;
-				&.red {
-					color: #ff2a2a;
-				}
-			}
-			.main-member-svip-p {
-				width: 100%;
-				height: 28rpx;
-				line-height: 28rpx;
-				color: #bcbcbc;
-				text-align: left;
-				font-size: $font-size-20;
-			}
-			.main-member-svip-icon {
-				width: 88rpx;
-				height: 88rpx;
-				position: absolute;
-				right: 0;
-				top: 0;
-				line-height: 88rpx;
-				text-align: right;
-				.iconfont {
-					font-size: 30rpx;
-					color: #f0cb72;
-				}
-			}
-		}
-	}
-	.main-account {
-		width: 100%;
-		height: 168rpx;
-		position: absolute;
-		top: 118rpx;
-		left: 0;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-		.main-cell {
-			width: 100%;
-			height: 168rpx;
-			background-color: $bg-color;
-			border-radius: 20rpx;
-			box-sizing: border-box;
-			padding: 24rpx 0;
-			.main-account-ri-view {
-				height: 100%;
-				width: 25%;
-				float: left;
-				.main-account-icon {
-					width: 100%;
-					height: 74rpx;
-					line-height: 74rpx;
-					text-align: center;
-					font-size: $font-size-30;
-					color: #f94b4b;
-					&.none {
-						color: #333333;
-						font: $font-size-36;
-						font-weight: normal;
-					}
-				}
-				.main-account-text {
-					width: 100%;
-					height: 44rpx;
-					line-height: 44rpx;
-					font-size: $font-size-28;
-					text-align: center;
-					color: #333333;
-				}
-			}
-		}
-	}
+    width: 100%;
+    height: 310rpx;
+    box-sizing: border-box;
+    padding: 24rpx 44.5rpx;
+    position: relative;
+    .main-member {
+        width: 100%;
+        height: 168rpx;
+        background: url(https://static.caimei365.com/app/img/icon/icon-member-user@2x.png) no-repeat;
+        background-size: cover;
+        border-radius: 20rpx;
+        box-sizing: border-box;
+        padding: 5rpx 24rpx 75rpx 104rpx;
+        .main-member-none {
+            width: 100%;
+            height: 88rpx;
+            box-sizing: border-box;
+            padding: 28rpx 0 20rpx 0;
+            line-height: 40rpx;
+            .main-member-none-text {
+                font-size: $font-size-26;
+                color: #f0cb72;
+                float: left;
+            }
+            .main-member-none-btn {
+                width: 128rpx;
+                height: 40rpx;
+                background: linear-gradient(270deg, #fee9ba 0%, #f0cb72 100%);
+                border-radius: 24rpx;
+                line-height: 40rpx;
+                text-align: center;
+                font-size: $font-size-24;
+                color: #333333;
+                float: right;
+            }
+        }
+        .main-member-svip {
+            width: 100%;
+            height: 88rpx;
+            box-sizing: border-box;
+            padding: 12rpx 0 9rpx 0;
+            position: relative;
+            .main-member-svip-h1 {
+                width: 100%;
+                height: 37rpx;
+                line-height: 37rpx;
+                color: #f0cb72;
+                text-align: left;
+                font-size: $font-size-26;
+                &.red {
+                    color: #ff2a2a;
+                }
+            }
+            .main-member-svip-p {
+                width: 100%;
+                height: 28rpx;
+                line-height: 28rpx;
+                color: #bcbcbc;
+                text-align: left;
+                font-size: $font-size-20;
+            }
+            .main-member-svip-icon {
+                width: 88rpx;
+                height: 88rpx;
+                position: absolute;
+                right: 0;
+                top: 0;
+                line-height: 88rpx;
+                text-align: right;
+                .iconfont {
+                    font-size: 30rpx;
+                    color: #f0cb72;
+                }
+            }
+        }
+    }
+    .main-account {
+        width: 100%;
+        height: 168rpx;
+        position: absolute;
+        top: 118rpx;
+        left: 0;
+        box-sizing: border-box;
+        padding: 0 24rpx;
+        .main-cell {
+            width: 100%;
+            height: 168rpx;
+            background-color: $bg-color;
+            border-radius: 20rpx;
+            box-sizing: border-box;
+            padding: 24rpx 0;
+            .main-account-ri-view {
+                height: 100%;
+                width: 25%;
+                float: left;
+                .main-account-icon {
+                    width: 100%;
+                    height: 74rpx;
+                    line-height: 74rpx;
+                    text-align: center;
+                    font-size: $font-size-30;
+                    color: #f94b4b;
+                    &.none {
+                        color: #333333;
+                        font: $font-size-36;
+                        font-weight: normal;
+                    }
+                }
+                .main-account-text {
+                    width: 100%;
+                    height: 44rpx;
+                    line-height: 44rpx;
+                    font-size: $font-size-28;
+                    text-align: center;
+                    color: #333333;
+                }
+            }
+        }
+    }
 }
 .header-main-order {
-	width: 100%;
-	height: auto;
-	box-sizing: border-box;
-	padding: 0 24rpx;
-	margin-top: 26rpx;
-	.user-order {
-		width: 100%;
-		height: auto;
-		background-color: $bg-color;
-		margin-bottom: 24rpx;
-		border-radius: 20rpx;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-	}
+    width: 100%;
+    height: auto;
+    box-sizing: border-box;
+    padding: 0 24rpx;
+    .user-order {
+        width: 100%;
+        height: auto;
+        background-color: $bg-color;
+        margin-bottom: 24rpx;
+        border-radius: 20rpx;
+        box-sizing: border-box;
+        padding: 0 24rpx;
+    }
 }
 .tab-title {
-	font-size: $font-size-28;
-	line-height: 80rpx;
-	color: #333333;
-	text-align: left;
-	border-bottom: 1px solid #f8f8f8;
-	position: relative;
-	.cell-tit {
-		font-size: $font-size-28;
-		color: $text-color;
-	}
-	.cell-more {
-		float: right;
-		line-height: 80rpx;
-		font-size: $font-size-24;
-		color: $text-color;
-		padding-right: 30rpx;
-	}
-	.iconfont {
-		width: 30rpx;
-		height: 80rpx;
-		line-height: 80rpx;
-		text-align: center;
-		position: absolute;
-		right: 0;
-		top: 0;
-		display: block;
-		font-size: $font-size-28;
-	}
+    font-size: $font-size-28;
+    line-height: 80rpx;
+    color: #333333;
+    text-align: left;
+    border-bottom: 1px solid #f8f8f8;
+    position: relative;
+    .cell-tit {
+        font-size: $font-size-28;
+        color: $text-color;
+    }
+    .cell-more {
+        float: right;
+        line-height: 80rpx;
+        font-size: $font-size-24;
+        color: $text-color;
+        padding-right: 30rpx;
+    }
+    .iconfont {
+        width: 30rpx;
+        height: 80rpx;
+        line-height: 80rpx;
+        text-align: center;
+        position: absolute;
+        right: 0;
+        top: 0;
+        display: block;
+        font-size: $font-size-28;
+    }
 }
 .order-section {
-	display: flex;
-	justify-content: space-around;
-	align-items: center;
-	flex-wrap: wrap;
-	height: 99rpx;
-	padding: 24rpx 0;
+    display: flex;
+    justify-content: space-around;
+    align-items: center;
+    flex-wrap: wrap;
+    height: 99rpx;
+    padding: 24rpx 0;
 }
 .order-item {
-	flex: 1;
-	display: flex;
-	flex-direction: column;
-	align-items: center;
-	position: relative;
-	&:last-child {
-		margin-right: 0;
-	}
-	.order-icon {
-		width: 52rpx;
-		height: 52rpx;
-		position: relative;
-		image {
-			width: 52rpx;
-			height: 52rpx;
-		}
-		.icon-num {
-			position: absolute;
-			right: -24rpx;
-			top: -9rpx;
-		}
-		.icon-num.goleft {
-			right: -12rpx;
-		}
-	}
-	.order-t {
-		line-height: 50rpx;
-		font-size: $font-size-24;
-		color: $text-color;
-	}
+    flex: 1;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    position: relative;
+    &:last-child {
+        margin-right: 0;
+    }
+    .order-icon {
+        width: 52rpx;
+        height: 52rpx;
+        position: relative;
+        image {
+            width: 52rpx;
+            height: 52rpx;
+        }
+        .icon-num {
+            position: absolute;
+            right: -24rpx;
+            top: -9rpx;
+        }
+        .icon-num.goleft {
+            right: -12rpx;
+        }
+    }
+    .order-t {
+        line-height: 50rpx;
+        font-size: $font-size-24;
+        color: $text-color;
+    }
 }
 .header-main-last {
-	width: 100%;
-	height: 20rpx;
-	float: left;
-	box-sizing: border-box;
+    width: 100%;
+    height: 20rpx;
+    float: left;
+    box-sizing: border-box;
 }
 .header-main-listcell {
-	width: 100%;
-	height: auto;
-	box-sizing: border-box;
-	padding: 0 24rpx;
-	margin-bottom: 60rpx;
+    width: 100%;
+    height: auto;
+    box-sizing: border-box;
+    padding: 0 24rpx;
+    margin-bottom: 60rpx;
 }
 .list-cell-item {
-	width: 654rpx;
-	height: auto;
-	margin-bottom: 24rpx;
-	padding: 0 24rpx;
-	background: $bg-color;
-	border-radius: 20rpx;
+    width: 654rpx;
+    height: auto;
+    margin-bottom: 24rpx;
+    padding: 0 24rpx;
+    background: $bg-color;
+    border-radius: 20rpx;
 }
 .list-cell {
-	width: 100%;
-	line-height: 100rpx;
-	position: relative;
-	background: $bg-color;
-	border-bottom: 1px solid #ebebeb;
-	height: 100rpx;
-	&:last-child {
-		border-bottom: none;
-	}
-	&.cell-hover {
-		background: #fafafa;
-	}
-	.cell-icon {
-		width: 60rpx;
-		height: 100rpx;
-		text-align: center;
-		box-sizing: border-box;
-		padding: 32rpx 12rpx;
-		float: left;
-		.cell-icon-image {
-			width: 36rpx;
-			height: 36rpx;
-			display: block;
-		}
-	}
-	.cell-more {
-		height: 100rpx;
-		line-height: 100rpx;
-		text-align: right;
-		position: absolute;
-		right: 0;
-		top: 0;
-		font-size: $font-size-28;
-		color: #666666;
-		&.cont {
-			width: 250rpx;
-		}
-		.txt {
-			color: #fb4343;
-			padding-right: 10rpx;
-		}
-	}
-	.cell-tit {
-		width: 465rpx;
-		display: block;
-		float: left;
-		font-size: $font-size-28;
-		color: #666666;
-		margin-right: 10rpx;
-		&.cont {
-			width: 300rpx;
-		}
-		.cell-tips {
-			width: 74rpx;
-			height: 32rpx;
-			line-height: 32rpx;
-			padding: 0 7rpx;
-			border-radius: 16rpx;
-			background-color: #ffe6dc;
-			color: $color-system;
-			text-align: center;
-			font-size: $font-size-20;
-			margin-left: 8rpx;
-		}
-	}
-	.cell-tip {
-		font-size: $font-size-28;
-		color: $text-color;
-	}
+    width: 100%;
+    line-height: 100rpx;
+    position: relative;
+    background: $bg-color;
+    border-bottom: 1px solid #ebebeb;
+    height: 100rpx;
+    &:last-child {
+        border-bottom: none;
+    }
+    &.cell-hover {
+        background: #fafafa;
+    }
+    .cell-icon {
+        width: 60rpx;
+        height: 100rpx;
+        text-align: center;
+        box-sizing: border-box;
+        padding: 32rpx 12rpx;
+        float: left;
+        .cell-icon-image {
+            width: 36rpx;
+            height: 36rpx;
+            display: block;
+        }
+    }
+    .cell-more {
+        height: 100rpx;
+        line-height: 100rpx;
+        text-align: right;
+        position: absolute;
+        right: 0;
+        top: 0;
+        font-size: $font-size-28;
+        color: #666666;
+        &.cont {
+            width: 250rpx;
+        }
+        .txt {
+            color: #fb4343;
+            padding-right: 10rpx;
+        }
+    }
+    .cell-tit {
+        width: 465rpx;
+        display: block;
+        float: left;
+        font-size: $font-size-28;
+        color: #666666;
+        margin-right: 10rpx;
+        &.cont {
+            width: 300rpx;
+        }
+        .cell-tips {
+            width: 74rpx;
+            height: 32rpx;
+            line-height: 32rpx;
+            padding: 0 7rpx;
+            border-radius: 16rpx;
+            background-color: #ffe6dc;
+            color: $color-system;
+            text-align: center;
+            font-size: $font-size-20;
+            margin-left: 8rpx;
+        }
+    }
+    .cell-tip {
+        font-size: $font-size-28;
+        color: $text-color;
+    }
 }
 .list-cell.last {
-	border-bottom: none;
+    border-bottom: none;
 }
 .uni-badge--small {
-	-webkit-transform: scale(0.8);
-	-ms-transform: scale(0.8);
-	transform: scale(0.8);
-	-webkit-transform-origin: center center;
-	-ms-transform-origin: center center;
-	transform-origin: center center;
+    -webkit-transform: scale(0.8);
+    -ms-transform: scale(0.8);
+    transform: scale(0.8);
+    -webkit-transform-origin: center center;
+    -ms-transform-origin: center center;
+    transform-origin: center center;
 }
 .uni-badge {
-	font-family: 'Helvetica Neue', Helvetica, sans-serif;
-	-webkit-box-sizing: border-box;
-	box-sizing: border-box;
-	font-size: 12px;
-	line-height: 1;
-	display: inline-block;
-	padding: 3px 6px;
-	color: #333;
-	border-radius: 100px;
-	background-color: #f1f1f1;
+    font-family: 'Helvetica Neue', Helvetica, sans-serif;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    font-size: 12px;
+    line-height: 1;
+    display: inline-block;
+    padding: 3px 6px;
+    color: #333;
+    border-radius: 100px;
+    background-color: #f1f1f1;
 }
 .uni-badge-error {
-	color: #fff;
-	background-color: #dd524d;
+    color: #fff;
+    background-color: #dd524d;
 }
 </style>

+ 1 - 0
services/config.env.js

@@ -4,6 +4,7 @@ if(process.env.NODE_ENV === 'development'){
     // URL_CONFIG = 'http://192.168.2.67:18002'	 //智捷联调地址
     // URL_CONFIG = 'http://192.168.2.68:18002'	 //涛涛联调地址
     // URL_CONFIG = 'http://192.168.2.102:18002' //志国联调地址
+    // URL_CONFIG = 'http://192.168.2.103:18002'    //陈凯联调地址
     URL_CONFIG = 'https://core-b.caimei365.com'
     // URL_CONFIG = 'https://core.caimei365.com'  
 }else{

+ 10 - 1
services/user.service.js

@@ -951,5 +951,14 @@ export default class UserService {
 	        isLoading: false ,
 	    }) 
     } 
-	 
+	/**
+     * @param 供应商落地页  
+     */
+    supplierLoading(data = {}) {
+        return this.AjaxService.get({
+            url: '/user/landing/info',
+            data,
+            isLoading: false
+        })
+    }
 }