zhengjinyi 1 år sedan
förälder
incheckning
4851f87775

+ 5 - 5
pages.json

@@ -736,7 +736,7 @@
 				{
 					"path": "club/club-visit",
 					"style": {
-						"navigationBarTitleText": "访问记录",
+						"navigationBarTitleText": "商城访问记录",
 						"navigationStyle": "custom"
 					}
 				},
@@ -759,15 +759,15 @@
 					}
 				},
 				{
-					"path": "club/club-info",
+					"path": "club/club-detail",
 					"style": {
-						"navigationBarTitleText": "商城访问记录"
+						"navigationBarTitleText": "资料详情"
 					}
 				},
 				{
-					"path": "club/club-detail",
+					"path": "club/club-inactive-list",
 					"style": {
-						"navigationBarTitleText": "资料详情"
+						"navigationBarTitleText": "不活跃机构"
 					}
 				},
 				{

+ 68 - 0
pages/search/mixins/searchMixins.js

@@ -0,0 +1,68 @@
+// 统计数据
+// 统计类型 1:首页banner;2:直播模块;3:最新活动;4:热门文章;5:新品橱窗;6:活动列表
+import Vue from 'vue'
+const searchMixins = {
+    computed: {
+
+    },
+    methods: {
+        sliceStr(str, len) {
+            var len = len || 8
+            if (str != null) {
+                if (str.length > len) {
+                    return str.substring(0, len) + '...'
+                } else {
+                    return str
+                }
+            }
+            return ''
+        },
+        highLight(content, key, res) {
+            if (res == undefined) {
+                res = []
+            }
+            key = key.toUpperCase()
+            let keyLen = key.length
+            let tmp = content.toUpperCase()
+            if (tmp.length >= keyLen && keyLen > 0) {
+                let index = -1
+                index = tmp.indexOf(key)
+                if (index != -1) {
+                    let n = content.substring(0, index)
+                    res.push({
+                        type: 2,
+                        text: n
+                    })
+                    let y = content.substring(index, index + keyLen)
+                    res.push({
+                        type: 1,
+                        text: y
+                    })
+                    content = content.substring(index + keyLen, content.length)
+                    this.highLight(content, key, res)
+                } else {
+                    res.push({
+                        type: 2,
+                        text: content
+                    })
+                }
+            } else {
+                res.push({
+                    type: 2,
+                    text: content
+                })
+            }
+            return res
+        },
+        myReplace(content) {
+            content = content.replace(' ', ' ')
+            if (content.indexOf(' ') != -1) {
+                return myReplace(content)
+            }
+
+            return content
+        }
+    }
+}
+
+export default searchMixins

+ 9 - 5
pages/search/search.vue

@@ -199,11 +199,14 @@
 						<view class="list-details-type" v-if="pros.productType == 2">医疗器械</view>
 					</view>
 					<view class="list-details-info">
-						<view class="list-details-title">
+						<view class="list-details-title clearfix">
 							<text class="mclap-tag" v-if="pros.beautyActFlag == 1">美博会</text>
-							<text class="mclap" :class="pros.beautyActFlag == 1 ? 'indent' : ''">
-								{{ isInterceptHtmlFn(pros.name) }}
-							</text>
+							<view class="mclap" :class="pros.beautyActFlag == 1 ? 'indent' : ''">
+								<view v-for="item in highLight(isInterceptHtmlFn(pros.name),listQuery.keyword)" :key="item" style="float:left;">
+								  <text v-if="item.type==1" decode="true" space="true" style='color: #ff5b00;'>{{ myReplace(item.text) }} </text>
+								  <text v-else decode="true" space="true">{{myReplace(item.text)}}</text>
+								</view>
+							</view>
 						</view>
 						<text class="list-details-specs">规格:{{ pros.unit }}</text>
 						<view class="list-details-specs" v-if="pros.code != '' && pros.code != null">
@@ -487,6 +490,7 @@ import cmRossPopup from '@/components/cm-module/cm-ross/cm-ross-popup'
 import wxLogin from '@/common/config/wxLogin.js'
 import { debounce } from '@/common/config/common.js'
 import cmSrsMixins from '@/utils/cmSrsMixins.js'
+import searchMixins from './mixins/searchMixins.js'
 const myDebounce = fn => debounce(fn, 500, false)
 
 export default {
@@ -495,7 +499,7 @@ export default {
 		uniGrader,
 		cmRossPopup
 	},
-	mixins: [cmSrsMixins],
+	mixins: [cmSrsMixins,searchMixins],
 	data() {
 		return {
 			CustomBar: this.CustomBar, // 顶部导航栏高度

+ 510 - 0
pages/seller/club/club-inactive-list.vue

@@ -0,0 +1,510 @@
+<template>
+	<view class="container club clearfix">
+		<view class="club-main">
+			<view v-if="isEmpty" class="empty-container">
+				<image
+					class="club-empty-image"
+					src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png"
+					mode="aspectFit"
+				></image>
+				<view class="txt">暂无机构数据</view>
+			</view>
+			<view v-else class="club-list">
+				<scroll-view scroll-y="true">
+					<view class="list" v-for="(club, index) in clubList" :key="index">
+						<view class="list-cell-top">
+							<view class="list-logo">
+								<image
+									:src="
+										club.headpic
+											? club.headpic
+											: 'https://static.caimei365.com/app/img/icon/icon-club@3x.png'
+									"
+									mode=""
+								></image>
+								<text class="list-id">编号:{{ club.newClubId }}</text>
+							</view>
+							<view class="list-content">
+								<view class="list-name">
+									{{ club.userIdentity === 2 ? club.name : club.linkMan }}
+									<text class="tags" v-if="club.vipFlag == 0 && club.userIdentity === 2">VIP</text>
+									<text class="tags sv" v-if="club.vipFlag == 1">SVIP</text>
+									<text class="tags xf" v-if="club.newDeal === 1">新分配</text>
+								</view>
+								<view class="list-tags">
+									<text
+										class="tags"
+										@click.stop="
+											this.$api.navigateTo('/pages/service/service?id=1041&title=标签说明')
+										"
+									>
+										{{ club.activeState }} <text class="iconfont icon-xiayibu"></text>
+									</text>
+									<text
+										class="tags"
+										@click.stop="
+											this.$api.navigateTo('/pages/service/service?id=1041&title=标签说明')
+										"
+									>
+										{{ club.customerValue }} <text class="iconfont icon-xiayibu"></text>
+									</text>
+									<text class="tags-or" @click.stop="handleOrderHistory(club)">
+										<text class="iconfont icon-dingdan"></text> 订单列表
+										<text
+											v-if="club.orderNum > 0"
+											class="opea-badge uni-badge uni-badge-error uni-small uni-badge--small icon-num"
+										>
+											{{ showBadge(club.orderNum) }}
+										</text>
+									</text>
+								</view>
+								<view class="list-ntel" v-if="tabSmallCurrentIndex === 1">
+									<text class="list-link">销售:{{ club.serviceName ? club.serviceName : '' }}</text>
+								</view>
+								<view class="list-ntel" v-if="tabSmallCurrentIndex !== 1">
+									<text class="list-link">{{ club.linkMan ? club.linkMan : '' }}</text>
+									<text class="list-texl" @click="handlePhone(club.contractMobile)">
+										{{ club.contractMobile ? club.contractMobile : '' }}
+									</text>
+								</view>
+								<view class="list-ntel" v-if="listQuery.type === 6">
+									<text class="list-link">分配时间:{{ club.providerTime | dateConversion }}</text>
+								</view>
+							</view>
+						</view>
+						<view class="club-list-bot">
+							<view class="btn" @click.stop="handleClickOper(1, club)">
+								<text class="iconfont icon-jigouhuaxiang"></text> 机构画像
+							</view>
+							<view class="btn" @click.stop="handleClickOper(3, club)">
+								<text class="iconfont icon-shangcheng"></text> 商城访问记录
+							</view>
+						</view>
+					</view>
+					<!--加载loadding-->
+					<tui-loadmore :visible="loadding" :index="3" type="black" />
+					<tui-nomore :visible="!pullUpOn" bgcolor="#f7f7f7" :text="nomoreText" />
+				</scroll-view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+import authorize from '@/common/config/authorize.js'
+import wxLogin from '@/common/config/wxLogin.js'
+
+const defaultListQuery = {
+	pageNum: 1,
+	pageSize: 10,
+	serviceProviderId: 0
+}
+export default {
+	data() {
+		return {
+			listQuery: Object.assign({}, defaultListQuery),
+			isEmpty: false,
+			nomoreText: '上拉显示更多',
+			pageNum: 1,
+			pageSize: 10,
+			hasNextPage: false,
+			loadding: false,
+			pullUpOn: true,
+			pullFlag: true,
+			clubList: [],
+			isIphoneX: this.$store.state.isIphoneX,
+			CustomBar: this.CustomBar,
+			StatusBar: this.StatusBar,
+			capsule: this.capsule,
+		}
+	},
+	filters: {
+		dateConversion(val) {
+			const date = new Date(val)
+			const setZero = val => (val < 10 ? '0' + val : val)
+			return `${date.getFullYear()}-${setZero(date.getMonth() + 1)}-${setZero(date.getDate())} ${setZero(
+				date.getHours()
+			)}:${setZero(date.getMinutes())}:${setZero(date.getSeconds())}`
+		}
+	},
+	onLoad(option) {
+		this.listQuery.serviceProviderId = option.serviceProviderId
+		this.getUnActiveClubList()
+	},
+	computed: {
+		...mapState(['isManage'])
+	},
+	methods: {
+		getUnActiveClubList() {
+			this.SellerService.getUnActiveClubList(this.listQuery)
+				.then(response => {
+					let data = response.data
+					if (data.list && data.list.length > 0) {
+						this.isEmpty = false
+						this.hasNextPage = response.data.hasNextPage
+						this.clubList = data.list.map((el, index) => {
+							el.bubble = false
+							return el
+						})
+						this.pullFlag = false
+						setTimeout(() => {
+							this.pullFlag = true
+						}, 500)
+						if (this.hasNextPage) {
+							this.pullUpOn = false
+							this.nomoreText = '上拉显示更多'
+						} else {
+							this.pullUpOn = true
+							this.loadding = false
+							this.nomoreText = '已至底部'
+						}
+					} else {
+						this.isEmpty = true
+					}
+				})
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
+				})
+		},
+		getOnReachBottomData() {
+			this.listQuery.pageNum += 1
+			this.SellerService.getUnActiveClubList(this.listQuery)
+				.then(response => {
+					let data = response.data
+					if (data.list && data.list.length > 0) {
+						this.hasNextPage = response.data.hasNextPage
+						this.clubList = this.clubList.concat(data.list)
+						this.pullFlag = false // 防上拉暴滑
+						setTimeout(() => {
+							this.pullFlag = true
+						}, 500)
+						if (this.hasNextPage) {
+							this.pullUpOn = false
+							this.nomoreText = '上拉显示更多'
+						} else {
+							this.pullUpOn = false
+							this.loadding = false
+							this.nomoreText = '已至底部'
+						}
+					}
+				})
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
+				})
+		},
+		// 按钮操作
+		handleClickOper(type, club) {
+			/**
+			 * 1:机构画像 2:填写咨询记录 3:商城访问记录 4:修改资料 5:更换协销
+			 * */
+
+			console.log('type', type)
+			switch (type) {
+				case 1:
+					this.$api.navigateTo(`/pages/seller/club/club-portrait?userId=${club.userId}`)
+					break
+				case 3:
+					this.$api.navigateTo(`/pages/seller/club/club-visit?clubId=${club.clubId}`)
+					break
+			}
+		},
+		handleOrderHistory(club) {
+			//跳转机构历史订单
+			this.$api.setStorage('orderUserInfo', club)
+			this.$api.navigateTo(`/pages/seller/order/order-historylist?clubId=${club.clubId}&listType=0`)
+		},
+		// 拨打电话
+		handlePhone(phoneNumber) {
+			uni.makePhoneCall({
+				phoneNumber: phoneNumber //拨打电话
+			})
+		},
+		showBadge(n) {
+			let num = ''
+			if (n > 100) {
+				num = 99
+			} else {
+				num = n
+			}
+			return num
+		},
+	},
+	onReachBottom() {
+		if (this.hasNextPage) {
+			this.loadding = true
+			this.pullUpOn = true
+			this.getOnReachBottomData()
+		}
+	},
+	onShow() {
+		wxLogin.wxLoginAuthorize()
+	}
+}
+</script>
+
+<style lang="scss">
+page {
+	height: auto;
+}
+page,
+.container {
+	/* padding-bottom: 120upx; */
+	background: #ffffff;
+}
+.container {
+	position: relative;
+}
+.club-main {
+	.list {
+		width: 100%;
+		height: 320rpx;
+		padding: 24rpx;
+		box-sizing: border-box;
+		background: #ffffff;
+		position: relative;
+		border-bottom: 1px solid #ebebeb;
+		.list-cell-top {
+			width: 100%;
+			height: 140rpx;
+			box-sizing: border-box;
+			.list-logo {
+				width: 140rpx;
+				height: 140rpx;
+				float: left;
+				position: relative;
+				image {
+					width: 140rpx;
+					height: 140rpx;
+					border-radius: 8rpx;
+				}
+				.list-id {
+					display: inline-block;
+					width: 100%;
+					height: 32rpx;
+					line-height: 32rpx;
+					background: rgba(0, 0, 0, 0.1);
+					color: #333;
+					position: absolute;
+					top: 0;
+					left: 0;
+					box-sizing: border-box;
+					text-align: left;
+					font-size: 20rpx;
+					padding-left: 4rpx;
+					border-radius: 8rpx 8rpx 0 0;
+				}
+			}
+			.list-content {
+				width: 560rpx;
+				height: 190rpx;
+				float: left;
+				padding-left: 20rpx;
+				box-sizing: border-box;
+				.list-name {
+					width: 100%;
+					height: 50rpx;
+					float: left;
+					line-height: 50rpx;
+					text-align: left;
+					font-size: $font-size-26;
+					color: #333333;
+					.tags {
+						display: inline-block;
+						height: 36rpx;
+						box-sizing: border-box;
+						padding: 0 15rpx;
+						border-radius: 8rpx;
+						background: #f0cb72;
+						font-size: $font-size-22;
+						color: #4e4539;
+						text-align: center;
+						line-height: 36rpx;
+						margin-left: 20rpx;
+						margin-top: 7rpx;
+						&.sv {
+							background: #333333;
+							color: #f0cb72;
+						}
+						&.xf {
+							background-color: #f94b4b;
+							color: #ffffff;
+						}
+					}
+				}
+				.list-tags {
+					width: 100%;
+					height: 36rpx;
+					float: left;
+					line-height: 36rpx;
+					margin: 7rpx 0;
+					.tags {
+						display: inline-block;
+						height: 36rpx;
+						box-sizing: border-box;
+						padding: 0 8rpx 0 15rpx;
+						border-radius: 8rpx;
+						background: #faede5;
+						font-size: $font-size-22;
+						color: $color-system;
+						text-align: center;
+						line-height: 36rpx;
+						margin-right: 16rpx;
+						.icon-xiayibu {
+							font-size: 20rpx;
+							margin-left: 10rpx;
+						}
+					}
+					.tags-or {
+						display: inline-block;
+						height: 36rpx;
+						box-sizing: border-box;
+						font-size: $font-size-22;
+						color: #1890f9;
+						text-align: center;
+						line-height: 36rpx;
+						position: relative;
+						.opea-badge {
+							position: absolute;
+							right: -30rpx;
+							top: -15rpx;
+						}
+						.icon-xiayibu {
+							font-size: 22rpx;
+							color: #1890f9;
+						}
+					}
+				}
+				.list-ntel {
+					width: 100%;
+					height: 50rpx;
+					float: left;
+					line-height: 50rpx;
+					text-align: left;
+					font-size: $font-size-24;
+					color: #666666;
+					.list-link {
+						display: inline-block;
+						float: left;
+						margin-right: 12rpx;
+					}
+					.list-texl {
+						display: inline-block;
+						float: left;
+						text-decoration: underline;
+					}
+				}
+			}
+		}
+		.club-list-bot {
+			width: 100%;
+			height: 80rpx;
+			float: left;
+			background-color: #f7f7f7;
+			border-radius: 8rpx;
+			.btn {
+				height: 80rpx;
+				box-sizing: border-box;
+				line-height: 80rpx;
+				padding: 0 20rpx;
+				font-size: $font-size-24;
+				color: #333333;
+				text-align: center;
+				float: left;
+				position: relative;
+
+				&:nth-child(1) {
+					&:before {
+						content: '';
+						width: 1px;
+						height: 20rpx;
+						background-color: #b2b2b2;
+						position: absolute;
+						right: 0;
+						top: 30rpx;
+					}
+				}
+				&:nth-child(2) {
+					&:before {
+						content: '';
+						width: 1px;
+						height: 20rpx;
+						background-color: #b2b2b2;
+						position: absolute;
+						right: 0;
+						top: 30rpx;
+					}
+				}
+				&:nth-child(3) {
+					&:before {
+						content: '';
+						width: 1px;
+						height: 20rpx;
+						background-color: #b2b2b2;
+						position: absolute;
+						right: 0;
+						top: 30rpx;
+					}
+				}
+				&:last-child {
+					padding: 0 28rpx;
+					.iconfont {
+						font-weight: bold;
+					}
+					.btn-bubble {
+						width: 200rpx;
+						height: 160rpx;
+						background: rgba(51, 51, 51, 0.8);
+						position: absolute;
+						top: -154rpx;
+						right: 0;
+						border-radius: 8rpx;
+						&:before {
+							content: '';
+							width: 0;
+							height: 0;
+							border: 15rpx solid transparent;
+							border-top: 15rpx solid rgba(51, 51, 51, 0.8);
+							position: absolute;
+							bottom: -26rpx;
+							right: 35rpx;
+						}
+						.btn-view {
+							width: 100%;
+							height: 80rpx;
+							box-sizing: border-box;
+							line-height: 80rpx;
+							font-size: $font-size-24;
+							color: #ffffff;
+							text-align: center;
+							float: left;
+							.iconfont {
+								font-size: 28rpx;
+								color: #ffffff;
+								margin-right: 5rpx;
+								font-weight: normal;
+							}
+							&.border {
+								border-bottom: 1px solid rgba(255, 255, 255, 0.3);
+							}
+						}
+					}
+				}
+				&.none {
+					&::before {
+						background-color: #f7f7f7 !important;
+					}
+				}
+				.iconfont {
+					font-size: 30rpx;
+					color: #333333;
+					margin-right: 5rpx;
+				}
+			}
+		}
+	}
+}
+.nav_active {
+	color: $color-system;
+}
+</style>

+ 0 - 443
pages/seller/club/club-info.vue

@@ -1,443 +0,0 @@
-<template>
-	<view class="container club-info">
-		<tui-skeleton
-			v-if="skeletonShow"
-			backgroundColor="#fafafa"
-			borderRadius="10rpx"
-			:isLoading="true"
-			:loadingType="5"
-		/>
-		<template v-else>
-			<view class="info-header-path" @click="handlePathVisit">
-				<view class="path-text">客户访问采美商城全部记录</view>
-				<view class="path-icon"><text class="iconfont icon-xiayibu"></text></view>
-			</view>
-			<view class="info-header clearfix" v-if="clubInfo.ipAddress">
-				<view class="pp"
-					>注册地:<text>{{ clubInfo.ipAddress }}</text></view
-				>
-			</view>
-			<view class="info-header clearfix" v-if="clubInfo.describe">
-				<view class="pp"
-					>描述:<text>{{ clubInfo.describe }}</text></view
-				>
-			</view>
-			<view class="info-content clearfix">
-				<view class="info-title">
-					<view class="info-title-left">
-						<view
-							>机构资料:<text>{{ clubInfo.userIdentity === 2 ? '资质机构' : '个人机构' }}</text></view
-						>
-					</view>
-					<view class="info-title-right">
-						<view v-if="clubInfo.spType === 0">待分配销售</view>
-						<view v-else>已分配销售:{{ saleName }}</view>
-					</view>
-				</view>
-				<view class="info-main">
-					<view class="info-h1">注册信息</view>
-					<view class="info-p"
-						>联系人:<text>{{ clubInfo.linkMan }}</text></view
-					>
-					<view class="info-p"
-						>手机号:<text>{{ clubInfo.contractMobile }}</text></view
-					>
-				</view>
-				<view class="info-main" v-if="clubInfo.userIdentity === 2 || (clubInfo.userIdentity === 4 && (clubInfo.status == 1 || clubInfo.status == 92))">
-					<view class="info-h1"
-						>升级信息
-						<text
-							class="info-h1-tag"
-							:class="{
-								orange: clubInfo.status == 1,
-								grey: clubInfo.status == 90,
-								warn: clubInfo.status == 92
-							}"
-						>
-							{{ clubInfo.status | statusFilters }}
-						</text>
-					</view>
-					<view class="info-p"
-						>机构名称:<text>{{ clubInfo.name }}</text></view
-					>
-					<view class="info-p"
-						>机构简称:<text>{{ clubInfo.shortName }}</text></view
-					>
-					<view class="info-p"
-						>邮箱:<text>{{ clubInfo.contractEmail }}</text></view
-					>
-					<view class="info-p"
-						>联系地址:<text>{{ clubInfo.provincialAddress }}{{ clubInfo.address }}</text></view
-					>
-					<view class="info-p"
-						>营业执照编号:<text>{{ clubInfo.socialCreditCode }}</text></view
-					>
-					<view class="info-p">营业执照:</view>
-					<view class="info-img"><image :src="clubInfo.businessLicense" alt=""/></view>
-					<view class="info-p" v-if="clubInfo.shopPhoto">门头照:</view>
-					<view class="info-img" v-if="clubInfo.shopPhoto"><image :src="clubInfo.shopPhoto" alt=""/></view>
-					<view class="info-p"
-						>机构类型:<text>{{ clubInfo.firstClubType | FirstFormat }}</text></view
-					>
-					<view class="info-p" v-if="clubInfo.medicalPracticeLicense">医疗许可证:</view>
-					<view class="info-img" v-if="clubInfo.medicalPracticeLicense"><image :src="clubInfo.medicalPracticeLicense" alt=""/></view>
-					<view class="info-p" v-if="clubInfo.secondClubType" 
-						>科室:<text>{{ clubInfo.secondClubType | TwoFormat }}</text></view
-					>
-					<view class="info-p"
-						>主营内容:<text>{{ clubInfo.mainProduct }}</text></view
-					>
-				</view>
-				<view class="info-main" v-if="clubInfo.contractPhone || clubInfo.fax || clubInfo.profile">
-					<view class="info-h1">其他信息</view>
-					<view class="info-p" v-if="clubInfo.contractPhone"
-						>固定电话:<text>{{ clubInfo.contractPhone ? clubInfo.contractPhone : '无' }}</text></view
-					>
-					<view class="info-p" v-if="clubInfo.fax"
-						>传真:<text>{{ clubInfo.fax ? clubInfo.fax : '无' }}</text></view
-					>
-					<view class="info-p" v-if="clubInfo.profile"
-						>公司介绍:<text>{{ clubInfo.profile ? clubInfo.profile : '无' }}</text></view
-					>
-				</view>
-			</view>
-		</template>
-		<!-- 按钮 -->
-<!-- 	<template v-if="clubInfo.spType === 0 && isManage">
-			<tui-bottom-popup :radius="false" :mask="false" :show="true">
-				<view class="tui-popup-box clearfix">
-					<view
-						class="tui-right-flex tui-popup-btn"
-						:style="{ paddingBottom: isIphoneX ? '68rpx' : '34rpx' }"
-					>
-						<view class="tui-flex-1">
-							<view class="tui-button" @click="handleShowSellerpopup">分配销售</view>
-						</view>
-					</view>
-				</view>
-			</tui-bottom-popup>
-		</template> -->
-		<!-- 选择弹窗 -->
-		<cm-seller-popup
-			ref="cmresellerpopup"
-			v-if="isSellerpopup"
-			:show="isSellerpopup"
-			@handleChoiceaSeller="handleChoiceaSellerData"
-		>
-		</cm-seller-popup>
-	</view>
-</template>
-
-<script>
-import { mapState, mapMutations } from 'vuex'
-import authorize from '@/common/config/authorize.js'
-import wxLogin from '@/common/config/wxLogin.js'
-import cmSellerPopup from '../components/cm-seller-popup'
-
-export default {
-	components: {
-		cmSellerPopup
-	},
-	data() {
-		return {
-			skeletonShow: true,
-			saleName: '',
-			clubInfo: {},
-			isSellerpopup: false,
-			isIphoneX: this.$store.state.isIphoneX,
-			salesParams: {
-				choseServiceId:0,
-				clubId: 0,
-				spId: 0,
-			}
-		}
-	},
-	onLoad(option) {
-		wxLogin.wxLoginAuthorize()
-		this.salesParams.clubId = option.clubId
-		this.userClubRecordLinkage({ clubId: this.salesParams.clubId })
-	},
-	filters: {
-		FirstFormat(value) {
-			//处理格式
-			const map = {
-				1: '医美',
-				2: '生美',
-				3: '项目公司',
-				4: '个人',
-				5: '其他'
-			}
-			return map[value]
-		},
-		TwoFormat(value) {
-			const map = {
-				1: '诊所',
-				2: '门诊',
-				3: '医院',
-				4: '其他',
-				5: '美容院',
-				6: '养生馆',
-				7: '其他',
-			}
-			return map[value]
-		},
-		statusFilters(value) {
-			// 状态
-			const map = {
-				1: '待审核',
-				90: '审核通过',
-				92: '审核未通过'
-			}
-			return map[value]
-		}
-	},
-	computed: {
-		...mapState(['isManage'])
-	},
-	methods: {
-		async userClubRecordLinkage(param) {
-			//查询机构信息
-			const userInfo = await this.$api.getStorage()
-			this.salesParams.choseServiceId = userInfo.serviceProviderId ? userInfo.serviceProviderId : 0
-			this.SellerService.userClubRecordLinkage(param)
-				.then(response => {
-					this.clubInfo = response.data.club
-					this.saleName = response.data.saleName
-					setTimeout(() => {
-						this.skeletonShow = false
-					}, 1000)
-				})
-				.catch(error => {
-					this.isInvalid = true
-				})
-		},
-		userClubChoseSales(param) {
-			//分配或更换协销
-			this.SellerService.userClubChoseSales(param)
-				.then(response => {
-					this.$util.msg('分配成功', 2000, true, 'success')
-					setTimeout(() => {
-						this.userClubRecordLinkage({ clubId: this.salesParams.clubId })
-					}, 1000)
-				})
-				.catch(error => {
-					console.log('分配协销异常')
-				})
-		},
-		handleChoiceaSellerData(data) {
-			// 确定搜索
-			this.salesParams.spId = data.serviceProviderId
-			this.userClubChoseSales(this.salesParams)
-		},
-		handleShowSellerpopup() {
-			//显示选择协销弹窗
-			this.isSellerpopup = true
-		},
-		handlePathVisit(){
-			// 跳转商城访问记录
-			this.$api.navigateTo(`/pages/seller/club/club-visit?clubId=${this.salesParams.clubId}`)
-		}
-	},
-	onShow() {}
-}
-</script>
-
-<style lang="scss">
-page {
-	height: auto;
-}
-.club-info {
-	width: 100%;
-	.info-header-path{
-		width: 100%;
-		height: 90rpx;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-		background-color: #FEF6F3;
-		line-height: 90rpx;
-		.path-text{
-			float: left;
-			font-size: 28rpx;
-			color: #FF5B00;
-			font-weight: bold;
-		}
-		.path-icon{
-			width: 90rpx;
-			height: 90rpx;
-			float: right;
-			text-align: right;
-			font-size: 30rpx;
-			color: #FF5B00;
-		}
-	}
-	.info-header {
-		width: 100%;
-		height: auto;
-		padding:10rpx 24rpx;
-		float: left;
-		box-sizing: border-box;
-		background-color: #ffffff;
-		.pp {
-			width: 100%;
-			font-size: 26rpx;
-			line-height: 44rpx;
-			font-weight: bold;
-			color: #333333;
-			text {
-				font-size: 26rpx;
-				color: #666666;
-				font-weight: normal;
-				line-height: 66rpx;
-			}
-		}
-	}
-	.info-content {
-		width: 100%;
-		height: auto;
-		float: left;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-		background-color: #ffffff;
-		.info-title {
-			width: 100%;
-			height: 68rpx;
-			border-bottom: 1px solid #f0f0f0;
-			.info-title-left {
-				width: 50%;
-				height: 68rpx;
-				font-size: 30rpx;
-				font-weight: bold;
-				color: #333333;
-				float: left;
-				line-height: 68rpx;
-				text {
-					display: inline-block;
-					padding: 0 16rpx;
-					line-height: 40rpx;
-					background-color: #fff2d5;
-					font-size: 24rpx;
-					border-radius: 20rpx;
-					color: #e4aa43;
-					text-align: center;
-					margin-left: 16rpx;
-					font-weight: normal;
-				}
-			}
-			.info-title-right {
-				width: 50%;
-				height: 68rpx;
-				float: right;
-				line-height: 68rpx;
-				font-size: 24rpx;
-				color: #999999;
-				text-align: right;
-				text-overflow: ellipsis;
-				overflow: hidden;
-				display: -webkit-box;
-				-webkit-line-clamp: 1;
-				line-clamp: 1;
-				-webkit-box-orient: vertical;
-			}
-		}
-		.info-main {
-			width: 100%;
-			height: auto;
-			.info-h1 {
-				width: 100%;
-				box-sizing: border-box;
-				padding: 0 24rpx;
-				position: relative;
-				line-height: 80rpx;
-				font-size: 30rpx;
-				color: #333333;
-				&:before {
-					content: '';
-					width: 6rpx;
-					height: 24rpx;
-					background-color: #FF5B00;
-					position: absolute;
-					left: 0;
-					top: 30rpx;
-				}
-				.info-h1-tag {
-					display: inline-block;
-					padding: 0 16rpx;
-					line-height: 40rpx; 
-					background-color: #fff2d5;
-					font-size: 24rpx;
-					border-radius: 20rpx;
-					color: #ffffff;
-					text-align: center;
-					margin-left: 16rpx;
-					&.orange{
-						background-color: #FFF2D5;
-						color: #E4AA43;
-					}
-					&.grey{
-						background-color: #0DB26D;
-					}
-					&.warn{
-						background-color: #F94B4B;
-					}
-				}
-			}
-			.info-p {
-				width: 100%;
-				box-sizing: border-box;
-				padding: 0 24rpx;
-				position: relative;
-				line-height: 66rpx;
-				font-size: 30rpx;
-				color: #999999;
-				text {
-					color: #333333;
-				}
-			}
-			.info-img {
-				width: 200rpx;
-				height: 200rpx;
-				image {
-					width: 200rpx;
-					height: 200rpx;
-					display: block;
-					margin-left: 24rpx;
-					border: 1px dashed #e2e2e2;
-				}
-			}
-		}
-	}
-}
-.tui-popup-box {
-	position: relative;
-	box-sizing: border-box;
-	min-height: 100rpx;
-	padding: 6rpx 24rpx;
-	.tui-popup-content {
-		padding-top: 30rpx;
-	}
-}
-.tui-popup-btn {
-	width: 100%;
-	height: auto;
-	float: left;
-	box-sizing: border-box;
-	margin-top: 30rpx;
-	.tui-flex-1 {
-		width: 100%;
-		height: 84rpx;
-		display: flex;
-		.tui-button {
-			flex: 1;
-			line-height: 84rpx;
-			font-size: $font-size-28;
-			text-align: center;
-			border-radius: 42rpx;
-			padding: 0;
-			margin: 0 15rpx;
-			box-sizing: border-box;
-			background: $btn-confirm;
-			color: #ffffff;
-		}
-	}
-}
-</style>

+ 42 - 7
pages/seller/club/club-visit-detail.vue

@@ -6,10 +6,10 @@
 			borderRadius="10rpx"
 			:isLoading="true"
 			:loadingType="5"
-		></tui-skeleton>
+		/>
 		<template v-else>
-			<view class="visit-content clearfix">
-				<view class="info-title">{{ listQuery.accessDate }}</view>
+			<view class="visit-content clearfix" v-if="list.length > 0">
+				<view class="info-title" v-if="listQuery.accessDate">{{ listQuery.accessDate }}</view>
 				<view class="info-main" v-for="(visit, index) in list" :key="index" :class="index === list.length -1 ? 'none' : ''">
 					<view class="info-p">访问时间:<text>{{ visit.accessNewTime }}</text></view>
 					<view class="info-p">页面类型:<text>{{ visit.pageType ? visit.pageType : '--' }}</text></view>
@@ -26,6 +26,14 @@
 				<tui-nomore :visible="!pullUpOn" :backgroundColor="'#F7F7F7'" :text="nomoreText"></tui-nomore>
 				<!--加载loadding-->
 			</view>
+			<view class="vsit-content-none" v-else>
+				<image
+					class="none-image"
+					src="https://static.caimei365.com/app/img/bg/bg_visit_none@2x.png"
+					mode=""
+				></image>
+				<view class="none-text">暂无数据</view>
+			</view>
 		</template>
 		<!-- 侧边 -->
 		<view class="scrollTop" :style="{bottom:'150rpx'}">
@@ -56,7 +64,8 @@ export default {
 				accessDate:'',
 				ip:'',
 				pageNum:1,
-				pageSize:10
+				pageSize:10,
+				type:0
 			},
 			list:[] ,
 		}
@@ -88,14 +97,18 @@ export default {
 	},
 	computed: {},
 	onLoad(option) {
+		if(option.type === '2'){
+			this.listQuery.accessDate = option.accessDate
+			this.listQuery.ip = option.ip
+			this.listQuery.type = 0
+		}else{
+			this.listQuery.type = 1
+		}
 		this.listQuery.clubId = option.clubId
-		this.listQuery.accessDate = option.accessDate
-		this.listQuery.ip = option.ip
 		this.getClubRecordDetail()
 		setTimeout(() => {
 			this.skeletonShow = false
 		}, 1000)
-		this.listQuery
 	},
 	methods: {
 		getClubRecordDetail() {
@@ -245,6 +258,28 @@ page {
 			}
 		}
 	}
+	.vsit-content-none {
+		width: 100%;
+		min-height: 800rpx;
+		background: #ffffff;
+		border-radius: 24rpx;
+		padding: 52rpx 24rpx;
+		box-sizing: border-box;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		flex-direction: column;
+		.none-image {
+			width: 260rpx;
+			height: 260rpx;
+			margin-bottom: 20rpx;
+		}
+		.none-text {
+			font-size: $font-size-28;
+			color: #999999;
+			line-height: 44rpx;
+		}
+	}
 }
 .scrollTop{
 	width: 80rpx;

+ 184 - 155
pages/seller/club/club-visit.vue

@@ -6,14 +6,20 @@
 			borderRadius="10rpx"
 			:isLoading="true"
 			:loadingType="5"
-		></tui-skeleton>
+		/>
 		<template v-else>
-			<au-custom :navbar-data='nvabarData' @navigateBack="hanldNavigateBack"></au-custom>
-			<view class="vsit-content" v-if="list.length>0">
-				<view class="list" v-for="(item,index) in list" :key="index" >
+			<au-custom :navbar-data="nvabarData" @navigateBack="hanldNavigateBack"></au-custom>
+			<view class="vsit-content" v-if="list.length > 0">
+				<view class="list-btn" @click="handleVisitDeatil(1, visit)">重点访问页>></view>
+				<view class="list" v-for="(item, index) in list" :key="index">
 					<view class="list-title">{{ item.year }}年</view>
 					<view class="list-main clear">
-						<view class="list-main-item" v-for="(visit,vIndex) in item.data" :key="vIndex" @click="handleVisitDeatil(visit)">
+						<view
+							class="list-main-item"
+							v-for="(visit, vIndex) in item.data"
+							:key="vIndex"
+							@click="handleVisitDeatil(2, visit)"
+						>
 							<view class="item-le">{{ visit.monthAndDay }}</view>
 							<view class="item-ri">
 								<view class="item-ri-i">访问记录</view>
@@ -24,193 +30,216 @@
 				</view>
 			</view>
 			<view class="vsit-content-none" v-else>
-				<image class="none-image" src="https://static.caimei365.com/app/img/bg/bg_visit_none@2x.png" mode=""></image>
+				<image
+					class="none-image"
+					src="https://static.caimei365.com/app/img/bg/bg_visit_none@2x.png"
+					mode=""
+				></image>
 				<view class="none-text">暂无数据</view>
 			</view>
 		</template>
-	</view>	
+	</view>
 </template>
 
 <script>
-	export default{
-		data(){
-			return{
-				skeletonShow:true,
-				clubId:0,
-				nvabarData: {		//顶部自定义导航
-					haveHome:true,
-					haveBack:true,
-					textColor:'#ffffff',
-					showCapsule:1, // 是否显示左上角图标  1表示显示  0表示不显示,
-					showSearch: 0,
-					title: '',  // 导航栏 中间的标题
-					textLeft:this.$store.state.isIphone
-				},
-				list:[]
-			}
-		},
-		filters:{
-			
-		},
-		onLoad(option) {
-			this.clubId = option.clubId
-			this.getVisitList(option.clubId)
-		},
-		methods:{
-			getVisitList(clubId){
-			    this.UserService.userClubRecordList({ clubId : clubId })
-			        .then(response => {
-			            this.list = response.data
-						setTimeout(()=>{
-							this.skeletonShow = false
-						},500)
-			        })
-			        .catch(error => {
-			            console.log(error)
-			        })
+export default {
+	data() {
+		return {
+			skeletonShow: true,
+			clubId: 0,
+			nvabarData: {
+				//顶部自定义导航
+				haveHome: true,
+				haveBack: true,
+				textColor: '#ffffff',
+				showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
+				showSearch: 0,
+				title: '', // 导航栏 中间的标题
+				textLeft: this.$store.state.isIphone
 			},
-			handleVisitDeatil(visit){
-				this.$api.navigateTo(`/pages/seller/club/club-visit-detail?clubId=${this.clubId}&accessDate=${visit.accessDate}&ip=${visit.ip}`)
-			},
-			hanldNavigateBack(){
-				uni.navigateBack({
-					delta: 1
+			list: []
+		}
+	},
+	filters: {},
+	onLoad(option) {
+		this.clubId = option.clubId
+		this.getVisitList(option.clubId)
+	},
+	methods: {
+		getVisitList(clubId) {
+			this.UserService.userClubRecordList({ clubId: clubId })
+				.then(response => {
+					this.list = response.data
+					setTimeout(() => {
+						this.skeletonShow = false
+					}, 500)
+				})
+				.catch(error => {
+					console.log(error)
 				})
+		},
+		handleVisitDeatil(type, visit) {
+			if (type === 2) {
+				this.$api.navigateTo(
+					`/pages/seller/club/club-visit-detail?type=${type}&clubId=${this.clubId}&accessDate=${
+						visit.accessDate
+					}&ip=${visit.ip}`
+				)
+			} else {
+				this.$api.navigateTo(`/pages/seller/club/club-visit-detail?type=${type}&clubId=${this.clubId}`)
 			}
 		},
-		onShow() {
-			
+		hanldNavigateBack() {
+			uni.navigateBack({
+				delta: 1
+			})
 		}
-	}
+	},
+	onShow() {}
+}
 </script>
 
 <style lang="scss">
-	page{
-		width: 100%;
-		height: auto;
-		background-color: #F7F7F7 !important;
+page {
+	width: 100%;
+	height: auto;
+	background-color: #f7f7f7 !important;
+}
+.container {
+	width: 100%;
+	min-height: 700rpx;
+	background: url(https://static.caimei365.com/app/img/bg/bg_visit@2x.png) top center no-repeat;
+	background-size: contain;
+	box-sizing: border-box;
+	padding: 0 24rpx;
+	padding-top: 441rpx;
+}
+.vsit-content-none {
+	width: 100%;
+	min-height: 1000rpx;
+	background: #ffffff;
+	border-radius: 24rpx;
+	padding: 52rpx 24rpx;
+	box-sizing: border-box;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	flex-direction: column;
+	.none-image {
+		width: 260rpx;
+		height: 260rpx;
+		margin-bottom: 20rpx;
 	}
-	.container{
-		width: 100%;
-		min-height: 700rpx;
-		background: url(https://static.caimei365.com/app/img/bg/bg_visit@2x.png) top center no-repeat;
-		background-size: contain;
+	.none-text {
+		font-size: $font-size-28;
+		color: #999999;
+		line-height: 44rpx;
+	}
+}
+.vsit-content {
+	width: 100%;
+	min-height: 1000rpx;
+	background: #ffffff;
+	border-radius: 24rpx;
+	padding: 52rpx 24rpx;
+	box-sizing: border-box;
+	position: relative;
+	.list-btn {
 		box-sizing: border-box;
-		padding: 0 24rpx;
-		padding-top: 441rpx;
+		padding: 0 28rpx;
+		line-height: 64rpx;
+		background-color: #ffe6dc;
+		font-size: 28rpx;
+		color: #ff5b00;
+		text-align: center;
+		position: absolute;
+		top: 52rpx;
+		right: 0;
+		border-radius: 32rpx 0 0 32rpx;
 	}
-	.vsit-content-none{
+	.list {
 		width: 100%;
-		min-height: 1000rpx;
-		background: #FFFFFF;
-		border-radius: 24rpx;
-		padding: 52rpx 24rpx;
-		box-sizing: border-box;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		flex-direction: column;
-		.none-image{
-			width: 260rpx;
-			height: 260rpx;
+		height: auto;
+		margin-bottom: 80rpx;
+		.list-title {
+			width: 100%;
+			height: 58rpx;
 			margin-bottom: 20rpx;
+			font-size: 42rpx;
+			color: #333;
 		}
-		.none-text{
-			font-size: $font-size-28;
-			color: #999999;
-			line-height: 44rpx;
-		}
-	}
-	.vsit-content{
-		width: 100%;
-		min-height: 1000rpx;
-		background: #FFFFFF;
-		border-radius: 24rpx;
-		padding: 52rpx 24rpx;
-		box-sizing: border-box;
-		.list{
+		.list-main {
 			width: 100%;
 			height: auto;
-			margin-bottom: 80rpx;
-			.list-title{
-				width: 100%;
-				height: 58rpx;
-				margin-bottom: 20rpx;
-				font-size: 42rpx;
-				color: #333;
+			padding: 24rpx 16rpx 24rpx 70rpx;
+			box-sizing: border-box;
+			position: relative;
+			&::before {
+				content: '';
+				height: 100%;
+				border-left: 2px dashed #ffa880;
+				position: absolute;
+				left: 37rpx;
+				top: 0;
 			}
-			.list-main{
-				width: 100%;
-				height: auto;
-				padding: 24rpx 16rpx 24rpx 70rpx;
+			.list-main-item {
+				width: 565rpx;
+				height: 120rpx;
 				box-sizing: border-box;
+				padding: 12rpx 35rpx;
+				background: url(https://static.caimei365.com/app/img/bg/bg_visit_list@2x.png) no-repeat;
+				background-size: cover;
+				margin-bottom: 40rpx;
 				position: relative;
-				&::before{
-					content:'';
-					height: 100%; 
-					border-left: 2px dashed #FFA880;
+				border-radius: 16rpx;
+				&::after {
+					content: '';
+					width: 40rpx;
+					height: 40rpx;
+					background: url(https://static.caimei365.com/app/img/bg/bg_visit_radius@2x.png) no-repeat;
+					background-size: cover;
 					position: absolute;
-					left: 37rpx;
-					top: 0;
+					left: -52rpx;
 				}
-				.list-main-item{
-					width: 565rpx;
-					height: 120rpx;
+				.item-le {
+					height: 100%;
 					box-sizing: border-box;
-					padding: 12rpx 35rpx;
-					background: url(https://static.caimei365.com/app/img/bg/bg_visit_list@2x.png)no-repeat;
-					background-size: cover;
-					margin-bottom: 40rpx;
+					padding-right: 30rpx;
 					position: relative;
-					border-radius: 16rpx;
-					&::after{
-						content:'';
-						width: 40rpx;
-						height: 40rpx;
-						background: url(https://static.caimei365.com/app/img/bg/bg_visit_radius@2x.png)no-repeat;
-						background-size: cover;
+					float: left;
+					line-height: 96rpx;
+					font-size: 30rpx;
+					text-align: center;
+					color: #333333;
+					&::before {
+						content: '';
+						width: 1px;
+						height: 48rpx;
+						background-color: #ccc;
 						position: absolute;
-						left: -52rpx;
+						top: 24rpx;
+						right: 0;
 					}
-					.item-le{
-						height: 100%;
-						box-sizing: border-box;
-						padding-right: 30rpx;
-						position: relative;
-						float: left;
+				}
+				.item-ri {
+					height: 96rpx;
+					padding-left: 48rpx;
+					float: left;
+					.item-ri-i {
+						padding-right: 60rpx;
 						line-height: 96rpx;
-						font-size: 30rpx;
+						font-size: 28rpx;
 						text-align: center;
-						color: #333333;
-						&::before{
-							content: '';
-							width: 1px;
-							height: 48rpx;
-							background-color: #CCC;
-							position: absolute;
-							top: 24rpx;
-							right: 0;
-						}
-					}
-					.item-ri{
-						height: 96rpx;
-						padding-left: 48rpx;
+						color: #999;
 						float: left;
-						.item-ri-i{
-							padding-right: 60rpx;
-							line-height: 96rpx;
-							font-size: 28rpx;
-							text-align: center;
-							color: #999;
-							float: left;
-							&.none{
-								font-size: 30rpx;
-								color: #FF5B00;
-							}
+						&.none {
+							font-size: 30rpx;
+							color: #ff5b00;
 						}
 					}
 				}
 			}
 		}
 	}
-</style>
+}
+</style>

+ 133 - 33
pages/seller/components/cm-club-drawer.vue → pages/seller/club/components/cm-club-drawer.vue

@@ -13,27 +13,47 @@
 				<scroll-view class="tui-drawer-scroll" scroll-y :style="{ height: drawerH + 'px' }">
 					<view class="drawer-title">更多筛选</view>
 					<view class="drawer-main">
-						<view class="drawer-main-name">组员:</view>
-						<view class="drawer-main-radiov">
-							<view class="drawer-main-radio">
-								<picker
-									@change="bindPickerChange(1, $event)"
-									:value="index"
-									:range="sellerActions"
-									range-key="name"
-								>
-									<input
-										class="input"
-										type="text"
-										disabled="false"
-										v-model="actionsText"
-										value=""
-										placeholder="请选择"
-									/>
-									<text class="iconfont icon-xiangyou"></text>
-								</picker>
+						<template v-if="isManage">
+							<view class="drawer-main-name">组员:</view>
+							<view class="drawer-main-radiov">
+								<view class="drawer-main-radio">
+									<picker
+										@change="bindPickerChange(1, $event)"
+										:value="index"
+										:range="sellerActions"
+										range-key="name"
+									>
+										<input
+											class="input"
+											type="text"
+											disabled="false"
+											v-model="actionsText"
+											value=""
+											placeholder="请选择"
+										/>
+										<text class="iconfont icon-xiangyou"></text>
+									</picker>
+								</view>
 							</view>
-						</view>
+						</template>
+						<template v-else>
+							<view class="drawer-main-name">客户分配日期</view>
+							<view class="drawer-main-time">
+								<view class="drawer-main-time-input">
+									<picker mode="date" :value="date" :start="startDate" :end="endDate" @change="bindStartDateChange">
+										<text class="input-text">{{ queryData.startTime }}</text>
+									</picker>
+									<text class="iconfont icon-riqi"></text>
+								</view>
+								<view class="line">-</view>
+								<view class="drawer-main-time-input">
+									<picker mode="date" :value="date" :start="startDate" :end="endDate" @change="bindEndDateChange">
+										<text class="input-text">{{ queryData.endTime }}</text>
+									</picker>
+									<text class="iconfont icon-riqi"></text>
+								</view>
+							</view>
+						</template>
 					</view>
 				</scroll-view>
 				<view class="drawer-input btn" :style="{ paddingBottom: isIphoneX ? '68rpx' : '34rpx' }">
@@ -46,6 +66,7 @@
 </template>
 
 <script>
+import { mapState, mapMutations } from 'vuex'
 export default {
 	name: 'rightDrawer',
 	props: {
@@ -55,7 +76,11 @@ export default {
 		}
 	},
 	data() {
+		const currentDate = this.getDate({
+			format: true
+		})
 		return {
+			date: currentDate,
 			CustomBar: this.CustomBar, // 顶部导航栏高度
 			StatusBar: this.StatusBar,
 			isIphoneX: this.$store.state.isIphoneX,
@@ -65,27 +90,38 @@ export default {
 			checkedCategorysList: [],
 			actionsText: '',
 			queryData: {
-				serviceProviderId: 0,
+				startTime:'',
+				endTime:'',
+				serviceProviderId: 0
 			},
 			sellerActions: []
 		}
 	},
 	created() {
-		this.SetScrollHeight()
-		this.userSellerServiceTeam()
+		this.setScrollHeight()
+		if(this.isManage){
+			this.userSellerServiceTeam()
+		}
+	},
+	computed: {
+		...mapState(['isManage']),
+		startDate() {
+			return this.getDate('start')
+		},
+		endDate() {
+			return this.getDate('end')
+		}
 	},
-	computed: {},
 	methods: {
 		async userSellerServiceTeam() {
 			//获取组员协销列表
-			const userInfo = await this.$api.getStorage()
-			this.SellerService.userSellerServiceTeam({ spId: userInfo.serviceProviderId })
-				.then(response => {
-					this.sellerActions = response.data
-				})
-				.catch(error => {
-					console.log('=========>获取组员协销列表异常')
-				})
+			try{
+				const userInfo = await this.$api.getStorage()
+				const res = await this.SellerService.userSellerServiceTeam({ spId: userInfo.serviceProviderId })
+				this.sellerActions = res.data
+			}catch(e){
+				console.log('=========>获取组员协销列表异常')
+			}
 		},
 		bindPickerChange(type, e) {
 			//选择筛选条件
@@ -96,6 +132,18 @@ export default {
 					break
 			}
 		},
+		bindStartDateChange(event){
+			//开始时间
+			console.log('开始时间==>',event.detail.value)
+			this.queryData.startTime = event.detail.value
+			console.log('开始时间==>',this.queryData.startTime)
+		},
+		bindEndDateChange(event){
+			//结束时间
+			console.log('结束时间==>',event.detail.value)
+			this.queryData.endTime = event.detail.value
+			console.log('结束时间==>',this.queryData.endTime)
+		},
 		closeDrawer() {
 			this.$parent.rightDrawer = false
 		},
@@ -104,7 +152,7 @@ export default {
 			this.$emit('handSearchConfirm', this.queryData)
 			this.$parent.rightDrawer = false
 		},
-		SetScrollHeight() {
+		setScrollHeight() {
 			let obj = {}
 			const { windowHeight, pixelRatio } = wx.getSystemInfoSync()
 			uni.getSystemInfo({
@@ -115,6 +163,20 @@ export default {
 			})
 			this.windowHeight = windowHeight - 1
 			this.scrollHeight = windowHeight - 1
+		},
+		getDate(type) {
+			const date = new Date()
+			let year = date.getFullYear()
+			let month = date.getMonth() + 1
+			let day = date.getDate()
+			if (type === 'start') {
+				year = year - 1
+			} else if (type === 'end') {
+				year = year + 1
+			}
+			month = month > 9 ? month : '0' + month
+			day = day > 9 ? day : '0' + day
+			return `${year}-${month}-${day}`
 		}
 	}
 }
@@ -158,6 +220,44 @@ export default {
 			padding: 0 20rpx;
 			font-weight: bold;
 		}
+		.drawer-main-time{
+			width: 100%;
+			height: 56rpx;
+			box-sizing: border-box;
+			.line{
+				color: #999999;
+				float: left;
+				line-height: 56rpx;
+			}
+			.drawer-main-time-input{
+				width: 228rpx;
+				height: 56rpx;
+				background: #F7F7F7;
+				border-radius: 28rpx;
+				box-sizing: border-box;
+				padding: 0 20rpx;
+				line-height: 56rpx;
+				float: left;
+				margin: 0 20rpx;
+				position: relative;
+				.input-text{
+					display: block;
+					height: 56rpx;
+					font-size: 26rpx;
+					color: #666666;
+				}
+				.icon-riqi{
+					color: #FF5B00;
+					display: block;
+					width: 40rpx;
+					height: 56rpx;
+					position: absolute;
+					right: 10rpx;
+					top: 0;
+					line-height: 56rpx;
+				}
+			}
+		}
 		.drawer-main-radiov {
 			width: 100%;
 			height: auto;

+ 6 - 0
pages/seller/club/components/echart-info.vue

@@ -67,6 +67,12 @@
 			<view class="echart-text" v-if="data.provincialAddress">
 				<text class="label">地址:</text>{{ data.provincialAddress }}
 			</view>
+			<view class="echart-text" v-if="data.firstTime">
+				<text class="label">首次咨询时间:</text> {{ data.firstTime }}
+			</view>
+			<view class="echart-text" v-if="data.recentlyTime">
+				<text class="label">最近咨询时间:</text> {{ data.recentlyTime }}
+			</view>
 			<view class="echart-next">详情></view>
 		</view>
 	</view>

+ 1009 - 1017
pages/seller/club/list.vue

@@ -1,1057 +1,1049 @@
 <template>
-    <view class="container club clearfix" :style="{ paddingBottom: isIphoneX ? '140rpx' : '98rpx' }">
-        <view class="club-search clearfix" :style="{ paddingTop: StatusBar + 'px' }">
-            <view class="search-top" :style="{ height: CustomBar - StatusBar + 'px' }">
-                <view
-                    class="search-icon"
-                    :style="{
-                        width: CustomBar - StatusBar + 'px',
-                        height: CustomBar - StatusBar + 'px',
-                        lineHeight: CustomBar - StatusBar + 'px;'
-                    }"
-                >
-                    <text v-if="isShowIndex" @click="handleNavigateIndex" class="iconfont icon-shouye"></text>
-                    <text v-else @click="handleNavigateBack" class="iconfont icon-fanhui"></text>
-                </view>
-                <view class="title">机构列表</view>
-            </view>
-            <view style="display: flex;align-items: center;">
-                <view
-                    class="search-from name"
-                    :style="{ height: capsule.height + 'px', borderRadius: capsule.height / 2 + 'px' }"
-                >
-                    <text
-                        :style="{
-                            width: capsule.height + 'px',
-                            height: capsule.height + 'px',
-                            lineHeight: capsule.height + 'px;'
-                        }"
-                        class="iconfont icon-iconfonticonfontsousuo1"
-                    ></text>
-                    <input
-                        class="input"
-                        type="text"
-                        confirm-type="search"
-                        v-model="listQuery.name"
-                        @input="onShowClose"
-                        @confirm="GetSellerClubList()"
-                        placeholder="机构名称/联系人/手机号"
-                        maxlength="16"
-                        :style="{ lineHeight: capsule.height + 'px' }"
-                    />
-                    <text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText()"></text>
-                </view>
-                <view
-                    class="search-btn"
-                    :style="{
-                        width: CustomBar - StatusBar + 'px',
-                        height: capsule.height + 'px',
-                        lineHeight: capsule.height + 'px;'
-                    }"
-                    v-if="isManage && tabSmallCurrentIndex == 1"
-                    @click="showRightDrawer"
-                >
-                    <text class="iconfont icon-shaixuan"></text>
-                </view>
-                <view class="search-btn" @click="GetSellerClubList" v-if="!isManage || tabSmallCurrentIndex != 1">搜索</view>
-            </view>
-            <view class="search-tab">
-                <view
-                    class="tab-item"
-                    v-for="(item, index) in listTab"
-                    :key="index"
-                    :class="{ current: tabCurrentNum === index }"
-                    @click="tabCurrentClick(index)"
-                >
-                    <text class="item-text">
-                        {{ item.name }}
-                        <text class="line"></text>
-                    </text>
-                </view>
-            </view>
-            <view class="search-smalltab">
-                <view
-                    class="tab-item"
-                    v-for="(item, index) in listItemTab"
-                    :key="index"
-                    :class="{ current: tabSmallCurrentIndex === index }"
-                    @click="tabSmallCurrentClick(index)"
-                >
-                    <text class="item-text">{{ item.name }}</text>
-                </view>
-            </view>
-        </view>
-        <view class="club-main" style="margin-top: 508rpx;">
-            <view v-if="isEmpty" class="empty-container">
-                <image
-                    class="club-empty-image"
-                    src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png"
-                    mode="aspectFit"
-                ></image>
-                <view class="txt">暂无机构数据</view>
-            </view>
-            <view v-else class="club-list">
-                <scroll-view scroll-y="true">
-                    <view class="list" v-for="(club, index) in clubList" :key="index">
-                        <view class="list-cell-top">
-                            <view class="list-logo">
-                                <image
-                                    :src="
-                                        club.headpic
-                                            ? club.headpic
-                                            : 'https://static.caimei365.com/app/img/icon/icon-club@3x.png'
-                                    "
-                                    mode=""
-                                ></image>
-                                <text class="list-id">编号:{{ club.newClubId }}</text>
-                            </view>
-                            <view class="list-content">
-                                <view class="list-name">
-                                    {{ club.userIdentity === 2 ? club.name : club.linkMan }}
-                                    <text class="tags" v-if="club.vipFlag == 0 && club.userIdentity === 2">VIP</text>
-                                    <text class="tags sv" v-if="club.vipFlag == 1">SVIP</text>
-                                    <text class="tags xf" v-if="club.newDeal === 1">新分配</text>
-                                </view>
-                                <view class="list-tags">
-                                    <text
-                                        class="tags"
-                                        @click.stop="
-                                            this.$api.navigateTo('/pages/service/service?id=1041&title=标签说明')
-                                        "
-                                    >
-                                        {{ club.activeState }}
-                                        <text class="iconfont icon-xiayibu"></text>
-                                    </text>
-                                    <text
-                                        class="tags"
-                                        @click.stop="
-                                            this.$api.navigateTo('/pages/service/service?id=1041&title=标签说明')
-                                        "
-                                    >
-                                        {{ club.customerValue }}
-                                        <text class="iconfont icon-xiayibu"></text>
-                                    </text>
-                                    <text class="tags-or" @click.stop="handleOrderHistory(club)">
-                                        <text class="iconfont icon-dingdan"></text>
-                                        订单列表
-                                        <text
-                                            v-if="club.orderNum > 0"
-                                            class="opea-badge uni-badge uni-badge-error uni-small uni-badge--small icon-num"
-                                        >
-                                            {{ showBadge(club.orderNum) }}
-                                        </text>
-                                    </text>
-                                </view>
-                                <view class="list-ntel" v-if="tabSmallCurrentIndex === 1">
-                                    <text class="list-link">销售:{{ club.serviceName ? club.serviceName : '' }}</text>
-                                </view>
-                                <view class="list-ntel" v-if="tabSmallCurrentIndex !== 1">
-                                    <text class="list-link">{{ club.linkMan ? club.linkMan : '' }}</text>
-                                    <text class="list-texl" @click="handlePhone(club.contractMobile)">
-									{{ club.contractMobile ? club.contractMobile : '' }}
+	<view class="container club clearfix" :style="{ paddingBottom: isIphoneX ? '140rpx' : '98rpx' }">
+		<view class="club-search clearfix" :style="{ paddingTop: StatusBar + 'px' }">
+			<view class="search-top" :style="{ height: CustomBar - StatusBar + 'px' }">
+				<view
+					class="search-icon"
+					:style="{
+						width: CustomBar - StatusBar + 'px',
+						height: CustomBar - StatusBar + 'px',
+						lineHeight: CustomBar - StatusBar + 'px;'
+					}"
+				>
+					<text v-if="isShowIndex" @click="handleNavigateIndex" class="iconfont icon-shouye"></text>
+					<text v-else @click="handleNavigateBack" class="iconfont icon-fanhui"></text>
+				</view>
+				<view class="title">机构列表</view>
+			</view>
+			<view style="display: flex;align-items: center;">
+				<view
+					class="search-from name"
+					:style="{ height: capsule.height + 'px', borderRadius: capsule.height / 2 + 'px' }"
+				>
+					<text
+						:style="{
+							width: capsule.height + 'px',
+							height: capsule.height + 'px',
+							lineHeight: capsule.height + 'px;'
+						}"
+						class="iconfont icon-iconfonticonfontsousuo1"
+					></text>
+					<input
+						class="input"
+						type="text"
+						confirm-type="search"
+						v-model="listQuery.name"
+						@input="onShowClose"
+						@confirm="GetSellerClubList()"
+						placeholder="机构名称/联系人/手机号"
+						maxlength="16"
+						:style="{ lineHeight: capsule.height + 'px' }"
+					/>
+					<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText()"></text>
+				</view>
+				<view
+					class="search-btn"
+					:style="{
+						width: CustomBar - StatusBar + 'px',
+						height: capsule.height + 'px',
+						lineHeight: capsule.height + 'px;'
+					}"
+					v-if="isManage && tabSmallCurrentsIndex == 1"
+					@click="showRightDrawer"
+				>
+					<text class="iconfont icon-shaixuan"></text>
+				</view>
+				<view
+					class="search-btn"
+					:style="{
+						width: CustomBar - StatusBar + 'px',
+						height: capsule.height + 'px',
+						lineHeight: capsule.height + 'px;'
+					}"
+					v-if="!isManage || tabSmallCurrentIndex != 1"
+					@click="showRightDrawer"
+				>
+					<text class="iconfont icon-shaixuan"></text>
+				</view>
+			</view>
+			<view class="search-tab">
+				<view
+					class="tab-item"
+					v-for="(item, index) in listTab"
+					:key="index"
+					:class="{ current: tabCurrentNum === index }"
+					@click="tabCurrentClick(index)"
+				>
+					<text class="item-text"> {{ item.name }} <text class="line"></text> </text>
+				</view>
+			</view>
+			<view class="search-smalltab">
+				<view
+					class="tab-item"
+					v-for="(item, index) in listItemTab"
+					:key="index"
+					:class="{ current: tabSmallCurrentIndex === index }"
+					@click="tabSmallCurrentClick(index)"
+				>
+					<text class="item-text">{{ item.name }}</text>
+				</view>
+			</view>
+		</view>
+		<view class="club-main" style="margin-top: 508rpx;">
+			<view v-if="isEmpty" class="empty-container">
+				<image
+					class="club-empty-image"
+					src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png"
+					mode="aspectFit"
+				></image>
+				<view class="txt">暂无机构数据</view>
+			</view>
+			<view v-else class="club-list">
+				<scroll-view scroll-y="true">
+					<view class="list" v-for="(club, index) in clubList" :key="index">
+						<view class="list-cell-top">
+							<view class="list-logo">
+								<image
+									:src="
+										club.headpic
+											? club.headpic
+											: 'https://static.caimei365.com/app/img/icon/icon-club@3x.png'
+									"
+									mode=""
+								></image>
+								<text class="list-id">编号:{{ club.newClubId }}</text>
+							</view>
+							<view class="list-content">
+								<view class="list-name">
+									{{ club.userIdentity === 2 ? club.name : club.linkMan }}
+									<text class="tags" v-if="club.vipFlag == 0 && club.userIdentity === 2">VIP</text>
+									<text class="tags sv" v-if="club.vipFlag == 1">SVIP</text>
+									<text class="tags xf" v-if="club.newDeal === 1">新分配</text>
+								</view>
+								<view class="list-tags">
+									<text
+										class="tags"
+										@click.stop="
+											this.$api.navigateTo('/pages/service/service?id=1041&title=标签说明')
+										"
+									>
+										{{ club.activeState }} <text class="iconfont icon-xiayibu"></text>
 									</text>
-                                </view>
-                                <view class="list-ntel" v-if="listQuery.type === 6">
-                                    <text class="list-link">分配时间:{{ club.providerTime | dateConversion }}</text>
-                                </view>
-                            </view>
-                        </view>
-                        <view class="club-list-bot">
-                            <template v-if="tabSmallCurrentIndex === 0">
-                                <view class="btn" @click.stop="handleClickOper(1, club)">
-                                    <text class="iconfont icon-jigouhuaxiang"></text>
-                                    机构画像
-                                </view>
-                                <view class="btn" @click.stop="handleClickOper(2, club)">
-                                    <text class="iconfont icon-tianxie"></text>
-                                    填写咨询记录
-                                </view>
-                                <view class="btn" @click.stop="handleClickOper(3, club)">
-                                    <text class="iconfont icon-shangcheng"></text>
-                                    商城访问记录
-                                </view>
-                                <view
-                                    class="btn"
-                                    v-if="tabSmallCurrentIndex === 0"
-                                    @click.stop="handleShowBubble(club, index)"
-                                >
-                                    <text class="iconfont icon-gengduo2"></text>
-                                    <view
-                                        class="btn-bubble"
-                                        :style="{
-                                            height: isManage ? '160rpx' : '80rpx',
-                                            top: isManage ? '-154rpx' : '-76rpx'
-                                        }"
-                                        v-if="currentIndex === index && club.bubble"
-                                    >
-                                        <view class="btn-view border" @click.stop="handleClickOper(4, club)">
-                                            <text class="iconfont icon-xiugaiziliao"></text>
-                                            修改资料
-                                        </view>
-                                        <view
-                                            class="btn-view"
-                                            v-if="isManage && club.serviceProviderId != 1342"
-                                            @click.stop="handleClickOper(5, club)"
-                                        >
-                                            <text class="iconfont icon-xiaoshou"></text>
-                                            更换协销
-                                        </view>
-                                    </view>
-                                </view>
-                            </template>
-                            <template v-if="tabSmallCurrentIndex === 1">
-                                <view class="btn" @click.stop="handleClickOper(1, club)">
-                                    <text class="iconfont icon-jigouhuaxiang"></text>
-                                    机构画像
-                                </view>
-                                <view class="btn" @click.stop="handleClickOper(3, club)">
-                                    <text class="iconfont icon-tianxie"></text>
-                                    商城访问记录
-                                </view>
-                                <view
-                                    class="btn none"
-                                    v-if="isManage && club.serviceProviderId != 1342"
-                                    @click.stop="handleClickOper(5, club)"
-                                >
-                                    <text class="iconfont icon-xiaoshou"></text>
-                                    更换协销
-                                </view>
-                            </template>
-                        </view>
-                    </view>
-                    <!--加载loadding-->
-                    <tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
-                    <tui-nomore :visible="!pullUpOn" bgcolor="#f7f7f7" :text="nomoreText"></tui-nomore>
-                </scroll-view>
-            </view>
-        </view>
-        <view class="tabBar" :style="{ height: isIphoneX ? '140rpx' : '98rpx' }" v-if="tabCurrentNum === 0">
-            <view class="tabBar_list" :style="{ paddingBottom: isIphoneX ? '40rpx' : '' }">
-                <view class="tabBar_item" :class="{ current: tabCurrentIndex === 0 }" @click="tabClick(0)">
-                    <text class="iconfont icon-shenhetongguo"></text>
-                    <view class="tabBar_name">待升级</view>
-                </view>
-                <view class="tabBar_item" :class="{ current1: tabCurrentIndex === 1 }" @click="tabClick(1)">
-                    <text class="iconfont icon-lishidingdan"></text>
-                    <view class="tabBar_name">升级中</view>
-                </view>
-                <view class="tabBar_item" :class="{ current2: tabCurrentIndex === 2 }" @click="tabClick(2)">
-                    <text class="iconfont icon-shenhebutongguo"></text>
-                    <view class="tabBar_name">升级失败</view>
-                </view>
-            </view>
-        </view>
-        <!-- 筛选抽屉 -->
-        <cm-clubDrawer
-            ref="screendrawer"
-            v-if="rightDrawer"
-            :rightDrawer="rightDrawer"
-            @handSearchConfirm="handSearchConfirmData"
-        ></cm-clubDrawer>
-        <!-- 选择弹窗 -->
-        <cm-seller-popup
-            ref="cmresellerpopup"
-            v-if="isSellerpopup"
-            :show="isSellerpopup"
-            @handleChoiceaSeller="handleChoiceaSellerData"
-        ></cm-seller-popup>
-    </view>
+									<text
+										class="tags"
+										@click.stop="
+											this.$api.navigateTo('/pages/service/service?id=1041&title=标签说明')
+										"
+									>
+										{{ club.customerValue }} <text class="iconfont icon-xiayibu"></text>
+									</text>
+									<text class="tags-or" @click.stop="handleOrderHistory(club)">
+										<text class="iconfont icon-dingdan"></text> 订单列表
+										<text
+											v-if="club.orderNum > 0"
+											class="opea-badge uni-badge uni-badge-error uni-small uni-badge--small icon-num"
+										>
+											{{ showBadge(club.orderNum) }}
+										</text>
+									</text>
+								</view>
+								<view class="list-ntel" v-if="tabSmallCurrentIndex === 1">
+									<text class="list-link">销售:{{ club.serviceName ? club.serviceName : '' }}</text>
+								</view>
+								<view class="list-ntel" v-if="tabSmallCurrentIndex !== 1">
+									<text class="list-link">{{ club.linkMan ? club.linkMan : '' }}</text>
+									<text class="list-texl" @click="handlePhone(club.contractMobile)">
+										{{ club.contractMobile ? club.contractMobile : '' }}
+									</text>
+								</view>
+								<view class="list-ntel" v-if="listQuery.type === 6">
+									<text class="list-link">分配时间:{{ club.providerTime | dateConversion }}</text>
+								</view>
+							</view>
+						</view>
+						<view class="club-list-bot">
+							<template v-if="tabSmallCurrentIndex === 0">
+								<view class="btn" @click.stop="handleClickOper(1, club)">
+									<text class="iconfont icon-jigouhuaxiang"></text> 机构画像
+								</view>
+								<view class="btn" @click.stop="handleClickOper(2, club)">
+									<text class="iconfont icon-tianxie"></text> 填写咨询记录
+								</view>
+								<view class="btn" @click.stop="handleClickOper(3, club)">
+									<text class="iconfont icon-shangcheng"></text> 商城访问记录
+								</view>
+								<view
+									class="btn"
+									v-if="tabSmallCurrentIndex === 0"
+									@click.stop="handleShowBubble(club, index)"
+								>
+									<text class="iconfont icon-gengduo2"></text>
+									<view
+										class="btn-bubble"
+										:style="{
+											height: isManage ? '160rpx' : '80rpx',
+											top: isManage ? '-154rpx' : '-76rpx'
+										}"
+										v-if="currentIndex === index && club.bubble"
+									>
+										<view class="btn-view border" @click.stop="handleClickOper(4, club)">
+											<text class="iconfont icon-xiugaiziliao"></text> 修改资料
+										</view>
+										<view
+											class="btn-view"
+											v-if="isManage && club.serviceProviderId != 1342"
+											@click.stop="handleClickOper(5, club)"
+										>
+											<text class="iconfont icon-xiaoshou"></text> 更换协销
+										</view>
+									</view>
+								</view>
+							</template>
+							<template v-if="tabSmallCurrentIndex === 1">
+								<view class="btn" @click.stop="handleClickOper(1, club)">
+									<text class="iconfont icon-jigouhuaxiang"></text> 机构画像
+								</view>
+								<view class="btn" @click.stop="handleClickOper(3, club)">
+									<text class="iconfont icon-tianxie"></text> 商城访问记录
+								</view>
+								<view
+									class="btn none"
+									v-if="isManage && club.serviceProviderId != 1342"
+									@click.stop="handleClickOper(5, club)"
+								>
+									<text class="iconfont icon-xiaoshou"></text> 更换协销
+								</view>
+							</template>
+						</view>
+					</view>
+					<!--加载loadding-->
+					<tui-loadmore :visible="loadding" :index="3" type="black" />
+					<tui-nomore :visible="!pullUpOn" bgcolor="#f7f7f7" :text="nomoreText" />
+				</scroll-view>
+			</view>
+		</view>
+		<view class="tabBar" :style="{ height: isIphoneX ? '140rpx' : '98rpx' }" v-if="tabCurrentNum === 0">
+			<view class="tabBar_list" :style="{ paddingBottom: isIphoneX ? '40rpx' : '' }">
+				<view class="tabBar_item" :class="{ current: tabCurrentIndex === 0 }" @click="tabClick(0)">
+					<text class="iconfont icon-shenhetongguo"></text> <view class="tabBar_name">待升级</view>
+				</view>
+				<view class="tabBar_item" :class="{ current1: tabCurrentIndex === 1 }" @click="tabClick(1)">
+					<text class="iconfont icon-lishidingdan"></text> <view class="tabBar_name">升级中</view>
+				</view>
+				<view class="tabBar_item" :class="{ current2: tabCurrentIndex === 2 }" @click="tabClick(2)">
+					<text class="iconfont icon-shenhebutongguo"></text> <view class="tabBar_name">升级失败</view>
+				</view>
+			</view>
+		</view>
+		<!-- 筛选抽屉 -->
+		<cm-clubDrawer
+			ref="screendrawer"
+			v-if="rightDrawer"
+			:rightDrawer="rightDrawer"
+			@handSearchConfirm="handSearchConfirmData"
+		/>
+		<!-- 选择弹窗 -->
+		<cm-seller-popup
+			ref="cmresellerpopup"
+			v-if="isSellerpopup"
+			:show="isSellerpopup"
+			@handleChoiceaSeller="handleChoiceaSellerData"
+		/>
+	</view>
 </template>
 
 <script>
 import { mapState, mapMutations } from 'vuex'
 import authorize from '@/common/config/authorize.js'
 import wxLogin from '@/common/config/wxLogin.js'
-import tuiLoadmore from '@/components/tui-components/loadmore/loadmore'
-import tuiNomore from '@/components/tui-components/nomore/nomore'
-import cmClubDrawer from '../components/cm-club-drawer'
+import cmClubDrawer from './components/cm-club-drawer'
 import cmSellerPopup from '../components/cm-seller-popup'
 
 const defaultListQuery = {
-    userIdentity: 4,
-    name: '',
-    pageNum: 1,
-    pageSize: 10,
-    spId: 0,
-    status: 90,
-    type: 1,
-    groupServiceId: 0
+	userIdentity: 4,
+	name: '',
+	pageNum: 1,
+	pageSize: 10,
+	spId: 0,
+	status: 90,
+	type: 1,
+	groupServiceId: 0
 }
 export default {
-    components: {
-        tuiLoadmore,
-        tuiNomore,
-        cmClubDrawer,
-        cmSellerPopup
-    },
-    data() {
-        return {
-            listTab: [{ name: '个人机构' }, { name: '资质机构' }],
-            listItemTab: [{ name: '我的机构' }, { name: '组员机构' }, { name: '新分配机构' }],
-            listQuery: Object.assign({}, defaultListQuery),
-            isShowClose: false,
-            isEmpty: false,
-            nomoreText: '上拉显示更多',
-            pageNum: 1,
-            pageSize: 10,
-            hasNextPage: false,
-            loadding: false,
-            pullUpOn: true,
-            pullFlag: true,
-            tabCurrentNum: 0,
-            tabCurrentIndex: 0,
-            tabSmallCurrentIndex: 0,
-            clubList: [],
-            isIphoneX: this.$store.state.isIphoneX,
-            CustomBar: this.CustomBar,
-            StatusBar: this.StatusBar,
-            capsule: this.capsule,
-            show_index: 0, //控制显示那个组件
-            rightDrawer: false,
-            isSellerpopup: false,
-            salesParams: {
-                choseServiceId: 0,
-                clubId: 0,
-                spId: 0
-            },
-            isShowIndex: false,
-            currentIndex: 0
-        }
-    },
-    filters: {
-        dateConversion(val) {
-            const date = new Date(val)
-            const setZero = val => (val < 10 ? '0' + val : val)
-            return `${date.getFullYear()}-${setZero(date.getMonth() + 1)}-${setZero(date.getDate())} ${setZero(
-                date.getHours()
-            )}:${setZero(date.getMinutes())}:${setZero(date.getSeconds())}`
-        }
-    },
-    onLoad(option) {
-        if (option.type === 'wechat') {
-            this.isShowIndex = true
-        }
-        if (!this.isManage) {
-            this.listItemTab = this.listItemTab.filter((e, i) => i !== 1)
-        }
-    },
-    computed: {
-        ...mapState(['isManage'])
-    },
-    methods: {
-        async initGetStotage() {
-            // 初始化
-            const userInfo = await this.$api.getStorage()
-            this.listQuery.spId = userInfo.serviceProviderId ? userInfo.serviceProviderId : 0
-            this.salesParams.choseServiceId = userInfo.serviceProviderId ? userInfo.serviceProviderId : 0
-            this.GetSellerClubList()
-        },
-        GetSellerClubList() {
-            this.SellerService.GetSellerClubList(this.listQuery)
-                .then(response => {
-                    let data = response.data
-                    if (data.list && data.list.length > 0) {
-                        this.isEmpty = false
-                        this.hasNextPage = response.data.hasNextPage
-                        this.clubList = data.list.map((el, index) => {
-                            el.bubble = false
-                            return el
-                        })
-                        this.pullFlag = false
-                        setTimeout(() => {
-                            this.pullFlag = true
-                        }, 500)
-                        if (this.hasNextPage) {
-                            this.pullUpOn = false
-                            this.nomoreText = '上拉显示更多'
-                        } else {
-                            this.pullUpOn = true
-                            this.loadding = false
-                            this.nomoreText = '已至底部'
-                        }
-                    } else {
-                        this.isEmpty = true
-                    }
-                })
-                .catch(error => {
-                    this.$util.msg(error.msg, 2000)
-                })
-        },
-        getOnReachBottomData() {
-            this.listQuery.pageNum += 1
-            this.SellerService.GetSellerClubList(this.listQuery)
-                .then(response => {
-                    let data = response.data
-                    if (data.list && data.list.length > 0) {
-                        this.hasNextPage = response.data.hasNextPage
-                        this.clubList = this.clubList.concat(data.list)
-                        this.pullFlag = false // 防上拉暴滑
-                        setTimeout(() => {
-                            this.pullFlag = true
-                        }, 500)
-                        if (this.hasNextPage) {
-                            this.pullUpOn = false
-                            this.nomoreText = '上拉显示更多'
-                        } else {
-                            this.pullUpOn = false
-                            this.loadding = false
-                            this.nomoreText = '已至底部'
-                        }
-                    }
-                })
-                .catch(error => {
-                    this.$util.msg(error.msg, 2000)
-                })
-        },
-        userClubChoseSales(param) {
-            //分配或更换协销
-            this.SellerService.userClubChoseSales(param)
-                .then(response => {
-                    this.$util.msg('操作成功~', 2000, true, 'success')
-                    setTimeout(() => {
-                        this.GetSellerClubList()
-                    }, 1000)
-                })
-                .catch(error => {
-                    console.log('分配协销异常')
-                })
-        },
-        tabClick(index) {
-            //tab切换
-            this.tabCurrentIndex = index
-            switch (index) {
-                case 0:
-                    this.listQuery.status = 90
-                    break
-                case 1:
-                    this.listQuery.status = 1
-                    break
-                case 2:
-                    this.listQuery.status = 92
-                    break
-            }
-            this.GetSellerClubList()
-        },
-        tabCurrentClick(index) {
-            //商品详情&&供应商信息tab切换
-            this.tabCurrentNum = index
-            switch (index) {
-                case 0:
-                    this.tabCurrentIndex = 0
-                    this.listQuery.status = 90
-                    this.listQuery.pageNum = 1
-                    this.listQuery.userIdentity = 4
-                    this.GetSellerClubList()
-                    break
-                case 1:
-                    this.listQuery.pageNum = 1
-                    this.listQuery.status = 90
-                    this.listQuery.userIdentity = 2
-                    this.GetSellerClubList()
-                    break
-            }
-        },
-        tabSmallCurrentClick(index) {
-            //商品详情&&供应商信息tab切换
-            this.tabSmallCurrentIndex = index
-            switch (index) {
-                case 0:
-                    this.tabCurrentIndex = 0
-                    this.listQuery.type = 1
-                    this.listQuery.status = 90
-                    this.listQuery.pageNum = 1
-                    this.listQuery.groupServiceId = 0
-                    this.GetSellerClubList()
-                    break
-                case 1:
-                    this.listQuery.type = this.isManage ? 2 : 6
-                    this.listQuery.status = 90
-                    this.listQuery.pageNum = 1
-                    this.listQuery.groupServiceId = 0
-                    this.GetSellerClubList()
-                    break
-                case 2:
-                    this.listQuery.type = 6
-                    this.listQuery.status = 90
-                    this.listQuery.pageNum = 1
-                    this.listQuery.groupServiceId = 0
-                    this.GetSellerClubList()
-                    break
-            }
-        },
-        handSearchConfirmData(data) {
-            console.log('确定筛选', data)
-            //确定筛选
-            this.listQuery.groupServiceId = data.serviceProviderId
-            this.GetSellerClubList()
-        },
-        handleChoiceaSellerData(data) {
-            // 确定搜索
-            this.salesParams.spId = data.serviceProviderId
-            this.userClubChoseSales(this.salesParams)
-        },
-        showRightDrawer() {
-            //显示筛选抽屉
-            this.rightDrawer = true
-        },
-        // 按钮操作
-        handleClickOper(type, club) {
-            /**
-             * 1:机构画像 2:填写咨询记录 3:商城访问记录 4:修改资料 5:更换协销
-             * */
+	components: {
+		cmClubDrawer,
+		cmSellerPopup
+	},
+	data() {
+		return {
+			listTab: [{ name: '个人机构' }, { name: '资质机构' }],
+			listItemTab: [{ name: '我的机构' }, { name: '组员机构' }, { name: '新分配机构' }],
+			listQuery: Object.assign({}, defaultListQuery),
+			isShowClose: false,
+			isEmpty: false,
+			nomoreText: '上拉显示更多',
+			pageNum: 1,
+			pageSize: 10,
+			hasNextPage: false,
+			loadding: false,
+			pullUpOn: true,
+			pullFlag: true,
+			tabCurrentNum: 0,
+			tabCurrentIndex: 0,
+			tabSmallCurrentIndex: 0,
+			clubList: [],
+			isIphoneX: this.$store.state.isIphoneX,
+			CustomBar: this.CustomBar,
+			StatusBar: this.StatusBar,
+			capsule: this.capsule,
+			show_index: 0, //控制显示那个组件
+			rightDrawer: false,
+			isSellerpopup: false,
+			salesParams: {
+				choseServiceId: 0,
+				clubId: 0,
+				spId: 0
+			},
+			isShowIndex: false,
+			currentIndex: 0
+		}
+	},
+	filters: {
+		dateConversion(val) {
+			const date = new Date(val)
+			const setZero = val => (val < 10 ? '0' + val : val)
+			return `${date.getFullYear()}-${setZero(date.getMonth() + 1)}-${setZero(date.getDate())} ${setZero(
+				date.getHours()
+			)}:${setZero(date.getMinutes())}:${setZero(date.getSeconds())}`
+		}
+	},
+	onLoad(option) {
+		if (option.type === 'wechat') {
+			this.isShowIndex = true
+		}
+		if (!this.isManage) {
+			this.listItemTab = this.listItemTab.filter((e, i) => i !== 1)
+		}
+	},
+	computed: {
+		...mapState(['isManage'])
+	},
+	methods: {
+		async initGetStotage() {
+			// 初始化
+			const userInfo = await this.$api.getStorage()
+			this.listQuery.spId = userInfo.serviceProviderId ? userInfo.serviceProviderId : 0
+			this.salesParams.choseServiceId = userInfo.serviceProviderId ? userInfo.serviceProviderId : 0
+			this.GetSellerClubList()
+		},
+		GetSellerClubList() {
+			this.SellerService.GetSellerClubList(this.listQuery)
+				.then(response => {
+					let data = response.data
+					if (data.list && data.list.length > 0) {
+						this.isEmpty = false
+						this.hasNextPage = response.data.hasNextPage
+						this.clubList = data.list.map((el, index) => {
+							el.bubble = false
+							return el
+						})
+						this.pullFlag = false
+						setTimeout(() => {
+							this.pullFlag = true
+						}, 500)
+						if (this.hasNextPage) {
+							this.pullUpOn = false
+							this.nomoreText = '上拉显示更多'
+						} else {
+							this.pullUpOn = true
+							this.loadding = false
+							this.nomoreText = '已至底部'
+						}
+					} else {
+						this.isEmpty = true
+					}
+				})
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
+				})
+		},
+		getOnReachBottomData() {
+			this.listQuery.pageNum += 1
+			this.SellerService.GetSellerClubList(this.listQuery)
+				.then(response => {
+					let data = response.data
+					if (data.list && data.list.length > 0) {
+						this.hasNextPage = response.data.hasNextPage
+						this.clubList = this.clubList.concat(data.list)
+						this.pullFlag = false // 防上拉暴滑
+						setTimeout(() => {
+							this.pullFlag = true
+						}, 500)
+						if (this.hasNextPage) {
+							this.pullUpOn = false
+							this.nomoreText = '上拉显示更多'
+						} else {
+							this.pullUpOn = false
+							this.loadding = false
+							this.nomoreText = '已至底部'
+						}
+					}
+				})
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
+				})
+		},
+		userClubChoseSales(param) {
+			//分配或更换协销
+			this.SellerService.userClubChoseSales(param)
+				.then(response => {
+					this.$util.msg('操作成功~', 2000, true, 'success')
+					setTimeout(() => {
+						this.GetSellerClubList()
+					}, 1000)
+				})
+				.catch(error => {
+					console.log('分配协销异常')
+				})
+		},
+		tabClick(index) {
+			//tab切换
+			this.tabCurrentIndex = index
+			switch (index) {
+				case 0:
+					this.listQuery.status = 90
+					break
+				case 1:
+					this.listQuery.status = 1
+					break
+				case 2:
+					this.listQuery.status = 92
+					break
+			}
+			this.GetSellerClubList()
+		},
+		tabCurrentClick(index) {
+			//商品详情&&供应商信息tab切换
+			this.tabCurrentNum = index
+			switch (index) {
+				case 0:
+					this.tabCurrentIndex = 0
+					this.listQuery.status = 90
+					this.listQuery.pageNum = 1
+					this.listQuery.userIdentity = 4
+					this.GetSellerClubList()
+					break
+				case 1:
+					this.listQuery.pageNum = 1
+					this.listQuery.status = 90
+					this.listQuery.userIdentity = 2
+					this.GetSellerClubList()
+					break
+			}
+		},
+		tabSmallCurrentClick(index) {
+			//商品详情&&供应商信息tab切换
+			this.tabSmallCurrentIndex = index
+			switch (index) {
+				case 0:
+					this.tabCurrentIndex = 0
+					this.listQuery.type = 1
+					this.listQuery.status = 90
+					this.listQuery.pageNum = 1
+					this.listQuery.groupServiceId = 0
+					this.GetSellerClubList()
+					break
+				case 1:
+					this.listQuery.type = this.isManage ? 2 : 6
+					this.listQuery.status = 90
+					this.listQuery.pageNum = 1
+					this.listQuery.groupServiceId = 0
+					this.GetSellerClubList()
+					break
+				case 2:
+					this.listQuery.type = 6
+					this.listQuery.status = 90
+					this.listQuery.pageNum = 1
+					this.listQuery.groupServiceId = 0
+					this.GetSellerClubList()
+					break
+			}
+		},
+		handSearchConfirmData(data) {
+			console.log('确定筛选', data)
+			//确定筛选
+			this.listQuery = {...this.listQuery , ...data}
+			this.listQuery.pageNum = 1
+			this.GetSellerClubList()
+		},
+		handleChoiceaSellerData(data) {
+			// 确定搜索
+			this.salesParams.spId = data.serviceProviderId
+			this.userClubChoseSales(this.salesParams)
+		},
+		showRightDrawer() {
+			//显示筛选抽屉
+			this.rightDrawer = true
+		},
+		// 按钮操作
+		handleClickOper(type, club) {
+			/**
+			 * 1:机构画像 2:填写咨询记录 3:商城访问记录 4:修改资料 5:更换协销
+			 * */
 
-            console.log('type', type)
-            switch (type) {
-                case 1:
-                    this.$api.navigateTo(`/pages/seller/club/club-portrait?userId=${club.userId}`)
-                    break
-                case 2:
-                    this.$api.navigateTo(`/pages/seller/remarks/add?userId=${club.userId}`)
-                    break
-                case 3:
-                    this.$api.navigateTo(`/pages/seller/club/club-info?clubId=${club.clubId}`)
-                    break
-                case 4:
-                    this.handleReturnPath(club)
-                    break
-                case 5:
-                    this.handleReplaceClub(club)
-                    break
-            }
-        },
-        handleReplaceClub(club) {
-            //更换协销
-            this.salesParams.clubId = club.clubId
-            this.isSellerpopup = true
-        },
-        handleReturnPath(club) {
-            //修改机构资料
-            const tabMap = {
-                0: `/pages/seller/login/apply?userID=${club.userId}`,
-                1: `/pages/seller/login/information?userID=${club.userId}`
-            }
-            this.$api.navigateTo(tabMap[this.tabCurrentNum])
-        },
-        handleOrderHistory(club) {
-            //跳转机构历史订单
-            this.$api.setStorage('orderUserInfo', club)
-            if (this.tabSmallCurrentIndex === 1 || this.tabSmallCurrentIndex === 2) {
-                // 查看组员机构历史订单
-                this.$api.navigateTo(
-                    `/pages/seller/order/order-historylist?clubId=${club.clubId}&listType=0&authType=${
-                        this.tabSmallCurrentIndex
-                    }`
-                )
-            } else {
-                this.$api.navigateTo(`/pages/seller/order/order-historylist?clubId=${club.clubId}&listType=0`)
-            }
-        },
+			console.log('type', type)
+			switch (type) {
+				case 1:
+					this.$api.navigateTo(`/pages/seller/club/club-portrait?userId=${club.userId}`)
+					break
+				case 2:
+					this.$api.navigateTo(`/pages/seller/remarks/add?userId=${club.userId}`)
+					break
+				case 3:
+					this.$api.navigateTo(`/pages/seller/club/club-visit?clubId=${club.clubId}`)
+					break
+				case 4:
+					this.handleReturnPath(club)
+					break
+				case 5:
+					this.handleReplaceClub(club)
+					break
+			}
+		},
+		handleReplaceClub(club) {
+			//更换协销
+			this.salesParams.clubId = club.clubId
+			this.isSellerpopup = true
+		},
+		handleReturnPath(club) {
+			//修改机构资料
+			const tabMap = {
+				0: `/pages/seller/login/apply?userID=${club.userId}`,
+				1: `/pages/seller/login/information?userID=${club.userId}`
+			}
+			this.$api.navigateTo(tabMap[this.tabCurrentNum])
+		},
+		handleOrderHistory(club) {
+			//跳转机构历史订单
+			this.$api.setStorage('orderUserInfo', club)
+			if (this.tabSmallCurrentIndex === 1 || this.tabSmallCurrentIndex === 2) {
+				// 查看组员机构历史订单
+				this.$api.navigateTo(
+					`/pages/seller/order/order-historylist?clubId=${club.clubId}&listType=0&authType=${
+						this.tabSmallCurrentIndex
+					}`
+				)
+			} else {
+				this.$api.navigateTo(`/pages/seller/order/order-historylist?clubId=${club.clubId}&listType=0`)
+			}
+		},
 		// 拨打电话
-		handlePhone(phoneNumber){
+		handlePhone(phoneNumber) {
 			uni.makePhoneCall({
 				phoneNumber: phoneNumber //拨打电话
-			});
+			})
+		},
+		onShowClose() {
+			//输入框失去焦点时触发
+			if (this.listQuery.name != '') {
+				this.isShowClose = true
+			} else {
+				this.isShowClose = false
+			}
+		},
+		delInputText() {
+			//清除输入框内容
+			this.listQuery.name = ''
+			this.isShowClose = false
+		},
+		showBadge(n) {
+			let num = ''
+			if (n > 100) {
+				num = 99
+			} else {
+				num = n
+			}
+			return num
+		},
+		handleNavigateBack() {
+			this.$api.navigateBack(1)
+		},
+		handleNavigateIndex() {
+			this.$api.navigateTo('/pages/seller/index/index')
 		},
-        onShowClose() {
-            //输入框失去焦点时触发
-            if (this.listQuery.name != '') {
-                this.isShowClose = true
-            } else {
-                this.isShowClose = false
-            }
-        },
-        delInputText() {
-            //清除输入框内容
-            this.listQuery.name = ''
-            this.isShowClose = false
-        },
-        showBadge(n) {
-            let num = ''
-            if (n > 100) {
-                num = 99
-            } else {
-                num = n
-            }
-            return num
-        },
-        handleNavigateBack() {
-            this.$api.navigateBack(1)
-        },
-        handleNavigateIndex() {
-            this.$api.navigateTo('/pages/seller/index/index')
-        },
-        handleShowBubble(club, index) {
-            this.currentIndex = index
-            club.bubble = !club.bubble
-        }
-    },
-    onReachBottom() {
-        if (this.hasNextPage) {
-            this.loadding = true
-            this.pullUpOn = true
-            this.getOnReachBottomData()
-        }
-    },
-    onShow() {
-        wxLogin.wxLoginAuthorize()
-        this.initGetStotage()
-    }
+		handleShowBubble(club, index) {
+			this.currentIndex = index
+			club.bubble = !club.bubble
+		}
+	},
+	onReachBottom() {
+		if (this.hasNextPage) {
+			this.loadding = true
+			this.pullUpOn = true
+			this.getOnReachBottomData()
+		}
+	},
+	onShow() {
+		wxLogin.wxLoginAuthorize()
+		this.initGetStotage()
+	}
 }
 </script>
 
 <style lang="scss">
 page {
-    height: auto;
+	height: auto;
 }
 page,
 .container {
-    /* padding-bottom: 120upx; */
-    background: #f7f7f7;
+	/* padding-bottom: 120upx; */
+	background: #f7f7f7;
 }
 .container {
-    position: relative;
+	position: relative;
 }
 .club-search {
-    height: auto;
-    width: 100%;
-    background: #ffffff;
-    display: flex;
-    flex-direction: column;
-    position: fixed;
-    top: 0;
-    left: 0;
-    z-index: 99;
-    .search-top {
-        flex: 1;
-        display: flex;
-        align-items: center;
-        box-sizing: border-box;
-        position: relative;
-        .title {
-            position: absolute;
-            left: 50%;
-            top: 50%;
-            transform: translate(-50%, -50%);
-        }
-        .search-icon {
-            text-align: center;
-            float: left;
-            .icon-fanhui {
-                font-size: 44rpx;
-                color: #333333;
-            }
-            .icon-shouye {
-                font-size: 44rpx;
-                color: #333333;
-            }
-        }
-    }
-    .search-from {
-        background: #f7f7f7;
-        position: relative;
-        width: 604rpx;
-        margin: 50rpx 20rpx 40rpx 24rpx;
-        .input {
-            width: 300rpx;
-            height: 100%;
-            float: left;
-            color: $text-color;
-            font-size: $font-size-24;
-        }
-        .icon-iconfonticonfontsousuo1 {
-            text-align: center;
-            display: block;
-            font-size: $font-size-38;
-            float: left;
-            color: #999999;
-        }
-        .icon-shanchu1 {
-            font-size: $font-size-32;
-            color: #999999;
-            position: absolute;
-            width: 64rpx;
-            height: 64rpx;
-            line-height: 64rpx;
-            text-align: center;
-            top: 0;
-            right: 0;
-            z-index: 10;
-        }
-    }
-    .search-btn {
-        text-align: center;
-        font-size: $font-size-28;
-        color: $color-system;
-        float: left;
-        background: #ffffff;
-        .icon-shaixuan {
-            font-size: 44rpx;
-            color: #333333;
-        }
-    }
-    .search-tab {
-        height: 80rpx;
-        display: flex;
-        flex: 1;
-        background: #ffffff;
-        border-bottom: 1px solid #efefef;
-        .tab-item {
-            flex: 1;
-            line-height: 80rpx;
-            text-align: center;
-            color: $text-color;
-            font-size: $font-size-28;
-            position: relative;
-            .item-text {
-                padding: 10rpx 0;
-                border-bottom: 2px solid #ffffff;
-            }
-            &:nth-child(1)::before {
-                content: '';
-                width: 2px;
-                height: 50rpx;
-                position: absolute;
-                right: 0;
-                top: 15rpx;
-                background: #ebebeb;
-            }
-            &.current {
-                color: $color-system;
-                .item-text {
-                    border-color: $color-system;
-                }
-            }
-        }
-    }
-    .search-smalltab {
-        width: 100%;
-        height: 104rpx;
-        background: #ffffff;
-        box-sizing: border-box;
-        padding: 20rpx 24rpx;
-        .tab-item {
-            width: 168rpx;
-            height: 64rpx;
-            line-height: 64rpx;
-            text-align: center;
-            color: $text-color;
-            font-size: $font-size-28;
-            float: left;
-            border-radius: 32rpx;
-            border: 1px solid #b2b2b2;
-            margin-right: 32rpx;
-            &.current {
-                color: #ff5b00;
-                border: 1px solid #ff5b00;
-            }
-        }
-    }
+	height: auto;
+	width: 100%;
+	background: #ffffff;
+	display: flex;
+	flex-direction: column;
+	position: fixed;
+	top: 0;
+	left: 0;
+	z-index: 99;
+	.search-top {
+		flex: 1;
+		display: flex;
+		align-items: center;
+		box-sizing: border-box;
+		position: relative;
+		.title {
+			position: absolute;
+			left: 50%;
+			top: 50%;
+			transform: translate(-50%, -50%);
+		}
+		.search-icon {
+			text-align: center;
+			float: left;
+			.icon-fanhui {
+				font-size: 44rpx;
+				color: #333333;
+			}
+			.icon-shouye {
+				font-size: 44rpx;
+				color: #333333;
+			}
+		}
+	}
+	.search-from {
+		background: #f7f7f7;
+		position: relative;
+		width: 604rpx;
+		margin: 50rpx 20rpx 40rpx 24rpx;
+		.input {
+			width: 300rpx;
+			height: 100%;
+			float: left;
+			color: $text-color;
+			font-size: $font-size-24;
+		}
+		.icon-iconfonticonfontsousuo1 {
+			text-align: center;
+			display: block;
+			font-size: $font-size-38;
+			float: left;
+			color: #999999;
+		}
+		.icon-shanchu1 {
+			font-size: $font-size-32;
+			color: #999999;
+			position: absolute;
+			width: 64rpx;
+			height: 64rpx;
+			line-height: 64rpx;
+			text-align: center;
+			top: 0;
+			right: 0;
+			z-index: 10;
+		}
+	}
+	.search-btn {
+		text-align: center;
+		font-size: $font-size-28;
+		color: $color-system;
+		float: left;
+		background: #ffffff;
+		.icon-shaixuan {
+			font-size: 44rpx;
+			color: #333333;
+		}
+	}
+	.search-tab {
+		height: 80rpx;
+		display: flex;
+		flex: 1;
+		background: #ffffff;
+		border-bottom: 1px solid #efefef;
+		.tab-item {
+			flex: 1;
+			line-height: 80rpx;
+			text-align: center;
+			color: $text-color;
+			font-size: $font-size-28;
+			position: relative;
+			.item-text {
+				padding: 10rpx 0;
+				border-bottom: 2px solid #ffffff;
+			}
+			&:nth-child(1)::before {
+				content: '';
+				width: 2px;
+				height: 50rpx;
+				position: absolute;
+				right: 0;
+				top: 15rpx;
+				background: #ebebeb;
+			}
+			&.current {
+				color: $color-system;
+				.item-text {
+					border-color: $color-system;
+				}
+			}
+		}
+	}
+	.search-smalltab {
+		width: 100%;
+		height: 104rpx;
+		background: #ffffff;
+		box-sizing: border-box;
+		padding: 20rpx 24rpx;
+		.tab-item {
+			width: 168rpx;
+			height: 64rpx;
+			line-height: 64rpx;
+			text-align: center;
+			color: $text-color;
+			font-size: $font-size-28;
+			float: left;
+			border-radius: 32rpx;
+			border: 1px solid #b2b2b2;
+			margin-right: 32rpx;
+			&.current {
+				color: #ff5b00;
+				border: 1px solid #ff5b00;
+			}
+		}
+	}
 }
 .club-main {
-    .list {
-        width: 100%;
-        height: 320rpx;
-        padding: 24rpx;
-        box-sizing: border-box;
-        background: #ffffff;
-        position: relative;
-        border-bottom: 1px solid #ebebeb;
-        .list-cell-top {
-            width: 100%;
-            height: 140rpx;
-            box-sizing: border-box;
-            .list-logo {
-                width: 140rpx;
-                height: 140rpx;
-                float: left;
-                position: relative;
-                image {
-                    width: 140rpx;
-                    height: 140rpx;
-                    border-radius: 8rpx;
-                }
-                .list-id {
-                    display: inline-block;
-                    width: 100%;
-                    height: 32rpx;
-                    line-height: 32rpx;
-                    background: rgba(0, 0, 0, 0.1);
-                    color: #333;
-                    position: absolute;
-                    top: 0;
-                    left: 0;
-                    box-sizing: border-box;
-                    text-align: left;
-                    font-size: 20rpx;
-                    padding-left: 4rpx;
-                    border-radius: 8rpx 8rpx 0 0;
-                }
-            }
-            .list-content {
-                width: 530rpx;
-                height: 190rpx;
-                float: left;
-                padding-left: 30rpx;
-                .list-name {
-                    width: 100%;
-                    height: 50rpx;
-                    float: left;
-                    line-height: 50rpx;
-                    text-align: left;
-                    font-size: $font-size-26;
-                    color: #333333;
-                    .tags {
-                        display: inline-block;
-                        height: 36rpx;
-                        box-sizing: border-box;
-                        padding: 0 15rpx;
-                        border-radius: 8rpx;
-                        background: #f0cb72;
-                        font-size: $font-size-22;
-                        color: #4e4539;
-                        text-align: center;
-                        line-height: 36rpx;
-                        margin-left: 20rpx;
-                        margin-top: 7rpx;
-                        &.sv {
-                            background: #333333;
-                            color: #f0cb72;
-                        }
-                        &.xf {
-                            background-color: #f94b4b;
-                            color: #ffffff;
-                        }
-                    }
-                }
-                .list-tags {
-                    width: 100%;
-                    height: 36rpx;
-                    float: left;
-                    line-height: 36rpx;
-                    margin: 7rpx 0;
-                    .tags {
-                        display: inline-block;
-                        height: 36rpx;
-                        box-sizing: border-box;
-                        padding: 0 8rpx 0 15rpx;
-                        border-radius: 8rpx;
-                        background: #faede5;
-                        font-size: $font-size-22;
-                        color: $color-system;
-                        text-align: center;
-                        line-height: 36rpx;
-                        margin-right: 16rpx;
-                        .icon-xiayibu {
-                            font-size: 20rpx;
-                            margin-left: 10rpx;
-                        }
-                    }
-                    .tags-or {
-                        display: inline-block;
-                        height: 36rpx;
-                        box-sizing: border-box;
-                        font-size: $font-size-22;
-                        color: #1890f9;
-                        text-align: center;
-                        line-height: 36rpx;
-                        position: relative;
-                        .opea-badge {
-                            position: absolute;
-                            right: -30rpx;
-                            top: -15rpx;
-                        }
-                        .icon-xiayibu {
-                            font-size: 22rpx;
-                            color: #1890f9;
-                        }
-                    }
-                }
-                .list-ntel {
-                    width: 100%;
-                    height: 50rpx;
-                    float: left;
-                    line-height: 50rpx;
-                    text-align: left;
-                    font-size: $font-size-24;
-                    color: #666666;
-                    .list-link {
-                        display: inline-block;
-                        float: left;
-                        margin-right: 12rpx;
-                    }
-                    .list-texl {
-                        display: inline-block;
-                        float: left;
+	.list {
+		width: 100%;
+		height: 320rpx;
+		padding: 24rpx;
+		box-sizing: border-box;
+		background: #ffffff;
+		position: relative;
+		border-bottom: 1px solid #ebebeb;
+		.list-cell-top {
+			width: 100%;
+			height: 140rpx;
+			box-sizing: border-box;
+			.list-logo {
+				width: 140rpx;
+				height: 140rpx;
+				float: left;
+				position: relative;
+				image {
+					width: 140rpx;
+					height: 140rpx;
+					border-radius: 8rpx;
+				}
+				.list-id {
+					display: inline-block;
+					width: 100%;
+					height: 32rpx;
+					line-height: 32rpx;
+					background: rgba(0, 0, 0, 0.1);
+					color: #333;
+					position: absolute;
+					top: 0;
+					left: 0;
+					box-sizing: border-box;
+					text-align: left;
+					font-size: 20rpx;
+					padding-left: 4rpx;
+					border-radius: 8rpx 8rpx 0 0;
+				}
+			}
+			.list-content {
+				width: 560rpx;
+				height: 190rpx;
+				float: left;
+				padding-left: 20rpx;
+				box-sizing: border-box;
+				.list-name {
+					width: 100%;
+					height: 50rpx;
+					float: left;
+					line-height: 50rpx;
+					text-align: left;
+					font-size: $font-size-26;
+					color: #333333;
+					.tags {
+						display: inline-block;
+						height: 36rpx;
+						box-sizing: border-box;
+						padding: 0 15rpx;
+						border-radius: 8rpx;
+						background: #f0cb72;
+						font-size: $font-size-22;
+						color: #4e4539;
+						text-align: center;
+						line-height: 36rpx;
+						margin-left: 20rpx;
+						margin-top: 7rpx;
+						&.sv {
+							background: #333333;
+							color: #f0cb72;
+						}
+						&.xf {
+							background-color: #f94b4b;
+							color: #ffffff;
+						}
+					}
+				}
+				.list-tags {
+					width: 100%;
+					height: 36rpx;
+					float: left;
+					line-height: 36rpx;
+					margin: 7rpx 0;
+					.tags {
+						display: inline-block;
+						height: 36rpx;
+						box-sizing: border-box;
+						padding: 0 8rpx 0 15rpx;
+						border-radius: 8rpx;
+						background: #faede5;
+						font-size: $font-size-22;
+						color: $color-system;
+						text-align: center;
+						line-height: 36rpx;
+						margin-right: 16rpx;
+						.icon-xiayibu {
+							font-size: 20rpx;
+							margin-left: 10rpx;
+						}
+					}
+					.tags-or {
+						display: inline-block;
+						height: 36rpx;
+						box-sizing: border-box;
+						font-size: $font-size-22;
+						color: #1890f9;
+						text-align: center;
+						line-height: 36rpx;
+						position: relative;
+						.opea-badge {
+							position: absolute;
+							right: -30rpx;
+							top: -15rpx;
+						}
+						.icon-xiayibu {
+							font-size: 22rpx;
+							color: #1890f9;
+						}
+					}
+				}
+				.list-ntel {
+					width: 100%;
+					height: 50rpx;
+					float: left;
+					line-height: 50rpx;
+					text-align: left;
+					font-size: $font-size-24;
+					color: #666666;
+					.list-link {
+						display: inline-block;
+						float: left;
+						margin-right: 12rpx;
+					}
+					.list-texl {
+						display: inline-block;
+						float: left;
 						text-decoration: underline;
-                    }
-                }
-            }
-        }
-        .club-list-bot {
-            width: 100%;
-            height: 80rpx;
-            float: left;
-            background-color: #f7f7f7;
-            border-radius: 8rpx;
-            margin-top: 20rpx;
-            .btn {
-                height: 80rpx;
-                box-sizing: border-box;
-                line-height: 80rpx;
-                padding: 0 20rpx;
-                font-size: $font-size-24;
-                color: #333333;
-                text-align: center;
-                float: left;
-                position: relative;
+					}
+				}
+			}
+		}
+		.club-list-bot {
+			width: 100%;
+			height: 80rpx;
+			float: left;
+			background-color: #f7f7f7;
+			border-radius: 8rpx;
+			margin-top: 20rpx;
+			.btn {
+				height: 80rpx;
+				box-sizing: border-box;
+				line-height: 80rpx;
+				padding: 0 20rpx;
+				font-size: $font-size-24;
+				color: #333333;
+				text-align: center;
+				float: left;
+				position: relative;
 
-                &:nth-child(1) {
-                    &:before {
-                        content: '';
-                        width: 1px;
-                        height: 20rpx;
-                        background-color: #b2b2b2;
-                        position: absolute;
-                        right: 0;
-                        top: 30rpx;
-                    }
-                }
-                &:nth-child(2) {
-                    &:before {
-                        content: '';
-                        width: 1px;
-                        height: 20rpx;
-                        background-color: #b2b2b2;
-                        position: absolute;
-                        right: 0;
-                        top: 30rpx;
-                    }
-                }
-                &:nth-child(3) {
-                    &:before {
-                        content: '';
-                        width: 1px;
-                        height: 20rpx;
-                        background-color: #b2b2b2;
-                        position: absolute;
-                        right: 0;
-                        top: 30rpx;
-                    }
-                }
-                &:last-child {
-                    padding: 0 28rpx;
-                    .iconfont {
-                        font-weight: bold;
-                    }
-                    .btn-bubble {
-                        width: 200rpx;
-                        height: 160rpx;
-                        background: rgba(51, 51, 51, 0.8);
-                        position: absolute;
-                        top: -154rpx;
-                        right: 0;
-                        border-radius: 8rpx;
-                        &:before {
-                            content: '';
-                            width: 0;
-                            height: 0;
-                            border: 15rpx solid transparent;
-                            border-top: 15rpx solid rgba(51, 51, 51, 0.8);
-                            position: absolute;
-                            bottom: -26rpx;
-                            right: 35rpx;
-                        }
-                        .btn-view {
-                            width: 100%;
-                            height: 80rpx;
-                            box-sizing: border-box;
-                            line-height: 80rpx;
-                            font-size: $font-size-24;
-                            color: #ffffff;
-                            text-align: center;
-                            float: left;
-                            .iconfont {
-                                font-size: 28rpx;
-                                color: #ffffff;
-                                margin-right: 5rpx;
-                                font-weight: normal;
-                            }
-                            &.border {
-                                border-bottom: 1px solid rgba(255, 255, 255, 0.3);
-                            }
-                        }
-                    }
-                }
-                &.none {
-                    &::before {
-                        background-color: #f7f7f7 !important;
-                    }
-                }
-                .iconfont {
-                    font-size: 30rpx;
-                    color: #333333;
-                    margin-right: 5rpx;
-                }
-            }
-        }
-    }
+				&:nth-child(1) {
+					&:before {
+						content: '';
+						width: 1px;
+						height: 20rpx;
+						background-color: #b2b2b2;
+						position: absolute;
+						right: 0;
+						top: 30rpx;
+					}
+				}
+				&:nth-child(2) {
+					&:before {
+						content: '';
+						width: 1px;
+						height: 20rpx;
+						background-color: #b2b2b2;
+						position: absolute;
+						right: 0;
+						top: 30rpx;
+					}
+				}
+				&:nth-child(3) {
+					&:before {
+						content: '';
+						width: 1px;
+						height: 20rpx;
+						background-color: #b2b2b2;
+						position: absolute;
+						right: 0;
+						top: 30rpx;
+					}
+				}
+				&:last-child {
+					padding: 0 28rpx;
+					.iconfont {
+						font-weight: bold;
+					}
+					.btn-bubble {
+						width: 200rpx;
+						height: 160rpx;
+						background: rgba(51, 51, 51, 0.8);
+						position: absolute;
+						top: -154rpx;
+						right: 0;
+						border-radius: 8rpx;
+						&:before {
+							content: '';
+							width: 0;
+							height: 0;
+							border: 15rpx solid transparent;
+							border-top: 15rpx solid rgba(51, 51, 51, 0.8);
+							position: absolute;
+							bottom: -26rpx;
+							right: 35rpx;
+						}
+						.btn-view {
+							width: 100%;
+							height: 80rpx;
+							box-sizing: border-box;
+							line-height: 80rpx;
+							font-size: $font-size-24;
+							color: #ffffff;
+							text-align: center;
+							float: left;
+							.iconfont {
+								font-size: 28rpx;
+								color: #ffffff;
+								margin-right: 5rpx;
+								font-weight: normal;
+							}
+							&.border {
+								border-bottom: 1px solid rgba(255, 255, 255, 0.3);
+							}
+						}
+					}
+				}
+				&.none {
+					&::before {
+						background-color: #f7f7f7 !important;
+					}
+				}
+				.iconfont {
+					font-size: 30rpx;
+					color: #333333;
+					margin-right: 5rpx;
+				}
+			}
+		}
+	}
 }
 .tabBar {
-    width: 100%;
-    height: 98rpx;
-    background: #fff;
-    border-top: 1px solid #e5e5e5;
-    position: fixed;
-    bottom: 0px;
-    left: 0px;
-    right: 0px;
-    z-index: 99;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    .tabBar_list {
-        width: 86%;
-        display: flex;
-        justify-content: space-between;
-        .tabBar_item {
-            width: 120rpx;
-            display: flex;
-            justify-content: center;
-            align-items: center;
-            flex-direction: column;
-            font-size: 20rpx;
-            color: #999999;
-            &.current {
-                color: #166ce1;
-                .iconfont {
-                    color: #166ce1;
-                }
-            }
-            &.current1 {
-                color: #16e15c;
-                .iconfont {
-                    color: #16e15c;
-                }
-            }
-            &.current2 {
-                color: #ff0000;
-                .iconfont {
-                    color: #ff0000;
-                }
-            }
-            .iconfont {
-                width: 48rpx;
-                height: 48rpx;
-                display: block;
-                margin-bottom: 2rpx;
-                text-align: center;
-                font-size: 46rpx;
-                color: #999999;
-            }
-        }
-    }
+	width: 100%;
+	height: 98rpx;
+	background: #fff;
+	border-top: 1px solid #e5e5e5;
+	position: fixed;
+	bottom: 0px;
+	left: 0px;
+	right: 0px;
+	z-index: 99;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	.tabBar_list {
+		width: 86%;
+		display: flex;
+		justify-content: space-between;
+		.tabBar_item {
+			width: 120rpx;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			flex-direction: column;
+			font-size: 20rpx;
+			color: #999999;
+			&.current {
+				color: #166ce1;
+				.iconfont {
+					color: #166ce1;
+				}
+			}
+			&.current1 {
+				color: #16e15c;
+				.iconfont {
+					color: #16e15c;
+				}
+			}
+			&.current2 {
+				color: #ff0000;
+				.iconfont {
+					color: #ff0000;
+				}
+			}
+			.iconfont {
+				width: 48rpx;
+				height: 48rpx;
+				display: block;
+				margin-bottom: 2rpx;
+				text-align: center;
+				font-size: 46rpx;
+				color: #999999;
+			}
+		}
+	}
 }
 .nav_active {
-    color: $color-system;
+	color: $color-system;
 }
 </style>

+ 5 - 2
pages/seller/remarks/mixins/addMixins.js

@@ -33,13 +33,16 @@ const addMixins = {
             ],
             sourceStateText: '', // 客户来源
             sourceActions: [
-                { name: '网站', value: 0 },
+                { name: '搜素引擎', value: 0 },
                 { name: '小程序', value: 1 },
                 { name: '公众号', value: 2 },
                 { name: '小红书', value: 3 },
                 { name: '微博', value: 4 },
                 { name: '搜狐', value: 5 },
-                { name: '其他', value: 6 }
+                { name: '抖音', value: 7 },
+                { name: '视频号', value: 8 },
+                { name: '朋友推荐', value: 9 },
+                { name: '其他', value: 6}
             ],
             genderText: '', // 客户性别
             genderActions: [

+ 1 - 1
services/config.env.js

@@ -11,5 +11,5 @@ if(process.env.NODE_ENV === 'development'){
     // 生产环境
     // URL_CONFIG = 'https://core-b.caimei365.com'
     URL_CONFIG = 'https://core.caimei365.com'
-}
+} 
 export default URL_CONFIG

+ 14 - 1
services/sellse.service.js

@@ -80,6 +80,19 @@ export default class SellerService {
               
         })
     }
+    /**
+	 *@不活跃协销机构列表
+	 *@param pageNum  页码
+	 *@param pageSize 条数
+	 *@param serviceProviderId 	  协销ID
+	 */
+    getUnActiveClubList (data = {}) {
+        return this.AjaxService.get({ 
+            url:'/user/seller/getUnActiveClubList', 
+            data, 
+            isLoading: false ,
+        })
+    }
     /**
      *@协销机构列表
      *@param serviceProviderId 协销ID
@@ -379,7 +392,7 @@ export default class SellerService {
 	           
 	    })
     }
-	/**
+    /**
      * 协销分享海报
      */
     wxUnlimited (data = {}) {

+ 1 - 0
utils/cmSrsMixins.js

@@ -56,6 +56,7 @@ const cmSrsMixins = {
             if (userSync.userIdentity === 1) return
             // 参数设置
             sysParams.userId = userSync.userId ? userSync.userId : 0
+            sysParams.openId = userSync.openId ? userSync.openId : ''
             sysParams.pagePath = route.fullPath
             sysParams.pageType = pageData ? pageData.pageType : ''
             sysParams.behaviorType = uni.getStorageSync('behaviorType') ? uni.getStorageSync('behaviorType') : 1

+ 1 - 0
utils/residence.js

@@ -82,6 +82,7 @@ const setingSysParams = async (current) => {
     }
     // 参数设置
     sysParams.userId = userSync.userId ? userSync.userId : 0
+    sysParams.openId = userSync.openId ? userSync.openId : ''
     sysParams.pagePath = current.fullPath
     sysParams.pageType = pageData ? pageData.pageType : ''
     sysParams.behaviorType = uni.getStorageSync('behaviorType') ? uni.getStorageSync('behaviorType') : 1