Pārlūkot izejas kodu

commit -m 优惠券

zhengjinyi 3 gadi atpakaļ
vecāks
revīzija
308e56b18a

+ 2 - 2
components/cm-module/creatOrder/coupon.vue

@@ -14,7 +14,7 @@
 				</view>
 				<div class="tui-popup-main coupon">
 					<scroll-view class="tui-popup-scroll"  scroll-y="true">
-						<view v-for="(coupon,index) in dataList" :key="index" class="coupon-list"  @click.stop="checkedCoupon(coupon,index)">
+						<view v-for="(coupon,index) in dataList" :key="index" class="coupon-list"  @click.stop="checkedCoupon(index)">
 							<view class="list-cell-le">
 								<view class="coupon-maxMoney">
 									<text class="small">¥</text>
@@ -121,7 +121,7 @@
 					this.dataList.push(Object.assign({},el,{ischecked:false}))
 				})
 			},
-			checkedCoupon(coupon,idx){// 选择优惠券
+			checkedCoupon(idx){// 选择优惠券
 				this.checkedIndex = idx;
 				this.dataList.forEach((el,index) => {
 					if(this.checkedIndex == index){

+ 46 - 86
components/cm-module/creatOrder/sellerCoupon.vue

@@ -2,7 +2,7 @@
 	<view class="coupon-template">
 		<view class="coupon-title" @tap.stop="showPopup">
 			<text class="text">优惠券:</text>
-			<text class="text-coupon">-¥20.00</text>
+			<text class="text-coupon">-¥{{ coupon.couponAmount | NumFormat }}</text>
 			<text class="iconfont icon-xiayibu"></text>
 		</view>
 		<!-- 优惠券 -->
@@ -14,14 +14,14 @@
 				</view>
 				<div class="tui-popup-main coupon">
 					<scroll-view class="tui-popup-scroll"  scroll-y="true">
-						<view v-for="(coupon,index) in dataList" :key="index" :id="coupon.id" class="coupon-list"  @click.stop="checkedCoupon(coupon,index)">
+						<view v-for="(coupon,index) in dataList" :key="index" class="coupon-list"  @click.stop="checkedCoupon(index)">
 							<view class="list-cell-le">
 								<view class="coupon-maxMoney">
 									<text class="small">¥</text>
-									{{ coupon.maxMoney }}
+									{{ coupon.couponAmount }}
 								</view>
 								<view class="coupon-minMoney">
-									满{{ coupon.minMoney }}可用
+									满{{ coupon.touchPrice }}可用
 								</view>
 							</view>
 							<view class="list-cell-ri">
@@ -31,9 +31,14 @@
 											<text class="tags">{{ coupon.couponType | TypeFormat }}</text>
 										</view>
 										<view class="list-cell-texts">
-											<text v-if="coupon.useType == 1">{{ coupon.useType | TypeFormatText }}</text>
-											<text v-if="coupon.useType == 2">{{ coupon.useType | TypeFormatText }}</text>
-											<text v-if="coupon.useType == 3">{{ coupon.useType | TypeFormatText }}{{ coupon.couponText }}的商品</text>
+											<text v-if="coupon.couponType == 0">
+												{{ coupon.productType && coupon.productType == 1 ? '全商城商品通用' : '仅可购买指定商品'  }}
+											</text>
+											<text v-if="coupon.couponType == 1">
+												{{ coupon.categoryType == 1 ? '仅限购买产品类商品' : '仅限购买仪器类商品' }}
+											</text>
+											<text v-if="coupon.couponType == 3">仅限购买店铺【{{ coupon.shopName }}】的商品</text>
+											<text v-if="coupon.couponType == 4 || coupon.couponType == 2">全商城商品通用</text>
 										</view>
 									</view>
 									<view class="list-cell-btn">
@@ -45,7 +50,7 @@
 										</view>
 									</view>
 								</view>
-								<view class="list-cell-time">{{ coupon.couponTime }}</view>
+								<view class="list-cell-time">{{ coupon.endDate }}</view>
 							</view>
 						</view>
 					</scroll-view>
@@ -64,115 +69,59 @@
 	export default{
 		name:"coupon",
 		props:{
-			
+			couponList:{
+				type:Array
+			}
 		},
 		data() {
 			return{
 				popupShow:false,
 				isIphoneX:this.$store.state.isIphoneX,
 				checkedIndex:null,
-				dataList:[
-					{
-						maxMoney:5000,
-						minMoney:1000,
-						couponType:1,
-						couponTime:'2021.06.28~2021.07.28',
-						couponText:'华熙生物技术有限公司',
-						useType:1,
-						couponBtnType:0,
-						ischecked:false
-					},
-					{
-						maxMoney:2000,
-						minMoney:200,
-						couponType:2,
-						couponTime:'2021.06.28~2021.07.28',
-						couponText:'华熙生物技术有限公司',
-						useType:2,
-						couponBtnType:0,
-						ischecked:false
-					},
-					{
-						maxMoney:4000,
-						minMoney:800,
-						couponType:3,
-						couponTime:'2021.06.28~2021.07.28',
-						couponText:'华熙生物技术有限公司',
-						useType:3,
-						couponBtnType:0,
-						ischecked:false
-					},
-					{
-						maxMoney:6000,
-						minMoney:1000,
-						couponType:4,
-						couponTime:'2021.06.28~2021.07.28',
-						couponText:'华熙生物技术有限公司',
-						useType:1,
-						couponBtnType:0,
-						ischecked:false
-					},
-					{
-						maxMoney:6000,
-						minMoney:1000,
-						couponType:5,
-						couponTime:'2021.06.28~2021.07.28',
-						couponText:'华熙生物技术有限公司',
-						useType:2,
-						couponBtnType:0,
-						ischecked:false
-					}
-				],
+				dataList:[],
+				coupon:{
+					couponAmount:0,
+					clubCouponId:0,
+				},
 			}
 		},
 		filters:{
 			NumFormat(value) {//处理金额
 				return Number(value).toFixed(2);
 			},
-		    totalprice(val,count){//单件商品的价格 × 数量
-		        return (val * count).toFixed(2)
-		    },
-			TypeFormat:function(value) {
+			TypeFormat(value) {
 				switch (value) {
-					case 1:
+					case 0:
 						return  '活动券';
 						break;
-					case 2:
+					case 1:
 						return  '品类券';
 						break;
+					case 2:
+						return  '用户专享券';
+						break;
 					case 3:
 						return  '店铺券';
 						break;
 					case 4:
-						return  '专享券';
-						break;
-					case 5:
 						return  '新用户券';
 						break;
 				}
-			},
-			TypeFormatText:function(value) {
-				switch (value) {
-					case 1:
-						return  '全商城商品通用';
-						break;
-					case 2:
-						return  '仅限购买仪器类商品';
-						break;
-					case 3:
-						return  '仅可购买店铺';
-						break;
-				}
 			}
 		},	
 		created(){
-			
+			this.initData(this.couponList)
 		},
 		computed: {
 
 		},
 		methods:{
-			checkedCoupon(coupon,idx){// 选择优惠券
+			initData(data){
+				data.forEach((el,index) => {
+					this.dataList.push(Object.assign({},el,{ischecked:false}))
+				})
+			},
+			checkedCoupon(idx){// 选择优惠券
 				this.checkedIndex = idx;
 				this.dataList.forEach((el,index) => {
 					if(this.checkedIndex == index){
@@ -181,7 +130,6 @@
 						el.ischecked = false
 					}
 				})
-				console.log('this.dataList===>',this.dataList)
 			},
 			showExchangePopup(){
 				this.popupShow = false
@@ -192,6 +140,18 @@
 			},
 			hidePopup(){
 				this.popupShow = false
+				let coupon = {
+						couponAmount:0,
+						clubCouponId:0,
+					};
+				this.dataList.forEach((el,index) => {
+					if(el.ischecked){
+						coupon.couponAmount = el.couponAmount
+						coupon.clubCouponId = el.clubCouponId
+					}
+				})
+				this.coupon = coupon
+				this.$emit('handleChoiceaCoupon',this.coupon);
 			}
 		}
 	}

+ 210 - 0
components/cm-module/creatOrder/sellerExchangeCoupon.vue

@@ -0,0 +1,210 @@
+<template name="alert">
+	<view class="alert spec" :class="specClass">
+		<!-- 运费弹窗说明 -->
+		<view class="coupon-popup">
+			<view class="content">
+				<view class="title">
+					<text>兑换优惠券</text>
+					<text class="iconfont icon-iconfontguanbi" @click.stop="hidePopup"></text>
+				</view>
+				<view class="text-content">
+					<view class="coupon-input">
+						<input class="input" type="text" v-model="params.redemptionCode" maxlength="16"  placeholder="请输入16位兑换码"/>
+					</view>
+					<view class="coupon-main">
+						<view class="coupon-button" @click="exchangeConfirm">立即兑换</view>
+						<view class="coupon-text">
+							<view class="coupon-h1">注意事项:</view>
+							<view class="coupon-h2">1. 兑换码获取:可通过采美线下发放或者销售顾问</view>
+							<view class="coupon-h2 indet">线上发放获得优惠券兑换码,兑换码由16位数字</view>
+							<view class="coupon-h2 indet">和字母组成。</view>
+							<view class="coupon-h2">2. 兑换码使用:在当前页面输入兑换码即可兑换相</view>
+							<view class="coupon-h2 indet">应优惠券一个兑换码只能兑换一张优惠券,</view>
+							<view class="coupon-h2 indet">不可重复使用。</view>
+							<view class="coupon-h2">3. 输入兑换码时请区分字母大小写。</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		name:'alert',
+		props:{},
+		data() {
+			return{
+				params:{
+					userId:0,
+					redemptionCode:'',
+					source:2,
+				},
+			}
+		},
+		created() {
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+				this.params.userId = resolve.userID ? resolve.userID : 0;
+			}).catch(error =>{
+				console.log('暂无用户信息~')
+			})
+		},
+		onLoad(){
+			
+		},
+		methods:{
+			exchangeConfirm(){// 立即兑换
+				if( this.params.redemptionCode == ''){
+					this.$util.msg('请输入位兑换码',2000)
+					return
+				}
+				this.ExchangeCoupon(this.params)
+			},
+			ExchangeCoupon(param){// 兑换优惠券
+				this.ProductService.ExchangeCoupon(param).then(response =>{
+					this.$parent.ExchangeCouponData = response.data
+					this.$parent.isExchangePopup = false
+					this.$parent.isCouponModel = true
+				})
+				.catch(error =>{
+					this.$util.msg(error.msg,2000);
+				})
+			},
+			hidePopup(){
+				this.$parent.isExchangePopup = false
+			},
+		},
+		onShow(){
+	
+		}
+	}
+</script>
+
+<style lang="scss">
+	/*弹窗*/
+	.model-warp.none{
+		display: none;
+	}
+	.model-warp.show{
+		display: block;
+	}
+	.coupon-popup{
+		width: 100%;
+		height: 100%;
+		background: rgba(0,0,0,.5);
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 8888;
+		transition: all 0.4s;
+		&.none{
+			display: none;			
+		}
+		&.show{
+			display: block;
+		}
+		.content{
+			width: 580rpx;
+			height: 700rpx;
+			position: absolute;
+			background: $bg-color;
+			left: 0;
+			right: 0;
+			bottom: 0;
+			top: 0;
+			margin: auto;
+			padding: 20rpx 25rpx;
+			border-radius: 12rpx;
+			.title{
+				width: 100%;
+				height: 68rpx;
+				line-height: 68rpx;
+				font-size: $font-size-28;
+				color: $text-color;
+				text-align: center;
+				margin-bottom: 32rpx;
+				position: relative;
+				font-weight: bold;
+				.icon-iconfontguanbi{
+					width: 68rpx;
+					height: 68rpx;
+					text-align: center;
+					line-height: 68rpx;
+					position: absolute;
+					right: 0;
+					top: 0;
+					font-size: $font-size-36;
+					color: #999999;
+				}
+			}
+			.text-content{
+				width: 100%;
+				height: auto;
+				.coupon-input{
+					width: 100%;
+					height: auto;
+					margin-bottom: 48rpx;
+					.input{
+						width: 100%;
+						height: 66rpx;
+						box-sizing: border-box;
+						border: 1px solid #e2e2e2;
+						line-height: 66rpx;
+						padding: 0 20rpx;
+						font-size: $font-size-26;
+						color: #333333;
+						border-radius: 2rpx;
+					}
+				}
+				.coupon-main{
+					width: 100%;
+					height: auto;
+					box-sizing: border-box;
+					.coupon-button{
+						width: 520rpx;
+						height: 84rpx;
+						margin: 0 auto;
+						border-radius: 50rpx;
+						line-height: 84rpx;
+						text-align: center;
+						background: $btn-confirm;
+						color: #FFFFFF;
+						font-size: $font-size-30;
+					}
+					.coupon-text{
+						width: 100%;
+						box-sizing: border-box;
+						padding: 0 20rpx;
+						margin-top: 40rpx;
+						line-height: 44rpx;
+						text-align: justify;
+						font-size: $font-size-24;
+						.coupon-h1{
+							color: #333333;
+						}
+						.coupon-h2{
+							color: #999999;
+							&.indet{
+								text-indent: 28rpx;
+							}
+						}
+					}
+				}
+			}
+			.btn{
+				width: 100%;
+				height: 88rpx;
+				float: left;
+				background: $btn-confirm;
+				line-height: 88rpx;
+				font-size: $font-size-28;
+				text-align: center;
+				color: #FFFFFF;
+				border-radius: 0;
+				padding: 0;
+				margin-top: 2rpx;
+			}
+		}
+	}
+</style>

+ 2 - 2
components/cm-module/listTemplate/buyagainList.vue

@@ -24,7 +24,7 @@
 							<button class="add-cart-btn" @click.stop="operationHanld(item)">数量</button>
 						</view>
 						<view class="list-details-price">
-							<view class="floor-item-act">
+							<view class="floor-item-act" v-if="item.actStatus==1">
 								<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
 								<template v-if="item.actStatus==1">
 									<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
@@ -33,7 +33,7 @@
 									<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
 								</template>
 							</view>
-							<view class="floor-item-act">
+							<view class="floor-item-act" v-if="item.actStatus==0">
 								<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
 								<view class="floor-tags" v-if="item.actStatus ==0  &&  item.ladderPriceFlag==1">阶梯价格</view>	
 							</view>

+ 7 - 1
components/cm-module/listTemplate/classifyProductList.vue

@@ -219,7 +219,13 @@
 					productIdArr.push(item.productID)
 				})
 				this.productIds = productIdArr.join(",");
-				this.ProductService.querySearchProductPrice({userId: this.userID,productIds:this.productIds}).then(response =>{
+				this.ProductService.querySearchProductPrice(
+					{
+						userId: this.userID,
+						productIds:this.productIds,
+						source: 2
+					}
+				).then(response =>{
 					if (response.data) {
 						this.listData = this.ReturnNewProducts(this.listData,response.data);
 					}

+ 10 - 4
components/cm-module/listTemplate/commodityList.vue

@@ -12,7 +12,7 @@
 					<view class="list-details-price">
 						<template v-if="userIdentity == 3">
 							<view class="floor-item-act">
-								<view class="coupon-tags"v-if="item.couponsLogo">优惠券</view>
+								<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
 								<template v-if="item.actStatus==1">
 									<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
 										{{item.promotions.name}}<text v-if="item.p_price_flag != '1' && item.supplierId === shopId">:¥{{ item.price | NumFormat }}</text>
@@ -21,13 +21,13 @@
 								</template>
 							</view>
 							<view class="floor-item-act">
-								<view class="coupon-tags"v-if="item.couponsLogo">优惠券</view>
+								<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
 								<view class="floor-tags" v-if="item.actStatus ==0  &&  item.ladderPriceFlag==1">阶梯价格</view>	
 							</view>
 						</template>
 						<template v-else>
 							<view class="floor-item-act">
-								<view class="coupon-tags"v-if="item.couponsLogo">优惠券</view>
+								<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
 								<template v-if="item.actStatus==1">
 									<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
 										{{item.promotions.name}}<text v-if="hasLogin && item.p_price_flag != '1'">:¥{{ item.price | NumFormat }}</text>
@@ -247,7 +247,13 @@
 					productIdArr.push(item.p_id)
 				})
 				this.productIds = productIdArr.join(",");
-				this.ProductService.querySearchProductPrice({userId: this.userID,productIds:this.productIds}).then(response =>{
+				this.ProductService.querySearchProductPrice(
+					{
+						userId: this.userID,
+						productIds:this.productIds,
+						source: 2
+					}
+				).then(response =>{
 					if (response.data) {
 						this.listData = this.ReturnNewProducts(this.listData,response.data);
 					}

+ 32 - 26
components/cm-module/listTemplate/immediatelyList.vue

@@ -31,14 +31,14 @@
 		<view class="product-container" v-else >
 			<view :class="tabIndex" v-if="tabIndex === 0"  :style="{paddingTop:searchStatus?'128rpx':''}">
 				<scroll-view :style="{'height':scrollHeight+'px'}" @scrolltolower="scrolltolower(tabIndex)" scroll-y v-if="listData.length > 0">
-					<view v-for="(item,index) in listData" :key="index" :id="item.productId" class="all-type-list-content commodity-list" @click.stop="navToDetailPage(item.productId)"  >
-					    <image mode='widthFix' :src="item.image"  class="list-img" alt="list-img"></image>
+					<view v-for="(pros,index) in listData" :key="index" :id="pros.productId" class="all-type-list-content commodity-list" @click.stop="navToDetailPage(pros.productId)"  >
+					    <image mode='widthFix' :src="pros.image"  class="list-img" alt="list-img"></image>
 						<view class="list-details-info">
-							<text class="list-details-title">{{isInterceptHtmlFn(item.name)}}</text>
-							<text class="list-details-specs">规格:{{item.unit ? item.unit : ''}}</text>
-							<text class="list-details-miniQuantity list-details-specs">起订量:{{item.minBuyNumber}}</text>
-							<view class="list-details-specs" v-if="item.code!=''&& item.code!=null">
-								<view>商品编码:{{item.code}}</view>
+							<text class="list-details-title">{{isInterceptHtmlFn(pros.name)}}</text>
+							<text class="list-details-specs">规格:{{pros.unit ? pros.unit : ''}}</text>
+							<text class="list-details-miniQuantity list-details-specs">起订量:{{pros.minBuyNumber}}</text>
+							<view class="list-details-specs" v-if="pros.code!=''&& pros.code!=null">
+								<view>商品编码:{{pros.code}}</view>
 							</view>
 							<view class="list-details-price">
 								<template v-if="priceLoading">
@@ -47,27 +47,27 @@
 								<template v-else>
 									<view class="list-shop">
 										<view class="list-price">
-											<text class="price-larger" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
-												¥{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price) | NumFormat }}
+											<text class="price-larger" :class="PromotionsFormat(pros.promotions) ? 'none' : ''">
+												¥{{ (PromotionsFormat(pros.promotions) ? pros.originalPrice : pros.price) | NumFormat }}
 											</text>
 										</view>
 									</view>
-									<button class="add-cart-btn" @click.stop="operationHanld(item)">数量</button>
+									<button class="add-cart-btn" @click.stop="operationHanld(pros)">数量</button>
 								</template>
 							</view>
-							<view class="list-details-price">
-								<view class="floor-item-act">
-									<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
-									<template v-if="item.actStatus==1">
-										<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-											{{item.promotions.name}}<text>:¥{{ item.price | NumFormat }}</text>
+							<view class="list-details-price"> 
+								<view class="floor-item-act" v-if="pros.actStatus==1">
+									<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
+									<template>
+										<view class="floor-tags" v-if="PromotionsFormat(pros.promotions)">
+											{{pros.promotions.name}}<text>:¥{{ pros.price | NumFormat }}</text>
 										</view>
-										<view class="floor-tags" v-else>{{item.promotions.name}}</view>
+										<view class="floor-tags" v-else>{{pros.promotions.name}}</view>
 									</template>
 								</view>
-								<view class="floor-item-act">
-									<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
-									<view class="floor-tags" v-if="item.actStatus ==0  &&  item.ladderPriceFlag==1">阶梯价格</view>	
+								<view class="floor-item-act" v-if="pros.actStatus == 0">
+									<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
+									<view class="floor-tags" v-if="pros.actStatus ==0  &&  pros.ladderPriceFlag==1">阶梯价格</view>	
 								</view>
 							</view>	
 						</view>
@@ -98,17 +98,17 @@
 												<view class="price-larger">价格:¥{{ pros.price | NumFormat }}</view>
 											</view>
 											<view class="zuhe_price-larger zuhe_list_text" >
-												<view class="floor-item-act">
-													<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
-													<template v-if="pros.actStatus==1">
+												<view class="floor-item-act" v-if="pros.actStatus==1">
+													<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
+													<template>
 														<view class="floor-tags" v-if="PromotionsFormat(pros.promotions)">
 															{{pros.promotions.name}}<text>:¥{{ pros.price | NumFormat }}</text>
 														</view>
 														<view class="floor-tags" v-else>{{pros.promotions.name}}</view>	
 													</template>
 												</view>
-												<view class="floor-item-act">
-													<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
+												<view class="floor-item-act" v-if="pros.actStatus==0">
+													<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
 													<view class="floor-tags" v-if="pros.actStatus ==0  &&  pros.ladderPriceFlag==1">阶梯价格</view>	
 												</view>
 												<view class="count">
@@ -318,7 +318,13 @@
 					productIdArr.push(item.productId)
 				})
 				productIds = productIdArr.join(",");
-				this.ProductService.querySearchProductPrice({userId: this.clubUserId,productIds:productIds}).then(response =>{
+				this.ProductService.querySearchProductPrice(
+					{
+						userId: this.clubUserId,
+						productIds:productIds,
+						source: 2
+					}
+				).then(response =>{
 					this.listData = this.ReturnNewProducts(this.listData,response.data);
 					this.priceLoading = false;
 				}).catch(error =>{

+ 3 - 3
components/cm-module/listTemplate/productList.vue

@@ -27,16 +27,16 @@
 							<button class="add-cart-btn" @click.stop="operationHanld(item)">数量</button>
 						</view>
 						<view class="list-details-price">
-							<view class="floor-item-act">
+							<view class="floor-item-act" v-if="item.actStatus==1">
 								<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
-								<template  v-if="item.actStatus==1">
+								<template v-if="item.actStatus==0">
 									<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
 										{{item.promotions.name}}<text v-if="item.priceFlag != 1">:¥{{ item.price | NumFormat }}</text>
 									</view>
 									<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
 								</template>
 							</view>
-							<view class="floor-item-act">
+							<view class="floor-item-act" v-if="item.actStatus==0">
 								<view class="coupon-tags" v-if="item.couponsLogo">优惠券</view>
 								<view class="floor-tags" v-if="item.actStatus ==0  &&  item.ladderPriceFlag==1">阶梯价格</view>	
 							</view>

+ 6 - 0
components/cm-module/orderDetails/goodsList.vue

@@ -305,6 +305,12 @@
 					height: 44rpx;
 					color: #999999;
 					line-height: 44rpx;
+					text-overflow:ellipsis;
+					display: -webkit-box;
+					word-break: break-all;
+					-webkit-box-orient: vertical;
+					-webkit-line-clamp: 1;
+					overflow: hidden;
 				}
 				.productprice{
 					height: 48rpx;

+ 7 - 1
pages/goods/goods-active.vue

@@ -170,7 +170,13 @@
 					productIdArr.push(item.id)
 				})
 				productIds = productIdArr.join(",");
-				this.ProductService.querySearchProductPrice({userId: this.userID,productIds:productIds}).then(response =>{
+				this.ProductService.querySearchProductPrice(
+					{
+						userId: this.userID,
+						productIds:productIds,
+						source: 2
+					}
+				).then(response =>{
 					this.productList = this.ReturnNewProducts(this.productList,response.data);
 					this.isRepuest = true;
 				}).catch(error =>{

+ 7 - 1
pages/goods/goods-classify.vue

@@ -358,7 +358,13 @@
 				})
 				this.priceLoading = true;
 				this.productIds = productIdArr.join(",");
-				this.ProductService.querySearchProductPrice({userId: this.userId,productIds:this.productIds}).then(response =>{
+				this.ProductService.querySearchProductPrice(
+					{
+						userId: this.userId,
+						productIds:this.productIds,
+						source: 2
+					}
+				).then(response =>{
 					if(response.data) {
 						this.listData = this.ReturnNewProducts(this.listData,response.data);
 					}

+ 1 - 20
pages/h5/other/brands.vue

@@ -20,10 +20,6 @@
 				image1:[
 					'https://static.caimei365.com/www/ppzs/1.png',
 				],
-				image2:[
-					'https://www.caimei365.com/img/investment/h5_4.jpg',
-					'https://www.caimei365.com/img/investment/h5_5.jpg'
-				],
 				isScrollTop:false
 			} 
 		},
@@ -31,22 +27,7 @@
 			
 		},
 		methods:{
-			NavToH5Page(index) {//跳转H5超皮秒防伪查询
-				switch(index){
-					case 1:
-						let path ='https://static.caimei365.com/app/caimei-activity-h5/html/2020/caimeih5_99.html'
-						this.$api.navigateTo(`/pages/h5/activity/activity?link=${path}&title=品牌OEM服务`)
-						break;
-					case 2:
-						this.isBannerHome = false
-						this.isBannerOems = true
-						break;
-					case 3:
-						this.isBannerHome = true
-						this.isBannerOems = false
-						break;
-				}
-			}
+			
 		},
 		onPageScroll(e){//实时获取到滚动的值
 			if(e.scrollTop>400){

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

@@ -166,7 +166,7 @@
 				})
 			},
 			deleteWatingClub(item){
-				this.$util.modal('提示','确定删除机构数据吗?删除后需要重新拉机构上线','确定','取消',true,() =>{
+				this.$util.modal('提示','确定删除机构数据吗?删除后需要重新拉机构上线','确定','取消',true,() =>{
 					this.UserService.SellerDeleteUserTemporaryClub(
 						{
 							id:item.id,

+ 234 - 47
pages/seller/order/create-order.vue

@@ -18,9 +18,13 @@
 						@handleChoiceaInvoice="handleChoiceaInvoiceData">
 		</seller-invoice>
 		<!-- 优惠券选择弹窗 -->
-		<sellerCoupon ref="coupon" v-if="isRequest"></sellerCoupon>
+		<sellerCoupon ref="coupon" 
+				v-if="isCouponShow"
+				:couponList="couponList" 
+				@handleChoiceaCoupon="handleChoiceaCouponData">
+		</sellerCoupon>
 		<!-- 兑换优惠券弹窗 -->
-		<exchangeCoupon v-if="isExchangePopup"></exchangeCoupon>
+		<sellerExchangeCoupon v-if="isExchangePopup"></sellerExchangeCoupon>
 		<!-- 运费 -->
 		<seller-freight ref="freight" 
 						v-if="isFreight && isDepositFlg" 
@@ -69,18 +73,51 @@
 					<text>共{{allCount}}件商品</text>
 				</view>
 				<view class="footer-price">
-					<view class="sum-none" v-if="reducedPrice > 0">
-						<text class="money-sign">¥</text>
-						<text class="money">{{ totalOriginalPrice | NumFormat }}</text>
-						<text class="money-reduced">减<text>¥{{ reducedPrice | NumFormat}}</text></text>
+					<view class="sum" :class="totalDiscountAmount == 0 ? 'none' : ''">
+						总价:<text class="price">¥{{payAllPrice | NumFormat}}</text>
+					</view>
+					<view class="sum-none" v-if="totalDiscountAmount > 0">
+						<text class="money-reduced">共减<text>¥{{ totalDiscountAmount  | NumFormat}}</text></text>
 					</view>
-					<view class="sum" :class="reducedPrice == 0 ? 'none' : ''">总价:<text class="price">¥{{payAllPrice | NumFormat}}</text></view>
 				</view>
 			</view>
 			<view class="footer-submit" @click.stop="orderSubmitMit">
 				<view class="btn">提交订单</view>
 			</view>
 		</view>
+		<!-- 优惠券 -->
+		<view class="coupon-content-model" v-if="isCouponModel">
+			<view class="coupon-alert-content">
+				<view class="coupon">
+					<view class="coupon-list">
+						<view class="list-cell-tags">{{ ExchangeCouponData.couponType | TypeFormat }}</text></view>
+						<view class="list-cell-le">
+							<view class="coupon-maxMoney">
+								<text class="small">¥</text>
+								{{ ExchangeCouponData.couponAmount }}
+							</view>
+							<view class="coupon-minMoney">
+								<text class="txt">满{{ ExchangeCouponData.touchPrice }}可用</text>
+							</view>
+						</view>
+						<view class="list-cell-ri">
+							<view class="list-cell-top">
+								<text v-if="ExchangeCouponData.couponType == 0">
+									{{ ExchangeCouponData.productType && ExchangeCouponData.productType == 1 ? '全商城商品通用' : '仅可购买指定商品'  }}
+								</text>
+								<text v-if="ExchangeCouponData.couponType == 1">
+									{{ ExchangeCouponData.categoryType == 1 ? '仅限购买产品类商品' : '仅限购买仪器类商品' }}
+								</text>
+								<text v-if="ExchangeCouponData.couponType == 3">仅限购买店铺【{{ ExchangeCouponData.shopName }}】的商品</text>
+								<text v-if="ExchangeCouponData.couponType == 4 || ExchangeCouponData.couponType == 2">全商城商品通用</text>
+							</view>
+							<view class="list-cell-time">有效期:{{ ExchangeCouponData.endDate }}</view>
+						</view>
+					</view>
+					<view class="coupon-btn" @click.stop="handleClickCancel">立即收下</view>
+				</view>
+			</view>
+		</view>
 	</view>
 </template>
 
@@ -91,7 +128,7 @@
 	import sellerFreight from '@/components/cm-module/creatOrder/sellerFreight'
 	import freightAlert from '@/components/cm-module/modelAlert/freightAlert.vue'
 	import sellerCoupon from '@/components/cm-module/creatOrder/sellerCoupon'
-	import exchangeCoupon from '@/components/cm-module/creatOrder/exchangeCoupon'
+	import sellerExchangeCoupon from '@/components/cm-module/creatOrder/sellerExchangeCoupon'
 	import sellerRegulations from '@/components/cm-module/creatOrder/sellerRegulations.vue'
 	import modalLayer from "@/components/modal-layer"
 	export default {
@@ -101,7 +138,7 @@
 			sellerInvoice,
 			sellerFreight,
 			sellerCoupon,
-			exchangeCoupon,
+			sellerExchangeCoupon,
 			freightAlert,
 			modalLayer,
 			sellerRegulations
@@ -111,35 +148,38 @@
 				modallayer:false,
 				orderID:0,
 				clubID:'',
-				productIds:'',			  //获取上一级页面商品信息
-				productCount:'',		  //获取上一级页面商品数量
-				classifyIDS:'',			  //获取上一级页面商品分类
-				serviceProviderId:'',	  //协销ID
-				cartType:3,			  	  //购买类型(1购物车提交,2直接购买提交,3协销下单)
-				submitState:'',  		  //提交状态
-				balanceDeductionFlag:2,   //勾选余额的状态(1使用,2不使用)
-				allCount:1,				  //订单提交总数量
-				totalOriginalPrice:0,	  //订单总原价(划线部分)
-				reducedPrice:0,			  //满减金额
-				payAllPrice:0.00,		  //订单提交总金额
-				allPrice:0.00,			  //订单总金额
-				surplusMoney:0.00,		  //显示勾选后的剩余抵扣
-				userMoney:0.00,			  //显示可使用余额
-				deductMoney:0.00,		  //显示已使用的余额
-				addressID:'',			  //地址ID
-				townID:'',				  //区ID
-				isRequest:false,		  //是否加载完成渲染子组件
-				isFreight:false,		  //是否加载完成渲染子组件
-				isAddress:false,		  //是否加载完成地址
+				productIds:'',			  // 获取上一级页面商品信息
+				productCount:'',		  // 获取上一级页面商品数量
+				classifyIDS:'',			  // 获取上一级页面商品分类
+				serviceProviderId:'',	  // 协销ID
+				cartType:3,			  	  // 购买类型(1购物车提交,2直接购买提交,3协销下单)
+				submitState:'',  		  // 提交状态
+				balanceDeductionFlag:2,   // 勾选余额的状态(1使用,2不使用)
+				allCount:1,				  // 订单提交总数量
+				totalOriginalPrice:0,	  // 订单总原价(划线部分)
+				reducedPrice:0,			  // 满减金额
+				couponAmount:0,	  		  // 优惠券金额
+				totalDiscountAmount:0,	  // 共减金额
+				payAllPrice:0.00,		  // 订单提交总金额
+				allPrice:0.00,			  // 订单总金额
+				surplusMoney:0.00,		  // 显示勾选后的剩余抵扣
+				userMoney:0.00,			  // 显示可使用余额
+				deductMoney:0.00,		  // 显示已使用的余额
+				addressID:'',			  // 地址ID
+				townID:'',				  // 区ID
+				isRequest:false,		  // 是否加载完成渲染子组件
+				isFreight:false,		  // 是否加载完成渲染子组件
+				isAddress:false,		  // 是否加载完成地址
 				isExchangePopup:false, 	  // 控制兑换优惠券弹窗
-				isfreightTip:false,		  //控制邮费弹窗
-				ischecked:false,	      //是否勾选余额
-				addressData:{},			  //初始化地址信息
-				goodsData:[],			  //初始化商品信息
-				invoiceData:{type:0},	  //初始化发票信息
-				freightData:{},			  //邮费数据
-				orderInfo:[],			  //提交的商品信息
-				payInfo:{},				  //订单信息
+				isfreightTip:false,		  // 控制邮费弹窗
+				ischecked:false,	      // 是否勾选余额
+				addressData:{},			  // 初始化地址信息
+				goodsData:[],			  // 初始化商品信息
+				couponList:[],		  	  // 初始化优惠券信息
+				invoiceData:{type:0},	  // 初始化发票信息
+				freightData:{},			  // 邮费数据
+				orderInfo:[],			  // 提交的商品信息
+				payInfo:{},				  // 订单信息
 				rechargeGoods:false,
 				isDepositFlg:true,
 				depositIds : [6060,6061,6062,6063,6064,6065,6066,6067,6068,6069],//定金&充值余额商品ID
@@ -150,7 +190,10 @@
 				rebateFlag:0,
 				rebatecheck:false,
 				productsList:[],
-				secondflag:true
+				isCouponShow:false,		  // 是否显示可选优惠券
+				secondflag:true,
+				isCouponModel:false,	  // 兑换优惠券成功提示
+				ExchangeCouponData:{}	  // 兑换优惠券信息
 			}
 		},
 		onLoad(option){//商品数据
@@ -202,19 +245,28 @@
 					})
 				})
 			},
-			getInitCrearOrder(option){//协销购物车跳转确认订单初始化信息
+			getInitCrearOrder(){//协销购物车跳转确认订单初始化信息
 				this.$api.getStorage().then((resolve) =>{
 					this.serviceProviderId = resolve.serviceProviderId
-					let params ={clubId:this.clubId,serviceProviderId:this.serviceProviderId,count:this.productCount,productIds:this.productIds}
-					this.SellerService.SellerSettlement(params).then(response =>{
+					this.SellerService.SellerSettlement(
+						{
+							clubId:this.clubId,
+							serviceProviderId:this.serviceProviderId,
+							count:this.productCount,
+							productIds:this.productIds,
+						}
+					).then(response =>{
 						let data = response.data
-						let productIds = []
 						this.isRequest = true
 						this.goodsData = data.shopList
 						this.userMoney = data.userMoney
 						this.reducedPrice = data.reducedPrice
 						this.totalOriginalPrice = data.reducedPrice + data.totalAmount
 						this.rechargeGoods = data.rechargeGoods
+						this.couponList = data.couponList
+						if(this.couponList.length>0){
+							this.isCouponShow = true
+						}
 						this.allPrice = this.payAllPrice = data.totalAmount
 						this.regulationsData = data.clauseList
 						this.goodsData.forEach(item =>{
@@ -285,6 +337,13 @@
 			claData(id){
 				this.clauseId = id;
 			},
+			handleChoiceaCouponData(data){// 勾选使用优惠券
+				console.log('优惠券信息',data)
+				this.couponAmount = data.couponAmount
+				this.totalDiscountAmount = this.reducedPrice + this.couponAmount;
+				this.clubCouponId = data.clubCouponId
+				this.attributePallPrice()
+			},
 			checkedBalabce(){//勾选使用余额
 				if(this.userMoney > 0){
 					this.ischecked = !this.ischecked
@@ -317,12 +376,12 @@
 						this.deductMoney = this.allPrice							//勾选后使用抵余额
 						this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
 					}else{
-						this.payAllPrice = this.allPrice - this.userMoney       	//勾选后的总价
+						this.payAllPrice = this.allPrice - this.userMoney - this.couponAmount       	//勾选后的总价
 						this.deductMoney = this.userMoney				            //勾选后使用抵余额
 						this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
 					}
 				}else{
-					this.payAllPrice = this.allPrice;
+					this.payAllPrice = this.allPrice  - this.couponAmount;
 					this.deductMoney = 0.00;
 					this.surplusMoney = this.userMoney;
 				}
@@ -335,12 +394,12 @@
 						this.deductMoney = this.allPrice+parseInt(freight)			//勾选后使用抵余额
 						this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
 					}else{
-						this.payAllPrice = this.allPrice+parseInt(freight) - this.userMoney       	//勾选后的总价
+						this.payAllPrice = this.allPrice+parseInt(freight) - this.userMoney  - this.couponAmount       	//勾选后的总价
 						this.deductMoney = this.userMoney				            //勾选后使用抵余额
 						this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
 					}
 				}else{
-					this.payAllPrice = this.allPrice+parseInt(freight)
+					this.payAllPrice = this.allPrice+parseInt(freight) - this.couponAmount
 					this.deductMoney = 0.00
 					this.surplusMoney = this.userMoney
 				}
@@ -374,6 +433,7 @@
 					}
 					console.log(this.payInfo)
 				let params = {
+						clubCouponId:this.clubCouponId,
 						orderSource:6,				  //提交来源
 						clubUserId:this.clubUserId,   //机构UserID
 						cartType:this.cartType,		  //从购物车提交
@@ -406,6 +466,10 @@
 			handFreightAlertShow(){//显示邮费弹窗
 				this.isfreightTip = true;
 			},
+			handleClickCancel(){// 关闭优惠券弹窗
+				this.isCouponModel = false;
+				this.getInitCrearOrder();
+			},
 			hideFreight(){//关闭邮费弹窗
 				this.isfreightTip = false;
 			},
@@ -648,5 +712,128 @@
 			}
 		}
 	}
-	
+	.coupon-content-model{
+		width: 100%;
+		height: 100%;
+		background: rgba(0,0,0,.5);
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 8888;
+		transition: all 0.4s;
+		.coupon-alert-content{
+			width: 600rpx;
+			height: 612rpx;
+			position: absolute;
+			top: 0;
+			left: 0;
+			bottom: 0;
+			right: 0;
+			margin: auto;
+			box-sizing: border-box;
+			padding-top: 92rpx;
+			.coupon{
+				width: 600rpx;
+				height: 522rpx;
+				background: url(https://static.caimei365.com/app/img/icon/icon-coupon-alertbg@2x.png);
+				background-size: cover;
+				box-sizing: border-box;
+				padding: 230rpx 40rpx 0 40rpx;
+				.coupon-list{
+					width: 100%;
+					height: 147rpx;
+					margin-bottom: 32rpx;
+					box-sizing: border-box;
+					background: url(https://static.caimei365.com/app/img/icon/icon-coupon-bg@2x.png);
+					background-size: cover;
+					position: relative;
+					.list-cell-tags{
+						display: inline-block;
+						padding: 0 10rpx;
+						height: 32rpx;
+						line-height: 32rpx;
+						background-color: #f94b4b;
+						color: #FFFFFF;
+						font-size: 18rpx;
+						border-radius: 16rpx 0 16rpx 0;
+						text-align: center;
+						position: absolute;
+						top: 0;
+						left: 0;
+					}
+					.list-cell-le{
+						width: 154rpx;
+						height: 100%;
+						box-sizing: border-box;
+						padding: 30rpx 0;
+						float: left;
+						.coupon-maxMoney{
+							width: 100%;
+							height: 54rpx;
+							line-height: 54rpx;
+							font-size: 42rpx;
+							color: #f94b4b;
+							text-align: center;
+							margin-top: 10rpx;
+							.small{
+								font-size: $font-size-20;
+							}
+						}
+						.coupon-minMoney{
+							width: 100%;
+							height: 28rpx;
+							float: left;
+							box-sizing: border-box;
+							padding-left: 24rpx;
+							.txt{
+								display: block;
+								height: 28rpx;
+								line-height: 28rpx;
+								font-size: 16rpx;
+								color: #f94b4b;
+								text-align: center;
+								padding: 0 5rpx;
+								background-color: #fff1eb;
+								border-radius: 4rpx;
+								float: left;
+							}
+						}
+					}
+					.list-cell-ri{
+						width: 366rpx;
+						height: 100%;
+						box-sizing: border-box;
+						padding:30rpx 20rpx;
+						float: left;
+						.list-cell-top{
+							width: 100%;
+							height: 64rpx;
+							line-height: 64rpx;
+							font-size: $font-size-26;
+							color: #333333;
+							float: left;
+						}
+						.list-cell-time{
+							width: 100%;
+							height: 28rpx;
+							line-height: 28rpx;
+							text-align: left;
+							font-size: $font-size-20;
+							color: #999999;
+						}
+					}
+				}
+				.coupon-btn{
+					width: 100%;
+					height: 78rpx;
+					background: url(https://static.caimei365.com/app/img/icon/icon-coupon-alertbtnbg@2x.png);
+					background-size: cover;
+					line-height: 78rpx;
+					text-align: center;
+					color: #FFFFFF;
+					font-size: $font-size-36;
+				}
+			}
+		}
+	}
 </style>

+ 6 - 0
pages/seller/order/order-historylist.vue

@@ -751,6 +751,12 @@
 		.productspec{
 			height: 36rpx;
 			color: #999999;
+			text-overflow:ellipsis;
+			display: -webkit-box;
+			word-break: break-all;
+			-webkit-box-orient: vertical;
+			-webkit-line-clamp: 1;
+			overflow: hidden;
 		}
 		.productprice{
 			height: 48rpx;

+ 6 - 0
pages/seller/order/order-list.vue

@@ -848,6 +848,12 @@
 		.productspec{
 			height: 36rpx;
 			color: #999999;
+			text-overflow:ellipsis;
+			display: -webkit-box;
+			word-break: break-all;
+			-webkit-box-orient: vertical;
+			-webkit-line-clamp: 1;
+			overflow: hidden;
 		}
 		.productprice{
 			height: 48rpx;

+ 7 - 1
pages/supplier/user/my-shop.vue

@@ -369,7 +369,13 @@
 					productIdArr.push(item.productId)
 				})
 				productIds = productIdArr.join(",");
-				this.ProductService.querySearchProductPrice({userId: this.userID,productIds:productIds}).then(response =>{
+				this.ProductService.querySearchProductPrice(
+					{
+						userId: this.userID,
+						productIds:productIds,
+						source: 2
+					}
+				).then(response =>{
 					this.recommendList = this.ReturnNewProducts(data,response.data);
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)