Browse Source

commit -m 维沙

zhengjinyi 4 years ago
parent
commit
4a80c24c10

+ 0 - 347
components/cm-module/pageFloorTemplate/templateA.vue

@@ -1,347 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_02">
-			<image class="item-img-gg" 
-				   :src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-				   mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateA",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转商品详情页
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&:nth-child(2n){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 359
components/cm-module/pageFloorTemplate/templateB.vue

@@ -1,359 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_02">
-			<image  class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_02">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage2" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType2,
-						floorData.floorContent.linkParam2.id ? floorData.floorContent.linkParam2.id : '',
-						floorData.floorContent.adsLink2,
-						floorData.floorContent.linkParam2.keyword ? floorData.floorContent.linkParam2.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateB",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转商品详情页
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&:nth-child(2n){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 392
components/cm-module/pageFloorTemplate/templateC.vue

@@ -1,392 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_01">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_02">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage2" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType2,
-						floorData.floorContent.linkParam2.id ? floorData.floorContent.linkParam2.id : '',
-						floorData.floorContent.adsLink2,
-						floorData.floorContent.linkParam2.keyword ? floorData.floorContent.linkParam2.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateC",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转商品详情页
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&.ad_01{
-				width: 100%;
-				height: 240rpx;
-				.item-img-gg{
-					width: 100%;
-					height: 240rpx;
-					display: block;
-					border-radius: 16rpx;
-				}
-			}
-			&.ad_02{
-				margin-right: 20rpx;
-			}	
-			&:nth-child(odd){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 8rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				margin-bottom: 20rpx;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 382
components/cm-module/pageFloorTemplate/templateD.vue

@@ -1,382 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_01">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_02">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage2" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType2,
-						floorData.floorContent.linkParam2.id ? floorData.floorContent.linkParam2.id : '',
-						floorData.floorContent.adsLink2,
-						floorData.floorContent.linkParam2.keyword ? floorData.floorContent.linkParam2.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_03">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage3" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType3,
-						floorData.floorContent.linkParam3.id ? floorData.floorContent.linkParam3.id : '',
-						floorData.floorContent.adsLink3,
-						floorData.floorContent.linkParam3.keyword ? floorData.floorContent.linkParam3.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateD",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转商品详情页
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&.ad_01{
-				width: 100%;
-				height: 240rpx;
-				margin-right: 0;
-				.item-img-gg{
-					width: 100%;
-					height: 240rpx;
-					display: block;
-					border-radius: 16rpx;
-				}
-			}
-			&:nth-child(odd){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 360
components/cm-module/pageFloorTemplate/templateE.vue

@@ -1,360 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_01">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateE",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转商品详情页
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&.ad_01{
-				width: 100%;
-				height: 240rpx;
-				.item-img-gg{
-					width: 100%;
-					height: 240rpx;
-					display: block;
-					border-radius: 16rpx;
-				}
-			}
-			&.ad_02{
-				margin-right: 20rpx;
-			}	
-			&:nth-child(odd){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 332
components/cm-module/pageFloorTemplate/templateF.vue

@@ -1,332 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateG",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&:nth-child(2n){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-30;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 347
components/cm-module/pageTemplate/templateA.vue

@@ -1,347 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_02">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-					mode="aspectFill" >
-			</image>
-		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 3" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act" >
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateA",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&:nth-child(2n){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 359
components/cm-module/pageTemplate/templateB.vue

@@ -1,359 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_02">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_02">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage2" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType2,
-						floorData.floorContent.linkParam2.id ? floorData.floorContent.linkParam2.id : '',
-						floorData.floorContent.adsLink2,
-						floorData.floorContent.linkParam2.keyword ? floorData.floorContent.linkParam2.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 2" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateB",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转商品详情页
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&:nth-child(2n){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 392
components/cm-module/pageTemplate/templateC.vue

@@ -1,392 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_01">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_02">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage2" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType2,
-						floorData.floorContent.linkParam2.id ? floorData.floorContent.linkParam2.id : '',
-						floorData.floorContent.adsLink2,
-						floorData.floorContent.linkParam2.keyword ? floorData.floorContent.linkParam2.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 3" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateC",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转商品详情页
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&.ad_01{
-				width: 100%;
-				height: 240rpx;
-				.item-img-gg{
-					width: 100%;
-					height: 240rpx;
-					display: block;
-					border-radius: 16rpx;
-				}
-			}
-			&.ad_02{
-				margin-right: 20rpx;
-			}	
-			&:nth-child(odd){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 8rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				margin-bottom: 20rpx;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 382
components/cm-module/pageTemplate/templateD.vue

@@ -1,382 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_01">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_02">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage2" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType2,
-						floorData.floorContent.linkParam2.id ? floorData.floorContent.linkParam2.id : '',
-						floorData.floorContent.adsLink2,
-						floorData.floorContent.linkParam2.keyword ? floorData.floorContent.linkParam2.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_03">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage3" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType3,
-						floorData.floorContent.linkParam3.id ? floorData.floorContent.linkParam3.id : '',
-						floorData.floorContent.adsLink3,
-						floorData.floorContent.linkParam3.keyword ? floorData.floorContent.linkParam3.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 2" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateD",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转商品详情页
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&.ad_01{
-				width: 100%;
-				height: 240rpx;
-				margin-right: 0;
-				.item-img-gg{
-					width: 100%;
-					height: 240rpx;
-					display: block;
-					border-radius: 16rpx;
-				}
-			}
-			&:nth-child(odd){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 360
components/cm-module/pageTemplate/templateE.vue

@@ -1,360 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_01">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateE",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转商品详情页
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&.ad_01{
-				width: 100%;
-				height: 240rpx;
-				.item-img-gg{
-					width: 100%;
-					height: 240rpx;
-					display: block;
-					border-radius: 16rpx;
-				}
-			}
-			&.ad_02{
-				margin-right: 20rpx;
-			}	
-			&:nth-child(odd){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 378
components/cm-module/pageTemplate/templateF.vue

@@ -1,378 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>		
-				</view>
-			</view>
-		</view>
-		<view class="floor-item ad_01">
-			<image 	class="item-img-gg" 
-					:src="floorData.floorContent.appletsAdsImage1" 
-					@click="BannerNavigateTo(
-						floorData.floorContent.linkType1,
-						floorData.floorContent.linkParam1.id ? floorData.floorContent.linkParam1.id : '',
-						floorData.floorContent.adsLink1,
-						floorData.floorContent.linkParam1.keyword ? floorData.floorContent.linkParam1.keyword : ''
-					)"
-					mode="aspectFill">
-			</image>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateF",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转商品详情页
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&.ad_01{
-				width: 100%;
-				height: 240rpx;
-				margin-right: 0;
-				.item-img-gg{
-					width: 100%;
-					height: 240rpx;
-					display: block;
-					border-radius: 16rpx;
-				}
-			}
-			&:nth-child(2n){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 8rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				margin-bottom: 20rpx;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-28;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 333
components/cm-module/pageTemplate/templateG.vue

@@ -1,333 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="floor-item ad_04 clearfix" v-for="(item, idx) in floorData.floorImageList" v-if="idx < 4" :key="idx" @click.stop="navToDetailPage(item)">
-			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-			<view class="floor-item_tag" v-if="item.listType == 2">
-				<text>{{ item.label }}</text>
-			</view>
-			<view class="floor-item-content">
-				<view class="title tui-skeleton-rect">
-					<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-					<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-				</view>
-				<view class="floor-item-price" v-if="item.listType == 1">
-					<view class="floor-item-act">
-						<template v-if="userIdentity === 3">
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>	
-						<template v-else>
-							<template v-if="item.product.actStatus===1">
-								<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-									{{item.product.promotions.name}}
-									<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-								</view>
-								<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-							</template>
-							<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-								<view class="floor-tags">阶梯价格</view>	
-							</template>
-						</template>
-					</view>	
-					<view v-if="hasLogin">
-						<template v-if="item.product.productCategory == 1">
-							<template v-if="userIdentity == 3">
-								<template v-if="item.product.shopID == shopId">
-									<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-										<text class="p big">¥未公开价格</text>
-									</view>
-									<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-										<text class="p sm">¥</text>
-										<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-									</view>
-								</template>	
-								<template v-else>
-									<view class="no-price">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</view>	
-								</template>
-							</template>
-							<template v-else-if="userIdentity ===4">
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-									<text class="p big">¥价格仅会员可见</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-							<template v-else>
-								<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-									<text class="p big">¥未公开价格</text>
-								</view>
-								<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-									<text class="p sm">¥</text>
-									<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-								</view>
-							</template>
-						</template>	
-						<template v-else>
-							<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-								<text class="p sm">¥</text>
-								<text class="p big">价格详聊</text>
-							</view>
-							<view class="price tui-skeleton-rect" v-else>
-								<text class="p sm">¥</text>
-								<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-							</view>
-						</template>
-					</view>
-					<view v-else class="no-price">
-						<template v-if="item.product.productCategory == 1">
-							<view class="p-stars">
-								<text class="p-no">¥</text>
-								<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-							</view>
-						</template>
-						<template v-else>
-							<view class="p-stars">
-								<text class="p-no">¥登录可见</text>
-							</view>
-						</template>
-					</view>	
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateG",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				floorData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				this.floorData = data
-				// console.log(this.floorData)
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.floor-item{
-			width: 339rpx;
-			height: 516rpx;
-			margin-right: 20rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #FFFFFF;
-			line-height: 36rpx;
-			border-radius: 16rpx;
-			margin-bottom: 20rpx;
-			float: left;
-			box-sizing: border-box;
-			position: relative;
-			&:nth-child(2n){
-				margin-right: 0;
-			}
-			.item-img-gg{
-				width: 339rpx;
-				height: 516rpx;
-				display: block;
-				border-radius: 16rpx;
-			}
-			.item-img{
-				width: 339rpx;
-				height: 339rpx;
-				border-radius: 16rpx 16rpx 0 0;
-				display: block;
-				margin-bottom: 8rpx;
-			}
-			.floor-item_tag{
-				width: 100%;
-				height: 32rpx;
-				float: left;
-				margin: 20rpx 0;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-				text{
-					display: inline-block;
-					padding: 0 8rpx;
-					border: 1px solid #e3ebf7;
-					border-radius: 8rpx ;
-					color: #9aa5b5;
-					font-size: $font-size-22;
-					line-height: 32rpx;
-					text-align: center;
-					float: left;
-				}
-			}
-			.floor-item-content{
-				width: 100%;
-				padding: 0 20rpx;
-				box-sizing: border-box;
-			}
-			.floor-item-act{
-				display: block;
-				width: 100%;
-				height: 32rpx;
-				text-align: center;
-				box-sizing: border-box;
-			}
-			.floor-tags{
-				height: 28rpx;
-				border-radius: 6rpx;
-				background-color: #FFFFFF;
-				line-height: 28rpx;
-				color: $color-system;
-				text-align: center;
-				display: inline-block;
-				padding:0 16rpx;
-				font-size: $font-size-20;
-				border: 1px solid #E15616;
-				float: left;
-			}
-			.title-none{
-				font-size: $font-size-26;
-				color: #FF2A2A;
-				line-height: 54rpx;
-			}
-			.title{
-				width: 100%;
-				height: 70rpx;
-				display: flex;
-				line-height: 35rpx;
-				flex-direction: column;
-				margin: 8rpx 0;
-				padding: 0;
-				position: relative;
-				.mclap{
-					width: 100%;
-					line-height:35rpx;
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					font-size: 26rpx;
-					&.indent{
-						text-indent: 95rpx;
-					}
-				}
-				.mclap-tag{
-					display: block;
-					width: 84rpx;
-					height: 32rpx;
-					background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-					border-radius: 4rpx 48rpx 4px 4px;
-					line-height: 32rpx;
-					font-size: $font-size-22;
-					color: #FFFFFF;
-					text-align: center;
-					position: absolute;
-					left: 0;
-					top: 0;
-				}
-			}
-			.no-price{
-				height: 54rpx;
-				line-height: 54rpx;
-				display: flex;
-				box-sizing: border-box;
-				.p-no{
-					font-size: $font-size-30;
-					color: $text-color;
-					display: block;
-					float: left;
-				}
-				.p-stars{
-					float: left;
-				}
-			}
-			.price{
-				color: #FF2A2A;
-				line-height:54rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				.sm{
-					font-size: $font-size-24;
-				}
-				.big{
-					font-size: $font-size-28;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 395
components/cm-module/pageTemplate/templateH.vue

@@ -1,395 +0,0 @@
-<template>
-	<view class="section_page_main clearfix">
-		<view class="recommend-list">
-			<swiper class="tui-banner-swiper" :autoplay="true" :interval="5000" :duration="500" :circular="true" @change="swiperChange">
-				<swiper-item v-for="(product,index) in productList" :key="index">
-					<view class="floor-item ad_04 clearfix" v-for="(item, idx) in product" :key="idx" @click.stop="navToDetailPage(item)">
-						<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
-						<view class="floor-item_tag" v-if="item.listType == 2">
-							<text>{{ item.label }}</text>
-						</view>
-						<view class="floor-item-content">
-							<view class="title tui-skeleton-rect">
-								<text class="mclap-tag" v-if="item.product.beautyActFlag == '1'">美博会</text>
-								<text class="mclap" :class="item.product.beautyActFlag == '1' ? 'indent' : ''">{{item.name}} </text>
-							</view>
-							<view class="floor-item-price" v-if="item.listType == 1">
-								<view class="floor-item-act">
-									<template v-if="userIdentity === 3">
-										<template v-if="item.product.actStatus===1">
-											<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-												{{item.product.promotions.name}}
-												<text v-if="hasLogin && item.product.price1TextFlag != 1 && item.product.shopID == shopId">:¥{{item.product.retailPrice | NumFormat}}</text>
-											</view>
-											<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-										</template>
-										<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-											<view class="floor-tags">阶梯价格</view>	
-										</template>
-									</template>	
-									<template v-else>
-										<template v-if="item.product.actStatus===1">
-											<view class="floor-tags" v-if="PromotionsFormat(item.product.promotions)">
-												{{item.product.promotions.name}}
-												<text v-if="hasLogin && item.product.price1TextFlag != 1">:¥{{item.product.retailPrice | NumFormat}}</text>
-											</view>
-											<view class="floor-tags" v-else>{{item.product.promotions.name}}</view>	
-										</template>
-										<template v-if="item.product.actStatus ===0  &&  item.product.ladderPriceFlag===1">
-											<view class="floor-tags">阶梯价格</view>	
-										</template>
-									</template>
-								</view>	
-								<view v-if="hasLogin">
-									<template v-if="item.product.productCategory == 1">
-										<template v-if="userIdentity == 3">
-											<template v-if="item.product.shopID == shopId">
-												<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-													<text class="p big">¥未公开价格</text>
-												</view>
-												<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-													<text class="p sm">¥</text>
-													<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-												</view>
-											</template>	
-											<template v-else>
-												<view class="no-price">
-													<view class="p-stars">
-														<text class="p-no">¥</text>
-														<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-													</view>
-												</view>	
-											</template>
-										</template>
-										<template v-else-if="userIdentity ===4">
-											<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-												<text class="p big">¥未公开价格</text>
-											</view>
-											<view class="title-none"  v-if="item.product.price1TextFlag === '2'">
-												<text class="p big">¥价格仅会员可见</text>
-											</view>
-											<view class="price tui-skeleton-rect" v-if="item.product.price1TextFlag === '0'" :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-												<text class="p sm">¥</text>
-												<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-											</view>
-										</template>
-										<template v-else>
-											<view class="title-none" v-if="item.product.price1TextFlag === '1'">
-												<text class="p big">¥未公开价格</text>
-											</view>
-											<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.product.promotions) ? 'none' : ''">
-												<text class="p sm">¥</text>
-												<text class="p big">{{ (PromotionsFormat(item.product.promotions) ? item.product.price1 : item.product.retailPrice ) | NumFormat}}</text>
-											</view>
-										</template>
-									</template>	
-									<template v-else>
-										<view class="price tui-skeleton-rect" v-if="item.product.detailTalkFlag == '2'">
-											<text class="p sm">¥</text>
-											<text class="p big">价格详聊</text>
-										</view>
-										<view class="price tui-skeleton-rect" v-else>
-											<text class="p sm">¥</text>
-											<text class="p big">{{ item.product.retailPrice | NumFormat }}</text>
-										</view>
-									</template>
-								</view>
-								<view v-else class="no-price">
-									<template v-if="item.product.productCategory == 1">
-										<view class="p-stars">
-											<text class="p-no">¥</text>
-											<uni-grader :grade="Number(item.product.price1Grade)" :margin="14"></uni-grader>
-										</view>
-									</template>
-									<template v-else>
-										<view class="p-stars">
-											<text class="p-no">¥登录可见</text>
-										</view>
-									</template>
-								</view>	
-							</view>
-						</view>
-					</view>
-				</swiper-item>
-			</swiper>
-			<view class="swiper__recommenddots-box" v-if="productList.length > 1">
-				<view v-for="(item,idx) in productList" 
-					  :key="idx" 
-					  :class="[idx===swiperCurrent?'swiper__dots-long':'none']" 
-					  :data-index="swiperCurrent" class="swiper__dots-item">
-				</view>	  
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:"templateH",
-		components:{
-			uniGrader
-		},
-		props:{
-			pageData:{
-				type:Object
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopId:0,
-				productList:[],
-				current:100,
-				swiperCurrent:0,
-				pageSize:4,
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额				
-				return Number(text).toFixed(2);			
-			},		
-		},
-		created(){
-			this.initData(this.pageData)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		watch: {
-			pageData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.pageData = el
-					this.initData(this.pageData)
-				},
-				deep: true
-			}
-		},
-		methods:{
-			initData(data){
-				this.$api.getStorage().then((resolve) =>{
-					this.shopId = resolve.shopID ? resolve.shopID : 0
-				})
-				if(data.floorImageList.length>0){
-					this.productList.splice(0,this.productList.length);
-					for (var i = 0, j = data.floorImageList.length; i < j; i += this.pageSize) {
-						this.productList.push(data.floorImageList.slice(i, i + this.pageSize));
-					}
-				}
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			tabClick(index) {//轮播图切换
-				this.current = index;
-			},
-			swiperChange(e) {//轮播切换
-				const index = e.detail.current;
-				this.swiperCurrent = index;
-			},
-			navToDetailPage(pros) {//跳转商品详情页
-				this.$api.FlooryNavigateTo(pros)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.section_page_main{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		.recommend-list{
-			width: 100%;
-			height: 1100rpx;
-			position: relative;
-			padding-bottom: 20rpx;
-			.tui-banner-swiper {
-				width: 100%;
-				margin: 0 auto;
-				background: #F7F7F7;
-				height: 1100rpx;
-				overflow: hidden;
-				transform: translateY(0);
-				.floor-item{
-					width: 339rpx;
-					height: 516rpx;
-					margin-right: 20rpx;
-					font-size: $font-size-24;
-					color: $text-color;
-					background: #FFFFFF;
-					line-height: 36rpx;
-					border-radius: 16rpx;
-					margin-bottom: 20rpx;
-					float: left;
-					box-sizing: border-box;
-					position: relative;
-					&:nth-child(2n){
-						margin-right: 0;
-					}
-					.item-img{
-						width: 339rpx;
-						height: 339rpx;
-						border-radius: 16rpx 16rpx 0 0;
-						display: block;
-						margin-bottom: 8rpx;
-					}
-					.floor-item_tag{
-						width: 100%;
-						height: 32rpx;
-						float: left;
-						margin: 20rpx 0;
-						padding: 0 20rpx;
-						box-sizing: border-box;
-						text{
-							display: inline-block;
-							padding: 0 8rpx;
-							border: 1px solid #e3ebf7;
-							border-radius: 8rpx ;
-							color: #9aa5b5;
-							font-size: $font-size-22;
-							line-height: 32rpx;
-							text-align: center;
-							float: left;
-						}
-					}
-					.floor-item-content{
-						width: 100%;
-						padding: 0 20rpx;
-						box-sizing: border-box;
-					}
-					.floor-item-act{
-						display: block;
-						width: 100%;
-						height: 32rpx;
-						text-align: center;
-						box-sizing: border-box;
-					}
-					.floor-tags{
-						height: 28rpx;
-						border-radius: 6rpx;
-						background-color: #FFFFFF;
-						line-height: 28rpx;
-						color: $color-system;
-						text-align: center;
-						display: inline-block;
-						padding:0 16rpx;
-						font-size: $font-size-20;
-						border: 1px solid #E15616;
-						float: left;
-					}
-					.title-none{
-						font-size: $font-size-26;
-						color: #FF2A2A;
-						line-height: 54rpx;
-					}
-					.title{
-						width: 100%;
-						height: 70rpx;
-						display: flex;
-						line-height: 35rpx;
-						flex-direction: column;
-						margin: 8rpx 0;
-						padding: 0;
-						position: relative;
-						.mclap{
-							width: 100%;
-							line-height:35rpx;
-							text-overflow:ellipsis;
-							display: -webkit-box;
-							word-break: break-all;
-							-webkit-box-orient: vertical;
-							-webkit-line-clamp: 2;
-							overflow: hidden;
-							font-size: 26rpx;
-							&.indent{
-								text-indent: 95rpx;
-							}
-						}
-						.mclap-tag{
-							display: block;
-							width: 84rpx;
-							height: 32rpx;
-							background-image: linear-gradient(270deg, #f9c023 0%, #f83600 100%);
-							border-radius: 4rpx 48rpx 4px 4px;
-							line-height: 32rpx;
-							font-size: $font-size-22;
-							color: #FFFFFF;
-							text-align: center;
-							position: absolute;
-							left: 0;
-							top: 0;
-						}
-					}
-					.no-price{
-						height: 54rpx;
-						line-height: 54rpx;
-						display: flex;
-						box-sizing: border-box;
-						.p-no{
-							font-size: $font-size-28;
-							color: $text-color;
-							display: block;
-							float: left;
-						}
-						.p-stars{
-							float: left;
-						}
-					}
-					.price{
-						color: #FF2A2A;
-						line-height:54rpx;
-						&.none{
-							text-decoration: line-through;
-							color: #999999;
-						}
-						.sm{
-							font-size: $font-size-24;
-						}
-						.big{
-							font-size: $font-size-28;
-						}
-					}
-				}
-			}
-		}	
-		.swiper__recommenddots-box{
-			position: absolute;
-			bottom: 0;
-			left: 0;
-			right: 0;
-			/* #ifndef APP-NVUE */
-			display: flex;
-			/* #endif */
-			flex: 1;
-			flex-direction: row;
-			justify-content: center;
-			align-items: center;
-			height: 60rpx;
-			.swiper__dots-item{
-				width: 8rpx;
-				height: 8rpx;
-				border-radius: 100%;
-				margin-left: 6px;
-				background-color:rgba(225,86,22,.3);
-			}
-			.swiper__dots-long{
-				width: 32rpx;
-				height: 8rpx;
-				border-radius: 4rpx;
-				background-color: #e15616;
-				transition: all 0.4s;
-			}
-		}
-	}
-</style>

+ 0 - 147
components/cm-module/pageTemplate/templateNav.vue

@@ -1,147 +0,0 @@
-<template name="navbars">
-	<view>
-		<view class="navbars-content clearfix">
-			<view class="nav-item" v-for="(item,index) in navList" :key="index" @click="NavToDetailPage(item,index)">
-				<view class="icon">
-					<image class="icon-image" :src="item.crmIcon" mode=""></image>
-				</view>
-				<view class="name">{{ item.name }}</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"navbars",
-		props:{
-			list:{
-				type:Array
-			}
-		},
-		data() {
-			return{
-				current:100,
-				navList:[]
-			}
-		},
-		created(){
-			this.initData(this.list)
-		},
-		computed: {
-	
-		},
-		methods:{
-			initData(list){
-				this.navList = list
-				console.log(this.navList)
-			},
-			NavToDetailPage(item){//分类导航跳转
-				this.$api.navigateTo(`/pages/goods/goods-classify?classType=1&id=${item.bigTypeID}&title=${item.name}`)
-				// uni.setStorage({
-				// 	key: 'commodity_id',
-				// 	data: pro.tinyTypeID,
-				// 	success: function () {
-				// 		self.$api.navigateTo(`/pages/goods/goods-classify?title=${pro.name}&id=${pro.bigTypeID}`)
-				// 	}
-				// })
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.navbars-content{
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-		margin-top: 30rpx;
-		.nav-item{
-			width: 164rpx;
-			height: auto;
-			float: left;
-			margin-bottom: 30rpx;
-			margin-right: 15.3rpx;
-			&:nth-child(4){
-				margin-right: 0;
-			}
-			&:nth-child(8){
-				margin-right: 0;
-			}
-			.icon{
-				width: 72rpx;
-				height: 72rpx;
-				margin: 0 auto;
-				position: relative;
-				.icon-image{
-					width: 72rpx;
-					height: 72rpx;
-					display: block;
-				}
-				.icon-new{
-					width: 44rpx;
-					height: 22rpx;
-					display: block;
-					position: absolute;
-					right: 0;
-					top: 20rpx;
-				}
-			}
-			.name{
-				width: 100%;
-				height: 40rpx;
-				line-height: 40rpx;
-				text-align: center;
-				font-size: $font-size-24;
-				color: #666666;
-			}
-			.nav-cell-main{
-				width: 100%;
-				height: auto;
-				position: absolute;
-				right: 0;
-				.nav-cell{
-					width: 164rpx;
-					height: auto;
-					float: left;
-					margin-bottom: 30rpx;
-					margin-right: 15.3rpx;
-					&:nth-child(4){
-						margin-right: 0;
-					}
-					&:nth-child(8){
-						margin-right: 0;
-					}
-					.icon{
-						width: 130rpx;
-						height: 130rpx;
-						margin: 0 auto;
-						position: relative;
-						.icon-image{
-							width: 130rpx;
-							height: 130rpx;
-							display: block;
-						}
-						.icon-new{
-							width: 44rpx;
-							height: 22rpx;
-							display: block;
-							position: absolute;
-							right: 0;
-							top: 20rpx;
-						}
-					}
-					.name{
-						width: 100%;
-						height: 40rpx;
-						line-height: 40rpx;
-						text-align: center;
-						font-size: $font-size-28;
-						color: #666666;
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 106
components/cm-module/supplier/banner.vue

@@ -1,106 +0,0 @@
-<template>
-	<view>
-		<view class="swiper-banner-box" >
-			<swiper v-if="list.length>0"  class="tui-banner-swiper tui-banner tui-skeleton-fillet" :autoplay="true" :interval="5000" :duration="500"  @change="swiperChange" :circular="true">
-				<swiper-item v-for="(item,index) in list" :key="index">
-					<image  :src="item" class="tui-slide-image" mode="scaleToFill"/>
-				</swiper-item>
-			</swiper>
-			<swiper v-else  class="tui-banner-swiper tui-banner tui-skeleton-fillet" :autoplay="true" :interval="5000" :duration="500"  @change="swiperChange" :circular="true">
-				<swiper-item >
-					<image :src="defaultbanner" class="tui-slide-image" mode="scaleToFill"/>
-				</swiper-item>
-			</swiper>
-			<view class="swiper__dots-box" v-if="list.length > 1">
-				<view v-for="(item,idx) in list" 
-					  :key="idx" 
-					  :class="[idx===current?'swiper__dots-long':'none']" 
-					  :data-index="current" class="swiper__dots-item">
-				</view>	  
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"address",
-		props:{
-			list:{
-				type:Array
-			}
-		},
-		data() {
-			return{
-				current:0,
-				defaultbanner:'https://static.caimei365.com/app/img/bg/icon-defaultbanner.png'
-			}
-		},
-		created(){
-			console.log(this.list)
-		},
-		computed: {
-	
-		},
-		methods:{
-			swiperChange(e) {//轮播图切换
-				const index = e.detail.current;
-				this.current = index;
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.swiper-banner-box{
-		width: 100%;
-		height: 240rpx;
-		background:#FFFFFF;
-		position: relative;
-		background-size: cover;
-	}	
-	.tui-banner-swiper {
-		width: 700rpx;
-		margin: 0 auto;
-		height: 240rpx;
-		border-radius: 16rpx;
-		overflow: hidden;
-		transform: translateY(0);
-		margin-top: 16rpx;
-		.banner-item{
-			border-radius: 16rpx;
-		}
-		.tui-slide-image {
-			width: 100%;
-			height: 240rpx;
-			display: block;
-		}
-	}
-	.swiper__dots-box{
-		position: absolute;
-		bottom: 30rpx;
-		left: 0;
-		right: 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		.swiper__dots-item{
-			width: 8rpx;
-			height: 8rpx;
-			border-radius: 100%;
-			margin-left: 6px;
-			background-color:rgba(255,255,255,.7);
-		}
-		.swiper__dots-long{
-			width: 35rpx;
-			height: 8rpx;
-			border-radius: 4rpx;
-			background-color: #ffff;
-			transition: all 0.4s;
-		}
-	}
-</style>

+ 0 - 298
components/cm-module/supplier/category.vue

@@ -1,298 +0,0 @@
-<template>
-	<view id="category" :style="{paddingTop:CustomBar+'px'}">
-		<!--顶部搜索导航栏-->
-		<view class="'search-input-fixed" :style="{top:CustomBar/2+'px'}">
-			<cat-search :systeminfo='systeminfo' :navbar-data='nvabarData' :headerBtnPosi ="headerBtnPosi" @click="hanldTabClick"></cat-search>
-		</view>
-		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="5"></tui-skeleton>
-		<view class="category-list" v-else>
-			<!-- 左侧分类导航 -->
-			<scroll-view class="left-aside" scroll-y="true" scroll-with-animation :scroll-top="verticalNavTop" :style="{top:(CustomBar+38)+'px',height:(windowHeight-CustomBar+38)+'px'}">
-				<view class="row" v-for="(m, index) in categoryList" :key="index" :class="[index==showCategoryIndex?'on':'']" @tap="showCategory($event,index)" :data-id="index">
-					<view class="text">{{m.name}}</view>
-					<view class="block"></view>
-				</view>
-			</scroll-view>
-			<!--右侧子导航-->
-			<scroll-view  scroll-y="true" class="right-aside" :style="{top:(CustomBar+38)+'px',height:(windowHeight-CustomBar+38)+'px'}">
-				<view class="category" v-for="(first,index) in categoryList" :key="index" v-show="index==showCategoryIndex" >
-					<template v-if="first.smalltypeList">
-						<view class="category-box AAA" v-for="(small,oIndex) in first.smalltypeList" :key="oIndex">
-							<view class="title">{{small.name}}</view>
-							<view class="list" v-if="small.tinytypeList.length > 0">
-								<view class="box" v-for="(pro,proIndex) in small.tinytypeList" :key="proIndex" @click.stop="navToListPage(pro,3)">
-									<image :src="pro.crmIcon ? pro.crmIcon : 'https://static.caimei365.com/app/img/icon/icon-noneproduct.jpg'"></image>
-									<view class="text">{{pro.name}}</view>
-								</view>
-							</view>
-							<view v-else class="no-data">
-								<view class="box" @click.stop="navToListPage(small,2)">
-									<image :src="small.crmIcon ? small.crmIcon : 'https://static.caimei365.com/app/img/icon/icon-noneproduct.jpg'"></image>
-									<view class="text">全部商品</view>
-								</view>
-							</view>
-						</view>
-					</template>
-					<template v-else>
-						<view class="category-box BBB">
-							<view class="title">{{first.name}}</view>
-							<view class="no-data">
-								<view class="box" @click.stop="navToListPage(first,1)">
-									<image :src="first.crmIcon ? first.crmIcon : 'https://static.caimei365.com/app/img/icon/icon-noneproduct.jpg'"></image>
-									<view class="text">全部商品</view>
-								</view>
-							</view>
-						</view>
-					</template>
-				</view>
-			</scroll-view>
-		</view>
-	</view>
-</template>
-<script>
-	import catSearch from '@/components/uni-search/cat-search.vue'
-	export default {
-		components: {
-			catSearch
-		},
-		data() {
-			return {
-				nvabarData: {							 //顶部自定义导航
-					showCapsule: 1, // 是否显示左上角图标   1表示显示    0表示不显示
-					title: ''		// 导航栏 中间的标题
-				},
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				headerBtnPosi:	this.setHeaderBtnPosi(), //获取设备顶部胶囊高度
-				systeminfo: this.setSysteminfo(),		 //获取设备信息
-				headerShow:true,
-				showCategoryIndex: 0,
-				categoryList: [],//分类列表
-				search: '',
-				cateTop: {},
-				verticalNavTop: 0,
-				categoryTabIndex:1,
-				windowHeight:0,
-				scrollHeight:0,
-				skeletonShow:true
-			}
-		},
-		created() {
-			this.initData();
-		},
-		methods: {
-			// 数据初始化
-			initData() {
-				this.GetProductCate(this.categoryTabIndex);
-				const {windowHeight, pixelRatio} = wx.getSystemInfoSync();
-				this.windowHeight = windowHeight - 1;
-				this.scrollHeight = windowHeight - 1;
-			},
-			hanldTabClick(data){
-				this.categoryList = []
-				this.GetProductCate(data);
-			},
-			// 获取商品分类列表
-			GetProductCate (index) {
-				this.CommonService.GetFirstClassly({typeSort:index,source :'crm'}).then(response =>{
-					this.categoryList = response.data
-					// 查询第一个拥有二级菜单的子菜单
-					for (let i = 0; i < this.categoryList.length; i++) {
-						if (this.categoryList[i].smalltypeList.length > 0) {
-							this.showCategoryIndex = i;
-							break;
-						}
-					}
-					this.skeletonShow = false
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			showCategory(e,index){//分类切换显示
-				this.showCategoryIndex = index;
-				this.verticalNavTop = (e.currentTarget.dataset.id - 1) * 50
-			},
-			toSearch () {// 跳转至搜索详情页
-				uni.navigateTo({
-					url: `/search/pages/search/search?search=${JSON.stringify(this.search)}`
-				})
-			},
-			navToListPage(item,index){//分类导航跳转
-				switch(index){
-					case 1:
-						this.$api.navigateTo(`/pages/goods/goods-classify?classType=1&id=${item.bigTypeID}&title=${item.name}`)
-						break;
-					case 2:
-						this.$api.navigateTo(`/pages/goods/goods-classify?classType=2&id=${item.smallTypeID}&title=${item.name}`)
-						break;
-					case 3:
-						this.$api.navigateTo(`/pages/goods/goods-classify?classType=3&id=${item.tinyTypeID}&title=${item.name}`)
-						break;
-				}
-			},
-			setHeaderBtnPosi(){
-				// 获得胶囊按钮位置信息
-				let headerBtnPosi = uni.getMenuButtonBoundingClientRect();
-				return headerBtnPosi
-			},
-			setSysteminfo(){
-				let systeminfo;
-				uni.getSystemInfo({ // 获取设备信息
-					success: (res) => {
-						systeminfo = res
-					},
-				})
-				return systeminfo
-			},
-		}
-	}
-</script>
-<style lang="scss">
-	page {
-		background-color: #fff;
-	}
-	.search-input-fixed{
-		width: 100%;
-		height:auto;
-		position: fixed;
-		top: 0;
-		left: 0;
-		z-index: 1000;
-		background: #FFFFFF;
-		border-bottom: 1px solid #F7F7F7;
-	}		
-	.category-list{
-		width: 100%;
-		background-color: #fff;
-		display: flex;
-		.left-aside,.right-aside{
-			position: absolute;
-			top: 100rpx;
-			/*  #ifdef  APP-PLUS  */
-			top: calc(100rpx + var(--status-bar-height));
-			/*  #endif  */
-			bottom: 0rpx;
-		}
-		.left-aside{
-			width: 200rpx;
-			left: 0rpx;
-			background-color: #f2f2f2;
-			.row{
-				width: 100%;
-				height: 100rpx;
-				display: flex;
-				align-items: center;
-				position: relative;
-				.text{
-					width: 100%;
-					position: relative;
-					font-size: $font-size-28;
-					display: flex;
-					justify-content: center;
-					color: $text-color;
-					/* transition: transform 0.3s ease;*/
-					transition-property: transform;
-					transition-duration: 0.2s;
-					transition-timing-function: ease;
-				}
-				.block{
-					position: absolute;
-					width: 0rpx;
-					left: 0;
-					/* transition: transform 0.3s ease;*/
-					transition-property: transform;
-					transition-duration: 0.2s;
-					transition-timing-function: ease;
-				}
-				&.on{
-					height: 100rpx;
-					background-color: #fff;
-					.text{
-						font-size: $font-size-28;
-						color: $color-system;
-					}
-					.block{
-						width: 10rpx;
-						height: 60rpx;
-						top: 20rpx;
-						background-color: $color-system;
-						border-radius: 0 15rpx 15rpx 0;
-					}
-				}
-			}
-		}
-		.right-aside{
-			width: 550rpx;
-			left: 200rpx;
-			.category{
-				width: calc(100%);
-				padding: 0 15rpx 20rpx 0;
-				background: #F7F7F7;
-				.category-box{
-					background: #FFFFFF;
-					margin-bottom: 20rpx;
-					.title{
-						padding: 0 24rpx;
-						line-height: 80rpx;
-						height: 80rpx;
-						text-align: left;
-						color: $text-color;
-						font-size: $font-size-26;
-						border-bottom: 1px solid #F7F7F7;
-						font-weight: 600;
-					}
-					.list{
-						margin-top: 24rpx;
-						width: 100%;
-						display: flex;
-						flex-wrap: wrap;
-						.box{
-							width: calc(71.44vw / 3);
-							margin-bottom: 40rpx;
-							display: flex;
-							justify-content: center;
-							align-items: center;
-							flex-wrap: wrap;
-							image{
-								width: 140rpx;
-								height: 140rpx;
-							}
-							.text{
-								margin-top: 8rpx;
-								width: 100%;
-								display: flex;
-								justify-content: center;
-								font-size: $font-size-24;
-							}
-						}
-					}
-					.no-data {
-						text-align: center;
-						margin: 30rpx 0;
-						color: #666666;
-						font-size: 24rpx;
-						line-height: 80rpx;
-						.box{
-							width: calc(71.44vw / 3);
-							margin-bottom: 40rpx;
-							display: flex;
-							justify-content: center;
-							align-items: center;
-							flex-wrap: wrap;
-							image{
-								width: 140rpx;
-								height: 140rpx;
-							}
-							.text{
-								margin-top: 8rpx;
-								width: 100%;
-								display: flex;
-								justify-content: center;
-								font-size: $font-size-24;
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 183
components/cm-module/supplier/home.vue

@@ -1,183 +0,0 @@
-<template>
-	<view class="container home clearfix" :style="{paddingTop:CustomBar+'px'}">
-		<customer ref="customer" :navbar-data='nvabarData'></customer>
-		<!-- 主页内容 -->
-		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="5"></tui-skeleton>
-		<view class="container-home tui-skeleton">
-			<!-- 轮播 -->
-			<banner :list="bannerImageList" v-if="isNavRequest"></banner>
-			<!-- 金刚区菜单 -->
-			<navbars :list="navBarsList" v-if="isNavRequest"></navbars>
-			<!-- 直播 -->
-			<page-special :templateData="templateData" v-if="isLiveRequest"></page-special>
-		</view>	
-		<!-- 楼层 -->
-		<view class="container-section tui-skeleton">
-			<page-floor :list="pageList" :userIdentity="userIdentity" :pageType='1' v-if="isRequest"></page-floor>
-			<supplier-list :supplierObj="supplierObj" v-if="isRequest"></supplier-list>
-		</view>
-		<!-- 活动弹窗 -->
-		<activityAlert :show="isActivity" @click="handleClick" @cancel="handleCancelClick"></activityAlert>
-		<!-- 侧边 -->
-		<scroll-top :isScrollTop="isScrollTop" :bottom="50"></scroll-top>
-	</view>
-</template>
-
-<script>
-	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
-	import authorize from '@/common/config/authorize.js'
-	import customer from '@/components/cm-module/homeIndex/customer.vue'
-	import banner from '@/components/cm-module/homeIndex/banner.vue'
-	import navbars from '@/components/cm-module/homeIndex/navbars.vue'
-	import pageFloor from '@/components/cm-module/homeIndex/pageFloor.vue'
-	import pageSpecial from '@/components/cm-module/homeIndex/pageSpecial.vue'
-	import supplierList from '@/components/cm-module/homeIndex/supplierList.vue'
-	import { userInfoLogin } from "@/services/use.js"
-	import { mapState,mapMutations} from 'vuex';
-	export default {
-		components:{
-			tuiSkeleton,
-			customer,
-			banner,
-			navbars,
-			pageFloor,
-			pageSpecial,
-			supplierList
-		},
-		data() {
-			return {
-				nvabarData: {//顶部自定义导航
-					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
-					showSearch: 0,
-					title: '采美采购商城', // 导航栏 中间的标题
-					haveBack:false,
-					textLeft:this.$store.state.isIphone,
-					textColor:'#FFFFFF'
-				},
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				userID:0,
-				clubStatus:'',
-				current:0,
-				mode:'round',
-				modallayer:false,
-				isLogin:false,
-				skeletonShow: true,
-				userIdentity:'',
-				flootData:[],//楼层
-				bannerImageList:[],//轮播
-				navBarsList:[],//导航分类
-				templateData:{},
-				pageList:[],//楼层
-				supplierObj:{},//供应商列表
-				isScrollTop:false,
-				isRequest:false,
-				isNavRequest:false,
-				isLiveRequest:false,
-			}
-		},
-		created() {
-			this.$api.getStorage().then((resolve) =>{
-				this.userID = resolve.userID ? resolve.userID : 0
-				this.userIdentity = resolve.userIdentity
-				this.getHomeInformation()
-			})
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额
-				return Number(text).toFixed(2);
-			},
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isActivity'])
-		},
-		methods: {
-			...mapMutations(['login','logout']),
-			GetHomeInit(){//金刚区分类
-				this.CommonService.GetHomeInit({source:2}).then(response =>{
-					let data = response.data
-					this.navBarsList = data.topMenuList
-					this.isNavRequest = true
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			GetHomeTopDataInfo(){//直播、活动、文章模块
-				this.CommonService.GetHomeTopDataInfo({source:2}).then(response =>{
-					this.templateData = response.data
-					this.isLiveRequest = true
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			GetHomeFloorInfo(){//初始化首页楼层数据
-				this.CommonService.GetHomeDataInfo({userId:this.userID,soure:2}).then(response =>{
-					let data = response.data;
-					this.liveList = data.liveList;
-					this.pageList = data.homePageFloor;
-					this.supplierObj = data.supplierImage;
-					this.isRequest = true;
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			getHomeInformation(){//初始化首页数据	
-				this.CommonService.GetHomeModulesDataInfo({ userId:this.userID }).then(res =>{
-					let data = res.data;
-					this.bannerImageList = data.bannerImageList
-					this.mallPageModules = data.mallPageModules
-					this.$store.commit('updateAllNum',data.shoppingCartCount)
-					this.skeletonShow = false;
-					this.GetHomeInit()
-					this.GetHomeTopDataInfo()
-					this.GetHomeFloorInfo()
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			handleClick(data){
-				this.$api.navigateTo(`/h5/pages/activity/meobohui`)
-				this.$store.commit('setActivity',data)
-			},
-			handleCancelClick(data){
-				this.$store.commit('setActivity',data)
-			}
-		},
-		onPageScroll(e){//实时获取到滚动的值
-			if(e.scrollTop>50){
-				this.inputActive = 'fixed'
-			}else{
-				this.inputActive = 'float'
-			}	
-			if(e.scrollTop>400){
-				this.isScrollTop = true
-			}else{
-				this.isScrollTop = false
-			}	
-		},
-		onPullDownRefresh() {//下拉刷新
-			this.getHomeInformation()
-			uni.stopPullDownRefresh()
-		},
-		onShareAppMessage(res){//分享转发
-			if (res.from === 'button') {
-		      // 来自页面内转发按钮
-		    }
-			return {
-			  title: '生美医美正品采购服务平台',
-			  path: 'pages/tabBar/home/index',
-			  imageUrl:'https://static.caimei365.com/app/img/bg/min-banner.jpg'
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		background-color: #FFFFFF;
-	}
-	.container-section{
-		width: 100%;
-		height: auto;
-		background-color: #F7F7F7;
-	}
-</style>

+ 0 - 337
components/cm-module/supplier/supplierDetails.vue

@@ -1,337 +0,0 @@
-<template name="supplier">
-	<!-- 供应商信息 -->
-	<view class="supplier clearfix">
-		<view class="product-supplier" @click="goSupplier">
-			<view class="logo"><img :src="shopData.logo ? shopData.logo : 'https://static.caimei365.com/app/img/icon/icon-shoplogo.png'" alt=""></view>
-			<view class="main">
-				<view class="name">{{ shopData.name }}</view>
-				<view class="massgs">
-					<view class="label">满意度:</view>
-					<view class="p-stars">
-						<uni-stars :stars="6" :iconClass="iconClass" :iconColor="iconColor" :fontSize="36" :widthInfo="176"></uni-stars>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="sup-msg massage-t">
-			<view class="sup-conte">
-				<view class="conte-l">
-					<text class="tit-l">经营范围:</text>
-				</view>
-				<view class="conte-r" v-if="shopData.businessScopeArr.length>0">
-					<text class="age" v-for="(item,idx) in shopData.businessScopeArr" :key="idx">{{item}}</text>
-				</view>
-				<view class="conte-r" v-else>
-					<text class="tit">暂无</text>
-				</view>
-			</view>
-		</view>
-		<view class="sup-msg massage-t">
-			<view class="sup-h1">
-				<text class="line">公司介绍</text>
-			</view>
-			<view class="sup-p" :class="[shopData.info == null ? 'center' : '']">
-				{{shopData.info ? shopData.info : '暂无内容' }}
-			</view>
-		</view>
-		<view class="sup-msg massage-t">
-			<view class="sup-h1">
-				<text class="line">主打系列产品说明</text>
-			</view>
-			<view class="sup-p" :class="[shopData.productDesc == null ? 'center' : '']">
-				{{shopData.productDesc == null ? '暂无内容' : shopData.productDesc}}
-			</view>
-		</view>
-		<view class="sup-msg massage-t" v-if="shopData.businessLicense!=null">
-			<view class="sup-h1">
-				<text class="line">营业执照</text>
-			</view>
-			<view class="sup-img">
-				<image :src="shopData.businessLicense" mode="aspectFill" @click="previewImg(shopData.businessLicense)"></image>
-			</view>
-		</view>
-		<view class="sup-msg massage-t" v-if="shopData.medicalPracticeLicenseImg1!=null">
-			<view class="sup-h1">
-				<text class="line">公司资质</text>
-			</view>
-			<view class="sup-imgList clearfix">
-				<view class="img"><image :src="shopData.medicalPracticeLicenseImg1" mode="" @click="previewImg(shopData.medicalPracticeLicenseImg1)"></image></view>
-				<view class="img"><image :src="shopData.medicalPracticeLicenseImg2" mode="" @click="previewImg(shopData.medicalPracticeLicenseImg2)"></image></view>
-				<view class="img"><image :src="shopData.medicalPracticeLicenseImg3" mode="" @click="previewImg(shopData.medicalPracticeLicenseImg3)"></image></view>
-			</view>
-		</view>
-		<view class="sup-msg massage-t" v-if="shopData.certificate!=null">
-			<view class="sup-h1">
-				<text class="line">授权牌照</text>
-			</view>
-			<view class="sup-img">
-				<image :src="shopData.certificate" mode="aspectFill" @click="previewImg(shopData.certificate)"></image>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	export default{
-		name:'supplier',
-		components:{
-			uniGrader
-		},
-		props:{
-			shopId:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				shopData:{},
-				iconClass:'icon-aixin',
-				iconColor:'#ff9100',
-			}
-		},
-		created() {
-			this.GetSupplierHomeDeatils(this.shopId)
-		},
-		onLoad(){
-
-		},
-		methods:{
-			previewImg(url){
-				let mentuzArray = []
-				mentuzArray.push(url)
-				uni.previewImage({
-					urls: mentuzArray,
-					current: 0
-				});
-			},
-			GetSupplierHomeDeatils(shopId){//供应商详情
-				this.ShopService.GetSupplierHomeDeatils({supplierId:shopId}).then(response =>{
-					this.shopData = response.data
-					console.log(this.shopData)
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			}
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">	
-page{
-	background: #FFFFFF;
-}
-.supplier{
-	width: 100%;
-	.sup-msg{
-		width: 100%;
-		padding: 24rpx 0;				
-		.sup-h1{
-			height: 80rpx;
-			line-height: 80rpx;
-			font-size: $font-size-28;
-			color: $text-color;
-			text-align: left;
-			font-weight: bold;
-			.line{
-				position: relative;
-			}
-		}
-	}
-	.product-supplier{
-		width: 100%;
-		height: 140rpx;
-		padding:30rpx 24rpx;
-		box-sizing: border-box;
-		background-color: #FFFFFF;
-		position: relative;
-		box-sizing: border-box;
-		.logo{
-			width: 128rpx;
-			height: 92rpx;
-			float: left;
-			border: 1px solid #efefef;
-			border-radius: 6rpx;
-			image{
-				width: 100%;
-				height: 100%;
-				display: block;
-				border-radius: 6rpx;
-			}
-		}
-		.main{
-			width: 470rpx;
-			height: 92rpx;
-			float: left;
-			margin-left: 20rpx;
-			.name{
-				width: 100%;
-				line-height: 46rpx;
-				float: left;
-				font-size: $font-size-28;
-				color: $text-color;
-				float: right;
-				overflow: hidden;
-				text-overflow:ellipsis;
-				white-space: nowrap;
-				text-align: left;
-			}
-			.massgs{
-				width: 100%;
-				line-height: 46rpx;
-				float: left;
-				font-size: $font-size-24;
-				color: #999999;
-				.label{
-					float: left;
-				}
-				.p-stars{
-					float: left;
-					margin-left: 20rpx;
-				}
-			}
-		}
-	}
-	.massage-t{
-		width: 702rpx;
-		padding:0 24rpx;
-		height: auto;
-		background: #FFFFFF;
-		.sup-title{
-			width: 100%;
-			height: 40rpx;
-			margin-top: 24rpx;
-			text-align: left;
-			display: inline-block;						
-			line-height: 40rpx;
-			font-size: $font-size-28;
-			color: $text-color;
-			.tit-l{
-				width: 142rpx;
-				display: inline-block;
-			}
-		}
-		.sup-stars{
-			width: 100%;
-			height: 40rpx;
-			margin-top: 24rpx;
-			text-align: left;
-			display: inline-block;						
-			line-height: 40rpx;
-			font-size: $font-size-28;
-			color: $text-color;
-			.tit-l{
-				width: 114rpx;
-				display: inline-block;
-				text-align: right;
-				float: left;
-			}
-			.p-stars{
-				float: left;
-				margin-left: 22rpx;
-			}
-		}
-		.sup-conte{
-			width: 100%;
-			margin-top: 24rpx;
-			.conte-l{
-				width: 100%;
-				margin-bottom: 15rpx;
-				.tit-l{
-					text-align: left;
-					display: inline-block;						
-					line-height: 40rpx;
-					font-size: $font-size-28;
-					color: $text-color;
-					font-weight: bold;
-				}
-			}
-			.conte-r{
-				width: 100%;
-				.age{
-					display: inline-block;
-					padding: 0 20rpx;
-					background: #86b2fb;
-					height: 42rpx;
-					line-height: 42rpx;
-					text-align: center;
-					font-size: $font-size-24;
-					color: #FFFFFF;
-					border-radius: 6rpx;
-					margin-right: 24rpx;
-					margin-bottom: 24rpx;
-				}
-				.tit{
-					font-size: $font-size-28;
-					color: $text-color;
-					line-height: 40rpx;
-				}
-			}
-		}
-		.sup-p{
-			line-height: 48rpx;
-			text-align: left;
-			font-size: $font-size-28;
-			color: #666666;
-			text-indent: 40rpx;
-			&.center{
-				text-align: center;
-			}
-		}
-		.sup-img{
-			width: 100%;
-			height: 542rpx;
-			padding: 24rpx 0;
-			image{
-				width: 100%;
-				height: 100%;
-				display: block;
-			}
-		}
-		.sup-imgList{
-			width: 100%;
-			height: auto;
-			padding: 24rpx 0;
-			.img{
-				width: 340rpx;
-				height: 260rpx;
-				float: left;
-				margin-right:22rpx;
-				margin-bottom: 22rpx;
-				&:nth-child(even){
-					margin-right: 0;
-				}
-				image{
-					width: 100%;
-					height: 100%;
-					display: block;
-				}
-			}
-		}
-	}
-}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 538
components/cm-module/supplier/user.vue

@@ -1,538 +0,0 @@
-<template>
-	<view class="container user clearfix">
-		<cm-custom :navbar-data='nvabarData'></cm-custom>
-		<view class="user-section">
-			<view class="header" :style="{height:(CustomBar+90)-StatusBar+'px',paddingTop:CustomBar+'px',background:'url('+ bgImgUrl +')',backgroundSize:'cover'}">
-				<view class="header-main" v-if="hasLogin">
-					<view class="header-icon"><image :src="headpic ? headpic : defalutLogo" mode=""></image></view>
-					<view class="header-text">
-						<view class="user-item">
-							<text class="u-h1">{{name}}</text>
-							<text class="u-tips">供应商</text>
-						</view>
-						<view class="user-item" @click="navigator('/supplier/pages/user/my-shop?shopId='+shopID)">
-							<text class="u-shop">进入店铺</text><text class="iconfont icon-jinrudianpu"></text>
-						</view>
-					</view>
-				</view>
-				<!-- 订单 -->
-				<view class="user-order">
-					<view class="tab-title">
-						<text class="cell-tit">我的商品</text>
-					</view>
-					<view class="order-section">
-						<view class="order-item" @click="navigator('/supplier/pages/user/my-product?listType=0')" hover-class="common-hover"  :hover-stay-time="50">
-							<view class="order-icon">
-								<text class="iconfont icon-quanbushangpin"></text>
-								<text 	v-if="allNum>0" 
-										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
-										:class="[allNum < 10 ? 'goleft':'']">
-										{{ allNum | BadgeType }}
-								</text>
-							</view>
-							<text class="order-t">全部商品</text>
-						</view>
-						<view class="order-item" @click="navigator('/supplier/pages/user/my-product?listType=1')"  hover-class="common-hover" :hover-stay-time="50">
-							<view class="order-icon">
-								<text class="iconfont icon-yishangjia"></text>
-								<text  v-if="upNum >0" 
-									   class="uni-badge uni-badge-error uni-small uni-badge--small icon-num " 
-									   :class="[upNum < 10 ? 'goleft':'']">
-									   {{ upNum | BadgeType }}
-								</text>
-							</view>
-							<text class="order-t">已上架</text>
-						</view>
-						<view class="order-item" @click="navigator('/supplier/pages/user/my-product?listType=2')" hover-class="common-hover"  :hover-stay-time="50">
-							<view class="order-icon">
-								<text class="iconfont icon-yixiajia"></text>
-								<text   v-if="downNum >0" 
-										class="uni-badge uni-badge-error uni-small uni-badge--small icon-num" 
-										:class="[downNum < 10 ? 'goleft':'']">
-										{{ downNum | BadgeType  }}
-								</text>
-							</view>
-							<text class="order-t">已下架</text>
-						</view>
-					</view>
-				</view>
-			</view>
-			<!-- 底部跳转 -->
-			<view class="foot-list">
-				<view class="list-cell-item">
-					<view class="list-cell" hover-class="cell-hover" :hover-stay-time="50" @click="navigator('/supplier/pages/order/order-list')">
-						<text class="cell-icon"><text class="iconfont icon-wodedingdan"></text></text>
-						<text class="cell-tit">我的订单</text>
-						<text class="cell-more iconfont icon-xiayibu"></text>
-						<text class="cell-more"></text>
-					</view>
-				</view>	
-				<view class="list-cell-item">
-					<view class="list-cell"  v-for="(item, index) in firstList" :key="index" @click="navigator(item.path)" hover-class="cell-hover" :hover-stay-time="50">
-						<text class="cell-icon"><text class="iconfont" :class="item.icon"></text></text>
-						<text class="cell-tit">{{item.name}}</text>
-						<text class="cell-more iconfont icon-xiayibu"></text>
-					</view>
-				</view>
-				<view class="list-cell-item">
-					<view class="list-cell" hover-class="cell-hover" :hover-stay-time="50">
-						<text class="cell-icon"><text class="iconfont icon-lianxiwomen"></text></text>
-						<text class="cell-tit">联系我们</text>
-						<text class="cell-more" @click="toPhone">{{ contactNumber }}</text>
-					</view>
-					<view class="list-cell" @click="this.$api.navigateTo('/pages/user/about/about')" hover-class="cell-hover" :hover-stay-time="50">
-						<text class="cell-icon"><text class="iconfont icon-guanyuwomen"></text></text>
-						<text class="cell-tit">关于我们</text>
-						<text class="cell-more iconfont icon-xiayibu"></text>
-					</view>
-					<view class="list-cell last" @click="this.$api.navigateTo('/h5/pages/article/page?linkType=99')" hover-class="cell-hover" :hover-stay-time="50">
-						<text class="cell-icon"><text class="iconfont icon-bangzhuzhongxin"></text></text>
-						<text class="cell-tit">帮助中心</text>
-						<text class="cell-more iconfont icon-xiayibu"></text>
-					</view>
-				</view>	
-			</view>
-		</view>	
-	</view>
-</template>
-<script>
-	import authorize from '@/common/config/authorize.js'
-	import uniBadge from '@/components/uni-badge/uni-badge.vue'
-	import { mapState,mapMutations } from 'vuex'
-	import { userInfoLogin } from "@/services/use.js"
-	
-	export default{
-		components: {
-			uniBadge,
-		},
-		data() {
-			return{	
-				nvabarData: {//顶部自定义导航
-					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
-					showSearch: 0,
-					title: '账户中心', // 导航栏 中间的标题
-					haveBack:false,
-					textLeft:this.$store.state.isIphone,
-					textColor:'#FFFFFF',
-					bgColor:''
-				},
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				StatusBar: this.StatusBar,
-				defalutLogo:'https://static.caimei365.com/app/img/icon/logo@3x.png',
-				bgImgUrl:'https://img.caimei365.com/group1/M00/03/B0/Cmis217Z_i6ASHobAAhl69yz3SM078.png',
-				name:'这里是供应商的名字',
-				headpic:'',
-				userId:'',
-				shopID:0,
-				skeletonShow:true,
-				contactNumber:0,
-				orderNum:0,//机构自主下单订单数
-				allNum:0,//全部商品
-				upNum:0, 	//已上架
-				downNum:0, //已下架
-				firstList:[
-					{name:'运营人员管理',path:'/supplier/pages/user/operator/list',icon:'icon-yunyingrenyuanguanli'},
-					{name:'我的资料',path:'/supplier/pages/user/information',icon:'icon-wodeziliao'},
-					{name:'账户设置',path:'/supplier/pages/user/setting/setting',icon:'icon-zhanghushezhi'},
-				]
-			}
-		},
-		created() {
-			this.initData()
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额
-				return Number(text).toFixed(2);
-			},
-			BadgeType(n){
-				let num ='';
-				if( n>999 ){ num = '999+' } else{ num = n;}
-				return num;
-			},
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo'])
-		},
-		methods:{
-			...mapMutations(['login','logout']),
-			initData(){
-				authorize.getCode('weixin').then(wechatcode =>{// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
-					authorize.getUserInfo('weixin').then(wxResponse =>{
-						userInfoLogin({code:wechatcode,encryptedData:wxResponse.encryptedData,iv:wxResponse.iv}).then(response =>{
-							this.$store.commit('updateStatus',response.data)
-							this.login(response.data);
-							uni.setStorageSync('token',response.data.token)
-							uni.removeStorageSync('sessionid')
-							uni.setStorageSync('sessionid','JSESSIONID='+response.data.sessionId)
-							this.GetHomePageData()
-							this.getPhone()
-						}).catch(response =>{
-							this.logout()
-							uni.removeStorageSync('sessionid')
-							uni.setStorageSync('sessionid','JSESSIONID='+response.data)
-							this.$store.commit('updateStatus',response.data)
-							// this.$api.navigateTo('/seller/pages/login/login')
-						})
-					})
-				})
-			},
-			GetHomePageData(){
-				this.$api.getStorage().then((resolve) =>{
-					this.userId = resolve.userID
-					this.ShopService.GetHomePageData({userId:this.userId}).then(response =>{
-						let data = response.data
-						this.name = data.shop.name 	//协销名称
-						this.shopID = data.shop.shopID 	//供应商ID
-						this.headpic = data.shop.logo //会所头像
-						this.allNum = data.allNum	//全部商品
-						this.upNum = data.upNum 	//已上架
-						this.downNum = data.downNum //已下架
-						this.skeletonShow = false;
-					}).catch(error =>{
-						this.$util.msg(error.msg,2000)
-					})
-				})	
-			},
-			getPhone(){
-				this.CommonService.QueryAfterSale().then(response =>{
-					this.contactNumber = response.data.contactNumber
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
-				})
-			},
-			toPhone(){
-				uni.makePhoneCall({
-				    phoneNumber:this.contactNumber //仅为示例
-				});
-			},
-			navigator(url){
-				this.$api.navigateTo(url)
-			},			
-			onPullDownRefresh() {//下拉刷新
-				this.initData()
-				uni.stopPullDownRefresh()
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	@import "@/uni.scss";
-	page{
-		background-color: #F7F7F7;
-	}
-	.user{
-		width: 100%;
-		height: 100%;
-		position:relative;
-		background: rgba(247, 247, 247, 1);
-	}	
-	.header{
-		width: 100%;
-		position: relative;
-		background-size: cover;
-		border-radius: 0 0 100rpx 100rpx;
-	}	
-	.header-main{
-		width: 702rpx;
-		height: 130rpx;
-		padding: 12rpx 24rpx;
-		display: flex;
-		.header-text{
-			flex: 8;
-			display: flex;
-			flex-direction: column;
-			padding: 15rpx 0;
-			.user-item{
-				flex: 1;
-				height: 50rpx;
-				line-height: 50rpx;
-				.u-tips{
-					display: inline-block;
-					float: left;
-					width: 98rpx;
-					height: 30rpx;
-					background: #FFFFFF;
-					border-radius: 16rpx;
-					line-height: 30rpx;
-					font-size: $font-size-20;
-					text-align: center;
-					color: $color-system;
-					margin-left: 10rpx;
-					margin-top: 12rpx;
-				}
-				.icon-jinrudianpu{
-					font-size: $font-size-26;
-					line-height: 50rpx;
-					color: #FFFFFF;
-					text-align: left;
-					margin-left: 12rpx;
-				}
-				.u-shop{
-					font-size: $font-size-28;
-					line-height: 50rpx;
-					color: #FFFFFF;
-					text-align: left;
-				}
-				.u-viptips{
-					display: inline-block;
-					float: left;
-					width: 98rpx;
-					height: 30rpx;
-					border: 1px solid #FFE600;
-					background: linear-gradient(128deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
-					border-radius: 16rpx;
-					line-height: 30rpx;
-					font-size: $font-size-20;
-					text-align: center;
-					color: #FFE600;
-					margin-left: 10rpx;
-					margin-top: 17rpx;
-				}
-				.u-h1{
-					float: left;
-					font-size: $font-size-30;
-					color: #FFFFFF;
-					text-align: left;
-					-o-text-overflow: ellipsis;
-					text-overflow: ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 1;
-					overflow: hidden;
-				}
-				.u-p{
-					font-size: $font-size-24;
-					line-height: 50rpx;
-					color: #FFFFFF;
-					text-align: left;
-				}
-			}
-		}
-		.header-icon{
-			flex: 2;
-			margin-right: 20rpx;
-			image{
-				float: right;
-				width: 128rpx;
-				height: 128rpx;
-				border-radius: 100%;
-				border: 2rpx solid #FFFFFF;
-			}
-		}
-	}
-	.header-main-none{
-		width: 702rpx;
-		height: 152rpx;
-		padding: 0 24rpx;
-		display: flex;
-		.header-text{
-			flex: 8;
-			display: flex;
-			flex-direction: column;
-			.user-item{
-				flex: 1;
-				height: 50rpx;
-				line-height: 50rpx;
-				.line{
-					margin: 0 10rpx;
-				}
-				.u-h1{
-					float: left;
-					font-size: $font-size-36;
-					color: #FFFFFF;
-					text-align: left;
-					-o-text-overflow: ellipsis;
-					text-overflow: ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 1;
-					overflow: hidden;
-				}
-				.u-p{
-					font-size: $font-size-24;
-					line-height: 50rpx;
-					color: #EFEFEF;
-					text-align: left;
-				}
-				.u-btn{
-					width: 160rpx;
-					height: 40rpx;
-					background: rgba(255,255,255,.5);
-					border-radius: 5rpx;
-					line-height: 40rpx;
-					text-align: center;
-					font-size: $font-size-24;
-					color: #FFFFFF;
-					display: block;
-					margin-top: 5rpx;
-					padding-left: 6rpx;
-					.icon-xiangyouhuabeifen{
-						font-size: $font-size-24;
-					}
-				}
-			}
-		}
-		.header-icon{
-			flex: 2;
-			display: flex;
-			margin-right: 20rpx;
-			align-items: center;
-			justify-content: center;
-			image{
-				float: right;
-				width: 128rpx;
-				height: 128rpx;
-				border-radius: 100%;
-				border: 2rpx solid #FFFFFF;
-			}
-		}
-	}
-	.user-order{
-		width: 654rpx;
-		height: auto;
-		padding: 0 24rpx;
-		background-color: $bg-color;
-		margin-bottom: 24rpx;
-		position: absolute;
-		bottom: -170rpx;
-		left: 24rpx;
-		border-radius: 16rpx;
-	}	
-	.tab-title{
-		font-size: $font-size-30;
-		line-height: 80rpx;
-		color: #333333;
-		text-align:left;
-		position: relative;
-		.cell-tit{
-			font-size: $font-size-30;
-			color: $text-color;
-		}
-	}
-	.order-section{
-		display: flex;
-		justify-content: space-around;
-		align-items: center;
-		flex-wrap:wrap;
-		height: 99rpx;
-		padding: 24rpx 0;
-	}
-	.order-item{
-		flex:1;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		position: relative;
-		.order-icon{
-			width: 52rpx;
-			height: 52rpx;
-			position: relative;
-			.iconfont{
-				line-height: 52rpx;
-				font-size: $font-size-48;
-				color: #ff7a51;
-			}
-			.icon-num{
-				position: absolute;
-				right:-24rpx;
-				top: -9rpx;
-			}
-			.icon-num.goleft{
-				right: -12rpx;
-			}
-		}
-		.order-t{
-			line-height: 50rpx;
-			font-size: $font-size-24;
-			color: $text-color;
-		}
-	}
-	.foot-list{
-		width: 702rpx;
-		padding: 0 24rpx;
-		padding-top: 168rpx;
-	}	
-	.list-cell-item{
-		width: 654rpx;
-		height: auto;
-		margin-bottom: 24rpx;
-		padding:0 24rpx;
-		background: $bg-color;
-		border-radius: 20rpx;
-	}
-	.list-cell{
-		display:flex;
-		width: 100%;
-		align-items:baseline;
-		line-height:100rpx;
-		position:relative;
-		background: $bg-color;
-		justify-content: center;
-		border-bottom: 1px solid #EBEBEB;
-		&:last-child{
-			border-bottom: none;
-		}
-		&.cell-hover{
-			background:#fafafa;
-		}
-		.cell-icon{
-			width: 60rpx;
-			height: 100rpx;
-			line-height: 100rpx;
-			text-align: center;
-			.iconfont{
-				font-size: $font-size-34;
-				color: #666666;
-			}
-		}
-		.cell-more{
-			align-self: baseline;
-			font-size:$font-size-28;
-			color:#666666;
-			.txt{
-				color: #FB4343;
-				padding-right: 10rpx;
-			}
-		}
-		.cell-tit{
-			flex: 1;
-			font-size: $font-size-28;
-			color: #666666;
-			margin-right:10rpx;
-		}
-		.cell-tip{
-			font-size: $font-size-28;
-			color: $text-color;
-		}
-	}	
-	.list-cell.last{
-		border-bottom: none;
-	}
-	.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;
-	}
-</style>