Przeglądaj źródła

供应商落地页优化

xiebaomin 2 lat temu
rodzic
commit
4685f97f17

+ 13 - 1
components/cm-module/scrollTop/scrollTop.vue

@@ -2,6 +2,7 @@
 	<!-- 商品详情价格判断 -->
 	<view>
 		<view class="scrollTop" :style="{bottom:bottom+'rpx'}">
+            <view class="supplierLogo" v-if="isShowSupplier" @click="$api.navigateTo('/pages/login/supplier_login')"></view>
 			<view class="icon msg">
 				<!-- #ifdef MP-WEIXIN -->
 				<button class="contact-btn" open-type="contact" @bindcontact="handleContact">
@@ -27,7 +28,11 @@
 			isScrollTop:{
 				type:Boolean,
 				default:false
-			}
+			},
+            isShowSupplier: { // 是否展示供应商服务图标
+                type: Boolean,
+                default: false
+            }
 		},
 		data() {
 			return{
@@ -61,6 +66,13 @@
 		position: fixed;
 		right: 20rpx;
 		z-index: 99;
+        .supplierLogo {
+            width: 80rpx;
+            height: 80rpx;
+            background: url(https://static.caimei365.com/app/img/icon/supplier_logo.png) no-repeat;
+            background-size: contain;
+            transform: scale(1.5);
+        }
 		.icon{
 			width: 80rpx;
 			height: 80rpx;

+ 3 - 1
manifest.json

@@ -49,7 +49,9 @@
             /* ios打包配置 */
             "ios" : {},
             /* SDK配置 */
-            "sdkConfigs" : {}
+            "sdkConfigs" : {
+                "share" : {}
+            }
         }
     },
     /* 快应用特有相关 */

+ 440 - 0
pages/login/components/multiple-select/multiple-select.vue

@@ -0,0 +1,440 @@
+<template>
+    <view class="uni-select-cy" :style="{ 'z-index': zindex }">
+        <view class="uni-select-cy-select" :class="{ active: active }" @click.stop="handleSelect">
+            <!-- 禁用mask -->
+            <view class="uni-disabled" v-if="disabled"></view>
+            <!-- 清空 -->
+            <view class="close-icon close-postion" v-if="realValue.length && !active && !disabled && showClearIcon">
+                <text @click.stop="handleRemove(null)"></text>
+            </view>
+            <!-- 显示框 -->
+            <view
+                class="uni-select-multiple"
+                v-show="realValue.length"
+                :style="{ display: realValue.length == 0 && showplaceholder ? 'none' : 'flex' }"
+            >
+                <view class="uni-select-multiple-item" v-for="(item, index) in realValue" :key="index">
+                    <view class="uni-select-multiple-item-row">{{ item }}</view>
+                    <view class="close-icon" v-if="showValueClear">
+                        <text @click.stop="handleRemove(index)"></text>
+                    </view>
+                </view>
+            </view>
+            <!-- 为空时的显示文案 -->
+            <view v-if="realValue.length == 0 && showplaceholder">{{ placeholder }}</view>
+            <!-- 禁用图标 -->
+            <view class="uni-select-cy-icon" :class="{ disabled: disabled }"><text></text></view>
+        </view>
+        <!-- 下拉选项 -->
+        <scroll-view ref="scrollRef" class="uni-select-cy-options" :scroll-y="true" v-show="active" @scrolltolower="scrolltolower">
+            <template>
+                <view
+                    class="uni-select-cy-item"
+                    :class="{ active: realValue.includes(item[svalue]) }"
+                    v-for="(item, index) in options"
+                    :key="index"
+                    @click.stop="handleChange(index, item)"
+                >
+                    <view class="check-icon"></view>
+                    <view class="check-title">{{ item[slabel] }}</view>
+                </view>
+                <view class="select-contain">
+                    <button class="select-contain-btn" @click="active = false">确定</button>
+                </view>
+            </template>
+        </scroll-view>
+    </view>
+</template>
+
+<script>
+export default {
+    name: 'select-cy',
+    props: {
+        //是否显示全部清空按钮
+        showClearIcon: {
+            type: Boolean,
+            default: false
+        },
+        //是否显示单个删除
+        showValueClear: {
+            type: Boolean,
+            default: true
+        },
+        zindex: {
+            type: Number,
+            default: 999
+        },
+        //禁用组件
+        disabled: {
+            type: Boolean,
+            default: false
+        },
+        options: {
+            type: Array,
+            default() {
+                return []
+            }
+        },
+        value: {
+            type: Array,
+            default() {
+                return []
+            }
+        },
+        placeholder: {
+            type: String,
+            default: '请选择'
+        },
+        showplaceholder: {
+            type: Boolean,
+            default: true
+        },
+        slabel: {
+            type: String,
+            default: 'label'
+        },
+        svalue: {
+            type: String,
+            default: 'value'
+        },
+        // 是否开启分页
+        isPaging: {
+            type: Boolean,
+            default: false
+        },
+    },
+    data() {
+        return {
+            active: false, //组件是否激活,
+            changevalue: [], //搜索框同步
+            realValue: [],
+        }
+    },
+    watch: {
+        value: {
+            handler(val) {
+                console.log('value', val)
+                //初始化
+                this.init()
+            },
+            deep: true,
+        }
+    },
+    mounted() {
+        this.init()
+    },
+    methods: {
+        close() {
+            this.active = false
+        },
+        init() {
+            if (this.value.length > 0) {
+                const dataList = this.value.map(i => i.value)
+                this.changevalue = this.options.map(item => {
+                    if (item.value.includes(dataList)) {
+                        return item.value
+                    }
+                })
+                this.realValue = dataList
+            } else {
+                this.changevalue = []
+                this.realValue = []
+            }
+        },
+        scrolltolower() {
+            if (this.isPaging) {
+                this.$emit('scrolltolower')
+            }
+        },
+        //点击展示选项
+        handleSelect() {
+            if (this.disabled) return
+            this.active = !this.active
+        },
+        //移除数据
+        handleRemove(index) {
+            if (index === null) {
+                this.realValue = []
+                this.changevalue = []
+            } else {
+                this.realValue.splice(index, 1)
+                this.changevalue.splice(index, 1)
+            }
+            this.$emit('change', this.changevalue, this.realValue)
+        },
+        //点击组件列
+        handleChange(index, item) {
+            let arrIndex = this.realValue.indexOf(item[this.svalue])
+            if (arrIndex > -1) {
+                this.changevalue.splice(arrIndex, 1)
+                this.realValue.splice(arrIndex, 1)
+            } else {
+                this.changevalue.push(item)
+                this.realValue.push(item[this.svalue])
+            }
+            this.$emit('change', this.realValue)
+        },
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.uni-select-cy {
+	position: relative;
+	z-index: 999;
+
+	.uni-select-mask {
+		width: 100%;
+		height: 100%;
+	}
+
+	/* 删除按钮样式*/
+	.close-icon {
+		height: 100%;
+		width: 15px;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		z-index: 3;
+		cursor: pointer;
+
+		text {
+			position: relative;
+			background: #fff;
+			width: 13px;
+			height: 13px;
+			border-radius: 50%;
+			border: 1px solid #bbb;
+
+			&::before,
+			&::after {
+				content: "";
+				position: absolute;
+				left: 20%;
+				top: 50%;
+				height: 1px;
+				width: 60%;
+				transform: rotate(45deg);
+				background-color: #bbb;
+			}
+
+			&::after {
+				transform: rotate(-45deg);
+			}
+
+		}
+	}
+
+	//所有清空的定位
+	.close-postion {
+		position: absolute;
+		right: 35px;
+		top: 0;
+		height: 100%;
+		width: 15px;
+	}
+
+	/* 多选盒子 */
+	.uni-select-multiple {
+		overflow-x: auto;
+		display: flex;
+		flex: 1;
+		width: 0;
+		flex-wrap: nowrap;
+		.uni-select-multiple-item {
+			// background: #bbb;
+			margin-right: 5rpx;
+			padding: 2rpx 4rpx;
+			border-radius: 4rpx;
+			color: #333333;
+			display: flex;
+			flex: 0 0 140rpx;
+
+			.uni-select-multiple-item-row{
+				flex: 1;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+			}
+		}
+	}
+
+	// select部分
+	.uni-select-cy-select {
+		user-select: none;
+		position: relative;
+		z-index: 3;
+		min-height: 90rpx;
+		padding: 0 60rpx 0 20rpx;
+		box-sizing: border-box;
+		border-radius: 4px;
+		border: 1rpx solid #cccccc;
+		display: flex;
+		align-items: center;
+		font-size: 14px;
+		color: #999;
+		flex-wrap: nowrap;
+		.uni-disabled {
+			position: absolute;
+			left: 0;
+			width: 100%;
+			height: 100%;
+			z-index: 19;
+			cursor: no-drop;
+			background: rgba(255, 255, 255, .5);
+		}
+
+
+		.uni-select-cy-input {
+			font-size: 28rpx;
+			color: #999;
+			display: block;
+			width: 96%;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			white-space: nowrap;
+			line-height: 30px;
+			box-sizing: border-box;
+
+			&.active {
+				color: #333;
+			}
+
+		}
+
+		.uni-select-cy-icon {
+			cursor: pointer;
+			position: absolute;
+			right: 0;
+			top: 0;
+			height: 100%;
+			width: 30px;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+
+			&::before {
+				content: "";
+				width: 1px;
+				height: 100%;
+				position: absolute;
+				left: 0;
+				top: 0;
+				// background-color: #e5e5e5;
+			}
+
+			text {
+				display: block;
+				// width: 0;
+				// height: 0;
+				// border-width: 12rpx 12rpx 0;
+				// border-style: solid;
+				// border-color: #bbb transparent transparent;
+				transition: .3s;
+			}
+            text::after {
+                content: '\276F';
+            }
+			&.disabled {
+				cursor: no-drop;
+
+				text {
+					width: 20rpx;
+					height: 20rpx;
+					border: 2px solid #ff0000;
+					border-radius: 50%;
+					transition: .2s;
+					position: relative;
+					z-index: 999;
+
+					&::after {
+						content: "";
+						position: absolute;
+						top: 50%;
+						left: 0;
+						width: 100%;
+						height: 2px;
+						margin-top: -1px;
+						background-color: #ff0000;
+						transform: rotate(45deg);
+
+					}
+				}
+			}
+		}
+
+		&.active .uni-select-cy-icon {
+			text {
+				transform: rotate(90deg);
+			}
+		}
+	}
+
+	// options部分
+	.uni-select-cy-options {
+		user-select: none;
+		position: absolute;
+		top: calc(100% + 5px);
+		left: 0;
+		width: 100%;
+		height: 400rpx;
+		border-radius: 4px;
+		border: 1rpx solid #cccccc;
+		background: #fff;
+		padding: 33rpx 24rpx;
+		box-sizing: border-box;
+		z-index: 9;
+
+		.uni-select-cy-item {
+			box-sizing: border-box;
+			cursor: pointer;
+			// line-height: 2.5;
+            margin-bottom: 25rpx;
+			transition: .3s;
+			font-size: 26rpx;
+            color: #333333;
+            display: flex;
+            justify-content: space-between;
+            .check-icon {
+                width: 24rpx;
+                height: 24rpx;
+                border: 1px solid #CCCCCC;
+                margin-top: 6rpx;
+            }
+            .check-title {
+                width: 395rpx;
+            }
+			&.active {
+                .check-icon {
+                    width: 36rpx;
+                    height: 36rpx;
+                    border: none;
+                    background: url(https://static.caimei365.com/app/img/icon/icon-checked.png) center;
+                    background-size: contain;
+                    margin-top: 0;
+                    border: none;
+                }
+				// background-color: #f5f7fa &:hover {
+				// 	background-color: #f5f7fa
+				// }
+			}
+			// &:hover {
+			// 	background-color: #f5f5f5;
+			// }
+		}
+        .select-contain {
+            padding: 20rpx;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+            .select-contain-btn {
+                width: 210rpx;
+                height: 60rpx;
+                background: #FF5B00;
+                color: #fff;
+                line-height: 60rpx;
+            }
+        }
+	}
+}
+</style>

+ 235 - 25
pages/login/components/solution.vue

@@ -6,10 +6,11 @@
             'background-repeat': 'no-repeat',
             'background-size': '100% 100%'
         }"
+        @click.stop="activeSelect"
     >
         <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" v-for="(item, index) in solutionList" :key="item.id">
                 <view
                     class="solution_item_bg"
                     :style="{
@@ -24,28 +25,58 @@
                     <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>
+                    <button type="default" class="solution_btn" @click="openMadel(item.title, `${index+1}`)">查看解决方案</button>
                 </view>
             </view>
         </view>
-        <tui-modal
-            :show.sync="modal"
-            custom
-            @cancel="() => (modal = false)"
-            maskClosable
-            color="#333"
-            :size="32"
-        >
+        <tui-modal :show.sync="modal" custom 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>
+                <image class="tui-logo" src="https://static.caimei365.com/app/img/icon/supplier-h5.png" mode=""></image>
+                <view class="tui-close" @click="close"></view>
+                <view class="title_1">{{ solutionTitle }}</view>
+                <view class="title_2">请完成以下信息并提交,1-3个工作日会有专人与您沟通!</view>
+                <form>
+                    <input class="uni-input" v-model="solutionForm.userName" placeholder="请输入姓名" />
+                    <input class="uni-input" v-model="solutionForm.corporateName" placeholder="请输入公司名称" />
+                    <input class="uni-input" v-model="solutionForm.mobile" type="number" maxlength="11" placeholder="请输入您的手机号" />
+                    <multiple-select
+                        placeholder="请选择您感兴趣的问题"
+                        :value="solutionForm.list"
+                        name="name"
+                        :options="selectMultiplecolumns"
+                        @change="selectitem"
+                        :showValueClear="false"
+                        ref='select'
+                    />
+                </form>
+                <button
+                    :class="isTrue ? 'isTrue' : ''"
+                    height="72rpx"
+                    class="solution_btn"
+                    :size="28"
+                    shape="circle"
+                    @click="formSubmit"
+                >
+                    提交
+                </button>
             </view>
         </tui-modal>
     </view>
 </template>
 
 <script>
+import multipleSelect from './multiple-select/multiple-select.vue'
+import {mapState} from 'vuex'
 export default {
+    components: {
+        multipleSelect
+    },
+    props: {
+        isShareTimeline: { // 是否从朋友圈分享进入
+            type: Boolean,
+            default: () => false
+        }
+    },
     data() {
         return {
             bgImg: 'https://static.caimei365.com/app/img/supplier-login/solution/bg.png',
@@ -134,13 +165,154 @@ export default {
                     type: '',
                     plain: false
                 }
-            ]
+            ],
+            solutionTitle: '基础版', // 表单标题
+            isTrue: false,
+            solutionForm: {
+                // 解决方案表单
+                userName: '',
+                corporateName: '',
+                mobile: '',
+                level: '',
+                list: []
+            },
+            // 多选框配置
+            selectMultiplecolumns: [
+                {
+                    label: '商城入驻(商品SKU管理、订单交易管理)',
+                    value: '商城入驻(商品SKU管理、订单交易管理)'
+                },
+                {
+                    label: '正品认证(仪器授权认证、购机客户管理、品牌运营)',
+                    value: '正品认证(仪器授权认证、购机客户管理、品牌运营)'
+                },
+                {
+                    label: '销售赋能(降低管理成本,提升运营效果)',
+                    value: '销售赋能(降低管理成本,提升运营效果)'
+                },
+                {
+                    label: '营销获客(全渠道媒体矩阵、压缩获客成本,提高获客数/质量)',
+                    value: '营销获客(全渠道媒体矩阵、压缩获客成本,提高获客数/质量)'
+                },
+                {
+                    label: '私域运营(美业社群/美业直播、提高客户转化率)',
+                    value: '私域运营(美业社群/美业直播、提高客户转化率)'
+                },
+                {
+                    label: '客户管理(客户360“画像、客户旅程、客户行为轨迹等数据)',
+                    value: '客户管理(客户360“画像、客户旅程、客户行为轨迹等数据)'
+                },
+                {
+                    label: '其他',
+                    value: '其他'
+                }
+            ] ,//数据
+            selectMultipleData: [], // 数据
         }
     },
+    computed: {
+        ...mapState(['userInfo'])
+    },
+    watch: {
+        solutionForm: {
+            handler(val) {
+                const a = []
+                const v = Object.values(val)
+                v.map((i,o) => {
+                    if (!Array.isArray(i)) {
+                        if (i.length > 0) {
+                            a.push(true)
+                        } else {
+                            a.push(false)
+                        }
+                    }
+                })
+                if (a.findIndex(e => e === false) == -1) {
+                    this.isTrue = true
+                } else {
+                    this.isTrue = false
+                }
+            },
+            deep: true
+        },
+        modal(val) {
+            this.$emit('solutionModal', val)
+        },
+    },
     methods: {
-        openMadel() {
+        openMadel($event, id) {
+            if (this.isShareTimeline) return this.$util.msg('请前往小程序使用完整服务')
             this.modal = true
-        }
+            this.solutionTitle = $event
+            this.solutionForm.level = id
+        },
+        // 重置
+        resetForm() {
+            this.solutionForm = {
+                // 解决方案表单
+                userName: '',
+                corporateName: '',
+                mobile: '',
+                level: '',
+                list: []
+            }
+        },
+        // change 改变form列表数据
+        formatterList() {
+            if (this.selectMultipleData.length > 0) {
+                const newArr = []
+                this.selectMultiplecolumns.forEach((i, index) => {
+                    this.selectMultipleData.forEach(o => {
+                        if(i.value == o) {
+                            newArr.push(index+1)
+                        }
+                    })
+                })
+                return newArr.toString()
+            } else return ''
+        },
+        // 提交
+        formSubmit() {
+            if (this.isTrue) {
+                this.isTrue = false
+                const form = {
+                    userId: this.userInfo.userId ||'',
+                    level: this.solutionForm.level,
+                    userName: this.solutionForm.userName,
+                    corporateName: this.solutionForm.corporateName,
+                    mobile: this.solutionForm.mobile,
+                    content: this.formatterList()
+                }
+                if(!/(^1[0-9][0-9]{9}$)/.test(form.mobile)){
+                	this.$util.msg('请输入正确的手机号码')
+                	return this.isTrue = true
+                }
+                this.UserService.supplierSearchUpdate(form).then(res => {
+                    uni.showToast({
+                        title: '提交成功',
+                        duration: 1000,
+                    })
+                    this.modal = false
+                    this.resetForm()
+                    setTimeout(() => {
+                        this.isTrue = true
+                    }, 1000)
+                })
+                console.log(form)
+            }
+        },
+        // 多选框确定
+        selectitem($event) {
+            this.selectMultipleData = $event
+        },
+        close() {
+            this.modal = false
+            this.$refs.select.active = false
+        },
+        // 下拉框取消选择
+        activeSelect() {
+            this.$refs.select.active = false
+        },
     }
 }
 </script>
@@ -211,22 +383,60 @@ export default {
     }
 }
 .tui-modal-custom {
-    padding: 40rpx 20rpx 10rpx 20rpx;
-    .tui-modal-custom-text {
-        font-size: 32rpx;
+    .tui-close {
+        width: 22rpx;
+        height: 22rpx;
+        position: absolute;
+        right: 32rpx;
+        top: 24rpx;
+        background: url(https://static.caimei365.com/app/img/supplier-login/modal-close.png) center;
+    }
+    .tui-logo {
+        width: 580rpx;
+        position: absolute;
+        z-index: -1;
+        top: 0;
+        left: 0;
+        width: 100%;
+        border-radius: 16rpx;
+    }
+    padding-top: 40rpx;
+    .title_1 {
+        font-size: 36rpx;
+        color: black;
+        text-align: center;
+        margin-bottom: 40rpx;
+        font-weight: bold;
+    }
+    .title_2 {
         color: #666666;
+        font-size: 28rpx;
+        margin-bottom: 56rpx;
         text-align: center;
     }
+    .uni-input {
+        padding: 0 20rpx;
+        margin-bottom: 23rpx;
+        border: 1rpx solid #cccccc;
+        border-radius: 8rpx;
+        height: 90rpx;
+        box-sizing: border-box;
+        font-size: 28rpx;
+        font-weight: 100;
+    }
     .solution_btn {
-        width: 400rpx;
-        height: 72rpx;
-        margin-top: 40rpx;
-        background: #FF5B00;
-        border-radius: 36rpx;
-        color: white;
+        width: 320rpx;
+        height: 90rpx;
+        margin-top: 68rpx;
+        border-radius: 8rpx;
         font-size: 28rpx;
         text-align: center;
-        line-height: 72rpx;
+        line-height: 90rpx;
+        background: #cccccc;
+        color: white;
+    }
+    .isTrue {
+        background: #ff5b00;
     }
 }
 </style>

+ 64 - 16
pages/login/supplier_login.vue

@@ -12,12 +12,12 @@
                 <view id="item0">
                     <marke-service :bannersList="bannerList">
                         <template #supplier-title>
-                            <supplier-title title="全生命周期陪跑服务" subtitle="采美,更专业的美业数字化营销服务" />
+                            <supplier-title title="全生命周期陪跑服务" subtitle="采美,更专业的美业数字化营销服务" />
                         </template>
                     </marke-service>
                 </view>
                 <view id="item1">
-                    <Solution>
+                    <Solution :isShareTimeline="isShareTimeline" @solutionModal="solutionModal">
                         <template #supplier-title>
                             <supplier-title title="解决方案" subtitle="满足企业全方位需求" />
                         </template>
@@ -68,9 +68,14 @@
                 </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 class="supplier-slide" ref="supplierSlide" :style="{zIndex: isModalShow ? -1 : 20}">
+            <view class="user-cicle" @click="supplierLogin" v-if="!hasLogin || userInfo.userIdentity === 3">
+                <image
+                    style="width: 48rpx;height: 48rpx;"
+                    src="https://static.caimei365.com/app/img/supplier-login/userDefault_new.png"
+                    mode=""
+                ></image>
+                <view class="userLogin">{{ hasLogin ? userInfo.name : '登录/注册'}}</view>
             </view>
             <view class="slide">
                 <view
@@ -93,7 +98,12 @@
         </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>
+                <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">
@@ -195,7 +205,6 @@ export default {
             modal: false,
             showVideo: false,
             videoObj: {},
-            userInfo: {},
             slideList: [
                 {
                     id: 1,
@@ -219,14 +228,20 @@ export default {
             successList: [],
             videoList: [],
             articelList: [],
-            bannerList: []
+            bannerList: [],
+            isShareTimeline: false, // 是否从朋友圈分享
+            isModalShow: false,
         }
     },
     computed: {
-        ...mapState(['hasLogin'])
+        ...mapState(['hasLogin', 'userInfo'])
     },
     watch: {},
     onLoad(options) {
+        // 是否从朋友圈分享进入
+        if (options.isShareTimeline) {
+            this.isShareTimeline = options.isShareTimeline
+        } 
         // 点击链接
         uni.$on('changeLink', e => {
             setTimeout(() => {
@@ -235,15 +250,30 @@ export default {
         })
     },
     mounted() {
-        this.userInfo = uni.getStorageSync('userInfo')
         this.getSupplierLanding()
     },
+    onShow() {
+        uni.onCopyUrl(() => {
+            return { query: 'a=1&b=2' }
+        })
+    },
+    destroyed() {
+        uni.offCopyUrl()
+    },
     onShareAppMessage(res) {
         return {
             title: '供应商登录',
             path: '/pages/login/supplier_login'
         }
     },
+    // 分享朋友圈
+    onShareTimeline() {
+        return {
+            title: '供应商登录',
+            path: '/pages/login/supplier_login',
+            query: 'isShareTimeline=' + true
+        }
+    },
     methods: {
         // 滚动事件
         scrollPage($event) {
@@ -301,9 +331,13 @@ export default {
                 })
             }
         },
+        // solutionModal 方案解决模块
+        solutionModal(val) {
+            this.isModalShow = val
+        },
         async getSupplierLanding() {
             try {
-                const {data} = await this.UserService.supplierLoading({source: 2})
+                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')
@@ -326,6 +360,9 @@ export default {
     width: 100%;
     height: calc(100vh - 120rpx);
     background-color: #fff;
+    #item1 {
+        z-index: 20;
+    }
 }
 .supplier-slide {
     position: fixed;
@@ -333,17 +370,28 @@ export default {
     box-sizing: border-box;
     width: 100rpx;
     bottom: 100rpx;
-    z-index: 999;
     .user-cicle {
         width: 100rpx;
-        height: 100rpx;
-        border-radius: 50%;
-        background-color: #fff;
+        height: 150rpx;
+        background: url(https://static.caimei365.com/app/img/supplier-login/userbg.png) center no-repeat;
+        border-radius: 36px;
         margin-bottom: 40rpx;
         box-shadow: 0rpx 6rpx 16rpx 0rpx rgba(51, 51, 51, 0.16);
         display: flex;
-        justify-content: center;
+        justify-content: space-between;
         align-items: center;
+        flex-direction: column;
+        font-size: 18rpx;
+        color: white;
+        box-sizing: border-box;
+        padding: 34rpx 0;
+        .userLogin {
+            width: 100%;
+            white-space: nowrap;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            text-align: center;
+        }
     }
     .slide {
         width: 100rpx;

+ 1 - 1
pages/seller/components/home.vue

@@ -25,7 +25,7 @@
 		<!-- 活动弹窗 -->
 		<activityAlert :show="isActivity" @click="handleClick" @cancel="handleCancelClick"></activityAlert>
 		<!-- 侧边 -->
-		<scroll-top :isScrollTop="isScrollTop" :bottom="50"></scroll-top>
+		<scroll-top :isScrollTop="isScrollTop" :isShowSupplier="true" :bottom="130"></scroll-top>
 	</view>
 </template>
 

+ 1 - 1
pages/supplier/components/home.vue

@@ -33,7 +33,7 @@
         <!-- 活动弹窗 -->
         <activityAlert :show="isActivity" @click="handleClick" @cancel="handleCancelClick"></activityAlert>
         <!-- 侧边 -->
-        <scroll-top :isScrollTop="isScrollTop" :bottom="50"></scroll-top>
+        <scroll-top :isScrollTop="isScrollTop" :isShowSupplier="true" :bottom="130"></scroll-top>
     </view>
 </template>
 

+ 2 - 2
pages/supplier/components/user.vue

@@ -85,7 +85,7 @@
 			</view>
 			<!-- 底部跳转 -->
 			<view class="foot-list">
-                <view class="list-cell-item">
+               <!-- <view class="list-cell-item">
                 	<view
                 		class="list-cell"
                 		hover-class="cell-hover"
@@ -102,7 +102,7 @@
                 		<text class="cell-tit">供应商服务</text> <text class="cell-more iconfont icon-xiayibu"></text>
                 		<text class="cell-more"></text>
                 	</view>
-                </view>
+                </view> -->
 				<view class="list-cell-item">
 					<view
 						class="list-cell"

+ 4 - 1
pages/tabBar/home/index.vue

@@ -38,7 +38,7 @@
 		<!-- 资质证书 -->
 		<Certificate v-if="isRequest"></Certificate>
 		<!-- 侧边 -->
-		<scroll-top :isScrollTop="isScrollTop" :bottom="50"></scroll-top>
+		<scroll-top :isScrollTop="isScrollTop" :isShowSupplier="true" :bottom="130"></scroll-top>
 		<!-- 活动弹窗 -->
 		<activityAlert :show="isActivity" @click="handleClick" @cancel="handleCancelClick"></activityAlert>
 		<!-- 采美豆提示弹窗 -->
@@ -127,6 +127,9 @@ export default {
 		}
 	},
 	onLoad() {},
+    computed: {
+        ...mapState(['hasLogin', 'userInfo'])
+    },
 	onPageScroll(e) {
         if (e.scrollTop > 0) {
             this.isScroll = true

+ 2 - 2
pages/tabBar/user/user.vue

@@ -127,7 +127,7 @@
                         </view>
                     </view>
                 </view>
-                <view class="header-main-order" style="margin-bottom: 20rpx;border-radius: 20rpx;" v-if="!hasLogin || userInfo.userIdentity === 3">
+                <!-- <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')"
@@ -143,7 +143,7 @@
                         <text class="cell-tit">供应商服务</text>
                         <text style="right: 20rpx;" class="cell-more iconfont icon-xiayibu"></text>
                     </view>
-                </view>
+                </view> -->
                 <!-- 订单 -->
                 <view class="header-main-order" :style="{ marginTop: hasLogin ? '0rpx' : '0rpx' }">
                     <view class="user-order">

+ 10 - 0
services/user.service.js

@@ -961,4 +961,14 @@ export default class UserService {
             isLoading: false
         })
     }
+    /**
+     * @param 供应商落地页 信息提交 
+     */
+    supplierSearchUpdate(data = {}) {
+        return this.AjaxService.post({
+            url: '/user/landing/cmQuestionnaire/save',
+            data,
+            isLoading: true
+        })
+    }
 }