Browse Source

二手交易线上化

zhengjinyi 5 năm trước cách đây
mục cha
commit
4b90383552

+ 2 - 2
common/config/config.js

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

+ 1 - 1
components/cm-module/creatOrder/goodsList.vue

@@ -12,7 +12,7 @@
 						<view class="pros-img"><image :src="pros.mainImage" alt="" /></view>
 						<view class="pros-product">
 							<view class="producttitle">{{pros.name}}</view>
-							<view class="productspec">规格:{{pros.unit}}</view>
+							<view class="productspec"  v-if="pros.productCategory!=2">规格:{{pros.unit}}</view>
 							<view class="productspec" v-if="pros.productCode!=''&&pros.productCode!=null">
 								<view >商品编码:{{pros.productCode}}</view>
 							</view>

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

@@ -647,7 +647,7 @@
 			width: 420rpx;
 			height: 80rpx;
 			background: #F7F7F7;
-			border-radius: 14rpx;
+			border-radius: 40rpx;
 			float: left;
 			position: relative;
 			.input{

+ 819 - 0
components/cm-module/listTemplate/secondHand.vue

@@ -0,0 +1,819 @@
+<template>
+	<view class="container commodity-list-wrapper" :style="{'overflow':(showSkeleton? 'hidden' : 'auto'),'height': (showSkeleton? windowHeight + 'px' : 'auto')}">
+		<view class="good-search clearfix" v-if="searchStatus">
+			<view class="good-search-top">
+				<view class="search-from name">
+					<text class="iconfont icon-iconfonticonfontsousuo1"></text>
+						<input class="input"  
+							   type="text" 
+							   :focus="isFocus"
+							   confirm-type="search" 
+							   v-model="searchKeyword" 
+							   placeholder="请输入商品关键词" 
+							   @input="onShowClose" 
+							   @confirm="searchOpertor"
+							   maxlength="20"/>
+					<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText"></text>
+				</view>
+				<view class="search-btn">
+					<button class="search-btn" type="default" @click.stop="searchOpertor">搜索</button>
+				</view>
+			</view>
+			<view class="good-search-tabs">
+				<view class="good-search-tabs-t">
+					<view class="tabs-item" 
+						  :class="{ active: tabIndex === 1 }" 
+						  @click="changeTabsFirst(1)">{{tabIndexSelectText}}
+						  <text class="iconfont icon-xiangxia1" :class="isTabIndexSelect ? 'reto': '' "></text>
+					</view>
+					<view class="tabs-item" :class="{ active: tabIndex === 2 }" @click="changeTabs(2)">临期产品</view>
+					<view class="tabs-item" :class="{ active: tabIndex === 3 }" @click="changeTabs(3)">其他</view>
+				</view>
+				<view class="tabs-item-first clearfix" v-if="isTabIndexSelect">
+					<view class="tabs-item" 
+						  v-for="(item,index) in screenTabs" 
+						  :key="index" 
+						  :class="{ active: screenTab === index }" 
+						  @click="changeScreenTabs(item,index)"
+					>
+						  {{item}}
+						  <text class="iconfont icon-gou" v-if="screenTab === index"></text>
+					</view>
+				</view>	
+			</view>
+		</view>
+		<!-- 顶部tab遮罩层 -->
+		<view class="popup-tabs" v-if="isTabIndexSelect" @touchmove.stop.prevent="discard" @tap="hideTabIndexSelect">
+			<view class="mask"></view>
+		</view>
+		<list-skeleton v-if="showSkeleton"></list-skeleton>
+		<view class="empty-container" v-if="isShowEmpty" >
+			<image class="empty-container-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png"></image>
+			<text class="error-text">{{isShowEmptyText}}</text>
+		</view>
+		<!-- 二手商品 -->
+		<view class="product-container" v-else >
+			<view :class="tabIndex"  :style="{paddingTop:searchStatus?'160rpx':''}">
+				<scroll-view :style="{'height':scrollHeight+'px'}" @scrolltolower="scrolltolower" scroll-y v-if="listData.length > 0">
+					<view v-for="(item,index) in listData" :key="index" :id="item.id" class="all-type-list-content commodity-list" @click.stop="navToDetailPage(item.pid)"  >
+					    <image mode='widthFix' :src="item.mainImage"  class="list-img" alt="list-img"></image>
+						<view class="list-details-info">
+							<view class="list-details-title"> 
+								<view class="tabs" v-if="item.newAdded == 1">
+									<image mode='widthFix' src="../../../static/temp/icon-new@2x.png"  class="list-tags"></image>
+								</view>
+								<view class="name" :style="{paddingLeft:item.newAdded == 1 ? '38rpx' :'0rpx'}">{{isInterceptHtmlFn(item.name)}}</text></view>
+							</view>	
+							<view class="list-details-price">
+								<view class="list-shop">
+									<view class="list-price">
+										<text class="price-larger">¥{{toFixedFn(item.price1)}}</text>
+									</view>
+								</view>
+								<button class="add-cart-btn" @click.stop="operationHanld(item)">数量</button>
+							</view>
+						</view>
+					</view>
+					<view v-if="showLoading && listData.length > 4 && !showRegularBtn">
+						<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>
+		</view>
+		<!-- 可拖动悬浮按钮,点击跳转购物车 ,暂时隐藏 ,后面需要的话放开即可 -->
+<!-- 		<cm-drag :cartNum="cartQuantity" 
+				 :isDock="true"
+				 :existTabBar="true" 
+				 @btnClick="btnClick" 
+				 @btnTouchstart="btnTouchstart" 
+				 @btnTouchend="btnTouchend">
+		</cm-drag>	 -->	
+		<!-- 透明模态层 -->
+		<modal-layer v-if='isModallayer'></modal-layer>
+	</view>
+</template>
+
+<script>
+	import listSkeleton from '@/components/cm-module/listTemplate/listSkeleton'
+	import modalLayer from "@/components/modal-layer"
+	import uniStars from '@/components/uni-stars/uni-stars.vue'
+	import cmDrag from '@/components/cm-custom/cm-drag.vue'
+	import { mapState,mapMutations } from 'vuex';
+	export default{
+		name:'productList',
+		components:{
+			listSkeleton,
+			modalLayer,
+			uniStars,
+			cmDrag
+		},
+		props: {
+			searchStatus:{
+				type:Boolean,
+				default:false
+			}
+		},
+		data(){
+			return{
+				isShowClose:false,
+				isModallayer:false,
+				windowHeight: '',
+				showSkeleton: false,
+				isShowEmpty: false,
+				isShowEmptyText: '搜索相关商品',
+				clubUserId: '',
+				searchKeyword:'',//搜索关键字
+				secondHandType:1,//二手商品分类
+				instrumentType:'',//二手仪器分类
+				isFocus:false,
+				scrollHeight: '',
+				listData: [],
+				showLoading: false,
+				loadingNow: true,
+				loadingText: '上拉加载更多',
+				pageSize: 10,
+				pageNum: 1,
+				totalPage:1,
+				hasNextPage: false,
+				pullFlag: true,
+				cartQuantity: 0,
+				showRegularBtn: false,
+				isPrecedence:false,
+				ladderPriceList:[],//是否 阶梯,
+				goodsList:[],
+				isShow: false,
+				screenTabs:['二手仪器','轻光电','重光电','耗材配件'],
+				tabIndex:1,
+				screenTab:0,
+				isTabIndexSelect:false,
+				tabIndexSelectText:'二手仪器'
+			}
+		},
+		created() {
+			this.setScrollHeight();		
+			this.$api.getComStorage('userInfo').then((resolve) =>{
+				if(resolve.userIdentity == 1){
+					this.identity = 1
+				}
+			}).catch(error =>{
+				console.log(error)
+			})
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+				this.clubUserId = resolve.userID
+			})
+			this.getProductAgainInfo()
+			this.isFocus = true
+		},
+		computed: {
+			...mapState(['hasLogin','userInfo'])
+		},
+		methods:{
+			scrolltolower() {
+				if(this.totalPage>this.listData.length && this.pullFlag) {
+					this.getProductAgainInfo(true);
+				}
+			},
+			setScrollHeight() {
+				const {windowHeight, pixelRatio} = wx.getSystemInfoSync();
+				this.windowHeight = windowHeight - 1;
+				this.scrollHeight = windowHeight - 1;
+			},
+			getProductAgainInfo(loadMore) {//搜索商品
+				this.showLoading = true;
+				this.loadingNow = true;
+				this.loadingText = '加载中';
+				this.isShowEmpty = false;				
+				if(loadMore) {this.pageNum += 1;}
+				let params = {
+						secondHandType:this.secondHandType,
+						instrumentType:this.instrumentType,
+						searchKeyword:this.searchKeyword,
+						pageNum:this.pageNum,
+						pageSize:this.pageSize
+				}
+				this.SellerService.GetOrderSecondHandProductList(params).then(response =>{
+					this.isShowWrapper = true
+					const resData = response.data
+					const results = resData.results
+					if(results && results.length > 0){
+						this.hasNextPage = resData.hasNextPage;
+						this.showEmpty = false;
+						if(loadMore) {
+							this.listData = [...this.listData,...results];
+						} else {
+							this.listData = [...results];
+							this.showSkeleton = false;
+						}
+						// 防上拉暴滑
+						this.pullFlag = false;
+						setTimeout(()=>{ this.pullFlag = true; },500)
+						// 底部提示文案
+						if(this.hasNextPage) {
+							this.loadingText = '上拉加载更多';
+						} else {
+							this.showLoading = true;
+							this.loadingNow = false;
+						}
+					} else {
+						if(!loadMore) {
+							this.isShowEmpty = true;
+							this.isShowEmptyText ='暂无相关商品'
+						}
+					}
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000);
+				})
+			},
+			searchOpertor(){//搜索商品
+				if(this.searchKeyword == ''){
+					this.$util.msg('请输入商品关键词',2000)
+				}else{
+					this.pageNum = 1
+					this.showSkeleton = true;
+					this.getProductAgainInfo();
+					this.isFocus = false
+				}
+			},
+			operationHanld(prop){
+				this.$emit('operationConfim',prop);
+			},
+			navToDetailPage(id) {
+				this.isModallayer = true;
+				this.$api.navigateTo(`/pages/goods/secondProduct?id=${id}`);
+				this.isModallayer = false;
+			},
+			onShowClose () {//输入框失去焦点时触发
+				if(this.searchKeyword != ''){
+					this.isShowClose = true
+				}else{					
+					this.isShowClose = false
+				}
+			},
+			delInputText(){//清除输入框内容
+				this.searchKeyword = '';
+				this.listData =[];
+				this.isFocus = true
+				this.isShowClose = false;
+				this.loadingNow = false;
+				this.isShowEmpty = true;
+				this.isShowEmptyText ='暂无相关商品'
+			},
+			isInterceptHtmlFn(text){
+				let name = this.$reg.interceptHtmlFn(text)
+				return name
+			},
+			changeTabs(index){
+				this.tabIndex = index
+				this.secondHandType = index
+				this.isTabIndexSelect = false
+				if(this.tabIndex == 2 || this.tabIndex ==3){
+					this.instrumentType = ''
+					this.getProductAgainInfo()
+				}
+			},
+			changeTabsFirst(index){
+				this.tabIndex = index
+				this.secondHandType = index
+				this.isTabIndexSelect = !this.isTabIndexSelect
+			},
+			changeScreenTabs(item,index){
+				this.screenTab = index
+				this.isTabIndexSelect = false
+				this.tabIndexSelectText = item
+				this.instrumentType = index+1
+				this.getProductAgainInfo();
+			},
+			toFixedFn(text){//处理小数点后两位数
+				return Number(text).toFixed(2);
+			},
+			hideTabIndexSelect(){
+				this.isTabIndexSelect = false
+			},
+			discard(){
+				//丢弃
+			},
+			btnClick() {
+				this.$emit('goCartPage')
+			},
+			btnTouchstart() {
+				// console.log('btnTouchstart');
+			},
+			btnTouchend() {
+				// console.log('btnTouchend');
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	
+	.all-zuhe-list{
+		background: #FFFFFF;
+	}
+	.foot_conten{
+		width: 655rpx;
+		background: #fff;
+		font-size: 28rpx;
+		height: 80rpx;
+		// line-height: 80rpx;
+		display: inherit;
+		padding: 10px;
+		overflow: hidden;
+		margin: 20rpx auto;
+	}
+	.zuhe_foot-box{
+		float: left;
+		overflow: hidden;
+		white-space: nowrap;
+		// text-overflow: ellipsis;
+		width: 490rpx;
+	}
+	.zuhe_foot-box text{
+		margin-right: 36rpx;
+	}
+	.foot_text{
+		color: #FF2A2A;
+	}
+	.foot_conten .buycart{
+		width: 162rpx;
+		height: 64rpx;
+		background: #EFAF00 !important;
+		color: #fff;
+		font-size: 28rpx;
+		border-radius: 36rpx;
+		text-align: center;
+		line-height: 64rpx;
+		float: right;
+	}
+	.price-none{
+		font-size: 24rpx;
+		color: #666666;
+		}
+	.zuhe_title{
+		background:#FFFFFF;
+		height: 76rpx;
+		font-size: 28rpx;
+		color: #1675E1;
+		border-bottom: 4rpx solid #1675E1 ;
+		line-height: 76rpx;
+		padding-left: 30rpx;
+		&.active{
+			color: #E15616;
+			border-bottom: 4rpx solid #E15616;
+		}
+	}
+	.tabstyle{
+		width: 128rpx;
+		height: 76rpx;
+		font-size: 26rpx;
+		display: inline-block;
+		border-radius: 10rpx;
+		text-align: center;
+		line-height: 76rpx;
+		border: 2rpx solid #EEEEEE;
+		position: relative;
+		margin-right: 12rpx;
+		&.addstyle{
+			background: $btn-confirm;
+			color: #FFFFFF;
+			&::before{
+				content: "";
+				width: 0;
+				height: 0;
+				border-top: 20rpx solid transparent;
+				border-right: 20rpx solid #FFFFFF;
+				border-left: 20rpx solid transparent;
+				border-bottom: 20rpx solid #FFFFFF;
+				position: absolute;
+				right: 0;
+				bottom: 0;
+			}
+		}
+		.icon-gou{
+			width: 36rpx;
+			height: 36rpx;
+			line-height: 36rpx;
+			text-align: center;
+			color: #E15616;	
+			position: absolute;
+			bottom: -5rpx;
+			right: -5rpx;
+			font-weight: bold;
+			font-size: $font-size-28;
+		}
+	}
+	.commodity-list-wrapper {
+		scroll-view {
+			height: 100%;
+		}
+		.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;
+		}
+	}
+	.good-search{
+		height: auto;
+		width: 702rpx;
+		padding: 10rpx 24rpx;
+		background: #FFFFFF;
+		display: flex;
+		align-items: center;
+		margin-bottom: 20rpx;
+		position: fixed;
+		flex-direction: column;
+		top: 0;
+		left: 0;
+		z-index: 999;
+		.good-search-top{
+			width: 702rpx;
+			height: 70rpx;
+			flex: 1;
+			.search-from{
+				width: 582rpx;
+				height: 70rpx;
+				background: #F7F7F7;
+				border-radius: 40rpx;
+				float: left;
+				position: relative;
+				.input{
+					width: 340rpx;
+					height: 70rpx;
+					float: left;
+					line-height: 70rpx;
+					color: $text-color;
+					font-size: $font-size-24;
+				}
+				.icon-iconfonticonfontsousuo1{
+					width: 64rpx;
+					height: 70rpx;
+					line-height: 70rpx;
+					text-align: center;
+					display: block;
+					font-size: $font-size-38;
+					float: left;
+					color: #999999;
+				}
+				.icon-shanchu1{
+					font-size: $font-size-32;
+					color: #999999;
+					position: absolute;
+					width: 120rpx;
+					height: 70rpx;
+					line-height: 70rpx;
+					top: 0;
+					right: 0;
+					text-align: center;
+					z-index: 10;
+				}
+			}
+			.search-btn{
+				// width: 120rpx;
+				line-height: 70rpx;
+				text-align: center;
+				font-size: $font-size-28;
+				color: $color-system;
+				float: left;
+				background: #FFFFFF;
+				margin-left: 10rpx;
+			}
+		}
+		.good-search-tabs{
+			width: 702rpx;
+			height: auto;
+			flex: 1;
+			position: relative;
+			.good-search-tabs-t{
+				height: 64rpx;
+				width: 702rpx;
+				padding: 10rpx 0;
+				display: flex;
+				justify-content: center;
+				justify-items: center;
+				.tabs-item{
+					flex: 1;
+					height: 64rpx;
+					border-radius: 10rpx;
+					background: #F7F7F7;
+					margin-right: 22rpx;
+					line-height: 64rpx;
+					font-size: $font-size-28;
+					color: #333333;
+					text-align: center;
+					position: relative;
+					.icon-xiangxia1{
+						width: 64rpx;
+						height: 64rpx;
+						line-height: 64rpx;
+						text-align: center;
+						color: #333333;
+						font-size: $font-size-24;
+						transform:rotate(0deg);
+						&.reto{
+							transform:rotate(180deg);
+						}
+					}
+					&.active{
+						color: $color-system;
+						.icon-xiangxia1{
+							color: $color-system;
+						}
+					}
+					&:last-child{
+						margin-right: 0;
+					}
+				}
+			}
+			.tabs-item-first{
+				position: absolute;
+				bottom: -308rpx;
+				left: -24rpx;
+				height: auto;
+				width: 702rpx;
+				background-color: #FFF;
+				z-index: 999;
+				padding: 0 24rpx 10rpx 24rpx;
+				border-top: 1px solid #F7F7F7;
+				.tabs-item{
+					width: 100%;
+					height: 70rpx;
+					line-height: 70rpx;
+					font-size: $font-size-28;
+					color: #333333;
+					text-align: left;
+					float: left;
+					position: relative;
+					border-bottom: 1px solid #F7F7F7;
+					&:last-child{
+						border-bottom: none;
+					}
+					.icon-gou{
+						display: block;
+						width: 70rpx;
+						height: 70rpx;
+						line-height: 70rpx;
+						text-align: center;
+						color: #333333;
+						font-size: $font-size-40;
+						position: absolute;
+						right: 0;
+						top: 0;
+					}
+					&.active{
+						color: $color-system;
+						.icon-gou{
+							color: $color-system;
+						}
+					}
+				}
+			}
+		}
+	}
+	
+	.all-type-list-content {
+		// height: 240rpx;
+		padding: 24rpx;
+		background: #fff;
+		margin-bottom: 2rpx;
+		display: flex;
+		flex-direction: row;
+		box-sizing: content-box;
+		.list-img {
+			width: 312rpx;
+			height: 207rpx !important;
+			margin-right: 26rpx;
+			border-radius: 10rpx;
+			border: 2rpx solid #f3f3f3;
+		}
+	}		
+	.list-details-info {
+		width: 100%;
+		flex-direction: column;
+		font-size: 26rpx;
+		position: relative;
+		.list-details-title {
+			position: relative;
+			.tabs{
+				width: 38rpx;
+				height: 38rpx;
+				position: absolute;
+				top: 0;
+				left: 0;
+				image{
+					width: 38rpx;
+					height: 38rpx;
+					display: block;
+				}
+			}
+			.name{
+				width: 100%;
+				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 {
+			width: 100%;
+			display: inline-block;
+			margin-top: 8rpx;
+			color: #666666;
+		}
+		.list-details-miniQuantity {
+			width: 100%; 
+			display: inline-block;
+			margin-top: 7rpx;
+		}
+	}
+	.list-details-price {
+		width: 100%;
+		display: flex;
+		flex-direction: row;
+		justify-content: space-between;		
+		margin-top: 80rpx;
+		.price-icon {
+			width: 22rpx;
+			height: 28rpx;
+			vertical-align: middle;
+			margin-right: 10rpx;
+		}
+		.price-icon + text {
+			font-size: 25rpx;
+			vertical-align: middle;
+		}
+		.list-login-now {
+			width: 375rpx;
+			color: #F8C499;
+			position: absolute;
+			bottom: 0;
+			.p-no{
+				float: left;
+				font-size: $font-size-24;
+				color: $color-system;
+				margin-right: 10rpx;
+			}
+		}
+		.login-now {
+			padding: 10rpx 10rpx 10rpx 0;
+		}
+		.list-none{
+			margin-top: 15rpx;
+			.price-small{
+				font-size:$font-size-24;
+				line-height: 40rpx;
+				color: #FF2A2A;
+			}
+		}
+		.list-price-loding{
+			flex: 6;
+			font-size:$font-size-24;
+			line-height: 64rpx;
+			color: #FF2A2A;
+		}
+		.list-shop{
+			width: 100%;
+			height: auto;
+			flex: 6;
+			overflow: hidden;
+			.list-price {
+				// width: 100%;
+				color: #FF2A2A;
+				float: left;
+				line-height:36rpx ;
+				align-items: center;
+				justify-content: center;
+				.price-larger {
+					margin-top: 20rpx;
+					font-size: $font-size-30;
+					display: inline-block;
+					margin-right: 20rpx;
+				}
+				.zuhe_price-larger{
+					color: #666666;
+					// float: left;
+					// margin-right: 85rpx;
+				}
+				.price-two{
+					color: #666666;
+					float: left;
+					
+				}
+				.zuhe_list_zj{
+					color: #FF2A2A;
+				}
+				.price-view{
+					display: inline-block;
+					width: 40rpx;
+					border-radius: 10rpx;
+					font-size: $font-size-22;
+					text-align: center;
+					color: #FFFFFF;
+					height: 36rpx;
+					line-height: 36rpx;
+					margin-right: 8rpx;
+					&.ladder{
+						background: linear-gradient(135deg,rgba(255,0,0,1) 0%,rgba(242,143,49,1) 100%);
+					}
+					&.activity{
+						background: linear-gradient(135deg,rgba(128,0,255,1) 0%,rgba(242,49,153,1) 100%);
+					}
+				}
+			}
+			.zuhe_list_price .price-view{
+				margin-left:20rpx;
+				float: left;
+				margin-top: 5rpx;
+			}
+			.zuhe_list_price{
+				width: 400rpx;
+				overflow: hidden;
+				margin-top: 10rpx;
+			}
+			.count{
+				margin-top: 50rpx;
+				float: right;
+				border: 1px solid #EEEEEE;
+				border-radius: 10rpx;
+				.number-box{
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					.iconfont{
+						font-size: $font-size-24;
+						padding:0 16rpx;
+						color: $text-color;
+						text-align: center;
+						line-height: 48rpx;
+						font-weight: bold;
+					}
+					.btn-input{
+						width: 100rpx;
+						height: 48rpx;
+						line-height: 48rpx;
+						background: #F8F8F8;
+						border-radius: 4rpx;
+						text-align: center;
+						font-size: $font-size-24;
+						border-right: 1px solid #EEEEEE;
+						border-left: 1px solid #EEEEEE;
+					}
+				}
+			}
+			.list-price-none{
+				width: 100%;
+				.price-none{
+					text-decoration: line-through;
+					color: #999999;
+					display: inline-block;
+				}
+				.icon-wenhao{
+					font-size: $font-size-32;
+					color: #0091FF;
+					margin-left: 6rpx;
+				}
+			}
+		}
+		.add-cart-btn {
+			flex: 4;
+			width: 156rpx;
+			height: 64rpx;
+			line-height: 64rpx;
+			border-radius: 32rpx;
+			color: #333333;
+			font-size: 26rpx;
+			margin-right: 0;
+			// background:linear-gradient(135deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
+			background: #FFFFFF;
+			border: 2rpx solid #C9C9C9;
+		}
+		.zuhe_btn{
+			float: right;
+		}
+	}
+	.popup-tabs{
+		position: fixed;
+		top: 0;
+		width: 100%;
+		height: 100%;
+		z-index: 888;
+		.mask{
+			position: fixed;
+			top: 0;
+			width: 100%;
+			height: 100%;
+			z-index: 21;
+			background-color: rgba(0, 0, 0, 0.6);
+		}
+	}
+</style>

+ 1 - 1
components/cm-module/orderDetails/goodsList.vue

@@ -14,7 +14,7 @@
 						</view>
 						<view class="pros-product">
 							<view class="producttitle">{{pros.name}}</view>
-							<view class="productspec">规格:{{pros.productUnit ? pros.productUnit : ''}}</view>
+							<view class="productspec" v-if="pros.productCategory != 2">规格:{{pros.productUnit ? pros.productUnit : ''}}</view>
 							<view class="product-view">
 								<view class="view-num">单价:¥{{pros.price.toFixed(2)}}</view>
 								<view class="view-num">数量(赠品):{{pros.num}}({{pros.presentNum}})</view>

+ 32 - 16
components/cm-module/orderDetails/orderInformation.vue

@@ -2,11 +2,12 @@
 	<view class="information-template">
 		 <!-- 订单信息 -->
 		 <view class="information-content">
-			<view class="information-view num">
-				<view class="view-num">
+			<view class="information-view title">
+				<view class="view-num title">
 					<text class="bage-buss" v-if="orderData.orderSubmitType == 3 || orderData.orderSubmitType == 4">协销</text>
 					<text class="bage-auto" v-if="orderData.orderSubmitType == 0 || orderData.orderSubmitType == 1 ||orderData.orderSubmitType == 2">自主</text>
 					<text class="bage-text">订单编号:{{orderData.orderNo =='undefined' ? '' : orderData.orderNo}}</text>
+					<image class="bage-icon" src="../../../static/temp/icon-type@3x.png" mode="widthFix" v-if="orderData.secondHandOrderFlag == 1"></image>
 				</view>
 			</view>
 			<view class="information-view">
@@ -148,7 +149,7 @@
 		margin-top: 24rpx;
 		.information-content{
 			width: 702rpx;
-			padding: 20rpx 24rpx;
+			padding: 0  24rpx 20rpx 24rpx;
 			.information-view{
 				height: 50rpx;
 				line-height: 50rpx;
@@ -156,19 +157,34 @@
 				color: $text-color;
 				margin: 4rpx 0;
 				display: flex;
+				&.title{
+					height: 68rpx;
+					line-height: 68rpx;
+					margin-bottom: 5rpx;
+				}
 				view{
 					flex: 1;
 					color: $text-color;
 					text-align: left;
 				}
-				.view-num{
-					.bage-buss{
+				.view-num.title{
+					height: 68rpx;
+					line-height: 68rpx;
+					position: relative;
+					.bage-icon{
+						width: 50rpx;
+						height: 50rpx;
 						display: block;
-						float: left;
-						width: 64rpx;
+						position: absolute;
+						right: 0;
+						top: 9rpx;
+					}
+					.bage-buss{
+						display: inline-block;
+						width: 72rpx;
 						height: 30rpx;
-						background:linear-gradient(132deg,rgba(255,177,0,1) 0%,rgba(255,127,0,1) 100%);
-						border-radius: 6rpx;
+						background:radial-gradient(circle,rgba(255,39,180,1) 0%,rgba(193,77,245,1) 100%);
+						border-radius: 15rpx;
 						line-height: 30rpx;
 						font-size: $font-size-24;
 						text-align: center;
@@ -176,12 +192,11 @@
 						margin-top: 10rpx;
 					}
 					.bage-auto{
-						display: block;
-						float: left;
-						width: 64rpx;
+						display: inline-block;
+						width: 72rpx;
 						height: 30rpx;
-						background:linear-gradient(135deg,rgba(0,216,255,1) 0%,rgba(22,139,225,1) 100%);
-						border-radius: 6rpx;
+						background:radial-gradient(circle,rgba(255,180,39,1) 0%,rgba(245,142,77,1) 100%);
+						border-radius: 15rpx;
 						line-height: 30rpx;
 						font-size: $font-size-24;
 						text-align: center;
@@ -189,11 +204,12 @@
 						margin-top: 10rpx;
 					}
 					.bage-text{
+						display: inline-block;
 						font-size: $font-size-28;
-						line-height: 40rpx;
+						line-height: 68rpx;
 						text-align: left;
 						color: $color-system;
-						margin-left: 15rpx;
+						margin-left: 10rpx;
 					}
 				}
 				.view-num.ord{

+ 80 - 0
components/cm-module/productDetails/second-attributes.vue

@@ -0,0 +1,80 @@
+<template name="cm-attributes">
+	<!-- 二手商品详情-->
+	<view class="cm-attributes">
+		<view class="wrap-info">
+			<view class="info-viewT" :class="goodsData.isNoneDisabled ? 'none' : ''">
+				<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-viewT" :class="goodsData.isNoneDisabled ? 'none' : ''" v-if="product.productCode!=''&&product.productCode!=null">
+				<view class="info-viewL tui-skeleton-fillet">商品成色:<text>{{product.productCode}}</text></view>
+				<view class="info-viewR tui-skeleton-fillet">出厂日期:<text>{{product.stock}}</text></view>
+			</view>
+			<view class="info-viewT" :class="goodsData.isNoneDisabled ? 'none' : ''" v-if="product.productCode!=''&&product.productCode!=null">
+				<view class="info-viewL tui-skeleton-fillet">商品类型:<text>{{product.productCode}}</text></view>
+				<view class="info-viewR tui-skeleton-fillet">所在地:<text>{{product.stock}}</text></view>
+			</view>
+			<view class="info-viewT" :class="goodsData.isNoneDisabled ? 'none' : ''" v-if="product.productCode!=''&&product.productCode!=null">
+				<view class="info-viewL tui-skeleton-fillet">联系人:<text>{{product.productCode}}</text></view>
+				<view class="info-viewR tui-skeleton-fillet">联系方式:<text>{{product.stock}}</text></view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		name:'cm-attributes',
+		props:{
+			product:{
+				type:Object,
+				default: {}
+			},
+			goodsData:{
+				type:Object,
+				default: {}
+			},
+		},
+		data() {
+			return{
+				
+			}
+		},
+		created() {
+			
+		},
+		methods:{
+		},
+		
+	}
+</script>
+
+<style lang="scss">	
+	.bmCode{
+	float: left;
+	width: 702rpx;
+	padding: 20rpx 24rpx 0 24rpx;
+	border-bottom: 1px solid #F8F8F8	
+	}
+</style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ 79 - 0
components/cm-module/productDetails/second-price.vue

@@ -0,0 +1,79 @@
+<template name="cm-price">
+	<!-- 商品详情价格判断 -->
+	<view class="wrap-main">
+		<view class="" v-if="userIdentity == 1">
+			<view class="wrap-main-price">
+				<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>	
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		name:'cm-price',
+		props:{
+			product:{
+				type:Object,
+			},
+			userIdentity: {
+				type: Number,
+				default: 2
+			},
+			ladderPriceList:{
+				type: Array,
+			},
+			retailPrice:{
+				type:String,
+			},
+			smallMoney:{
+				type:String,
+			},
+			minBuyNumber:{
+				type: Number,
+				default: 1
+			}
+		},
+		data() {
+			return{
+				
+			}
+		},
+		created() {
+			
+		},
+		methods:{
+
+		},
+		
+	}
+</script>
+
+<style lang="scss">	
+
+</style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ 11 - 0
pages.json

@@ -71,6 +71,12 @@
 				"navigationBarTitleText": "商品详情",
 				"navigationStyle":"custom"
 			}
+		},{
+			"path": "pages/goods/secondProduct",
+			"style": {
+				"navigationBarTitleText": "商品详情",
+				"navigationStyle":"custom"
+			}
 		},{
 			"path": "pages/goods/supplier",
 			"style": {
@@ -310,6 +316,11 @@
 					"style": {
 						"navigationBarTitleText": "立即下单"
 					}
+				},{
+					"path": "pages/cart/second",
+					"style": {
+						"navigationBarTitleText": "二手下单"
+					}
 				},
 				{
 					"path": "pages/order/create-order",

+ 1221 - 0
pages/goods/secondProduct.vue

@@ -0,0 +1,1221 @@
+<template>
+	<view class="product" :style="{paddingBottom: userIdentity==1 ? '0rpx' :'188rpx'}">
+		<custom-p   v-if="isHeaderPoduct"
+					:systeminfo='systeminfo' 
+					:navbar-data='nvabarData' 
+					:headerBtnPosi ="headerBtnPosi" 
+					:headerColor="headerColor" 
+					:type="isShareType"
+					:page='backPage'>
+		</custom-p>
+		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="5"></tui-skeleton>
+		<view class="container-product tui-skeleton">
+			<view class="product-top">
+				<view class="banner-section">
+					<uni-swiper-dot :info="productImage" :current="current" field="content" :mode="mode" >
+						<swiper class="banner tui-banner tui-skeleton-rect" circular @change="swiperChange" :duration='800' :autoplay="false" :circular="false" >
+							<swiper-item v-for="(item, index) in productImage" :key="index" class="banner-item"> 
+								<image :src="item" @click="previewImg(index)" class="product-img" />
+							</swiper-item>
+						</swiper>
+						<view class="swiper__dots-box">
+							<view v-for="(item,idx) in productImage" 
+								  :key="idx" 
+								  :class="[idx===current?'swiper__dots-long':'none']" 
+								  :data-index="current" class="swiper__dots-item">
+							</view>	  
+						</view>
+					</uni-swiper-dot>
+				</view>
+				<view class="product-wrap clearfix">
+					<view class="wrap-top" :class="goodsData.isNoneDisabled ? 'none' : ''">
+						<view class="p-title tui-skeleton-fillet">
+							{{product.name == undefined ? '' : product.name}}
+						</view>
+						<view class="wrap-top-price" v-if="!goodsData.isNoneDisabled">
+							<view class="cm-price">
+								<second-price v-if="isRequest"
+											  :product="product"
+											  :userIdentity="userIdentity"
+											  :ladderPriceList="ladderPriceList"
+											  :retailPrice="retailPrice"
+											  :smallMoney="smallMoney"
+											  :minBuyNumber="minBuyNumber"/>
+							</view>
+						</view>
+					</view>
+					<view class="attributes">
+						<second-attributes v-if="isRequest" :product="product" :goodsData="goodsData" />
+					</view>
+				</view>			
+			</view>
+			<view class="product-details">
+				<!-- 头部 -->
+				<view class="navbar" 
+					  :class="navbarFiexd" 
+					  :style="{top:headerBtnPosi.bottom + (headerBtnPosi.bottom - headerBtnPosi.height - systeminfo.statusBarHeight) +'px'}"
+				>
+					<view class="nav-item tui-skeleton-fillet" :class="{ current: tabCurrentIndex === 0 }" @click="tabClick(0)">
+						<text>商品详情</text>
+						<text class="line"></text>
+					</view>
+					<view class="nav-item tui-skeleton-fillet" :class="{ current: tabCurrentIndex === 1 }" @click="tabClick(1)">
+						<text>品牌信息</text>
+						<text class="line"></text>
+					</view>	
+					<view class="nav-item tui-skeleton-fillet" :class="{ current: tabCurrentIndex === 2 }" @click="tabClick(2)">
+						<text>相关推荐</text>
+						<text class="line"></text>
+					</view>	
+				</view>
+				<!-- 商品详情,品牌信息,相关推荐-->
+				<view class="content tui-banner tui-skeleton-rect" v-if="tabCurrentIndex === 0">
+					<parser :html="html" :img-mode="widthFix"></parser>
+				</view>
+				<view class="content band" v-if="tabCurrentIndex === 1">
+					<recommend :query-productid="product.productID" v-if="isRecommend"></recommend>
+				</view>
+				<view class="content hot" v-if="tabCurrentIndex === 2">
+					<recommend :query-productid="product.productID" v-if="isRecommend"></recommend>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import { mapState,mapMutations } from 'vuex'
+	import customP from '@/components/cm-module/headerNavbar/header-poduct' 		 //自定义导航
+	import secondPrice from "@/components/cm-module/productDetails/second-price.vue" //价格显示
+	import secondAttributes from "@/components/cm-module/productDetails/second-attributes.vue" //规格信息
+	import authorize from '@/common/config/authorize.js'
+	import parser from "@/components/jyf-Parser/index" //富文本处理
+	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
+	import recommend from "@/components/cm-module/productDetails/recommend" //相关推荐
+	import wxLogin from "@/common/config/wxLogin.js"
+	import { queryProductDetils } from "@/api/product.js" 
+	import { shoppingAddCart } from "@/api/cart.js" 
+	var isPreviewImg;
+	export default{
+		components:{
+			customP,
+			parser,
+			tuiSkeleton,
+			recommend,
+			secondPrice,
+			secondAttributes,
+		},
+		data(){
+			return{			
+				html:'<div style="text-align: center;color:#333333;">暂无内容</div>',
+				disabledTabNavList:[{name:'相关推荐'}],
+				mode:'round',
+				specClass: '',//规格弹窗css类,控制开关动画
+				isBtnType:'',
+				isRequest:false,
+				current:0,
+				isShareType:'',
+				isHeaderPoduct:false,
+				navbarFiexd:'none',
+				ladderPriceFlag:'',
+				ladderPriceList:'',
+				isRecommend:false,
+				isRarameter:true,
+				isService:false,
+				isEvaluate:false,
+				isAnimation:false,
+				skeletonShow:true,
+				isQuantity:false,
+				isStock:false,
+				disabled:false,
+				isNoneDisabled:false,
+				tabCurrentIndex:0,
+				userID:'',
+				productID:0,
+				userIdentity:'',//用户类型
+				goodsData:{},//自定义数据
+				shop:{},//供应商信息
+				product:{},//采美
+				productImage:[],
+				retailPrice:0,
+				buyRetailPrice:0,
+				buyRetailPriceStep:1,
+				stock:0,
+				number:0,
+				minBuyNumber:0,
+				productsList:[],
+				goodListData:[],
+				headerBtnPosi:	this.setHeaderBtnPosi(), //获取设备顶部胶囊高度
+				systeminfo: this.setSysteminfo(),		 //获取设备信息
+				isIphoneX:this.$store.state.isIphoneX,
+				windowHeight: '',
+				headerColor:false,
+				backPage:1,
+				nvabarData: {							 //顶部自定义导航
+					showCapsule: 1, // 是否显示左上角图标   1表示显示    0表示不显示
+					title: ''		// 导航栏 中间的标题
+				}
+			}
+		},
+		onLoad(option) {
+			this.productID = option.id;//获取商品ID
+			this.isShareType = option.type
+			this.isHeaderPoduct = true
+			if(option.page == 2){
+				this.backPage = option.page
+			}
+			if(this.isShareType =='share'){
+				authorize.getSetting().then(wxResponse =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
+					console.log(wxResponse)
+					if(wxResponse == 1){
+						wxLogin.wxLoginAuthorize()
+					}else{
+						console.log(new Date +'用户未授权微信信息')
+					}
+				})	
+			}
+		},
+		computed: {
+			...mapState(['hasLogin','isWxAuthorize'])
+		},
+		methods:{
+			initData(){// 初始化商品详情查询
+				queryProductDetils({userId:this.userID,productID:this.productID}).then(response =>{	
+					this.skeletonShow = false
+					this.productImage=[];
+					this.shop = response.data.shop
+					this.product = response.data
+					this.ladderPriceFlag = this.product.ladderPriceFlag;
+					this.html = this.product.productDetail == null ? this.html : this.$api.adaptRichTextImg(this.product.productDetail.detailInfo)
+					this.stock = this.product.stock
+					this.buyRetailPriceStep = this.product.step
+					this.number = this.product.minBuyNumber
+					this.minBuyNumber = this.product.minBuyNumber
+					//处理商品图片列表
+					this.product.imageList.forEach(item =>{
+						this.productImage.push(item.image);
+					})
+					//购物车数量
+					this.goodsData.cartCount = this.product.productCount
+					//处理阶梯价格
+					if(this.product.ladderPriceList!=null){
+						this.ladderPriceList = this.product.ladderPriceList;
+					}
+					//拆分金额并转千分位格式显示
+					if(this.product.retailPrice!=null){
+						this.retailPrice = this.product.retailPrice.toFixed(2);
+						this.buyRetailPrice = this.product.retailPrice;
+					}
+					//处理下架商品和售罄商品
+
+					if(this.product.validFlag =='3' || this.stock == 0 ){
+						this.disabled = true
+						this.isNoneDisabled = true
+						this.tabCurrentIndex = 2;// 页面显示是默认选中第一
+						this.isRecommend = true
+						this.goodsData.disabledText = '下架'
+					}else{
+						this.disabled = false
+						this.isNoneDisabled = false
+						this.tabCurrentIndex = 0;// 页面显示是默认选中第三
+						this.goodsData.disabledText = ''
+					}
+					if(this.product.price1TextFlag == "1"){
+						this.disabled = true
+					}
+					if(this.product.price1TextFlag == "2"){
+						if(this.userIdentity == 4){	
+							this.disabled = true
+						}else{
+							this.disabled = false
+						}
+					}
+					this.goodsData.disabled = this.disabled
+					this.goodsData.isNoneDisabled = this.isNoneDisabled
+					if(this.product.validFlag =='3'){
+						this.goodsData.disabledText = '下架'
+					}
+					if(this.stock == 0){
+						this.goodsData.disabledText = '售罄'
+					}
+					this.isRequest = true
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000);
+				})
+			},
+			swiperChange(e) {//顶部商品图片切换
+				const index = e.detail.current;
+				this.current = index;
+			},
+			previewImg (index) {//顶部商品图片预览
+				isPreviewImg = true
+				let previewUrls = this.productImage
+				uni.previewImage({
+					current: index, 	//图片索引
+					urls: previewUrls, //必须是http图片,本地图片无效
+					longPressActions:''
+				})
+			},
+			tabClick(index) {//商品详情&&供应商信息tab切换
+				this.tabCurrentIndex = index;
+				switch(this.tabCurrentIndex){
+					case 1:
+						this.isRarameter = true
+						break;
+					case 2:
+						this.isService = true
+						break;
+					case 3:
+						this.isRecommend = true
+						break;
+				}
+			},
+			handleContact(e){//跳转小程序客服
+
+			},
+			buyProductCart(){//底部购物车按钮点击
+				authorize.getSetting().then(wxResponse =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
+					if(wxResponse == 1){
+						if(this.hasLogin){
+							this.$api.navigateTo('/pages/goods/cart')
+						}else{					
+							this.$api.navigateTo('/pages/login/login?type=1')
+						}
+					}else{
+						this.$api.navigateTo('/pages/authorization/authorization?type=1')
+					}
+				})	
+			},
+			btnGetConfirm(type){//加入购物车&&立即购买点击
+				authorize.getSetting().then(wxResponse =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
+					if(wxResponse == 1){
+						if(this.hasLogin){
+							this.showSpec(type);
+						}else{
+							this.$api.navigateTo('/pages/login/login?type=1')
+						}
+					}else{
+						this.$api.navigateTo('/pages/authorization/authorization?type=1')
+					}	
+				})
+			},	
+			changeCountAdd(){//popup弹窗数量增加按钮
+				if(this.buyRetailPriceStep == 2){
+					this.number+=this.minBuyNumber
+				}else{
+					this.number++
+				}
+				this.processActivityPrice()
+			},
+			changeCountSub(){//popup弹窗数量减按钮
+				if(this.number<=this.minBuyNumber){
+					this.number= this.minBuyNumber
+					this.isQuantity =true
+					this.$util.msg(`该商品最小起订量为${this.minBuyNumber}`,2000);
+					return
+				}else{
+					if(this.buyRetailPriceStep == 2){
+						this.number-=this.minBuyNumber
+					}else{
+						this.number--
+					}
+					this.processActivityPrice()
+					this.isQuantity =false
+				}
+			 },
+			changeNumber(e){
+				let _value = e.detail.value;
+				if(!this.$api.isNumber(_value)){
+					this.number = this.minBuyNumber
+				}else if(_value < this.minBuyNumber){	
+					this.$util.msg(`该商品最小起订量为${this.minBuyNumber}`,2000);
+					this.number = this.minBuyNumber
+				}else if( _value % this.minBuyNumber !=0 ){
+					this.$util.msg(`购买量必须为起订量的整数倍`,2000);
+					this.number = this.minBuyNumber
+				}else{
+					this.number = e.detail.value
+				}
+				this.processActivityPrice()
+			},
+			processActivityPrice(){//单独处理活动价格和阶梯价格
+				if(this.ladderPriceFlag == '0' && this.product.actStatus == 0){
+					this.buyRetailPrice = this.product.retailPrice
+				}else{
+					this.ladderPriceList.forEach((item,index)=>{
+						if(this.number>=item.buyNum){
+							this.buyRetailPrice = item.buyPrice
+						}
+					})
+				}
+			},
+			showSpec(type) {//显示选择数量确认弹窗
+				this.isBtnType = type
+				this.specClass = 'show';
+			},
+			hideSpec() {//关闭选择数量确认弹窗
+				this.specClass = 'hide';
+				setTimeout(() => {
+					this.specClass = 'none';
+				}, 200);
+			},
+			btnConfirm() {//加入购物车&&立即购买跳转订单页并关闭弹窗
+				if(this.isBtnType == 'add'){				
+					this.getAddProductCart()				
+				}else{
+					this.toConfirmation()
+				}
+			},
+			toConfirmation(){//跳转确认订单页面
+				this.specClass = 'hide';
+				let productStp ={
+						allPrice:this.number*this.buyRetailPrice,
+						allCount:this.number,
+						productID:this.product.productID,
+						productCount:this.number
+				}	
+				this.$api.navigateTo(`/pages/user/order/create-order?type=prodcut&data=${JSON.stringify({data:productStp})}`)
+				setTimeout(() => {
+					this.specClass = 'none';
+				}, 200);
+			},
+			getAddProductCart(){//增加购物车成功和toast弹窗提示成功	
+				shoppingAddCart({productID:this.productID,userID:this.userID,productCount:this.number}).then(response => {
+					this.specClass = 'hide';
+					this.$util.msg('加入购物车成功',1500,true,'success')
+					this.isAnimation = true
+					setTimeout(() => {this.specClass = 'none'}, 200)
+					setTimeout(() => {this.isAnimation = false},2000)
+					this.goodsData.cartCount = response.data;
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000);
+				})
+			},
+			navToLogin(){
+				authorize.getSetting().then(wxResponse =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
+					if(wxResponse == 1){
+						this.$api.navigateTo(`/pages/login/login?type=detilType&id=${this.productID}`)
+					}else{
+						this.$api.navigateTo('/pages/authorization/authorization?type=1')
+					}
+				})	
+			},
+			setHeaderBtnPosi(){
+				// 获得胶囊按钮位置信息
+				let headerBtnPosi = uni.getMenuButtonBoundingClientRect();
+				return headerBtnPosi
+			},
+			setSysteminfo(){
+				let systeminfo;
+				uni.getSystemInfo({ // 获取设备信息
+					success: (res) => {
+						systeminfo = res
+					},
+				})
+				return systeminfo
+			},
+			getOptionFn(e){
+				this.isShareType = e.type
+			},
+			goSupplier(){
+				this.$api.setStorage('supplierInfo',this.shop)
+				this.$api.navigateTo('/pages/goods/supplier')
+			},
+			discard(){
+				//丢弃
+			}
+		},
+		onPageScroll(e){//实时获取到滚动的值
+			if(e.scrollTop>50){
+				this.headerColor = true
+				this.nvabarData={							
+					showCapsule: 1, 
+					title: '商品详情', 		
+				}
+			}else{
+				this.headerColor = false
+				this.nvabarData={
+					showCapsule: 1, 
+					title: '', 		
+				}
+			}
+			if(e.scrollTop>700){
+				this.navbarFiexd = 'fixed'
+			}else{
+				this.navbarFiexd = 'none'
+			}
+		},
+		onShareAppMessage(res){//分享转发
+			if (res.from === 'button') {
+		      // 来自页面内转发按钮
+		    }
+			return {
+			  title: `${this.product.name}`,
+			  path: `pages/goods/product?type=share&id=${this.productID}`,
+			  imageUrl:`${this.productImage[0]}`
+			}
+		},
+		onShow() {
+			this.$api.getStorage().then((resolve) => {
+				this.userID = resolve.userID ? resolve.userID : '';	
+				this.userIdentity = resolve.userIdentity ? resolve.userIdentity : 3
+				if (isPreviewImg) {
+					isPreviewImg = false;
+					return;
+				} else {
+					this.initData();
+				}
+			}).catch(error =>{
+				this.initData();
+			})
+		}
+	}
+</script>
+
+<style lang="scss">
+	page{
+		background-color: #F7F7F7;
+	}
+	.productRemarks{
+		color: #FF2A2A;
+		font-size: 24rpx;
+		margin-bottom: 16rp
+	}
+	.banner-section{
+		width: 100%;
+		height: 750rpx;
+		position: relative;
+		border-bottom: 1px solid #EBEBEB;
+	}	
+	.banner{
+		width: 100%;
+		height: 750rpx;
+		.product-img{
+			width: 750rpx;
+		}
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.swiper__dots-box{
+		position: absolute;
+		bottom: 24px;
+		right: 24rpx;
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex: 1;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+		height: 12rpx;
+		padding: 10rpx;
+		background: rgba(174,174,174,0.6);
+		border-radius:16rpx;
+		.swiper__dots-item{
+			width: 12rpx;
+			height: 12rpx;
+			border-radius: 100%;
+			margin: 6rpx;
+			background: rgba(62,62,62,1);
+		}
+		.none{
+			background:#FFFFFF;
+		}
+		.swiper__dots-long{
+			background: rgba(62,62,62,1);
+			transition: all 0.1s;
+		}
+	}
+	.product-wrap{
+		width: 100%;
+		height: auto;
+		padding: 24rpx 0 0 0;
+		background-color: #FFFFFF;
+		border-bottom: 20rpx solid #F7F7F7;
+		.wrap-top{
+			width: 702rpx;
+			padding: 0 24rpx;
+			height: auto;
+			float: left;
+			padding-bottom: 24rpx;
+			border-bottom: 1px solid #F8F8F8;
+			&.none{
+				.p-title{
+					color:#999999
+				}
+			}
+			.p-title{
+				line-height: 40rpx;
+				font-size: $font-size-28;
+				color: $text-color;
+				font-weight: Bold;
+				-o-text-overflow: ellipsis;
+				text-overflow: ellipsis;
+				display: -webkit-box;
+				word-break: break-all;
+				-webkit-box-orient: vertical;
+				-webkit-line-clamp: 2;
+				overflow: hidden;
+				margin-bottom: 16rpx;
+			}
+			.wrap-main-pricenone{
+				line-height: 44rpx;
+				color: #FF2A2A;
+				font-size: $font-size-28;
+				font-weight: 600;
+			}
+			.wrap-main-text{
+				display: block;
+				float: left;
+				font-weight: normal;
+			}
+			.wrap-main-none{
+				display: block;
+				width: 256rpx;
+				height: 44rpx;
+				padding-left: 20rpx;
+				border-radius: 11rpx;
+				background: $btn-confirm;
+				float: right;
+				line-height: 44rpx;
+				color: #FFFFFF;
+				text-align: center;
+				font-size: $font-size-24;
+			}
+			.p-active{
+				width: 130rpx;
+				height: 44rpx;
+				display: flex;
+				align-items: center;
+				flex-direction: row;
+				float: left;
+				.icon-active{
+					width: 124rpx;
+					height: 30rpx;
+					display: block;
+				}
+			}
+			.p-price{
+				height: 44rpx;
+				line-height: 44rpx;
+				float: left;
+				
+				.txt{
+					color: #FF2A2A;
+					margin:0 2rpx;
+				}
+				.txt.sm{
+					font-size: $font-size-24;
+				}
+				.txt.big{
+					font-size: $font-size-32;
+				}
+			}
+			.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;
+				color: $color-system;
+				font-size: $font-size-24;
+				&.grade{
+					margin-bottom: 20rpx;
+				}
+				.p-no{
+					float: left;
+					margin-right: 5rpx;
+					font-size: $font-size-28;
+				}
+				.p-login-btn{
+					display: block;
+					height: 44rpx;
+					padding: 0 10rpx 0 20rpx;
+					border-radius: 11rpx;
+					background: $btn-confirm;
+					float: right;
+					line-height: 44rpx;
+					color: #FFFFFF;
+					text-align: center;
+					font-size: $font-size-24;
+				}
+			}
+		}
+		.wrap-active{
+			width: 100%;
+			float: left;
+			height: 80rpx;
+			background: linear-gradient(225deg,rgba(255,143,101,1) 0%,rgba(248,79,57,1) 100%);
+			line-height: 80rpx;
+			font-size: $font-size-26;
+			color: #FFFFFF;
+			text-align: center;
+		}
+		.wrap-ladder{
+			float: left;
+			width: 702rpx;
+			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://img.caimei365.com/group1/M00/03/95/Cmis216Sk_WASybTAAI2gyWbunM918.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: 702rpx;
+			padding: 24rpx 24rpx 0 24rpx;
+			border-bottom: 1px solid #F8F8F8;
+			.label-a{
+				padding: 0 18rpx;
+				line-height: 40rpx;
+				font-size: $font-size-24;
+				color: #FFFFFF;
+				text-align: center;
+				border-radius: 20rpx;
+				background:#A69DFE;
+				margin: 0 22rpx 22rpx 0;
+				display: inline-block;
+			}
+		}
+		.wrap-info{
+			float: left;
+			width: 702rpx;
+			padding: 24rpx 24rpx 0 24rpx;
+			border-bottom: 1px solid #F8F8F8;
+			.info-viewT{
+				width: 100%;
+				min-height: 40rpx;
+				font-size: $font-size-28;
+				color: $text-color;
+				line-height: 40rpx;
+				text-align: left;
+				&.none{
+					color: #999999;
+				}
+				.info-viewL{
+					min-width: 350rpx;
+					float: left;
+					margin-bottom: 24rpx;
+				}
+				.info-viewR{
+					min-width: 352rpx;
+					float: left;
+					margin-bottom: 24rpx;
+				}
+			}
+			.info-viewB{
+				width: 100%;
+				height: auto;
+			}
+			.info-f{
+				width: 50%;
+				float: left;
+				font-size: $font-size-28;
+				color: $text-color;
+				line-height: 40rpx;
+				margin-bottom: 24rpx;
+				text-align: left;
+			}
+	
+		}
+		.wrap-seve{
+			float: left;
+			width: 702rpx;
+			padding: 0 24rpx;
+			height: 72rpx;
+			line-height: 72rpx;
+			font-size: $font-size-28;
+			color: $text-color;
+			border-bottom: 1px solid #F8F8F8;
+			&.none{
+				color: #999999;
+				.text{
+					color: #999999;
+				}
+			}
+			.iconfont{
+				color: $color-system;
+				margin-left: 20rpx;
+				font-size: $font-size-24;
+			}
+			.text{
+				font-size: $font-size-24;
+				color: $text-color;
+				margin-left: 10rpx;
+			}
+		}
+	}
+	.product-details {
+		height: 100%;
+		background: #FFFFFF;
+		.navbar {
+			width: 702rpx;
+			height: 96rpx;
+			padding: 0 24rpx;
+			background: #fff;
+			z-index: 10;
+			display: flex;
+			border-bottom: 1px solid #F8F8F8;
+			&.fixed{
+				position: fixed;
+				left: 0;
+			}
+			.nav-item {
+				display: flex;
+				flex: 1;
+				justify-content: center;
+				align-items: center;
+				height: 96rpx;
+				font-size: $font-size-28;
+				color: $text-color;
+				position: relative;
+				float: left;
+				position: relative;
+				.line{
+					width: 60%;
+					height: 2px;
+					border-radius: 1px;
+					background: #FFFFFF;
+					position: absolute;
+					bottom: 0;
+					left: 50%;
+					margin-left: -30%;
+				}
+				&.current{
+					color:$color-system;
+					.line{
+						background: $color-system;
+					}
+				}
+			}
+		}
+		.content{
+			width: 100%;
+			min-height: 750rpx;
+		}
+	}
+	.isLower{
+		width: 100%;
+		height: 116rpx;
+		line-height: 116rpx;
+		text-align: center;
+		color: #000000;
+		font-size: $font-size-32;
+		font-weight: bold;
+	}
+	.bottom-btn{
+		width: 100%;
+		height: 110rpx;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		background: #FFFFFF;
+		z-index: 99;
+		.bottom-le{
+			width: 302rpx;
+			height: 86rpx;
+			padding:12rpx 24rpx;
+			float: left;
+			.item-bt{
+				width: 86rpx;
+				height: 100%;
+				margin-right:22rpx;
+				display: flex;
+				float: left;
+				flex-direction: column;
+				align-items: center;
+				font-size: $font-size-24;
+				color: $text-color;
+				line-height: 34rpx;
+				position: relative;
+				.animation-num{
+					font-size:$font-size-32 ;
+					color: #FF2A2A;
+					position: absolute;
+					top: -12rpx;
+					right: 4rpx;
+					font-weight: bold;
+				}
+				.animation{
+					animation: showAmnation 2.2s ease-in-out both;
+				}
+				.restion{
+					animation: hideAmnation 1s ease-in-out both;
+				}
+				.icon-num{
+					position: absolute;
+					right:-12rpx;
+					top: -9rpx;
+				}
+				.icon-num.goleft{
+					right: 4rpx;
+				}
+				&:last-child{
+					margin-right: 0;
+				}
+				image {
+					width: 40rpx;
+					height: 40rpx;
+					margin-bottom: 8rpx;
+				}
+				button.contact-btn{
+					width: 100%;
+					height: 100%;
+					margin: 0;
+					padding: 0;
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					box-sizing: border-box;
+					font-size: $font-size-24;
+					text-align: center;
+					text-decoration: none;
+					line-height: 34rpx;
+					border-radius: 0;
+					-webkit-tap-highlight-color: transparent;
+					overflow: hidden;
+					color: $text-color;
+					background-color:#FFFFFF;
+				}
+			}
+		}
+		.bottom-ri{
+			width: 400rpx;
+			height: 100%;
+			float: right;
+			display: flex;
+			.btn{
+				flex: 1;
+				width: 200rpx;
+				line-height: 110rpx;
+				text-align: center;
+				font-size: $font-size-28;
+				color: #FFFFFF;
+			}
+			.btn-cart{
+				background-color: #EFAF00;
+			}
+			.btn-cart.disabled{
+				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: linear-gradient(135deg,rgba(242,143,49,0.5) 0%,rgba(225,86,22,0.5) 100%);;
+			}
+		}
+	}
+	.uni-badge--small {
+		-webkit-transform: scale(.8);
+		-ms-transform: scale(.8);
+		transform: scale(.8);
+		-webkit-transform-origin: center center;
+		-ms-transform-origin: center center;
+		transform-origin: center center;
+	}
+	.uni-badge {
+		font-family: 'Helvetica Neue', Helvetica, sans-serif;
+		-webkit-box-sizing: border-box;
+		box-sizing: border-box;
+		font-size: 12px;
+		line-height: 1;
+		display: inline-block;
+		padding: 3px 6px;
+		color: #333;
+		border-radius: 100px;
+		background-color: #f1f1f1;
+	}
+	.uni-badge-error {
+		color: #fff;
+		background-color: #dd524d;
+	}
+	/* 加入购物模态层*/
+	@keyframes showPopup {
+		0% {
+			opacity: 0;
+		}
+		100% {
+			opacity: 1;
+		}
+	}
+	@keyframes hidePopup {
+		0% {
+			opacity: 1;
+		}
+		100% {
+			opacity: 0;
+		}
+	}
+	@keyframes showLayer {
+		0% {
+			transform: translateY(0);
+		}
+		100% {
+			transform: translateY(-100%);
+		}
+	}
+	@keyframes hideLayer {
+		0% {
+			transform: translateY(-100%);
+		}
+		100% {
+			transform: translateY(0);
+		}
+	}
+	@keyframes showAmnation {
+		0% {
+			top: -12rpx;
+			opacity: 0;
+		}
+		50% {
+			top: -60rpx;
+			opacity: 1;
+		}
+		100% {
+			top: -100rpx;
+			opacity: 0;
+		}
+	}
+	@keyframes hideAmnation {
+		0% {
+			top: -100rpx;
+			opacity: 0;
+		}
+		100% {
+			top: -12rpx;
+			opacity: 0;
+		}
+	}
+	.popup {
+		position: fixed;
+		top: 0;
+		width: 100%;
+		height: 100%;
+		z-index: 999;
+		display: none;
+		.mask{
+			position: fixed;
+			top: 0;
+			width: 100%;
+			height: 100%;
+			z-index: 21;
+			background-color: rgba(0, 0, 0, 0.6);
+		}
+		.layer {
+			position: fixed;
+			z-index: 22;
+			bottom: -294rpx;
+			width: 702rpx;
+			padding: 24rpx 24rpx 36rpx 24rpx;
+			height: 260rpx;
+			border-radius: 20rpx 20rpx 0 0;
+			background-color: #fff;
+			display: flex;
+			flex-wrap: wrap;
+			align-content: space-between;
+			.content {
+				width: 100%;
+			}
+			.btn {
+				width: 100%;
+				height: 88rpx;
+				margin-top: 20rpx;
+				.button {
+					width: 100%;
+					height: 88rpx;
+					color: #fff;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					background: $btn-confirm;
+					font-size: $font-size-28;
+					border-radius: 14rpx;
+				}
+			}
+		}
+		
+		&.show {
+			display: block;
+			.mask{
+				animation: showPopup 0.2s linear both;
+			}
+			.layer {
+				animation: showLayer 0.2s linear both;
+			}
+		}
+		&.hide {
+			display: block;
+			.mask{
+				animation: hidePopup 0.2s linear both;
+			}
+			
+			.layer {
+				animation: hideLayer 0.2s linear both;
+			}
+		}
+		&.none {
+			display: none;
+		}
+		&.service {
+			.row {
+				margin: 30upx 0;
+				.title {
+					font-size: 30upx;
+					margin: 10upx 0;
+				}
+				.description {
+					font-size: 28upx;
+					color: #999;
+				}
+			}
+		}
+		.layer-smimg{
+			width: 114rpx;
+			height: 114rpx;
+			float: left;
+			border-radius: 10rpx;
+			margin-right: 24rpx;
+			image{
+				width: 114rpx;
+				height: 114rpx;	
+				border-radius: 10rpx;
+			}
+		}
+		.layer-nunbox{
+			justify-content: space-between;
+			align-items: center;
+			width: 536rpx;
+			height: auto;
+			float: left;
+			.layer-nunbox-t{
+				width: 100%;
+				height:44rpx;
+				position:relative;
+				display: flex;
+				margin-bottom: 10rpx;
+				.text{
+					font-size: $font-size-24;
+					line-height: 48rpx;
+					color: #999999;
+				}
+				.layer-nunbox-text{
+					line-height: 44rpx;
+					font-size: $font-size-28;
+				}
+				.number-box{
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					.iconfont{
+						font-size: $font-size-32;
+						padding:0 20rpx;
+						font-size: $text-color;
+					}
+					.btn-input{
+						width: 62rpx;
+						height: 48rpx;
+						line-height: 48rpx;
+						background: #F8F8F8;
+						border-radius: 4rpx;
+						text-align: center;
+						font-size: $font-size-28;
+					}
+				}
+				.product-step{
+					position: absolute;
+					left: 45rpx;
+					bottom: 0;
+					height: 44rpx;
+					background: #FFFFFF;
+				}
+			}
+			.layer-nunbox-b{
+				width: 100%;
+				height:44rpx;
+				margin-top: 13rpx;
+			}
+			.text{
+				line-height: 44rpx;
+				font-size: $font-size-28;
+				.p{
+					color: #FF2A2A;
+				}
+				.p:first-child{
+					margin-left: 30rpx;
+				}
+				.p.sm{
+					font-size: $font-size-24;
+				}
+			}
+		}
+	}
+	/*富文本样式*/
+	rich-text.p{
+		width: 702rpx !important;
+		padding: 0 24rpx;
+		text-align: justify;
+	}
+	rich-text.img{
+		width: 100%;
+		height: auto;
+	}
+</style>

+ 23 - 16
pages/search/search-order.vue

@@ -35,6 +35,7 @@
 									<text class="bage-buss tui-skeleton-fillet" v-if="order.orderSubmitType == 3 || order.orderSubmitType == 4">协销</text>
 									<text class="bage-auto tui-skeleton-fillet" v-if="order.orderSubmitType == 0 || order.orderSubmitType == 1 || order.orderSubmitType == 2">自主</text>
 									<text class="bage-text tui-skeleton-fillet">订单号:{{order.orderNo}}</text>
+									<image class="bage-icon" src="../../../static/temp/icon-type@3x.png" mode="widthFix" v-if="order.secondHandOrderFlag == 1"></image>
 								</view>
 								<view class="order-title-b">
 									<view class="order-title-btxt tui-skeleton-fillet">下单时间:{{order.orderTime}}</view>
@@ -51,7 +52,7 @@
 										<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="productspec tui-skeleton-fillet" v-if="pros.productCategory!=2">规格:{{pros.productUnit}}</view>
 											<view class="productprice">
 												<view class="price tui-skeleton-fillet">
 													<text>¥{{pros.price.toFixed(2)}}</text>
@@ -647,41 +648,47 @@
 		height: auto;
 		.order-title-t{
 			width: 100%;
-			height: 40rpx;
+			height: 68rpx;
 			float: left;
-			line-height: 40rpx;
+			line-height: 68rpx;
+			position: relative;
+			.bage-icon{
+				width: 50rpx;
+				height: 50rpx;
+				display: block;
+				position: absolute;
+				right: 0;
+				top: 9rpx;
+			}
 			.bage-buss{
 				display: inline-block;
-				float: left;
-				width: 64rpx;
+				width: 72rpx;
 				height: 30rpx;
-				background:linear-gradient(132deg,rgba(255,177,0,1) 0%,rgba(255,127,0,1) 100%);
-				border-radius: 6rpx;
+				background:radial-gradient(circle,rgba(255,39,180,1) 0%,rgba(193,77,245,1) 100%);
+				border-radius: 15rpx;
 				line-height: 30rpx;
 				font-size: $font-size-22;
 				text-align: center;
 				color: #FFFFFF;
-				margin-top: 8rpx;
 			}
 			.bage-auto{
-				isplay: inline-block;
-				float: left;
-				width: 64rpx;
+				display: inline-block;
+				width: 72rpx;
 				height: 30rpx;
-				background:linear-gradient(135deg,rgba(0,216,255,1) 0%,rgba(22,139,225,1) 100%);
-				border-radius: 6rpx;
+				background:radial-gradient(circle,rgba(255,180,39,1) 0%,rgba(245,142,77,1) 100%);
+				border-radius: 15rpx;
 				line-height: 30rpx;
 				font-size: $font-size-22;
 				text-align: center;
 				color: #FFFFFF;
-				margin-top:8rpx;
 			}
 			.bage-text{
+				display: inline-block;
 				font-size: $font-size-28;
-				line-height: 40rpx;
+				line-height: 68rpx;
 				text-align: left;
 				color: $color-system;
-				margin-left: 15rpx;
+				margin-left: 10rpx;
 			}
 		}
 		.order-title-b{

+ 22 - 15
pages/user/order/order-list.vue

@@ -25,6 +25,7 @@
 										<text class="bage-buss tui-skeleton-fillet" v-if="order.orderSubmitType == 3 || order.orderSubmitType == 4">协销</text>
 										<text class="bage-auto tui-skeleton-fillet" v-if="order.orderSubmitType == 0 || order.orderSubmitType == 1 || order.orderSubmitType == 2">自主</text>
 										<text class="bage-text tui-skeleton-fillet">订单号:{{order.orderNo}}</text>
+										<image class="bage-icon" src="../../../static/temp/icon-type@3x.png" mode="widthFix" v-if="order.secondHandOrderFlag == 1"></image>
 									</view>
 									<view class="order-title-b">
 										<view class="order-title-btxt tui-skeleton-fillet">下单时间:{{order.orderTime}}</view>
@@ -41,7 +42,7 @@
 											<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="productspec tui-skeleton-fillet" v-if="pros.productCategory!=2">规格:{{pros.productUnit}}</view>
 												<view class="productprice">
 													<view class="price tui-skeleton-fillet">
 														<text>¥{{pros.price.toFixed(2)}}</text>
@@ -544,41 +545,47 @@
 		height: auto;
 		.order-title-t{
 			width: 100%;
-			height: 40rpx;
-			line-height: 40rpx;
+			height: 68rpx;
 			float: left;
+			line-height: 68rpx;
+			position: relative;
+			.bage-icon{
+				width: 50rpx;
+				height: 50rpx;
+				display: block;
+				position: absolute;
+				right: 0;
+				top: 9rpx;
+			}
 			.bage-buss{
 				display: inline-block;
-				float: left;
-				width: 64rpx;
+				width: 72rpx;
 				height: 30rpx;
-				background:linear-gradient(132deg,rgba(255,177,0,1) 0%,rgba(255,127,0,1) 100%);
-				border-radius: 6rpx;
+				background:radial-gradient(circle,rgba(255,39,180,1) 0%,rgba(193,77,245,1) 100%);
+				border-radius: 15rpx;
 				line-height: 30rpx;
 				font-size: $font-size-22;
 				text-align: center;
 				color: #FFFFFF;
-				margin-top: 8rpx;
 			}
 			.bage-auto{
 				display: inline-block;
-				float: left;
-				width: 64rpx;
+				width: 72rpx;
 				height: 30rpx;
-				background:linear-gradient(135deg,rgba(0,216,255,1) 0%,rgba(22,139,225,1) 100%);
-				border-radius: 6rpx;
+				background:radial-gradient(circle,rgba(255,180,39,1) 0%,rgba(245,142,77,1) 100%);
+				border-radius: 15rpx;
 				line-height: 30rpx;
 				font-size: $font-size-22;
 				text-align: center;
 				color: #FFFFFF;
-				margin-top: 8rpx;
 			}
 			.bage-text{
+				display: inline-block;
 				font-size: $font-size-28;
-				line-height: 40rpx;
+				line-height: 68rpx;
 				text-align: left;
 				color: $color-system;
-				margin-left: 15rpx;
+				margin-left: 10rpx;
 			}
 		}
 		.order-title-b{

+ 490 - 0
seller/pages/cart/second.vue

@@ -0,0 +1,490 @@
+<template>
+	<view class="container all-type-list-wrapper">
+		<second-hand ref="productList"
+						  :search-status="true"
+						  @operationConfim="hanldOperationConfim"
+						  >
+		</second-hand>
+		<!--底部选择模态层弹窗组件 -->
+		<view class="popup spec"  :class="specClass"  @touchmove.stop.prevent="discard" @tap="hideSpec" >
+			<!-- 遮罩层 -->
+			<view class="mask"></view>
+			<view class="layer" @tap.stop="discard" :style="{paddingBottom :isIphoneX ? '68rpx' : '36rpx',bottom:isIphoneX ?'-370rpx' : '-360rpx'}">
+				<view class="content">
+					<view class="layer-smimg">
+						<image :src="handleData.mainImage" mode=""></image>
+					</view>
+					<view class="layer-nunbox">
+						<view class="layer-nunbox-t">
+							<view class="layer-nunbox-text">数量:</view>
+							<view class="number-box">
+								<view  class="iconfont icon-jianhao" :class="[isQuantity?'disabled':'']" @click="changeCountSub()"></view>
+								<input class="btn-input" type="number" v-model="number" maxlength='6'  @blur="changeNumber($event)">
+								<view  class="iconfont icon-jiahao"  :class="[isStock?'disabled':'']" @click="changeCountAdd()"></view>
+							</view>
+						</view>
+						<view class="layer-nunbox-b">
+							<view class="text">单价:
+								<text class="p sm">¥</text>
+								<text class="p bg">{{buyRetailPrice.toFixed(2)}}</text>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="btn">
+					<view class="button add" @click="toConfirmation">立即购买</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import secondHand from '@/components/cm-module/listTemplate/secondHand'
+	import { getSellerProductNum ,shoppingCartAddCart,getCartAddCart} from "@/api/seller.js"
+	import { querySearchProductLadderPrice } from "@/api/product.js"
+	export default{
+		components:{
+			secondHand
+		},
+		data(){
+			return{
+				clubID:'',	//机构ID
+				serviceProviderId:'',//协销ID
+				serverUrl: '',
+				emptyText: '',
+				lastPageType: '',
+				lastPageVal: '',
+				isIphoneX:this.$store.state.isIphoneX,
+				specClass: '',//规格弹窗css类,控制开关动画
+				specClasszuhe:'',//组合加购物车弹窗
+				specClassjieti:'',//阶梯展示弹窗
+				ladderPriceList:{},
+				handleData:{},
+				isQuantity:false,
+				isStock:false,
+				number:1,
+				buyRetailPrice:0,
+				productKind:0,
+				productTotalNum:0,
+				productTotalAmount:0,
+				buyNumRangeShow:'',//起订量范围
+				buyPrice:'',//起订量范围价格
+				buyRetailPriceStep:1,
+				secondProductType:'',
+			}
+		},
+		onLoad() {
+
+		},
+		methods:{
+			getClubProductNum(){
+				getSellerProductNum({clubId:this.clubID,serviceProviderId:this.serviceProviderId}).then(response =>{
+					this.$refs.productList.cartQuantity = response.data
+				})
+			},
+			hanldOperationConfim(data){//显示选择数量确认弹窗
+				console.log(this.handleData)
+				this.handleData = data
+				this.number = 1
+				this.buyRetailPrice = Number(data.price1);
+				this.secondProductType = data.secondProductType
+				this.specClass = 'show';
+			},
+			hideSpec() {//关闭选择数量确认弹窗
+				this.specClass = 'hide';
+				setTimeout(() => {
+					this.specClass = 'none';
+				}, 200);
+			},
+			changeCountAdd(){//popup弹窗数量增加按钮
+				if(this.handleData.secondProductType == 2){
+					if(this.number >= this.handleData.stock){
+						this.number= this.handleData.stock
+						this.isStock =true
+						this.$util.msg(`购买数量最高为${this.handleData.stock}`,2000);
+						return
+					}else{
+						this.number++
+						this.isQuantity =false
+					}
+				}else{
+					this.isStock =true
+					this.$util.msg(`该商品购买数量只能为1`,2000);
+				}
+			},
+			changeCountSub(){//popup弹窗数量减按钮
+				if(this.handleData.secondProductType == 2){
+					if(this.number < 1){
+						this.number= 1
+						this.isQuantity =true
+						this.$util.msg(`购买数量最低为1`,2000);
+						return
+					}else{
+						this.number--
+						this.isQuantity =false
+					}
+				}else{
+					this.isQuantity =true
+					this.$util.msg(`该商品购买数量只能为1`,2000);
+				}
+			 },
+			changeNumber(e){
+				let _value = e.detail.value;
+				if(!this.$api.isNumber(_value)){
+					this.number = this.minBuyNumber
+				}else if(_value < this.minBuyNumber){
+					this.$util.msg(`该商品最小起订量为${this.minBuyNumber}`,2000);
+					this.number = this.minBuyNumber
+				}else if( _value % this.minBuyNumber !=0 ){
+					this.$util.msg(`购买量必须为起订量的整数倍`,2000);
+					this.number = this.minBuyNumber
+				}else{
+					this.number = e.detail.value
+				}
+			},
+			clearProduct(){//成功加入购物车后清空所选值
+				this.handleData.productKind= 0;
+				this.handleData.productTotalNum = 0;
+				this.handleData.productTotalAmount = 0;
+				this.handleData.combinationProductList.forEach(item =>{
+					item.initProductNum = 0;
+				})
+			},
+			toConfirmation(){//跳转确认订单页面
+				this.specClass = 'hide';
+				let cartPramsData={
+						clubId:this.clubID,
+						allPrice:this.number*this.buyRetailPrice,
+						allCount:this.number,
+						productID:this.handleData.productID,
+						productCount:this.number
+				}
+				this.$api.navigateTo(`/seller/pages/order/create-order?type=prodcut&data=${JSON.stringify({data:cartPramsData})}`)
+				setTimeout(() => {
+					this.specClass = 'none';
+				}, 200);
+			},
+			hanldToCartPage(){
+				this.$api.navigateTo('/seller/pages/cart/cart')
+			},
+			discard(){
+				//丢弃
+			}
+		},
+		onShow() {
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+				this.clubID = resolve.clubID
+			})
+			this.$api.getStorage().then((resolve) =>{
+				this.serviceProviderId = resolve.serviceProviderID
+				this.getClubProductNum()
+			})
+		},
+	}
+</script>
+
+<style lang="scss">
+	// 阶梯价格弹窗
+	.jieti_box{
+		width: 596rpx;
+		// height: 496rpx;
+		top: 10%;
+		right: 50%;
+		transform: translate(50%,50%);
+		position: absolute;
+		background:#FFFFFF;
+		color: #000;
+		font-size: 28rpx;
+		border-radius: 10rpx;
+		text-align: center;
+		line-height: 84rpx;
+		padding: 20rpx;
+		z-index: 99999;
+	}
+	.jieti_box_one{
+		// width: 548rpx;
+		overflow: hidden;
+		border: 2rpx solid #F5F5F5;
+		border-bottom: 0;
+		margin: auto;
+	}
+	.jieti_left{
+		width: 298rpx;
+		float: left;
+		}
+	.jieti_left view{
+		height: 84rpx;
+		border-bottom:2rpx solid #F5F5F5 ;
+		border-right:2rpx solid #F5F5F5  ;
+	}
+	.ladder-a{
+		letter-spacing: 4rpx;
+	}
+	.jieti_right{
+			width: 294rpx;
+			float: right;
+		}
+	.jieti_right view{
+			height: 84rpx;
+			border-bottom:2rpx solid #F5F5F5;
+		}
+	.addbtn{
+			height: 84rpx;
+			background: linear-gradient(135deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
+			text-align: center;
+			font-size: 28rpx;
+			color: #fff;
+			line-height: 84rpx;
+			border-radius: 10rpx;
+			margin: 20rpx auto
+		}
+	.zuhe-content{
+		display: inline-block;
+	}
+	.number-left{
+		float: left;
+	}
+	.number-right{
+		margin-left: 30rpx;
+		float: left;
+	}
+	.number-left text{
+		margin-left: 30rpx;
+	}
+	.number-right-text{
+		color: #FF2A2A;
+	}
+	page {
+		background: $sub-bg-color;
+		.all-type-list-wrapper {
+			display: flex;
+			flex-direction: column;
+		}
+	}
+	/* 加入购物模态层*/
+	@keyframes showPopup {
+		0% {
+			opacity: 0;
+		}
+		100% {
+			opacity: 1;
+		}
+	}
+	@keyframes hidePopup {
+		0% {
+			opacity: 1;
+		}
+		100% {
+			opacity: 0;
+		}
+	}
+	@keyframes showLayer {
+		0% {
+			transform: translateY(0);
+		}
+		100% {
+			transform: translateY(-100%);
+		}
+	}
+	@keyframes hideLayer {
+		0% {
+			transform: translateY(-100%);
+		}
+		100% {
+			transform: translateY(0);
+		}
+	}
+	@keyframes showAmnation {
+		0% {
+			top: -12rpx;
+			opacity: 0;
+		}
+		50% {
+			top: -60rpx;
+			opacity: 1;
+		}
+		100% {
+			top: -100rpx;
+			opacity: 0;
+		}
+	}
+	@keyframes hideAmnation {
+		0% {
+			top: -100rpx;
+			opacity: 0;
+		}
+		100% {
+			top: -12rpx;
+			opacity: 0;
+		}
+	}
+	.popup {
+		position: fixed;
+		top: 0;
+		width: 100%;
+		height: 100%;
+		z-index: 999;
+		display: none;
+		.mask{
+			position: fixed;
+			top: 0;
+			width: 100%;
+			height: 100%;
+			z-index: 21;
+			background-color: rgba(0, 0, 0, 0.6);
+		}
+		.layer {
+			position: fixed;
+			z-index: 22;
+			bottom: -360rpx;
+			width: 702rpx;
+			padding: 24rpx 24rpx 36rpx 24rpx;
+			// height: 236rpx;
+			border-radius: 20rpx 20rpx 0 0;
+			background-color: #fff;
+			display: flex;
+			flex-wrap: wrap;
+			align-content: space-between;
+			.content {
+				width: 100%;
+				margin-top: 20rpx;
+			}
+			.btn {
+				width: 100%;
+				// height: 88rpx;
+				display: flex;
+				.button {
+					width: 702rpx;
+					height: 88rpx;
+					color: #fff;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					font-size: $font-size-28;
+					border-radius: 14rpx;
+					background: $btn-confirm;
+					margin-top: 20rpx;
+				}
+			}
+		}
+		.layer-nunbox-m{
+			font-size: 28rpx;
+		}
+		&.show {
+			display: block;
+			.mask{
+				animation: showPopup 0.2s linear both;
+			}
+			.layer {
+				animation: showLayer 0.2s linear both;
+			}
+		}
+		&.hide {
+			display: block;
+			.mask{
+				animation: hidePopup 0.2s linear both;
+			}
+
+			.layer {
+				animation: hideLayer 0.2s linear both;
+			}
+		}
+		&.none {
+			display: none;
+		}
+		&.service {
+			.row {
+				margin: 30upx 0;
+				.title {
+					font-size: 30upx;
+					margin: 10upx 0;
+				}
+				.description {
+					font-size: 28upx;
+					color: #999;
+				}
+			}
+		}
+		.layer-smimg{
+			width: 158rpx;
+			height: 158rpx;
+			float: left;
+			border-radius: 10rpx;
+			margin-right: 24rpx;
+			image{
+				width: 158rpx;
+				height: 158rpx;
+				border-radius: 10rpx;
+			}
+		}
+		.layer-nunbox{
+			justify-content: space-between;
+			align-items: center;
+			width: 510rpx;
+			height: 88rpx;
+			padding: 10rpx 0 0 0;
+			float: left;
+			.layer-nunbox-t{
+				width: 100%;
+				height:44rpx;
+				position:relative;
+				display: flex;
+				margin-top: 10rpx;
+				.layer-nunbox-text{
+					line-height: 44rpx;
+					font-size: $font-size-28;
+				}
+				.number-box{
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					.iconfont{
+						font-size: $font-size-32;
+						padding:0 20rpx;
+						font-size: $text-color;
+					}
+					.btn-input{
+						width: 100rpx;
+						height: 48rpx;
+						line-height: 48rpx;
+						background: #F8F8F8;
+						border-radius: 4rpx;
+						text-align: center;
+						font-size: $font-size-28;
+					}
+				}
+				.product-step{
+					position: absolute;
+					left: 45rpx;
+					bottom: 0;
+					height: 44rpx;
+					background: #FFFFFF;
+				}
+			}
+			.layer-nunbox-b{
+				width: 100%;
+				height:44rpx;
+				margin-top: 13rpx;
+			}
+			.text{
+				line-height: 44rpx;
+				font-size: $font-size-28;
+				.p{
+					color: #FF2A2A;
+				}
+				.p:first-child{
+					margin-left: 30rpx;
+				}
+				.p.sm{
+					font-size: $font-size-24;
+				}
+			}
+		}
+	}
+
+	.zuhe .layer{
+		bottom: -270rpx;
+		height: 200rpx;
+	}
+</style>

+ 1 - 1
seller/pages/club/allClub-list.vue

@@ -242,7 +242,7 @@
 			width: 582rpx;
 			height: 64rpx;
 			background: #F7F7F7;
-			border-radius: 14rpx;
+			border-radius: 32rpx;
 			float: left;
 			position: relative;
 			.input{

+ 39 - 15
seller/pages/club/club-list.vue

@@ -30,17 +30,18 @@
 						</view>
 						<view class="list-item">
 							<view class="list-title">
-								<text>{{item.name}}</text>
+								<text class="list-name">{{item.name}}</text>
+								<text class="list-hist" @click.stop="_goHistory(item)"><text class="iconfont icon-dingdanxuanzhong"></text>订单列表</text>
 							</view>
 							<view class="list-opea">
 								<view class="btn org" @click.stop="_goImmediately(item)">
 									<text>立即下单</text>
 								</view>
-								<view class="btn gre" @click.stop="_goBuyagain(item)">
-									<text>再次购买</text>
+								<view class="btn gre" @click.stop="_goSecond(item)">
+									<text>二手下单</text>
 								</view>
-								<view class="btn yel" @click.stop="_goHistory(item)">
-									<text>订单列表</text>
+								<view class="btn yel" @click.stop="_goBuyagain(item)">
+									<text>再次购买</text>
 								</view>
 							</view>
 						</view>
@@ -174,6 +175,10 @@
 				this.$api.setStorage('orderUserInfo',item)
 				this.$api.navigateTo('/seller/pages/cart/buyagain')
 			},
+			_goSecond(item ){
+				this.$api.setStorage('orderUserInfo',item)
+				this.$api.navigateTo('/seller/pages/cart/second')
+			},
 			_goHistory(item){
 				this.$api.setStorage('orderUserInfo',item)
 				this.$api.navigateTo(`/seller/pages/order/order-historylist?clubID=${item.clubID}&listType=0`)
@@ -222,7 +227,7 @@
 			width: 582rpx;
 			height: 64rpx;
 			background: #F7F7F7;
-			border-radius: 14rpx;
+			border-radius: 32rpx;
 			float: left;
 			position: relative;
 			.icon-iconfonticonfontsousuo1{
@@ -299,12 +304,31 @@
 				flex-direction:column ;
 				.list-title{
 					flex: 2;
-					line-height: 40rpx;
+					line-height: 80rpx;
 					width: 100%;
 					font-size: $font-size-28;
 					color: $text-color;
-					text-align: left;
 					padding-left: 11rpx;
+					flex-direction: row;
+					justify-content: flex-start;
+					.list-name{
+						display: block;
+						float: left;
+						width: 50%;
+						text-align: left;
+					}
+					.list-hist{
+						display: block;
+						float: right;
+						color: #E19B30;
+						font-size: $font-size-24;
+						text-align: right;
+						padding-right: 30rpx;
+						.icon-dingdanxuanzhong{
+							font-size: $font-size-34;
+							color: #E19B30;
+						}
+					}
 				}
 				.list-opea{
 					width: 100%;
@@ -321,18 +345,18 @@
 						font-size: $font-size-24;
 						color: $text-color;
 						text-align: center;
-						margin: 0 12rpx;
+						margin: 0 17rpx;
 						&.org{
-							background:$btn-confirm;
-							color: #FFFFFF;
+							background:rgba(22,225,77,.1);
+							color: #16E14D;
 						}
 						&.gre{
-							background:$btn-confirm;
-							color: #FFFFFF;
+							background:rgba(22,123,225,.1);
+							color: #167BE1;
 						}
 						&.yel{
-							background:#FFFFFF ;
-							border: 1px solid #999999;
+							background:rgba(225,86,22,.1);
+							color: #E15616;
 						}
 					}
 				}

+ 1 - 1
seller/pages/club/list.vue

@@ -302,7 +302,7 @@
 				width: 582rpx;
 				height: 64rpx;
 				background: #F7F7F7;
-				border-radius: 14rpx;
+				border-radius: 32rpx;
 				float: left;
 				position: relative;
 				.input{

+ 21 - 2
seller/pages/order/create-order.vue

@@ -122,13 +122,32 @@
 			this.clubId = data.data.clubId
 			this.productCount = data.data.productCount
 			this.productIds = data.data.productID
-			this.getInitCrearOrder();
+			if(option.type =='prodcut'){
+				this.getInitProdcutCrearOrder();
+			}else{
+				this.getInitCrearOrder();
+			}
+			
 			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
 				this.clubUserId = resolve.userID
 			})
 		},
 		methods: {
-			getInitCrearOrder(option){//获取订单商品信息
+			getInitProdcutCrearOrder(option){//二手下单初始化查询
+				this.$api.getStorage().then((resolve) =>{
+					this.serviceProviderId = resolve.serviceProviderID
+					let params ={clubId:this.clubId,serviceProviderId:this.serviceProviderId,productCount:this.productCount,productId:this.productIds}
+					this.SellerService.GetSettlementBySencondProduct(params).then(response =>{
+						let resData = response.data
+						this.isRequest = true
+						this.goodsData = resData.shopList
+						this.userMoney = resData.userMoney
+					}).catch(error =>{
+						this.$util.msg(error.msg,2000)
+					})
+				})
+			},
+			getInitCrearOrder(option){//协销购物车获取订单商品信息
 				this.$api.getStorage().then((resolve) =>{
 					this.serviceProviderId = resolve.serviceProviderID
 					let params ={clubId:this.clubId,serviceProviderId:this.serviceProviderId,count:this.productCount,productIds:this.productIds}

+ 23 - 15
seller/pages/order/order-historylist.vue

@@ -28,6 +28,7 @@
 										<text class="bage-buss tui-skeleton-fillet" v-if="order.orderSubmitType == 3 || order.orderSubmitType == 4">协销</text>
 										<text class="bage-auto tui-skeleton-fillet" v-if="order.orderSubmitType == 0 || order.orderSubmitType == 1 || order.orderSubmitType == 2">自主</text>
 										<text class="bage-text tui-skeleton-fillet">订单号:{{order.orderNo}}({{order.orderID}})</text>
+										<image class="bage-icon" src="../../../static/temp/icon-type@3x.png" mode="widthFix" v-if="order.secondHandOrderFlag == 1"></image>
 									</view>
 									<view class="order-title-b">
 										<view class="order-title-btxt tui-skeleton-fillet">下单时间:{{order.orderTime}}</view>
@@ -44,7 +45,7 @@
 											<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 ? pros.productUnit : ''}}</view>
+												<view class="productspec tui-skeleton-fillet" v-if="pros.productCategory != 2">规格:{{pros.productUnit ? pros.productUnit : ''}}</view>
 												<view class="productprice">
 													<view class="price tui-skeleton-fillet">
 														<text>¥{{pros.price.toFixed(2)}}</text>
@@ -525,17 +526,24 @@
 		}
 		.order-title-t{
 			width: 100%;
-			height: 44rpx;
+			height: 68rpx;
 			float: left;
-			padding-top: 8rpx;
-			line-height: 44rpx;
-			.bage-buss{
+			line-height: 68rpx;
+			position: relative;
+			.bage-icon{
+				width: 50rpx;
+				height: 50rpx;
 				display: block;
-				float: left;
-				width: 64rpx;
+				position: absolute;
+				right: 0;
+				top: 9rpx;
+			}
+			.bage-buss{
+				display: inline-block;
+				width: 72rpx;
 				height: 30rpx;
-				background:linear-gradient(132deg,rgba(255,177,0,1) 0%,rgba(255,127,0,1) 100%);
-				border-radius: 6rpx;
+				background:radial-gradient(circle,rgba(255,39,180,1) 0%,rgba(193,77,245,1) 100%);
+				border-radius: 15rpx;
 				line-height: 30rpx;
 				font-size: $font-size-22;
 				text-align: center;
@@ -543,12 +551,11 @@
 				margin-top: 8rpx;
 			}
 			.bage-auto{
-				display: block;
-				float: left;
-				width: 64rpx;
+				display: inline-block;
+				width: 72rpx;
 				height: 30rpx;
-				background:linear-gradient(135deg,rgba(0,216,255,1) 0%,rgba(22,139,225,1) 100%);
-				border-radius: 6rpx;
+				background:radial-gradient(circle,rgba(255,180,39,1) 0%,rgba(245,142,77,1) 100%);
+				border-radius: 15rpx;
 				line-height: 30rpx;
 				font-size: $font-size-22;
 				text-align: center;
@@ -556,8 +563,9 @@
 				margin-top: 8rpx;
 			}
 			.bage-text{
+				display: inline-block;
 				font-size: $font-size-28;
-				line-height: 44rpx;
+				line-height: 68rpx;
 				text-align: left;
 				color: $color-system;
 				margin-left: 15rpx;

+ 23 - 17
seller/pages/order/order-list.vue

@@ -36,6 +36,7 @@
 										<text class="bage-buss tui-skeleton-fillet" v-if="order.orderSubmitType == 3 || order.orderSubmitType == 4">协销</text>
 										<text class="bage-auto tui-skeleton-fillet" v-if="order.orderSubmitType == 0 || order.orderSubmitType == 1 || order.orderSubmitType == 2">自主</text>
 										<text class="bage-text tui-skeleton-fillet">订单号:{{order.orderNo}}({{order.orderID}})</text>
+										<image class="bage-icon" src="../../../static/temp/icon-type@3x.png" mode="widthFix" v-if="order.secondHandOrderFlag == 1"></image>
 									</view>
 									<view class="order-title-b">
 										<view class="order-title-btxt tui-skeleton-fillet">下单时间:{{order.orderTime}}</view>
@@ -52,7 +53,7 @@
 											<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 ? pros.productUnit : ''}}</view>
+												<view class="productspec tui-skeleton-fillet" v-if="pros.productCategory!=2" >规格:{{pros.productUnit ? pros.productUnit : ''}}</view>
 												<view class="productprice">
 													<view class="price tui-skeleton-fillet">
 														<text>¥{{pros.price.toFixed(2)}}</text>
@@ -583,42 +584,47 @@
 		}
 		.order-title-t{
 			width: 100%;
-			height: 44rpx;
+			height: 68rpx;
 			float: left;
-			padding-top: 8rpx;
-			line-height: 44rpx;
+			line-height: 68rpx;
+			position: relative;
+			.bage-icon{
+				width: 50rpx;
+				height: 50rpx;
+				display: block;
+				position: absolute;
+				right: 0;
+				top: 9rpx;
+			}
 			.bage-buss{
 				display: inline-block;
-				float: left;
-				width: 64rpx;
+				width: 72rpx;
 				height: 30rpx;
-				background:linear-gradient(132deg,rgba(255,177,0,1) 0%,rgba(255,127,0,1) 100%);
-				border-radius: 6rpx;
+				background:radial-gradient(circle,rgba(255,39,180,1) 0%,rgba(193,77,245,1) 100%);
+				border-radius: 15rpx;
 				line-height: 30rpx;
 				font-size: $font-size-22;
 				text-align: center;
 				color: #FFFFFF;
-				margin-top: 8rpx;
 			}
 			.bage-auto{
-				display: block;
-				float: left;
-				width: 64rpx;
+				display: inline-block;
+				width: 72rpx;
 				height: 30rpx;
-				background:linear-gradient(135deg,rgba(0,216,255,1) 0%,rgba(22,139,225,1) 100%);
-				border-radius: 6rpx;
+				background:radial-gradient(circle,rgba(255,180,39,1) 0%,rgba(245,142,77,1) 100%);
+				border-radius: 15rpx;
 				line-height: 30rpx;
 				font-size: $font-size-22;
 				text-align: center;
 				color: #FFFFFF;
-				margin-top: 8rpx;
 			}
 			.bage-text{
+				display: inline-block;
 				font-size: $font-size-28;
-				line-height: 44rpx;
+				line-height: 68rpx;
 				text-align: left;
 				color: $color-system;
-				margin-left: 15rpx;
+				margin-left: 10rpx;
 			}
 		}
 		.order-title-b{

+ 24 - 18
seller/pages/search/search-order.vue

@@ -35,6 +35,7 @@
 									<text class="bage-buss tui-skeleton-fillet" v-if="order.orderSubmitType == 3 || order.orderSubmitType == 4">协销</text>
 									<text class="bage-auto tui-skeleton-fillet" v-if="order.orderSubmitType == 0 || order.orderSubmitType == 1 || order.orderSubmitType == 2">自主</text>
 									<text class="bage-text tui-skeleton-fillet">订单号:{{order.orderNo}}({{order.orderID}})</text>
+									<image class="bage-icon" src="../../../static/temp/icon-type@3x.png" mode="widthFix" v-if="order.secondHandOrderFlag == 1"></image>
 								</view>
 								<view class="order-title-b">
 									<view class="order-title-btxt tui-skeleton-fillet">下单时间:{{order.orderTime}}</view>
@@ -51,7 +52,7 @@
 										<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="productspec tui-skeleton-fillet" v-if="pros.productCategory != 2">规格:{{pros.productUnit}}</view>
 											<view class="productprice">
 												<view class="price tui-skeleton-fillet">
 													<text>¥{{pros.price.toFixed(2)}}</text>
@@ -635,42 +636,47 @@
 		}
 		.order-title-t{
 			width: 100%;
-			height: 44rpx;
+			height: 68rpx;
 			float: left;
-			padding-top: 8rpx;
-			line-height: 44rpx;
-			.bage-buss{
+			line-height: 68rpx;
+			position: relative;
+			.bage-icon{
+				width: 50rpx;
+				height: 50rpx;
 				display: block;
-				float: left;
-				width: 64rpx;
+				position: absolute;
+				right: 0;
+				top: 9rpx;
+			}
+			.bage-buss{
+				display: inline-block;
+				width: 72rpx;
 				height: 30rpx;
-				background:linear-gradient(132deg,rgba(255,177,0,1) 0%,rgba(255,127,0,1) 100%);
-				border-radius: 6rpx;
+				background:radial-gradient(circle,rgba(255,39,180,1) 0%,rgba(193,77,245,1) 100%);
+				border-radius: 15rpx;
 				line-height: 30rpx;
 				font-size: $font-size-22;
 				text-align: center;
 				color: #FFFFFF;
-				margin-top: 8rpx;
 			}
 			.bage-auto{
-				display: block;
-				float: left;
-				width: 64rpx;
+				display: inline-block;
+				width: 72rpx;
 				height: 30rpx;
-				background:linear-gradient(135deg,rgba(0,216,255,1) 0%,rgba(22,139,225,1) 100%);
-				border-radius: 6rpx;
+				background:radial-gradient(circle,rgba(255,180,39,1) 0%,rgba(245,142,77,1) 100%);
+				border-radius: 15rpx;
 				line-height: 30rpx;
 				font-size: $font-size-22;
 				text-align: center;
 				color: #FFFFFF;
-				margin-top:8rpx;
 			}
 			.bage-text{
+				display: inline-block;
 				font-size: $font-size-28;
-				line-height: 44rpx;
+				line-height: 68rpx;
 				text-align: left;
 				color: $color-system;
-				margin-left: 15rpx;
+				margin-left: 10rpx;
 			}
 		}
 		.order-title-b{

+ 2 - 2
services/ajax.env.js

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

+ 3 - 0
services/index.js

@@ -4,15 +4,18 @@ import LocateService from './locate.service'
 import UserService from './user.service'
 import ShopService from './shop.service'
 import PhotoService from './photo.service'
+import SellerService from './sellse.service'
 import Vue from 'vue'
 let commonService = new CommonService(ajaxService)
 let locateService = new LocateService(ajaxService)
 let userService = new UserService(ajaxService)
 let shopService = new ShopService(ajaxService)
 let photoService = new PhotoService(ajaxService)
+let sellerService = new SellerService(ajaxService)
 Vue.prototype.AjaxService = ajaxService
 Vue.prototype.CommonService = commonService
 Vue.prototype.LocateService = locateService
 Vue.prototype.UserService = userService
 Vue.prototype.ShopService = shopService
 Vue.prototype.PhotoService = photoService
+Vue.prototype.SellerService = sellerService

+ 28 - 0
services/sellse.service.js

@@ -0,0 +1,28 @@
+/**
+ * 这是协销用户业务的服务
+ */
+export default class SellerService {
+	constructor(AjaxService) {
+		Object.assign(this, { AjaxService })
+		this.name = 'SellerService'
+	}
+	/**
+	 *@协销-二手下单商品列表
+	 *@param 二手商品分类 secondHandType	1二手仪器,2临期产品,3其他  【必传】
+	 *@param 二手仪器分类的类型 instrumentType	1轻光电、2重光电、3耗材配件【不传默认全部】
+	 *@param 搜索关键词 searchKeyword	【选传】 
+	 */
+	GetOrderSecondHandProductList (data = {}) {
+		return this.AjaxService.get({ url:'/product/getOrderSecondHandProductList', data, isLoading: true })
+	}
+	/**
+	 *@协销-二手去结算接口
+	 *@param productId:商品ID(数字类型,必传)
+	 *@param clubId:机构会所ID(同之前)
+	 *@param serviceProviderId:协销ID(同之前)
+	 *@param productCount:二手购买数量 
+	 */
+	GetSettlementBySencondProduct (data = {}) {
+		return this.AjaxService.post({ url:'/seller/settlementBySencondProduct', data, isLoading: true })
+	}
+}

BIN
static/temp/icon-new@2x.png


BIN
static/temp/icon-type@3x.png