Преглед изворни кода

Merge remote-tracking branch 'origin/developer' into developerB

zhengjinyi пре 3 година
родитељ
комит
57ae525be4

+ 0 - 2
components/cm-module/activity/activityBean.vue

@@ -75,9 +75,7 @@
 		},
 		methods: {
 			handInitType(type){
-				console.log('type================》',type)
 				this.bgImagePath = `https://static.caimei365.com/app/img/icon/bean-icon-${type}@2x.png`
-				console.log(this.bgImagePath)
 			},
 			handleClick(e) {
 				console.log(e)

+ 2 - 1
components/cm-module/cart-components/index.vue

@@ -1352,7 +1352,8 @@ export default {
 					4: '商品已售罄',
 					5: '价格仅会员可见,您不能购买',
 					6: '未公开价格',
-					7: '库存不足'
+					7: '库存不足',
+					8: '价格仅医美机构可见'
 				}
 			Object.keys(stateTextObject).forEach(key => {
 				if (key == state) {

+ 0 - 6
components/cm-module/listTemplate/buyagainList.vue

@@ -158,11 +158,6 @@ export default {
 			const userInfo = await this.$api.getStorage()
 			const clubInfo = await this.$api.getComStorage('orderUserInfo')
 			this.userId = clubInfo.userId ? clubInfo.userId : 0
-			if (userInfo.userIdentity == 1) {
-				this.actasFlag = userInfo.userIdentity
-			} else {
-				this.actasFlag = 2
-			}
 			this.getProductAgainInfo(false)
 		},
 		scrolltolower() {
@@ -184,7 +179,6 @@ export default {
 				this.pageNum += 1
 			}
 			this.ProductService.GetRepeatBuyAgainProductList({
-				flag: this.actasFlag, //查询促销标记 1协销 2机构 3供应商
 				userId: this.userId,
 				pageNum: this.pageNum,
 				pageSize: this.pageSize

+ 40 - 12
components/cm-module/listTemplate/productList.vue

@@ -26,7 +26,13 @@
 							>起订量:{{ item.ladderPriceFlag == '1' ? item.maxBuyNumber : item.minBuyNumber }}</text
 						>
 						<view class="list-details-price" v-if="item.priceFlag == 1">
-							<view class="list-none"><view class="price-small">未公开价格</view></view>
+							<view class="list-none"><view class="price-small">¥未公开价格</view></view>
+						</view>
+						<view class="list-details-price" v-else-if="item.priceFlag == 2">
+							<view class="list-none"><view class="price-small">¥价格仅会员可见</view></view>
+						</view>
+						<view class="list-details-price" v-else-if="item.priceFlag == 3 && (firstClubType!=1)">
+							<view class="list-none"><view class="price-small">¥仅医美机构可见</view></view>
 						</view>
 						<view class="list-details-price" v-else>
 							<view class="list-shop">
@@ -61,8 +67,8 @@
 								</template>
 								<template v-if="item.svipProductFlag == 1">
 									<view class="svip-tags">
-										<view class="tags">SVIP</view>
-										<view class="price">{{ item.svipPriceTag }}</view>
+										<view class="tags" :class="{ none: !isShowVipFlag(item) }">SVIP</view>
+										<view class="price" v-if="isShowVipFlag(item)">{{ item.svipPriceTag }}</view>
 									</view>
 								</template>
 							</view>
@@ -131,7 +137,6 @@ export default {
 			showSkeleton: true,
 			isShowEmpty: false,
 			userId: 0,
-			actasFlag: 0,
 			scrollHeight: '',
 			productList: [],
 			showLoading: false,
@@ -144,7 +149,9 @@ export default {
 			fromRegularPurchasePage: false,
 			cartQuantity: 0,
 			showRegularBtn: false,
-			isPrecedence: false
+			isPrecedence: false,
+			vipFlag:0,
+			firstClubType:0
 		}
 	},
 	created() {
@@ -158,18 +165,15 @@ export default {
 		}
 	},
 	computed: {
-		...mapState(['hasLogin', 'userInfo', 'identity'])
+		...mapState(['hasLogin', 'userInfo', 'identity','clubType'])
 	},
 	methods: {
 		async initGetStotage() {
 			// 初始化
 			const userInfo = await this.$api.getStorage()
+			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
 			this.userId = userInfo.userId ? userInfo.userId : 0
-			if (userInfo.userIdentity == 1) {
-				this.actasFlag = userInfo.userIdentity
-			} else {
-				this.actasFlag = 2
-			}
+			this.firstClubType = this.clubType
 			this.getProductAgainInfo()
 			this.GetUserCartNumber()
 		},
@@ -192,7 +196,6 @@ export default {
 				this.pageNum += 1
 			}
 			this.ProductService.GetRepeatBuyAgainProductList({
-				flag: this.actasFlag, //查询促销标记 1协销 2机构 3供应商
 				userId: this.userId,
 				identity: this.identity,
 				pageNum: this.pageNum,
@@ -283,6 +286,31 @@ export default {
 			}
 			return false
 		},
+		isShowVipFlag(pros) {
+			/**
+			 *显示SVIP和超级会员价格:
+			 * 	个人机构(不是超级会员,但价格所有机构可见),
+			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
+			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
+			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
+			 *	普通机构
+			 * 		超级会员 && priceFlag === 0
+			 * 	资质机构
+			 * 		priceFlag !== 1 ||
+			 * 		超级会员
+			 * 			商品priceFlag === 3 && 是否是医美机构
+			*/
+			// 未登录 || 非会员
+			if(!this.hasLogin || !this.vipFlag === 1) return false
+			// 商品所有机构可见
+			if(pros.priceFlag === 0 ) return true
+			// 商品价格仅资质机构可见
+			if(pros.priceFlag === 2 && this.userIdentity === 2) return true
+			// 商品价格仅医美机构可见
+			if(pros.priceFlag === 3 && this.userIdentity === 2 &&  this.firstClubType == 1) return true
+			// 其它
+			return false
+		},
 		btnClick() {
 			this.$api.navigateTo('/pages/goods/cart')
 		},

+ 31 - 12
components/cm-module/pageTemplate/templatePrice.vue

@@ -3,6 +3,9 @@
 	<view>
 		<template v-if="vipFlag == 1">
 			<view class="title-none" v-if="goods.priceFlag === 1"> <text class="p big">¥未公开价格</text> </view>
+			<view class="title-none" v-else-if="goods.priceFlag === 3 && (firstClubType != 1)">
+				<text class="p big">¥仅医美机构可见</text>
+			</view>
 			<view
 				class="price tui-skeleton-rect"
 				v-else
@@ -48,9 +51,12 @@
 			<!-- 个人机构查看价格 -->
 			<template v-else-if="userIdentity === 4">
 				<view class="title-none" v-if="goods.priceFlag === 1"> <text class="p big">¥未公开价格</text> </view>
-				<view class="title-none" v-if="goods.priceFlag === 2">
+				<view class="title-none" v-else-if="goods.priceFlag === 2">
 					<text class="p big">¥价格仅会员可见</text>
 				</view>
+				<view class="title-none" v-if="goods.priceFlag === 3">
+					<text class="p big">¥仅医美机构可见</text>
+				</view>
 				<view
 					class="price tui-skeleton-rect"
 					v-if="goods.priceFlag === 0"
@@ -64,6 +70,24 @@
 					}}</text>
 				</view>
 			</template>
+			<template v-else-if="userIdentity === 2">
+				<view class="title-none" v-if="goods.priceFlag === 1"> <text class="p big">¥未公开价格</text> </view>
+				<view class="title-none" v-else-if="goods.priceFlag === 3 && (firstClubType != 1)">
+					<text class="p big">¥仅医美机构可见</text>
+				</view>
+				<view
+					class="price tui-skeleton-rect"
+					v-else
+					:class="PromotionsFormat(goods.promotions) || goods.svipProductFlag == 1 ? 'none' : ''"
+				>
+					<text class="p sm">¥</text>
+					<text class="p big">{{
+						(PromotionsFormat(goods.promotions) || goods.svipProductFlag == 1
+							? goods.originalPrice
+							: goods.price) | NumFormat
+					}}</text>
+				</view>
+			</template>
 			<!-- 协销和会员机构查看价格 -->
 			<template v-else>
 				<view class="title-none" v-if="goods.priceFlag === 1"> <text class="p big">¥未公开价格</text> </view>
@@ -102,7 +126,8 @@ export default {
 			vipFlag: 0, // 是否是超级会员 0否 1是
 			shopId: 0, // 是否是供应商
 			userIdentity: 0, // 用户类型
-			goods: {}
+			goods: {},
+			firstClubType:0,
 		}
 	},
 	filters: {
@@ -115,7 +140,7 @@ export default {
 		this.initData(this.product)
 	},
 	computed: {
-		...mapState(['hasLogin', 'isWxAuthorize'])
+		...mapState(['hasLogin', 'isWxAuthorize','clubType'])
 	},
 	watch: {
 		pageData: {
@@ -134,15 +159,9 @@ export default {
 			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
 			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
 			this.goods = data
-		},
-		isShowVipFlag(pros) {
-			if (pros.priceFlag != 1) {
-				if (this.userIdentity == 4 && this.vipFlag == 1) {
-					return true
-				} else if (this.userIdentity == 2) {
-					return true
-				}
-			}
+			this.firstClubType = this.clubType
+			console.log('userIdentity',this.userIdentity)
+			console.log('firstClubType',this.firstClubType)
 		},
 		PromotionsFormat(promo) {
 			//促销活动类型数据处理

+ 46 - 10
components/cm-module/pageTemplate/templateTags.vue

@@ -2,6 +2,7 @@
 	<!-- 促销优惠VIP标签 -->
 	<view class="floor-item-act">
 		<view class="coupon-tags" v-if="goods.couponsLogo">优惠券</view>
+		<!-- 供应商 -->
 		<template v-if="userIdentity === 3">
 			<template v-if="goods.actStatus == 1">
 				<view class="floor-tags" v-if="PromotionsFormat(goods.promotions)">
@@ -15,11 +16,14 @@
 			<template v-if="goods.svipProductFlag == 1">
 				<view class="svip-tags" v-if="goods.shopId == shopId">
 					<view class="tags">SVIP</view>
-					<view class="price" v-if="goods.priceFlag != 1 && userIdentity == 2">{{ goods.svipPriceTag }}</view>
+					<view class="price" v-if="goods.priceFlag != 1 && goods.shopId == shopId">{{
+						goods.svipPriceTag
+					}}</view>
 				</view>
 				<view class="svip-tags" v-else> <view class="tags none">SVIP</view> </view>
 			</template>
 		</template>
+		<!-- 协销 -->
 		<template v-if="userIdentity === 1">
 			<template v-if="goods.actStatus == 1">
 				<view class="floor-tags" v-if="PromotionsFormat(goods.promotions)">
@@ -31,6 +35,20 @@
 				<view class="svip-tags"> <view class="tags none">SVIP</view> </view>
 			</template>
 		</template>
+		<!-- 个人机构 -->
+		<template v-if="userIdentity === 4">
+			<template v-if="goods.actStatus == 1">
+				<view class="floor-tags" v-if="PromotionsFormat(goods.promotions)"> {{ goods.promotions.name }} </view>
+				<view class="floor-tags" v-else>{{ goods.promotions.name }}</view>
+			</template>
+			<template v-if="goods.svipProductFlag == 1">
+				<view class="svip-tags">
+					<view class="tags" :class="{ none: !isShowVipFlag(goods) }">SVIP</view>
+					<view class="price" v-if="isShowVipFlag(goods)">{{ goods.svipPriceTag }}</view>
+				</view>
+			</template>
+		</template>
+		<!-- 会员机构 -->
 		<template v-else>
 			<template v-if="goods.actStatus == 1">
 				<view class="floor-tags" v-if="PromotionsFormat(goods.promotions)">
@@ -41,7 +59,7 @@
 			</template>
 			<template v-if="goods.svipProductFlag == 1">
 				<view class="svip-tags">
-					<view class="tags" :class="{ none: vipFlag != 1 }">SVIP</view>
+					<view class="tags" :class="{ none: !isShowVipFlag(goods) }">SVIP</view>
 					<view class="price" v-if="isShowVipFlag(goods)">{{ goods.svipPriceTag }}</view>
 				</view>
 			</template>
@@ -64,6 +82,7 @@ export default {
 			vipFlag: 0, // 是否是超级会员 0否 1是
 			shopId: 0, // 是否是供应商
 			userIdentity: 0, // 用户类型
+			firstClubType: 0, // 机构类型 1 医美 2 生美
 			goods: {}
 		}
 	},
@@ -77,7 +96,7 @@ export default {
 		this.initData(this.product)
 	},
 	computed: {
-		...mapState(['hasLogin', 'isWxAuthorize'])
+		...mapState(['hasLogin', 'clubType'])
 	},
 	watch: {
 		pageData: {
@@ -95,16 +114,33 @@ export default {
 			this.shopId = userInfo.shopId ? userInfo.shopId : 0
 			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
 			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
+			this.firstClubType = this.clubType
 			this.goods = data
 		},
 		isShowVipFlag(pros) {
-			if (pros.priceFlag != 1) {
-				if (this.userIdentity == 4 && this.vipFlag == 1) {
-					return true
-				} else if (this.userIdentity == 2) {
-					return true
-				}
-			}
+			/**
+			 *显示SVIP和超级会员价格:
+			 * 	个人机构(不是超级会员,但价格所有机构可见),
+			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
+			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
+			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
+			 *	普通机构
+			 * 		超级会员 && priceFlag === 0
+			 * 	资质机构
+			 * 		priceFlag !== 1 ||
+			 * 		超级会员
+			 * 			商品priceFlag === 3 && 是否是医美机构
+			*/
+			// 未登录 || 非会员
+			if(!this.hasLogin || !this.vipFlag === 1) return false
+			// 商品所有机构可见
+			if(pros.priceFlag === 0 ) return true
+			// 商品价格仅资质机构可见
+			if(pros.priceFlag === 2 && this.userIdentity === 2) return true
+			// 商品价格仅医美机构可见
+			if(pros.priceFlag === 3 && this.userIdentity === 2 &&  this.firstClubType == 1) return true
+			// 其它
+			return false
 		},
 		PromotionsFormat(promo) {
 			//促销活动类型数据处理

+ 42 - 8
components/cm-module/productDetails/cm-price.vue

@@ -75,6 +75,7 @@
 			<template v-if="userIdentity == 2 || (userIdentity == 4 && vipFlag == 1)">
 				<view class="wrap-main-item">
 					<view v-if="product.priceFlag == 1" class="wrap-main-text">¥未公开价格</view>
+					<view v-else-if="product.priceFlag == 3 && (firstClubType!=1)" class="wrap-main-text">¥仅医美机构可见</view>
 					<view
 						v-else
 						class="p-price tui-skeleton-fillet"
@@ -105,8 +106,8 @@
 						</template>
 						<template v-if="product.svipProductFlag == 1">
 							<view class="svip-tags">
-								<view class="tags">SVIP</view> 
-								<view class="price" v-if="product.priceFlag != 1">{{ product.svipPriceTag }}</view>
+								<view class="tags" :class="{ none: !isShowVipFlag(product) }">SVIP</view> 
+								<view class="price" v-if="isShowVipFlag(product)">{{ product.svipPriceTag }}</view>
 							</view>
 						</template>
 					</view>
@@ -173,13 +174,19 @@
 				<template v-if="product.priceFlag == 1">
 					<text class="wrap-main-text">¥未公开价格</text>
 				</template>
-				<template v-if="product.priceFlag == 2">
+				<template v-else-if="product.priceFlag == 2">
 					<text class="wrap-main-text">¥价格仅会员可见</text>
 					<view class="floor-item-btn">
 						<view class="btn" @click.stop="goUpgradeApply">升级会员查看价格</view>
 					</view>
 				</template>
-				<template v-if="product.priceFlag == 0">
+				<template v-else-if="product.priceFlag == 3">
+					<text class="wrap-main-text">¥仅医美机构可见</text>
+					<view class="floor-item-btn">
+						<view class="btn" @click.stop="goUpgradeApply">成为医美机构查看价格</view>
+					</view>
+				</template>
+				<template v-else>
 					<view class="wrap-main-item">
 						<view
 							class="p-price tui-skeleton-fillet"
@@ -210,8 +217,8 @@
 							</template>
 							<template v-if="product.svipProductFlag == 1">
 								<view class="svip-tags">
-									<view class="tags" :class="{ none: vipFlag != 1 }">SVIP</view> 
-									<view class="price" v-if="vipFlag == 1">{{ product.svipPriceTag }}</view>
+									<view class="tags" :class="{ none: !isShowVipFlag(product) }">SVIP</view> 
+									<view class="price" v-if="isShowVipFlag(product)">{{ product.svipPriceTag }}</view>
 								</view>
 							</template>
 						</view>
@@ -333,7 +340,8 @@ export default {
 			vipFlag: 0, // 是否是超级会员 0否 1是
 			popupShow: false,
 			promotionsType: 0,
-			isIphoneX: this.$store.state.isIphoneX
+			isIphoneX: this.$store.state.isIphoneX,
+			firstClubType:0
 		}
 	},
 	filters: {
@@ -346,12 +354,13 @@ export default {
 		this.initData()
 	},
 	computed: {
-		...mapState(['hasLogin', 'isWxAuthorize']),
+		...mapState(['hasLogin', 'clubType']),
 	},
 	methods: {
 		async initData(data) {
 			const userInfo = await this.$api.getStorage()
 			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
+			this.firstClubType = this.clubType
 		},
 		clickPopupShow(type) {
 			this.popupShow = true
@@ -371,6 +380,31 @@ export default {
 			}
 			return false
 		},
+		isShowVipFlag(pros) {
+			/**
+			 *显示SVIP和超级会员价格:
+			 * 	个人机构(不是超级会员,但价格所有机构可见),
+			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
+			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
+			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
+			 *	普通机构
+			 * 		超级会员 && priceFlag === 0
+			 * 	资质机构
+			 * 		priceFlag !== 1 ||
+			 * 		超级会员
+			 * 			商品priceFlag === 3 && 是否是医美机构
+			*/
+			// 未登录 || 非会员
+			if(!this.hasLogin || !this.vipFlag === 1) return false
+			// 商品所有机构可见
+			if(pros.priceFlag === 0 ) return true
+			// 商品价格仅资质机构可见
+			if(pros.priceFlag === 2 && this.userIdentity === 2) return true
+			// 商品价格仅医美机构可见
+			if(pros.priceFlag === 3 && this.userIdentity === 2 &&  this.firstClubType == 1) return true
+			// 其它
+			return false
+		},
 		goUpgradeApply() {
 			// 友盟埋点升级查看价格点击事件
 			if (process.env.NODE_ENV != 'development') {

+ 46 - 30
pages/goods/goods-active.vue

@@ -25,9 +25,31 @@
 							<view class="title"
 								><text class="mclap">{{ item.name }}</text></view
 							>
-							<view class="price">
-								<text class="p sm">¥</text> <text class="p big">{{ item.price | NumFormat }}</text>
-							</view>
+							<template v-if="userIdentity == 2 || (userIdentity == 4 && vipFlag == 1)">
+								<view class="price" v-if="item.priceFlag == 1">
+									<text class="p sm">¥</text> <text class="p big">未公开价格</text>
+								</view>
+								<view class="price" v-else-if="item.priceFlag == 3 && (firstClubType!=1)">
+									<text class="p sm">¥</text> <text class="p big">仅医美机构可见</text>
+								</view>
+								<view class="price" v-else>
+									<text class="p sm">¥</text> <text class="p big">{{ item.price | NumFormat }}</text>
+								</view>
+							</template>
+							<template v-if="userIdentity == 4">
+								<view class="price" v-if="item.priceFlag == 1">
+									<text class="p sm">¥</text> <text class="p big">未公开价格</text>
+								</view>
+								<view class="price" v-else-if="item.priceFlag == 2">
+									<text class="p sm">¥</text> <text class="p big">价格仅会员可见</text>
+								</view>
+								<view class="price" v-else-if="item.priceFlag == 3 && (firstClubType!=1)">
+									<text class="p sm">¥</text> <text class="p big">仅医美机构可见</text>
+								</view>
+								<view class="price" v-else>
+									<text class="p sm">¥</text> <text class="p big">{{ item.price | NumFormat }}</text>
+								</view>
+							</template>
 						</view>
 					</view>
 				</view>
@@ -54,11 +76,16 @@ export default {
 		return {
 			isRepuest: false,
 			userId: 0,
-			actasFlag:2,
-			promotionsId: 0,
+			userIdentity:0,
+			firstClubType:0,
+			vipFlag:0,
+			listQuery:{
+				promotionsId: 0,
+				pageSize: 10,
+				pageNum: 1,
+				identity:0
+			},
 			productList: [],
-			pageSize: 10,
-			pageNum: 1,
 			modal: false,
 			promotionsInfo: {},
 			loadding: false,
@@ -69,10 +96,10 @@ export default {
 		}
 	},
 	computed: {
-		...mapState(['identity'])
+		...mapState(['identity','clubType'])
 	},
 	onLoad(option) {
-		this.promotionsId = option.id
+		this.listQuery.promotionsId = option.id
 		this.initGetStotage()
 	},
 	filters: {
@@ -84,18 +111,17 @@ export default {
 	methods: {
 		async initGetStotage() {// 初始化
 			const userInfo = await this.$api.getStorage()
-			this.userId = userInfo.clubId ? userInfo.clubId : 0
-			if(userInfo.userIdentity == 1){
-				this.actasFlag = userInfo.userIdentity
-			}else{
-				this.actasFlag = 2
-			}
+			this.userId = userInfo.userId ? userInfo.userId : 0
+			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
+			this.listQuery.identity = this.identity
+			this.userIdentity = this.identity
+			this.firstClubType = this.clubType
 			this.initSsoMemberCollectionList()
 		},
 		initSsoMemberCollectionList() {
 			//凑单初始化
 			this.ProductService.queryProductPromotionInfo({
-				promotionsId: this.promotionsId
+				promotionsId: this.listQuery.promotionsId
 			})
 				.then(response => {
 					let data = response.data
@@ -108,12 +134,7 @@ export default {
 		},
 		queryProductPromotionList() {
 			//查询凑单商品列表
-			this.ProductService.queryProductPromotionList({
-				identity: this.identity,
-				pageNum: this.pageNum,
-				pageSize: this.pageSize,
-				promotionsId: this.promotionsId
-			})
+			this.ProductService.queryProductPromotionList(this.listQuery)
 				.then(response => {
 					let data = response.data
 					if (data.list && data.list.length > 0) {
@@ -145,12 +166,8 @@ export default {
 		},
 		getOnReachBottomData() {
 			//上滑加载
-			this.pageNum += 1
-			this.ProductService.queryProductPromotionList({
-				pageNum: this.pageNum,
-				pageSize: this.pageSize,
-				promotionsId: this.promotionsId
-			})
+			this.listQuery.pageNum += 1
+			this.ProductService.queryProductPromotionList(this.listQuery)
 				.then(response => {
 					let data = response.data
 					if (data.list && data.list.length > 0) {
@@ -184,7 +201,6 @@ export default {
 			})
 			productIds = productIdArr.join(',')
 			this.ProductService.querySearchProductPrice({
-				flag:this.actasFlag, //查询促销标记 1协销 2机构 3供应商
 				userId: this.userId,
 				productIds: productIds,
 				source: 2
@@ -221,7 +237,7 @@ export default {
 	},
 	onPullDownRefresh() {
 		//下拉刷新
-		this.pageNum = 1
+		this.listQuery.pageNum = 1
 		this.queryProductPromotionList()
 		uni.stopPullDownRefresh()
 	},

+ 35 - 17
pages/goods/goods-classify.vue

@@ -157,7 +157,7 @@
 										</template>
 										<template v-if="pros.svipProductFlag == 1">
 											<view class="svip-tags">
-												<view class="tags" :class="{ none: vipFlag == 0 }">SVIP</view>
+												<view class="tags" :class="{ none: !isShowVipFlag(pros) }">SVIP</view>
 												<view class="price" v-if="isShowVipFlag(pros)">{{
 													pros.svipPriceTag
 												}}</view>
@@ -194,6 +194,9 @@
 											<view class="price-larger" v-if="pros.priceFlag == 2">
 												<text class="txt">¥价格仅会员可见</text>
 											</view>
+											<view class="price-larger" v-else-if="pros.priceFlag == 3">
+												<text class="txt">¥仅医美机构可见</text>
+											</view>
 											<text
 												v-else
 												class="price-larger"
@@ -248,7 +251,11 @@
 										</view>
 										<text v-else-if="priceLoading" class="price-larger small">正在获取价格...</text>
 										<template v-else>
+											<view class="price-larger" v-if="pros.priceFlag == 3 && (firstClubType!=1)">
+												<text class="txt">¥仅医美机构可见</text>
+											</view>
 											<text
+												v-else
 												class="price-larger"
 												:class="
 													PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
@@ -387,7 +394,6 @@ export default {
 			userId: 0,
 			vipFlag: 0,
 			userIdentity: 0,
-			actasFlag: 2,
 			listData: [],
 			brandLists: [],
 			checkedBrandList: [],
@@ -395,6 +401,7 @@ export default {
 			windowHeight: '',
 			scrollHeight: '',
 			pathQueryId:0,
+			firstClubType:0,
 			listQuery: {
 				id: 0,
 				identity: 0,
@@ -428,7 +435,7 @@ export default {
 		}
 	},
 	computed: {
-		...mapState(['hasLogin', 'userInfo', 'identity', 'isWxAuthorize'])
+		...mapState(['hasLogin', 'userInfo', 'identity', 'clubType'])
 	},
 	onLoad(option) {
 		console.log(option)
@@ -448,6 +455,7 @@ export default {
 	methods: {
 		async initGetStotage(option) {
 			const userInfo = await this.$api.getStorage()
+			this.firstClubType = this.clubType
 			this.listQuery.id = this.pathQueryId = this.brandParam.id = option.id
 			this.listQuery.identity = this.identity
 			this.listQuery.idType = this.classifyType = this.brandParam.idType = Number(option.classType)
@@ -456,11 +464,7 @@ export default {
 			this.shopId = userInfo.shopId ? userInfo.shopId : 0
 			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
 			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
-			if (this.userIdentity == 1) {
-				this.actasFlag = this.userIdentity
-			} else {
-				this.actasFlag = 2
-			}
+
 			this.isRequest = true
 			this.GetProductListInfo()
 			this.GetProductOneClassly()
@@ -583,7 +587,6 @@ export default {
 			this.priceLoading = true
 			this.productIds = productIdArr.join(',')
 			this.ProductService.querySearchProductPrice({
-				flag: this.actasFlag, //查询促销标记 1协销 2机构 3供应商
 				userId: this.userId,
 				productIds: this.productIds,
 				source: 2
@@ -692,14 +695,29 @@ export default {
 			return false
 		},
 		isShowVipFlag(pros) {
-			// 超级会员价格显示控制
-			if (this.hasLogin && pros.priceFlag != 1) {
-				if (this.userIdentity == 4 && this.vipFlag == 1) {
-					return true
-				} else if (this.userIdentity == 2) {
-					return true
-				}
-			}
+			/**
+			 *显示SVIP和超级会员价格:
+			 * 	个人机构(不是超级会员,但价格所有机构可见),
+			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
+			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
+			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
+			 *	普通机构
+			 * 		超级会员 && priceFlag === 0
+			 * 	资质机构
+			 * 		priceFlag !== 1 ||
+			 * 		超级会员
+			 * 			商品priceFlag === 3 && 是否是医美机构
+			*/
+			// 未登录 || 非会员
+			if(!this.hasLogin || !this.vipFlag === 1) return false
+			// 商品所有机构可见
+			if(pros.priceFlag === 0 ) return true
+			// 商品价格仅资质机构可见
+			if(pros.priceFlag === 2 && this.userIdentity === 2) return true
+			// 商品价格仅医美机构可见
+			if(pros.priceFlag === 3 && this.userIdentity === 2 &&  this.firstClubType == 1) return true
+			// 其它
+			return false
 		},
 		showAllBrands() {
 			// 显示全部品牌

+ 42 - 15
pages/goods/goods-supporting.vue

@@ -43,6 +43,11 @@
 												><view class="price-small">¥价格仅会员可见</view></view
 											>
 										</view>
+										<view class="list-details-price" v-else-if="pros.priceFlag == 3">
+											<view class="list-none"
+												><view class="price-small">¥仅医美机构可见</view></view
+											>
+										</view>
 										<template v-else>
 											<view class="list-details-price">
 												<view class="list-price">
@@ -63,7 +68,7 @@
 														}}
 													</text>
 												</view>
-												<view class="add-cart-btn">
+												<view class="add-cart-btn" v-if="!disabledChecked(pros)">
 													<view class="number-box">
 														<view
 															class="iconfont icon-jianhao"
@@ -109,7 +114,7 @@
 													</template>
 													<template v-if="pros.svipProductFlag == 1">
 														<view class="svip-tags">
-															<view class="tags" :class="{ none: vipFlag == 0 }"
+															<view class="tags" :class="{ none: !isShowVipFlag(pros) }"
 																>SVIP</view
 															>
 															<view class="price" v-if="isShowVipFlag(pros)">{{
@@ -125,6 +130,9 @@
 										<view class="list-details-price" v-if="pros.priceFlag == 1">
 											<view class="list-none"><view class="price-small">¥未公开价格</view></view>
 										</view>
+										<view class="list-details-price" v-else-if="pros.priceFlag == 3 && (firstClubType!=1)">
+											<view class="list-none"><view class="price-small">¥仅医美机构可见</view></view>
+										</view>
 										<template v-else>
 											<view class="list-details-price">
 												<view class="list-price">
@@ -318,6 +326,7 @@ export default {
 			nomoreText: '上拉显示更多',
 			vipFlag: 0,
 			userIdentity: 0,
+			firstClubType:0,
 			isStock: false
 		}
 	},
@@ -334,7 +343,7 @@ export default {
 		}
 	},
 	computed: {
-		...mapState(['hasLogin', 'userInfo']),
+		...mapState(['hasLogin', 'userInfo','clubType']),
 	},
 	methods: {
 		...mapMutations(['login', 'logout']),
@@ -343,6 +352,7 @@ export default {
 			this.listQuery.userId = userInfo.userId ? userInfo.userId : 0
 			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
 			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
+			this.firstClubType = this.clubType
 			this.getCommodityCombinationList()
 		},
 		getCommodityCombinationList() {
@@ -495,8 +505,12 @@ export default {
 		disabledChecked(pros){
 			if(pros.priceFlag ==1){// 为公开价格返回 true 禁用按钮
 				return true
-			}else{
-				if(this.userIdentity == 4 && pros.priceFlag ==2){// 普通机构且商品价格仅会员可见 禁用按钮
+			}else if(this.userIdentity == 4){// 普通机构且商品价格仅会员可见 || 商品价格仅医美机构可见  禁用按钮
+				if( pros.priceFlag ==2 || pros.priceFlag ==3){
+					return true
+				}
+			}else if(this.userIdentity == 2){// 资质机构下 商品价格仅医美机构可见 且本机构不为医美机构  禁用按钮
+				if( pros.priceFlag ==3 && this.firstClubType !=1 ){
 					return true
 				}
 			}
@@ -583,16 +597,29 @@ export default {
 			}
 		},
 		isShowVipFlag(pros) {
-			// 超级会员价格显示控制
-			if (this.hasLogin) {
-				if (pros.priceFlag != 1) {
-					if (this.userIdentity == 4 && this.vipFlag == 1) {
-						return true
-					} else if (this.userIdentity == 2) {
-						return true
-					}
-				}
-			}
+			/**
+			 *显示SVIP和超级会员价格:
+			 * 	个人机构(不是超级会员,但价格所有机构可见),
+			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
+			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
+			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
+			 *	普通机构
+			 * 		超级会员 && priceFlag === 0
+			 * 	资质机构
+			 * 		priceFlag !== 1 ||
+			 * 		超级会员
+			 * 			商品priceFlag === 3 && 是否是医美机构
+			*/
+			// 未登录 || 非会员
+			if(!this.hasLogin || !this.vipFlag === 1) return false
+			// 商品所有机构可见
+			if(pros.priceFlag === 0 ) return true
+			// 商品价格仅资质机构可见
+			if(pros.priceFlag === 2 && this.userIdentity === 2) return true
+			// 商品价格仅医美机构可见
+			if(pros.priceFlag === 3 && this.userIdentity === 2 &&  this.firstClubType == 1) return true
+			// 其它
+			return false
 		},
 		navToDetailPage(id) {
 			this.isModallayer = true

+ 27 - 7
pages/goods/product.vue

@@ -250,12 +250,18 @@
 					<view class="product-details product-details0">
 						<view class="title"> <view class="title-tab">商品详情</view> </view>
 						<view class="content tui-banner product-rich-text tui-skeleton-rect">
-							<parser
-								:html="html"
-								:img-mode="widthFix"
-								v-if="!goodsData.isNoneDisabled && product.productDetail.detailInfo"
-							></parser>
-							<view class="product-rich-text-none" v-else>暂无商品信息</view>
+							<template v-if="hasLogin && userIdentity == 2">
+								<template v-if="!goodsData.isNoneDisabled && product.productDetail.detailInfo">
+									<parser
+										:html="html"
+										:img-mode="widthFix"
+									></parser>
+								</template>
+								<view class="product-rich-text-none" v-else>暂无商品信息</view>
+							</template>
+							<template v-else>
+								<view class="product-rich-text-none">若要查看更多产品信息,请注册机构会员,如有疑问请联系客服。</view>
+							</template>
 						</view>
 					</view>
 					<!-- 服务项目 -->
@@ -629,6 +635,7 @@ export default {
 			shopId: 0,
 			shopID: 0,
 			vipFlag: 0,
+			firstClubType:0,
 			productId: 0,
 			userIdentity: 0, // 用户类型
 			goodsData: {}, // 自定义数据
@@ -687,7 +694,7 @@ export default {
 		}
 	},
 	computed: {
-		...mapState(['hasLogin', 'isWxAuthorize', 'identity', 'isIphoneX'])
+		...mapState(['hasLogin', 'clubType', 'identity', 'isIphoneX'])
 	},
 	filters: {
 		TypeFormat(value) {
@@ -756,6 +763,7 @@ export default {
 			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
 			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
 			this.shopID = userInfo.shopId ? userInfo.shopId : 0
+			this.firstClubType = this.clubType
 			if (this.userIdentity == 0 || this.userIdentity == 2 || this.userIdentity == 4) {
 				this.isShowButton = true
 			} else {
@@ -836,6 +844,14 @@ export default {
 						} else {
 							this.disabled = false
 						}
+					} else if(this.product.priceFlag == 3){
+						if (this.userIdentity == 4) {
+							this.disabled = true
+						} else if(this.userIdentity == 2 && this.firstClubType != 1){
+							this.disabled = true
+						} else {
+							this.disabled = false
+						}
 					} else {
 						this.disabled = false
 					}
@@ -1948,6 +1964,10 @@ page {
 		font-size: 24rpx;
 		color: #999999;
 		line-height: 60rpx;
+		&.bold{
+			font-weight: bold;
+			color: #333333;
+		}
 	}
 	.content-none {
 		width: 100%;

+ 24 - 16
pages/search/search-supplier.vue

@@ -72,11 +72,11 @@
 </template>
 
 <script>
-	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
-	import tuiNomore from "@/components/tui-components/nomore/nomore"
+	import tuiLoadmore from '@/components/tui-components/loadmore/loadmore'
+	import tuiNomore from '@/components/tui-components/nomore/nomore'
 	import uniStars from '@/components/uni-stars/uni-stars.vue'
 	import authorize from '@/common/config/authorize.js'	
-	import wxLogin from "@/common/config/wxLogin.js"
+	import wxLogin from '@/common/config/wxLogin.js'
 	import { mapState } from 'vuex'
 	
 	export default {
@@ -103,22 +103,30 @@
 				listQuery:{
 					keyword: '',
 					pageSize: 10,
-					pageNum: 1
+					pageNum: 1,
+					identity: 0
 				},
 				total:0
 			}
 		},
 		onLoad(option){
-			if(option.type =='share'){
-				wxLogin.wxLoginAuthorize()
-			}
-			if(option.keyWord){
-				console.log(option.keyWord)
-				this.listQuery.keyword = option.keyWord
-				this.GetSearchSupplierList();
-			}
+			this.initGetStotage(option)
+		},
+		computed: {
+			...mapState(['identity'])
 		},
 		methods: {
+			initGetStotage(option) {
+				this.listQuery.identity = this.identity
+				if(option.type =='share'){
+					wxLogin.wxLoginAuthorize()
+				}
+				if(option.keyWord){
+					console.log(option.keyWord)
+					this.listQuery.keyword = option.keyWord
+					this.GetSearchSupplierList()
+				}
+			},	
 			searchsupplierList(){//搜索
 				this.listQuery.pageNum=1
 				this.GetSearchSupplierList()
@@ -140,8 +148,8 @@
 					if(dataList && dataList.length > 0){
 						this.isEmpty = false
 						this.supplierList = dataList
-						this.pullFlag = false;
-						setTimeout(()=>{this.pullFlag = true;},500)
+						this.pullFlag = false
+						setTimeout(()=>{this.pullFlag = true},500)
 						if(this.total>this.supplierList.length){
 							this.pullUpOn = false
 							this.nomoreText = '上拉显示更多'
@@ -159,7 +167,7 @@
 			},	
 			GetSearchSupplierListBottomData(){//上滑加载
 				this.listQuery.pageNum+=1
-				this.ShopService.GetSupplierHomeProductList(this.listQuery).then(response =>{
+				this.ShopService.GetSearchSupplierList(this.listQuery).then(response =>{
 					let data = JSON.parse(response.data)
 					console.log(data)
 					this.total = data.total
@@ -217,7 +225,7 @@
 		      // 来自页面内转发按钮
 		    }
 			return {
-			  title: `采美正品供应商,质量有保证!`,
+			  title: '采美正品供应商,质量有保证!',
 			  path: `pages/search/search-supplier?type=share&keyWord=${this.listQuery.keyword}`
 			}
 		},

+ 51 - 29
pages/search/search.vue

@@ -245,7 +245,7 @@
 									</template>
 									<template v-if="pros.svipProductFlag == 1">
 										<view class="svip-tags">
-											<view class="tags" :class="{ none: vipFlag == 0 }">SVIP</view>
+											<view class="tags" :class="{ none: !isShowVipFlag(pros) }">SVIP</view>
 											<view class="price" v-if="isShowVipFlag(pros)">{{
 												pros.svipPriceTag
 											}}</view>
@@ -254,6 +254,7 @@
 								</view>
 							</template>
 							<view v-if="hasLogin" class="list-price">
+								<!-- 协销 -->
 								<template v-if="userIdentity == 1">
 									<text v-if="priceLoading" class="price-larger small">正在获取价格...</text>
 									<text
@@ -269,6 +270,7 @@
 										}}
 									</text>
 								</template>
+								<!-- 普通机构且不是超级会员 -->
 								<template v-if="userIdentity == 4 && vipFlag != 1">
 									<view class="price-larger" v-if="pros.priceFlag == 1">
 										<text class="txt">¥未公开价格</text>
@@ -278,6 +280,9 @@
 										<view class="price-larger" v-if="pros.priceFlag == 2">
 											<text class="txt">¥价格仅会员可见</text>
 										</view>
+										<view class="price-larger" v-else-if="pros.priceFlag == 3">
+											<text class="txt">¥仅医美机构可见</text>
+										</view>
 										<text
 											v-else
 											class="price-larger"
@@ -294,6 +299,7 @@
 										</text>
 									</template>
 								</template>
+								<!-- 供应商 -->
 								<template v-if="userIdentity == 3">
 									<template v-if="pros.supplierId == shopId">
 										<view class="price-larger" v-if="pros.priceFlag == 1">
@@ -322,23 +328,29 @@
 										</view>
 									</template>
 								</template>
+								<!-- 会员机构 && 普通机构且是超级会员 -->
 								<template v-if="userIdentity == 2 || (userIdentity == 4 && vipFlag == 1)">
 									<view class="price-larger" v-if="pros.priceFlag == 1">
 										<text class="txt">¥未公开价格</text>
 									</view>
 									<text v-else-if="priceLoading" class="price-larger small">正在获取价格...</text>
-									<text
-										v-else
-										class="price-larger"
-										:class="
-											PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1 ? 'none' : ''
-										"
-									>
-										¥{{
-											(PromotionsFormat(pros.promotions) ? pros.originalPrice : pros.price)
-												| NumFormat
-										}}
-									</text>
+									<template v-else>
+										<view class="price-larger" v-if="pros.priceFlag == 3 && (firstClubType!=1)">
+											<text class="txt">¥仅医美机构可见</text>
+										</view>
+										<text
+											v-else
+											class="price-larger"
+											:class="
+												PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1 ? 'none' : ''
+											"
+										>
+											¥{{
+												(PromotionsFormat(pros.promotions) ? pros.originalPrice : pros.price)
+													| NumFormat
+											}}
+										</text>
+									</template>
 								</template>
 							</view>
 							<view v-else class="list-login-now">
@@ -451,7 +463,7 @@ export default {
 			showBubblePopup: false,
 			vipFlag: 0,
 			userIdentity: 0,
-			actasFlag: 2,
+			firstClubType:0,
 			searchKeyType: 1,
 			tabIndex: 0,
 			rightDrawer: false,
@@ -512,7 +524,7 @@ export default {
 		}
 	},
 	computed: {
-		...mapState(['hasLogin', 'userInfo', 'isWxAuthorize', 'hasLogin', 'userInfo', 'identity'])
+		...mapState(['hasLogin', 'userInfo', 'clubType', 'identity'])
 	},
 	onLoad(option) {
 		console.log(option)
@@ -535,11 +547,7 @@ export default {
 			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
 			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
 			this.listQuery.identity = this.identity
-			if (this.userIdentity == 1) {
-				this.actasFlag = this.userIdentity
-			} else {
-				this.actasFlag = 2
-			}
+			this.firstClubType = this.clubType
 			if (option.keyWord) {
 				this.listQuery.keyword = option.keyWord
 				this.setSearchHistoryAdd()
@@ -704,7 +712,6 @@ export default {
 			this.priceLoading = true
 			this.productIds = productIdArr.join(',')
 			this.ProductService.querySearchProductPrice({
-				flag: this.actasFlag, //查询促销标记 1协销 2机构 3供应商
 				userId: this.userId,
 				productIds: this.productIds,
 				source: 2 // 来源 1 WWW 2 小程序
@@ -805,14 +812,29 @@ export default {
 			return false
 		},
 		isShowVipFlag(pros) {
-			// 超级会员价格显示控制
-			if (this.hasLogin && pros.priceFlag != 1) {
-				if (this.userIdentity == 4 && this.vipFlag == 1) {
-					return true
-				} else if (this.userIdentity == 2) {
-					return true
-				}
-			}
+			/**
+			 *显示SVIP和超级会员价格:
+			 * 	个人机构(不是超级会员,但价格所有机构可见),
+			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
+			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
+			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
+			 *	普通机构
+			 * 		超级会员 && priceFlag === 0
+			 * 	资质机构
+			 * 		priceFlag !== 1 ||
+			 * 		超级会员
+			 * 			商品priceFlag === 3 && 是否是医美机构
+			*/
+			// 未登录 || 非会员
+			if(!this.hasLogin || !this.vipFlag === 1) return false
+			// 商品所有机构可见
+			if(pros.priceFlag === 0 ) return true
+			// 商品价格仅资质机构可见
+			if(pros.priceFlag === 2 && this.userIdentity === 2) return true
+			// 商品价格仅医美机构可见
+			if(pros.priceFlag === 3 && this.userIdentity === 2 &&  this.firstClubType == 1) return true
+			// 其它
+			return false
 		},
 		onShowClose() {
 			//输入框输入时触发

+ 78 - 22
pages/supplier/user/my-shop.vue

@@ -118,7 +118,7 @@
 									</template>
 									<template v-if="prop.svipProductFlag == 1">
 										<view class="svip-tags">
-											<view class="tags" :class="{ none: vipFlag != 1 }">SVIP</view>
+											<view class="tags" :class="{ none: !isShowVipFlag(pros) }">SVIP</view>
 											<view class="price" v-if="isShowVipFlag(pros)">{{
 												pros.svipPriceTag
 											}}</view>
@@ -157,9 +157,12 @@
 									<view class="title-none" v-if="prop.priceFlag === 1">
 										<text class="p big">¥未公开价格</text>
 									</view>
-									<view class="title-none" v-if="prop.priceFlag === 2">
+									<view class="title-none" v-else-if="prop.priceFlag === 2">
 										<text class="p big">¥价格仅会员可见</text>
 									</view>
+									<view class="title-none" v-else-if="prop.priceFlag === 3">
+										<text class="p big">¥仅医美机构可见</text>
+									</view>
 									<view
 										class="price tui-skeleton-rect"
 										v-if="prop.priceFlag === 0"
@@ -172,6 +175,25 @@
 										}}</text>
 									</view>
 								</template>
+								<template v-else-if="userIdentity === 2">
+									<view class="title-none" v-if="prop.priceFlag === 1">
+										<text class="p big">¥未公开价格</text>
+									</view>
+									<view class="title-none" v-else-if="prop.priceFlag === 3 && (firstClubType!=1)">
+										<text class="p big">¥仅医美机构可见</text>
+									</view>
+									<view
+										class="price tui-skeleton-rect"
+										v-else
+										:class="PromotionsFormat(prop.promotions) || prop.svipProductFlag == 1 ? 'none' : ''"
+									>
+										<text class="p sm">¥</text>
+										<text class="p big">{{
+											(PromotionsFormat(prop.promotions) || prop.svipProductFlag == 1 ? prop.originalPrice : prop.price)
+												| NumFormat
+										}}</text>
+									</view>
+								</template>
 								<template v-else>
 									<view class="title-none" v-if="prop.priceFlag === 1">
 										<text class="p big">¥未公开价格</text>
@@ -269,7 +291,7 @@
 									</template>
 									<template v-if="prop.svipProductFlag == 1">
 										<view class="svip-tags">
-											<view class="tags" :class="{ none: vipFlag != 1 }">SVIP</view>
+											<view class="tags" :class="{ none: !isShowVipFlag(pros) }">SVIP</view>
 											<view class="price" v-if="isShowVipFlag(pros)">{{
 												pros.svipPriceTag
 											}}</view>
@@ -308,9 +330,12 @@
 									<view class="title-none" v-if="prop.priceFlag === 1">
 										<text class="p big">¥未公开价格</text>
 									</view>
-									<view class="title-none" v-if="prop.priceFlag === 2">
+									<view class="title-none" v-else-if="prop.priceFlag === 2">
 										<text class="p big">¥价格仅会员可见</text>
 									</view>
+									<view class="title-none" v-else-if="prop.priceFlag === 3">
+										<text class="p big">¥仅医美机构可见</text>
+									</view>
 									<view
 										class="price tui-skeleton-rect"
 										v-if="prop.priceFlag === 0"
@@ -323,6 +348,25 @@
 										}}</text>
 									</view>
 								</template>
+								<template v-else-if="userIdentity === 2">
+									<view class="title-none" v-if="prop.priceFlag === 1">
+										<text class="p big">¥未公开价格</text>
+									</view>
+									<view class="title-none" v-else-if="prop.priceFlag === 3 && (firstClubType!=1)">
+										<text class="p big">¥仅医美机构可见</text>
+									</view>
+									<view
+										class="price tui-skeleton-rect"
+										v-else
+										:class="PromotionsFormat(prop.promotions) || prop.svipProductFlag == 1 ? 'none' : ''"
+									>
+										<text class="p sm">¥</text>
+										<text class="p big">{{
+											(PromotionsFormat(prop.promotions) || prop.svipProductFlag == 1 ? prop.originalPrice : prop.price)
+												| NumFormat
+										}}</text>
+									</view>
+								</template>
 								<template v-else>
 									<view class="title-none" v-if="prop.priceFlag === 1">
 										<text class="p big">¥未公开价格</text>
@@ -389,19 +433,20 @@ export default {
 			recommendList: [],
 			productList: [],
 			userIdentity: 0,
-			actasFlag:2,
+			firstClubType:0,
 			listQuery: {
 				keyword: '',
 				pageSize: 10,
 				pageNum: 1,
-				id: 0
+				id: 0,
+				identity:0
 			},
 			isHomeProduct: false,
 			total: 0
 		}
 	},
 	computed: {
-		...mapState(['hasLogin', 'userInfo', 'isActivity', 'identity', 'isWxAuthorize'])
+		...mapState(['hasLogin', 'userInfo', 'isActivity', 'identity', 'clubType'])
 	},
 	onLoad(option) {
 		if (option.type == 'share') {
@@ -422,13 +467,10 @@ export default {
 			const userInfo = await this.$api.getStorage()
 			this.shopId = userInfo.shopId ? userInfo.shopId : 0
 			this.userId = userInfo.userId ? userInfo.userId : 0
+			this.listQuery.identity = this.identity
 			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
 			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
-			if(this.userIdentity == 1){
-				this.actasFlag = this.userIdentity
-			}else{
-				this.actasFlag = 2
-			}
+			this.firstClubType = this.clubType
 			//初始化请求数据
 			this.GetSupplierHomeBanner()
 			this.GetSupplierHomeDeatils()
@@ -520,7 +562,6 @@ export default {
 			})
 			productIds = productIdArr.join(',')
 			this.ProductService.querySearchProductPrice({
-				flag:this.actasFlag, //查询促销标记 1协销 2机构 3供应商
 				userId: this.userId,
 				productIds: productIds,
 				source: 2
@@ -619,15 +660,30 @@ export default {
 			this.$api.navigateTo(`/pages/goods/product?id=${id}`)
 		},
 		isShowVipFlag(pros) {
-			// 超级会员价格显示控制
-			if (this.hasLogin && pros.priceFlag != 1) {
-				if (this.userIdentity == 1 || (this.userIdentity == 4 && this.vipFlag == 1)) {
-					return true
-				} else if (this.userIdentity == 2) {
-					return true
-				}
-			}
-		}
+			/**
+			 *显示SVIP和超级会员价格:
+			 * 	个人机构(不是超级会员,但价格所有机构可见),
+			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
+			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
+			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
+			 *	普通机构
+			 * 		超级会员 && priceFlag === 0
+			 * 	资质机构
+			 * 		priceFlag !== 1 ||
+			 * 		超级会员
+			 * 			商品priceFlag === 3 && 是否是医美机构
+			*/
+			// 未登录 || 非会员
+			if(!this.hasLogin || !this.vipFlag === 1) return false
+			// 商品所有机构可见
+			if(pros.priceFlag === 0 ) return true
+			// 商品价格仅资质机构可见
+			if((pros.priceFlag === 2 && this.userIdentity === 2) || this.userIdentity === 1) return true
+			// 商品价格仅医美机构可见
+			if((pros.priceFlag === 3 && this.userIdentity === 2 &&  this.firstClubType == 1) || this.userIdentity === 1) return true
+			// 其它
+			return false
+		},
 	},
 	onPageScroll(e) {
 		//实时获取到滚动的值

+ 33 - 10
pages/user/collection/collection.vue

@@ -49,6 +49,9 @@
 									<view class="list-details-price" v-else-if="pros.priceFlag == 2">
 										<view class="list-none"><view class="price-small">¥价格仅会员可见</view></view>
 									</view>
+									<view class="list-details-price" v-else-if="pros.priceFlag == 3">
+										<view class="list-none"><view class="price-small">¥仅医美机构可见</view></view>
+									</view>
 									<template v-else>
 										<view class="list-details-price">
 											<view class="list-price">
@@ -98,6 +101,9 @@
 									<view class="list-details-price" v-if="pros.priceFlag == 1">
 										<view class="list-none"><view class="price-small">¥未公开价格</view></view>
 									</view>
+									<view class="list-details-price" v-else-if="pros.priceFlag == 3 && (firstClubType!=1)">
+										<view class="list-none"><view class="price-small">¥仅医美机构可见</view></view>
+									</view>
 									<template v-else>
 										<view class="list-details-price">
 											<view class="list-price">
@@ -132,7 +138,7 @@
 												</template>
 												<template v-if="pros.svipProductFlag == 1">
 													<view class="svip-tags">
-														<view class="tags" :class="{ none: vipFlag == 0 }">SVIP</view>
+														<view class="tags" :class="{ none: !isShowVipFlag(pros) }">SVIP</view>
 														<view class="price" v-if="isShowVipFlag(pros)">{{
 															pros.svipPriceTag
 														}}</view>
@@ -303,6 +309,7 @@ export default {
 			modal: false,
 			vipFlag:0,
 			userIdentity:0,
+			firstClubType:0
 		}
 	},
 	onLoad() {
@@ -317,7 +324,7 @@ export default {
 		}
 	},
 	computed: {
-		...mapState(['hasLogin', 'userInfo'])
+		...mapState(['hasLogin', 'userInfo','clubType'])
 	},
 	methods: {
 		...mapMutations(['login', 'logout']),
@@ -326,6 +333,7 @@ export default {
 			this.listQuery.userId = userInfo.userId ? userInfo.userId : 0
 			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
 			this.userIdentity = userInfo.userIdentity ? userInfo.userIdentity : 0
+			this.firstClubType = this.clubType
 			this.GetProductListInfo()
 			this.ProductCartNumber()
 		},
@@ -606,14 +614,29 @@ export default {
 			}
 		},
 		isShowVipFlag(pros) {
-			// 超级会员价格显示控制
-			if (this.hasLogin && pros.priceFlag != 1) {
-				if (this.userIdentity == 4 && this.vipFlag == 1) {
-					return true
-				} else if (this.userIdentity == 2) {
-					return true
-				}
-			}
+			/**
+			 *显示SVIP和超级会员价格:
+			 * 	个人机构(不是超级会员,但价格所有机构可见),
+			 *	资质机构(不是超级会员,但价格所有机构可见或仅会员可见),
+			 * 	超级会员(价格所有机构可见或仅会员可见),超级会员(是医美机构,价格仅医美可见)
+			 *商品价格是否可见:priceFlag  0:所有机构可见 1:未公开价格 2:仅会员可见 3:仅医美机构可见
+			 *	普通机构
+			 * 		超级会员 && priceFlag === 0
+			 * 	资质机构
+			 * 		priceFlag !== 1 ||
+			 * 		超级会员
+			 * 			商品priceFlag === 3 && 是否是医美机构
+			*/
+			// 未登录 || 非会员
+			if(!this.hasLogin || !this.vipFlag === 1) return false
+			// 商品所有机构可见
+			if(pros.priceFlag === 0 ) return true
+			// 商品价格仅资质机构可见
+			if(pros.priceFlag === 2 && this.userIdentity === 2) return true
+			// 商品价格仅医美机构可见
+			if(pros.priceFlag === 3 && this.userIdentity === 2 &&  this.firstClubType == 1) return true
+			// 其它
+			return false
 		},
 		navToDetailPage(id) {
 			this.isModallayer = true

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

@@ -536,7 +536,7 @@
 				console.log('优惠券金额',this.couponAmount)
 			},
 			orderSubmitMit(){// 提交订单按钮点击事件
-				if(this.orderShouldPayFee <1000){
+				if(this.allPrice <1000){
 					this.showModal = true
 					this.contentModalText = '采购金额过小,将扣除500采美豆,建议您前往采美旗下“呵呵商城”小程序购买小额商品。'    //操作文字提示语句
 					this.showModalstauts = 1

+ 5 - 1
store/index.js

@@ -10,6 +10,7 @@ const store = new Vuex.Store({
         hasLogin: false,
         userInfo: {},
         identity: 0,
+        clubType: 0, // 1: 医美机构  2:生美机构 (医美、生美机构类型)
         wechatUserInfo: {},
         cartNumber: 0,
         isIphoneX: false,
@@ -50,10 +51,13 @@ const store = new Vuex.Store({
             console.log(`${TIME}`, provider)
             state.userInfo = provider
             if (state.userInfo) {
+                state.clubType = provider.firstClubType
                 if (provider.userIdentity) {
                     state.identity = provider.userIdentity
-                } else if (provider.userID == 5261 || provider.userID == 10947 || provider.userID == 11579) {
+                } else if (provider.userId == 5261 || provider.userId == 10947 || provider.userId == 11579) {
                     state.identity = 1
+                } else if (provider.firstClubType == 1) {
+                    state.identity = 5
                 } else {
                     state.identity = 0
                 }