瀏覽代碼

1.0.1优化

zhengjinyi 5 年之前
父節點
當前提交
6626bd5a85

+ 79 - 71
common/iconfont.scss

@@ -4,7 +4,7 @@
 	font-family: iconfont;
 	font-weight: normal;
 	font-style: normal;
-	src: url('https://at.alicdn.com/t/font_1519039_0ymp4zpb6y9h.ttf') format('truetype');
+	src: url('https://at.alicdn.com/t/font_1519039_86tu11fouc7.ttf') format('truetype');
 }
 .iconfont {
 	font-family: "iconfont" !important;
@@ -13,38 +13,82 @@
 	-webkit-font-smoothing: antialiased;
 	-moz-osx-font-smoothing: grayscale;
 }
+.icon-shanchu1:before {
+  content: "\e64b";
+}
+
+.icon-iconfonticonfontsousuo1:before {
+  content: "\e62f";
+}
+
 .icon-vertical_line:before {
   content: "\e63a";
 }
 
-.icon-2guanbi:before {
-  content: "\e602";
+.icon-fanhui:before {
+  content: "\e621";
 }
 
 .icon-shouye:before {
   content: "\e638";
 }
 
+.icon-shouyebeifen:before {
+  content: "\e620";
+}
+
+.icon-web_xiangxiazhankai:before {
+  content: "\e64e";
+}
+
 .icon-dizhi:before {
   content: "\e623e";
 }
 
-.icon-shanchu:before {
-  content: "\e612";
+.icon-dingdandibu:before {
+  content: "\e61f";
 }
 
-.icon-web_xiangxiazhankai:before {
-  content: "\e64e";
+.icon-tianjiadizhi:before {
+  content: "\e617";
 }
 
-.icon-close:before {
-  content: "\e606";
+.icon-liuyan:before {
+  content: "\e619";
+}
+
+.icon-genghuan:before {
+  content: "\e61a";
+}
+
+.icon-yunfeishuoming:before {
+  content: "\e61b";
+}
+
+.icon-shouhuodizhi:before {
+  content: "\e61c";
+}
+
+.icon-zhankai:before {
+  content: "\e61d";
+}
+
+.icon-shouqi:before {
+  content: "\e61e";
+}
+
+.icon-weigouxuan:before {
+  content: "\e641";
 }
 
 .icon-gouxuanl:before {
   content: "\e618";
 }
 
+.icon-gouxuan:before {
+  content: "\e63c";
+}
+
 .icon-jiahao:before {
   content: "\eaf3";
 }
@@ -53,34 +97,50 @@
   content: "\eaf5";
 }
 
-.icon-fanhui:before {
-  content: "\e621";
+.icon-dui:before {
+  content: "\e616";
 }
 
-.icon-weigouxuan:before {
-  content: "\e641";
+.icon-bianzu:before {
+  content: "\e613";
 }
 
-.icon-gantanhao-yuankuang:before {
-  content: "\e763";
+.icon-bianzu1:before {
+  content: "\e614";
 }
 
-.icon-jiazai:before {
-  content: "\e684";
+.icon-bianzu2:before {
+  content: "\e615";
 }
 
-.icon-gouxuan:before {
-  content: "\e63c";
+.icon-jiazai:before {
+  content: "\e684";
 }
 
 .icon-shuoming:before {
   content: "\e6ad";
 }
 
+.icon-2guanbi:before {
+  content: "\e602";
+}
+
+.icon-close:before {
+  content: "\e606";
+}
+
+.icon-gantanhao-yuankuang:before {
+  content: "\e763";
+}
+
 .icon-bianji:before {
   content: "\e603";
 }
 
+.icon-shanchu:before {
+  content: "\e612";
+}
+
 .icon-bukexiangzuohua:before {
   content: "\e607";
 }
@@ -124,55 +184,3 @@
 .icon-wodebeifenx:before {
   content: "\e611";
 }
-
-.icon-bianzu:before {
-  content: "\e613";
-}
-
-.icon-bianzu1:before {
-  content: "\e614";
-}
-
-.icon-bianzu2:before {
-  content: "\e615";
-}
-
-.icon-dui:before {
-  content: "\e616";
-}
-
-.icon-tianjiadizhi:before {
-  content: "\e617";
-}
-
-.icon-liuyan:before {
-  content: "\e619";
-}
-
-.icon-genghuan:before {
-  content: "\e61a";
-}
-
-.icon-yunfeishuoming:before {
-  content: "\e61b";
-}
-
-.icon-shouhuodizhi:before {
-  content: "\e61c";
-}
-
-.icon-zhankai:before {
-  content: "\e61d";
-}
-
-.icon-shouqi:before {
-  content: "\e61e";
-}
-
-.icon-dingdandibu:before {
-  content: "\e61f";
-}
-
-.icon-shouyebeifen:before {
-  content: "\e620";
-}

+ 3 - 3
components/module/creatOrder/choiceAddress.vue

@@ -98,7 +98,7 @@
 			width: 100%;
 			height: 84rpx;
 			line-height: 84rpx;
-			color: #E15616;
+			color: $color-system;
 			text-align: center;
 			font-size: $font-size-sb;
 			font-weight: bold;
@@ -122,7 +122,7 @@
 			align-items: center;
 			justify-content: center;
 			width: 40rpx;
-			color: #E15616;
+			color: $color-system;
 			font-size: 46rpx;
 			margin-right: 10rpx;
 		}	
@@ -179,7 +179,7 @@
 			.nexpage{
 				text-align: right;
 				font-size: $font-size-se;
-				color: #E15616;
+				color: $color-system;
 				position: absolute;
 				right: 0;
 				top: 45rpx;

+ 1 - 1
components/module/creatOrder/freight.vue

@@ -73,7 +73,7 @@
 				.icon-yunfeishuoming{
 					height: 100%;
 					padding:15rpx;
-					color: #E15616;
+					color: $color-system;
 					font-weight: normal;
 				}
 			}

+ 1 - 1
components/module/modelAlert/freightAlert.vue

@@ -111,7 +111,7 @@
 				width: 100%;
 				height: 88rpx;
 				float: left;
-				background: #000000;
+				background: $btn-confirm;
 				line-height: 88rpx;
 				font-size: $font-size-base;
 				text-align: center;

+ 2 - 2
components/module/orderDetails/orderAddress.vue

@@ -74,7 +74,7 @@
 			width: 100%;
 			height: 84rpx;
 			line-height: 84rpx;
-			color: #E15616;
+			color: $color-system;
 			text-align: center;
 			font-size: $font-size-sb;
 			font-weight: bold;
@@ -98,7 +98,7 @@
 			align-items: center;
 			justify-content: center;
 			width: 40rpx;
-			color: #E15616;
+			color: $color-system;
 			font-size: 46rpx;
 			margin-right: 10rpx;
 		}	

+ 1 - 1
components/module/orderDetails/orderInformation.vue

@@ -134,7 +134,7 @@
 					margin-left: 40rpx;
 				}
 				.view-num.ord{
-					color: #E15616;
+					color: $color-system;
 					text-align: left;
 					font-weight: bold;
 					float: left;

+ 1 - 1
components/module/productDetails/productDetails.vue

@@ -273,7 +273,7 @@
 		font-size: $font-size-base;
 		color: $text-color;
 		.iconfont{
-			color: #E15616;
+			color: $color-system;
 			margin-left: 16rpx;
 		}
 		.text{

+ 63 - 0
components/uni-search/bt-search.vue

@@ -0,0 +1,63 @@
+<template name="bt-search">
+	<view class="search-input">
+		<template>
+			<view class="gosearch-btn" @click="this.$api.navigateTo(clickPath)">
+				<text class="iconfont icon-iconfonticonfontsousuo1"></text>
+				<text>美白/润肤</text>
+			</view>
+		</template>
+	</view>
+</template>
+
+<script>
+	export default{
+		name:"bt-search",
+		props:{
+			clickPath:{	//选择块级显示还是圆形显示
+				type: String,
+				default: ''
+			}
+		},
+		data() {
+			return {
+				
+			};
+		},
+		methods:{
+			
+		}
+	}	
+</script>
+
+<style lang="scss">
+	.search-input{
+		width: 100%;
+		height: 80rpx;
+		margin-bottom: 20rpx;
+		background: #FFFFFF;
+		.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: 80rpx;
+			color: #8A8A8A;
+			.icon-iconfonticonfontsousuo1{
+				margin:0 6rpx;
+				font-size: 34rpx;
+				color: #8A8A8A;
+				z-index: 10;
+			}
+		}
+	}
+</style>

+ 327 - 0
components/uni-search/go-search.vue

@@ -0,0 +1,327 @@
+<template name="go-search">
+	<view>
+		<view class="search">
+			<view class="search-input">
+				<text class="iconfont icon-iconfonticonfontsousuo1"></text>
+				<input maxlength="20" focus type="text" value="" confirm-type="search" @focus="onFocus" @input="onShowClose" @confirm="searchStart()" placeholder="输入搜索关键词" v-model.trim="searchText"/>
+				<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText()"></text>
+			</view>
+			<view class="search-btn" @click="searchStart()">
+				搜索
+			</view>
+		</view>
+		<view class="search-container">
+			<view :class="'s-' + theme" v-if="isSearchHistory">
+				<view class="header">
+					搜索历史
+					<text class="iconfont icon-shanchu" @click="delhistory"></text>
+				</view>
+				<view class="list">
+					<view v-for="(item,index) in serachRecordList" :key="index" @click="keywordsClick(item.searchWord)">{{item.searchWord}}</view>
+				</view>
+			</view>
+		</view>
+		<!-- 删除弹窗 -->
+		<model-alert v-if="isShowDelModal"
+					 :alertText='alertText' 
+					 @btnConfirm ='confirmDetele'>
+		</model-alert>
+	</view>
+</template>
+
+<script>
+	import modelAlert from '@/components/module/modelAlert/modelAlert.vue'
+	import authorize from '@/config/authorize.js'
+	export default{
+		name:"go-search",
+		components:{
+			modelAlert
+		},
+		props:{
+			isFocus:{	//是否自动获取焦点
+				type: Boolean,
+				default: false
+			},
+			theme:{	//选择块级显示还是圆形显示
+				type: String,
+				default: 'block'
+			}
+		},
+		data() {
+			return {
+				searchText:'',								//搜索关键词
+				alertText:'确定删除全部历史记录?',
+				isShowDelModal:false,						//控制显示删除弹窗
+				isShowClose:false,							//是否显示清空输入框图标
+				isSearchHistory:false,						//是都显示搜索历史
+				serachRecordList:[]
+			};
+		},
+		created() {
+			this.initGetSerachRecord()
+		},
+		methods: {
+			initGetSerachRecord(){
+				authorize.getCode('weixin').then(wechatcode =>{
+					// console.log(wechatcode);
+					this.$api.get('/search/record',{organizeID:this.userOrganizeID,code:wechatcode},
+						response =>{
+							// console.log(response);
+							if(response.code == '1'){
+								this.serachRecordList = response.data
+								if(this.serachRecordList.length>0){
+									this.isSearchHistory = true
+								}else{
+									this.isSearchHistory = false
+								}
+							}else{
+								this.$util.msg(response.msg,2000)
+							}							
+						}
+					)
+				})
+			},
+			searchStart: function() {	//触发搜索
+				let _this = this;
+				if (_this.searchText == '') {
+					this.$util.msg('请输入关键字',2000);
+				}else{
+					_this.isSearchHistory = false
+					_this.$emit('getSearchText', _this.searchText)
+				}
+			},
+			onShowClose () { //输入框失去焦点时触发
+				this.inputEmpty(this.searchText)
+			},
+			onFocus () { //输入框获取焦点时触发
+				this.inputEmpty(this.searchText)
+			},
+			delInputText () { //清除输入框内容
+				this.searchText = ''
+				this.isShowClose = false
+				this.$parent.isShowWrapper = false
+				this.inputEmpty(this.searchText)
+			},
+			keywordsClick (item) {	//关键词搜索与历史搜索
+				this.searchText = item;
+				this.searchStart();
+			},
+			delhistory () {		//清空历史记录
+				this.isShowDelModal = true;				
+			},
+			confirmDetele() {
+				this.isShowDelModal = false;
+				authorize.getCode('weixin').then(wechatcode =>{
+					// console.log(wechatcode);
+					this.$api.get('/search/delete',{organizeID:this.userOrganizeID,code:wechatcode},
+						response =>{
+							// console.log(response);
+							if(response.code == '1'){
+								this.serachRecordList=[];
+								this.isSearchHistory = false
+							}else{
+								this.$util.msg(response.msg,2000)
+							}							
+						}
+					)
+				})
+			},
+			inputEmpty(val){
+				this.initGetSerachRecord()
+				this.$parent.isShowWrapper = false
+				if(val != ''){
+					this.isShowClose = true
+				}else{
+					this.isShowClose = false
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	@import "@/uni.scss";
+	.search{
+		width: 702rpx;
+		height: 80rpx;
+		padding: 12rpx 24rpx;
+		border-bottom: 1px solid #F0F0F0;
+		position: fixed;
+		top: 0;
+		left: 0;
+		background: #FFFFFF;
+		z-index: 999;
+		.search-input{
+			width: 448rpx;
+			height: 80rpx;
+			padding: 0 68rpx;
+			line-height: 80rpx;
+			border-radius: 40rpx;
+			position: relative;
+			background: #F0F0F0;
+			float: left;
+			.icon-iconfonticonfontsousuo1{
+				font-size: 36rpx;
+				color: #8A8A8A;
+				position: absolute;
+				left: 24rpx;
+				z-index: 10;
+			}
+			.icon-shanchu1{
+				font-size: 36rpx;
+				color: #8A8A8A;
+				position: absolute;
+				right: 24rpx;
+				top: 0;
+				padding: 0 10rpx;
+				z-index: 10;
+			}
+			input{
+				width: 448rpx;
+				height: 80rpx;
+				background-color: #F0F0F0;
+				font-size: 26rpx;
+			}
+		}
+		.search-btn{
+			width: 118rpx;
+			height: 80rpx;
+			line-height: 80rpx;
+			color: $color-system;
+			font-size: 30rpx;
+			text-align: center;
+			float: left;
+		}
+		.voice-icon{
+			width: 36rpx;
+			height: 36rpx;
+			padding: 16rpx 20rpx 16rpx 0;
+			position: absolute;
+			left: 16rpx;
+			top: 4rpx;
+			z-index: 10;
+		}
+		
+	}
+	.search-container{
+		padding-top: 106rpx;
+	}
+	.s-block{
+		background: #FFFFFF;
+		.header{
+			font-size: 32rpx;
+			padding:40rpx 24rpx 22rpx 24rpx;
+			line-height: 42rpx;
+			font-size: 30rpx;
+			font-weight: bold;
+			position: relative;
+			.icon-shanchu{
+				font-size: 36rpx;
+				color: #333333;
+				float: right;
+				padding: 0 10rpx;
+				z-index: 10;
+				font-weight: normal;
+			}
+		}
+		.list{
+			display: flex;
+			flex-wrap: wrap;
+			padding-bottom: 40rpx;
+			view{
+				color: #8A8A8A;
+				font-size: 24rpx;
+				box-sizing: border-box;
+				text-align: center;
+				height: 48rpx;
+				line-height: 48rpx;
+				border-radius: 24rpx;
+				margin:12rpx;
+				padding:.0 30rpx;
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+				background-color: #F3F3F3;
+			}
+		}
+	}
+	.s-circle{
+		margin-top: 30rpx;
+		.header{
+			font-size: 32rpx;
+			padding: 30rpx;
+			border-bottom: 2rpx solid #F9F9F9;
+			position: relative;
+			image{
+				width: 36rpx;
+				height: 36rpx;
+				padding: 10rpx;
+				position: absolute;
+				right: 40rpx;
+				top: 24rpx;
+			}
+		}
+		.list{
+			display: flex;
+			flex-wrap: wrap;
+			padding: 0 30rpx 20rpx;
+			view{
+				padding: 8rpx 30rpx;
+				margin: 20rpx 30rpx 0 0;
+				font-size: 28rpx;
+				color: #8A8A8A;
+				background-color: #F7F7F7;
+				box-sizing: border-box;
+				text-align: center;
+				border-radius: 20rpx;
+			}
+		}
+	}
+	.wanted-block{
+		margin-top: 30rpx;
+		.header{
+			font-size: 32rpx;
+			padding: 30rpx;
+		}
+		.list{
+			display: flex;
+			flex-wrap: wrap;
+			view{
+				width: 50%;
+				color: #8A8A8A;
+				font-size: 28rpx;
+				box-sizing: border-box;
+				text-align: center;
+				padding: 20rpx 0;
+				border-top: 2rpx solid #FFF;
+				border-left: 2rpx solid #FFF;
+				background-color: #F7F7F7;
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+			}
+		}
+	}
+	.wanted-circle{
+		margin-top: 30rpx;
+		.header{
+			font-size: 32rpx;
+			padding: 30rpx;
+		}
+		.list{
+			display: flex;
+			flex-wrap: wrap;
+			padding: 0 30rpx 20rpx;
+			view{
+				padding: 8rpx 30rpx;
+				margin: 20rpx 30rpx 0 0;
+				font-size: 28rpx;
+				color: #8A8A8A;
+				background-color: #F7F7F7;
+				box-sizing: border-box;
+				text-align: center;
+				border-radius: 20rpx;
+			}
+		}
+	}
+</style>

+ 327 - 0
components/uni-search/or-search.vue

@@ -0,0 +1,327 @@
+<template name="or-search">
+	<view>
+		<view class="search">
+			<view class="search-input">
+				<text class="iconfont icon-iconfonticonfontsousuo1"></text>
+				<input maxlength="20" focus type="text" value="" confirm-type="search" @focus="onFocus" @input="onShowClose" @confirm="searchStart()" placeholder="输入搜索关键词" v-model.trim="searchText"/>
+				<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText()"></text>
+			</view>
+			<view class="search-btn" @click="searchStart()">
+				搜索
+			</view>
+		</view>
+		<view class="search-container">
+			<view :class="'s-' + theme" v-if="isSearchHistory">
+				<view class="header">
+					搜索历史
+					<text class="iconfont icon-shanchu" @click="delhistory"></text>
+				</view>
+				<view class="list">
+					<view v-for="(item,index) in serachRecordList" :key="index" @click="keywordsClick(item.searchWord)">{{item.searchWord}}</view>
+				</view>
+			</view>
+		</view>
+		<!-- 删除弹窗 -->
+		<model-alert v-if="isShowDelModal"
+					 :alertText='alertText' 
+					 @btnConfirm ='confirmDetele'>
+		</model-alert>
+	</view>
+</template>
+
+<script>
+	import modelAlert from '@/components/module/modelAlert/modelAlert.vue'
+	import authorize from '@/config/authorize.js'
+	export default{
+		name:"or-search",
+		components:{
+			modelAlert
+		},
+		props:{
+			isFocus:{	//是否自动获取焦点
+				type: Boolean,
+				default: false
+			},
+			theme:{	//选择块级显示还是圆形显示
+				type: String,
+				default: 'block'
+			}
+		},
+		data() {
+			return {
+				searchText:'',								//搜索关键词
+				alertText:'确定删除全部历史记录?',
+				isShowDelModal:false,						//控制显示删除弹窗
+				isShowClose:false,							//是否显示清空输入框图标
+				isSearchHistory:false,						//是都显示搜索历史
+				serachRecordList:[]
+			};
+		},
+		created() {
+			this.initGetSerachRecord()
+		},
+		methods: {
+			initGetSerachRecord(){
+				authorize.getCode('weixin').then(wechatcode =>{
+					// console.log(wechatcode);
+					this.$api.get('/search/record',{organizeID:this.userOrganizeID,code:wechatcode},
+						response =>{
+							// console.log(response);
+							if(response.code == '1'){
+								this.serachRecordList = response.data
+								if(this.serachRecordList.length>0){
+									this.isSearchHistory = true
+								}else{
+									this.isSearchHistory = false
+								}
+							}else{
+								this.$util.msg(response.msg,2000)
+							}							
+						}
+					)
+				})
+			},
+			searchStart: function() {	//触发搜索
+				let _this = this;
+				if (_this.searchText == '') {
+					this.$util.msg('请输入关键字',2000);
+				}else{
+					_this.isSearchHistory = false
+					_this.$emit('getSearchText', _this.searchText)
+				}
+			},
+			onShowClose () { //输入框失去焦点时触发
+				this.inputEmpty(this.searchText)
+			},
+			onFocus () { //输入框获取焦点时触发
+				this.inputEmpty(this.searchText)
+			},
+			delInputText () { //清除输入框内容
+				this.searchText = ''
+				this.isShowClose = false
+				this.$parent.isShowWrapper = false
+				this.inputEmpty(this.searchText)
+			},
+			keywordsClick (item) {	//关键词搜索与历史搜索
+				this.searchText = item;
+				this.searchStart();
+			},
+			delhistory () {		//清空历史记录
+				this.isShowDelModal = true;				
+			},
+			confirmDetele() {
+				this.isShowDelModal = false;
+				authorize.getCode('weixin').then(wechatcode =>{
+					// console.log(wechatcode);
+					this.$api.get('/search/delete',{organizeID:this.userOrganizeID,code:wechatcode},
+						response =>{
+							// console.log(response);
+							if(response.code == '1'){
+								this.serachRecordList=[];
+								this.isSearchHistory = false
+							}else{
+								this.$util.msg(response.msg,2000)
+							}							
+						}
+					)
+				})
+			},
+			inputEmpty(val){
+				this.initGetSerachRecord()
+				this.$parent.isShowWrapper = false
+				if(val != ''){
+					this.isShowClose = true
+				}else{
+					this.isShowClose = false
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	@import "@/uni.scss";
+	.search{
+		width: 702rpx;
+		height: 80rpx;
+		padding: 12rpx 24rpx;
+		border-bottom: 1px solid #F0F0F0;
+		position: fixed;
+		top: 0;
+		left: 0;
+		background: #FFFFFF;
+		z-index: 1001;
+		.search-input{
+			width: 448rpx;
+			height: 80rpx;
+			padding: 0 68rpx;
+			line-height: 80rpx;
+			border-radius: 40rpx;
+			position: relative;
+			background: #F0F0F0;
+			float: left;
+			.icon-iconfonticonfontsousuo1{
+				font-size: 36rpx;
+				color: #8A8A8A;
+				position: absolute;
+				left: 24rpx;
+				z-index: 10;
+			}
+			.icon-shanchu1{
+				font-size: 36rpx;
+				color: #8A8A8A;
+				position: absolute;
+				right: 24rpx;
+				top: 0;
+				padding: 0 10rpx;
+				z-index: 10;
+			}
+			input{
+				width: 448rpx;
+				height: 80rpx;
+				background-color: #F0F0F0;
+				font-size: 26rpx;
+			}
+		}
+		.search-btn{
+			width: 118rpx;
+			height: 80rpx;
+			line-height: 80rpx;
+			color: $color-system;
+			font-size: 30rpx;
+			text-align: center;
+			float: left;
+		}
+		.voice-icon{
+			width: 36rpx;
+			height: 36rpx;
+			padding: 16rpx 20rpx 16rpx 0;
+			position: absolute;
+			left: 16rpx;
+			top: 4rpx;
+			z-index: 10;
+		}
+		
+	}
+	.search-container{
+		padding-top: 106rpx;
+	}
+	.s-block{
+		background: #FFFFFF;
+		.header{
+			font-size: 32rpx;
+			padding:40rpx 24rpx 22rpx 24rpx;
+			line-height: 42rpx;
+			font-size: 30rpx;
+			font-weight: bold;
+			position: relative;
+			.icon-shanchu{
+				font-size: 36rpx;
+				color: #333333;
+				float: right;
+				padding: 0 10rpx;
+				z-index: 10;
+				font-weight: normal;
+			}
+		}
+		.list{
+			display: flex;
+			flex-wrap: wrap;
+			padding-bottom: 40rpx;
+			view{
+				color: #8A8A8A;
+				font-size: 24rpx;
+				box-sizing: border-box;
+				text-align: center;
+				height: 48rpx;
+				line-height: 48rpx;
+				border-radius: 24rpx;
+				margin:12rpx;
+				padding:.0 30rpx;
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+				background-color: #F3F3F3;
+			}
+		}
+	}
+	.s-circle{
+		margin-top: 30rpx;
+		.header{
+			font-size: 32rpx;
+			padding: 30rpx;
+			border-bottom: 2rpx solid #F9F9F9;
+			position: relative;
+			image{
+				width: 36rpx;
+				height: 36rpx;
+				padding: 10rpx;
+				position: absolute;
+				right: 40rpx;
+				top: 24rpx;
+			}
+		}
+		.list{
+			display: flex;
+			flex-wrap: wrap;
+			padding: 0 30rpx 20rpx;
+			view{
+				padding: 8rpx 30rpx;
+				margin: 20rpx 30rpx 0 0;
+				font-size: 28rpx;
+				color: #8A8A8A;
+				background-color: #F7F7F7;
+				box-sizing: border-box;
+				text-align: center;
+				border-radius: 20rpx;
+			}
+		}
+	}
+	.wanted-block{
+		margin-top: 30rpx;
+		.header{
+			font-size: 32rpx;
+			padding: 30rpx;
+		}
+		.list{
+			display: flex;
+			flex-wrap: wrap;
+			view{
+				width: 50%;
+				color: #8A8A8A;
+				font-size: 28rpx;
+				box-sizing: border-box;
+				text-align: center;
+				padding: 20rpx 0;
+				border-top: 2rpx solid #FFF;
+				border-left: 2rpx solid #FFF;
+				background-color: #F7F7F7;
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+			}
+		}
+	}
+	.wanted-circle{
+		margin-top: 30rpx;
+		.header{
+			font-size: 32rpx;
+			padding: 30rpx;
+		}
+		.list{
+			display: flex;
+			flex-wrap: wrap;
+			padding: 0 30rpx 20rpx;
+			view{
+				padding: 8rpx 30rpx;
+				margin: 20rpx 30rpx 0 0;
+				font-size: 28rpx;
+				color: #8A8A8A;
+				background-color: #F7F7F7;
+				box-sizing: border-box;
+				text-align: center;
+				border-radius: 20rpx;
+			}
+		}
+	}
+</style>

+ 2 - 2
config/caimeiApi.js

@@ -5,8 +5,8 @@
  */
 // const requestUrl ='http://192.168.1.22:8107'//本地联调地址
 // const requestUrl ='http://192.168.1.24:8107'//俊俊联调地址
-// const requestUrl ='https://mall-b.caimei365.com'//测试
-const requestUrl ='https://mall.caimei365.com'//正式
+const requestUrl ='https://mall-b.caimei365.com'//测试
+// const requestUrl ='https://mall.caimei365.com'//正式
 const caimeiApi = {
 	/**
 	 * @封装公共get数据请求方法无加载动画

+ 12 - 0
pages.json

@@ -7,6 +7,12 @@
 				"enablePullDownRefresh":true
 			}
 		},
+		{
+			"path": "pages/search/search",
+			"style": {
+				"navigationBarTitleText": "搜索"
+			}
+		},
 		{
 			"path": "pages/tabBar/cart/cart",
 			"style": {
@@ -150,6 +156,12 @@
 			"style": {
 				"navigationBarTitleText": "物流信息"
 			}
+		},
+		{
+			"path": "pages/search/search-order",
+			"style": {
+				"navigationBarTitleText": "搜索"
+			}
 		}
     ],
 	"tabBar": {

+ 138 - 27
pages/goods/product.vue

@@ -28,13 +28,39 @@
 						<view v-if="!isLogin" class="p-login tui-skeleton-rect">
 							<text @click.stop="navToLogin">登录查看价格<text class="iconfont icon-xiayibu" style="font-size: 22rpx;margin: 0 6rpx;"></text></text>
 						</view>
-						<view v-else class="p-price tui-skeleton-fillet">
-							<text class="txt sm">¥</text>
-							<text class="txt big">{{retailPrice}}</text>
-							<text class="txt big">{{smallMoney== '0'?'.00':smallMoney}}</text>
+						<view class="wrap-main" v-else>
+							<view class="p-main" v-if="ladderPriceFlag == '0'">
+								<view class="p-price tui-skeleton-fillet">
+									<text class="txt sm">¥</text>
+									<text class="txt big">{{retailPrice}}</text>
+									<text class="txt big">{{smallMoney== '0'?'.00':smallMoney}}</text>
+								</view>
+								<view class="p-minBuy">
+									起订量:
+									<text class="min-text">{{minBuyNumber}}</text>
+								</view>
+							</view>
+							<view class="wrap-ladder" v-else>
+								<view class="ladder-text">
+									<text class="ladder-h1">说明:</text>
+									<text class="ladder-p">本商品有以下优惠购物方案</text>
+								</view>
+								<view class="ladder-main tui-skeleton-rect">
+									<view class="ladder-left">
+										<view class="ladder-b">起订量:</view>
+										<view class="ladder-b">价格:</view>
+									</view>
+									<view class="ladder-right">
+										<view class="ladder-li" v-for="(ladder,index) in  productLadderPrices" :key="index">
+											<view class="ladder-a">{{ladder.buyNumRangeShow}}</view>
+											<view class="ladder-a">¥{{ladder.buyPrice.toFixed(2)}}</view>
+										</view>
+									</view>
+								</view>
+							</view>
 						</view>
 					</view>
-					<view class="wrap-label" v-if="product.tagsListl.length>0">
+					<view class="wrap-label" v-if="product.tagsList.length>0">
 						<view class="label-a tui-skeleton-rect" v-for="(label,index) in  product.tagsList" :key="index">{{label}}</view>
 					</view>
 					<view class="wrap-info">
@@ -42,10 +68,10 @@
 							<view class="info-viewL tui-skeleton-fillet">品牌:<text>{{product.brandName == null? '其他' : product.brandName}}</text></view>
 							<view class="info-viewR tui-skeleton-fillet">包装规格:<text>{{product.unit}}</text></view>														
 						</view>
-						<view class="info-viewB">
+<!-- 						<view class="info-viewB">
 							<view class="info-f tui-skeleton-fillet">库存:<text>{{product.stock}}</text></view>
 							<view class="info-f tui-skeleton-fillet">起订量:<text>{{minBuyNumber}}</text></view>
-						</view>
+						</view> -->
 					</view>
 					<view class="wrap-seve">
 						<text class="tui-skeleton-rect">服务:</text>
@@ -134,15 +160,15 @@
 							<view class="layer-nunbox-t">
 								<view class="layer-nunbox-text">数量:</view>
 								<view class="number-box">
-									<view  class="iconfont icon-jianhao" :class="[isQuantity==true?'disabled':'']" @click="changeCountSub(pros)"></view>
+									<view  class="iconfont icon-jianhao" :class="[isQuantity==true?'disabled':'']" @click="changeCountSub()"></view>
 									<input class="btn-input" type="number" v-model="number" maxlength='4'  @blur="changeNumber($event)">
-									<view  class="iconfont icon-jiahao"  :class="[isStock==true?'disabled':'']" @click="changeCountAdd(pros)"></view>
+									<view  class="iconfont icon-jiahao"  :class="[isStock==true?'disabled':'']" @click="changeCountAdd()"></view>
 								</view>
 							</view>
 							<view class="layer-nunbox-b">
 								<view class="text">单价:
 									<text class="p sm">¥</text>
-									<text class="p bg">{{retailPrice}}</text>
+									<text class="p bg">{{buyRetailPrice}}</text>
 								</view>
 							</view>
 						</view>
@@ -150,13 +176,7 @@
 					<view class="btn"><view class="button" @click="btnConfirm">确定</view></view>
 				</view>
 			</view>
-			<no-login 
-				v-if="isShowNoLogin" 
-				:productid="productID" 
-				:telPhone='telPhone'
-				:alertType ='alertType'
-			>
-			</no-login>
+			<no-login v-if="isShowNoLogin" :productid="productID" :telPhone='telPhone' :alertType ='alertType'></no-login>
 		</view>
 	</view>
 </template>
@@ -185,6 +205,8 @@
 				isBtnType:'',
 				current:0,
 				telPhone:'',
+				ladderPriceFlag:'',
+				productLadderPrices:'',
 				loginStatus:true,
 				isAnimation:false,
 				skeletonShow:true,
@@ -202,6 +224,7 @@
 				product:{},//采美
 				productImage:[],
 				retailPrice:0,
+				buyRetailPrice:0,
 				stock:0,
 				number:0,
 				minBuyNumber:0,
@@ -235,12 +258,17 @@
 								this.productImage=[];
 								this.shop = response.data.shop;	
 								this.product = response.data.product;
+								this.ladderPriceFlag = response.data.ladderPriceFlag;
+								if(response.data.productLadderPrices!=null){
+									this.productLadderPrices = response.data.productLadderPrices;
+								}
 								this.html = response.data.productDetailInfo == null ? this.html : this.$api.adaptRichTextImg(response.data.productDetailInfo.detailInfo)
 								response.data.productImage.forEach(item =>{
 									this.productImage.push(item.image);
 								})
 								//拆分金额并转千分位格式显示
 								this.retailPrice = this.productData.retailPrice.toFixed(2);
+								this.buyRetailPrice = this.productData.retailPrice.toFixed(2);
 								if(this.productData.validFlag =='2'){
 									this.disabled = true
 								}else{
@@ -313,6 +341,13 @@
 			},	
 			changeCountAdd(){//popup弹窗数量增加按钮
 				this.number++
+				if(this.ladderPriceFlag == '1'){
+					this.productLadderPrices.forEach((item,index)=>{
+						if(this.number>=item.buyNum){
+							this.buyRetailPrice = item.buyPrice
+						}
+					})
+				}
 			},
 			changeCountSub(){//popup弹窗数量减按钮
 				if(this.number<=this.minBuyNumber){
@@ -322,6 +357,13 @@
 					return
 				}else{
 					this.number--
+					if(this.ladderPriceFlag == '1'){
+						this.productLadderPrices.forEach((item,index)=>{
+							if(this.number>=item.buyNum){
+								this.buyRetailPrice = item.buyPrice
+							}
+						})
+					}
 					this.isQuantity =false
 				}
 			 },
@@ -330,7 +372,7 @@
 				if(!this.$api.isNumber(_value)){
 					this.number = this.minBuyNumber
 				}else if(_value < this.minBuyNumber){	
-					this.$util.msg(`该商品最小起订量为${pros.minBuyNumber}`,2000);
+					this.$util.msg(`该商品最小起订量为${this.minBuyNumber}`,2000);
 					this.number = this.minBuyNumber
 				}else{
 					this.number = e.detail.value
@@ -537,6 +579,7 @@
 			.p-price{
 				height: 44rpx;
 				line-height: 44rpx;
+				float: left;
 				.txt{
 					color: #FF2A2A;
 					margin:0 2rpx;
@@ -548,6 +591,20 @@
 					font-size: $font-size-lg;
 				}
 			}
+			.p-minBuy{
+				height: 44rpx;
+				line-height: 44rpx;
+				float: right;
+				padding: 0 18rpx;
+				border-radius: 22rpx;
+				background-color: #EBEBEB;
+				color: #7F7F7F;
+				font-size: 24rpx;
+				text-align: center;
+				.min-text{
+					margin: 0 6rpx;
+				}
+			}
 			.p-login{
 				height: 44rpx;
 				line-height: 44rpx;
@@ -555,6 +612,60 @@
 				font-size: $font-size-sm;
 			}
 		}
+		.wrap-ladder{
+			float: left;
+			width: 100%;
+			border-bottom: 1px solid #F8F8F8;
+			.ladder-text{
+				height: 34rpx;
+				line-height: 34rpx;
+				margin-bottom: 24rpx;
+				font-size: 24rpx;
+				color: #999999;
+				.ladder-p{
+					font-size: 20rpx;
+				}
+			}
+			.ladder-main{
+				width: 654rpx;
+				height: 102rpx;
+				padding: 24rpx;
+				background: url(https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E9%98%B6%E6%A2%AF%E4%BB%B7%E6%A0%BC%E8%83%8C%E6%99%AF%403x.png);
+				background-size: cover;
+				border-radius: 20rpx;
+				display: flex;
+				.ladder-left{
+					flex: 1.5;
+					line-height: 51rpx;
+					font-size: 24rpx;
+					.ladder-b{
+						text-align-last: justify;
+					}
+				}
+				.ladder-right{
+					height: 100%;
+					display: flex;
+					align-items: center;
+					flex: 8.5;
+					.ladder-li{
+						height: 100%;
+						flex: 1;
+						display:flex;
+						flex-flow: column;
+						align-items: center;
+						.ladder-a{
+							flex: 1;
+							height: 51rpx;
+							line-height: 51rpx;
+							font-size: 26rpx;
+							text-align: justify;
+							color: #FA6400;	
+							font-weight: bold;
+						}
+					}
+				}
+			}
+		}
 		.wrap-label{
 			float: left;
 			width: 100%;
@@ -567,7 +678,7 @@
 				color: #FFFFFF;
 				text-align: center;
 				border-radius: 20rpx;
-				background:linear-gradient(333deg,rgba(255,171,158,1) 0%,rgba(236,106,93,1) 100%);
+				background:linear-gradient(135deg,rgba(250,100,0,0.7) 0%,rgba(249,80,63,0.7) 100%);
 				margin: 0 22rpx 22rpx 0;
 				display: inline-block;
 			}
@@ -619,7 +730,7 @@
 			color: $text-color;
 			border-bottom: 1px solid #F8F8F8;
 			.iconfont{
-				color: #E15616;
+				color: $color-system;
 				margin-left: 20rpx;
 				font-size: $font-size-sm;
 			}
@@ -660,10 +771,10 @@
 					left: 0;
 				}
 				&.current{
-					color:#E15616;
+					color:$color-system;
 					font-weight: bold;
 					.line{
-						background: #E15616;
+						background: $color-system;
 					}
 				}
 			}
@@ -676,7 +787,7 @@
 	.isLower{
 		width: 100%;
 		height: 90rpx;
-		background-color: rgba(0,0,0,.8);
+		background-color: rgba(255, 191, 162, 0.5);
 		line-height: 90rpx;
 		text-align: center;
 		color: #FFFFFF;
@@ -775,16 +886,16 @@
 				color: #FFFFFF;
 			}
 			.btn-cart{
-				background-color: #000000;
+				background-color: #EFAF00;
 			}
 			.btn-cart.disabled{
-				background-color: #7F7F7F;
+				background-color: rgba(239, 175, 0, 0.5);
 			}
 			.btn-bay{
 				background:linear-gradient(135deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
 			}
 			.btn-bay.disabled{
-				background-color: #FF9494;
+				background-color: linear-gradient(135deg,rgba(242,143,49,0.5) 0%,rgba(225,86,22,0.5) 100%);;
 			}
 		}
 	}
@@ -909,7 +1020,7 @@
 					display: flex;
 					align-items: center;
 					justify-content: center;
-					background-color: #E15616;
+					background: $btn-confirm;
 					font-size: $font-size-base;
 					border-radius: 14rpx;
 				}

+ 1 - 1
pages/login/login.vue

@@ -218,7 +218,7 @@
 			.logo-text{
 				font-size: 30rpx;
 				line-height: 44rpx;
-				color: #E15616;
+				color: $color-system;
 				font-weight: 600;
 				margin-top: 20rpx;
 			}

+ 544 - 0
pages/search/search-order.vue

@@ -0,0 +1,544 @@
+<template>
+	<view class="search-container">
+		<or-search :theme="themeClass" @getSearchText="getSearchText"></or-search>
+		<view class=" order-container" v-if="isShowWrapper" :style="{'overflow':(showSkeleton? 'hidden' : 'auto'),'height': (showSkeleton? windowHeight + 'px' : 'auto')}">
+			<scroll-view  class="tui-skeleton"  @scrolltolower="scrolltolower" scroll-y >
+				<view  :class="{'tui-order-list':scrollTop >= 0}" class="tui-skeleton clearfix">
+					<!-- 空白页 -->
+					<empty v-if="isShowEmpty" :navbarHeight="navbarHeight"></empty>
+					<!-- 列表 -->
+					<view v-else class="tui-order-content">
+						<view  class="tui-order-item" v-for="(order,orderIndex) in orderList" :key="orderIndex" @click.stop="detail(order.orderID)">
+							<view class="order-title">
+								<view class="order-title-t">
+									<view class="order-title-num tui-skeleton-fillet">订单号:{{order.orderNo}}</view>
+									<view class="order-title-tip tui-skeleton-fillet">{{orderStateExp(order.status)}}</view>
+								</view>
+								<view class="order-title-b">下单时间:{{order.orderTime}}</view>
+							</view>
+							<block v-for="(shop,index) in order.shopOrderList" :key="index">
+								<view class="goods-title">
+									<view class="title-logo tui-skeleton-fillet"><image :src="shop.shopLogo" mode=""></image></view>
+									<view class="title-text tui-skeleton-fillet">{{shop.shopName}}</view>
+								</view>
+								<view class="goods-item" v-for="(pros,prosIndex) in shop.cmOrderProducts" :key="prosIndex">
+									<view class="goods-pros-t">
+										<view class="pros-img tui-skeleton-fillet"><image :src="pros.productImage" alt="" /></view>
+										<view class="pros-product">
+											<view class="producttitle tui-skeleton-fillet">{{pros.name}}</view>
+											<view class="productspec tui-skeleton-fillet">规格:{{pros.productUnit}}</view>
+											<view class="productprice">
+												<view class="price tui-skeleton-fillet">
+													<text>¥{{pros.price}}</text>
+												</view>
+												<view class="count tui-skeleton-fillet">
+													<text class="small">x</text>{{pros.num}}
+												</view>
+											</view>
+										</view>	
+									</view>
+								</view>	
+							</block>
+							<view class="order-footer">
+								<view class="order-footer-top" v-if="order.discountFee!=0">经理折扣:¥{{orderPriceToFixed(order.discountFee)}}</view>
+								<view class="order-footer-bot">
+									<view class="count tui-skeleton-fillet">共{{order.productCount}}件商品</view>
+									<view class="money tui-skeleton-fillet">合计:¥{{orderPriceToFixed(order.payableAmount)}}</view>
+								</view>
+							</view>
+							<!-- 底部button -->
+							<order-button ref="orderButton" 
+										  :status="order.status" 
+										  :orderID="order.orderID" 
+										  @buttonConfirm="handButtonConfirm">
+							</order-button>
+						</view>
+						<!--加载loadding-->
+						<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
+						<tui-nomore :visible="!pullUpOn" bgcolor="#F7F7F7" :text='nomoreText'></tui-nomore>
+						<!--加载loadding-->
+					</view>
+				</view>
+			</scroll-view>
+		</view>
+		<!-- 分享弹窗 -->
+		<share-alert   v-if="isShareModal"
+					   :orderID="btnoRderID" 
+					   @shareConfirm ='onShareAppMessage'>
+		</share-alert>
+		<!-- 删除订单弹窗 -->
+		<model-alert v-if="isShowDelModal"
+					 :alertText='alertText'
+					 @btnConfirm ='handOrderDetele'>
+		</model-alert>
+		<!-- 取消订单弹窗 -->
+		<cancel-alert v-if="isCenceModal"
+					 :cenceAlertText='cenceAlertText'
+					 @cenceConfirm ='handCenceConfirm'>
+		</cancel-alert>
+		<!-- 透明模态层 -->
+		<modal-layer v-if='isModalLayer'></modal-layer>
+	</view>
+</template>
+
+<script>
+	import orSearch from '@/components/uni-search/or-search.vue'
+	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
+	import tuiNomore from "@/components/tui-components/nomore/nomore"
+	import orderButton from '@/components/module/orderDetails/orderListButton'		 //按钮
+	import modalLayer from "@/components/modal-layer"
+	import empty from "@/components/empty";
+	import shareAlert from '@/components/module/modelAlert/shareAlert'			 //分享弹窗
+	import modelAlert from '@/components/module/modelAlert/modelAlert'			 //删除弹窗
+	import cancelAlert from '@/components/module/modelAlert/cancelAlert'		 //取消弹窗
+	export default {
+		components: {
+			orSearch,
+			tuiLoadmore,
+			tuiNomore,
+			orderButton,
+			empty,
+			shareAlert,
+			modelAlert,
+			cancelAlert
+		},
+		data() {
+			return {
+				themeClass: 'block',
+				isShowWrapper:false,
+				isModallayer:false,
+				isShowEmpty:false,
+				windowHeight: '',
+				showSkeleton: true,
+				userID:0,
+				orderList: [],
+				btnoRderID: 0, //点击按钮传入的的订单ID
+				pageNum: 1,	  //页数
+				pageSize: 10,  //条数
+				scrollTop: 0,
+				deteleType:'',
+				skeletonShow: true,
+				isShareModal: false,//控制分享弹窗
+				isCenceModal: false,//控制取消订单弹窗
+				isShowDelModal: false,//控制删除订单弹窗
+				isModalLayer: false,
+				loadding: false,
+				pullUpOn: true,
+				hasNextPage: false,
+				pullFlag: true,
+				navbarHeight:'',
+				alertText: '确认删除订单吗?',
+				cenceAlertText: '确认取消该订单吗?',
+				nomoreText: '上拉显示更多',
+			}
+		},
+		created() {
+			let self = this;
+			self.$api.getStorage().then((resolve) =>{
+				self.userID = resolve.userID
+			})
+			self.setScrollHeight();
+			self.$api.loginStatus().then((resolveData) => {
+				self.loginStatus = resolveData;
+			});
+		},
+		methods:{
+			getSearchText(e) {
+				this.isShowWrapper = true
+				this.getOrderDatainit(4)
+			},
+			setScrollHeight() {
+				const {windowHeight, pixelRatio} = wx.getSystemInfoSync();
+				this.windowHeight = windowHeight - 1;
+				this.scrollHeight = windowHeight - 1;
+			},
+			getOrderDatainit(index,source){
+				/**
+				 * @订单初始化加载  仅加载第一页码
+				 * @param:orderState(订单状态:0全部,1待付款,2待发货,3已发货,4退货款)
+				 * @param:userID(用户ID)
+				 * @param:index(页码数)
+				 * @param:pageSize(每页条数)
+				 * @param:organizeID(全局变量组织ID)
+				 */ 
+				this.$api.getStorage().then((resolve) =>{
+					this.userID = resolve.userID
+					let param = {orderState:index,userID:this.userID,index:1,pageSize:this.pageSize,organizeID:this.userOrganizeID};
+					this.$api.lodingGet('/order/myOrder',param,
+						response => {
+							if(response.code === '1'){
+								const _responseData = response.data.results
+								if(_responseData && _responseData.length > 0){
+									let filrerData = _responseData.filter(item=>{
+										//添加不同状态下订单的表现形式
+										item = Object.assign(item, this.orderStateExp(item.state));
+										return item;
+									});
+									this.orderList =[];
+									filrerData.forEach(item=>{
+										this.orderList.push(item);
+									})
+									this.hasNextPage = response.data.hasNextPage;
+									if(this.hasNextPage){
+										this.pullUpOn = false
+										this.nomoreText = '上拉显示更多'
+									}else{
+										if(this.orderList.length < 2){
+											this.pullUpOn = true
+										}else{
+											this.pullUpOn = false
+											this.nomoreText = '已至底部'
+										}
+									}
+								}else{
+									this.isShowEmpty = true
+								}
+							}else{
+								this.$util.msg(response.msg,2000);
+							}
+						}
+					)	
+				})
+			}, 
+			getOnReachBottomData(index){//上拉加载
+				this.pageNum+=1
+				let param = {orderState:index,userID:this.userID,index:this.pageNum,pageSize:this.pageSize,organizeID:this.userOrganizeID}
+				this.$api.get('/order/myOrder',param,
+					response => {
+						if(response.code === '1'){
+							let resData = response.data.results
+							this.hasNextPage = response.data.hasNextPage;
+							this.orderList = this.orderList.concat(resData)
+							this.pullFlag = false;// 防上拉暴滑
+							setTimeout(()=>{this.pullFlag = true;},500)
+							if(this.hasNextPage){
+								this.pullUpOn = false
+								this.nomoreText = '上拉显示更多'
+							}else{
+								this.loadding = false
+								this.pullUpOn = false
+								this.nomoreText = '已至底部'
+							}
+						}else{
+							this.$util.msg(response.msg,2000);
+						}
+					}
+				)	
+			},
+			scrolltolower() {
+				if(this.hasNextPage){
+					this.loadding = true
+					this.pullUpOn = true
+					this.getOnReachBottomData();
+				}	
+			},
+			detail(id) {//订单详情跳转
+				console.log(id)
+				this.isModalLayer = true;	
+				this.$api.navigateTo(`/pages/user/order/order-details?state=${this.currentTab}&orderID=${id}`)
+			},
+			handButtonConfirm(data) {//获取点击
+				console.log('点击按钮的类型是',data);
+				this.handShowAlert(data)
+				this.btnoRderID = data.orderId
+			},
+			handShowAlert(data) {//执行
+				switch(data.type){
+					case 'delete':
+						this.isShowDelModal = true;
+						break
+					case 'cancel':
+						this.isCenceModal = true;
+						break
+					case 'query':
+						this.isModalLayer = true;
+						this.$api.navigateTo('/pages/user/order/order-logistics?orderID='+data.orderId)
+						break
+					case 'confirm':
+						this.handOrderConfirm(data.orderId);
+						break
+				}
+			},
+			handOrderConfirm (id){//确认收货
+				this.$api.get('/order/affirm',{orderID:id},
+					response => {
+						if(response.code === '1'){
+							this.$util.msg(response.msg,2000,true,'success');
+							this.isShowDelModal = false
+							setTimeout(() => {
+								this.getOrderDatainit(this.currentTab)
+							},2000)
+						}else{
+							this.$util.msg(response.msg,2000);
+						}
+					}
+				)
+			},
+			handOrderDetele (){//删除订单
+				this.$api.get('/order/delete',{orderID:this.btnoRderID},
+					response => {
+						if(response.code === '1'){
+							this.$util.msg(response.msg,2000,true,'success');
+							this.isShowDelModal = false
+							setTimeout(() => {
+								this.getOrderDatainit(this.currentTab)
+							},2000)
+						}else{
+							this.$util.msg(response.msg,2000);
+						}
+					}
+				)
+			},
+			handCenceConfirm (){//取消订单
+				this.$api.get('/order/cancel',{orderID:this.btnoRderID},
+					response => {
+						if(response.code === '1'){
+							this.$util.msg(response.msg,2000,true,'success');
+							this.isCenceModal = false
+							setTimeout(() => {
+								this.getOrderDatainit(this.currentTab)
+							},2000)
+						}else{
+							this.$util.msg(response.msg,2000);
+						}
+					}
+				)
+			},
+			onShareAppMessage (res){//分享转发
+				this.isShareModal = false
+				if (res.from === 'button') {// 来自页面内转发按钮
+					// console.log(res.target)
+			    }
+				return {
+					title: '您有新的分享订单,快来查看吧~',
+					path: `/pages/user/order/orderShareLogin?orderID=${this.btnoRderID}&userID=${this.userID}`,
+					imageUrl:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E5%88%86%E4%BA%AB%E7%95%8C%E9%9D%A2a%CC%8A%403x.png'
+				}
+			},
+			//订单状态文字和颜色
+			orderStateExp (state){
+				let stateText = '',
+					stateTextObject={
+						4:'交易完成',
+						5:'订单完成',
+						6:'已关闭',
+						7:'交易全退',
+						77:'交易全退',
+						11:'待付款待发货',
+						12:'待付款部分发货',
+						13:'待付款已发货',
+						21:'部分付款待发货',
+						22:'部分付款部分发货',
+						23:'部分付款已发货',
+						31:'已付款待发货',
+						32:'已付款部分发货',
+						33:'已付款已发货',
+						111:'待付款待发货',
+					}
+				Object.keys(stateTextObject).forEach(key => {
+					if(key == state){
+						stateText = stateTextObject[key]
+					}
+				})
+				return stateText;
+			},
+			orderPriceToFixed (n){
+				let price ='';
+				price = n.toFixed(2);
+				return price
+			},
+		},
+		onPageScroll(e) {
+			this.scrollTop = e.scrollTop;
+		}
+	}
+</script>
+
+<style lang="scss">
+	page{
+		background-color: #F7F7F7 !important;
+	}
+	.order-container {
+		scroll-view {
+			height: 100%;
+			overflow: scroll;
+		}	
+	}	
+	.container {
+		padding-bottom: env(safe-area-inset-bottom);
+		height: auto;
+		position: relative;
+	}
+	.tui-order-content{
+		width: 100%;
+		height: auto;
+	}
+	.tui-order-list {
+		width: 100%;
+		position: relative;
+	}
+	.tui-order-item {
+		display: flex;
+		flex-direction: column;
+		width: 702rpx;
+		padding:20rpx 24rpx 0 24rpx;
+		background: #fff;
+		border-bottom: 20rpx solid #F7F7F7;
+	}
+	.order-title{
+		width: 100%;
+		height: auto;
+		.order-title-t{
+			width: 100%;
+			height: 40rpx;
+			float: left;
+			font-size: $font-size-base;
+			line-height: 40rpx;
+			font-weight: bold;
+			.order-title-num{
+				float: left;
+				text-align: left;
+				color: $color-system;
+			}
+			.order-title-tip{
+				float: right;
+				text-align: right;
+				color: #FF2A2A;
+			}
+		}
+		.order-title-b{
+			width: 100%;
+			height: 40rpx;
+			float: left;
+			margin-top: 8rpx;
+			font-size: $font-size-base;
+			line-height: 40rpx;
+			color: #999999;
+			text-align: left;
+		}
+	}
+	.goods-title{
+		width: 100%;
+		height: 48rpx;
+		float: left;
+		margin-top: 24rpx;
+		.title-logo{
+			width: 48rpx;
+			height: 48rpx;
+			float: left;
+			image{
+				width: 48rpx;
+				height: 48rpx;
+			}
+		}
+		.title-text{
+			float: left;
+			margin-left: 16rpx;
+			font-size: $font-size-base;
+			color: $text-color;
+			text-align: left;
+			line-height: 48rpx;
+			font-weight: bold;
+		}
+	}
+	.goods-item{
+		width: 100%;
+		height: auto;
+	}	
+	.goods-pros-t{
+		display: flex;
+		align-items: center;
+		width: 100%;
+		height: 217rpx;
+		padding:24rpx 0;
+		.pros-img{
+			width: 210rpx;
+			height: 100%;
+			border-radius: 10rpx;
+			margin:0 26rpx 0 0;
+			border:1px solid #f3f3f3;
+			image{
+				width: 100%;
+				height: 100%;
+				border-radius: 10rpx;
+			}
+		}
+	}
+	.pros-product{
+		width: 468rpx;
+		height: 100%;
+		line-height: 36rpx;
+		font-size: $font-size-sb;	
+		position: relative;
+		.producttitle{
+			width: 100%;
+			display: inline-block;
+			height: auto;							
+			text-overflow:ellipsis;
+			display: -webkit-box;
+			word-break: break-all;
+			-webkit-box-orient: vertical;
+			-webkit-line-clamp: 2;
+			overflow: hidden;
+			margin-bottom: 8rpx;
+		}
+		.productspec{
+			height: 36rpx;
+			color: #999999;
+		}
+		.productprice{
+			height: 48rpx;
+			position: absolute;
+			width: 100%;
+			bottom: 0;
+			.price{
+				line-height: 48rpx;
+				font-size: $font-size-base;
+				width: 48%;
+				color: #FF2A2A;
+				float: left;
+				font-weight: bold;
+			}
+			.count{
+				height: 100%;
+				float: right;
+				position: relative;
+				.small{
+					color: #666666;
+				}
+			}
+		}
+	}
+	.order-footer{
+		width: 100%;
+		height: 78rpx;
+		float: left;
+		.order-footer-top{
+			width: 100%;
+			height: 34rpx;
+			line-height: 34rpx;
+			font-size: $font-size-sm;
+			color: #999999;
+			text-align: right;
+		}
+		.order-footer-bot{
+			width: 100%;
+			float: left;
+			height: 48rpx;
+			line-height: 48rpx;
+			font-size: $font-size-base;
+			font-weight: bold;
+			color: $text-color;
+			.count{
+				width: 50%;
+				float: left;
+				text-align: left;
+			}
+			.money{
+				width: 50%;
+				float: right;
+				text-align: right;
+			}
+		}
+	}
+</style>

+ 265 - 0
pages/search/search.vue

@@ -0,0 +1,265 @@
+<template>
+	<view class="search-container">
+		<go-search :theme="themeClass" @getSearchText="getSearchText"></go-search>
+		<view class="container commodity-list-wrapper" v-if="isShowWrapper" :style="{'overflow':'auto','height': 'auto'}">
+			<scroll-view :style="{'height':scrollHeight+'px'}" @scrolltolower="toLower" scroll-y v-if="!showEmpty">
+				<view v-for="(item,index) in commodityList" :key="index" :id="item.id" class="all-type-list-content commodity-list" @click.stop="navToDetailPage(item.id)">
+					<image mode='widthFix' :src="item.mainImage"  class="list-img" alt="list-img"></image>
+					<view class="list-details-info">
+						<text class="list-details-title">{{item.name}}</text>
+						<text class="list-details-specs">规格:{{item.unit}}</text>
+						<text class="list-details-miniQuantity" v-if="fromRegularPurchasePage">起订量:{{item.minBuyNumber}}</text>
+						<view class="list-details-price">
+							<view v-if="!loginStatus" class="list-login-now">
+								<text @click.stop="toLoginPage" class="login-now">登录查看价格<text class="iconfont icon-xiayibu" style="font-size: 22rpx;margin: 0 6rpx;"></text></text>
+							</view>
+							<view class="list-price" v-else>
+								<text>¥<text class="price-larger">{{item.retailPrice.toFixed(2)}}</text></text>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view v-if="showLoading && commodityList.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="showEmpty">
+				<image class="empty-container-image" src="https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E7%A9%BA%E7%8A%B6%E6%80%81%403x.png"></image>
+				<text class="error-text">抱歉,没有相关商品!</text>
+			</view>
+			<!-- 透明模态层 -->
+			<modal-layer v-if='isModallayer'></modal-layer>
+		</view>
+	</view>
+</template>
+
+<script>
+	import goSearch from '@/components/uni-search/go-search.vue'
+	import modalLayer from "@/components/modal-layer"
+	import authorize from '@/config/authorize.js'
+	export default {
+		components: {
+			goSearch,
+			modalLayer
+		},
+		data() {
+			return {
+				themeClass: 'block',
+				searchInputVal:'',
+				isShowWrapper:false,
+				isModallayer:false,
+				windowHeight: '',
+				showSkeleton: true,
+				showEmpty: false,
+				userID: '',
+				loginStatus: true,
+				scrollHeight: '',
+				commodityList: [],
+				showLoading: false,
+				loadingNow: true,
+				loadingText: '上拉加载更多',
+				pageSize: 10,
+				pageNum: 1,
+				hasNextPage: false,
+				totalPage: 1,
+				pullFlag: true,
+			}
+		},
+		created() {
+			let self = this;
+			self.$api.getStorage().then((resolve) =>{
+				self.userID = resolve.userID
+			})
+			self.setScrollHeight();
+			self.$api.loginStatus().then((resolveData) => {
+				self.loginStatus = resolveData;
+			});
+		},
+		onLoad() {
+			
+		},
+		methods:{
+			getSearchText(e) {
+				this.searchInputVal = e
+				this.getListFromServer(false)
+			},
+			toLoginPage() {
+				const {lastPageType, lastPageVal} = this.$parent;
+				uni.navigateTo({
+					url:`/pages/login/login?listType=${lastPageType}&listVal=${lastPageVal}`
+				})
+			},
+			toLower() {
+				// 第一次加载排除常用商品
+				if(this.hasNextPage && this.pullFlag) {
+					this.getListFromServer(true);
+				}
+			},
+			setScrollHeight() {
+				const {windowHeight, pixelRatio} = wx.getSystemInfoSync();
+				this.windowHeight = windowHeight - 1;
+				this.scrollHeight = windowHeight - 1;
+			},
+			getListFromServer(loadMore) {
+				let self = this;
+				self.showLoading = true;
+				self.loadingNow = true;
+				self.loadingText = '加载中';
+				self.showEmpty = false;				
+				if(loadMore) {
+					self.pageNum += 1;
+				}
+				authorize.getCode('weixin').then(wechatcode =>{
+					let params = {code:wechatcode,searchWord:self.searchInputVal,index:self.pageNum,pageSize:self.pageSize,organizeID:self.userOrganizeID}
+					self.$api.lodingGet('/search/product',params,
+						response => {
+							if(response.code == '1') {
+								this.isShowWrapper = true
+								const resData = response.data;
+								const resList = resData.results;
+								if(resList && resList.length > 0){
+									self.hasNextPage = resData.hasNextPage;
+									self.totalPage = resData.totalPage;
+									self.showEmpty = false;
+									if(loadMore) {
+										self.commodityList = [...self.commodityList,...resList];
+									} else {
+										self.commodityList =[];
+										self.commodityList = [...resList];
+										self.showSkeleton = false;
+									}
+									console.log(self.commodityList)
+									// 防上拉暴滑
+									self.pullFlag = false;
+									setTimeout(()=>{
+										self.pullFlag = true;
+									},500)
+									// 底部提示文案
+									if(self.hasNextPage) {
+										self.loadingText = '上拉加载更多';
+									} else {
+										self.showLoading = true;
+										self.loadingNow = false;
+									}
+								} else {
+									if(!loadMore) {
+										self.showEmpty = true;
+									}
+								}
+							} else {
+								this.$util.msg(response.msg,3000);
+							}
+						}
+					)
+				})
+			},
+			navToDetailPage(id) {
+				this.isModallayer = true;
+				this.$api.navigateTo(`/pages/goods/product?id=${id}`);
+				this.isModallayer = false;
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page{
+		background-color: #F7F7F7 !important;
+	}
+	.commodity-list-wrapper {
+		scroll-view {
+			height: 100%;
+		}
+		.empty-container-image {
+			margin-top: -300rpx;
+		}
+		.toIndexPage {
+			bottom: 390rpx;
+		}
+		.show-more-btn {
+			width: 276rpx;
+			height: 52rpx;
+			line-height: 52rpx;
+			border: 2rpx solid #D8D8D8;
+			background: #F7F7F7;
+			font-size: 26rpx;
+			margin: 26rpx 0;
+			position: absolute;
+			left: 50%;
+			margin-left: -138rpx;
+		}
+	}
+	.all-type-list-content {
+		height: 216rpx;
+		padding: 24rpx;
+		background: #fff;
+		margin-bottom: 2rpx;
+		display: flex;
+		flex-direction: row;
+		box-sizing: content-box;
+		.list-img {
+			width: 210rpx;
+			height: 218rpx !important;
+			margin-right: 26rpx;
+			border-radius: 10rpx;
+			border: 2rpx solid #f3f3f3;
+		}
+	}
+	.list-details-info {
+		width: 466rpx;
+		display: flex;
+		flex-direction: column;
+		font-size: 26rpx;
+		position: relative;
+		.list-details-title {
+			line-height: 38rpx;
+			text-overflow: ellipsis;
+			overflow: hidden;
+			display: -webkit-box;
+			-webkit-line-clamp: 2;
+			line-clamp: 2;
+			-webkit-box-orient: vertical;
+		}
+		.list-details-specs {
+			margin-top: 8rpx;
+			color: #999999;
+		}
+		.list-details-miniQuantity {
+			margin-top: 7rpx;
+		}
+	}
+	.list-details-price {
+		width: 100%;
+		display: flex;
+		flex-direction: row;
+		justify-content: space-between;
+		position: absolute;
+		bottom: 0;
+		right: 0;
+		.price-icon {
+			width: 22rpx;
+			height: 28rpx;
+			vertical-align: middle;
+			margin-right: 10rpx;
+		}
+		.price-icon + text {
+			font-size: 25rpx;
+			vertical-align: middle;
+		}
+		.list-login-now {
+			color: #F8C499;
+			position: absolute;
+			bottom: 0;
+		}
+		.login-now {
+			padding: 10rpx 10rpx 10rpx 0;
+		}
+		.list-price {
+			color: #FF2A2A;
+			.price-larger {
+				font-size: 32rpx;
+			}
+		}
+	}
+</style>

+ 20 - 3
pages/tabBar/cart/cart.vue

@@ -416,24 +416,41 @@
 			    })
 			},		
 			changeCountAdd(item,pros){//商品数量加加
+				let ladderPriceList = pros.productLadderPrices;
 				if(pros.productCount>=pros.stock){
 					pros.productCount= pros.stock
 					this.isStock =true
 					return
 				}else{
 					pros.productCount++
+					if(pros.ladderPriceFlag == '1'){
+						ladderPriceList.forEach((item,index)=>{
+							if(pros.productCount>=item.buyNum){
+								pros.retailPrice = item.buyPrice
+							}
+						})
+					}
 					this.isStock =false
 				}
+				
 				this.updateShoppogNum(pros)
 				this.totalShopPeice();
 			},
 			changeCountSub(item,pros){//商品数量减减
+				let ladderPriceList = pros.productLadderPrices;
 				if(pros.productCount<=pros.minBuyNumber){
 					pros.productCount= pros.minBuyNumber
 					this.$util.msg(`该商品最小起订量为${pros.minBuyNumber}`,2000);
 					return
 				}else{
 					pros.productCount--
+					if(pros.ladderPriceFlag == '1'){
+						ladderPriceList.forEach((item,index)=>{
+							if(pros.productCount>=item.buyNum){
+								pros.retailPrice = item.buyPrice
+							}
+						})
+					}
 				}
 				this.updateShoppogNum(pros)
 				this.totalShopPeice();
@@ -707,7 +724,7 @@
 			overflow: hidden;
 			background-color:#FFFFFF;
 			font-size: 36rpx;
-			color:#E15616;
+			color:$color-system;
 		}
 		&.disabled{
 			.checkbox{
@@ -1023,10 +1040,10 @@
 				float: left;
 			}
 			.btn.btn-cancel{
-				background: #000000;
+				background:#EEC1AB;
 			}
 			.btn.btn-confirm{
-				background:linear-gradient(135deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
+				background:#FF2A2A;
 			}
 			@keyframes showDelbtn {
 				0% {

+ 41 - 6
pages/tabBar/home/home.vue

@@ -2,7 +2,10 @@
 	<view class="container home clearfix">	
 		<!-- 头部轮播 -->
 		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="9"></tui-skeleton>
-		<view class="container-home tui-skeleton">
+		<view :class="'container-home-'+ inputActive" class="tui-skeleton">
+			<view :class="'search-input-' + inputActive">
+				<bt-search :clickPath="clickPath"></bt-search>
+			</view>
 			<view class="banner-section">
 				<!-- <uni-swiper-dot :info="bannerList" :current="current" field="content" :mode="mode" > -->
 				<swiper class="banner tui-banner tui-skeleton-rect" circular @change="swiperChange" :autoplay="true" :interval="5000" :duration="500" :circular="false">
@@ -127,19 +130,24 @@
 	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
 	import authorize from '@/config/authorize.js'
 	import modalLayer from "@/components/modal-layer"
+	import btSearch from '@/components/uni-search/bt-search.vue'
+	
 	import { mapMutations} from 'vuex';
 	export default {
 		components:{
 			tuiSkeleton,
-			modalLayer
+			modalLayer,
+			btSearch
 		},
 		data() {
 			return {
 				userID:'',
+				inputActive:'float',
 				current:0,
 				mode:'round',
 				modallayer:false,
 				isLogin:false,
+				clickPath:'/pages/search/search',
 				bannerImageList:[],
 				hotGoodsList:[],
 				skeletonShow: true,
@@ -147,8 +155,8 @@
 				productsClassify:[], //导航分类
 				mallPageModules:'', //优惠模块分类
 				navInforList:[
-					{text:'会员中心',icon:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E4%BC%9A%E5%91%98%E4%B8%AD%E5%BF%83%E5%A4%87%E4%BB%BD%202%403x.png'},
-					{text:'在线客服',icon:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E5%9C%A8%E7%BA%BF%E5%AE%A2%E6%9C%8D%E5%A4%87%E4%BB%BD%403x.png'}
+					{text:'会员中心',icon:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAAZU0AACaPrfbB8I435.png'},
+					{text:'在线客服',icon:'https://img.caimei365.com/group1/M00/03/8D/Cmis215XHXWABv0rAACt9b8scec656.png'}
 				],
 				navServerList:[
 					{text:'会员优惠',icon:'../../../static/temp/server1@2x.png',path:'/pages/service/member'},
@@ -257,7 +265,15 @@
 						});
 					}
 				)	
-			},
+			}
+		},
+		onPageScroll(e){
+			// console.log(e.scrollTop);//实时获取到滚动的值
+			if(e.scrollTop>50){
+				this.inputActive = 'fixed'
+			}else{
+				this.inputActive = 'float'
+			}	
 		},
 		onPullDownRefresh() {//下拉刷新
 			this.getHomeInformation()
@@ -271,7 +287,7 @@
 			return {
 			  title: '采美采购商城-生美/医美采购服务平台',
 			  path: 'pages/tabBar/home/home',
-			  imageUrl:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E5%88%86%E4%BA%AB%E7%95%8C%E9%9D%A2a%CC%8A%403x.png'
+			  imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
 			}
 		},
 		onShow(){
@@ -286,6 +302,25 @@
 		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;
+	}
 	.banner-section{
 		width: 100%;
 		height: 366rpx;

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

@@ -2,7 +2,7 @@
 	<view class="container user clearfix">
 		<view class="user-section" :class="[!isShowNoLogin  ? 'show' : 'none']">
 			<view class="u-header">
-				<image src="https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E4%BD%8D%E5%9B%BE%403x.png" mode=""></image>
+				<image src="https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAbjn5AAltlmA1D20381.png" mode=""></image>
 				<view class="u-header-main">
 					<view class="user-item">
 						<view class="logo-m">

+ 3 - 3
pages/user/account/account.vue

@@ -2,7 +2,7 @@
 	<view class="container account clearfix">
 		<view class="account-header">
 			<view class="h-account">
-				<image src="https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E8%B4%A6%E6%88%B7%E4%BD%99%E9%A2%9D%E6%98%8E%E7%BB%86bg%403x.png" mode=""></image>
+				<image src="https://img.caimei365.com/group1/M00/03/8D/Cmis215XHXWAJ2l7AAGcgkqy28c765.png" mode=""></image>
 				<view class="m-account">
 					<view class="m-m title">
 						<text class="m-p">可用余额</text>
@@ -59,7 +59,7 @@
 			</view>
 		</scroll-view>
 		<view class="showAccounExp" :class="[isShowAccounExp == true ? 'show':'hide']" @tap="hideAccounExp">
-			<image src="https://img.caimei365.com/group1/M00/03/88/Cmis214djY2AOVH_AAmQfMlMLk8815.png" mode=""></image>
+			<image src="https://img.caimei365.com/group1/M00/03/8D/Cmis215XHXWAZAHAAA2oDvspRRU775.png" mode=""></image>
 			<text class="iconfont icon-close" @click="hideAccounExp"></text>
 		</view>
 	</view>
@@ -368,7 +368,7 @@ page, .container{
 		text-align: center;
 		position: relative;
 		&.current{
-			color: #E15616;
+			color: $color-system;
 		}
 	}	
 }

+ 1 - 1
pages/user/address/address.vue

@@ -237,7 +237,7 @@
 			.tag{
 				width: 120rpx;
 				height: 40rpx;
-				background: #E15616;
+				background: $color-system;
 				border-radius: 20rpx;
 				font-size: $font-size-sm;
 				color: #FFFFFF;

+ 1 - 1
pages/user/order/create-order.vue

@@ -294,7 +294,7 @@
 			.icon-yunfeishuoming{
 				height: 100%;
 				padding: 0 15rpx;
-				color: #E15616;
+				color: $color-system;
 				font-weight: normal;
 			}
 		}

+ 41 - 4
pages/user/order/myOrder.vue

@@ -3,12 +3,20 @@
 		<!-- 自定义返回 -->
 		<header-back :systeminfo='systeminfo' :navbar-data='nvabarData' :headerBtnPosi ="headerBtnPosi" :isDelete="isDelete"></header-back>
 		<view class="container-order">
+			<view class="search-input">
+				<template>
+					<view class="gosearch-btn" @click="goSearch()">
+						<text class="iconfont icon-iconfonticonfontsousuo1"></text>
+						<text>美白/润肤</text>
+					</view>
+				</template>
+			</view>
 			<!--选项卡逻辑自己实现即可,此处未做处理-->
 			<tui-tabs :tabs="tabs" 
 					  :isFixed="scrollTop>=0" 
 					  :currentTab="currentTab" 
-					  selectedColor="#E15616" 
-					  sliderBgColor="#E15616"
+					  selectedColor="$color-system" 
+					  sliderBgColor="$color-system"
 					  @change="change"
 					  :marginTop="navbarHeight">
 			</tui-tabs>
@@ -318,7 +326,7 @@
 				return {
 					title: '您有新的分享订单,快来查看吧~',
 					path: `/pages/user/order/orderShareLogin?orderID=${this.btnoRderID}&userID=${this.userID}`,
-					imageUrl:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E5%88%86%E4%BA%AB%E7%95%8C%E9%9D%A2a%CC%8A%403x.png'
+					imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
 				}
 			},
 			//订单状态文字和颜色
@@ -435,6 +443,35 @@
 		background: #fff;
 		border-bottom: 20rpx solid #F7F7F7;
 	}
+	.search-input{
+		width: 100%;
+		height: 80rpx;
+		margin-bottom: 20rpx;
+		.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: #F7F7F7;
+			margin: 0 auto;
+			padding:0 20rpx;
+			font-size: 28rpx;
+			line-height: 80rpx;
+			color: #8A8A8A;
+			.icon-iconfonticonfontsousuo1{
+				margin:0 6rpx;
+				font-size: 34rpx;
+				color: #F29857;
+				z-index: 10;
+			}
+		}
+	}
 	.order-title{
 		width: 100%;
 		height: auto;
@@ -448,7 +485,7 @@
 			.order-title-num{
 				float: left;
 				text-align: left;
-				color: #E15616;
+				color: $color-system;
 			}
 			.order-title-tip{
 				float: right;

+ 9 - 9
pages/user/order/order-cashier.vue

@@ -122,14 +122,14 @@
 				let statusBarHeight = this.systeminfo.statusBarHeight // 状态栏高度
 				let headerPosi = this.headerBtnPosi
 				let btnPosi = { // 胶囊实际位置,坐标信息不是左上角原点
-				      height: headerPosi.height,
-				      width: headerPosi.width,
-				      // 胶囊top - 状态栏高度
-				      top: headerPosi.top - statusBarHeight,
-				      // 胶囊bottom - 胶囊height - 状态栏height (现胶囊bottom 为距离导航栏底部的长度)
-				      bottom: headerPosi.bottom - headerPosi.height - statusBarHeight,
-				      // 屏幕宽度 - 胶囊right
-				      right: this.systeminfo.screenWidth - headerPosi.right
+				      height: headerPosi.height,
+				      width: headerPosi.width,
+				      // 胶囊top - 状态栏高度
+				      top: headerPosi.top - statusBarHeight,
+				      // 胶囊bottom - 胶囊height - 状态栏height (现胶囊bottom 为距离导航栏底部的长度)
+				      bottom: headerPosi.bottom - headerPosi.height - statusBarHeight,
+				      // 屏幕宽度 - 胶囊right
+				      right: this.systeminfo.screenWidth - headerPosi.right
 				}
 				this.navbarHeight= headerPosi.bottom + btnPosi.bottom// 原胶囊bottom + 现胶囊bottom
 			},
@@ -162,7 +162,7 @@
 				return {
 					title: '您有新的分享订单,快来查看吧~',
 					path: `/pages/user/order/orderShareLogin?orderID=${this.shareOrderID}&userID=${this.userID}`,
-					imageUrl:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E5%88%86%E4%BA%AB%E7%95%8C%E9%9D%A2a%CC%8A%403x.png'
+					imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
 				}
 			},
 			goIndex(){

+ 9 - 9
pages/user/order/order-details.vue

@@ -232,21 +232,21 @@
 				return {
 					title: '您有新的分享订单,快来查看吧~',
 					path: `/pages/user/order/orderShareLogin?orderID=${this.orderID}&userID=${this.userID}`,
-					imageUrl:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E5%88%86%E4%BA%AB%E7%95%8C%E9%9D%A2a%CC%8A%403x.png'
+					imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
 				}
 			},
 			getHeaderTopHeight(){
 				let statusBarHeight = this.systeminfo.statusBarHeight // 状态栏高度
 				let headerPosi = this.headerBtnPosi
 				let btnPosi = { // 胶囊实际位置,坐标信息不是左上角原点
-				      height: headerPosi.height,
-				      width: headerPosi.width,
-				      // 胶囊top - 状态栏高度
-				      top: headerPosi.top - statusBarHeight,
-				      // 胶囊bottom - 胶囊height - 状态栏height (现胶囊bottom 为距离导航栏底部的长度)
-				      bottom: headerPosi.bottom - headerPosi.height - statusBarHeight,
-				      // 屏幕宽度 - 胶囊right
-				      right: this.systeminfo.screenWidth - headerPosi.right
+				      height: headerPosi.height,
+				      width: headerPosi.width,
+				      // 胶囊top - 状态栏高度
+				      top: headerPosi.top - statusBarHeight,
+				      // 胶囊bottom - 胶囊height - 状态栏height (现胶囊bottom 为距离导航栏底部的长度)
+				      bottom: headerPosi.bottom - headerPosi.height - statusBarHeight,
+				      // 屏幕宽度 - 胶囊right
+				      right: this.systeminfo.screenWidth - headerPosi.right
 				}
 				this.navbarHeight= headerPosi.bottom + btnPosi.bottom// 原胶囊bottom + 现胶囊bottom
 			},

+ 26 - 24
pages/user/order/order-list.vue

@@ -2,12 +2,15 @@
 	<view class="container" :style="{paddingTop:navbarHeight+'px'}">
 		<!-- 自定义返回 -->
 		<header-back :systeminfo='systeminfo' :navbar-data='nvabarData' :headerBtnPosi ="headerBtnPosi" :isDelete="isDelete"></header-back>
-		<scroll-view scroll-x scroll-with-animation class="tab-view" :scroll-left="scrollLeft" :style="{marginTop:navbarHeight+'px'}">
-			<view v-for="(item,index) in orderTabBar" :key="index" class="tab-bar-item" :class="[currentTab==index ? 'active' : '']"
-			 :data-current="index" @tap.stop="onClickTab">
-				<text class="tab-bar-title">{{item.text}}</text>
-			</view>
-		</scroll-view>
+		<view class="order-section-top" :style="{marginTop:navbarHeight+'px'}">
+			<bt-search :clickPath="clickPath"></bt-search>
+			<scroll-view scroll-x scroll-with-animation class="tab-view" :scroll-left="scrollLeft">
+				<view v-for="(item,index) in orderTabBar" :key="index" class="tab-bar-item" :class="[currentTab==index ? 'active' : '']"
+				 :data-current="index" @tap.stop="onClickTab">
+					<text class="tab-bar-title">{{item.text}}</text>
+				</view>
+			</scroll-view>
+		</view>
 		<swiper class="tab-content" :current="currentTab" duration="80" @animationfinish="onChange" :style="{height:winHeight+'px'}" >
 			<swiper-item v-for="(tabItem,index) in orderTabBar" :key="index">
 				<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="false" :loadingType="9"></tui-skeleton>
@@ -93,6 +96,7 @@
 
 <script>
 	import headerBack from '@/components/module/headerNavbar/header-back' 		 	 //自定义导航
+	import btSearch from '@/components/uni-search/bt-search.vue'						//搜索
 	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
 	import tuiListCell from "@/components/tui-components/list-cell/list-cell"
 	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
@@ -103,9 +107,11 @@
 	import shareAlert from '@/components/module/modelAlert/shareAlert'			 //分享弹窗
 	import modelAlert from '@/components/module/modelAlert/modelAlert'			 //删除弹窗
 	import cancelAlert from '@/components/module/modelAlert/cancelAlert'		 //取消弹窗
+	
 	export default {
 		components: {
 			empty,
+			btSearch,
 			tuiListCell,
 			tuiLoadmore,
 			tuiNomore,
@@ -119,6 +125,7 @@
 		},
 		data() {
 			return {
+				clickPath:'/pages/search/search-order',
 				orderTabBar: [{state: 0,text: '全部订单',orderList: []},
 							  {state: 1,text: '待付款',orderList: []},
 							  {state: 2,text: '待发货',orderList: []},
@@ -138,13 +145,11 @@
 				userID:0,
 				orderData: [],
 				btnoRderID: 0, //点击按钮传入的的订单ID
-				currentTab: 0,
 				pageNum: 1,	  //页数
 				pageSize: 10,  //条数
 				scrollTop: 0,
 				deteleType:'',
 				skeletonShow: true,
-				isEmpty: false,
 				isDelete:false,
 				isClickChange: false,
 				isShareModal: false,//控制分享弹窗
@@ -388,7 +393,7 @@
 				return {
 					title: '您有新的分享订单,快来查看吧~',
 					path: `/pages/user/order/orderShareLogin?orderID=${this.btnoRderID}&userID=${this.userID}`,
-					imageUrl:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/02/%E5%88%86%E4%BA%AB%E7%95%8C%E9%9D%A2a%CC%8A%403x.png'
+					imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
 				}
 			},
 			//订单状态文字和颜色
@@ -471,7 +476,13 @@
 		height: 0;
 		color: transparent;
 	}
-
+	.order-section-top{
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 99;
+		background: #FFFFFF;
+	}
 	.tab-view::before {
 		content: '';
 		position: absolute;
@@ -482,23 +493,15 @@
 		right: 0;
 		left: 0;
 	}
-
 	.tab-view {
 		width: 100%;
 		height: 80rpx;
 		overflow: hidden;
 		box-sizing: border-box;
-		position: fixed;
-		top: 0;
-		/* #ifdef H5 */
-		top: 44px;
-		/* #endif */
-		left: 0;
-		z-index: 99;
 		background: #fff;
 		white-space: nowrap;
+		border-top: 1px solid #F7F7F7;
 	}
-
 	.tab-bar-item {
 		padding: 0;
 		height: 80rpx;
@@ -509,7 +512,6 @@
 		text-align: center;
 		box-sizing: border-box;
 	}
-
 	.tab-bar-title {
 		height: 80rpx;
 		line-height: 80rpx;
@@ -519,11 +521,11 @@
 	}
 
 	.active {
-		border-bottom: 4rpx solid #E15616;
+		border-bottom: 4rpx solid $color-system;
 	}
 
 	.active .tab-bar-title {
-		color: #E15616 !important;
+		color: $color-system !important;
 	}
 
 	/*tabbar end*/
@@ -543,7 +545,7 @@
 		height: auto;
 	}
 	.tui-order-list {
-		margin-top: 80rpx;
+		margin-top: 180rpx;
 		width: 100%;
 		position: relative;
 	}
@@ -568,7 +570,7 @@
 			.order-title-num{
 				float: left;
 				text-align: left;
-				color: #E15616;
+				color: $color-system;
 			}
 			.order-title-tip{
 				float: right;

+ 2 - 1
uni.scss

@@ -12,9 +12,10 @@
  * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
  */
 /* 颜色变量 */
+$color-system:#E15616;
 $border-color:#EBEBEB;
 $text-color:#333333;
-$btn-confirm:#E15616;
+$btn-confirm:linear-gradient(135deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
 $btn-cancel:#EEC1AB;
 $bg-color:#ffffff;
 $sub-bg-color: #F7F7F7;