zhengjinyi преди 5 години
родител
ревизия
c0d98a9384

+ 3 - 2
common/config/config.js

@@ -1,10 +1,11 @@
 let URL_CONFIG = ""
 if(process.env.NODE_ENV === 'development'){
     // 开发环境
-	 // URL_CONFIG = 'http://192.168.1.24:8008'	 //俊俊联调地址
+	// URL_CONFIG = 'http://192.168.1.24:8008'	 //俊俊联调地址
 	// URL_CONFIG = 'http://192.168.1.22:8008'	 //裴裴联调地址
 	// URL_CONFIG = 'http://192.168.1.26:8008'	 //超超联调地址
-    URL_CONFIG = 'https://spi-b.caimei365.com'//采美测试地址
+    // URL_CONFIG = 'https://spi-b.caimei365.com'	 //采美测试地址
+	URL_CONFIG = 'https://spi.caimei365.com'
 }else{
     // 生产环境
     URL_CONFIG = 'https://spi.caimei365.com'

+ 112 - 0
components/cm-custom.vue

@@ -0,0 +1,112 @@
+<template name="headerNavbar">
+	<!-- 自定义导航栏 -->
+	<view class='navbar-wrap' :style="{height:CustomBar+'px',paddingTop:StatusBar+'px',background:navbarData.bgColor ? navbarData.bgColor : ''}"> 
+	  	<view class="navbar-text" 
+			  :style="{color:navbarData.textColor ? navbarData.textColor:'',lineHeight:(CustomBar - StatusBar)+'px;',fontSize:fontSizeSetting+'px;',paddingLeft:navbarData.textLeft ? '' : capsule.height+'px'}" :class="platformClass">
+	    	  {{navbarData.title ? navbarData.title : " "}}
+	  	</view>
+	  	<view class="navbar-icon" v-if="navbarData.showCapsule == 1 ? true : false" 
+			  :style="{top:capsule.top +'px;',left:((screenWidth-capsule.right)+5)+'px;',height:capsule.height+'px;',lineHeight:capsule.height+'px;'}">
+			  <text v-if="navbarData.haveBack" @tap="BackPage" class="iconfont icon-fanhui"></text>
+			  <text v-if="navbarData.haveHome" @tap="_goHome" class="iconfont icon-shouye"></text>
+	  	</view>
+		<view class="navbar-icon" v-if="navbarData.showSearch == 1 ? true : false"
+			  :style="{top:capsule.top+'px;',right:(capsule.width)+'px;',height:capsule.height+'px;',lineHeight:capsule.height+'px;'}">
+			  <text @click.stop="_goSearchPath" class="iconfont icon-iconfonticonfontsousuo1"></text>
+	  	</view>
+	</view>
+</template>
+
+<script>
+	var self;
+	export default{
+		name:'headerNavbar',
+		props:{
+		    navbarData: { // 由父页面传递的数据
+				type: Object
+		    }
+		},
+		data() {
+			return{
+				CustomBar:this.CustomBar,// 顶部导航栏高度
+				StatusBar: this.StatusBar,
+				fontSizeSetting:this.fontSizeSetting,
+				screenWidth:this.screenWidth,
+				capsule:this.capsule,
+				platformClass:this.platformClass,
+			}
+		},
+		created() {
+			if (getCurrentPages().length === 1) { // 当只有一个页面时
+			      this.navbarData.haveBack = false;
+			} else {
+			      this.navbarData.haveBack = true;
+			}
+		},
+		onLoad(){
+			
+		},
+		methods:{
+			BackPage: function () {
+				this.$emit('navigateBack')
+		    },
+			_goSearchPath:function () {
+				this.$emit('goSearchPath')
+			},
+			_goHome:function(){
+				uni.switchTab({
+		        	url: '/pages/tabBar/home/home'
+		      	})
+			}
+		},
+		onShow(){
+	
+		}
+	}
+</script>
+
+<style lang="scss">
+	.navbar-wrap {
+		 position: fixed;
+		 width: 100%;
+		 top: 0;
+		 z-index: 100000;
+		 box-sizing: border-box;
+	}
+	.navbar-text {
+		 font-size: 30rpx;
+		 color: #000000;
+		 font-weight: 500;
+	}
+	.navbar-text.center{
+		text-align: center;
+	}
+	.navbar-text.left{
+		text-align: left;
+		padding-left: 45px;
+	}
+	.navbar-icon {
+		 position: fixed;
+		 display: flex;
+		 box-sizing: border-box;
+	}
+	.navbar-icon .iconfont {
+		 display: inline-block;
+		 overflow: hidden;
+		 font-size: 44rpx;
+		 padding-right:40rpx;
+		 margin-top: 1px;
+	}
+	.navbar-icon .icon-iconfonticonfontsousuo1 {
+		color: #000000;
+	}
+	.navbar-icon view {
+		 height: 18px;
+		 border-left: 0.5px solid rgba(0,0,0, 0.3);
+		 margin-top: 6px;
+	}
+	.navbar-loading {
+		 background: #fff;
+		 text-align: center;
+	}
+</style>

+ 148 - 0
components/cm-module/home/cm-custom.vue

@@ -0,0 +1,148 @@
+<template name="headerNavbar">
+	<!-- 自定义导航栏 -->
+	<view class='navbar-wrap' :style="{height:(CustomBar+55)+'px',paddingTop:StatusBar+'px'}"> 
+	  	<view class="navbar-text" 
+			  :style="{color:navbarData.textColor ? navbarData.textColor:'',lineHeight:(CustomBar - StatusBar)+'px;',fontSize:fontSizeSetting+'px;',paddingLeft:navbarData.textLeft ? '' : capsule.height+'px'}" :class="platformClass">
+	    	  {{navbarData.title ? navbarData.title : " "}}
+	  	</view>
+		<view class="search-input">
+			<view class="gosearch-btn" @click="this.$api.navigateTo(clickPath)">
+				<text class="iconfont icon-iconfonticonfontsousuo1"></text>
+				<text>{{hotSearchText}}</text>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	var self;
+	import btSearch from '@/components/uni-search/bt-search.vue'
+	export default{
+		name:'headerNavbar',
+		components:{
+			btSearch,
+		},
+		props:{
+		    navbarData: { // 由父页面传递的数据
+				type: Object
+		    }
+		},
+		data() {
+			return{
+				clickPath:'/pages/search/search',
+				hotSearchText:'你想要的这里都有',
+				CustomBar:this.CustomBar,// 顶部导航栏高度
+				StatusBar: this.StatusBar,
+				fontSizeSetting:this.fontSizeSetting,
+				screenWidth:this.screenWidth,
+				capsule:this.capsule,
+				platformClass:this.platformClass,
+			}
+		},
+		created() {
+			if (getCurrentPages().length === 1) { // 当只有一个页面时
+			      this.navbarData.haveBack = false;
+			} else {
+			      this.navbarData.haveBack = true;
+			}
+		},
+		onLoad(){
+			
+		},
+		methods:{
+			BackPage: function () {
+				this.$emit('navigateBack')
+		    },
+			_goSearchPath:function () {
+				this.$emit('goSearchPath')
+			},
+			_goHome:function(){
+				uni.switchTab({
+		        	url: '/pages/tabBar/home/home'
+		      	})
+			}
+		},
+		onShow(){
+	
+		}
+	}
+</script>
+
+<style lang="scss">
+	
+	.navbar-wrap {
+		 position: fixed;
+		 width: 100%;
+		 top: 0;
+		 z-index: 100000;
+		 box-sizing: border-box;
+		 background: url(https://admin-b.caimei365.com/userfiles/1/images/photo/2020/05/%E8%83%8C%E6%99%AF1%402x.png);
+		 background-size: cover;
+	}
+	.navbar-text {
+		 font-size: 30rpx;
+		 color: #000000;
+		 font-weight: 500;
+	}
+	.navbar-text.center{
+		text-align: center;
+	}
+	.navbar-text.left{
+		text-align: left;
+		padding-left: 45px;
+	}
+	.navbar-icon {
+		 position: fixed;
+		 display: flex;
+		 box-sizing: border-box;
+	}
+	.navbar-icon .iconfont {
+		 display: inline-block;
+		 overflow: hidden;
+		 font-size: 44rpx;
+		 padding-right:40rpx;
+		 margin-top: 1px;
+	}
+	.navbar-icon .icon-iconfonticonfontsousuo1 {
+		color: #000000;
+	}
+	.navbar-icon view {
+		 height: 18px;
+		 border-left: 0.5px solid rgba(0,0,0, 0.3);
+		 margin-top: 6px;
+	}
+	.navbar-loading {
+		 background: #fff;
+		 text-align: center;
+	}
+	.search-input{
+		width: 100%;
+		height: 70rpx;
+		padding: 20rpx 0;
+		.gosearch-btn{
+			/* #ifndef APP-NVUE */
+			display: flex;
+			/* #endif */
+			flex: 1;
+			flex-direction: row;
+			justify-content: center;
+			align-items: center;
+			width: 662rpx;
+			height: 100%;
+			border-radius: 40rpx;
+			background: #F0F0F0;
+			margin: 0 auto;
+			padding:0 20rpx;
+			font-size: 28rpx;
+			line-height: 70rpx;
+			color: #8A8A8A;
+			background: #FFFFFF;
+			.icon-iconfonticonfontsousuo1{
+				margin:0 6rpx;
+				font-size: 34rpx;
+				color: #8A8A8A;
+				z-index: 10;
+			}
+		}
+	}
+</style>

+ 0 - 129
components/cm-module/home/navInfor.vue

@@ -1,129 +0,0 @@
-<template name="navinfor">
-	<!-- 优选分类 -->
-	<view class="tabbar clearfix">
-		<view class="cate-item" @click="this.$api.navToListPage({type:'星范优惠',value:navInforList[0].text})">
-			<image :src="navInforList[0].icon"></image>
-			<text>{{navInforList[0].text}}</text>
-		</view>
-		<view class="cate-item" @click="this.$api.navToListPage({type:'惊喜特惠',value:navInforList[1].text})">
-			<image :src="navInforList[1].icon"></image>
-			<text>{{navInforList[1].text}}</text>
-		</view>
-		<view class="cate-item" @click="showTost">
-			<image :src="navInforList[2].icon"></image>
-			<text>{{navInforList[2].text}}</text>
-		</view>
-		<view class="cate-item">
-			<!-- #ifdef MP-WEIXIN -->
-			<button class="contact-btn" open-type="contact" @bindcontact="handleContact">
-				<image :src="navInforList[3].icon"></image>
-			</button>	
-			<!-- #endif -->
-			<text>{{navInforList[3].text}}</text>
-		</view>
-	</view>
-</template>
-
-<script>
-	var self; 
-	export default{
-		name:'navinfor',
-		props:{
-		    navInforList: { // 由父页面传递的数据
-				type: Array,
-				value: [],
-		    },
-		},
-		data() {
-			return{
-
-			}
-		},
-		created() {
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			handleContact(e){
-				console.log(e.detail.path)
-				console.log(e.detail.query)
-			},
-			showTost(){
-				uni.showToast({
-					icon: 'none',
-					title: '正在开发中,敬请期待~',
-					duration: 2000
-				})
-			}
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	.cate-item {
-		width: 160rpx;
-		margin-right:20.666rpx;
-		display: flex;
-		float: left;
-		flex-direction: column;
-		align-items: center;
-		font-size: $font-size-26;
-		color: $text-color;
-		line-height: 36rpx;
-		&:last-child{
-			margin-right: 0;
-		}
-		image {
-			width: 160rpx;
-			height: 90rpx;
-			margin-bottom: 16rpx;
-		}	
-		button.contact-btn{
-			width: 160rpx;
-			height: 90rpx;
-			margin: 0;
-			padding: 0;
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			box-sizing: border-box;
-			text-align: center;
-			text-decoration: none;
-			border-radius: 0;
-			-webkit-tap-highlight-color: transparent;
-			overflow: hidden;
-			background-color:#FFFFFF;
-			margin-bottom: 16rpx;
-			image{
-				width: 160rpx;
-				height: 90rpx;
-				margin-bottom: 0;
-			}
-		}
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 113
components/cm-module/home/navServer.vue

@@ -1,113 +0,0 @@
-<template name="navserver">
-	<!-- 优选分类 -->
-	<view class="tabbar clearfix">
-		<view class="cate-item" @click="showTost">
-			<image :src="navServerList[0].icon"></image>
-			<text>{{navServerList[0].text}}</text>
-		</view>
-		<view class="cate-item" @click="navto(navServerList[1].path)">
-			<image :src="navServerList[1].icon"></image>
-			<text>{{navServerList[1].text}}</text>
-		</view>
-		<view class="cate-item" @click="navto(navServerList[2].path)">
-			<image :src="navServerList[2].icon"></image>
-			<text>{{navServerList[2].text}}</text>
-		</view>
-		<view class="cate-item" @click="telPhoneTo">
-			<image :src="navServerList[3].icon"></image>
-			<text>{{navServerList[3].text}}</text>
-		</view>
-	</view>
-</template>
-
-<script>
-	var self; 
-	export default{
-		name:'navserver',
-		props:{
-			telPhone:String,
-		    navServerList: { // 由父页面传递的数据
-				type: Array,
-				value: [],
-		    },
-		},
-		data() {
-			return{
-
-			}
-		},
-		created() {
-
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			showTost(){
-				uni.showToast({
-					icon: 'none',
-					title: '正在开发中,敬请期待~',
-					duration: 2000
-				})
-			},
-			navto(url){
-				uni.navigateTo({
-					url
-				})
-			},
-			telPhoneTo(){
-				let self = this;
-				uni.makePhoneCall({
-				    phoneNumber:self.telPhone //仅为示例
-				});
-			}
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	/*底部服务导航*/
-	.cate-item {
-		width: 99rpx;
-		margin-right: 102rpx;
-		float: left;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		font-size: $font-size-24;
-		color: $text-color;
-		&:last-child{
-			margin-right: 0;
-		}
-		image {
-			width: 75rpx;
-			height: 75rpx;
-			margin-bottom: 8rpx;
-			border-radius: 50%;
-		}
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 92
components/cm-module/home/navigationTab.vue

@@ -1,92 +0,0 @@
-<template name="navigation">
-	<!-- 自定义分类导航栏 -->
-	<view class="tabbar clearfix">
-		<view class="cate-item" v-for="(nav,idx) in tabList" :key="idx" @click.stop="navToListPage(nav)">
-			<image class="tui-skeleton-fillet" :src="nav.classifyImage"></image>
-			<text class="tui-skeleton-rect">{{nav.classifyName}}</text>
-		</view>
-	</view>
-</template>
-
-<script>
-	var self; 
-	export default{
-		name:'navigation',
-		props:{
-		    tabList: { // 由父页面传递的数据
-				type: Array,
-				value: [],
-		    },
-
-		},
-		data() {
-			return{
-				
-			}
-		},
-		created() {
-			
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			navToListPage(nav){
-				this.$api.navToListPage({type:'0',value:nav.classifyName,id:nav.id});
-			}
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	.tabbar{
-		margin-bottom: 26rpx;
-	}
-	.cate-item {
-		width: 118rpx;
-		margin-right:28rpx;
-		display: flex;
-		float: left;
-		flex-direction: column;
-		align-items: center;
-		font-size: $font-size-26;
-		color: $text-color;
-		line-height: 36rpx;
-		&:last-child{
-			margin-right: 0;
-		}
-		&:nth-child(5n){
-			margin-right: 0;
-		}
-		image {
-			width: 90rpx;
-			height: 90rpx;
-			margin-bottom: 8rpx;
-			border-radius: 50%;
-		}	
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 1 - 1
components/cm-module/listTemplate/memberList.vue

@@ -100,7 +100,7 @@
 				if(loadMore) {
 					self.pageNum += 1;
 				}
-				queryMember({index:this.pageNum,pageSize:this.pageSize}).then(response =>{
+				queryMember({pageNum:this.pageNum,pageSize:this.pageSize}).then(response =>{
 					const resData = response.data;
 					const resList = resData.results;
 					if(resList && resList.length > 0){

+ 1 - 0
components/cm-module/listTemplate/productList.vue

@@ -177,6 +177,7 @@
 				this.isModallayer = false;
 			},
 			toCartPage() {
+				uni.setStorageSync('cartPathType',"buyagain");
 				uni.switchTab({
 					url: '/pages/tabBar/cart/cart'
 				})

+ 0 - 2
components/seller/home.vue

@@ -129,7 +129,6 @@
 
 <script>
 	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
-	import navigationTab from "@/components/cm-module/home/navigationTab.vue"
 	import authorize from '@/common/config/authorize.js'
 	import modalLayer from "@/components/modal-layer"
 	import btSearch from '@/components/uni-search/bt-search.vue'
@@ -140,7 +139,6 @@
 	export default {
 		components:{
 			tuiSkeleton,
-			navigationTab,
 			modalLayer,
 			btSearch,
 			uniStars,

+ 3 - 3
components/uni-search/bt-search.vue

@@ -36,8 +36,8 @@
 <style lang="scss">
 	.search-input{
 		width: 100%;
-		height: 80rpx;
-		padding: 10rpx 0;
+		height: 70rpx;
+		padding: 12rpx 0;
 		background: #FFFFFF;
 		.gosearch-btn{
 			/* #ifndef APP-NVUE */
@@ -54,7 +54,7 @@
 			margin: 0 auto;
 			padding:0 20rpx;
 			font-size: 28rpx;
-			line-height: 80rpx;
+			line-height: 70rpx;
 			color: #8A8A8A;
 			.icon-iconfonticonfontsousuo1{
 				margin:0 6rpx;

+ 10 - 1
main.js

@@ -6,7 +6,9 @@ import * as Api from '@/common/config/caimeiApi.js'
 import * as Regs from '@/common/config/common.js'
 import Json from './json' //本地数据
 import cuCustom from './components/cu-custom.vue'
+import cmCustom from './components/cm-custom.vue'
 Vue.component('cu-custom',cuCustom)
+Vue.component('cm-custom',cmCustom)
 /**
  *  示例使用了uni.scss下的变量, 除变量外已尽量移除特有语法,可直接替换为其他预处理器使用
  */
@@ -52,7 +54,14 @@ const prePage = ()=>{
 	// #endif
 	return prePage.$vm;
 }
-
+Vue.prototype.$getStorage = function(key){
+	var userParam = uni.getStorageSync(key);
+	if (userParam != null && userParam != "" && userParam!= undefined) {
+		return userParam;
+	}else{
+		return null;
+	} 
+}
 Vue.config.productionTip = false
 Vue.prototype.$fire = new Vue();
 Vue.prototype.$store = store;

+ 6 - 3
pages.json

@@ -4,7 +4,8 @@
 			"path": "pages/tabBar/home/home",
 			"style": {
 				"navigationBarTitleText": "采美采购商城",
-				"enablePullDownRefresh":true
+				"enablePullDownRefresh":true,
+				"navigationStyle":"custom"
 			}
 		},{
 			"path": "pages/authorization/authorization",
@@ -29,13 +30,15 @@
 			"path": "pages/tabBar/cart/cart",
 			"style": {
 				"navigationBarTitleText": "购物车",
-				"enablePullDownRefresh":true
+				"enablePullDownRefresh":true,
+				"navigationStyle":"custom"
 			}
 		},{
 			"path": "pages/tabBar/user/user",
 			"style": {
 				"navigationBarTitleText": "我的",
-				"enablePullDownRefresh" : true
+				"enablePullDownRefresh" : true,
+				"navigationStyle":"custom"
 			}
 		},{
 			"path": "pages/user/account/account",

+ 7 - 7
pages/authorization/authorization.vue

@@ -39,9 +39,11 @@
 			this.authorizeType = e.type
 			console.log(e)
 		},
+		computed: {
+			...mapState(['hasLogin','userInfo'])
+		},
 		methods:{
-			//授权登录 
-			getuserinfo: function (e) {
+			getuserinfo: function (e) {//微信授权
 			    if (e.detail.userInfo) {
 					this.wxGetUserInfo()
 			    }else{
@@ -64,6 +66,7 @@
 				}
 			},
 			wxGetUserInfo(){
+				let self = this
 				authorize.getCode('weixin').then(wechatcode =>{
 					wx.getUserInfo({
 						success: res => {
@@ -72,12 +75,9 @@
 								uni.navigateBack({delta: 1});
 							},2000)
 						}
-					});	
+					})
 				})
-			},
-		},
-		onHide(){
-			this.$api.switchTabTo('/pages/tabBar/home/home')
+			}
 		}
 	}
 </script>

+ 2 - 0
pages/goods/product.vue

@@ -357,6 +357,8 @@
 				authorize.getSetting().then(wxResponse =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
 					if(wxResponse == 1){
 						if(this.hasLogin){
+							uni.setStorageSync('cartPathType',"product");
+							uni.setStorageSync('cartPathId',this.productID);
 							this.$api.switchTabTo('/pages/tabBar/cart/cart')
 						}else{					
 							this.$api.navigateTo('/pages/login/login?type=1')

+ 2 - 2
pages/login/apply.vue

@@ -291,8 +291,8 @@ import { mapMutations } from 'vuex';
 						}
 						this.registerEmail = organizationUser.email	
 						this.clubID = organizationUser.clubID
-						this.clubName = this.$reg.checkData(organizationClub.name)
-						this.abbreviation = this.$reg.checkData(organizationClub.sname)
+						// this.clubName = this.$reg.checkData(organizationClub.name)
+						// this.abbreviation = this.$reg.checkData(organizationClub.sname)
 						if( organizationClub.provinceID == null ){
 							this.addressData.provinceID = ''
 						}else{

+ 1 - 1
pages/login/register.vue

@@ -280,7 +280,7 @@
 					textLeft:this.$store.state.isIphone
 				},
 				CustomBar:this.CustomBar,// 顶部导航栏高度
-				tabCurrentIndex:2,			//显示step
+				tabCurrentIndex:1,			//显示step
 				isPreviewImage:false,   	//预览图片开关
 				isMobileDisabled: false,	//手机验证码按钮控制
 			    mobilCount: '',				//倒计时

+ 7 - 7
pages/search/search-order.vue

@@ -430,7 +430,7 @@
 	}
 	.search{
 		width: 702rpx;
-		height: 80rpx;
+		height: 70rpx;
 		padding: 12rpx 24rpx;
 		border-bottom: 1px solid #F0F0F0;
 		position: fixed;
@@ -440,9 +440,9 @@
 		z-index: 1001;
 		.search-input{
 			width: 448rpx;
-			height: 80rpx;
+			height: 70rpx;
 			padding: 0 68rpx;
-			line-height: 80rpx;
+			line-height: 70rpx;
 			border-radius: 40rpx;
 			position: relative;
 			background: #F0F0F0;
@@ -465,15 +465,15 @@
 			}
 			input{
 				width: 448rpx;
-				height: 80rpx;
-				background-color: #F0F0F0;
+				height: 70rpx;
+				background-color: #F0F0F0; 
 				font-size: 26rpx;
 			}
 		}
 		.search-btn{
 			width: 118rpx;
-			height: 80rpx;
-			line-height: 80rpx;
+			height: 70rpx;
+			line-height: 70rpx;
 			color: $color-system;
 			font-size: 30rpx;
 			text-align: center;

+ 6 - 6
pages/search/search.vue

@@ -239,7 +239,7 @@
 	}
 	.search-main{
 		width: 702rpx;
-		height: 80rpx;
+		height: 70rpx;
 		padding: 12rpx 24rpx;
 		border-bottom: 1px solid #F0F0F0;
 		position: fixed;
@@ -249,9 +249,9 @@
 		z-index: 1001;
 		.search-input{
 			width: 448rpx;
-			height: 80rpx;
+			height: 70rpx;
 			padding: 0 68rpx;
-			line-height: 80rpx;
+			line-height: 70rpx;
 			border-radius: 40rpx;
 			position: relative;
 			background: #F0F0F0;
@@ -274,15 +274,15 @@
 			}
 			input{
 				width: 448rpx;
-				height: 80rpx;
+				height: 70rpx;
 				background-color: #F0F0F0;
 				font-size: 26rpx;
 			}
 		}
 		.search-btn{
 			width: 118rpx;
-			height: 80rpx;
-			line-height: 80rpx;
+			height: 70rpx;
+			line-height: 70rpx;
 			color: $color-system;
 			font-size: 30rpx;
 			text-align: center;

+ 31 - 2
pages/tabBar/cart/cart.vue

@@ -1,5 +1,6 @@
 <template>
-	<view class="container cart clearfix" v-if="hasLogin"> 	
+	<view class="container cart clearfix" v-if="hasLogin" :style="{paddingTop:CustomBar+'px'}"> 	
+		<cu-custom :navbar-data='nvabarData'  @navigateBack="hanldNavigateBack"></cu-custom>
 		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="5"></tui-skeleton>
 		<view class="container-cart-main tui-skeleton">
 			<view v-if="!isEmpty" class="container-cart">
@@ -111,6 +112,16 @@
 		},
 		data(){
 			return{
+				nvabarData: {//顶部自定义导航
+					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
+					showSearch: 0,
+					title: '购物车', // 导航栏 中间的标题
+					haveBack:true,
+					textLeft:this.$store.state.isIphone,
+				},
+				CustomBar:this.CustomBar,// 顶部导航栏高度
+				pathType:'',
+				pathProductID:'',
 				userID:'',
 				alertType:'',
 				isStock:'',
@@ -137,6 +148,13 @@
 			}
 		},
 		onLoad(){
+			this.pathType = this.$getStorage("cartPathType");
+			this.pathProductID = this.$getStorage("cartPathId");
+			if(this.pathType){
+				this.nvabarData.haveBack = true
+			}else{
+				this.nvabarData.haveBack = false
+			}
 			this.setScrollHeight();
 		},
 		computed: {
@@ -516,7 +534,7 @@
 					})
 					this.updateCheckAllBtn();
 				}
-			},
+			},			
 			deleteList(){//删除购物车商品	
 				this.delGoodsList=[];
 				this.goodsList.forEach(delitem=>{
@@ -557,6 +575,17 @@
 			navToListPage(id){
 				this.isModallayer = true;
 				this.$api.navigateTo(`/pages/goods/product?id=${id}`)
+			},
+			hanldNavigateBack(){
+				console.log(this.pathType)
+				switch(this.pathType){
+					case 'product':
+						this.$api.navigateTo(`/pages/goods/product?id=${this.pathProductID}`)
+						break;
+					case 'buyagain':
+						this.$api.navigateTo('/pages/user/regularPurchase/regularPurchase')
+						break;
+				}
 			}
 		},
 		watch:{//深度监听所有数据,每次改变重新计算总价和总数

+ 52 - 50
pages/tabBar/home/home.vue

@@ -1,15 +1,13 @@
 <template>
-	<view class="container home clearfix">	
+	<view class="container home clearfix" :style="{paddingTop:CustomBar+'px'}">	
+		<cm-custom :navbar-data='nvabarData'></cm-custom>
 		<!-- 头部轮播 -->
 		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="5"></tui-skeleton>
-		<view :class="'container-home-'+ inputActive" class="tui-skeleton">
-			<view :class="'search-input-' + inputActive">
-				<bt-search :clickPath="clickPath" :toestText='hotSearchText'></bt-search>
-			</view>
-			<view class="banner-section">
-				<swiper class="banner tui-banner tui-skeleton-rect" circular @change="swiperChange" :autoplay="true" :interval="5000" :duration="500" :circular="true">
-					<swiper-item v-for="(item, index) in bannerImageList" :key="index" class="banner-item"> 
-						<image :src="item" />
+		<view class="container-home tui-skeleton">
+			<view class="swiper-banner-box" >
+				<swiper class="tui-banner-swiper tui-banner tui-skeleton-rect" :autoplay="true" :interval="5000" :duration="500"  @change="swiperChange" :circular="true">
+					<swiper-item v-for="(item,index) in bannerImageList" :key="index">
+						<image :src="item" class="tui-slide-image" mode="scaleToFill"/>
 					</swiper-item>
 				</swiper>
 				<view class="swiper__dots-box" v-if="bannerImageList.length > 1">
@@ -29,7 +27,7 @@
 					</view>
 				</view>
 				<!-- 优选分类 -->
-				<view class="tabbar clearfix">
+				<view class="tabbar bot clearfix">
 					<view class="cate-item-info" @click.stop="this.$api.navToListPage({type:'1',value:firstModulesName})">
 						<image class="tui-skeleton-circular" :src="firstModulesImage"></image>
 						<text class="tui-skeleton-fillet">{{firstModulesName}}</text>
@@ -149,10 +147,9 @@
 
 <script>
 	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
-	import navigationTab from "@/components/cm-module/home/navigationTab.vue"
 	import authorize from '@/common/config/authorize.js'
 	import modalLayer from "@/components/modal-layer"
-	import btSearch from '@/components/uni-search/bt-search.vue'
+	import cmCustom from '@/components/cm-module/home/cm-custom.vue'
 	import uniStars from '@/components/uni-stars/uni-stars.vue'
 	import { userInfoLogin, queryHomeInfo } from "@/api/use.js"
 	import { queryPreferred } from "@/api/product.js"
@@ -160,9 +157,8 @@
 	export default {
 		components:{
 			tuiSkeleton,
-			navigationTab,
 			modalLayer,
-			btSearch,
+			cmCustom,
 			uniStars,
 		},
 		data() {
@@ -172,10 +168,16 @@
 						color: '#FF3333'
 					}
 				},
+				nvabarData: {//顶部自定义导航
+					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
+					showSearch: 0,
+					title: '采美采购商城', // 导航栏 中间的标题
+					haveBack:false,
+					textLeft:this.$store.state.isIphone,
+					textColor:'#FFFFFF'
+				},
+				CustomBar:this.CustomBar,// 顶部导航栏高度
 				userID:'',
-				inputActive:'float',
-				hotSearchText:'你想要的这里都有',
-				clickPath:'/pages/search/search',
 				current:0,
 				mode:'round',
 				modallayer:false,
@@ -197,8 +199,8 @@
 				secondModulesImage:'',//优惠模块icon2
 				thirdModulesName:'', //优惠模块3
 				navInforList:[
-					{text:'会员中心',icon:'https://img.caimei365.com/group1/M00/03/9E/Cmis216iRzOAEGPnAAA4hM3shV4061.png'},
-					{text:'在线客服',icon:'https://img.caimei365.com/group1/M00/03/9E/Cmis216iRzOAFXZBAABKeY23aWA452.png'}
+					{text:'会员中心',icon:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/05/%E4%BC%9A%E5%91%98%E4%B8%AD%E5%BF%83%403x.png'},
+					{text:'在线客服',icon:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/05/%E5%9C%A8%E7%BA%BF%E5%AE%A2%E6%9C%8D%403x.png'}
 				],
 				navServerList:[
 					{text:'会员优惠',icon:'../../../static/temp/server1@2x.png',path:'/pages/service/member'},
@@ -368,42 +370,37 @@
 	page,.home{
 		width: 100%;
 		height: auto;
-	}			
-	.container-home-float{
-		padding-top: 0;
-	}
-	.container-home-fixed{
-		padding-top: 100rpx;
-	}
-	.search-input-float{
-		width: 100%;
-		height:auto;
-	}
-	.search-input-fixed{
-		width: 100%;
-		height:auto;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 1000;
-		background: #FFFFFF;
+	}	
+	.container-home{
+		
 	}
-	.banner-section{
+	.swiper-banner-box{
 		width: 100%;
-		height: 366rpx;
+		height: 340rpx;
+		padding-top:110rpx;
+		background:#FFFFFF url(https://admin-b.caimei365.com/userfiles/1/images/photo/2020/05/%E8%83%8C%E6%99%AF2%402x.png)no-repeat;
 		position: relative;
+		background-size: cover;
 	}	
-	.banner{
-		width: 100%;
-		height: 366rpx;
-		image {
+	.tui-banner-swiper {
+		width: 700rpx;
+		margin: 0 auto;
+		height: 340rpx;
+		border-radius: 24rpx;
+		overflow: hidden;
+		transform: translateY(0);
+		.banner-item{
+			border-radius: 24rpx;
+		}
+		.tui-slide-image {
 			width: 100%;
-			height: 100%;
+			height: 340rpx;
+			display: block;
 		}
 	}
 	.swiper__dots-box{
 		position: absolute;
-		bottom: 10px;
+		bottom: 24rpx;
 		left: 0;
 		right: 0;
 		/* #ifndef APP-NVUE */
@@ -436,6 +433,11 @@
 		background: #fff;
 		.tabbar{
 			margin-bottom: 26rpx;
+			&.bot{
+				padding: 16rpx 24rpx;
+				border-radius: 20rpx;
+				box-shadow:0px 3px 6px rgba(225,86,22,0.07);
+			}
 		}
 		.cate-item {
 			width: 118rpx;
@@ -457,12 +459,12 @@
 				width: 90rpx;
 				height: 90rpx;
 				margin-bottom: 8rpx;
-				border-radius: 50%;
+				border-radius: 32rpx;
 			}	
 		}
 		.cate-item-info {
 			width: 118rpx;
-			margin-right:76.5rpx;
+			margin-right:60.5rpx;
 			display: flex;
 			float: left;
 			flex-direction: column;
@@ -477,7 +479,7 @@
 				width: 90rpx;
 				height: 90rpx;
 				margin-bottom: 16rpx;
-				border-radius: 50%;
+				border-radius: 32rpx;
 			}	
 			button.contact-btn{
 				width: 118rpx;
@@ -499,7 +501,7 @@
 					width: 90rpx;
 					height: 90rpx;
 					margin-bottom: 0;
-					border-radius: 50%;
+					border-radius: 32rpx;
 				}
 			}
 		}

+ 296 - 153
pages/tabBar/user/user.vue

@@ -1,122 +1,128 @@
 <template>
-	<view class="container user clearfix" v-if="hasLogin">
+	<view class="container user clearfix">
+		<cm-custom :navbar-data='nvabarData'></cm-custom>
 		<view class="user-section">
-			<view class="u-header">
-				<image src="https://img.caimei365.com/group1/M00/03/94/Cmis216Sk_SAPDwvAAcTspdl8h0610.png" mode=""></image>
-				<view class="u-header-main">
-					<view class="user-item">
-						<view class="logo-m">
-							<image :src="headpic == null? '../../../static/temp/icon-club@3x.png' : headpic" mode=""></image>
-						</view>
-					</view>
-					<view class="user-item">
-						<text class="u-h1">{{name}}</text>
+			<view class="header" :style="{background:'url('+ bgImgUrl +')',backgroundSize:'cover'}">
+				<view class="header-main" :style="{paddingTop:(CustomBar+20)+'px'}" v-if="hasLogin">
+					<view class="header-text">
+						<view class="user-item"><text class="u-h1">{{name}}</text>
+						<text class="u-viptips" v-if="userIdentity == 2">{{userType}}</text>
+						<text class="u-tips" v-if="userIdentity == 4">{{userType}}</text>
 					</view>
-					<view class="user-item">
-						<text class="u-p">账户余额:{{userMoney}}元</text>
+						<view class="user-item"><text class="u-p">账户余额:{{userMoney}}元</text></view>
 					</view>
+					<view class="header-icon"><image :src="headpic == null? '../../../static/temp/icon-club@3x.png' : headpic" mode=""></image></view>
 				</view>
-			</view>
-			<!-- 订单 -->
-			<view class="user-order">
-				<view class="tab-title" @click="navigator('/pages/user/order/order-list?state=0')">
-					<text class="cell-tit">我的订单</text>
-					<text class="cell-more">查看全部</text>
-					<text class="iconfont icon-xiayibu"></text>
-				</view>
-				<view class="order-section">
-					<view class="order-item" @click="navigator('/pages/user/order/order-list?state=1')" hover-class="common-hover"  :hover-stay-time="50">
-						<view class="order-icon">
-							<image src="../../../static/temp/order5@3x.png" mode=""></image>
-							<text 	v-if="confirmedCount>0" 
-									class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
-									:class="[confirmedCount < 10 ? 'goleft':'']">
-									{{confirmedCount == 99? '99+' : confirmedCount}}
-							</text>
+				<view class="header-main-none" :style="{paddingTop:(CustomBar+20)+'px'}" v-else>
+					<view class="header-text">
+						<view class="user-item">
+							<text class="u-h1" @click="navigator('/pages/login/login')">账号登录</text><text class="u-h1 line">/</text>
+							<text class="u-h1" @click="navigatorNex('/pages/login/register')">立即注册</text>
 						</view>
-						<text class="order-t">待确认</text>
-					</view>
-					<view class="order-item" @click="navigator('/pages/user/order/order-list?state=2')"  hover-class="common-hover" :hover-stay-time="50">
-						<view class="order-icon">
-							<image src="../../../static/temp/order1@3x.png" mode=""></image>
-							<text  v-if="paymentCount >0" 
-								   class="uni-badge uni-badge-error uni-small uni-badge--small icon-num " 
-								   :class="[paymentCount < 10 ? 'goleft':'']">
-								   {{paymentCount == 99? '99+' : paymentCount}}
-							</text>
+						<view class="user-item">
+							<text class="u-p" @click="navigator('/pages/login/login')">登录商城了解更多产品信息吧!</text>
 						</view>
-						<text class="order-t">待付款</text>
-					</view>
-					<view class="order-item" @click="navigator('/pages/user/order/order-list?state=3')" hover-class="common-hover"  :hover-stay-time="50">
-						<view class="order-icon">
-							<image src="../../../static/temp/order2@3x.png" mode=""></image>
-							<text   v-if="waitShipmentsCount >0" 
-									class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
-									:class="[waitShipmentsCount < 10 ? 'goleft':'']">
-									{{waitShipmentsCount == 99? '99+' : waitShipmentsCount}}
-							</text>
+						<view class="user-item" @click="navigatorNex('/pages/login/logincode')">
+							<view class="u-btn"><text>邀请码登录</text><text class="iconfont icon-xiangyouhuabeifen"></text></view>
 						</view>
-						<text class="order-t">待发货</text>
 					</view>
-					<view class="order-item" @click="navigator('/pages/user/order/order-list?state=4')" hover-class="common-hover"  :hover-stay-time="50">
-						<view class="order-icon">
-							<image src="../../../static/temp/order3@3x.png" mode=""></image>
-							<text 	v-if="shipmentsCount>0" 
-									class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
-									:class="[shipmentsCount < 10 ? 'goleft':'']">
-									{{shipmentsCount == 99? '99+' : shipmentsCount}}
-							</text>
-						</view>
-						<text class="order-t">已发货</text>
+					<view class="header-icon" @click="navigator('/pages/login/login')">
+						<image src="../../../static/temp/icon-club@3x.png" mode=""></image>
+					</view>
+				</view>
+				<!-- 订单 -->
+				<view class="user-order">
+					<view class="tab-title" @click="navigator('/pages/user/order/order-list?state=0')">
+						<text class="cell-tit">我的订单</text>
+						<text class="cell-more">查看全部</text>
+						<text class="iconfont icon-xiayibu"></text>
 					</view>
-					<view class="order-item" @click="navigator('/pages/user/order/order-list?state=5')" hover-class="common-hover"  :hover-stay-time="50">
-						<view class="order-icon">
-							<image src="../../../static/temp/order4@3x.png" mode=""></image>
-							<text 	v-if="salesReturnCount >0"
-									class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
-									:class="[salesReturnCount < 10 ? 'goleft':'']">
-									{{salesReturnCount == 99? '99+' : salesReturnCount}}
-							</text>
+					<view class="order-section">
+						<view class="order-item" @click="navigator('/pages/user/order/order-list?state=1')" hover-class="common-hover"  :hover-stay-time="50">
+							<view class="order-icon">
+								<image src="../../../static/temp/order5@3x.png" mode=""></image>
+								<text 	v-if="confirmedCount>0" 
+										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
+										:class="[confirmedCount < 10 ? 'goleft':'']">
+										{{confirmedCount == 99? '99+' : confirmedCount}}
+								</text>
+							</view>
+							<text class="order-t">待确认</text>
+						</view>
+						<view class="order-item" @click="navigator('/pages/user/order/order-list?state=2')"  hover-class="common-hover" :hover-stay-time="50">
+							<view class="order-icon">
+								<image src="../../../static/temp/order1@3x.png" mode=""></image>
+								<text  v-if="paymentCount >0" 
+									   class="uni-badge uni-badge-error uni-small uni-badge--small icon-num " 
+									   :class="[paymentCount < 10 ? 'goleft':'']">
+									   {{paymentCount == 99? '99+' : paymentCount}}
+								</text>
+							</view>
+							<text class="order-t">待付款</text>
+						</view>
+						<view class="order-item" @click="navigator('/pages/user/order/order-list?state=3')" hover-class="common-hover"  :hover-stay-time="50">
+							<view class="order-icon">
+								<image src="../../../static/temp/order2@3x.png" mode=""></image>
+								<text   v-if="waitShipmentsCount >0" 
+										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
+										:class="[waitShipmentsCount < 10 ? 'goleft':'']">
+										{{waitShipmentsCount == 99? '99+' : waitShipmentsCount}}
+								</text>
+							</view>
+							<text class="order-t">待发货</text>
+						</view>
+						<view class="order-item" @click="navigator('/pages/user/order/order-list?state=4')" hover-class="common-hover"  :hover-stay-time="50">
+							<view class="order-icon">
+								<image src="../../../static/temp/order3@3x.png" mode=""></image>
+								<text 	v-if="shipmentsCount>0" 
+										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
+										:class="[shipmentsCount < 10 ? 'goleft':'']">
+										{{shipmentsCount == 99? '99+' : shipmentsCount}}
+								</text>
+							</view>
+							<text class="order-t">已发货</text>
+						</view>
+						<view class="order-item" @click="navigator('/pages/user/order/order-list?state=5')" hover-class="common-hover"  :hover-stay-time="50">
+							<view class="order-icon">
+								<image src="../../../static/temp/order4@3x.png" mode=""></image>
+								<text 	v-if="salesReturnCount >0"
+										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
+										:class="[salesReturnCount < 10 ? 'goleft':'']">
+										{{salesReturnCount == 99? '99+' : salesReturnCount}}
+								</text>
+							</view>
+							<text class="order-t">退货/款</text>
 						</view>
-						<text class="order-t">退货/款</text>
 					</view>
 				</view>
 			</view>
 			<!-- 底部跳转 -->
 			<view class="foot-list">
-				<view class="list-cell-item" v-show="userIdentity == 4">
-					<view class="list-cell" @click="navigator(`/pages/login/apply?clubStatus=${clubStatus}`)" hover-class="cell-hover" :hover-stay-time="50">
+				<view class="list-cell-item" v-show="hasLogin">
+					<view class="list-cell" v-show="userIdentity == 4" @click="navigator(`/pages/login/apply?clubStatus=${clubStatus}`)" hover-class="cell-hover" :hover-stay-time="50">
 						<text class="cell-tit">升级会员机构</text>
 						<text class="cell-more">
 							<text class="txt">{{clubStatusText(clubStatus)}}</text>
 							<text class="iconfont icon-xiayibu"></text>
 						</text>
 					</view>
-				</view>
-				<view class="list-cell-item">
-					<view class="list-cell"  v-for="(item, index) in firstList" :key="index" @click="navigator(item.path)" hover-class="cell-hover" :hover-stay-time="50">
-						<text class="cell-tit">{{item.name}}</text>
+					<view class="list-cell" @click="navigator('/pages/user/regularPurchase/regularPurchase')" hover-class="cell-hover" :hover-stay-time="50">
+						<text class="cell-tit">再次购买</text>
 						<text class="cell-more iconfont icon-xiayibu"></text>
 					</view>
 				</view>
 				<view class="list-cell-item">
-					<view class="list-cell"  v-for="(item, index) in twoList" :key="index" @click="navigator(item.path)" hover-class="cell-hover" :hover-stay-time="50">
+					<view class="list-cell"  v-for="(item, index) in firstList" :key="index" @click="navigator(item.path)" hover-class="cell-hover" :hover-stay-time="50">
 						<text class="cell-tit">{{item.name}}</text>
 						<text class="cell-more iconfont icon-xiayibu"></text>
 					</view>
 				</view>
-				<view class="list-cell-item">
-					<view class="list-cell" @click="navigator(`/pages/user/setting/setting?phone=${bindMobile}`)" hover-class="cell-hover" :hover-stay-time="50">
-						<text class="cell-tit">账户设置</text>
-						<text class="cell-more iconfont icon-xiayibu"></text>
-					</view>
-				</view>
 				<view class="list-cell-item">
 					<view class="list-cell" hover-class="cell-hover" :hover-stay-time="50">
 						<text class="cell-tit">联系我们</text>
 						<text class="cell-more" @click="toPhone">{{contactNumber}}</text>
 					</view>
-					<view class="list-cell last" @click="navigator('/pages/user/about/about')" hover-class="cell-hover" :hover-stay-time="50">
+					<view class="list-cell last" @click="this.$api.navigateTo('/pages/user/about/about')" hover-class="cell-hover" :hover-stay-time="50">
 						<text class="cell-tit">关于我们</text>
 						<text class="cell-more iconfont icon-xiayibu"></text>
 					</view>
@@ -137,9 +143,21 @@
 		},
 		data() {
 			return{	
-				name:'采美采购商城',
+				nvabarData: {//顶部自定义导航
+					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
+					showSearch: 0,
+					title: '我的', // 导航栏 中间的标题
+					haveBack:false,
+					textLeft:this.$store.state.isIphone,
+					textColor:'#FFFFFF',
+					bgColor:''
+				},
+				CustomBar:this.CustomBar,// 顶部导航栏高度
+				bgImgUrl:'https://img.caimei365.com/group1/M00/03/94/Cmis216Sk_SAPDwvAAcTspdl8h0610.png',
+				name:'',
+				userType:"",
 				headpic:'',
-				userMoney:0.00,
+				userMoney:'0.00',
 				contactNumber:'',
 				openid:'',
 				aboutHtml:'',
@@ -154,12 +172,10 @@
 				salesReturnCount:'',//退货/款角标
 				firstList:[
 					{name:'运营人员管理',path:'/pages/user/operator/list'},
-					{name:'机构资料',path:'/pages/login/information'},
-					{name:'收货地址管理',path:'/pages/user/address/address'}
-				],
-				twoList:[
 					{name:'账户余额明细',path:'/pages/user/account/account'},
-					{name:'再次购买',path:'/pages/user/regularPurchase/regularPurchase'}
+					{name:'收货地址管理',path:'/pages/user/address/address'},
+					{name:'机构资料',path:'/pages/login/information'},
+					{name:'账户设置',path:'/pages/user/setting/setting'},
 				]
 			}
 		},
@@ -192,8 +208,10 @@
 					this.userIdentity = $userData.userIdentity //机构等级
 					if(this.userIdentity == 2){
 						this.name = $clubData.name //会员机构名称
+						this.userType = '会员机构'
 					}else{
 						this.name = $userData.userName //普通机构名称
+						this.userType = '普通机构'
 					}
 					this.headpic = $userData.image //会所头像
 					this.bindMobile = $userData.bindMobile//登录手机号
@@ -219,7 +237,28 @@
 				});
 			},
 			navigator(url){
-				this.$api.navigateTo(url)
+				authorize.getSetting().then(wxResponse =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
+					if(wxResponse == 1){
+						if(this.hasLogin){
+							this.$api.navigateTo(url)
+						}else{
+							this.$api.navigateTo('/pages/login/login?type=0')
+						}
+					}else{
+						this.$api.navigateTo('/pages/authorization/authorization?type=1')
+					}
+				})	
+			},			
+			navigatorNex(url){
+				authorize.getSetting().then(wxResponse =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
+					if(wxResponse == 1){
+						if(!this.hasLogin){
+							this.$api.navigateTo(url)
+						}
+					}else{
+						this.$api.navigateTo('/pages/authorization/authorization?type=1')
+					}
+				})	
 			},			
 			showBadge(n){
 				let num ='';
@@ -242,9 +281,22 @@
 				return stateText
 			}
 		},
+		onPageScroll(e){//实时获取到滚动的值
+			if(e.scrollTop>20){
+				this.nvabarData.bgColor = '#FFFFFF'
+				this.nvabarData.textColor = '#333333'
+			}else{
+				this.nvabarData.bgColor = ''
+				this.nvabarData.textColor = '#FFFFFF'
+			}	
+		},
 		onPullDownRefresh() {//下拉刷新
-			this.getUserInfo()
-			uni.stopPullDownRefresh()
+			if(this.hasLogin){
+				this.getUserInfo()
+				uni.stopPullDownRefresh()
+			}else{
+				uni.stopPullDownRefresh()
+			}
 		},
 		onShow(){
 			if(this.hasLogin){
@@ -254,13 +306,6 @@
 				})
 			}else{
 				this.$store.commit('updateAllNum',0)
-				authorize.getSetting().then(wxResponse =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
-					if(wxResponse == 1){
-						this.$api.redirectTo('/pages/login/login?type=0')
-					}else{
-						this.$api.navigateTo('/pages/authorization/authorization?type=0')
-					}
-				})	
 			}
 		}	
 	}
@@ -277,69 +322,167 @@
 		position:relative;
 		background: rgba(247, 247, 247, 1);
 	}	
-	.u-header{
+	.header{
 		width: 100%;
-		height: 400rpx;
+		height: 440rpx;
 		position: relative;
-		image{
-			width: 100%;
-			height: 400rpx;
-		}
+		background-size: cover;
 	}	
-	.u-header-main{
-		width: 100%;
-		height: 284rpx;
-		padding: 58rpx 0;
-		position: absolute;
-		top: 0;
-		left: 0;
-		.user-item{
-			width: 100%;
+	.header-main{
+		width: 702rpx;
+		height: 128rpx;
+		padding: 0 24rpx;
+		display: flex;
+		.header-text{
+			flex: 8;
 			display: flex;
 			flex-direction: column;
-			align-items: center;
-			margin-bottom: 16rpx;
-			.u-h1{
-				width: 410rpx;
-				font-size: $font-size-28;
-				line-height: 40rpx;
-				color: #FFFFFF;
-				margin-bottom: 8rpx;
-				-o-text-overflow: ellipsis;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				word-break: break-all;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 1;
-				overflow: hidden;
-				align-items: center;
+			.user-item{
+				flex: 1;
+				height: 64rpx;
+				line-height: 64rpx;
+				.u-tips{
+					display: inline-block;
+					float: left;
+					width: 98rpx;
+					height: 30rpx;
+					border: 1px solid #FFFFFF;
+					background: linear-gradient(128deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
+					border-radius: 16rpx;
+					line-height: 30rpx;
+					font-size: $font-size-20;
+					text-align: center;
+					color: #FFFFFF;
+					margin-left: 10rpx;
+					margin-top: 17rpx;
+				}
+				.u-viptips{
+					display: inline-block;
+					float: left;
+					width: 98rpx;
+					height: 30rpx;
+					border: 1px solid #FFE600;
+					background: linear-gradient(128deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
+					border-radius: 16rpx;
+					line-height: 30rpx;
+					font-size: $font-size-20;
+					text-align: center;
+					color: #FFE600;
+					margin-left: 10rpx;
+					margin-top: 17rpx;
+				}
+				.u-h1{
+					float: left;
+					font-size: $font-size-36;
+					color: #FFFFFF;
+					text-align: left;
+					-o-text-overflow: ellipsis;
+					text-overflow: ellipsis;
+					display: -webkit-box;
+					word-break: break-all;
+					-webkit-box-orient: vertical;
+					-webkit-line-clamp: 1;
+					overflow: hidden;
+				}
+				.u-p{
+					font-size: $font-size-24;
+					line-height: 64rpx;
+					color: #FFFFFF;
+					text-align: left;
+				}
 			}
-			.u-p{
-				font-size: $font-size-24;
-				line-height: 40rpx;
-				color: #FFFFFF;
+		}
+		.header-icon{
+			flex: 2;
+			margin-right: 20rpx;
+			image{
+				float: right;
+				width: 128rpx;
+				height: 128rpx;
+				border-radius: 100%;
+				border: 2rpx solid #FFFFFF;
 			}
 		}
-		.logo-m{
-			width: 144rpx;
-			height: 144rpx;
-			border: 2rpx solid #FFFFFF;
-			border-radius: 100%;
-			background: $bg-color;
+	}
+	.header-main-none{
+		width: 702rpx;
+		height: 152rpx;
+		padding: 0 24rpx;
+		display: flex;
+		.header-text{
+			flex: 8;
+			display: flex;
+			flex-direction: column;
+			.user-item{
+				flex: 1;
+				height: 50rpx;
+				line-height: 50rpx;
+				.line{
+					margin: 0 10rpx;
+				}
+				.u-h1{
+					float: left;
+					font-size: $font-size-36;
+					color: #FFFFFF;
+					text-align: left;
+					-o-text-overflow: ellipsis;
+					text-overflow: ellipsis;
+					display: -webkit-box;
+					word-break: break-all;
+					-webkit-box-orient: vertical;
+					-webkit-line-clamp: 1;
+					overflow: hidden;
+				}
+				.u-p{
+					font-size: $font-size-24;
+					line-height: 50rpx;
+					color: #EFEFEF;
+					text-align: left;
+				}
+				.u-btn{
+					width: 160rpx;
+					height: 40rpx;
+					background: rgba(255,255,255,.5);
+					border-radius: 5rpx;
+					line-height: 40rpx;
+					text-align: center;
+					font-size: $font-size-24;
+					color: #FFFFFF;
+					display: block;
+					margin-top: 5rpx;
+					padding-left: 6rpx;
+					.icon-xiangyouhuabeifen{
+						font-size: $font-size-24;
+					}
+				}
+			}
+		}
+		.header-icon{
+			flex: 2;
+			display: flex;
+			margin-right: 20rpx;
+			align-items: center;
+			justify-content: center;
 			image{
-				width: 144rpx;
-				height: 144rpx;
+				float: right;
+				width: 128rpx;
+				height: 128rpx;
 				border-radius: 100%;
+				border: 2rpx solid #FFFFFF;
 			}
 		}
 	}
-
 	.user-order{
-		width: 702rpx;
+		width: 654rpx;
 		height: auto;
 		padding: 0 24rpx;
 		background-color: $bg-color;
 		margin-bottom: 24rpx;
+		position: absolute;
+		bottom: -170rpx;
+		left: 24rpx;
+		border-radius: 20rpx;
+		box-shadow:0px 3px 6px rgba(225,86,22,0.07);
 	}	
 	.tab-title{
 		font-size: $font-size-28;
@@ -380,12 +523,11 @@
 		padding: 24rpx 0;
 	}
 	.order-item{
+		flex:1;
 		display: flex;
 		flex-direction: column;
 		align-items: center;
-		width: 98rpx;
 		position: relative;
-		margin-right: 53rpx;
 		&:last-child{
 			margin-right: 0;
 		}
@@ -412,18 +554,19 @@
 			color: $text-color;
 		}
 	}
-
-
 	.foot-list{
-		width: 100%;
-		// margin-bottom: 150rpx;
+		width: 702rpx;
+		padding: 0 24rpx;
+		padding-top: 168rpx;
 	}	
 	.list-cell-item{
-		width: 702rpx;
+		width: 654rpx;
 		height: auto;
 		margin-bottom: 24rpx;
 		padding:0 24rpx;
 		background: $bg-color;
+		border-radius: 20rpx;
+		box-shadow:0px 3px 6px rgba(225,86,22,0.07);
 	}
 	.list-cell{
 		display:flex;

+ 6 - 5
pages/user/order/order-list.vue

@@ -111,6 +111,7 @@
 		},
 		data() {
 			return {
+				CustomBar:this.CustomBar,// 顶部导航栏高度
 				orderTabBar: [{state: 0,text: '全部订单',orderList: []},
 							  {state: 1,text: '待确认',orderList: []},
 							  {state: 2,text: '待付款',orderList: []},
@@ -148,15 +149,15 @@
 			}
 		},
 		onLoad(e) {
-			let that = this;
-			if(e.type ==='detele'){that.isDelete = true}
-			that.currentTab = e.state
-			that.getHeaderTopHeight()//设置自定义导航高度
+			let self = this;
+			if(e.type ==='detele'){self.isDelete = true}
+			self.currentTab = e.state
+			self.getHeaderTopHeight()//设置自定义导航高度
 			//  高度自适应
 			uni.getSystemInfo({
 				success: function(res) {
 					let calc = res.windowHeight;
-					that.winHeight = calc;
+					self.winHeight = calc - self.CustomBar;
 				}
 			});
 		},

+ 224 - 0
seller/pages/club/memberList.vue

@@ -0,0 +1,224 @@
+<template>
+	<view class="container" :style="{'overflow':(showSkeleton? 'hidden' : 'auto'),'height': (showSkeleton? windowHeight + 'px' : 'auto')}">
+		<list-skeleton v-if="showSkeleton" :listType='2'></list-skeleton>
+		<scroll-view v-if="membersList.length > 0" class="league-scroll-view league-list-members" :style="{'height': getScrollHeight+'px'}" @scrolltolower="membersToLower" id="scroll-wrap" scroll-y>
+			<view class="members-item league-list-item" v-for="(item,index) in membersList" :key="index" @click="memberClicked(item.id)" :thisId="item.id">
+				<image class="league-list-img league-members-img" :src="item.logo"></image>
+				<image class="mask-pic" src="../../../static/temp/mask.png"></image>
+				<view class="league-details-info">
+					<view>
+						<image src="../../../static/temp/name-icon.png"></image>
+						<text class="main-color">{{item.name}}</text>
+					</view>
+					<view>
+						<image src="../../../static/temp/address-icon.png"></image>
+						<text class="main-color">{{item.provinceCityDistrict}}</text>
+					</view>
+					<view>
+						<image class="authenticated-icon" src="../../../static/temp/authenticated-icon.png"></image>
+						<text class="green-color">{{item.brandCount}}个品牌已认证</text>
+						<!-- <image class="arrow-right" src="../../static/temp/arrow-right.png"></image> -->
+					</view>
+				</view>
+			</view>
+			<view v-if="showLoading && membersList.length > 4">
+				<view class="loading-wrapper loading-wrapper-now" v-if="loadingNow">{{loadingText}}<text v-if="loadingText === '已至底部'">‧ ‧ ‧</text></view>
+				<view class="loading-wrapper loading-wrapper-btm" v-else>———<text class="btm-text">已至底部</text>———</view>
+			</view>
+		</scroll-view>
+		<view class="empty-container" v-if="showEmptyTips">
+			<image class="empty-container-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png"></image>
+			<text class="error-text">暂无内容</text>
+		</view>
+	</view>
+</template>
+
+<script>
+	import listSkeleton from '@/components/cm-module/listTemplate/listSkeleton'
+	import { queryMember } from "@/api/other.js"
+	export default {
+		name:'MemberList',
+		components:{
+			listSkeleton
+		},
+		props:{
+			
+		},
+	    data(){
+	        return {
+				windowHeight: '',
+				showSkeleton: true,
+				userID: '',
+	            membersList:[],
+				showEmptyTips: false,
+	            getScrollHeight: 'auto',
+				showLoading: false,
+				loadingNow: true,
+				loadingText: '上拉加载更多',
+				pageSize: 10,
+				pageNum: 1,
+				hasNextPage: false,
+				totalPage: 1,
+				pullFlag: true
+	        }
+	    },
+		created() {
+			let self = this;
+			const {windowHeight, pixelRatio} = wx.getSystemInfoSync();
+			self.windowHeight = windowHeight - 1;
+			let obj=wx.createSelectorQuery();
+			obj.select('page').boundingClientRect(function (rect) {
+
+			})
+		},
+	    methods: {
+			setScrollHeight(length) {
+				let self = this;
+				if(length > 6) {
+					self.getScrollHeight = self.windowHeight - 1;
+				} else {
+					let obj=wx.createSelectorQuery();
+					obj.selectAll('.league-list-item').boundingClientRect(function (rect) {
+					    self.getScrollHeight = rect[0].height * length/2;
+					})
+					obj.exec() ;
+				}
+			},
+	        membersToLower () {
+	            if(this.hasNextPage && this.pullFlag) {
+	            	this.getListFromServer(true);
+	            }
+	        },
+	        memberClicked (id) {
+	            wx.navigateTo({ url: `/pages/member_details/main?id=${id}`});
+	        },
+			getListFromServer(loadMore) {
+				let self = this;
+				self.showLoading = true;
+				self.loadingNow = true;
+				self.loadingText = '加载中';
+				if(loadMore) {
+					self.pageNum += 1;
+				}
+				queryMember({pageNum:this.pageNum,pageSize:this.pageSize}).then(response =>{
+					const resData = response.data;
+					const resList = resData.results;
+					if(resList && resList.length > 0){
+						self.hasNextPage = resData.hasNextPage;
+						self.totalPage = resData.totalPage;
+						if(loadMore) {
+							self.membersList = [...self.membersList,...resList];
+						} else {
+							self.membersList = [...resList];
+							self.setScrollHeight(self.membersList.length);
+							self.showSkeleton = false;
+						}
+						// 防上拉暴滑
+						self.pullFlag = false;
+						setTimeout(()=>{
+							self.pullFlag = true;
+						},500)
+						// 底部提示文案
+						if(self.hasNextPage) {
+							self.loadingText = '上拉加载更多';
+						} else {
+							self.showLoading = true;
+							self.loadingNow = false;
+						}
+					} else {
+						self.showEmptyTips = true;
+					}
+				}).catch(response =>{
+					this.$util.msg(res.msg,2000);
+				})
+			}
+	    }
+	}
+</script>
+
+<style lang="scss">
+	.league-scroll-view {
+	    width: 100%;
+		background: #fff;
+		border-top: 2rpx solid rgba(0,0,0,0.07);
+	    -webkit-overflow-scrolling: touch;
+		.league-list-item:nth-child(1), .league-list-item:nth-child(2) {
+			margin-top: 24rpx;
+		} 	
+	}
+	.league-list-item {
+	    width: 45.2%;
+	    height: 390rpx;
+	    float: left;
+	    margin-left: 2.86%;
+	    margin-bottom: 24rpx;
+	    padding-bottom:8rpx;
+	    background: #fff;
+		border: 2rpx solid #EFEFEF;
+	    border-radius: 14rpx;
+	    overflow: hidden;
+	    position: relative;
+	    display: flex;
+	    flex-direction: column;
+	    align-items: center;
+		.league-list-img {
+		    width: 100%;
+		    height: 204rpx;
+		    border-radius: 14rpx 14rpx 0 0;
+		}
+		.mask-pic {
+		    width: 100%;
+		    height: 204rpx;
+		    position: absolute;
+		}
+		.league-details-info {
+		    width: 96%;
+			margin-top: 24rpx;
+		    font-size: 26rpx;
+			image {
+			    width: 30rpx;
+			    height: 30rpx;
+			    padding: 10rpx;
+			    margin-left:-6rpx;
+			}
+			
+			text {
+			    width: 83%;
+			    display: inline-block;
+			    overflow: hidden;
+			    white-space: nowrap;
+			    text-overflow: ellipsis;
+			}
+		}
+		.league-details-info>view {
+		    display: flex;
+		    flex-direction: row;
+		    align-items: center;
+		    justify-content: center;
+		}
+		.arrow-right {
+		    width: 14rpx !important;
+		    height: 22rpx !important;
+		    margin-top: 2rpx;
+		}
+		.authenticated-icon {
+		    margin-left: -1rpx !important;
+		}
+		.authenticated-icon + text {
+		    margin-left: 5rpx;
+		}
+		.top-icon {
+		    width: 82rpx;
+		    height: 82rpx;
+		    position: absolute;
+		    top: 0;
+		    right: 0;
+		}
+		.green-color {
+			color: $green-color;
+		}
+	}
+	.loading-wrapper {
+		background: $sub-bg-color;
+	}
+</style>

+ 6 - 6
seller/pages/search/search-order.vue

@@ -409,7 +409,7 @@
 	}
 	.search{
 		width: 702rpx;
-		height: 80rpx;
+		height: 70rpx;
 		padding: 12rpx 24rpx;
 		border-bottom: 1px solid #F0F0F0;
 		position: fixed;
@@ -419,9 +419,9 @@
 		z-index: 1001;
 		.search-input{
 			width: 448rpx;
-			height: 80rpx;
+			height: 70rpx;
 			padding: 0 68rpx;
-			line-height: 80rpx;
+			line-height: 70rpx;
 			border-radius: 40rpx;
 			position: relative;
 			background: #F0F0F0;
@@ -444,15 +444,15 @@
 			}
 			input{
 				width: 448rpx;
-				height: 80rpx;
+				height: 70rpx;
 				background-color: #F0F0F0;
 				font-size: 26rpx;
 			}
 		}
 		.search-btn{
 			width: 118rpx;
-			height: 80rpx;
-			line-height: 80rpx;
+			height: 70rpx;
+			line-height: 70rpx;
 			color: $color-system;
 			font-size: 30rpx;
 			text-align: center;

+ 6 - 6
seller/pages/search/search.vue

@@ -236,7 +236,7 @@
 	}
 	.search-main{
 		width: 702rpx;
-		height: 80rpx;
+		height: 70rpx;
 		padding: 12rpx 24rpx;
 		border-bottom: 1px solid #F0F0F0;
 		position: fixed;
@@ -246,9 +246,9 @@
 		z-index: 1001;
 		.search-input{
 			width: 448rpx;
-			height: 80rpx;
+			height: 70rpx;
 			padding: 0 68rpx;
-			line-height: 80rpx;
+			line-height: 70rpx;
 			border-radius: 40rpx;
 			position: relative;
 			background: #F0F0F0;
@@ -271,15 +271,15 @@
 			}
 			input{
 				width: 448rpx;
-				height: 80rpx;
+				height: 70rpx;
 				background-color: #F0F0F0;
 				font-size: 26rpx;
 			}
 		}
 		.search-btn{
 			width: 118rpx;
-			height: 80rpx;
-			line-height: 80rpx;
+			height: 70rpx;
+			line-height: 70rpx;
 			color: $color-system;
 			font-size: 30rpx;
 			text-align: center;