Ver código fonte

commit-首页

zhengjinyi 4 anos atrás
pai
commit
736da48103

+ 0 - 17
api/use.js

@@ -116,23 +116,6 @@ export function organizationUpdate(params) {
 		})
 	})
 }
-/**
- *机构登录
- * @param mobileOrEmail 邮箱或手机
- * @param password	密码
- * @param source 来源 PC与小程序传:'www'crm就传'crm'
- */
-export function organizationLogin(params) {
-	return new Promise(function(resolve,reject) {
-		request.post('/user/login',params,true, res => {
-			if(res.code == 0){
-				resolve(res)
-			}else{
-				reject(res)
-			}
-		})
-	})
-}		
 /**
  *绑定邮箱
  */

+ 2 - 2
common/config/config.js

@@ -2,10 +2,10 @@ let URL_CONFIG = ""
 if(process.env.NODE_ENV === 'development'){
     // 开发环境
 	// URL_CONFIG = 'http://192.168.2.68:8008'	 //涛涛联调地址
-	// URL_CONFIG = 'http://192.168.2.67:8008'	 //裴裴联调地址
+	URL_CONFIG = 'http://192.168.2.67:8008'	 //裴裴联调地址
 	// URL_CONFIG = 'http://192.168.2.75:8008'	 //超超联调地址
 	// URL_CONFIG = 'https://spi-b.caimei365.com'	 //采美测试地址
-	URL_CONFIG = 'https://spi.caimei365.com'
+	// URL_CONFIG = 'https://spi.caimei365.com'
 }else{
     // 生产环境
     URL_CONFIG = 'https://spi.caimei365.com'

+ 41 - 35
components/cm-module/homeIndex/hotProduct.vue

@@ -3,7 +3,7 @@
 		<view class="container clearfix">
 			<view class="title">推荐专区</view>
 			<view class="recommend-list">
-				<swiper class="tui-banner-swiper" :autoplay="false" :interval="5000" :duration="500" :circular="true" @change="swiperChange">
+				<swiper class="tui-banner-swiper" :autoplay="true" :interval="5000" :duration="500" :circular="true" @change="swiperChange">
 					<swiper-item v-for="(product,index) in hotProductList" :key="index">
 						<view class="floor-item" v-for="(item, idx) in product" :key="idx" @click.stop="navToDetailPage(item.productID)">
 							<image class="tui-skeleton-fillet" :src="item.mainImage" mode="aspectFill"></image>
@@ -11,17 +11,6 @@
 								<view class="title tui-skeleton-rect">
 									<text class="mclap">{{item.name}}</text>
 								</view>
-								<view class="floor-item-act">
-									<template v-if="item.actStatus==1">
-										<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-											{{item.promotions.name}}<text v-if="hasLogin && item.price1TextFlag != '1'">:¥{{item.price | NumFormat}}</text>
-										</view>
-										<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
-									</template>
-									<template v-if="item.actStatus ==0  &&  item.ladderPriceFlag==1">
-										<view class="floor-tags">阶梯价格</view>	
-									</template>	
-								</view>
 								<view class="" v-if="hasLogin">
 									<view v-if="userIdentity == 4">
 										<view class="title-none" v-show="item.price1TextFlag == '1'">
@@ -42,6 +31,15 @@
 										<view class="price tui-skeleton-rect" v-else :class="PromotionsFormat(item.promotions) ? 'none' : ''">
 											<text class="p sm">¥</text>
 											<text class="p big">{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price ) | NumFormat}}</text>
+											<template v-if="item.actStatus==1">
+												<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
+													{{item.promotions.name}}<text v-if="hasLogin && item.price1TextFlag != '1'">:¥{{item.price | NumFormat}}</text>
+												</view>
+												<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+											</template>
+											<template v-if="item.actStatus ==0  &&  item.ladderPriceFlag==1">
+												<view class="floor-tags">阶梯价格</view>	
+											</template>
 										</view>
 									</view>
 								</view>
@@ -49,6 +47,15 @@
 									<view class="p-stars">
 										<text class="p-no">¥</text>
 										<uni-stars :stars="parseInt(item.price1Grade)" :fontSize="36" :widthInfo="180"></uni-stars>
+										<template v-if="item.actStatus==1">
+											<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
+												{{item.promotions.name}}<text v-if="hasLogin && item.price1TextFlag != '1'">:¥{{item.price | NumFormat}}</text>
+											</view>
+											<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
+										</template>
+										<template v-if="item.actStatus ==0  &&  item.ladderPriceFlag==1">
+											<view class="floor-tags">阶梯价格</view>	
+										</template>
 									</view>
 								</view>	
 							</view>
@@ -137,6 +144,7 @@
 			height: 80rpx;
 			line-height: 80rpx;
 			text-align: left;
+			font-weight: bold;
 			font-size: $font-size-34;
 			color: $text-color;
 			padding: 0 24rpx;
@@ -144,37 +152,36 @@
 		}
 		.recommend-list{
 			width: 100%;
-			height: auto;
+			height: 1070rpx;
 			position: relative;
 			padding-bottom: 20rpx;
 			.tui-banner-swiper {
 				width: 702rpx;
 				margin: 0 auto;
 				background: #F7F7F7;
-				padding: 20rpx 24rpx;
-				height: 900rpx;
+				padding: 0 24rpx 0 24rpx;
+				height: 1070rpx;
 				overflow: hidden;
 				transform: translateY(0);
 				.floor-item{
 					width: 341rpx;
-					height: 568rpx;
+					height: 502rpx;
 					margin-right: 20rpx;
 					font-size: $font-size-24;
 					color: $text-color;
 					background: #FFFFFF;
 					line-height: 36rpx;
-					border-radius: 20rpx;
+					border-radius: 2rpx;
 					margin-bottom: 20rpx;
 					float: left;
 					box-sizing: border-box;
-					padding-bottom: 16rpx;
 					&:nth-child(2n){
 						margin-right: 0;
 					}
 					image{
 						width: 341rpx;
 						height: 341rpx;
-						border-radius: 20rpx 20rpx 0 0;
+						border-radius: 2rpx 2rpx 0 0;
 						display: block;
 						margin-bottom: 20rpx;
 					}
@@ -190,18 +197,18 @@
 						box-sizing: border-box;
 						padding: 16rpx 0;
 						margin-top: 8rpx;
-						.floor-tags{
-							float: left;
-							height: 36rpx;
-							border-radius: 4rpx;
-							background-color: rgba(225, 86, 22, 0.1);
-							line-height: 36rpx;
-							color: $color-system;
-							text-align: center;
-							display: inline-block;
-							padding:0 16rpx;
-							font-size: $font-size-20;
-						}
+					}
+					.floor-tags{
+						float: left;
+						height: 36rpx;
+						border-radius: 4rpx;
+						background-color: rgba(225, 86, 22, 0.1);
+						line-height: 36rpx;
+						color: $color-system;
+						text-align: center;
+						display: inline-block;
+						padding:0 16rpx;
+						font-size: $font-size-20;
 					}
 					.title-none{
 						font-size: $font-size-26;
@@ -273,7 +280,7 @@
 		}	
 		.swiper__recommenddots-box{
 			position: absolute;
-			bottom: -20rpx;
+			bottom: 0;
 			left: 0;
 			right: 0;
 			/* #ifndef APP-NVUE */
@@ -284,19 +291,18 @@
 			justify-content: center;
 			align-items: center;
 			height: 60rpx;
-			background: #FFFFFF;
 			.swiper__dots-item{
 				width: 8rpx;
 				height: 8rpx;
 				border-radius: 100%;
 				margin-left: 6px;
-				background-color:rgba(0,0,0,.3);
+				background-color:rgba(225,86,22,.3);
 			}
 			.swiper__dots-long{
 				width: 32rpx;
 				height: 8rpx;
 				border-radius: 4rpx;
-				background-color: #000;
+				background-color: #e15616;
 				transition: all 0.4s;
 			}
 		}

+ 576 - 0
components/cm-module/homeIndex/pagesProduct.vue

@@ -0,0 +1,576 @@
+<template name="pagesProduct">
+	<view>
+		<view class="container-pages clearfix">
+			<view class="tui-block__box tui-mtop__10" v-for="(item, index) in pagesProductList" :key="index">
+				<view class="tui-group-name" >
+					<view class="tui-group-title">
+						<text>{{ item.title }}</text>
+					</view>
+					<view class="tui-sub__desc">{{ item.detail }}</view>
+				</view>
+				<scroll-view scroll-x>
+					<view class="tui-goods__list">
+						<view class="tui-goods__item" @tap="seckillList(3)" v-for="(floor, index) in item.floorData" :key="index">
+							<view class="tui-goods__imgbox">
+								<image :src="floor.image" mode="widthFix" class="tui-goods__img"></image>
+							</view>
+							<view class="tui-pri__box">
+								<view class="tui-sale-pri">{{ floor.title }}</view>
+							</view>
+						</view>
+					</view>
+				</scroll-view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import { mapState,mapMutations} from 'vuex';
+	export default{
+		name:"pagesProduct",
+		props:{
+			list:{
+				type:Array
+			},
+			userIdentity:{
+				type:Number
+			}
+		},
+		data() {
+			return{
+				pagesProductList:[
+					{
+						"id":6,
+						"type":null,
+						"title":"品牌仪器",
+						"detail":"科医人 赛诺龙 路创丽 Jeisys 华熙生物",
+						"link":null,
+						"subFloors":null,
+						"floorData":[
+							{
+								"id":19,
+								"status":null,
+								"title":"脸部抗衰仪器系列",
+								"detail":null,
+								"link":"http://www.caimei365.com/cmpage/info-1-22.html",
+								"image":"https://img.caimei365.com/group1/M00/03/C2/Cmis2F-b03iAbm6AAAB-3AQ2ab4270.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":23,
+								"status":null,
+								"title":"脱毛嫩肤仪器系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/cmpage/info-1-20.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9R9kaAE5-iAACBMZJBjPU450.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":22,
+								"status":null,
+								"title":"瘦身塑形仪器系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/cmpage/info-1-49.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B2/Cmis2F9R9HeAP5lxAACLzIoow4k828.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":56,
+								"status":null,
+								"title":"激光仪器系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/cmpage/info-1-228.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B2/Cmis2F9R9GuAQslKAABsHxQEqMs728.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":55,
+								"status":null,
+								"title":"光子嫩肤仪器系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/cmpage/info-1-227.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9R9IWAPcPfAACGRRPiWNI482.jpg",
+								"beginTime":null,
+								"endTime":null
+							}
+						]
+					},
+					{
+						"id":10,
+						"type":null,
+						"title":"科学护肤品",
+						"detail":"敏感肌  痘痘肌  黑色素  多效修复  净化角质",
+						"link":null,
+						"subFloors":null,
+						"floorData":[
+							{
+								"id":45,
+								"status":null,
+								"title":"华熙米蓓尔皮肤护理系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/product/search/list/0-0-0-1-0.html?wd=%25E7%25B1%25B3%25E8%2593%2593%25E5%25B0%2594&amp;searchTypeID=0",
+								"image":"https://img.caimei365.com/group1/M00/03/B2/Cmis2F9R6kGAedqnAAEFz7A20Dk764.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":26,
+								"status":null,
+								"title":"优斐斯液体敷料系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/supplier/prolist-1285.html?brandID=67",
+								"image":"https://img.caimei365.com/group1/M00/03/B2/Cmis2F9R6fiALawUAAC9Gw_OU98595.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":29,
+								"status":null,
+								"title":"肌本演绎舒缓系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/web/supplier/view/supplierHomePage.jsp?shopId=1248",
+								"image":"https://img.caimei365.com/group1/M00/03/B2/Cmis2F9R6bmAaIdDAAD3eoag-y4911.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":57,
+								"status":null,
+								"title":"上海汇融舜华颜冻干安瓶",
+								"detail":null,
+								"link":"https://www.caimei365.com/web/supplier/view/supplierHomePage.jsp?shopId=1259",
+								"image":"https://img.caimei365.com/group1/M00/03/B2/Cmis2F9R6ZSACbCsAACzgFjQRcs111.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":62,
+								"status":null,
+								"title":"韩国恩盛VITAL水光面膜",
+								"detail":null,
+								"link":"https://www.caimei365.com/product-3893.html",
+								"image":"https://img.caimei365.com/group1/M00/03/D1/Cmis21-aHICADWnZAAGWiXX_syA466.jpg",
+								"beginTime":null,
+								"endTime":null
+							}
+						]
+					},
+					{
+						"id":11,
+						"type":null,
+						"title":"高端院用产品",
+						"detail":"皮肤护理  紧致抗衰  玻尿酸补水嫩肤 ",
+						"link":null,
+						"subFloors":null,
+						"floorData":[
+							{
+								"id":32,
+								"status":null,
+								"title":"德玛莉肌活系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/supplier/prolist-1267.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B4/Cmis2F9XMo2AELI3AAO-S150ml8816.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":58,
+								"status":null,
+								"title":"美生美稚龄长效童颜",
+								"detail":null,
+								"link":"https://www.caimei365.com/product-3669.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B2/Cmis2F9R6tqAb9oFAAEnv5BPpTA032.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":61,
+								"status":null,
+								"title":"BIOLINE高端护肤系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/supplier/index.html?id=1225",
+								"image":"https://img.caimei365.com/group1/M00/03/BF/Cmis2F-Gcn6AKqTSAAEhEKsbcVs589.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":31,
+								"status":null,
+								"title":"肌本演绎高端护肤系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/web/supplier/view/supplierHomePage.jsp?shopId=1248",
+								"image":"https://img.caimei365.com/group1/M00/03/B2/Cmis2F9R6qyAB2CTAAC4XyL7zAg816.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":51,
+								"status":null,
+								"title":"优斐斯护肤系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/supplier/prolist-1285.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B2/Cmis2F9R6qOAREllAADzyGgdFoY829.jpg",
+								"beginTime":null,
+								"endTime":null
+							}
+						]
+					},
+					{
+						"id":4,
+						"type":null,
+						"title":"术后修护",
+						"detail":"皮肤屏障修复 净肤  美白 私密养护",
+						"link":null,
+						"subFloors":null,
+						"floorData":[
+							{
+								"id":60,
+								"status":null,
+								"title":"肌本演绎修护系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/supplier/index.html?id=1248",
+								"image":"https://img.caimei365.com/group1/M00/03/BF/Cmis2F-GcJCAWAqdAB7ucSzYvvA841.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":59,
+								"status":null,
+								"title":"优斐斯修护系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/supplier/index.html?id=1285",
+								"image":"https://img.caimei365.com/group1/M00/03/BF/Cmis2F-GcFqAXiioAAFxGLPuidY392.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":36,
+								"status":null,
+								"title":"伯纳赫点斗修护系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/cmpage/info-1-132.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9R_5eAOfXIAADU3Nytmv0342.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":47,
+								"status":null,
+								"title":"Reyoungel瑞漾修护系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/supplier/prolist-1211.html?brandID=0",
+								"image":"https://img.caimei365.com/group1/M00/03/3C/Cmis21y-xz2AHSu0AAGcagKhNL0844.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":53,
+								"status":null,
+								"title":"UPLANT宫龄修护系列",
+								"detail":null,
+								"link":"https://www.caimei365.com/supplier/prolist-1247.html",
+								"image":"https://img.caimei365.com/group1/M00/03/5C/Cmis211CTB2ARsSXAACVJxRbLsc158.jpg",
+								"beginTime":null,
+								"endTime":null
+							}
+						]
+					},
+					{
+						"id":12,
+						"type":null,
+						"title":"导入液 针剂 ",
+						"detail":"水光导入液 塑形针剂 配套耗材",
+						"link":null,
+						"subFloors":null,
+						"floorData":[
+							{
+								"id":50,
+								"status":null,
+								"title":"青春抗衰动能素",
+								"detail":null,
+								"link":"https://www.caimei365.com/cmpage/info-1-182.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9R-XKAGQppAADFs1u-igo687.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":39,
+								"status":null,
+								"title":"无针水光导入液",
+								"detail":null,
+								"link":"https://www.caimei365.com/cmpage/info-1-138.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9R-WmAJ48rAAChfUHq0jE879.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":43,
+								"status":null,
+								"title":"补水 塑形针剂",
+								"detail":null,
+								"link":"https://www.caimei365.com/cmpage/info-1-141.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9R-V2ADyOEAAEnv5BPpTA478.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":40,
+								"status":null,
+								"title":"小气泡溶液",
+								"detail":null,
+								"link":"https://www.caimei365.com/cmpage/info-1-139.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9R-VCACzDVAADJ7-QlA04237.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":42,
+								"status":null,
+								"title":"治疗头",
+								"detail":null,
+								"link":"https://www.caimei365.com/cmpage/info-1-142.html",
+								"image":"https://img.caimei365.com/group1/M00/01/17/Cmis21vESJGAJ-L8AACdGTWUK_Y617.jpg",
+								"beginTime":null,
+								"endTime":null
+							}
+						]
+					},
+					{
+						"id":3,
+						"type":null,
+						"title":"项目仪器",
+						"detail":"紧致抗衰 私密养护 美白祛斑 减脂塑形",
+						"link":null,
+						"subFloors":null,
+						"floorData":[
+							{
+								"id":11,
+								"status":null,
+								"title":"除皱抗衰项目系列",
+								"detail":null,
+								"link":"http://www.caimei365.com/cmpage/info-1-39.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9SAH6ASXTuAAB-HRqRRMI866.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":10,
+								"status":null,
+								"title":"美白祛斑项目系列",
+								"detail":null,
+								"link":"http://www.caimei365.com/cmpage/info-1-38.html",
+								"image":"https://img.caimei365.com/group1/M00/03/9A/Cmis2F8H3g6AZrebAAB-P2l3KJQ806.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":9,
+								"status":null,
+								"title":"祛妊娠纹项目系列",
+								"detail":null,
+								"link":"http://www.caimei365.com/cmpage/info-1-40.html",
+								"image":"https://img.caimei365.com/group1/M00/03/9A/Cmis2F8H3gWASntuAADIG70r2WM840.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":7,
+								"status":null,
+								"title":"瘦身塑形项目系列",
+								"detail":null,
+								"link":"http://www.caimei365.com/cmpage/info-1-7.html",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9SDIyADjOuAAChTjRFOmI030.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":6,
+								"status":null,
+								"title":"私密养护项目系列",
+								"detail":null,
+								"link":"http://www.caimei365.com/cmpage/info-1-41.html",
+								"image":"https://img.caimei365.com/group1/M00/03/9A/Cmis2F8H3fOAE8UeAABaHH4JaDo889.jpg",
+								"beginTime":null,
+								"endTime":null
+							}
+						]
+					},
+					{
+						"id":5,
+						"type":null,
+						"title":"会所常用品",
+						"detail":"面膜粉 洁面巾 卸妆棉 按摩精油",
+						"link":null,
+						"subFloors":null,
+						"floorData":[
+							{
+								"id":12,
+								"status":null,
+								"title":"按摩精油",
+								"detail":null,
+								"link":"http://www.caimei365.com/product/search/list/0-0-0-1-0.html?wd=%25E6%258C%2589%25E6%2591%25A9%25E7%25B2%25BE%25E6%25B2%25B9&amp;searchTypeID=0",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9SCp6AbxEmAACsLXphp3o046.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":13,
+								"status":null,
+								"title":"软膜粉",
+								"detail":null,
+								"link":"https://www.caimei365.com/product/search/list/0-0-0-1-0.html?wd=%2520%25E8%25BD%25AF%25E8%2586%259C%25E7%25B2%2589&amp;searchTypeID=0",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9SCpiALQVKAADRAwxVJyU552.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":15,
+								"status":null,
+								"title":"卸妆棉",
+								"detail":null,
+								"link":"http://www.caimei365.com/product/search/list/0-0-0-1-0.html?wd=%25E5%258C%2596%25E5%25A6%2586%25E6%25A3%2589&amp;searchTypeID=0",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9SCpGAAnfkAACLsfmvAUM980.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":14,
+								"status":null,
+								"title":"无纺布制品",
+								"detail":null,
+								"link":"http://www.caimei365.com/product/search/list/0-0-0-1-0.html?wd=%25E6%2597%25A0%25E7%25BA%25BA%25E5%25B8%2583&amp;searchTypeID=0",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9SCouABo2yAABoFVyTJ3A443.jpg",
+								"beginTime":null,
+								"endTime":null
+							},
+							{
+								"id":8,
+								"status":null,
+								"title":"洁面巾",
+								"detail":null,
+								"link":"http://www.caimei365.com/product/search/list/0-0-0-1-0.html?wd=%25E6%25B4%2581%25E9%259D%25A2%25E5%25B7%25BE&amp;searchTypeID=0",
+								"image":"https://img.caimei365.com/group1/M00/03/B3/Cmis2F9SCoaAf0xsAADEJHhV2oM348.jpg",
+								"beginTime":null,
+								"endTime":null
+							}
+						]
+					}
+				],
+			}
+		},
+		filters: {
			NumFormat:function(text) {//处理金额
				return Number(text).toFixed(2);
			},
		},
+		created(){
+			this.initData(this.list)
+		},
+		computed: {
+			...mapState(['hasLogin','userInfo','isActivity'])
+		},
+		methods:{
+			initData(res){
+				
+				console.log(this.hotProductList)
+			},
+			navToDetailPage(id) {//跳转商品详情页
+				this.$api.navigateTo(`/pages/goods/product?id=${id}`)
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.container-pages{
+		width: 100%;
+		height: auto;
+		float: left;
+		background-color: #F7F7F7;
+		.tui-block__box {
+			width: 100%;
+			padding: 0 25rpx 25rpx;
+			box-sizing: border-box;
+			background-color: #F7F7F7;
+			border-radius: 20rpx;
+			overflow: hidden;
+		}
+		.tui-mtop__10 {
+			margin-top: 10rpx;
+		}
+		.tui-group-name {
+			width: 100%;
+			height: 92rpx;
+			padding: 20rpx 0;
+		}
+		.tui-group-title{
+			width: 100%;
+			float: left;
+			font-size: 34rpx;
+			font-weight: bold;
+			text-align: left;
+			line-height: 49rpx;
+			color: #333;
+		}
+		.tui-sub__desc {
+			width: 100%;
+			float: left;
+			color: rgba(153,153,153,0.9);
+			font-size: $font-size-26;
+		}
+		.tui-goods__list {
+			display: flex;
+			align-items: center;
+		}
+		.tui-goods__item {
+			background-color: #fff;
+			width: 200rpx;
+			height: 290rpx;
+			box-sizing: border-box;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			flex-direction: column;
+			flex-shrink: 0;
+			margin-right: 12rpx;
+			padding: 0 9rpx;
+		}
+		.tui-goods__imgbox {
+			width: 182rpx;
+			height: 182rpx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			box-sizing: border-box;
+		}
+		.tui-goods__img {
+			max-width: 182rpx;
+			max-height: 182rpx;
+			display: block;
+			border-radius: 10rpx;
+		}
+		.tui-pri__box {
+			max-width: 182rpx;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+		}
+		.tui-sale-pri {
+			display: flex;
+			align-items: flex-end;
+			padding: 10rpx 0 8rpx;
+			box-sizing: border-box;
+			font-size: 26rpx;
+			line-height: 40rpx;
+			color: #666666;
+			white-space: normal;
+			word-break: break-all;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			display: -webkit-box;
+			-webkit-box-orient: vertical;
+			-webkit-line-clamp: 2;
+		}
+	}	
+</style>

+ 180 - 0
components/cm-module/homeIndex/specialProduct.vue

@@ -0,0 +1,180 @@
+<template>
+	<view class="special-content clearfix">
+		<view class="swiper-banner-title">商品专题</view>
+		<view class="swiper-banner-box" >
+			<swiper 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 listArray" :key="index">
+					<image :src="item.image" class="tui-slide-image" mode="scaleToFill"/>
+				</swiper-item>
+			</swiper>
+			<view class="swiper__dots-box" v-if="listArray.length > 1">
+				<view v-for="(item,idx) in listArray" 
+					  :key="idx" 
+					  :class="[idx===current?'swiper__dots-long':'none']" 
+					  :data-index="current" class="swiper__dots-item">
+				</view>	  
+			</view>
+		</view>
+		<view class="swiper-goods-box">
+			<view class="goods-box-item" v-for="(item,index) in goodArray" :key="index">
+				<image :src="item.image" mode="" class="box-item-image"></image>
+				<view class="box-item-mask">{{ item.title }}</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		name:"specialContent",
+		props:{
+			list:{
+				type:Array
+			}
+		},
+		data() {
+			return{
+				current:0,
+				listArray:[
+					{image:'https://m.360buyimg.com/mobilecms/s700x280_jfs/t1/114550/12/7437/102254/5ec3971fE78db18f4/438d4775f9d653ee.jpg!q70.jpg.dpg'},
+					{image:'https://m.360buyimg.com/mobilecms/s700x280_jfs/t1/126187/19/17323/149042/5fa13ef1E6bc65f5b/8fbecafdbf0e4736.jpg!q70.jpg.dpg'},
+					{image:'https://m.360buyimg.com/mobilecms/s700x280_jfs/t1/126522/38/16493/151268/5f9940bfE9bf4ce43/b9a09e36102a9667.jpg!q70.jpg.dpg'}
+				],
+				goodArray:[
+					{image:'https://img.caimei365.com/group1/M00/03/A2/Cmis2F8VTz2AIH2JAAIDFdpGDsE352.jpg',title:'优斐斯术后护理产品搭配应用'},
+					{image:'https://img.caimei365.com/group1/M00/03/5B/Cmis2F1bq0yATM6SAAEcNkc0bwk054.jpg',title:'肌本演绎·动能精华素'},
+					{image:'https://img.caimei365.com/group1/M00/03/BF/Cmis2F-GZJOAdquJAADIHkLdHVE324.jpg',title:'科医人第六代王者之冠M22'},
+					{image:'https://img.caimei365.com/group1/M00/03/38/Cmis21yweGSAdSCdAADddSdkc1E158.jpg',title:'赛诺龙360'},
+				]
+			}
+		},
+		created(){
+			
+		},
+		computed: {
+	
+		},
+		methods:{
+			swiperChange(e) {//轮播图切换
+				const index = e.detail.current;
+				this.current = index;
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.special-content{
+		background-color: #F7F7F7;
+		width: 100%;
+		height: auto;
+		box-sizing: border-box;
+		padding: 0 24rpx;
+	}
+	.swiper-banner-box{
+		width: 100%;
+		height: 284rpx;
+		background:#F7F7F7;
+		position: relative;
+		background-size: cover;
+		float: left;
+		margin: 20rpx 0;
+	}	
+	.swiper-banner-title{
+		width: 100%;
+		float: left;
+		font-size: 34rpx;
+		font-weight: bold;
+		text-align: left;
+		line-height: 49rpx;
+		color: #333;
+		ackground:#F7F7F7;
+	}
+	.tui-banner-swiper {
+		width: 700rpx;
+		margin: 0 auto;
+		height: 284rpx;
+		border-radius: 2rpx;
+		overflow: hidden;
+		transform: translateY(0);
+		box-shadow:0px 3px 6px rgba(225,86,22,0.08);
+		.banner-item{
+			border-radius: 16rpx;
+		}
+		.tui-slide-image {
+			width: 100%;
+			height: 284rpx;
+			display: block;
+			border-radius: 2rpx;
+		}
+	}
+	.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;
+		}
+	}
+	.swiper-goods-box{
+		width: 100%;
+		height: auto;
+		float: left;
+		.goods-box-item{
+			width: 340rpx;
+			height: 340rpx;
+			float: left;
+			margin-right: 20rpx;
+			margin-bottom: 20rpx;
+			&:nth-child(2n){
+				margin-right: 0;
+			}
+			position: relative;
+			.box-item-image{
+				width: 340rpx;
+				height: 340rpx;
+				display: block;
+			}
+			.box-item-mask{
+				width: 100%;
+				height: 64rpx;
+				background: rgba(0,0,0,.36);
+				line-height: 64rpx;
+				font-size: $font-size-26;
+				text-align: center;
+				color: #FFFFFF;
+				position: absolute;
+				bottom: 0;
+				left: 0;
+				box-sizing: border-box;
+				padding:0 20rpx;
+				white-space: normal;
+				word-break: break-all;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				display: -webkit-box;
+				-webkit-box-orient: vertical;
+				-webkit-line-clamp: 1;
+			}
+		}
+	}
+</style>

+ 148 - 0
components/cm-module/homeIndex/supplierList.vue

@@ -0,0 +1,148 @@
+<template>
+	<view class="supplier-content clearfix">
+		<view class="tui-group-name" >
+			<view class="tui-group-title">
+				<text> 优质供应商 </text>
+			</view>
+			<view class="tui-sub__desc">采美正品联盟 质量保证</view>
+		</view>
+		<view class="swiper-goods-box">
+			<view class="goods-box-item" v-for="(item,index) in goodArray" :key="index">
+				<image :src="item.image" mode="" class="box-item-image"></image>
+				<view class="box-item-mask">{{ item.title }}</view>
+			</view>
+		</view>
+		<view class="f-text tui-skeleton-fillet">
+			<image class="logo" src="../../../static/logo-c@2x.png" mode=""></image>
+			<text class="txt"> - 采美365网 -</text>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		name:"supplierList",
+		props:{
+			list:{
+				type:Array
+			}
+		},
+		data() {
+			return{
+				goodArray:[
+					{image:'https://img.caimei365.com/group1/M00/03/A2/Cmis2F8VTz2AIH2JAAIDFdpGDsE352.jpg',title:'优斐斯术后护理产品搭配应用'},
+					{image:'https://img.caimei365.com/group1/M00/03/5B/Cmis2F1bq0yATM6SAAEcNkc0bwk054.jpg',title:'肌本演绎·动能精华素'},
+					{image:'https://img.caimei365.com/group1/M00/03/BF/Cmis2F-GZJOAdquJAADIHkLdHVE324.jpg',title:'科医人第六代王者之冠M22'},
+					{image:'https://img.caimei365.com/group1/M00/03/38/Cmis21yweGSAdSCdAADddSdkc1E158.jpg',title:'赛诺龙360'},
+					{image:'https://img.caimei365.com/group1/M00/03/38/Cmis21yweGSAdSCdAADddSdkc1E158.jpg',title:'赛诺龙360'},
+					{image:'https://img.caimei365.com/group1/M00/03/38/Cmis21yweGSAdSCdAADddSdkc1E158.jpg',title:'赛诺龙360'},
+					{image:'https://img.caimei365.com/group1/M00/03/38/Cmis21yweGSAdSCdAADddSdkc1E158.jpg',title:'赛诺龙360'},
+					{image:'https://img.caimei365.com/group1/M00/03/38/Cmis21yweGSAdSCdAADddSdkc1E158.jpg',title:'赛诺龙360'},
+					{image:'https://img.caimei365.com/group1/M00/03/38/Cmis21yweGSAdSCdAADddSdkc1E158.jpg',title:'赛诺龙360'},
+					{image:'https://img.caimei365.com/group1/M00/03/38/Cmis21yweGSAdSCdAADddSdkc1E158.jpg',title:'赛诺龙360'},
+					{image:'https://img.caimei365.com/group1/M00/03/38/Cmis21yweGSAdSCdAADddSdkc1E158.jpg',title:'赛诺龙360'},
+					{image:'https://img.caimei365.com/group1/M00/03/38/Cmis21yweGSAdSCdAADddSdkc1E158.jpg',title:'赛诺龙360'},
+				]
+			}
+		},
+		created(){
+			
+		},
+		computed: {
+	
+		},
+		methods:{
+			
+		}
+	}
+</script>
+
+<style lang="scss">
+	.supplier-content{
+		background-color: #F7F7F7;
+		width: 100%;
+		height: auto;
+		box-sizing: border-box;
+		padding: 0 24rpx;
+	}
+	.tui-group-name {
+		width: 100%;
+		height: 92rpx;
+		padding: 20rpx 0;
+	}
+	.tui-group-title{
+		width: 100%;
+		float: left;
+		font-size: 34rpx;
+		font-weight: bold;
+		text-align: left;
+		line-height: 49rpx;
+		color: #333;
+	}
+	.tui-sub__desc {
+		width: 100%;
+		float: left;
+		color: rgba(153,153,153,0.9);
+		font-size: $font-size-26;
+	}
+	.swiper-goods-box{
+		width: 100%;
+		height: auto;
+		float: left;
+		.goods-box-item{
+			width: 160rpx;
+			height: 200rpx;
+			float: left;
+			margin-right: 20rpx;
+			margin-bottom: 20rpx;
+			background-color: #FFFFFF;
+			&:nth-child(4n){
+				margin-right: 0;
+			}
+			.box-item-image{
+				width: 160rpx;
+				height: 160rpx;
+				display: block;
+				float: left;
+			}
+			.box-item-mask{
+				width: 100%;
+				height: 40rpx;
+				line-height: 40rpx;
+				font-size: $font-size-20;
+				text-align: center;
+				color: #999999;
+				float: left;
+				box-sizing: border-box;
+				padding:0 20rpx;
+				white-space: normal;
+				word-break: break-all;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				display: -webkit-box;
+				-webkit-box-orient: vertical;
+				-webkit-line-clamp: 1;
+			}
+		}
+	}
+	.f-text{
+		width: 100%;
+		height: auto;
+		float: left;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		margin-top: 24rpx;
+		.logo{
+			width: 80rpx;
+			height: 80rpx;
+			margin: 0 auto;
+			margin: 0 6rpx;
+		}
+		.txt{
+			font-size: $font-size-24;
+			color: #666666;
+			line-height: 60rpx;
+		}
+	}
+</style>

+ 276 - 0
components/thorui/tui-swipe-actions/tui-swipe-actions.vue

@@ -0,0 +1,276 @@
+<template>
+	<view class="tui-swipeout-wrap">
+		<view class="tui-swipeout-item" :class="[isShowBtn ? 'swipe-action-show' : '']" @touchstart="handlerTouchstart"
+		 @touchmove="handlerTouchmove" @touchend="handlerTouchend" :style="{ transform: 'translate(' + position.pageX + 'px,0)' }">
+			<view class="tui-swipeout-content">
+				<slot name="content"></slot>
+			</view>
+			<view class="tui-swipeout-button-right-group" v-if="actions.length > 0" @touchend.stop="loop">
+				<view class="tui-swipeout-button-right-item" v-for="(item, index) in actions" :key="index" :style="{ backgroundColor: item.background || '#f7f7f7', color: item.color, width: item.width + 'px' }"
+				 :data-index="index" @tap="handlerButton">
+					<image :src="item.icon" v-if="item.icon" :style="{ width: px(item.imgWidth), height: px(item.imgHeight) }"></image>
+					<text :style="{ fontSize: px(item.fontsize) }">{{ item.name }}</text>
+				</view>
+			</view>
+			<!--actions长度设置为0,可直接传按钮进来-->
+			<view class="tui-swipeout-button-right-group" @touchend.stop="loop" @tap="handlerParentButton" v-if="actions.length === 0"
+			 :style="{ width: operateWidth + 'px', right: '-' + operateWidth + 'px' }">
+				<slot name="button"></slot>
+			</view>
+		</view>
+		<view v-if="isShowBtn && showMask" class="swipe-action_mask" @tap.stop="closeButtonGroup" @touchstart.stop.prevent="closeButtonGroup" />
+	</view>
+</template>
+
+<script>
+	export default {
+		name: 'tuiSwipeActions',
+		props: {
+			// name: '删除',
+			// color: '#fff',
+			// fontsize: 32,//单位rpx
+			// width: 80, //单位px
+			// icon: 'like.png',//此处为图片地址
+			// background: '#ed3f14'
+			actions: {
+				type: Array,
+				default () {
+					return [];
+				}
+			},
+			//点击按钮时是否自动关闭
+			closable: {
+				type: Boolean,
+				default: true
+			},
+			//设为false,可以滑动多行不关闭菜单
+			showMask: {
+				type: Boolean,
+				default: true
+			},
+			operateWidth: {
+				type: Number,
+				default: 80
+			},
+			params: {
+				type: Object,
+				default () {
+					return {};
+				}
+			},
+			//禁止滑动
+			forbid: {
+				type: Boolean,
+				default: false
+			},
+			//手动开关
+			open: {
+				type: Boolean,
+				default: false
+			}
+		},
+		watch: {
+			actions(newValue, oldValue) {
+				this.updateButtonSize();
+			},
+			open(newValue) {
+				this.manualSwitch(newValue);
+			}
+		},
+		data() {
+			return {
+				//start position
+				tStart: {
+					pageX: 0,
+					pageY: 0
+				},
+				//限制滑动距离
+				limitMove: 0,
+				//move position
+				position: {
+					pageX: 0,
+					pageY: 0
+				},
+				isShowBtn: false
+			};
+		},
+		mounted() {
+			this.updateButtonSize();
+		},
+		methods: {
+			swipeDirection(x1, x2, y1, y2) {
+				return Math.abs(x1 - x2) >= Math.abs(y1 - y2) ? (x1 - x2 > 0 ? 'Left' : 'Right') : y1 - y2 > 0 ? 'Up' : 'Down';
+			},
+			//阻止事件冒泡
+			loop() {},
+			updateButtonSize() {
+				const actions = this.actions;
+				if (actions.length > 0) {
+					const query = uni.createSelectorQuery().in(this);
+					let limitMovePosition = 0;
+					actions.forEach(item => {
+						limitMovePosition += item.width || 0;
+					});
+					this.limitMove = limitMovePosition;
+				} else {
+					this.limitMove = this.operateWidth;
+				}
+			},
+			handlerTouchstart(event) {
+				if (this.forbid) return;
+				const touches = event.touches ? event.touches[0] : {};
+				const tStart = this.tStart;
+				if (touches) {
+					for (let i in tStart) {
+						if (touches[i]) {
+							tStart[i] = touches[i];
+						}
+					}
+				}
+			},
+			swipper(touches) {
+				const start = this.tStart;
+				const spacing = {
+					pageX: touches.pageX - start.pageX,
+					pageY: touches.pageY - start.pageY
+				};
+				if (this.limitMove < Math.abs(spacing.pageX)) {
+					spacing.pageX = -this.limitMove;
+				}
+				this.position = spacing;
+			},
+			handlerTouchmove(event) {
+				if (this.forbid) return;
+				const start = this.tStart;
+				const touches = event.touches ? event.touches[0] : {};
+				if (touches) {
+					const direction = this.swipeDirection(start.pageX, touches.pageX, start.pageY, touches.pageY);
+					if (direction === 'Left' && Math.abs(this.position.pageX) !== this.limitMove) {
+						this.swipper(touches);
+					}
+				}
+			},
+			handlerTouchend(event) {
+				if (this.forbid) return;
+				const start = this.tStart;
+				const touches = event.changedTouches ? event.changedTouches[0] : {};
+				if (touches) {
+					const direction = this.swipeDirection(start.pageX, touches.pageX, start.pageY, touches.pageY);
+					const spacing = {
+						pageX: touches.pageX - start.pageX,
+						pageY: touches.pageY - start.pageY
+					};
+					if (Math.abs(spacing.pageX) >= 40 && direction === 'Left') {
+						spacing.pageX = spacing.pageX < 0 ? -this.limitMove : this.limitMove;
+						this.isShowBtn = true;
+					} else {
+						spacing.pageX = 0;
+					}
+					this.position = spacing;
+				}
+			},
+			handlerButton(event) {
+				if (this.closable) {
+					this.closeButtonGroup();
+				}
+				const dataset = event.currentTarget.dataset;
+				this.$emit('click', {
+					index: Number(dataset.index),
+					item: this.params
+				});
+			},
+			closeButtonGroup() {
+				this.position = {
+					pageX: 0,
+					pageY: 0
+				};
+				this.isShowBtn = false;
+			},
+			//控制自定义按钮菜单
+			handlerParentButton(event) {
+				if (this.closable) {
+					this.closeButtonGroup();
+				}
+			},
+			manualSwitch(isOpen) {
+				let x = 0;
+				if (isOpen) {
+					if (this.actions.length === 0) {
+						x = this.operateWidth;
+					} else {
+						let width = 0;
+						this.actions.forEach(item => {
+							width += item.width;
+						});
+						x = width;
+					}
+				}
+				this.position = {
+					pageX: -x,
+					pageY: 0
+				};
+			},
+			px(num) {
+				return uni.upx2px(num) + 'px';
+			}
+		}
+	};
+</script>
+
+<style scoped>
+	.tui-swipeout-wrap {
+		background-color: #fff;
+		position: relative;
+		overflow: hidden;
+	}
+
+	.swipe-action-show {
+		position: relative;
+		z-index: 998;
+	}
+
+	.tui-swipeout-item {
+		width: 100%;
+		/* padding: 15px 20px; */
+		box-sizing: border-box;
+		transition: transform 0.2s ease;
+		font-size: 14px;
+	}
+
+	.tui-swipeout-content {
+		white-space: nowrap;
+		overflow: hidden;
+	}
+
+	.tui-swipeout-button-right-group {
+		position: absolute;
+		right: -100%;
+		top: 0;
+		height: 100%;
+		z-index: 1;
+		width: 100%;
+	}
+
+	.tui-swipeout-button-right-item {
+		height: 100%;
+		float: left;
+		/* white-space: nowrap; */
+		box-sizing: border-box;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		text-align: center;
+		padding: 0 15rpx;
+	}
+
+	.swipe-action_mask {
+		display: block;
+		opacity: 0;
+		position: fixed;
+		z-index: 997;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+	}
+</style>

+ 2 - 2
pages.json

@@ -1,7 +1,7 @@
 {
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
 		{
-			"path": "pages/tabBar/home/home",
+			"path": "pages/tabBar/home/index",
 			"style": {
 				"navigationBarTitleText": "采美采购商城",
 				"enablePullDownRefresh":true,
@@ -604,7 +604,7 @@
 		"borderStyle": "black",
 		"backgroundColor": "#ffffff",
 		"list": [{
-				"pagePath": "pages/tabBar/home/home",
+				"pagePath": "pages/tabBar/home/index",
 				"iconPath": "static/icon-home@3x.png",
 				"selectedIconPath": "static/icon-home-active@3x.png",
 				"text": "商城"

+ 19 - 13
pages/login/bindwechat.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="container login">
 		<view class="login-main">
-			<text class="logo-text">您的微信尚未绑定机构账号,填写以下资料进行绑定后,您能通过微信快速登录。</text>
+			<text class="logo-text">您的微信尚未绑定公司账号,填写以下资料进行绑定后,您能通过微信快速登录。</text>
 		</view>
 		<view class="login-form clearfix">
 			<view class="login-input">
@@ -75,6 +75,7 @@
 	export default{
 		data() {
 			return{
+				userIdentity:'',
 				userID:'',
 				bindMobile:'',
 				bindLinkName:'',  		//用户姓名
@@ -185,18 +186,22 @@
 						}
 						// console.log(params)
 						bindingWechat(params).then(response =>{
-							switch(this.isLoginType){
-								case 9:
-									this.$api.navigateTo(`/h5/pages/activity/activity_mid`)
-									break;
-								case 8:
-									this.$api.navigateTo(`/pages/goods/product?id=${this.isLoginProductId}`)
-									break;
-								case 7:
-									this.$api.navigateTo(`/pages/user/order/order-details?type=share&orderID=${this.isLoginOrderId}`)
-									break;
-								default:
-									this.$api.switchTabTo('/pages/tabBar/user/user')
+							if(this.userIdentity === 3){
+								this.$api.navigateTo('/supplier/pages/index/index')
+							}else{
+								switch(this.isLoginType){
+									case 9:
+										this.$api.navigateTo(`/h5/pages/activity/activity_mid`)
+										break;
+									case 8:
+										this.$api.navigateTo(`/pages/goods/product?id=${this.isLoginProductId}`)
+										break;
+									case 7:
+										this.$api.navigateTo(`/pages/user/order/order-details?type=share&orderID=${this.isLoginOrderId}`)
+										break;
+									default:
+										this.$api.switchTabTo('/pages/tabBar/user/user')
+								}
 							}
 						}).catch(error =>{
 							this.$util.msg(error.msg,2000)
@@ -213,6 +218,7 @@
 			this.$api.getStorage().then((resolve) => {
 				this.userID = resolve.userID
 				this.bindMobile = resolve.bindMobile
+				this.userIdentity = resolve.userIdentity
 			})
 		}
 	}

+ 3 - 4
pages/login/login.vue

@@ -32,7 +32,6 @@
 	import { mapState,mapMutations } from 'vuex';
 	import authorize from '@/common/config/authorize.js' 
 	import wxLogin from "@/common/config/wxLogin.js"
-	import { organizationLogin } from '@/api/use.js' 
 	export default{
 		data() {
 			return{
@@ -71,14 +70,14 @@
 				}
 				authorize.getSetting().then(wxResponse =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
 					if(wxResponse == 1){
-						this.OrganizationLogin()
+						this.AorganizationLogin()
 					}else{
 						this.$api.navigateTo('/pages/authorization/authorization?type=0')
 					}
 				})
 			},
-			OrganizationLogin(){
-				organizationLogin({mobileOrEmail:this.accountNumber,password:this.password,source:'www'}).then(response =>{
+			AorganizationLogin(){
+				this.UserService.AorganizationLogin({mobileOrEmail:this.accountNumber,password:this.password,source:'www'}).then(response =>{
 					this.storeUpdataeStatus(response.data)
 					this.$api.navigateTo(`/pages/login/bindwechat?data=${JSON.stringify(this.getOption)}&codeType=${response.code}`)
 				}).catch(error =>{

+ 1 - 1
pages/login/register-supplier.vue

@@ -233,7 +233,7 @@
 	import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue'
 	import supplierAlert from '@/components/cm-module/modelAlert/supplierRegisreAlert.vue'
 	import { supplierList,supplierMedicaCampNullList } from '@/common/json/data.json.js' //本地数据
-	import { organizationVerifyRegisterFirst,organizationRegister ,organizationLogin } from "@/api/use.js"
+	import { organizationVerifyRegisterFirst,organizationRegister } from "@/api/use.js"
 	import { getRegisterMobileCode, uploadFileImage } from "@/api/utils.js"
 	export default{
 		components:{

+ 1 - 1
pages/login/register.vue

@@ -71,7 +71,7 @@
 	import wxLogin from "@/common/config/wxLogin.js"
 	import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue'
 	import { beautyList,mentuzCampNullList,medicaCampNullList } from '@/common/json/data.json.js' //本地数据
-	import { organizationVerifyRegisterFirst,organizationRegister ,organizationLogin } from "@/api/use.js"
+	import { organizationVerifyRegisterFirst,organizationRegister } from "@/api/use.js"
 	import { getRegisterMobileCode, uploadFileImage } from "@/api/utils.js"
 	export default{
 		components:{

+ 2 - 0
pages/tabBar/home/home.vue

@@ -253,6 +253,8 @@
 							uni.setStorageSync('sessionid','JSESSIONID='+response.data.sessionId)
 							if(response.data.userIdentity ==1){
 								this.$api.navigateTo('/seller/pages/index/index')
+							}else if(response.data.userIdentity === 3){
+								this.$api.navigateTo('/supplier/pages/index/index')
 							}
 							this.getHomeInformation()
 							this.getOrganizeProducts()

+ 18 - 1
pages/tabBar/home/index.vue

@@ -12,6 +12,12 @@
 		<view class="container-section tui-skeleton">
 			<!-- 推荐专区 -->
 			<hot-product :list="organizeProducts" :userIdentity="userIdentity" v-if="isRequest"></hot-product>
+			<!-- 楼层 -->
+			<pages-product v-if="isRequest"></pages-product>
+			<!-- 商品专题 -->
+			<special-product v-if="isRequest"></special-product>
+			<!-- 供应商专题 -->
+			<supplier-list v-if="isRequest"></supplier-list>
 		</view>
 		<!-- 侧边 -->
 		<scroll-top v-if="isScrollTop"></scroll-top>
@@ -25,6 +31,9 @@
 	import banner from '@/components/cm-module/homeIndex/banner.vue'
 	import navbars from '@/components/cm-module/homeIndex/navbars.vue'
 	import hotProduct from '@/components/cm-module/homeIndex/hotProduct.vue'
+	import pagesProduct from '@/components/cm-module/homeIndex/pagesProduct.vue'
+	import specialProduct from '@/components/cm-module/homeIndex/specialProduct.vue'
+	import supplierList from '@/components/cm-module/homeIndex/supplierList.vue'
 	import { userInfoLogin } from "@/api/use.js"
 	import { mapState,mapMutations} from 'vuex';
 	export default {
@@ -33,7 +42,10 @@
 			customer,
 			hotProduct,
 			banner,
-			navbars
+			navbars,
+			pagesProduct,
+			specialProduct,
+			supplierList
 		},
 		data() {
 			return {
@@ -117,6 +129,8 @@
 							uni.setStorageSync('sessionid','JSESSIONID='+response.data.sessionId)
 							if(response.data.userIdentity ==1){
 								this.$api.navigateTo('/seller/pages/index/index')
+							}else if(response.data.userIdentity === 3){
+								// this.$api.navigateTo('/supplier/pages/index/index')
 							}
 							this.getHomeInformation()
 						}).catch(error =>{
@@ -332,6 +346,9 @@
 </script>
 
 <style lang="scss">
+	page{
+		background-color: #F7F7F7;
+	}
 	.container-section{
 		width: 100%;
 		height: auto;

+ 2 - 2
services/ajax.env.js

@@ -2,10 +2,10 @@ let URL_CONFIG = ""
 if(process.env.NODE_ENV === 'development'){
     // 开发环境
 	// URL_CONFIG = 'http://192.168.2.68:8008'	 //涛涛联调地址
-	// URL_CONFIG = 'http://192.168.2.67:8008'	 //裴裴联调地址
+	URL_CONFIG = 'http://192.168.2.67:8008'	 //裴裴联调地址
 	// URL_CONFIG = 'http://192.168.2.75:8008'	 //超超联调地址
     // URL_CONFIG = 'https://spi-b.caimei365.com'	 //采美测试地址
-	URL_CONFIG = 'https://spi.caimei365.com'
+	// URL_CONFIG = 'https://spi.caimei365.com'
 }else{
     // 生产环境
     URL_CONFIG = 'https://spi.caimei365.com'

+ 8 - 3
services/user.service.js

@@ -10,9 +10,14 @@ export default class UserService {
 	appSelectLoginUser (data = {}) {
 		return this.AjaxService.post({ url:'', data, isLoading: true })
 	}
-	/*  微信获取用户手机号登录 */
-	LoginUsers (data = {}) {
-		return this.AjaxService.post({ url:'', data, isLoading: true })
+	/**
+	 * 账号登录
+	 * @param mobileOrEmail 邮箱或手机
+	 * @param password	密码
+	 * @param source 来源 PC与小程序传:'www'crm就传'crm'
+	 */
+	AorganizationLogin (data = {}) {
+		return this.AjaxService.post({ url:'/user/login', data, isLoading: true })
 	}
 	/**
 	 * @机构-地址列表

+ 107 - 29
supplier/pages/user/my-product.vue

@@ -20,10 +20,15 @@
 				<!-- 列表 -->
 				<checkbox-group @change="buyChange" class="tui-group">
 					<view class="tui-cart-cell  tui-mtop" v-for="(item,index) in organizeProducts" :key="index">
-						<tui-swipe-action :actions="actions" @click="handlerButton($event,item)" :params="item">
+						<tui-swipe-actions :actions="actions" @click="handlerButton($event,item)" :params="item">
 							<template v-slot:content>
 								<view class="tui-goods-item">
-									<image :src="item.mainImage" class="tui-goods-img"/>
+									<view class="tui-goods-checkBox" v-if="isSuperv">
+										<view class="checkbox iconfont" :class="[isChecked ?'icon-yixuanze':'icon-weixuanze']" @click="isCheckedAll"></view>
+									</view>
+									<view class="tui-goods-image">
+										<image :src="item.mainImage" class="tui-goods-img"/>
+									</view>
 									<view class="tui-goods-info"> 
 										<view class="tui-goods-title">{{item.name}}</view>
 										<view class="tui-price-box">
@@ -37,7 +42,7 @@
 									</view>
 								</view>
 							</template>
-						</tui-swipe-action>
+						</tui-swipe-actions>
 					</view>
 				</checkbox-group>
 				<!--加载loadding-->
@@ -50,32 +55,50 @@
 		<!--右抽屉-->
 		<tui-drawer mode="right" :visible="rightDrawer" @close="closeDrawer">
 			<view class="d-container clearfix" :style="{paddingTop:CustomBar+10+'px'}">
+				<view class="d-label">商品货号:</view>
 				<view class="d-input">
 					<input class="input" type="text" value="" v-model="listQuery.keyword" placeholder="输入商品名称"/>
 				</view>
+				<view class="d-label">商品货号:</view>
 				<view class="d-input">
 					<input class="input" type="text" value="" v-model="listQuery.productSn" placeholder="输入商品货号"/>
 				</view>
+				<view class="d-label">状态:</view>
 				<view class="d-input">
-					<picker @change="bindPickerChange(1,$event)" :value="index" :range="Array" range-key="name">
-						<input class="input" type="text" disabled="false" v-model="listQuery.productCategoryId" value="" placeholder="请选择商品分类"/>
-						<text class="iconfont icon-xiangxia"></text>
+					<picker @change="bindPickerChange(3,$event)" :value="index" :range="Array2" range-key="name">
+						<input class="input" type="text" disabled="false" v-model="listQuery.publishStatus" value="" placeholder="请选择审核状态"/>
+						<text class="iconfont icon-xiangyou"></text>
 					</picker>
 				</view>
+				<view class="d-label">主推商品:</view>
 				<view class="d-input">
 					<picker @change="bindPickerChange(2,$event)" :value="index" :range="brandOptions" range-key="name">
 						<input class="input" type="text" disabled="false" v-model="listQuery.brandId" value="" placeholder="请选择商品品牌"/>
-						<text class="iconfont icon-xiangxia"></text>
+						<text class="iconfont icon-xiangyou"></text>
 					</picker>
 				</view>
+				<view class="d-label">分类:</view>
 				<view class="d-input">
-					<picker @change="bindPickerChange(3,$event)" :value="index" :range="Array2" range-key="name">
-						<input class="input" type="text" disabled="false" v-model="listQuery.publishStatus" value="" placeholder="请选择审核状态"/>
-						<text class="iconfont icon-xiangxia"></text>
+					<picker @change="bindPickerChange(1,$event)" :value="index" :range="Array" range-key="name">
+						<input class="input" type="text" disabled="false" v-model="listQuery.productCategoryId" value="" placeholder="请选择分类"/>
+						<text class="iconfont icon-xiangyou"></text>
+					</picker>
+				</view>
+				<view class="d-input">
+					<picker @change="bindPickerChange(1,$event)" :value="index" :range="Array" range-key="name">
+						<input class="input" type="text" disabled="false" v-model="listQuery.productCategoryId" value="" placeholder="请选择二级分类"/>
+						<text class="iconfont icon-xiangyou"></text>
+					</picker>
+				</view>
+				<view class="d-input">
+					<picker @change="bindPickerChange(1,$event)" :value="index" :range="Array" range-key="name">
+						<input class="input" type="text" disabled="false" v-model="listQuery.productCategoryId" value="" placeholder="请选择三级分类"/>
+						<text class="iconfont icon-xiangyou"></text>
 					</picker>
 				</view>
 				<view class="d-input btn">
-					<view class="d-btn" @click="handSearchList">搜索</view>
+					<view class="d-btn comfrim" @click="handSearchList">确定</view>
+					<view class="d-btn clear" @click="handSearchClear">重置</view>
 				</view>
 			</view>
 		</tui-drawer>
@@ -118,11 +141,19 @@
 			return{	
 				isSuperv:false,
 				isChecked:false,
+				mapStateArr:[
+					{label:'isQuery',val:[4,5,12,13,33,22,23,32,77],status: true},
+					{label:'isDelete',val:[6],status: true},
+					{label:'isCancel',val:[0,111],status: true},
+					{label:'isConfirm',val:[33],status: true},
+					{label:'isConfirmation',val:[0],status: true},
+					{label:'isPay',val:[11,12,13,21,22,23,111],status: true},
+				],
 				actions: [
-					{name: '查看详情',color: '#fff',fontsize: 28,width: 80,background: '#f9a94b'},
-					{name: '添加主页',color: '#fff',fontsize: 28,width: 80,background: '#ff7a51'},
-					{name: '下架',color: '#fff',fontsize: 28,width: 80,background: '#fea785'},
-					{name: '无操作',color: '#fff',fontsize: 28,width: 80,background: '#e1e1e1'},
+					{name: '查看详情',color: '#fff',fontsize: 26,width: 50,background: '#f9a94b'},
+					{name: '添加主页推荐',color: '#fff',fontsize: 26,width: 50,background: '#ff7a51'},
+					{name: '下架',color: '#fff',fontsize: 26,width: 50,background: '#fea785'},
+					{name: '无操作',color: '#fff',fontsize: 26,width: 50,background: '#e1e1e1'},
 				],
 				Array: [{name:'男装'},{name: '女装'},{name: '男鞋'},{name: '女鞋'},{name: '童鞋'}],
 				brandOptions: [],
@@ -179,6 +210,7 @@
 			getOrganizeProducts(){//获取模块三商品
 				this.ProductService.queryProductPreferred({userId:this.userID,preferredFlag:100,pageNum:1,pageSize:20}).then(res =>{
 					this.organizeProducts = res.data.results
+					//循环根据状态设置操作按钮:0,1,2,3,8,9(可编辑)、1,2(预览商品)、2(下架)、
 					this.getProductPrice()
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
@@ -572,6 +604,15 @@
 				padding: 0 10rpx;
 			}
 		}
+		.d-label{
+			width: 100%;
+			height: 44rpx;
+			line-height: 44rpx;
+			text-align: left;
+			color: #666666;
+			font-size: $font-size-26;
+			float: left;
+		}
 		.d-input{
 			width: 100%;
 			height: 70rpx;
@@ -598,26 +639,34 @@
 				padding-right: 68rpx;
 			}
 			.iconfont{
-				width: 68rpx;
+				width: 50rpx;
 				height: 68rpx;
 				display: block;
 				line-height: 68rpx;
 				text-align: center;
-				font-size: 40rpx;
+				font-size: 30rpx;
 				color: #999999;
 				position: absolute;
 				right: 0;
 				top: 0;
 			}
 			.d-btn{
-				width: 100%;
-				height: 70rpx;
-				border-radius: 35rpx;
-				background-color: #4688fa;
-				line-height: 70rpx;
+				width: 210rpx;
+				height: 84rpx;
+				border-radius: 42rpx;
+				background: $btn-confirm;
+				line-height: 84rpx;
 				text-align: center;
+				font-size: $font-size-26;
 				color: #FFFFFF;
-				font-size: $font-size-28;
+				float: right;
+				&.comfrim{
+					background: $btn-confirm;
+					margin-left: 20rpx;
+				}
+				&.clear{
+					background: #e1e1e1;   
+				}
 			}
 		}
 	}
@@ -659,7 +708,7 @@
 		width: 100%;
 		height: auto;
 		position: relative;
-		padding:0 20rpx;
+		padding:0;
 		padding-top: 80rpx;
 		box-sizing: border-box;
 		.header-tabs{
@@ -768,21 +817,50 @@
 			padding-top: 4rpx;
 		}
 	}	
-
 	.tui-goods-item {
 		display: flex;
 		padding: 30rpx 4rpx;
 		box-sizing: border-box;
 		border-bottom: 1px solid #EBEBEB;
 	}
-	.tui-goods-img {
+	.tui-goods-checkBox{
+		display: flex;
+		align-items: center;
+		.checkbox{
+			display: flex;
+			margin: 0;
+			padding: 0;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			box-sizing: border-box;
+			text-align: center;
+			text-decoration: none;
+			border-radius: 0;
+			-webkit-tap-highlight-color: transparent;
+			overflow: hidden;
+			background-color:#FFFFFF;
+			font-size: 36rpx;
+			color:$color-system;
+		}
+		.text{
+			font-size: $font-size-24;
+			margin-left: 10rpx;
+		}
+	}
+	.tui-goods-image{
 		width: 180rpx;
 		height: 180rpx !important;
 		border-radius: 12rpx;
-		flex-shrink: 0;
-		display: block;
+		margin-left: 20rpx;
+		.tui-goods-img {
+			width: 180rpx;
+			height: 180rpx !important;
+			border-radius: 12rpx;
+			flex-shrink: 0;
+			display: block;
+		}
 	}
-	
 	.tui-goods-info {
 		width: 370rpx;
 		padding-left: 20rpx;