瀏覽代碼

commit -m 维沙

zhengjinyi 4 年之前
父節點
當前提交
bb7eb6cf09

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

@@ -52,7 +52,7 @@
 		methods:{
 			gotoConten(item){
 				if(item.name!='无条款'){
-					this.$api.navigateTo(`/pages/service/sellconten?clauseId=${item.id}`)
+					this.$api.navigateTo(`/pages/user/service/sellconten?clauseId=${item.id}`)
 				}
 			},
 			radioChange(e){

+ 0 - 157
components/cm-module/homeIndex/banner.vue

@@ -1,157 +0,0 @@
-<template>
-	<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 list" :key="index" @click.stop="NavToDetailPage(item)">
-					<image :src="item.image" 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 class="swiper-banner-msg">
-			<view class="content">
-				<view class="item le">
-					<text class="iconfont icon-zhengpin"><text class="sm">正品保证</text></text>
-				</view>
-				<view class="item ce">
-					<text class="iconfont icon-jigou"><text class="sm">5000+机构</text></text>
-				</view>
-				<view class="item ri">
-					<text class="iconfont icon-gongyingshang"><text class="sm">100+供应商</text></text>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"address",
-		props:{
-			list:{
-				type:Array
-			}
-		},
-		data() {
-			return{
-				current:0
-			}
-		},
-		created(){
-			
-		},
-		computed: {
-	
-		},
-		methods:{
-			swiperChange(e) {//轮播图切换
-				const index = e.detail.current;
-				this.current = index;
-			},
-			NavToDetailPage(floor) {//跳转
-				this.$api.FlooryNavigateTo(floor)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.swiper-banner-box{
-		width: 100%;
-		height: 360rpx;
-		padding-top:100rpx;
-		background:#FFFFFF url(https://img.caimei365.com/group1/M00/03/B0/Cmis217Z9LCALu9wAAAv45Bdpsk814.png)no-repeat;
-		position: relative;
-		background-size: cover;
-	}	
-	.tui-banner-swiper {
-		width: 700rpx;
-		margin: 0 auto;
-		height: 340rpx;
-		border-radius: 24rpx;
-		overflow: hidden;
-		transform: translateY(0);
-		box-shadow:0px 3px 6px rgba(225,86,22,0.08);
-		margin-top: 16rpx;
-		.banner-item{
-			border-radius: 24rpx;
-		}
-		.tui-slide-image {
-			width: 100%;
-			height: 340rpx;
-			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;
-		}
-	}
-	.swiper-banner-msg{
-		width: 100%;
-		height: 54rpx;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-		margin-top: 20rpx;
-		.content{
-			width: 100%;
-			height: 54rpx;
-			box-sizing: border-box;
-			padding: 0 34rpx;
-			background-color: #fff0e9;
-			border-radius: 16rpx;
-			.item{
-				width: 33.33%;
-				height: 54rpx;
-				line-height: 54rpx;
-				font-size: $font-size-24;
-				color: $color-system;
-				float: left;
-				&.le{
-					text-align: left;
-				}
-				&.ce{
-					text-align: center;
-				}
-				&.ri{
-					text-align: right;
-				}
-				.iconfont{
-					color: $color-system;
-					font-size: $font-size-32;
-					.sm{
-						font-size: $font-size-26;
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 160
components/cm-module/homeIndex/customer.vue

@@ -1,160 +0,0 @@
-<template name="headerNavbar">
-	<!-- 自定义导航栏 -->
-	<view class='navbar-wrap' :style="{height:(CustomBar+55)+'px',paddingTop:StatusBar+'px'}"> 
-	  	<view class="navbar-text" 
-			  :style="{color:navbarData.textColor ? navbarData.textColor:'',lineHeight:(CustomBar - StatusBar)+'px;',fontSize:fontSizeSetting+'px;',paddingLeft:navbarData.textLeft ? '' : 12+'px'}" :class="platformClass">
-	    	  {{navbarData.title ? navbarData.title : " "}}
-	  	</view>
-		<view class="search-input">
-			<view class="gosearch-btn" @click="this.$api.navigateTo(clickPath)">
-				<view class="search-icon">
-					<text class="iconfont icon-iconfonticonfontsousuo1"></text>
-				</view>
-				<view class="search-text">{{hotSearchText}}</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	var self;
-	import btSearch from '@/components/uni-search/bt-search.vue'
-	export default{
-		name:'headerNavbar',
-		components:{
-			btSearch,
-		},
-		props:{
-		    navbarData: { // 由父页面传递的数据
-				type: Object
-		    }
-		},
-		data() {
-			return{
-				clickPath:'/search/pages/search/search',
-				hotSearchText:'搜索商品/供应商/项目仪器',
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				StatusBar: this.StatusBar,
-				fontSizeSetting:this.fontSizeSetting,
-				screenWidth:this.screenWidth,
-				capsule:this.capsule,
-				platformClass:this.platformClass,
-			}
-		},
-		created() {
-			if (getCurrentPages().length === 1) { // 当只有一个页面时
-			      this.navbarData.haveBack = false;
-			} else {
-			      this.navbarData.haveBack = true;
-			}
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			BackPage: function () {
-				this.$emit('navigateBack')
-		    },
-			_goSearchPath:function () {
-				this.$emit('goSearchPath')
-			},
-			_goHome:function(){
-				uni.switchTab({
-		        	url: '/pages/tabBar/home/index'
-		      	})
-			}
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	.navbar-wrap {
-		 position: fixed;
-		 width: 100%;
-		 top: 0;
-		 z-index: 100000;
-		 box-sizing: border-box;
-		 background: url(https://img.caimei365.com/group1/M00/03/B0/Cmis217Z9LCAF_anAADHlsIu3aE475.png);
-		 background-size: cover;
-		 border-bottom:none;
-	}
-	.navbar-text {
-		 font-size: 30rpx;
-		 color: #000000;
-		 font-weight: 500;
-	}
-	.navbar-text.center{
-		text-align: center;
-	}
-	.navbar-text.left{
-		text-align: left;
-		padding-left: 45px;
-	}
-	.navbar-icon {
-		 position: fixed;
-		 display: flex;
-		 box-sizing: border-box;
-	}
-	.navbar-icon .iconfont {
-		 display: inline-block;
-		 overflow: hidden;
-		 font-size: 44rpx;
-		 padding-right:40rpx;
-		 margin-top: 1px;
-	}
-	.navbar-icon .icon-iconfonticonfontsousuo1 {
-		color: #000000;
-	}
-	.navbar-icon view {
-		 height: 18px;
-		 border-left: 0.5px solid rgba(0,0,0, 0.3);
-		 margin-top: 6px;
-	}
-	.navbar-loading {
-		 background: #fff;
-		 text-align: center;
-	}
-	.search-input{
-		width: 100%;
-		height: 110rpx;
-		padding: 20rpx 24rpx;
-		box-sizing: border-box;
-		.gosearch-btn{
-			width: 100%;
-			height: 100%;
-			border-radius: 40rpx;
-			background: #F0F0F0;
-			margin: 0 auto;
-			font-size: 28rpx;
-			line-height: 70rpx;
-			color: #8A8A8A;
-			background: #FFFFFF;
-			position: relative;
-			box-sizing: border-box;
-			padding-left: 80rpx;
-			.search-icon{
-				width: 80rpx;
-				height: 70rpx;
-				position:absolute ;
-				left: 0;
-				top: 2rpx;
-				text-align: center;
-				line-height: 70rpx;
-				.icon-iconfonticonfontsousuo1{
-					margin:0 6rpx;
-					font-size: $font-size-34;
-					color: #8A8A8A;
-					z-index: 10;
-				}
-			}
-			.search-text{
-				font-size: $font-size-24;
-				line-height: 70rpx;
-				color: #8A8A8A;
-			}
-		}
-	}
-</style>

+ 0 - 158
components/cm-module/homeIndex/navbars.vue

@@ -1,158 +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.icon" mode="widthFix"></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
-			},
-			NavToDetailPage(pros,index) {//跳转
-				/**
-				 * 页面跳转类型
-				 * 1、二级页面,2、搜索项目仪器,3、直播页面,4、自由页面,5、商品详情,6、仪器项目详情,7、供应商主页
-				 * 8、专题活动页,9、二手市场介绍,10、二手商品列表,11、二手商品发布,12、商品搜索,13、信息详情
-				 * 14、品牌招商介绍页,15、维修保养介绍页,16、首页,17、注册页,18、信息中心,19、供应商列表
-				 **/
-				if(pros.linkType){
-					 const typeMap = {
-						1:`/pages/goods/goods-instrument?linkId=${pros.linkParam.id}&title=${pros.name}`,
-						3:`/h5/pages/article/path-live`,
-						10:`/second/pages/product/product-list`,
-						14:`/h5/pages/other/brand`,
-						15:`/h5/pages/other/repair`,
-						18:`/h5/pages/article/path?link=${pros.link}`,
-						20:`/pages/goods/good-floor?linkId=${pros.linkParam.id}&title=${pros.name}`,
-						21:`/h5/pages/activity/meobohui`,
-					 }
-					const url = typeMap[pros.linkType];
-					this.$api.navigateTo(url)
-				}
-			}
-		}
-	}
-</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: 110rpx;
-				height: 110rpx;
-				margin: 0 auto;
-				position: relative;
-				.icon-image{
-					width: 110rpx;
-					height: 110rpx;
-					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-26;
-				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 - 140
components/cm-module/homeIndex/pageFloor.vue

@@ -1,140 +0,0 @@
-<template>
-	<view>
-		<view class="page-content clearfix" v-for="(page,index) in pageFloorList" :key="index">
-			<view class="tui-group-name" v-if="page.floorContent">
-				<view class="tui-group-title">
-					<view class="tui-group-l">{{ page.title }}</view>
-					<view class="tui-group-r"  v-if="page.floorContent.templateType != '8'" @click="NavToDetailPage(page)">
-						<text>更多</text>
-						<text class="iconfont icon-xiayibu"></text>
-					</view>
-					
-				</view>
-				<view class="tui-sub__desc">{{ page.detail }}</view>
-			</view>
-			<template v-if="page.floorContent.templateType == '1'">
-				<templateA :pageData="page" :userIdentity="userIdentity"></templateA>
-			</template>	 
-			<template v-if="page.floorContent.templateType == '2'">
-				<templateB :pageData="page" :userIdentity="userIdentity"></templateB>
-			</template>	 
-			<template v-if="page.floorContent.templateType == '3'">
-				<templateC :pageData="page" :userIdentity="userIdentity"></templateC>
-			</template>	 
-			<template v-if="page.floorContent.templateType == '4'">
-				<templateD :pageData="page" :userIdentity="userIdentity"></templateD>
-			</template>	 
-			<template v-if="page.floorContent.templateType == '5'">
-				<templateE :pageData="page" :userIdentity="userIdentity"></templateE>
-			</template>	 
-			<template v-if="page.floorContent.templateType == '6'">
-				<templateF :pageData="page" :userIdentity="userIdentity"></templateF>
-			</template>	 
-			<template v-if="page.floorContent.templateType == '7'">
-				<templateG :pageData="page" :userIdentity="userIdentity"></templateG>
-			</template>	 
-			<template v-if="page.floorContent.templateType == '8'">
-				<templateH :pageData="page" :userIdentity="userIdentity"></templateH>
-			</template>	  
-		</view>
-	</view>
-</template>
-
-<script>
-	import templateA from '@/components/cm-module/pageTemplate/templateA.vue'
-	import templateB from '@/components/cm-module/pageTemplate/templateB.vue'
-	import templateC from '@/components/cm-module/pageTemplate/templateC.vue'
-	import templateD from '@/components/cm-module/pageTemplate/templateD.vue'
-	import templateE from '@/components/cm-module/pageTemplate/templateE.vue'
-	import templateF from '@/components/cm-module/pageTemplate/templateF.vue'
-	import templateG from '@/components/cm-module/pageTemplate/templateG.vue'
-	import templateH from '@/components/cm-module/pageTemplate/templateH.vue'
-	export default{
-		name:"pageFloor",
-		components:{
-			templateA,
-			templateB,
-			templateC,
-			templateD,
-			templateE,
-			templateF,
-			templateG,
-			templateH,
-		},
-		props:{
-			list:{
-				type:Array
-			},
-			pageType:{
-				type:Number
-			},
-			userIdentity:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				pageFloorList:[]
-			}
-		},
-		created(){
-			this.initData(this.list)
-		},
-		computed: {
-	
-		},
-		methods:{
-			initData(data){
-				this.pageFloorList = data
-			},
-			NavToDetailPage(page) {//跳转
-				this.$api.navigateTo(`/pages/goods/good-floorMore?pageType=${this.pageType}&floorId=${page.id}&title=${page.title}`)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.page-content{
-		background-color: #F7F7F7;
-		width: 100%;
-		height: auto;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-		float: left;
-	}
-	.tui-group-name {
-		width: 100%;
-		height: 92rpx;
-		padding: 20rpx 0;
-	}
-	.tui-group-title{
-		width: 100%;
-		float: left;
-		.tui-group-l{
-			float: left;
-			font-size: 34rpx;
-			font-weight: bold;
-			text-align: left;
-			line-height: 49rpx;
-			color: #333;
-		}
-		.tui-group-r{
-			float: right;
-			font-size: $font-size-26;
-			text-align: right;
-			line-height: 49rpx;
-			color: #999999;
-			.icon-xiayibu{
-				font-size: $font-size-30;
-				color: #999999;
-			}
-		}
-	}
-	.tui-sub__desc {
-		width: 100%;
-		float: left;
-		color: rgba(153,153,153,0.9);
-		font-size: $font-size-26;
-	}
-</style>

+ 0 - 308
components/cm-module/homeIndex/pageSpecial.vue

@@ -1,308 +0,0 @@
-<template name="pagesProduct">
-	<view>
-		<view class="container-pages clearfix">
-			<scroll-view scroll-x>
-				<view class="tui-goods__list">
-					<view class="tui-goods__item" v-if="tempData.liveList != ''">
-						<view class="tui-group-name" @click="LiveGoPath">
-							<view class="tui-group-title"><text>采美LIVE</text></view>
-							<view class="iconfont icon-xiayibu"></view>
-						</view>
-						<view class="tui-goods__main" :class="flIndex == 0 ? 'one' : ''" v-for="(live, flIndex) in tempData.liveList" :key="flIndex" @click="LiveGoPathPros(live)">
-							<view class="tui-goods__imgbox" v-if="flIndex === 0">
-								<image :src="live.homePageImage" mode="" class="tui-goods__img"></image>
-								<view class="tui-goods__name">{{ live.liveTitle }}</view>
-								<view class="tui-goods__statu">
-									<text class="iconfont icon-weikaishi" v-if="live.liveStatus == 1"></text>
-									<image :src="iconLive" mode="widthFix" class="icon-live" v-if="live.liveStatus == 2"></image>
-									<text class="iconfont icon-jieshu" v-if="live.liveStatus == 3"></text>
-									<text>{{ live.liveStatus | statusType }}</text>
-								</view>
-							</view>
-							<view class="tui-goods__text" v-if="flIndex > 0">{{ live.liveTitle }}</view>
-						</view>
-					</view>
-					<view class="tui-goods__item" v-if="tempData.cmImageList != ''">
-						<view class="tui-group-name" @click="NewActivityList">
-							<view class="tui-group-title"><text>最新活动</text></view>
-							<view class="iconfont icon-xiayibu"></view>
-						</view>
-						<view class="tui-goods__main" :class="flIndex == 0 ? 'one' : ''" v-for="(cmImage, flIndex) in tempData.cmImageList" :key="flIndex" @click="NewActivityListPath(cmImage)">
-							<view class="tui-goods__imgbox" v-if="flIndex === 0">
-								<image :src="cmImage.homePageImage" mode="" class="tui-goods__img"></image>
-								<view class="tui-goods__name">{{ cmImage.title }}</view>
-							</view>
-							<view class="tui-goods__text" v-if="flIndex > 0">{{ cmImage.title }}</view>
-						</view>
-					</view>
-					<view class="tui-goods__item" v-if="tempData.infoList != ''">
-						<view class="tui-group-name" @click="NavArticlePath('https://www.caimei365.com/info/center-3-1.html')">
-							<view class="tui-group-title"><text>热门文章</text></view>
-							<view class="iconfont icon-xiayibu"></view>
-						</view>
-						<view class="tui-goods__main" :class="flIndex == 0 ? 'one' : ''" v-for="(info, flIndex) in tempData.infoList" :key="flIndex" @click="NavArticlePath(info.link)">
-							<view class="tui-goods__imgbox" v-if="flIndex === 0">
-								<image :src="info.homePageImage" mode="" class="tui-goods__img"></image>
-								<view class="tui-goods__name">{{ info.title }}</view>
-							</view>
-							<view class="tui-goods__text" v-if="flIndex > 0">{{ info.title }}</view>
-						</view>
-					</view>
-				</view>
-			</scroll-view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	export default{
-		name:"pagesProduct",
-		props:{
-			templateData:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				tempData:{},
-				iconLive:'https://static.caimei365.com/app/img/icon/icon-live.gif'
-			}
-		},
-		filters: {
-			statusType:function(value) {
-				switch (value) {
-					case 1:
-						return  '未开始';
-						break;
-					case 2:
-						return  '直播中';
-						break;
-					case 3:
-						return  '看回放';
-						break;
-				}
-			},
-			NumFormat:function(value) {//处理金额
-				return Number(value).toFixed(2);
-			},
-		},
-		created(){
-			this.initData(this.templateData)
-		},
-		methods:{
-			initData(data){
-				this.tempData = data
-			},
-			NavArticlePath(LINK){
-				 this.$api.navigateTo(`/h5/pages/article/path?link=${LINK}`)
-			},
-			NewActivityList(){
-				this.$api.navigateTo('/h5/pages/activity/activity-list')
-			},
-			NewActivityListPath(pros){
-				/**
-				 * 页面跳转类型
-				 * 1、二级页面,2、搜索项目仪器,3、直播页面,4、自由页面,5、商品详情,6、仪器项目详情,7、供应商主页
-				 * 8、专题活动页,9、二手市场介绍,10、二手商品列表,11、二手商品发布,12、商品搜索,13、信息详情
-				 * 14、品牌招商介绍页,15、维修保养介绍页,16、首页,17、注册页,18、信息中心,19、供应商列表
-				 **/
-				if(pros.linkType){
-					console.log(pros.linkType)
-					const typeMap = {
-					 	1:`/pages/goods/goods-instrument?linkId=${pros.linkParam.id}&title=${pros.name}`,
-					 	2:`/pages/goods/instrument-details?id=${pros.linkParam.id}`,
-						4:`/h5/pages/activity/activity?title=${pros.title}&link=${pros.appletsLink}`,
-					 	5:`/pages/goods/product?id=${pros.linkParam.id}`,
-					 	7:`/supplier/pages/user/my-shop?shopId=${pros.linkParam.id}`,
-					 	8:`/h5/pages/activity/activity-list`,
-					 	9:`/second/pages/form/introduce`,
-					 	10:`/second/pages/product/product-list`,
-					 	11:`/second/pages/form/form`,
-					 	12:`/search/pages/search/search?keyWord=${pros.linkParam.keyword}`,
-					 	13:`/h5/pages/article/path?link=${pros.link}`,
-					 	14:`/h5/pages/article/path?link=${pros.link}`,
-					 	15:`/h5/pages/article/path?link=${pros.link}`,
-					 	17:`/pages/login/register-select`,
-					 	18:`/h5/pages/article/path?link=${pros.link}`,
-					 	19:`/search/pages/search/search-supplier?keyWord=${pros.linkParam.keyword}`
-					}
-					const url = typeMap[pros.linkType];
-					uni.navigateTo({
-					  	url:url
-					})
-				}
-			},
-			LiveGoPath(){//查看直播
-				this.$api.navigateTo('/h5/pages/article/path-live')
-				
-				// uni.navigateToMiniProgram({
-				// 	appId: 'wx92d650b253f8f2e3',
-				// 	path: '/pages/index/index',
-				// 	extraData: {
-				// 		'data1': 'test'
-				// 	},
-				// 	envVersion: 'develop',
-				// 	success(res) {
-				// 		// 打开成功
-				// 		console.log(res)
-				// 	}
-				// })
-			},
-			LiveGoPathPros(live){
-				this.$api.navigateTo(`/h5/pages/article/page-image?title=${live.liveTitle}&image=${live.advertisingImage}`)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.container-pages{
-		width: 100%;
-		height:508rpx;
-		padding: 24rpx;
-		float: left;
-		background-color: #F7F7F7;
-		margin-top: 16rpx;
-		box-sizing: border-box;
-		background-color: #F7F7F7;
-		overflow: hidden;
-		display: flex;
-		align-items: center;
-		.tui-goods__list {
-			display: flex;
-			align-items: center;
-		}
-		.tui-goods__item {
-			background-color: #fff;
-			width: 307rpx;
-			height: 460rpx;
-			border-radius: 16rpx;
-			box-sizing: border-box;
-			margin-right: 16rpx;
-			padding: 17rpx;
-		}
-		.tui-group-name{
-			width: 100%;
-			height: 36rpx;
-			float: left;
-			margin-bottom: 13rpx;
-			.tui-group-title{
-				font-size: 26rpx;
-				line-height: 36rpx;
-				float: left;
-				color: #333333;
-			}
-			.icon-xiayibu{
-				font-size: 26rpx;
-				line-height: 36rpx;
-				float: right;
-				color: #909090;
-			}
-		}
-		.tui-goods__main{
-			width: 100%;
-			height: auto;
-			float: left;
-			position: relative;
-			&.one{
-				margin-bottom: 14rpx;
-			}
-		}
-		.tui-goods__imgbox {
-			width: 273rpx;
-			height: 273rpx;
-			box-sizing: border-box;
-			border-radius: 8rpx;
-		}
-		.tui-goods__img {
-			max-width: 273rpx;
-			max-height: 273rpx;
-			border-radius: 8rpx;
-			display: block;
-		}
-		.tui-goods__name{
-			width: 100%;
-			height: 48rpx;
-			float: left;
-			line-height: 48rpx;
-			box-sizing: border-box;
-			padding-left: 12rpx;
-			font-size: $font-size-24;
-			color: #FFFFFF;
-			background-color: rgba(0,0,0,0.4);
-			position: absolute;
-			bottom: 0;
-			left: 0;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-			overflow: hidden;
-			border-radius:0 0 8rpx 8rpx;
-		}
-		.tui-goods__statu{
-			padding-left: 45rpx;
-			padding-right: 10rpx;
-			height: 35rpx;
-			position: absolute;
-			top: 17rpx;
-			left: 17rpx;
-			background-color: rgba(0,0,0,0.4);
-			border-radius: 18rpx;
-			line-height: 35rpx;
-			color: #FFFFFF;
-			text-align: right;
-			font-size: $font-size-20;
-			.icon-live{
-				width: 17rpx;
-				height: 17rpx;
-				display: block;
-				margin: 0 auto;
-				position: absolute;
-				left: 15rpx;
-				top: 9rpx;
-			}
-			.iconfont{
-				width: 35rpx;
-				height: 35rpx;
-				line-height: 35rpx;
-				display: block;
-				position: absolute;
-				left: 10rpx;
-				font-size: $font-size-26;
-				&.icon-weikaishi{
-					color: #E56D00;
-					left:0;
-				}
-				&.icon-jieshu{
-					color: #FFFFFF;
-					left:0;
-					font-size: 22rpx;
-				}
-			}
-		}
-		.tui-goods__text{
-			width: 100%;
-			height: 44rpx;
-			float: left;
-			line-height: 44rpx;
-			box-sizing: border-box;
-			padding-left: 12rpx;
-			font-size: $font-size-24;
-			color: #666666;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-			overflow: hidden;
-			position: relative;
-			&::before{
-				content: '';
-				width: 8rpx;
-				height: 8rpx;
-				border-radius: 50%;
-				background-color: #cccccc;
-				position: absolute;
-				left: 0;
-				top: 18rpx;
-			}
-		}
-	}	
-</style>

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

@@ -1,137 +0,0 @@
-<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="supplier-banner">
-			<image :src="banner" mode="" @click="BannerNavigateTo(supplierObj.linkType,supplierObj.linkParam.id,supplierObj.wwwLink,supplierObj.linkParam.keyword)"></image>
-		</view>
-		<view class="swiper-goods-box">
-			<view class="goods-box-item" v-for="(item,index) in supplierObj.qualitySupplierList" :key="index" @click="NavToDetailPage(item)">
-				<image :src="item.image" mode="" class="box-item-image"></image>
-				<view class="box-item-mask">{{ item.supplierName }}</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"supplierList",
-		props:{
-			supplierObj:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				banner:'',
-				supplierList:[]
-			}
-		},
-		created(){
-			this.initData(this.supplierObj)
-		},
-		computed: {
-	
-		},
-		methods:{
-			initData(data){
-				this.banner = data.crmImage
-				this.supplierList = data.qualitySupplierList
-			},
-			BannerNavigateTo(linkType,linkId,linkHref,keyword) {//跳转
-				this.$api.BannerNavigateTo(linkType,linkId,linkHref,keyword)
-			},
-			NavToDetailPage(item) {//跳转
-				this.$api.navigateTo(`/supplier/pages/user/my-shop?shopId=${item.linkParam.id}`)
-			}
-		}
-	}
-</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;
-	}
-	.supplier-banner{
-		width: 100%;
-		height: 240rpx;
-		float: left;
-		margin-top: 24rpx;
-		image{
-			width: 100%;
-			height: 240rpx;
-			display: block;
-		}
-	}
-	.swiper-goods-box{
-		width: 100%;
-		height: auto;
-		float: left;
-		margin-top: 24rpx;
-		.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: #666666;
-				background-color: #f9f9f9;
-				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;
-			}
-		}
-	}
-</style>

+ 23 - 52
pages.json

@@ -1,28 +1,21 @@
 {
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
 		{
-			"path": "pages/tabBar/user/user",
+			"path": "pages/index/index",
 			"style": {
-				"navigationBarTitleText": "我的",
+				"navigationBarTitleText": "维沙采购商城",
 				"enablePullDownRefresh" : true,
 				"navigationStyle":"custom"
 			}
-		},{
-			"path": "pages/authorization/authorization",
-			"style": {
-				"navigationBarTitleText": "微信授权",
-				"navigationStyle":"custom"
-			}
 		},{
 			"path": "pages/login/login",
 			"style": {
-				"navigationBarTitleText": "登录",
+				"navigationBarTitleText": "登录"
 			}
 		},{
-			"path": "pages/tabBar/home/index",
+			"path": "pages/authorization/authorization",
 			"style": {
-				"navigationBarTitleText": "采美采购商城",
-				"enablePullDownRefresh":true,
+				"navigationBarTitleText": "微信授权",
 				"navigationStyle":"custom"
 			}
 		},{
@@ -41,54 +34,38 @@
     ],
 	"subPackages": [
 		{
-			"root": "pages/service/",//信息服务模块
+			"root": "pages/goods/",//商品模块
 			"pages": [
 				{
-					"path": "sellconten",
+					"path": "product",
 					"style": {
-						"navigationBarTitleText": "条款内容"
+						"navigationBarTitleText": "商品详情",
+						"navigationStyle":"custom"
 					}
 				}
 			]
 		},
 		{
-			"root": "pages/goods/",//商品模块
+			"root": "pages/user/",//机构个人中心模块
 			"pages": [
 				{
-					"path": "goods",
+					"path": "cart/cart",
 					"style": {
-						"navigationBarTitleText": "商品列表",
-						"enablePullDownRefresh":true
+						"navigationBarTitleText": "购物车"
 					}
 				},
 				{
-					"path": "goods-classify",
+					"path": "cart/immediately",
 					"style": {
-						"navigationBarTitleText": "商品列表",
-						"enablePullDownRefresh":true,
-						"navigationStyle":"custom"
+						"navigationBarTitleText": "立即下单"
 					}
 				},
 				{
-					"path": "product",
+					"path": "club/club-list",
 					"style": {
-						"navigationBarTitleText": "商品详情",
-						"navigationStyle":"custom"
+						"navigationBarTitleText": "机构列表"
 					}
 				},
-				{
-					"path": "cart",
-					"style": {
-						"navigationBarTitleText": "购物车",
-						"enablePullDownRefresh":true,
-						"navigationStyle":"custom"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/user/",//机构个人中心模块
-			"pages": [
 				{
 					"path": "address/addressManage",
 					"style": {
@@ -101,12 +78,6 @@
 						"navigationBarTitleText": "地址列表"
 					}
 				},
-				{
-				    "path" : "regularPurchase/regularPurchase",
-				    "style" : {
-						"navigationBarTitleText": "再次购买"
-					}
-				},
 				{
 					"path": "order/create-order",
 					"style": {
@@ -140,12 +111,6 @@
 						"navigationBarTitleText": "输入分享码"
 					}
 				},
-				{
-					"path": "order/order-sharelogin",
-					"style": {
-						"navigationBarTitleText": "查看订单"
-					}
-				},
 				{
 					"path": "order/order-list",
 					"style": {
@@ -171,6 +136,12 @@
 					"style": {
 						"navigationBarTitleText": "物流信息"
 					}
+				},
+				{
+					"path": "service/sellconten",
+					"style": {
+						"navigationBarTitleText": "条款内容"
+					}
 				}
 			]	
 		}
@@ -183,7 +154,7 @@
 		"backgroundColor": "#ffffff",
 		"list": [
 				{
-					"pagePath": "pages/tabBar/home/index",
+					"pagePath": "pages/tabBar/category/index",
 					"iconPath": "static/icon-home@3x.png",
 					"selectedIconPath": "static/icon-home-active@3x.png",
 					"text": "商城"

+ 0 - 938
pages/goods/goods-classify.vue

@@ -1,938 +0,0 @@
-<template>
-	<view class="container all-type-list-wrapper">
-		<!-- 自定义顶部 -->
-		<custom-floor  :systeminfo='systeminfo' :navbar-data='nvabarData' :headerBtnPosi ="headerBtnPosi"></custom-floor>
-		<view class="tui-header-screen" :style="{top:CustomBar+'px'}">
-			<view class="tui-screen-top">
-				<view class="tui-top-item" :class="[tabIndex ==0 ?'tui-active':'']" @tap="handleScreen" data-index="0">综合</view>
-				<view class="tui-top-item tui-icon-ml" :class="[tabIndex==1?'tui-active':'']" data-index="1" @tap="handleScreen">
-					<view>销量</view>
-					<text class="iconfont icon-shangxiajiantou" v-if="isSearchSalesFirst"></text>
-					<template v-else>
-						<tui-icon :name="isSearchSales ? 'turningdown':'turningup'" :size="18" :color="tabIndex==1 ?'#e15616':'#999'" tui-icon-class="tui-ml"></tui-icon>
-					</template>
-				</view>
-				<view class="tui-top-item tui-icon-ml" :class="[tabIndex==2?'tui-active':'']" data-index="2" @tap="handleScreen">
-					<view>人气</view>
-					<text class="iconfont icon-shangxiajiantou" v-if="isSearchMoodFirst"></text>
-					<template v-else>
-						<tui-icon :name="isSearchMood ? 'turningdown':'turningup'" :size="18" :color="tabIndex==2 ?'#e15616':'#999'" tui-icon-class="tui-ml"></tui-icon>
-					</template>
-				</view>
-				<view class="tui-top-item tui-icon-ml" :class="[tabIndex==3?'tui-active':'']" data-index="3" @tap="handleScreen">
-					<view>价格</view>
-					<text class="iconfont icon-shangxiajiantou" v-if="isSearchPriceFirst"></text>
-					<template v-else>
-						<tui-icon :name="isSearchPrice ? 'turningdown':'turningup'" :size="18" :color="tabIndex==3?'#e15616':'#999'" tui-icon-class="tui-ml"></tui-icon>
-					</template>
-				</view>
-				<view class="tui-top-item" @tap="handleScreen" data-index="4">
-					<view>筛选</view>
-					<text class="iconfont icon-shaixuan"></text>
-				</view>
-			</view>
-		</view>
-		<!-- 商品列表 -->
-		<list-skeleton v-if="showSkeleton" :listType='0'></list-skeleton>
-		<template v-else>
-			<view class="empty-container" v-if="showEmpty">
-				<image class="empty-container-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png"></image>
-				<text class="error-text">{{emptyText}}</text>
-			</view>
-			<template v-else>
-				<view class="container-list" :style="{'height':scrollHeight+'px',paddingTop:(CustomBar+44)+'px'}">
-					<view v-for="(item,index) in listData" :key="index" :id="item.p_id" class="all-type-list-content commodity-list" @click.stop="navToDetailPage(item.p_id)">
-						<image mode='widthFix' :src="item.p_image"  class="list-img" alt="list-img"></image>
-						<view class="list-details-info">
-							<text class="list-details-title">
-								<text class="mclap-tag" v-if="item.p_act_flag == '1'">美博会</text>
-								<text class="mclap" :class="item.p_act_flag =='1' ? 'indent' : ''">{{ item.p_name }}</text>
-							</text>
-							<text class="list-details-specs">规格:{{item.p_unit}}</text>
-							<view class="list-details-specs" v-if="item.p_code!=''&&item.p_code!=null">商品编码:{{item.p_code}}</view>
-							<view class="list-details-price">
-								<template v-if="userIdentity == 3">
-									<view class="floor-item-act" v-if="item.actStatus==1">
-										<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-											{{item.promotions.name}}<text v-if="item.p_price_flag != '1' && item.supplierId === shopId">:¥{{ item.price | NumFormat }}</text>
-										</view>
-										<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
-									</view>
-									<view class="floor-item-act" v-if="item.actStatus ==0  &&  item.ladderPriceFlag==1">
-										<view class="floor-tags">阶梯价格</view>	
-									</view>
-								</template>
-								<template v-else>
-									<view class="floor-item-act" v-if="item.actStatus==1">
-										<view class="floor-tags" v-if="PromotionsFormat(item.promotions)">
-											{{item.promotions.name}}<text v-if="hasLogin && item.p_price_flag != '1'">:¥{{ item.price | NumFormat }}</text>
-										</view>
-										<view class="floor-tags" v-else>{{item.promotions.name}}</view>	
-									</view>
-									<view class="floor-item-act" v-if="item.actStatus ==0  &&  item.ladderPriceFlag==1">
-										<view class="floor-tags">阶梯价格</view>	
-									</view>
-								</template>
-								<view v-if="hasLogin" class="list-price">
-									<template v-if="userIdentity == 1">
-										<text v-if="priceLoading" class="price-larger small">正在获取价格...</text>
-										<template v-else>
-											<text class="price-larger" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
-												¥{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price) | NumFormat}}
-											</text>
-										</template>
-									</template>	
-									<template v-if="userIdentity == 4">
-										<view class="price-larger" v-if="item.p_price_flag == '1'">
-											<text class="txt">¥未公开价格</text>
-										</view>
-										<view class="price-larger" v-if="item.p_price_flag == '2'">
-											<text class="txt">¥价格仅会员可见</text>
-										</view>
-										<text v-else-if="priceLoading" class="price-larger small">正在获取价格...</text>
-										<template v-else>
-											<text class="price-larger" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
-												¥{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price) | NumFormat}}
-											</text>
-										</template>
-									</template>
-									<template v-if="userIdentity == 3">
-										<template v-if="item.supplierId === shopId">
-											<view class="price-larger" v-if="item.p_price_flag == '1'">
-												<text class="txt">¥未公开价格</text>
-											</view>
-											<text v-else-if="priceLoading" class="price-larger small">正在获取价格...</text>
-											<text v-else class="price-larger" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
-												¥{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price) | NumFormat}}
-											</text>
-										</template>
-										<template v-else>
-											<view  class="list-login-now">
-												<text class="p-no">¥</text>
-												<uni-grader :grade="Number(item.p_price_grade)"></uni-grader>
-											</view>
-										</template>
-									</template>
-									<template v-if="userIdentity == 2">
-										<view class="price-larger" v-if="item.p_price_flag == '1'">
-											<text class="txt">¥未公开价格</text>
-										</view>
-										<text v-else-if="priceLoading" class="price-larger small">正在获取价格...</text>
-										<template v-else>
-											<text class="price-larger" :class="PromotionsFormat(item.promotions) ? 'none' : ''">
-												¥{{ (PromotionsFormat(item.promotions) ? item.originalPrice : item.price) | NumFormat}}
-											</text>
-										</template>
-									</template>
-								</view>	
-								<view  v-else class="list-login-now">
-									<text class="p-no">¥</text>
-									<uni-grader :grade="Number(item.p_price_grade)"></uni-grader>
-								</view>
-							</view>
-						</view>
-					</view>
-					<!--加载loadding-->
-					<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
-					<tui-nomore :visible="!pullUpOn" :backgroundColor="'#ffffff'" :text='nomoreText'></tui-nomore>
-					<!--加载loadding-->
-				</view>
-			</template>
-		</template>
-		<!--右抽屉-->
-		<tui-drawer mode="right" :visible="rightDrawer" @close="closeDrawer">
-			<view class="drawer-container clearfix" :style="{paddingTop:CustomBar+'px'}">
-				<view class="drawer-title">{{ classData.name }}</view>
-				<view class="drawer-main">
-					<template v-if="classData.smalltypeList">
-						<view class="drawer-item-cell" v-for="(item,index) in classData.smalltypeList" :key="index">
-							<view class="drawer-item-title">{{ item.name }}</view>
-							<view class="drawer-item-main" v-if="item.tinytypeList">
-								<text class="drawer-item-text" :class="tiny.isChecked ? 'checked' : ''" v-for="(tiny,tinyIndex) in item.tinytypeList" :key="tinyIndex"  @click="SearchCondition(3,item,tiny)">{{ tiny.name }}</text>
-							</view>
-							<view class="drawer-item-main" v-else>
-								<text class="drawer-item-text" :class="item.isChecked ? 'checked' : ''" @click="SearchCondition(2,item)">全部商品</text>
-							</view>
-						</view>
-					</template>
-					<template v-else>
-						<view class="drawer-item-cell">
-							<view class="drawer-item-main none">
-								<text class="drawer-item-text" :class="classData.isChecked ? 'checked' : ''" @click="SearchCondition(1,classData)">全部商品</text>
-							</view>
-						</view>
-					</template>
-				</view>
-				<view class="drawer-input btn" :style="{bottom :isIphoneX ? '68rpx' : '34rpx'}">
-					<view class="drawer-btn clear" @click="closeDrawer">取消</view>
-					<view class="drawer-btn comfrim" @click="handSearchList">确定</view>
-				</view>
-			</view>
-		</tui-drawer>
-		<!-- 透明模态层 -->
-		<modal-layer v-if='isModallayer'></modal-layer>
-	</view>
-</template>
-
-<script>
-	import { mapState,mapMutations} from 'vuex';
-	import listSkeleton from '@/components/cm-module/listTemplate/listSkeleton'
-	import customFloor from '@/components/cm-custom/custom-floor' 		 //自定义导航
-	import uniGrader from '@/components/uni-grade/uni-grade.vue'
-	import modalLayer from "@/components/modal-layer"
-	import authorize from '@/common/config/authorize.js'
-	import wxLogin from "@/common/config/wxLogin.js"
-	
-	const defaultListQuery = {
-			id:0,
-			pageNum:1,
-			pageSize:10,
-			sortField:'',
-			sortType:1,
-			idType:0,//一级
-	};
-	export default{
-		components:{
-			customFloor,
-			listSkeleton,
-			uniGrader,
-			modalLayer
-		},
-		data(){
-			return{
-				shopID:0,
-				tabIndex:0,
-				isModallayer:false,
-				isSearchSalesFirst:true,
-				isSearchMoodFirst:true,
-				isSearchPriceFirst:true,
-				isSearchSales:true,
-				isSearchMood:true,
-				isSearchPrice:true,
-				headerBtnPosi:	this.setHeaderBtnPosi(), //获取设备顶部胶囊高度
-				systeminfo: this.setSysteminfo(),		 //获取设备信息
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				isIphoneX:this.$store.state.isIphoneX,
-				emptyText: '该分类暂时还没有商品哟,去逛逛别的吧~',
-				isRequest:false,
-				showSkeleton: true,
-				showEmpty: false,
-				userID: 0,
-				userIdentity:'',
-				listData: [],
-				windowHeight: '',
-				scrollHeight: '',
-				listQuery:Object.assign({}, defaultListQuery),
-				priceLoading:true,
-				loadding: false,
-				pullUpOn: true,
-				pullFlag: true,
-				totalPage: 0,
-				nomoreText: '上拉显示更多',
-				rightDrawer: false,
-				classifyType:0,
-				classData:{},
-				searchCheckedId:null
-			}	
-		},
-		onLoad(option) {
-			console.log(option)
-			if(option.type =='share'){
-				authorize.getSetting().then(wxResponse =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
-					console.log(wxResponse)
-					if(wxResponse == 1){
-						wxLogin.wxLoginAuthorize()
-					}else{
-						console.log(new Date +'用户未授权微信信息')
-					}
-				})	
-			}
-			this.SetScrollHeight()
-			this.InitOption(option)
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','identity'])
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额
-				return Number(text).toFixed(2);
-			},
-		},	
-		methods:{
-			InitOption(option) {
-				this.listQuery.id = option.id;
-				this.listQuery.idType = this.classifyType = Number(option.classType);
-				uni.setNavigationBarTitle({title:option.title});
-				this.$api.getComStorage('userInfo').then((resolve) =>{
-					this.userID = resolve.userID ? resolve.userID : 0
-					this.shopID = resolve.shopID ? resolve.shopID : 0
-					this.userIdentity = resolve.userIdentity
-					this.isRequest = true
-					this.GetProductListInfo()
-					this.GetProductOneClassly()
-				}).catch(error =>{
-					this.GetProductListInfo()
-					this.GetProductOneClassly()
-				})
-				console.log(this.classifyID)
-			},
-			GetProductOneClassly(){//根据分类ID 查询二三级分类
-				this.CommonService.GetProductOneClassly({typeId:this.listQuery.id,idType:this.classifyType,source :'crm'}).then(response =>{
-					console.log(response.data)
-					this.classData = response.data
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			GetProductListInfo(){//查询分类商品列表
-				this.listQuery.pageNum = 1
-				this.ProductService.GetSearchProductTypeData(this.listQuery).then(response =>{
-					const resData = JSON.parse(response.data);
-					const resList = resData.items;
-					this.showSkeleton = false
-					if(resList && resList.length > 0){
-						this.showEmpty = false
-						this.totalPage = resData.total;
-						this.listData = [...resList];
-						this.GetProductPrice()
-						// 防上拉暴滑
-						this.pullFlag = false;
-						setTimeout(()=>{ this.pullFlag = true; },500)
-						// 底部提示文案
-						if(this.totalPage>this.listData.length) {
-							this.pullUpOn = false
-							this.nomoreText = '上拉显示更多'
-						} else {
-							if(this.listData.length>4){
-								this.pullUpOn = false
-								this.loadding = false
-								this.nomoreText = '已至底部'
-							}else{
-								this.pullUpOn = true
-								this.loadding = false
-								this.nomoreText = '已至底部'
-							}
-						}
-					} else {
-						this.showEmpty = true;
-					}
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
-				})
-			}, 
-			GetOnReachBottomData(){//上拉加载
-				this.listQuery.pageNum += 1
-				this.ProductService.GetSearchProductTypeData(this.listQuery).then(response =>{
-					const resData = JSON.parse(response.data);
-					const resList = resData.items;
-					this.totalPage = resData.total;
-					this.listData = [...this.listData,...resList];					
-					this.GetProductPrice()
-					// 防上拉暴滑
-					this.pullFlag = false;
-					setTimeout(()=>{ this.pullFlag = true; },500)
-					// 底部提示文案
-					if(this.totalPage>this.listData.length) {
-						this.pullUpOn = false
-						this.nomoreText = '上拉显示更多'
-					} else {
-						this.pullUpOn = false
-						this.loadding = false
-						this.nomoreText = '已至底部'
-					}
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
-				})
-			},	
-			GetProductPrice(){//获取价格
-				let productIdArr = [];
-				this.listData.map(item=>{// 0公开价格 1不公开价格 2仅对会员机构公开
-					productIdArr.push(item.p_id)
-				})
-				this.priceLoading = true;
-				this.productIds = productIdArr.join(",");
-				this.ProductService.querySearchProductPrice({userId: this.userID,productIds:this.productIds}).then(response =>{
-					if(response.data) {
-						this.listData = this.ReturnNewProducts(this.listData,response.data);
-					}
-					this.priceLoading = false;
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			ReturnNewProducts(Array,list){//处理对应商品ID的商品价格
-				let NewArray = []
-				Array.map(item=>{
-					for (let i = 0; i < list.length; i++) {
-						if( item.p_id == list[i].productId ){
-							NewArray.push(Object.assign(item,list[i])) 
-						}
-					}
-				});
-				return NewArray
-			},
-			handleScreen(e) {
-				let index = e.currentTarget.dataset.index;
-				console.log(index)
-				if (index == 0) {
-					this.tabIndex = 0
-					this.isSearchSalesFirst = true
-					this.isSearchMoodFirst = true
-					this.isSearchPriceFirst = true
-					this.listQuery.sortType = 1
-					this.listQuery.sortField = ''
-				} else if (index == 1) {
-					this.tabIndex = 1
-					this.isSearchSalesFirst = false
-					this.isSearchMoodFirst = true
-					this.isSearchPriceFirst = true
-					this.isSearchSales = !this.isSearchSales
-					if(this.isSearchSales){
-						this.listQuery.sortType = 1
-					}else{
-						this.listQuery.sortType = 0
-					}
-					this.listQuery.sortField = 'p_sales'
-				} else if (index == 2) {
-					this.tabIndex = 2
-					this.isSearchSalesFirst = true
-					this.isSearchPriceFirst = true
-					this.isSearchMoodFirst= false
-					this.isSearchMood = !this.isSearchMood
-					if(this.isSearchMood){
-						this.listQuery.sortType = 1
-					}else{
-						this.listQuery.sortType = 0
-					}
-					this.listQuery.sortField = 'p_favorite'
-				} else if (index == 3) {
-					this.tabIndex = 3
-					this.isSearchSalesFirst = true
-					this.isSearchMoodFirst = true
-					this.isSearchPriceFirst= false
-					this.isSearchPrice = !this.isSearchPrice
-					if(this.isSearchPrice){
-						this.listQuery.sortType = 1
-					}else{
-						this.listQuery.sortType = 0
-					}
-					this.listQuery.sortField = 'p_price'
-				} else if (index == 4) {
-					this.searchClickFn()
-				}
-				this.GetProductListInfo()
-			},
-			handSearchList(){//确定筛选
-				if(this.searchCheckedId == ''){
-					this.listQuery.id = this.classData.bigTypeID
-				}else{
-					this.listQuery.id = this.searchCheckedId
-				}
-				this.leftDrawer = false;
-				this.rightDrawer = false;
-				this.GetProductListInfo()
-			},
-			SearchCondition(type,item,tiny){//选择筛选分类
-				this.listQuery.idType = type;
-				const { classData, classData: { smalltypeList } } = this;
-				classData.isChecked = false;
-				if(smalltypeList && smalltypeList.length > 0) {
-					smalltypeList.forEach((item, index) => {
-						item.isChecked = false;
-						const { tinytypeList } = item;
-						if(tinytypeList && tinytypeList.length > 0) {
-							tinytypeList.forEach((tinyItem, tinyIndex) => {
-								tinyItem.isChecked = false;
-							})
-						}
-					});
-				}
-				switch(type){
-				    case 1:
-						console.log('1级分类全部商品',item);
-						item.isChecked = !item.isChecked
-						this.searchCheckedId = item.bigTypeID
-						break;
-				    case 2:
-						console.log('2级分类全部商品',item);
-						item.isChecked = !item.isChecked
-						if(item.isChecked){
-							this.searchCheckedId = item.smallTypeID
-						}else{
-							this.searchCheckedId = ''
-						}
-						break;
-				    case 3:
-						console.log('3级分类',tiny);
-						tiny.isChecked = !tiny.isChecked
-						if(tiny.isChecked){
-							this.searchCheckedId = tiny.tinyTypeID
-						}else{
-						   this.searchCheckedId = ''
-						}
-						break;
-				 }
-			},
-			navToDetailPage(id) {
-				this.isModallayer = true;
-				this.$api.navigateTo(`/pages/goods/product?id=${id}`);
-				this.isModallayer = false;
-			},
-			PromotionsFormat(promo){//促销活动类型数据处理
-				if(promo!=null){
-					if(promo.type == 1 && promo.mode == 1){
-						return true
-					}else{
-						return false
-					}
-				}
-				return false
-			},
-			SetScrollHeight() {
-				const {windowHeight, pixelRatio} = wx.getSystemInfoSync();
-				this.windowHeight = windowHeight - 1;
-				this.scrollHeight = windowHeight - 1;
-			},
-			setHeaderBtnPosi(){
-				// 获得胶囊按钮位置信息
-				let headerBtnPosi = uni.getMenuButtonBoundingClientRect();
-				return headerBtnPosi
-			},
-			searchClickFn() {//弹出抽屉
-				this.rightDrawer = true;
-			},
-			closeDrawer(e) {//关闭抽屉
-				this.leftDrawer = false;
-				this.rightDrawer = false;
-			},
-			setSysteminfo(){
-				let systeminfo;
-				uni.getSystemInfo({ // 获取设备信息
-					success: (res) => {
-						systeminfo = res
-					},
-				})
-				return systeminfo
-			},
-		},
-		onPullDownRefresh() {
-			setTimeout(() => {
-				this.GetProductListInfo()
-				uni.stopPullDownRefresh()
-			}, 200)
-		},
-		onReachBottom() {
-			if(this.totalPage>this.listData.length) {
-				this.loadding = true
-				this.pullUpOn = true
-				this.GetOnReachBottomData()
-			}	
-		},
-		onShareAppMessage(res){//分享转发
-			if (res.from === 'button') {
-		      // 来自页面内转发按钮
-		    }
-			return {
-			  title: `点击查看“${this.classData.name}”相关的商品`,
-			  path: `pages/goods/goods-classify?type=share&classType=${this.classifyType}&id=${this.listQuery.id}&title=${this.classData.name}`
-			}
-		},
-		onShow() {
-			
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		background: #FFFFFF;
-		.all-type-list-wrapper {
-			display: flex;
-			flex-direction: column;
-		}
-	}
-	.container-list{
-		width: 100%;
-		height: auto;
-	}
-	.all-type-list-content {
-		height: 216rpx;
-		padding: 24rpx;
-		background: #fff;
-		margin-bottom: 2rpx;
-		display: flex;
-		flex-direction: row;
-		box-sizing: content-box;
-		.list-img {
-			width: 210rpx;
-			height: 218rpx !important;
-			margin-right: 26rpx;
-			border-radius: 10rpx;
-			border: 2rpx solid #f3f3f3;
-		}
-	}
-	.list-details-info {
-		width: 466rpx;
-		display: flex;
-		flex-direction: column;
-		font-size: 26rpx;
-		position: relative;
-		.list-details-title {
-			position: relative;
-			.mclap{
-				line-height: 38rpx;
-				text-overflow: ellipsis;
-				overflow: hidden;
-				display: -webkit-box;
-				-webkit-line-clamp: 2;
-				line-clamp: 2;
-				-webkit-box-orient: vertical;
-				&.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;
-			}
-		}
-		.list-details-specs {
-			margin-top: 8rpx;
-			color: #666666;
-		}
-		.list-details-miniQuantity {
-			margin-top: 7rpx;
-		}
-	}
-	.list-details-price {
-		width: 100%;
-		height: 54rpx;
-		line-height: 54rpx;
-		position: absolute;
-		bottom: -10rpx;
-		right: 0;
-		.floor-item-act{
-			height: 54rpx;
-			text-align: center;
-			box-sizing: border-box;
-			float: right;
-			.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;
-				margin-left: 15rpx;
-				border: 1px solid #E15616;
-			}
-		}
-		.price-icon {
-			width: 22rpx;
-			height: 28rpx;
-			vertical-align: middle;
-			margin-right: 10rpx;
-		}
-		.price-icon + text {
-			font-size: 25rpx;
-			vertical-align: middle;
-		}
-		.list-login-now {
-			color: #F8C499;
-			float: left;
-			line-height: 54rpx;
-			.p-no{
-				float: left;
-				font-size: $font-size-24;
-				color: $text-color;
-			}
-		}
-		.login-now {
-			padding: 10rpx 10rpx 10rpx 0;
-		}
-		.list-price {
-			color: #FF2A2A;
-			height: 44rpx;
-			float: left;
-			.price-larger {
-				width: 100%;
-				height: 44rpx;
-				font-size: 32rpx;
-				&.none{
-					text-decoration: line-through;
-					color: #999999;
-				}
-				&.small{
-					font-size: $font-size-24;
-				}
-				.txt{
-					font-size: $font-size-24;
-					display: inline-block;
-					line-height: 44rpx;
-					text-align: left;
-					float: left;
-				}
-			}
-		}
-		.add-cart-btn {
-			width: 156rpx;
-			height: 64rpx;
-			line-height: 64rpx;
-			border-radius: 32rpx;
-			color: #fff;
-			font-size: 26rpx;
-			margin-right: 0;
-			background:linear-gradient(45deg,rgba(255,41,41,1) 0%,rgba(255,109,27,1) 100%);
-		}
-	}
-	/*screen*/
-	.tui-header-screen {
-		width: 100%;
-		box-sizing: border-box;
-		background: #fff;
-		position: fixed;
-		z-index: 1000;
-		/* padding-top: 12rpx; */
-	}
-	.tui-screen-top,
-	.tui-screen-bottom {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		font-size: 28rpx;
-		color: #999999;
-	}
-	.tui-screen-top {
-		height: 88rpx;
-		position: relative;
-		background: #fff;
-		border-bottom: 1px solid #EFEFEF;
-	}
-	.tui-top-item {
-		height: 28rpx;
-		line-height: 28rpx;
-		flex: 1;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-	}
-	.icon-shangxiajiantou{
-		font-size: 20rpx;
-		color: #999999;
-		margin-left: 8rpx;
-	}
-	.tui-topitem-active {
-		color: #e15616;
-	}
-	
-	.tui-screen-bottom {
-		height: 100rpx;
-		padding: 0 30rpx;
-		box-sizing: border-box;
-		font-size: 24rpx;
-		align-items: center;
-		overflow: hidden;
-	}
-	
-	.tui-bottom-text {
-		line-height: 26rpx;
-		max-width: 82%;
-		white-space: nowrap;
-		overflow: hidden;
-		text-overflow: ellipsis;
-	}
-	
-	.tui-bottom-item {
-		flex: 1;
-		width: 0;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		padding: 0 12rpx;
-		box-sizing: border-box;
-		background: #f7f7f7;
-		margin-right: 20rpx;
-		white-space: nowrap;
-		height: 60rpx;
-		border-radius: 40rpx;
-	}
-	
-	.tui-bottom-item:last-child {
-		margin-right: 0;
-	}
-	
-	.tui-btmItem-active {
-		background: #fcedea !important;
-		color: #e15616;
-		font-weight: bold;
-		position: relative;
-	}
-	
-	.tui-btmItem-active::after {
-		content: "";
-		position: absolute;
-		border: 1rpx solid #e15616;
-		width: 100%;
-		height: 100%;
-		border-radius: 40rpx;
-		left: 0;
-		top: 0;
-	}
-	
-	.tui-btmItem-tap {
-		position: relative;
-		border-bottom-left-radius: 0;
-		border-bottom-right-radius: 0;
-	}
-	
-	.tui-btmItem-tap::after {
-		content: "";
-		position: absolute;
-		width: 100%;
-		height: 22rpx;
-		background: #f7f7f7;
-		left: 0;
-		top: 58rpx;
-	}
-	.tui-active {
-		color: #e15616;
-	}
-	.tui-icon-ml .tui-icon-class {
-		margin-left: 6rpx;
-	}
-	
-	.tui-ml {
-		margin-left: 6rpx;
-	}
-	
-	.tui-seizeaseat-20 {
-		height: 20rpx;
-	}
-	
-	.tui-seizeaseat-30 {
-		height: 30rpx;
-	}
-	
-	.tui-icon-middle .tui-icon-class {
-		vertical-align: middle;
-	}
-	
-	.tui-middle {
-		vertical-align: middle;
-	}
-	
-	/*screen*/
-	.drawer-container {
-		width: 560rpx;
-		height: 100%;
-		padding: 80rpx 0;
-		box-sizing: border-box;
-		.drawer-title{
-			width: 100%;
-			height: 72rpx;
-			line-height: 72rpx;
-			box-sizing: border-box;
-			padding: 0 30rpx;
-			text-align: left;
-			font-size: $font-size-26;
-			color: #e15616;
-			font-weight: bold;
-			background-color: #F7F7F7;
-		}
-		.drawer-main{
-			width: 100%;
-			height: auto;
-			box-sizing: border-box;
-			padding: 0 30rpx;
-			.drawer-item-cell{
-				width: 100%;
-				height: auto;
-				float: left;
-				.drawer-item-title{
-					width: 100%;
-					height: 82rpx;
-					line-height: 82rpx;
-					text-align: left;
-					font-size: $font-size-26;
-					color: $text-color;
-					float: left;
-				}
-				.drawer-item-main{
-					width: 100%;
-					height: auto;
-					float: left;
-					&.none{
-						margin-top: 24rpx;
-					}
-					.drawer-item-text{
-						display: inline-block;
-						float: left;
-						padding: 0 30rpx;
-						height: 56rpx;
-						border-radius: 28rpx;
-						background-color: #F7F7F7;
-						line-height: 56rpx;
-						text-align: center;
-						color: #999999;
-						font-size: $font-size-26;
-						margin-right: 24rpx;
-						margin-bottom: 24rpx;
-						&.checked{
-							background-color: #fef6f3;
-							color: $color-system;
-						}
-					}
-				}
-			}
-		}
-		.drawer-input{
-			width: 100%;
-			height: 80rpx;
-			float: left;
-			box-sizing: border-box;
-			padding: 0 10rpx;
-			border: 1px solid rgba(0,0,0,0.2);
-			border-radius: 4rpx;
-			margin-bottom: 30rpx;
-			position: relative;
-			&.btn{
-				border: none;
-				margin-top: 40rpx;
-				display: flex;
-				position: absolute;
-				left: 0;
-			}
-			.drawer-btn{
-				width: 210rpx;
-				height: 84rpx;
-				border-radius: 42rpx;
-				background: $btn-confirm;
-				line-height: 84rpx;
-				text-align: center;
-				font-size: $font-size-26;
-				color: #FFFFFF;
-				flex: 1;
-				margin: 0 10rpx;
-				&.comfrim{
-					background: $btn-confirm;
-				}
-				&.clear{
-					background: #e1e1e1;   
-				}
-			}
-		}	
-	}	
-</style>

+ 0 - 93
pages/goods/goods.vue

@@ -1,93 +0,0 @@
-<template>
-	<view class="container all-type-list-wrapper">
-		<commodity-list ref="childList" :empty-text="emptyText" :serverUrl="serverUrl" :typeId="typeId" v-if="isRequest"></commodity-list>
-	</view>
-</template>
-
-<script>
-	import commodityList from '@/components/cm-module/listTemplate/commodityList'
-	
-	export default{
-		components:{
-			commodityList
-		},
-		data(){
-			return{
-				serverUrl: '',
-				emptyText: '',
-				lastPageType: '',
-				lastPageVal: '',
-				isRequest:false,
-				typeId:null
-			}
-		},		
-		onLoad(option) {
-			this.setServerUrl(option);
-		},
-		methods:{
-			setServerUrl(option) {
-				let self = this;
-				const {type, from: value} = option;
-				this.lastPageType = type;
-				this.lastPageVal = value;
-				uni.setNavigationBarTitle({title:value});
-				uni.getStorage({
-					key: 'commodity_id',
-					success: function (res) {
-						const emptyTxt = '正在上架中,敬请期待~';
-						/**
-						 *@商品分类列表传参类型
-						 *@type  首页分类:0,首页商品模块1:1,首页商品模块2:2,首页商品模块3:3,底部导航分类:4
-						 **/
-						switch(type){
-							case '0':
-								console.log(res)
-								self.typeId = res.data;
-								self.serverUrl = '/home/classify';
-								self.emptyText = '该分类暂时还没有商品哟,去逛逛别的吧~';
-								break;
-							case '1':	
-								self.typeId = 1;
-								self.serverUrl = '/search/query/product/preferred';
-								self.emptyText = `${self.lastPageVal}商品${emptyTxt}`;
-								break;
-							case '2':
-								self.typeId = 10;
-								self.serverUrl = '/search/query/product/preferred';
-								self.emptyText = `${self.lastPageVal}商品${emptyTxt}`;
-								break;
-							case '3':
-								self.typeId = 100;
-								self.serverUrl = '/search/query/product/preferred';
-								self.emptyText = `${self.lastPageVal}${emptyTxt}`;
-								break;
-							case '4':
-								self.typeId = res.data;
-								self.serverUrl = '/search/query/product/tinyType';
-								self.emptyText = '该分类暂时还没有商品哟,去逛逛别的吧~';
-								break;
-						}
-						self.isRequest = true
-					}
-				})
-			}
-		},
-		onShow() {
-			let pages = getCurrentPages(),
-				thisPage = pages[pages.length - 1];
-			if(thisPage.refresh) {
-				this.setServerUrl(thisPage.listData);
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		background: $sub-bg-color;
-		.all-type-list-wrapper {
-			display: flex;
-			flex-direction: column;
-		}
-	}
-</style>

+ 0 - 0
pages/tabBar/user/user.vue → pages/index/index.vue


+ 0 - 225
pages/tabBar/home/index.vue

@@ -1,225 +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>
-		<!-- 侧边 -->
-		<scroll-top :isScrollTop="isScrollTop" :bottom="50"></scroll-top>
-		<!-- 活动弹窗 -->
-		<activityAlert :show="isActivity" @click="handleClick" @cancel="handleCancelClick"></activityAlert>
-	</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 activityAlert from '@/components/cm-module/activity/activity_01.vue'
-	import { userInfoLogin } from "@/services/use.js"
-	import { mapState,mapMutations} from 'vuex';
-	export default {
-		components:{
-			tuiSkeleton,
-			customer,
-			banner,
-			navbars,
-			pageFloor,
-			pageSpecial,
-			supplierList,
-			activityAlert
-		},
-		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,
-			}
-		},
-		onLoad() {
-			
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','identity','isActivity'])
-		},
-		methods: {
-			...mapMutations(['login','logout']),
-			getWxAuthorize(){
-				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.isLogin = true;
-							this.userID = response.data.userID;						
-							this.userIdentity = response.data.userIdentity;						
-							this.clubStatus = response.data.clubStatus;						
-							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)
-							if(response.data.userIdentity ==1){
-								this.$api.redirectTo('/seller/pages/index/index')
-							}else if(response.data.userIdentity === 3){
-								this.$api.redirectTo('/supplier/pages/index/index')
-							}
-							this.getHomeInformation()
-						}).catch(error =>{
-							this.isLogin = false;
-							this.logout()
-							uni.removeStorageSync('sessionid')
-							uni.setStorageSync('sessionid','JSESSIONID='+error.data)
-							this.$store.commit('updateStatus',error.data)
-							this.getHomeInformation()
-						})
-					})
-				})
-			},		
-			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)
-				uni.setStorageSync('lockTime',Date.now())	
-				uni.setStorageSync('isActivityStatus',true)	
-			},
-			handleCancelClick(data){
-				this.$store.commit('setActivity',data)
-				uni.setStorageSync('lockTime',Date.now())
-				uni.setStorageSync('isActivityStatus',true)	
-			},
-		},
-		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'
-			}
-		},
-		onShow(){
-			this.modallayer = false
-			authorize.getSetting().then(res =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
-				if(res == 1){
-					this.getWxAuthorize()
-				}else{
-					this.$api.getComStorage('userInfo').then((resolve) =>{
-						this.userID = resolve.userID ? resolve.userID :0;
-						this.getHomeInformation()
-					}).catch(error =>{
-						this.getHomeInformation()
-					})
-				}
-			})		
-		}
-	}
-</script>
-
-<style lang="scss">
-	page{
-		background-color: #FFFFFF;
-	}
-	.container-section{
-		width: 100%;
-		height: auto;
-		background-color: #F7F7F7;
-	}
-</style>

+ 34 - 29
pages/user/address/address.vue

@@ -37,7 +37,7 @@
 					</view>
 				</view>
 			</scroll-view>
-			<view class="add-btn" @click="addAddress('add')" :style="{bottom :isIphoneX ? '68rpx' : '34rpx'}">添加新地址</view>
+			<view class="add-btn" @click="addAddress('add')">添加新地址</view>
 		</view>
 		<!-- 删除弹窗 -->
 		<model-alert v-if="isShowDelModal"
@@ -56,7 +56,6 @@
 		},
 		data() {
 			return {
-				isIphoneX:this.$store.state.isIphoneX,
 				isSelect:false,
 				isEmpty:false,
 				isLoadMore:false,
@@ -96,27 +95,32 @@
 				}, 500)
 			},
 			initAddressList(){	
-				let params = {pageNum:this.pageNum,pageSize:this.pageSize,userID:this.userID}
-				this.UserService.QueryAddressList(params).then(response =>{
-					if(response.data.results == ''){
-						this.isEmpty = true
-					}else{
-						this.isEmpty = false
-						let results =[];
-						results = response.data.results;
-						this.addressList = this.addressList.concat(results);
-						this.pageNum = response.index +1;
-						if(this.pageNum === response.totalPage + 1 ){
-							this.isLoadMore = false;
-						} else {
-							this.isLoadMore = true;
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					this.userID = resolve.userID
+					let params = {pageNum:this.pageNum,pageSize:this.pageSize,userID:this.userID}
+					this.UserService.QueryAddressList(params).then(response =>{
+						if(response.data.results == ''){
+							this.isEmpty = true
+						}else{
+							this.isEmpty = false
+							let results =[];
+							results = response.data.results;
+							this.addressList = this.addressList.concat(results);
+							this.pageNum = response.index +1;
+							if(this.pageNum === response.totalPage + 1 ){
+								this.isLoadMore = false;
+							} else {
+								this.isLoadMore = true;
+							}
 						}
-					}
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
+					}).catch(error =>{
+						this.$util.msg(error.msg,2000)
+					})
 				})
+				
 			},
-			checkAddress(item){//选择地址
+			//选择地址
+			checkAddress(item){
 				//是否需要返回地址(从订单确认页跳过来选收货地址)
 				if(!this.isSelect){return ;}
 				uni.setStorageSync('selectAddress',item)
@@ -127,10 +131,11 @@
 			},
 			addAddress(type,item){
 				uni.navigateTo({
-					url: `/pages/user/address/addressManage?type=${type}&data=${JSON.stringify(item)}`
+					url: `/seller/pages/address/addressManage?type=${type}&data=${JSON.stringify(item)}`
 				})
 			},
-			deleteAddress(id){//删除收货地址
+			//删除收货地址
+			deleteAddress(id){
 				this.$util.modal('','确定要删除该地址?','确定','取消',true,() =>{
 					this.UserService.DeleteNewAddress({addressID:id,userID:this.userID}).then(response =>{
 						this.$util.msg('删除成功',2000,true,'success')
@@ -143,7 +148,7 @@
 						this.$util.msg(error.msg,2000);
 						setTimeout(function(){
 							uni.switchTab({
-								url:'/pages/tabBar/home/index'
+								url:'/seller/pages/home/home'
 							})
 						},1000)
 					})
@@ -265,24 +270,24 @@
 	}
 	.add-btn{
 		position: fixed;
-		left: 75rpx;
-		right: 75rpx;
+		left: 24rpx;
+		right: 24rpx;
 		bottom: 34rpx;
 		z-index: 95;
 		display: flex;
 		align-items: center;
 		justify-content: center;
-		width: 600rpx;
+		width: 702rpx;
 		height: 88rpx;
 		font-size: $font-size-28;
 		line-height: 88rpx;
 		color: #FFFFFF;
 		text-align: center;
 		background: $btn-confirm;
-		border-radius: 44rpx;
+		border-radius: 45rpx;
 	}
 	.adds-btn{
-		width: 600rpx;
+		width: 702rpx;
 		height: 88rpx;
 		font-size: 28rpx;
 		line-height: 88rpx;
@@ -290,7 +295,7 @@
 		margin: 0 auto;
 		text-align: center;
 		background: #000000;
-		border-radius: 44rpx;
+		border-radius: 14rpx;
 	}
 </style>
 

+ 44 - 55
pages/user/address/addressManage.vue

@@ -2,16 +2,13 @@
 	<view class="container clearfix">
 		<view class="add-content">
 			<view class="input-row b-b">
-				<view class="label">收货人:</view>
-				<input class="input" type="text" v-model="addressData.shouHuoRen" @input="onShouHuoRen" placeholder="请输入收货人姓名" placeholder-class="placeholder" />
+				<input class="input" type="text" v-model="addressData.shouHuoRen" @input="onShouHuoRen" placeholder="收货人姓名" placeholder-class="placeholder" />
 			</view>
 			<view class="input-row b-b">
-				<view class="label">手机号:</view>
-				<input class="input" type="number" maxlength="11" v-model="addressData.mobile"  @input="onMobile" placeholder="请输入手机号码" placeholder-class="placeholder" />
+				<input class="input" type="number" maxlength="11" v-model="addressData.mobile"  @input="onMobile" placeholder="手机号码" placeholder-class="placeholder" />
 			</view>
 			<view class="input-row b-b" @click="showMulLinkageThreePicker">
-				<view class="label address">所在地区:</view>
-				<text class="input" :style="addressData.allAddress=='请选择收货地区'?'color:#b2b2b2':''">
+				<text class="input">
 					{{addressData.allAddress}}
 				</text>		
 				<text class="iconfont icon-xiayibu"></text>
@@ -61,7 +58,7 @@
 				switchDefault:false,
 				addressData:{
 					addressID:'',
-					allAddress:'请选择收货地区',
+					allAddress:'所在地区',
 					userID: '',			//用户id ,只在新增收货地址时传
 					shouHuoRen: '',		//收货人
 					mobile:'',			//收货人手机
@@ -77,10 +74,10 @@
 			if(option.type==='edit'){
 				title = '编辑收货地址'
 				this.isConfirm = false;
-				this.addType = 2;			
+				this.addType = 2;	
 				let optionData = JSON.parse(option.data)
 				this.addressData.allAddress = `${optionData.province}-${optionData.city}-${optionData.town}`
-				this.addressData.address = optionData.address?optionData.address:''
+				this.addressData.address = optionData.address
 				this.addressData.defaultFlag = optionData.defaultFlag;
 				this.addressData.userID = optionData.userID;
 				this.addressData.mobile = optionData.mobile;
@@ -88,7 +85,7 @@
 				this.addressData.addressID = optionData.addressID;
 				this.addressData.shouHuoRen = optionData.shouHuoRen;
 				this.addressData.addressID = optionData.addressID;
-				if(this.addressData.defaultFlag =='1'){
+				if(optionData.defaultFlag == 1){
 					this.switchDefault = true
 				}else{
 					this.switchDefault = false
@@ -101,9 +98,9 @@
 		methods: {			
 			switchChange(e){
 				if(e.detail.value== true){
-					this.addressData.defaultFlag = '1';
+					this.addressData.defaultFlag = 1;
 				}else{
-					this.addressData.defaultFlag = '0';
+					this.addressData.defaultFlag = 0;
 				}
 			},
 			// 三级联动选择
@@ -112,50 +109,52 @@
 				this.$refs.mpvueCityPicker.show()
 			},
 			onConfirm(e) {
-				console.log(e)
 				this.addressData.allAddress = e.name;
-				this.addressData.townID = e.townCode;	
+				this.addressData.townID = e.townCode;
 				this.initInput();
 			},			
 			//提交
 			confirm(){
-				let data = this.addressData;
-				if(!data.shouHuoRen){
+				if(!this.addressData.shouHuoRen){
 					this.$util.msg('请填写收货人');
 				}
-				if(data.address =='所在地区'){
+				if(this.addressData.address =='所在地区'){
 					this.$util.msg('请选择所在地区');
 				}
-				if(!/(^1[0-9][0-9]{9}$)/.test(data.mobile)){
+				if(!/(^1[0-9][0-9]{9}$)/.test(this.addressData.mobile)){
 					this.$util.msg('请输入正确的手机号码');
 					return;
 				}
 				if(this.addType ==1){
 					this.params ={
-							userID:data.userID  ,		//用户id ,只在新增收货地址时传
-							shouHuoRen:data.shouHuoRen ,//收货人
-							townID:data.townID,			//区ID
-							address:data.address,//地址
-							mobile:data.mobile,			//手机
-							defaultFlag:data.defaultFlag//是否默认收货地址(0 不是默认,1 默认)
+							userID:this.addressData.userID,			//用户id ,只在新增收货地址时传
+							shouHuoRen:this.addressData.shouHuoRen ,//收货人
+							townID:this.addressData.townID,			//区ID
+							address:this.addressData.address,		//地址
+							mobile:this.addressData.mobile,			//手机
+							defaultFlag:this.addressData.defaultFlag//是否默认收货地址(0 不是默认,1 默认)
 						}
 					this.postAddressData(this.params)	
 				}else{
-					this.params =  this.addressData;
+					this.params = this.addressData;
 					this.postAddressData(this.params)
 				}
 			},
-			postAddressData(params){
+			postAddressData(res){
 				this.btnText(true)
-				this.UserService.AddNewAddress(params).then( response=>{
-					this.$util.msg('保存成功',1500,true,'success')
+				this.UserService.AddNewAddress(res).then( response=>{
+					this.$util.msg('保存成功',2000,true,'success')
 					this.btnText(false)
 					setTimeout(()=>{
 						uni.navigateBack();
 					},2000)
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000);
-					this.btnText(false)
+					setTimeout(function(){
+						uni.switchTab({
+							url:'/seller/pages/index/index'
+						})
+					},1000)
 				})
 			},
 			btnText(flg){
@@ -188,7 +187,7 @@
 			}
 		},
 		onShow() {
-			this.$api.getStorage().then((resolve) =>{
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
 				this.addressData.userID = resolve.userID
 			})
 		}
@@ -201,36 +200,28 @@
 		background: $bg-color;
 		// border-top: 1px solid #EBEBEB;
 	}
-	.placeholder{color: #b2b2b2;}
 	.add-content{
 		width: 702rpx;
 		padding:0 24rpx;
 		.input-row{
+			display: flex;
 			align-items: center;
 			position: relative;
-			width: 702rpx;
+			width: 654rpx;
 			height: 88rpx;
+			padding:0 24rpx;
 			margin: 0 auto;
-			border-bottom: 2rpx solid #e1e1e1;
-			.label{
-				width:100rpx ;
-				line-height: 88rpx;
-				color: #666666;
-				font-size: $font-size-28;
-				float: left;
-				&.address{
-					width: 120rpx;
-				}
-			}
+			// background: #F7F7F7;
+			// border-radius: 14rpx;
 			.input{
-				width: 500rpx;
+				width: 100%;
 				height: 100%;
+				// background: #F7F7F7;
 				font-size: $font-size-28;
 				line-height: 88rpx;
-				display: inline-block;
 				color: #333333;
-				float: left;
-				padding-left: 20rpx;
+				border-bottom: 2rpx solid #e1e1e1;
+
 			}
 			&.b-b{
 				margin: 20rpx 0;
@@ -242,12 +233,11 @@
 		color: #b2b2b2;
 		position: absolute;
 		right: 0;
-		top: 10rpx;
 	}
 	.text-textarea{
 		width: 654rpx;
-		height: 147rpx;
-		padding: 24rpx;
+		height: 146rpx;
+		padding: 0 24rpx;
 		// background: #F7F7F7;
 		border-bottom: 2rpx solid #e1e1e1;
 		.textarea{
@@ -278,21 +268,20 @@
 		}
 	}
 	.add-btn{
-		width: 702rpx;
-		height:90rpx;
-		font-size: $font-size-30;
+		width: 600rpx;
+		height: 90rpx;
+		font-size: $font-size-28;
 		line-height: 90rpx;
 		color: #FFFFFF;
 		margin: 0 auto;
 		text-align: center;
 		background: $btn-confirm;
 		border-radius: 45rpx;
-		border-radius: 44rpx;
 		margin-top: 80rpx;
 	}
 	.add-btn.disabled{
 		background: #F8F8F8;
-		border-radius: 44rpx;
+		border-radius: 45rpx;
 	}
 </style>
 

文件差異過大導致無法顯示
+ 299 - 305
pages/user/cart/cart.vue


+ 634 - 0
pages/user/cart/immediately.vue

@@ -0,0 +1,634 @@
+<template>
+	<view class="container all-type-list-wrapper">
+		<immediately-list ref="productList"
+						  :search-status="true"
+						  @operationConfim="hanldOperationConfim"
+						  @alertjietiConfim ="hanldalertjietiConfim"
+						  @goCartPage="hanldToCartPage"
+						  :tabBars="tabBars"
+						  :tabIndex="tabIndex"
+						  @changetab="hanldChangeTab"
+						  >
+		</immediately-list>
+		<!--底部选择模态层弹窗组件 -->
+		<view class="popup spec"  :class="specClass"  @touchmove.stop.prevent="discard" @tap="hideSpec" >
+			<!-- 遮罩层 -->
+			<view class="mask"></view>
+			<view class="layer" @tap.stop="discard" :style="{paddingBottom :isIphoneX ? '68rpx' : '36rpx',bottom:isIphoneX ?'-370rpx' : '-360rpx'}">
+				<view class="content">
+					<view class="layer-smimg">
+						<image :src="handleData.p_image" mode=""></image>
+					</view>
+					<view class="layer-nunbox">
+						<view class="layer-nunbox-m" v-if="handleData.p_code!=''&& handleData.p_code!=null">商品编码:{{handleData.p_code}}</view>
+						<view class="layer-nunbox-t">
+							<view class="layer-nunbox-text">数量:</view>
+							<view class="number-box">
+								<view  class="iconfont icon-jianhao" :class="[isQuantity==true?'disabled':'']" @click="changeCountSub()"></view>
+								<input class="btn-input" type="number" v-model="number" maxlength='6'  @blur="changeNumber($event)">
+								<view  class="iconfont icon-jiahao"  :class="[isStock==true?'disabled':'']" @click="changeCountAdd()"></view>
+							</view>
+						</view>
+						<view class="layer-nunbox-b">
+							<view class="text">单价:
+								<text class="p sm">¥</text>
+								<text class="p bg">{{ buyRetailPrice | NumFormat }}</text>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="btn">
+					<view class="button add" @click="getAddProductCart">加入购物车</view>
+				</view>
+			</view>
+		</view>
+		<!-- 组合加入购物车 -->
+		<view class="popup spec zuhe" :class="specClasszuhe"  @touchmove.stop.prevent="discard" @tap="hideSpecs">
+			<!-- 遮罩层 -->
+			<view class="mask"></view>
+			<view class="layer" @tap.stop="discard" :style="{paddingBottom :isIphoneX ? '68rpx' : '36rpx',bottom:isIphoneX ?'-290rpx' : '-270rpx'}">
+				<view class="content zuhe-content">
+					<view class="number-left">
+						<text>种类:{{productKind}}</text>
+						<text>数量:{{productTotalNum}}</text>
+					</view>
+					<view class="number-right">
+						<view class="text">
+							总额:<text class="number-right-text">¥{{ productTotalAmount | NumFormat }}</text>
+						</view>
+					</view>
+				</view>
+				<view class="btn">
+					<view class="button add" @click="getzuheCart">确定</view>
+				</view>
+			</view>
+		</view>
+
+		<!--  -->
+		<view class="popup spec zuhe" :class="specClassjieti"  @touchmove.stop.prevent="discard" >
+			<view class="mask"></view>
+			<view class="jieti_box " @tap.stop="discard">
+				<view class="jieti_box_one">
+					<view class="jieti_left" >
+						<view>起订量</view>
+						<view class="ladder-a"  v-for="(item,index) in ladderPriceList" :key="index">
+							{{item.buyNumRangeShow}}
+						</view>
+					</view>
+					<view class="jieti_right" >
+						<view>价格</view>
+						<view class="" v-for="(item,index) in ladderPriceList" :key="index">¥ {{item.buyPrice | NumFormat}}</view>
+					</view>
+				</view>
+				<view class="addbtn" @tap="hideSpecjieti">知道了</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import immediatelyList from '@/components/cm-module/listTemplate/immediatelyList'
+	export default{
+		components:{
+			immediatelyList
+		},
+		data(){
+			return{
+				clubID:'',	//机构ID
+				serviceProviderId:'',//协销ID
+				serverUrl: '',
+				emptyText: '',
+				lastPageType: '',
+				lastPageVal: '',
+				isIphoneX:this.$store.state.isIphoneX,
+				specClass: '',//规格弹窗css类,控制开关动画
+				specClasszuhe:'',//组合加购物车弹窗
+				specClassjieti:'',//阶梯展示弹窗
+				ladderPriceList:{},
+				handleData:{},
+				isQuantity:false,
+				isStock:false,
+				minBuyNumber:0,
+				number:0,
+				buyRetailPrice:0,
+				hanldChangeTabIndex:0,
+				handleDataLadderPriceList:[],
+				productKind:0,
+				productTotalNum:0,
+				productTotalAmount:0,
+				buyNumRangeShow:'',//起订量范围
+				buyPrice:'',//起订量范围价格
+				buyRetailPriceStep:1,
+			}
+		},
+		onLoad() {
+
+		},
+		filters:{
+			NumFormat(value) {//处理金额
+				return Number(value).toFixed(2);
+			},
+		},	
+		methods:{
+			getClubProductNum(){
+				this.SellerService.GetSellerProductNum({clubId:this.clubID,serviceProviderId:this.serviceProviderId}).then(response =>{
+					this.$refs.productList.cartQuantity = response.data
+				})
+			},
+			hanldChangeTab(index){
+				if(index == 1){
+					this.$refs.productList.getcombinationProduct()
+				}
+			},
+			hanldalertjietiConfim(data){
+				this.ladderPriceList = data.ladderPriceList
+				this.specClassjieti='show';
+			},
+			hanldOperationConfim(data){//显示选择数量确认弹窗
+				this.handleData = data
+				console.log(this.handleData)
+				if(this.$refs.productList.tabIndex == 1){
+					if(data.productKind ==0){
+						this.$util.msg(`请至少选购一种商品`,2000);
+					}else{
+						this.specClasszuhe = 'show';
+						this.productKind= data.productKind;
+						this.productTotalNum = data.productTotalNum;
+						this.productTotalAmount = data.productTotalAmount;
+					}
+				}else{
+					this.number = data.minBuyNumber
+					this.minBuyNumber = data.minBuyNumber
+					this.buyRetailPrice = data.price;
+					this.buyRetailPriceStep = data.step
+					this.specClass = 'show';
+					if(this.handleData.ladderPriceFlag == '1'){
+						this.ProductService.GetSearchProductLadderPrice({productId:this.handleData.p_id}).then(response=>{
+							this.handleDataLadderPriceList = response.data
+							this.handleDataLadderPriceList.forEach((item,index)=>{
+								if(this.number>=item.buyNum){
+									this.buyRetailPrice = item.buyPrice
+								}
+							})
+						}).catch(error =>{
+							console.log('获取阶梯价格异常')
+						})
+					}
+				}
+			},
+			hideSpec() {//关闭选择数量确认弹窗
+				this.specClass = 'hide';
+				setTimeout(() => {
+					this.specClass = 'none';
+				}, 200);
+			},
+			hideSpecs(){
+				this.specClasszuhe='hide';
+				setTimeout(() => {
+					this.specClasszuhe='none';
+				}, 200);
+			},
+			hideSpecjieti(){
+				this.specClassjieti='hide';
+				setTimeout(() => {
+					this.specClassjieti='none';
+				}, 200);
+			},
+			changeCountAdd(){//popup弹窗数量增加按钮
+				if(this.buyRetailPriceStep == 2){
+					this.number += this.minBuyNumber
+				}else{
+					this.number++
+				}
+				this.calculatPerice()
+			},
+			changeCountSub(){//popup弹窗数量减按钮
+				if(this.number<=this.minBuyNumber){
+					this.number= this.minBuyNumber
+					this.isQuantity =true
+					this.$util.msg(`该商品最小起订量为${this.minBuyNumber}`,2000);
+					return
+				}else{
+					if(this.buyRetailPriceStep == 2){
+						this.number-=this.minBuyNumber
+					}else{
+						this.number--
+					}
+					this.calculatPerice()
+					this.isQuantity =false
+				}
+			 },
+			changeNumber(e){
+				let _value = e.detail.value;
+				if(!this.$api.isNumber(_value)){
+					this.number = this.minBuyNumber
+				}else if(_value < this.minBuyNumber){
+					this.$util.msg(`该商品最小起订量为${this.minBuyNumber}`,2000);
+					this.number = this.minBuyNumber
+				}else if( _value % this.minBuyNumber !=0 ){
+					this.$util.msg(`购买量必须为起订量的整数倍`,2000);
+					this.number = this.minBuyNumber
+				}else{
+					this.number = e.detail.value
+					this.calculatPerice()
+				}
+			},
+			calculatPerice(){//判断是否为阶梯价然后做计算价格处理
+				if(this.handleData.ladderPriceFlag == '1'){
+					this.handleDataLadderPriceList.forEach((item,index)=>{
+						if(this.number>=item.buyNum){
+							this.buyRetailPrice = item.buyPrice
+						}
+					})
+				}else{
+					this.buyRetailPrice = this.handleData.price;
+				}
+			},
+			getzuheCart(){//组合商品加入购物车
+				let productInfo=[];
+				let setGoodsList ={};
+				let productID = '';
+				let productNum ='';
+				this.handleData.combinationProductList.forEach(item =>{
+					if(item.initProductNum >0){
+						setGoodsList.productId = item.productID
+						setGoodsList.productNum =item.initProductNum
+						productInfo.push(JSON.parse(JSON.stringify(setGoodsList)))
+					}
+				})
+				let params ={
+						clubId:this.clubID,
+						serviceProviderId:this.serviceProviderId,
+						productInfo:productInfo
+					}
+				this.SellerService.ShoppingCartBatchAddCart({'params':JSON.stringify(params)}).then(response => {
+					this.specClasszuhe = 'hide';
+					this.$util.msg('加入购物车成功',1500,true,'success');
+					this.getClubProductNum();
+					this.clearProduct();//清空
+					setTimeout(() => {this.specClasszuhe = 'none'}, 200)
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000);
+				})
+			},
+			clearProduct(){//成功加入购物车后清空所选值
+				this.handleData.productKind= 0;
+				this.handleData.productTotalNum = 0;
+				this.handleData.productTotalAmount = 0;
+				this.handleData.combinationProductList.forEach(item =>{
+					item.initProductNum = 0;
+				})
+			},
+			getAddProductCart(){//增加购物车成功和toast弹窗提示成功
+				let params ={
+						productId:this.handleData.p_id,
+						clubId:this.clubID,
+						serviceProviderId:this.serviceProviderId,
+						num:this.number
+					}
+				this.SellerService.ShoppingCartAddCart(params).then(response => {
+					this.specClass = 'hide';
+					this.$util.msg('加入购物车成功',1500,true,'success')
+					this.getClubProductNum();
+					setTimeout(() => {this.specClass = 'none'}, 200)
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000);
+				})
+			},
+			hanldToCartPage(){
+				this.$api.navigateTo('/seller/pages/cart/cart')
+			},
+			discard(){
+				//丢弃
+			}
+		},
+		onShow() {
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+				this.clubID = resolve.clubID
+			})
+			this.$api.getStorage().then((resolve) =>{
+				this.serviceProviderId = resolve.serviceProviderID
+				this.getClubProductNum()
+			})
+		},
+	}
+</script>
+
+<style lang="scss">
+	// 阶梯价格弹窗
+	.jieti_box{
+		width: 596rpx;
+		// height: 496rpx;
+		top: 10%;
+		right: 50%;
+		transform: translate(50%,50%);
+		position: absolute;
+		background:#FFFFFF;
+		color: #000;
+		font-size: 28rpx;
+		border-radius: 10rpx;
+		text-align: center;
+		line-height: 84rpx;
+		padding: 20rpx;
+		z-index: 99999;
+	}
+	.jieti_box_one{
+		// width: 548rpx;
+		overflow: hidden;
+		border: 2rpx solid #F5F5F5;
+		border-bottom: 0;
+		margin: auto;
+	}
+	.jieti_left{
+		width: 298rpx;
+		float: left;
+		}
+	.jieti_left view{
+		height: 84rpx;
+		border-bottom:2rpx solid #F5F5F5 ;
+		border-right:2rpx solid #F5F5F5  ;
+	}
+	.ladder-a{
+		letter-spacing: 4rpx;
+	}
+	.jieti_right{
+			width: 294rpx;
+			float: right;
+		}
+	.jieti_right view{
+			height: 84rpx;
+			border-bottom:2rpx solid #F5F5F5;
+		}
+	.addbtn{
+			height: 84rpx;
+			background: linear-gradient(135deg,rgba(242,143,49,1) 0%,rgba(225,86,22,1) 100%);
+			text-align: center;
+			font-size: 28rpx;
+			color: #fff;
+			line-height: 84rpx;
+			border-radius: 42rpx;
+			margin: 20rpx auto
+		}
+	.zuhe-content{
+		display: inline-block;
+	}
+	.number-left{
+		float: left;
+	}
+	.number-right{
+		margin-left: 30rpx;
+		float: left;
+	}
+	.number-left text{
+		margin-left: 30rpx;
+	}
+	.number-right-text{
+		color: #FF2A2A;
+	}
+	page {
+		background: $sub-bg-color;
+		.all-type-list-wrapper {
+			display: flex;
+			flex-direction: column;
+		}
+	}
+	/* 加入购物模态层*/
+	@keyframes showPopup {
+		0% {
+			opacity: 0;
+		}
+		100% {
+			opacity: 1;
+		}
+	}
+	@keyframes hidePopup {
+		0% {
+			opacity: 1;
+		}
+		100% {
+			opacity: 0;
+		}
+	}
+	@keyframes showLayer {
+		0% {
+			transform: translateY(0);
+		}
+		100% {
+			transform: translateY(-100%);
+		}
+	}
+	@keyframes hideLayer {
+		0% {
+			transform: translateY(-100%);
+		}
+		100% {
+			transform: translateY(0);
+		}
+	}
+	@keyframes showAmnation {
+		0% {
+			top: -12rpx;
+			opacity: 0;
+		}
+		50% {
+			top: -60rpx;
+			opacity: 1;
+		}
+		100% {
+			top: -100rpx;
+			opacity: 0;
+		}
+	}
+	@keyframes hideAmnation {
+		0% {
+			top: -100rpx;
+			opacity: 0;
+		}
+		100% {
+			top: -12rpx;
+			opacity: 0;
+		}
+	}
+	.popup {
+		position: fixed;
+		top: 0;
+		width: 100%;
+		height: 100%;
+		z-index: 999;
+		display: none;
+		.mask{
+			position: fixed;
+			top: 0;
+			width: 100%;
+			height: 100%;
+			z-index: 21;
+			background-color: rgba(0, 0, 0, 0.6);
+		}
+		.layer {
+			position: fixed;
+			z-index: 22;
+			bottom: -360rpx;
+			width: 702rpx;
+			padding: 24rpx 24rpx 36rpx 24rpx;
+			// height: 236rpx;
+			border-radius: 20rpx 20rpx 0 0;
+			background-color: #fff;
+			display: flex;
+			flex-wrap: wrap;
+			align-content: space-between;
+			.content {
+				width: 100%;
+				margin-top: 20rpx;
+			}
+			.btn {
+				width: 100%;
+				// height: 88rpx;
+				display: flex;
+				.button {
+					width: 702rpx;
+					height: 88rpx;
+					color: #fff;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					font-size: $font-size-28;
+					border-radius: 44rpx;
+					background: $btn-confirm;
+					margin-top: 20rpx;
+				}
+			}
+		}
+		.layer-nunbox-m{
+			font-size: 28rpx;
+		}
+		&.show {
+			display: block;
+			.mask{
+				animation: showPopup 0.2s linear both;
+			}
+			.layer {
+				animation: showLayer 0.2s linear both;
+			}
+		}
+		&.hide {
+			display: block;
+			.mask{
+				animation: hidePopup 0.2s linear both;
+			}
+
+			.layer {
+				animation: hideLayer 0.2s linear both;
+			}
+		}
+		&.none {
+			display: none;
+		}
+		&.service {
+			.row {
+				margin: 30upx 0;
+				.title {
+					font-size: 30upx;
+					margin: 10upx 0;
+				}
+				.description {
+					font-size: 28upx;
+					color: #999;
+				}
+			}
+		}
+		.layer-smimg{
+			width: 158rpx;
+			height: 158rpx;
+			float: left;
+			border-radius: 10rpx;
+			margin-right: 24rpx;
+			image{
+				width: 158rpx;
+				height: 158rpx;
+				border-radius: 10rpx;
+			}
+		}
+		.layer-nunbox{
+			justify-content: space-between;
+			align-items: center;
+			width: 510rpx;
+			height: 88rpx;
+			padding: 10rpx 0 0 0;
+			float: left;
+			.layer-nunbox-t{
+				width: 100%;
+				height:44rpx;
+				position:relative;
+				display: flex;
+				margin-top: 10rpx;
+				.layer-nunbox-text{
+					line-height: 44rpx;
+					font-size: $font-size-28;
+				}
+				.number-box{
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					border: 2rpx solid #ffe6dc;
+					border-radius: 30rpx;
+					height: 48rpx;
+					margin-left: 20rpx;
+					.iconfont{
+						font-size: $font-size-24;
+						padding:0 18rpx;
+						color: #999999;
+						text-align: center;
+						line-height: 48rpx;
+						font-weight: bold;
+						background: #fef6f3;
+						&.icon-jianhao{
+							border-radius: 30rpx 0 0 30rpx;
+						}
+						&.icon-jiahao{
+							border-radius: 0 30rpx 30rpx 0;
+						}
+					}
+					.btn-input{
+						width: 80rpx;
+						height: 48rpx;
+						line-height: 48rpx;
+						background: #FFFFFF;
+						border-radius: 4rpx;
+						text-align: center;
+						font-size: $font-size-28;
+					}
+				}
+				.product-step{
+					position: absolute;
+					left: 45rpx;
+					bottom: 0;
+					height: 44rpx;
+					background: #FFFFFF;
+				}
+			}
+			.layer-nunbox-b{
+				width: 100%;
+				height:44rpx;
+				margin-top: 13rpx;
+			}
+			.text{
+				line-height: 44rpx;
+				font-size: $font-size-28;
+				.p{
+					color: #FF2A2A;
+				}
+				.p:first-child{
+					margin-left: 30rpx;
+				}
+				.p.sm{
+					font-size: $font-size-24;
+				}
+			}
+		}
+	}
+
+	.zuhe .layer{
+		bottom: -270rpx;
+		height: 200rpx;
+	}
+</style>

+ 373 - 0
pages/user/club/club-list.vue

@@ -0,0 +1,373 @@
+<template>
+	<view class="container club clearfix">
+		<view class="club-search clearfix">
+			<view class="search-from name">
+				<text class="iconfont icon-iconfonticonfontsousuo1"></text>
+				<input class="input" 
+					   type="text" 
+					   confirm-type="search" 
+					   v-model="searchInputVal" 
+					    @input="onShowClose" 
+					   @confirm="initclubList()" 
+					   placeholder="机构名称/联系人" 
+					   maxlength="12"/>
+				<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText()"></text>
+			</view>
+			<view class="search-btn">
+				<button class="search-btn" type="default" @click.stop="searchClubList">搜索</button>
+			</view>
+		</view>
+		<view class="club-main">
+			<view v-if="isEmpty" class="empty-container">
+				<image class="club-empty-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png" mode="aspectFit"></image>
+				<view class="txt">暂无机构数据</view>
+			</view>
+			<view v-else class="club-list">
+				<scroll-view scroll-y="true" >
+					<view class="list" v-for="(item, index) in clubList" :key="index">
+						<view class="list-left">
+							<view class="list-head"><image :src="item.headpic ? item.headpic : 'https://static.caimei365.com/app/img/icon/icon-club@3x.png'" mode=""></image></view>
+						</view>
+						<view class="list-item">
+							<view class="list-title">
+								<text class="list-name">{{item.name}}</text>
+								<text class="list-hist" @click.stop="_goHistory(item)"><text class="iconfont icon-dingdanxuanzhong"></text>订单列表</text>
+							</view>
+							<view class="list-opea">
+								<view class="btn org" @click.stop="_goImmediately(item)">
+									<text>立即下单</text>
+								</view>
+								<view class="btn gre" @click.stop="_goSecond(item)">
+									<text>二手下单</text>
+								</view>
+								<view class="btn yel" @click.stop="_goBuyagain(item)">
+									<text>再次购买</text>
+								</view>
+							</view>
+						</view>
+					</view>
+					<!--加载loadding-->
+					<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
+					<tui-nomore :visible="!pullUpOn" :backgroundColor="'#ffffff'" :text='nomoreText'></tui-nomore>
+					<!--加载loadding-->
+				</scroll-view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import authorize from '@/common/config/authorize.js'	
+	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
+	import tuiNomore from "@/components/tui-components/nomore/nomore"
+	export default {
+		components:{
+			tuiLoadmore,
+			tuiNomore,
+		},
+		data() {
+			return {
+				serviceProviderId:'',
+				isShowClose:false,
+				searchInputVal:'',
+				isEmpty:false,
+				nomoreText: '上拉显示更多',
+				status:66,
+				pageNum:1,
+				pageSize:10,
+				hasNextPage:false,
+				loadding: false,
+				pullUpOn: true,
+				pullFlag: true,
+				scrollHeight:'',
+				currPage:'',//当前页面
+				prevPage:'',//上一个页面
+				clubList:[],
+			}
+		},
+		onLoad(){				
+			this.setScrollHeight();
+		},
+		methods: {
+			setScrollHeight() {
+				// 窗口高度 - 底部距离
+				setTimeout(()=> {
+					const query = wx.createSelectorQuery().in(this);
+					query.selectAll('.add-btn').boundingClientRect();
+					query.exec(res => {
+						if(res[0][0]){
+							let winHeight = this.$api.getWindowHeight(),
+								eleTop = res[0][0].top - 1;
+								this.scrollHeight =  eleTop;
+						}
+					})
+				}, 500)
+			},
+			searchClubList(){
+				this.pageNum=1
+				this.initclubList()
+			},
+			initclubList(){
+				let params = {userIdentity:'',name:this.searchInputVal,pageNum:1,pageSize:this.pageSize,spId:this.serviceProviderId,status:this.status}
+				this.SellerService.GetSellerClubList(params).then(response =>{
+					let responseData = response.data
+					if(responseData.results&&responseData.results.length > 0){
+						this.isEmpty = false
+						this.hasNextPage = response.data.hasNextPage
+						this.clubList =responseData.results
+						this.pullFlag = false;
+						setTimeout(()=>{this.pullFlag = true;},500)
+						if(this.hasNextPage){
+							this.pullUpOn = false
+							this.nomoreText = '上拉显示更多'
+						}else{
+							this.pullUpOn = true
+							this.loadding = false
+							this.nomoreText = '已至底部'
+						}
+					}else{
+						this.isEmpty = true
+					}
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},	
+			getOnReachBottomData(){
+				this.pageNum+=1
+				let params = {userIdentity:'',name:this.searchInputVal,pageNum:this.pageNum,pageSize:this.pageSize,spId:this.serviceProviderId,status:this.status}
+				this.SellerService.GetSellerClubList(params).then(response =>{
+					let responseData = response.data
+					if(responseData.results&&responseData.results.length > 0){
+						this.hasNextPage = response.data.hasNextPage
+						this.clubList = this.clubList.concat(responseData.results) 
+						this.pullFlag = false;// 防上拉暴滑
+						setTimeout(()=>{this.pullFlag = true;},500)
+						if(this.hasNextPage){
+							this.pullUpOn = false
+							this.nomoreText = '上拉显示更多'
+						}else{
+							this.pullUpOn = false
+							this.loadding = false
+							this.nomoreText = '已至底部'
+						}
+					}
+				}).catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			onShowClose () {//输入框失去焦点时触发
+				if(this.searchInputVal != ''){
+					this.isShowClose = true
+				}else{					
+					this.isShowClose = false
+				}
+			},
+			delInputText(){//清除输入框内容
+				this.searchInputVal = ''
+				this.isShowClose = false
+			},
+			_goImmediately(item){
+				this.$api.setStorage('orderUserInfo',item)
+				this.$api.navigateTo('/seller/pages/cart/immediately')
+			},
+			_goBuyagain(item ){
+				this.$api.setStorage('orderUserInfo',item)
+				this.$api.navigateTo('/seller/pages/cart/buyagain')
+			},
+			_goSecond(item ){
+				this.$api.setStorage('orderUserInfo',item)
+				this.$api.navigateTo('/seller/pages/cart/second')
+			},
+			_goHistory(item){
+				this.$api.setStorage('orderUserInfo',item)
+				this.$api.navigateTo(`/seller/pages/order/order-historylist?clubID=${item.clubID}&listType=0`)
+			}
+		},
+		onReachBottom() {
+			if(this.hasNextPage){
+				this.loadding = true
+				this.pullUpOn = true
+				this.getOnReachBottomData()
+			}	
+		},
+		onShow() {
+			this.$api.getStorage().then(response =>{
+				this.serviceProviderId = response.serviceProviderID
+				this.pageNum = 1;
+				this.initclubList();
+			})
+		}
+	}
+</script>
+
+<style lang='scss'>
+	page {
+		height: auto;
+	}
+	page,.container{
+		/* padding-bottom: 120upx; */
+		background: #F7F7F7;
+	}
+	.container{
+		position: relative;
+	}
+	.club-search{
+		height: 64rpx;
+		width: 702rpx;
+		padding: 24rpx;
+		background: #FFFFFF;
+		display: flex;
+		align-items: center;
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 999;
+		.search-from{
+			width: 582rpx;
+			height: 64rpx;
+			background: #F7F7F7;
+			border-radius: 32rpx;
+			float: left;
+			position: relative;
+			.icon-iconfonticonfontsousuo1{
+				width: 64rpx;
+				height: 64rpx;
+				line-height: 64rpx;
+				text-align: center;
+				display: block;
+				font-size: $font-size-38;
+				float: left;
+				color: #999999;
+			}
+			.icon-shanchu1{
+				font-size: $font-size-32;
+				color: #999999;
+				position: absolute;
+				width: 64rpx;
+				height: 64rpx;
+				line-height: 64rpx;
+				text-align: center;
+				top: 0;
+				right: 0;
+				z-index: 10;
+			}
+			.input{
+				width: 500rpx;
+				height: 64rpx;
+				float: left;
+				line-height: 64rpx;
+				color: $text-color;
+				font-size: $font-size-24;
+			}
+		}
+		.search-btn{
+			width: 120rpx;
+			line-height: 64rpx;
+			text-align: center;
+			font-size: $font-size-28;
+			color: $color-system;
+			float: left;
+			background: #FFFFFF;
+		}
+	}
+	.club-main{
+		padding-top: 122rpx;
+		.list{
+			align-items: center;
+			width: 702rpx;
+			height: auto;
+			padding: 24rpx;
+			background: #FFFFFF;
+			position: relative;
+			border-bottom: 1px solid #EBEBEB;
+			display: flex;
+			.list-left{
+				height: 140rpx;
+				flex: 2;
+				margin-right: 10rpx;
+				.list-head{
+					width: 140rpx;
+					height: 140rpx;
+					border-radius: 14rpx;
+					image{
+						width: 140rpx;
+						height: 140rpx;
+						border-radius: 14rpx;
+					}
+				}
+			}
+			.list-item{
+				height: 140rpx;
+				flex: 8;
+				display: flex;
+				flex-direction:column ;
+				.list-title{
+					flex: 2;
+					line-height: 80rpx;
+					width: 100%;
+					font-size: $font-size-28;
+					color: $text-color;
+					padding-left: 11rpx;
+					flex-direction: row;
+					justify-content: flex-start;
+					.list-name{
+						width: 400rpx;
+						display: block;
+						float: left;
+						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;
+					}
+					.list-hist{
+						display: block;
+						float: right;
+						color: #E19B30;
+						font-size: $font-size-24;
+						text-align: right;
+						padding-right: 30rpx;
+						.icon-dingdanxuanzhong{
+							font-size: $font-size-34;
+							color: #E19B30;
+						}
+					}
+				}
+				.list-opea{
+					width: 100%;
+					display: flex;
+					flex: 4;
+					color: #166CE1;
+					flex-direction: row;
+					align-items: center;
+					.btn{
+						width: 156rpx;
+						height: 60rpx;
+						line-height: 60rpx;
+						border-radius: 30rpx;
+						font-size: $font-size-24;
+						color: $text-color;
+						text-align: center;
+						margin: 0 17rpx;
+						&.org{
+							background:rgba(22,225,77,.1);
+							color: #16E14D;
+						}
+						&.gre{
+							background:rgba(22,123,225,.1);
+							color: #167BE1;
+						}
+						&.yel{
+							background:rgba(225,86,22,.1);
+							color: #E15616;
+						}
+					}
+				}
+			}
+		}
+	}
+</style>
+

+ 250 - 151
pages/user/order/create-order.vue

@@ -1,33 +1,36 @@
 <template>
 	<view class="container order clearfix" :style="{paddingBottom :isIphoneX ? '170rpx' : '134rpx'}">
+		<!-- 透明模态层 -->
+		<modal-layer v-if='modallayer'></modal-layer>
 		<!-- 地址选择 -->
 		<choice-address ref="choiceAddress" v-if="isAddress" :addressData="addressData"></choice-address>
 		<!-- 商品 -->
-		<goods-list ref='goods' v-if="isRequest" :goodsData="goodsData" @handleGoodList="handChangeInputGoodsList"></goods-list>
+		<seller-goodsList ref='goods' v-if="isRequest" :goodsData="goodsData" @handleGoodList="handChangeInputGoodsList"></seller-goodsList>
 		<!-- 发票信息 -->
-		<invoice-tent ref="invoice"
-					  v-if="isRequest"
-					  :invoiceDatas="invoiceData"
-					  @handleChoiceaInvoice="handleChoiceaInvoiceData">
-		</invoice-tent>
+		<seller-invoice ref="invoice" 
+						v-if="isRequest && isDepositFlg" 
+						:invoiceDatas="invoiceData" 
+						@handleChoiceaInvoice="handleChoiceaInvoiceData">
+		</seller-invoice>
 		<!-- 运费 -->
-		<freight ref="freight"
-				 v-if="isFreight"
-				 :freightData="freightData"
-				 @confirmFreight="hanldFreightFn">
-		</freight>
+		<seller-freight ref="freight" 
+						v-if="isFreight && isDepositFlg" 
+						:freightDatas="freightData" 
+						@handleChoiceaFreight="handleChoiceaFreightData" 
+						@showFreightAlert="handFreightAlertShow">
+		</seller-freight>
 		<freight-alert v-if="isfreightTip" ref="csPhone"></freight-alert>
 		<!-- 余额抵扣 -->
-		<view class="invoice-balance" v-show="!rechargeGoods">
+		<view class="invoice-balance" v-if="!rechargeGoods">
 			<view class="balabce-t">
 				<view class="balabce-t-le">余额抵扣</view>
 				<view class="balabce-t-ri">
 					<view class="money">
 						<text>可用余额:</text>
-						<text>¥{{userMoney | NumFormat}}</text>
+						<text>¥{{ userMoney | NumFormat }}</text>
 					</view>
 					<view class="checkbox-box">
-						<button class="checkbox iconfont"
+						<button class="checkbox iconfont" 
 								hover-class="btn-hover"
 								v-if="userMoney!=0"
 								@click.stop="checkedBalabce"
@@ -37,12 +40,24 @@
 					</view>
 				</view>
 			</view>
-			<view class="balabce-b" :class="{'balabce-b--hide':!ischecked}">
+			<view class="balabce-b" :class="{'balabce-b--hide':!ischecked}">	
 				<view class="balabce-b-text animation" :style="{'transform':ischecked?'translateY(0)':'translateY(-50%)','-webkit-transform':ischecked?'translateY(0)':'translateY(-50%)'}">
-					<text>当前使用:¥{{deductMoney | NumFormat}},剩余:¥{{surplusMoney | NumFormat}}</text>
+					<text>当前使用:¥{{deductMoney | NumFormat}},剩余:¥{{ surplusMoney | NumFormat }}</text>
 				</view>
 			</view>
 		</view>
+		<!-- 售后条例 -->
+		<seller-regulations  ref="regulations"
+							 v-if="isRequest && isDepositFlg&&seconDepositFlg" 
+							:regulaDatas="regulationsData" 
+							@handleData="claData">
+		</seller-regulations>
+		<regula-alert v-if="isregulaTip" ref="csPhone"></regula-alert>
+		<!-- 返佣订单 -->
+		<view class="Rebate" @click="RebateChang" v-if="goodsData.length==1 && secondflag && isDepositFlg">
+			<text class="rebate-title">返佣订单</text>
+			<text class="iconfont" :class="rebatecheck?'icon-yixuanze':'icon-weixuanze'" ></text>
+		</view>
 		<!-- 底部 -->
 		<view class="footer" :style="{paddingBottom :isIphoneX ? '68rpx' : '0rpx'}">
 			<view class="footer-le">
@@ -50,7 +65,7 @@
 					<text>共{{allCount}}件商品</text>
 				</view>
 				<view class="footer-price">
-					<view class="sum-none" v-if="reducedPrice>0">
+					<view class="sum-none" v-if="reducedPrice > 0">
 						<text class="money-sign">¥</text>
 						<text class="money">{{ totalOriginalPrice | NumFormat }}</text>
 						<text class="money-reduced">减<text>¥{{ reducedPrice | NumFormat}}</text></text>
@@ -59,36 +74,40 @@
 				</view>
 			</view>
 			<view class="footer-submit" @click.stop="orderSubmitMit">
-				<view class="btn" :class="isSubLoading ? 'disabled' : ''" >提交订单</view>
+				<view class="btn">提交订单</view>
 			</view>
 		</view>
 	</view>
 </template>
 
 <script>
-	import choiceAddress from '@/components/cm-module/creatOrder/choiceAddress'
-	import goodsList from '@/components/cm-module/creatOrder/goodsList'
-	import invoiceTent from '@/components/cm-module/creatOrder/invoiceTent'
-	import freight from '@/components/cm-module/creatOrder/freight'
-	import freightAlert from '@/components/cm-module/modelAlert/freightAlert'
-
+	import choiceAddress from '@/components/cm-module/creatOrder/sellerAddress'  
+	import sellerGoodsList from '@/components/cm-module/creatOrder/sellerGoodsList'
+	import sellerInvoice from '@/components/cm-module/creatOrder/sellerInvoice'
+	import sellerFreight from '@/components/cm-module/creatOrder/sellerFreight'
+	import freightAlert from '@/components/cm-module/modelAlert/freightAlert.vue'
+	import sellerRegulations from '@/components/cm-module/creatOrder/sellerRegulations.vue'
+	import modalLayer from "@/components/modal-layer"
 	export default {
 		components:{
 			choiceAddress,
-			goodsList,
-			invoiceTent,
-			freight,
-			freightAlert
+			sellerGoodsList,
+			sellerInvoice,
+			sellerFreight,
+			freightAlert,
+			modalLayer,
+			sellerRegulations
 		},
 		data() {
 			return {
-				isSubLoading:false,
+				modallayer:false,
 				orderID:0,
+				clubID:'',
 				productIds:'',			  //获取上一级页面商品信息
 				productCount:'',		  //获取上一级页面商品数量
 				classifyIDS:'',			  //获取上一级页面商品分类
-				userID:'',				  //用户ID
-				cartType:'',			  //购买类型(1购物车提交,2直接购买提交)
+				serviceProviderId:'',	  //协销ID
+				cartType:3,			  	  //购买类型(1购物车提交,2直接购买提交,3协销下单
 				submitState:'',  		  //提交状态
 				balanceDeductionFlag:2,   //勾选余额的状态(1使用,2不使用)
 				allCount:1,				  //订单提交总数量
@@ -106,78 +125,124 @@
 				isAddress:false,		  //是否加载完成地址
 				isfreightTip:false,		  //控制邮费弹窗
 				ischecked:false,	      //是否勾选余额
-				hanldFreePostFlag:'',	  //邮费状态
-				hanldFreight:'',		  //邮费
 				addressData:{},			  //初始化地址信息
 				goodsData:[],			  //初始化商品信息
 				invoiceData:{type:0},	  //初始化发票信息
 				freightData:{},			  //邮费数据
 				orderInfo:[],			  //提交的商品信息
 				payInfo:{},				  //订单信息
-				rechargeGoods:null,		  //判断订单里有定金商品或者充值商品时,余额抵扣部分不显示
-				isIphoneX:this.$store.state.isIphoneX
+				rechargeGoods:false,
+				isDepositFlg:true,
+				depositIds : [6060,6061,6062,6063,6064,6065,6066,6067,6068,6069],//定金&充值余额商品ID
+				isIphoneX:this.$store.state.isIphoneX,
+				regulationsData:[],
+				clauseId:0,
+				seconDepositFlg:true,
+				rebateFlag:0,
+				rebatecheck:false,
+				productsList:[],
+				secondflag:true
 			}
 		},
 		onLoad(option){//商品数据
 			let data = JSON.parse(option.data);
+			this.allPrice = data.data.allPrice;
+			this.allCount = data.data.allCount;
+			this.payAllPrice = this.allPrice;
+			this.clubId = data.data.clubId
+			this.productCount = data.data.productCount
+			this.productIds = data.data.productID
 			if(option.type =='prodcut'){
-				this.cartType = 2
-				this.productCount = data.data.productCount
-				this.productIds = data.data.productID
+				this.getInitProdcutCrearOrder();
 			}else{
-				this.cartType = 1
-				this.productCount = data.data.productCount
-				this.productIds = data.data.productID
+				this.getInitCrearOrder();
 			}
-			this.$api.getStorage().then((resolve) =>{
-				this.userID = resolve.userID
-				this.getInitCrearOrder(option);
+			
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+				this.clubUserId = resolve.userID
 			})
 		},
 		filters:{
 			NumFormat(value) {//处理金额
 				return Number(value).toFixed(2);
 			},
-		},	
+		},
 		methods: {
-			getInitCrearOrder(option){//获取订单商品信息
-				let params ={userId:this.userID,count:this.productCount,productIds:this.productIds}
-				this.OrderService.CreateOrderInfo(params).then(response =>{
-					let resData = response.data
-					this.isRequest = true
-					this.goodsData = resData.list
-					this.userMoney = resData.userMoney
-					this.reducedPrice = resData.reducedPrice
-					this.allPrice = this.payAllPrice = resData.totalPrice
-					this.totalOriginalPrice = resData.totalOriginalPrice
-					this.rechargeGoods = resData.rechargeGoods
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
+			RebateChang(){
+				this.rebatecheck = !this.rebatecheck;
+				if(this.rebatecheck){
+					this.rebateFlag=1;
+				}else{
+					this.rebateFlag=0;
+				}
+				console.log(this.rebateFlag)
+			},
+			getInitProdcutCrearOrder(option){//二手下单初始化查询
+				this.$api.getStorage().then((resolve) =>{
+					this.seconDepositFlg = false;
+					this.serviceProviderId = resolve.serviceProviderID
+					let params ={clubId:this.clubId,serviceProviderId:this.serviceProviderId,productCount:this.productCount,productId:this.productIds}
+					this.SellerService.GetSettlementBySencondProduct(params).then(response =>{
+						let resData = response.data
+						this.isRequest = true
+						this.goodsData = resData.shopList
+						this.userMoney = resData.userMoney
+						this.secondflag = false
+					}).catch(error =>{
+						this.$util.msg(error.msg,2000)
+					})
+				})
+			},
+			getInitCrearOrder(option){//协销购物车跳转确认订单初始化信息
+				this.$api.getStorage().then((resolve) =>{
+					this.serviceProviderId = resolve.serviceProviderID
+					let params ={clubId:this.clubId,serviceProviderId:this.serviceProviderId,count:this.productCount,productIds:this.productIds}
+					this.SellerService.SellerSettlement(params).then(response =>{
+						let data = response.data
+						let productIds = []
+						this.isRequest = true
+						this.goodsData = data.shopList
+						this.userMoney = data.userMoney
+						this.reducedPrice = data.reducedPrice
+						this.totalOriginalPrice = data.reducedPrice + data.totalAmount
+						this.rechargeGoods = data.rechargeGoods
+						this.allPrice = this.payAllPrice = data.totalAmount
+						this.regulationsData = data.clauseList
+						this.goodsData.forEach(item =>{
+							this.productsList = item.productsList
+							item.productsList.forEach(pros =>{
+								if(this.depositIds.indexOf(pros.productID)>=0){
+									this.isDepositFlg = false
+								}
+							})
+						})
+						console.log(this.isDepositFlg)
+					}).catch(error =>{
+						this.$util.msg(error.msg,2000)
+					})
 				})
 			},
 			getFreightData(){//获取邮费信息
-				let params ={
-						userId:this.userID,
-						productIds:this.productIds,
-						totalPrice:this.allPrice,
-						townId:this.addressData.townID
-					}
-				this.OrderService.GetOrderPostage(params).then(response =>{
-					this.isFreight = true
-					this.freightData = response.data
-					this.hanldFreePostFlag = response.data.freePostFlag
-					this.hanldFreight = response.data.freight
-					if(this.hanldFreePostFlag == 1){
-						this.payAllPrice = this.allPrice + response.data.freight
-						this.attributePallPrice()
-					}else{
-						this.payAllPrice = this.allPrice
-						this.attributePallPrice()
-					}
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					let params ={
+							userId:resolve.userID,
+							productIds:this.productIds,
+							totalPrice:this.allPrice,
+							townId:this.addressData.townID
+						}
+					this.OrderService.GetOrderPostage(params).then(response =>{
+						this.isFreight = true
+						this.freightData = response.data
+						if(response.data.freePostFlag== 1){
+							this.payAllPrice = this.allPrice+response.data.freight
+						}else{
+							this.payAllPrice = this.allPrice
+						}
+					})
 				})
 			},
 			getAddressData(){//获取地址信息
-				this.$api.getStorage().then((resolve) => {
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
 					this.UserService.QueryAddressList({pageNum:1,pageSize:1,userID:resolve.userID}).then(response =>{
 						this.isAddress = true
 						this.addressData = {}
@@ -198,22 +263,20 @@
 			handleChoiceaInvoiceData(data){//获取发票信息
 				this.invoiceData = data
 			},
-			hanldFreightFn(data){//显示邮费弹窗
-				switch(data){
-					case 1:
-						this.hanldFreight = this.freightData.freight
-						this.hanldFreePostFlag = data
-						this.payAllPrice =this.allPrice + this.hanldFreight
-						this.attributePallPrice()
-						break
-					case -1:
-						this.hanldFreight = 0
-						this.hanldFreePostFlag = data
-						this.payAllPrice = this.allPrice
-						this.attributePallPrice()
-						break
+			handleChoiceaFreightData(data){//获取运费信息
+				if(data.freePostFlag == '1'){
+					this.freightData = data
+					this.payAllPrice = this.allPrice+parseInt(data.freight)
+					this.attributePallPrice()
+				}else{
+					this.freightData = data
+					this.payAllPrice = this.allPrice
+					this.attributePallPrice()
 				}
 			},
+			claData(id){
+				this.clauseId = id;
+			},
 			checkedBalabce(){//勾选使用余额
 				if(this.userMoney > 0){
 					this.ischecked = !this.ischecked
@@ -221,19 +284,19 @@
 						this.balanceDeductionFlag =1
 						this.attributePallPrice()
 					}else{
-						if(this.hanldFreePostFlag == 1 || this.hanldFreePostFlag == '1'){
+						this.balanceDeductionFlag = 2
+						if(this.freightData.freePostFlag == 1 || this.freightData.freePostFlag == '1'){
 							this.payAllPrice = this.allPrice+parseInt(this.freightData.freight)
 						}else{
 							this.payAllPrice = this.allPrice
 						}
-						this.balanceDeductionFlag = 2
 					}
 				}else{
 					return
 				}
-			},
+			},	
 			attributePallPrice(){//计算价格
-				if(this.hanldFreePostFlag == 1 || this.hanldFreePostFlag == '1'){
+				if(this.freightData.freePostFlag == 1 || this.freightData.freePostFlag == '1'){
 					this.attributeHashfreight(this.freightData.freight)
 				}else{
 					this.attributeNofreight()
@@ -275,65 +338,82 @@
 				}
 			},
 			orderSubmitMit(){//提交订单
-				if(this.isSubLoading){ return; }
 				if(this.addressID == ''){
 					this.$util.msg('请先添加收货地址~',2000)
 					return
 				}
+				// 处理商品信息及留言
 				this.orderInfo = this.goodsData.map(el => {
 					let productInfo = [];
-					el.cartList.forEach(item => {
+					el.productsList.forEach(item => {
 						productInfo.push({
-							productId:item.productId,
-							productNum:item.number,
+							productId:item.productID,
+							productNum:item.productCount,
+							productType:item.giftType ? Number(item.giftType) : 0,
 							presentNum:0,
-							productType:item.productType
 						})
-					})
-					return {shopId:el.id,note:el.note?el.note:'',productInfo:productInfo}
+					})				
+					return {shopId:el.shopID,note:el.note?el.note:'',productInfo:productInfo}
 				})
 				//订单信息
 				this.payInfo = {
-						clauseId:0,//条款(暂时保留)
 						orderShouldPayFee:this.payAllPrice.toFixed(2),//提交的总价
 						balancePayFlag:this.balanceDeductionFlag,//余额抵扣的状态
-						freight:parseInt(this.hanldFreight).toFixed(2),//邮费
-						freePostFlag:parseInt(this.hanldFreePostFlag)//运费形式
+						freight:parseInt(this.freightData.freight).toFixed(2),//邮费
+						freePostFlag:parseInt(this.freightData.freePostFlag),//运费形式
+						clauseId:this.clauseId,//售后条款
+						rebateFlag:this.rebateFlag,//返佣
 					}
-				let param = {
-						orderSource:6,
-						clubUserId:this.userID,
-						cartType:this.cartType,
-						addressId:this.addressID,
-						orderInfo:this.orderInfo,
-						payInfo:this.payInfo,	//订单信息
-						orderInvoice:this.invoiceData
-					}
-					// console.log(param)
-				this.isSubLoading = true;	
-				this.OrderService.CreatedOrderSubmit({'params':JSON.stringify(param)}).then(response =>{
-					const data = response.data;
-					if(data.code === '1'){
-						this.submitState ='success'
-						this.isSubLoading = false;
-						setTimeout(()=>{
-							this.isSubLoading = false;
-						},2000)
-						let data = {orderID:response.data.orderID}
-						this.$api.navigateTo(`/pages/user/order/success?data=${JSON.stringify({data:data})}`)
-					}else{
-						this.submitState ='confirm'
-						this.$util.msg('订单提交成功',3000,true,'success')
-						setTimeout(()=>{
-							this.isSubLoading = false;
-						},2000)
-						setTimeout(()=>{
-							this.$api.redirectTo(`/pages/user/order/order-payment?type=${this.submitState}&orderID=${response.data.orderID}`)
-						},3000)
+					console.log(this.payInfo)
+				let params = {
+						orderSource:6,				  //提交来源
+						clubUserId:this.clubUserId,   //机构UserID
+						cartType:this.cartType,		  //从购物车提交
+						serviceProviderId:this.serviceProviderId,//帮下单协销ID
+						addressId:this.addressID,	  //地址ID
+						orderInfo:this.orderInfo,	  //商品信息
+						payInfo:this.payInfo,		  //订单信息
+						orderInvoice:this.invoiceData //发票信息
 					}
-				}).catch(error =>{
-					this.$util.msg(error.msg,3000);
-				})
+				this.modalLayer = true;	
+				if(this.rebateFlag == 1){
+					this.$util.modal('','确定该订单为返佣订单吗?点击确定按钮继续提交订单','确定','取消',true,() =>{
+						this.SellerService.SellerCreateOrderSubmit({'params':JSON.stringify(params)}).then(response =>{
+							const data = response.data;
+							if(data.code === '1'){
+								this.$util.msg('支付成功',2000,true,'success')
+								setTimeout(() =>{
+									this.$api.redirectTo(`/seller/pages/order/order-details?type=cash&orderID=${data.orderID}`)
+								},2000)
+							}else{
+								this.$util.msg('订单提交成功',2000,true,'success')
+								setTimeout(()=>{
+									this.$api.redirectTo(`/seller/pages/order/order-details?type=cash&orderID=${data.orderID}`)
+								},2000)
+							}
+						}).catch(error =>{
+							this.$util.msg(error.msg,2000);
+						})
+					})
+					return
+				}else{
+					this.SellerService.SellerCreateOrderSubmit({'params':JSON.stringify(params)}).then(response =>{
+						const data = response.data;
+						if(data.code === '1'){
+							this.$util.msg('支付成功',2000,true,'success')
+							setTimeout(() =>{
+								this.$api.redirectTo(`/seller/pages/order/order-details?type=cash&orderID=${data.orderID}`)
+							},2000)
+						}else{
+							this.$util.msg('订单提交成功',2000,true,'success')
+							setTimeout(()=>{
+								this.$api.redirectTo(`/seller/pages/order/order-details?type=cash&orderID=${data.orderID}`)
+							},2000)
+						}
+					}).catch(error =>{
+						this.$util.msg(error.msg,2000);
+					})
+				}
 			},
 			handFreightAlertShow(){//显示邮费弹窗
 				this.isfreightTip = true;
@@ -343,7 +423,7 @@
 			},
 		},
 		onShow() {
-			// this.addressID = ''
+			// this.addressID = ''		
 			let pages = getCurrentPages();
 			let currPage = pages[pages.length-1];
 			if(currPage.data.select =='select'){
@@ -373,9 +453,6 @@
 		transition-duration: 0.3s;
 		transition-timing-function: ease;
 	}
-	.order{
-		padding-bottom: 134rpx;
-	}
 	.invoice-freight{
 		width: 702rpx;
 		padding: 0 24rpx;
@@ -443,12 +520,13 @@
 						-webkit-tap-highlight-color: transparent;
 						overflow: hidden;
 						color: $color-system;
+						padding: 5rpx;
 					}
-				}
+				}	
 			}
 		}
 		.balabce-b{
-			width: 100%;
+			width: 100%;	
 			float: left;
 			overflow: hidden;
 			.balabce-b-text{
@@ -463,7 +541,7 @@
 				padding: 0 0;
 				height: 0px;
 				line-height: 0px;
-			}
+			}	
 		}
 	}
 	.footer{
@@ -489,8 +567,9 @@
 		.footer-count{
 			float: left;
 			padding-left: 24rpx;
-			width:180rpx;
+			width:190rpx;
 			box-sizing: border-box;
+			font-size: $font-size-26;
 		}
 		.footer-price{
 			width:370rpx;
@@ -555,12 +634,32 @@
 				text-align: center;
 				line-height: 80rpx;
 				border-radius: 40rpx;
-				&.disabled{
-					background: #e4e8eb;
-					color: #999999;
-				}
 			}
 		}
 	}
-
+	.Rebate{
+		width: 702rpx;
+		height: auto;
+		padding: 0 24rpx;
+		background: #FFFFFF;
+		float: left;
+		margin-bottom: 24rpx;
+		margin-bottom: 24rpx;
+		line-height: 86rpx;
+		.rebate-title{
+			float: left;
+			font-weight: bold;
+			color: #333333;
+			font-size: $font-size-28;
+		}
+		.iconfont{
+			float: right;
+			color: #b2b2b2;
+			font-size: 40rpx;
+			&.icon-yixuanze{
+				color: $color-system;
+			}
+		}
+	}
+	
 </style>

+ 0 - 256
pages/user/order/order-sharelogin.vue

@@ -1,256 +0,0 @@
-<template>
-	<view class="container login" v-if="isShareStatus">
-		<view class="container-main clearfix">
-			<view class="main-title">此订单包含如下商品:</view>
-			<view class="main-list clearfix">
-				<view class="main-list-item" v-for="(item, index) in productList" :key="index">
-					<view class="item-image">
-						<image :src="item.productImage" mode="scaleToFill"></image>
-					</view>
-					<view class="item-mesage">
-						<view class="item-name">{{item.name}}</view>
-						<view class="item-num"><text>X</text>{{item.num}}</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="container-footer">
-			<view class="login-btn" @click.stop="goLogin(1)">账号登录查看</view>
-			<view class="login-btn" @click.stop="goLogin(2)">使用分享码查看</view>
-			<view class="pay-statustext">
-				<view class="pay-statustext-inner">
-					<view class="pay-icon">
-						<text class="iconfont icon-gantanhao-yuankuang"></text>
-					</view>
-					<view class="pay-text">
-						<text>使用账号登录支持确认订单和直接付款,使用分享码只支持查看订单,不能操作</text>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-<script>
-	import authorize from '@/common/config/authorize.js' 
-	export default{
-		data() {
-			return{
-				imagePath:'https://img.caimei365.com/group1/M00/03/83/Cmis214FbbCAQhKoAAKWfqqSIds292.png',
-				shareCode:'',  		//获取用户登录的邀请码
-				isUserInfo:false,	//控制显示授权弹窗
-				nickName:'',		//存储用户名
-				userInfo:'',		//存储微信用户授权信息
-				orderID:0,			//订单ID
-				userID:0,			//分享人的用户ID
-				isShareStatus:false,
-				serviceProviderId:'',
-				productList:[]
-			}
-		},
-		onLoad(e) {
-			console.log(e)
-			this.orderID = e.orderID
-			this.userID = e.userID
-			if(e.serviceProviderId){
-				this.serviceProviderId = e.serviceProviderId
-			}
-		},
-		methods:{
-			initQueryUser(){
-				authorize.getCode('weixin').then(wechatcode =>{
-					let params ={
-							code:wechatcode,
-							orderID:this.orderID,
-							userID:this.userID,
-							shareCode:this.shareCode,
-							serviceProviderId:this.serviceProviderId
-						}
-					this.OrderService.OrderShareCode(params).then(response =>{
-						console.log(response.code)
-						if(response.code === 2){
-							this.$api.navigateTo(`/seller/pages/order/order-details?type=share&orderID=${this.orderID}`)
-						}else if(response.code === 0) {
-							console.log(response.data)
-							if(response.data == true){//同为会所运营人员查看订单详情
-								this.$api.navigateTo(`/pages/user/order/order-details?type=share&orderID=${this.orderID}`)
-							}else{//游客第二次查看订单详情
-								this.$api.redirectTo(`/pages/user/order/order-sharedetails?orderID=${this.orderID}`)
-							}
-						}else if(response.code === -2){
-							this.$util.modal('提示',response.msg,'确定','',false,() =>{})
-						}else{
-							console.log(response.msg);
-							this.getOrderCommodityData()
-						}
-					})
-				})
-			},
-			getOrderCommodityData(){//查询订单商品信息s
-				console.log('22222222222')
-				this.OrderService.OrderCommodityData({orderId:this.orderID}).then(response =>{
-					this.productList = response.data
-					this.isShareStatus = true
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			goLogin(index){
-				switch(index){
-					case 1:
-						this.$store.commit('setLoginType',7)
-						this.$store.commit('setLoginOrderId',this.orderID)
-						this.$api.navigateTo('/pages/login/login')
-						break;
-					case 2:
-						this.$api.navigateTo(`/pages/user/order/orderShareLogin?orderID=${this.orderID}&userID=${this.userID}`)
-						break;
-				}
-			}
-		},
-		onShow() {
-			this.initQueryUser()
-		}
-	}
-</script>
-
-<style lang="scss">
-	.login{
-		width: 100%;
-		height:100%;
-		background: #F7F7F7;
-		.model-warp.none{
-			display: none;			
-		}
-		.model-warp.show{
-			display: block;
-		}
-		.container-main{
-			width: 100%;
-			height: auto;
-			padding-top:80rpx ;
-			padding-bottom: 352rpx;
-			.main-title{
-				width: 100%;
-				height: 80rpx;
-				padding: 0 20rpx;
-				background-color: #F7F7F7;
-				line-height: 80rpx;
-				text-align: left;
-				font-size: $font-size-30;
-				color: #333;
-				box-sizing: border-box;
-				position: fixed;
-				top: 0;
-				left: 0;
-			}
-			.main-list{
-				box-sizing: border-box;
-				width: 100%;
-				height: auto;
-				background-color: #FFFFFF;
-				.main-list-item{
-					box-sizing: border-box;
-					width: 100%;
-					height: 200rpx;
-					padding: 20rpx;
-					border-bottom: 1px solid #F7F7F7;
-					.item-image{
-						width: 160rpx;
-						height: 160rpx;
-						float: left;
-						image{
-							width: 160rpx;
-							height: 160rpx;
-							display: block;
-						}
-					}
-					.item-mesage{
-						width: 530rpx;
-						height: 160rpx;
-						float: left;
-						margin-left: 20rpx;
-						.item-name{
-							width: 100%;
-							height:84rpx;
-							line-height: 42rpx;
-							font-size: $font-size-28;
-							color: #333333;
-							text-align: justify;
-							text-overflow:ellipsis;
-							display: -webkit-box;
-							word-break: break-all;
-							-webkit-box-orient: vertical;
-							-webkit-line-clamp: 2;
-							overflow: hidden;
-						}
-						.item-num{
-							width: 100%;
-							height:46rpx;
-							line-height: 46rpx;
-							margin-top: 30rpx;
-							font-size: $font-size-28;
-							color: #333333;
-							text-align: left;
-							text{
-								font-size: $font-size-20;
-							}
-						}
-					}
-				}
-			}
-		}
-		.login-btn{
-			width: 702rpx;
-			height: 88rpx;
-			font-size: $font-size-28;
-			line-height: 88rpx;
-			color: #FFFFFF;
-			margin: 0 auto;
-			margin-bottom: 24rpx;
-			text-align: center;
-			background: $btn-confirm;
-			border-radius: 14rpx;
-		}
-		.container-footer{
-			box-sizing: border-box;
-			width: 100%;
-			height: 352rpx;
-			padding: 0 24rpx;
-			padding-top: 24rpx;
-			padding-bottom: 24rpx;
-			background-color: #FFFFFF;
-			position: fixed;
-			bottom: 0;
-			left: 0;
-		}
-		.pay-statustext{
-			width: 100%;
-			height: auto;
-			float: left;
-			.pay-statustext-inner{
-				width: 100%;
-				margin: 0 auto;
-				.pay-icon{
-					width: 62rpx;
-					height: 100%;
-					float: left;
-					text-align: center;
-					.iconfont{
-						color: $color-system;
-						font-size:$font-size-36;
-						line-height: 20rpx;
-					}
-				}
-				.pay-text{
-					width: 635rpx;
-					height: 100%;
-					float: left;
-					line-height: 40rpx;
-					font-size: $font-size-26;
-					color: $color-system;
-					text-align: justify;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 412
pages/user/regularPurchase/regularPurchase.vue

@@ -1,412 +0,0 @@
-<template>
-	<view class="container all-type-list-wrapper">
-		<product-list ref="productList" @operationConfim="hanldOperationConfim"></product-list>
-		<!--底部选择模态层弹窗组件 -->
-		<view class="popup spec" :class="specClass"  @touchmove.stop.prevent="discard" @tap="hideSpec">
-			<!-- 遮罩层 -->
-			<view class="mask"></view>
-			<view class="layer" @tap.stop="discard" :style="{paddingBottom :isIphoneX ? '68rpx' : '36rpx',bottom:isIphoneX ?'-332rpx' : '-294rpx'}">
-				<view class="content">
-					<view class="layer-smimg">
-						<image :src="handleData.mainImage" mode=""></image>
-					</view>
-					<view class="layer-nunbox">
-						<view class="layer-nunbox-t">
-							<view class="layer-nunbox-text">数量:</view>
-							<view class="number-box">
-								<view  class="iconfont icon-jianhao" :class="[isQuantity==true?'disabled':'']" @click="changeCountSub()"></view>
-								<input class="btn-input" type="number" v-model="number" maxlength='4'  @blur="changeNumber($event)">
-								<view  class="iconfont icon-jiahao"  :class="[isStock==true?'disabled':'']" @click="changeCountAdd()"></view>
-							</view>
-						</view>
-						<view class="layer-nunbox-b">
-							<view class="text">单价:
-								<text class="p sm">¥</text>
-								<text class="p bg">{{buyRetailPrice.toFixed(2)}}</text>
-							</view>
-						</view>
-					</view>
-				</view>
-				<view class="btn">
-					<view class="button buy" @click="toConfirmation">立即购买</view>
-					<view class="button add" @click="getAddProductCart">加入购物车</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import productList from '@/components/cm-module/listTemplate/productList'
-	export default{
-		components:{
-			productList
-		},
-		data(){
-			return{
-				userID: '',
-				serverUrl: '',
-				emptyText: '',
-				lastPageType: '',
-				lastPageVal: '',
-				isIphoneX:this.$store.state.isIphoneX,
-				specClass: '',//规格弹窗css类,控制开关动画
-				handleData:{},
-				isQuantity:false,
-				isStock:false,
-				minBuyNumber:0,
-				number:0,
-				buyRetailPrice:0,
-				buyRetailPriceStep:1,
-			}
-		},
-		onLoad() {
-
-		},
-		methods:{
-			hanldOperationConfim(data){//显示选择数量确认弹窗
-				this.specClass = 'show'
-				this.handleData = data
-				this.minBuyNumber = data.minBuyNumber
-				this.buyRetailPrice = data.retailPrice
-				this.buyRetailPriceStep = data.step
-				if(this.handleData.ladderPriceFlag == '1'){
-					this.number = data.maxBuyNumber
-				}else{
-					this.number = data.minBuyNumber
-				}
-			},
-			hideSpec() {//关闭选择数量确认弹窗
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 200);
-			},
-			changeCountAdd(){//popup弹窗数量增加按钮
-				if(this.buyRetailPriceStep == 2){
-					this.number += this.minBuyNumber
-				}else{
-					this.number++
-				}
-				this.calculatPerice()
-			},
-			changeCountSub(){//popup弹窗数量减按钮
-				if(this.number<=this.minBuyNumber){
-					this.number= this.minBuyNumber
-					this.isQuantity =true
-					this.$util.msg(`该商品最小起订量为${this.minBuyNumber}`,2000);
-					return
-				}else{
-					if(this.buyRetailPriceStep == 2){
-						this.number-=this.minBuyNumber
-					}else{
-						this.number--
-					}
-					this.calculatPerice()
-					this.isQuantity =false
-				}
-			 },
-			changeNumber(e){
-				let _value = e.detail.value;
-				if(!this.$api.isNumber(_value)){
-					this.number = this.minBuyNumber
-				}else if(_value < this.minBuyNumber){	
-					this.$util.msg(`该商品最小起订量为${this.minBuyNumber}`,2000);
-					this.number = this.minBuyNumber
-				}else if( _value % this.minBuyNumber !=0 ){
-					this.$util.msg(`购买量必须为起订量的整数倍`,2000);
-					this.number = this.minBuyNumber
-				}else{
-					this.number = e.detail.value
-					this.calculatPerice()
-				}
-			},
-			calculatPerice(){//判断是否为阶梯价然后做计算价格处理
-				if(this.handleData.ladderPriceFlag == '1'){
-					this.handleData.ladderPriceList.forEach((item,index)=>{
-						if(this.number>=item.buyNum){
-							this.buyRetailPrice = item.buyPrice
-						}
-					})
-				}
-			},
-			toConfirmation(){//跳转确认订单页面
-				this.specClass = 'hide';
-				let productStp ={
-						allPrice:this.number*this.buyRetailPrice,
-						allCount:this.number,
-						productID:this.handleData.productID,
-						productCount:this.number
-				}	
-				this.$api.navigateTo(`/pages/user/order/create-order?type=prodcut&data=${JSON.stringify({data:productStp})}`)
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 200);
-			},
-			getAddProductCart(){//增加购物车成功和toast弹窗提示成功
-				this.ProductService.shoppingAddCart({productID:this.handleData.productID,userID:this.userID,productCount:this.number}).then(response => {
-					this.specClass = 'hide';
-					this.$util.msg(response.msg,1500,true,'success')
-					setTimeout(() => {this.specClass = 'none'}, 200)
-					this.$refs.productList.cartQuantity = response.data
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
-				})
-			},
-			discard(){
-				//丢弃
-			}
-		},
-		onShow() {
-			let pages = getCurrentPages(),thisPage = pages[pages.length - 1];
-			this.$api.getStorage().then((resolve) =>{
-				this.userID = resolve.userID
-			})
-		},
-	}
-</script>
-
-<style lang="scss">
-	page {
-		background: $sub-bg-color;
-		.all-type-list-wrapper {
-			display: flex;
-			flex-direction: column;
-		}
-	}
-	/* 加入购物模态层*/
-	@keyframes showPopup {
-		0% {
-			opacity: 0;
-		}
-		100% {
-			opacity: 1;
-		}
-	}
-	@keyframes hidePopup {
-		0% {
-			opacity: 1;
-		}
-		100% {
-			opacity: 0;
-		}
-	}
-	@keyframes showLayer {
-		0% {
-			transform: translateY(0);
-		}
-		100% {
-			transform: translateY(-100%);
-		}
-	}
-	@keyframes hideLayer {
-		0% {
-			transform: translateY(-100%);
-		}
-		100% {
-			transform: translateY(0);
-		}
-	}
-	@keyframes showAmnation {
-		0% {
-			top: -12rpx;
-			opacity: 0;
-		}
-		50% {
-			top: -60rpx;
-			opacity: 1;
-		}
-		100% {
-			top: -100rpx;
-			opacity: 0;
-		}
-	}
-	@keyframes hideAmnation {
-		0% {
-			top: -100rpx;
-			opacity: 0;
-		}
-		100% {
-			top: -12rpx;
-			opacity: 0;
-		}
-	}
-	.popup {
-		position: fixed;
-		top: 0;
-		width: 100%;
-		height: 100%;
-		z-index: 999;
-		display: none;
-		.mask{
-			position: fixed;
-			top: 0;
-			width: 100%;
-			height: 100%;
-			z-index: 21;
-			background-color: rgba(0, 0, 0, 0.6);
-		}
-		.layer {
-			position: fixed;
-			z-index: 22;
-			bottom: -294rpx;
-			width: 702rpx;
-			padding: 24rpx 24rpx 36rpx 24rpx;
-			height: 236rpx;
-			border-radius: 20rpx 20rpx 0 0;
-			background-color: #fff;
-			display: flex;
-			flex-wrap: wrap;
-			align-content: space-between;
-			.content {
-				width: 100%;
-			}
-			.btn {
-				width: 100%;
-				height: 88rpx;
-				display: flex;
-				.button {
-					width: 340rpx;
-					height: 88rpx;
-					color: #fff;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					font-size: $font-size-28;
-					border-radius: 44rpx;
-					&.buy{
-						background: $btn-confirm;
-					}
-					&.add{
-						background: rgba(239, 175, 0, 1);
-						margin-left: 20rpx;
-					}
-				}
-			}
-		}
-		
-		&.show {
-			display: block;
-			.mask{
-				animation: showPopup 0.2s linear both;
-			}
-			.layer {
-				animation: showLayer 0.2s linear both;
-			}
-		}
-		&.hide {
-			display: block;
-			.mask{
-				animation: hidePopup 0.2s linear both;
-			}
-			
-			.layer {
-				animation: hideLayer 0.2s linear both;
-			}
-		}
-		&.none {
-			display: none;
-		}
-		&.service {
-			.row {
-				margin: 30upx 0;
-				.title {
-					font-size: 30upx;
-					margin: 10upx 0;
-				}
-				.description {
-					font-size: 28upx;
-					color: #999;
-				}
-			}
-		}
-		.layer-smimg{
-			width: 114rpx;
-			height: 114rpx;
-			float: left;
-			border-radius: 10rpx;
-			margin-right: 24rpx;
-			image{
-				width: 114rpx;
-				height: 114rpx;	
-				border-radius: 10rpx;
-			}
-		}
-		.layer-nunbox{
-			justify-content: space-between;
-			align-items: center;
-			width: 536rpx;
-			height: 88rpx;
-			padding: 13rpx 0 0 0;
-			float: left;
-			.layer-nunbox-t{
-				width: 100%;
-				height:44rpx;
-				position:relative;
-				display: flex;
-				.layer-nunbox-text{
-					line-height: 44rpx;
-					font-size: $font-size-28;
-				}
-				.number-box{
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					border: 2rpx solid #ffe6dc;
-					border-radius: 30rpx;
-					height: 48rpx;
-					margin-left: 20rpx;
-					.iconfont{
-						font-size: $font-size-24;
-						padding:0 18rpx;
-						color: #999999;
-						text-align: center;
-						line-height: 48rpx;
-						font-weight: bold;
-						background: #fef6f3;
-						&.icon-jianhao{
-							border-radius: 30rpx 0 0 30rpx;
-						}
-						&.icon-jiahao{
-							border-radius: 0 30rpx 30rpx 0;
-						}
-					}
-					.btn-input{
-						width: 62rpx;
-						height: 48rpx;
-						line-height: 48rpx;
-						background: #FFFFFF;
-						border-radius: 4rpx;
-						text-align: center;
-						font-size: $font-size-28;
-					}
-				}
-				.product-step{
-					position: absolute;
-					left: 45rpx;
-					bottom: 0;
-					height: 44rpx;
-					background: #FFFFFF;
-				}
-			}
-			.layer-nunbox-b{
-				width: 100%;
-				height:44rpx;
-				margin-top: 13rpx;
-			}
-			.text{
-				line-height: 44rpx;
-				font-size: $font-size-28;
-				.p{
-					color: #FF2A2A;
-				}
-				.p:first-child{
-					margin-left: 30rpx;
-				}
-				.p.sm{
-					font-size: $font-size-24;
-				}
-			}
-		}
-	}	
-</style>

+ 0 - 0
pages/service/sellconten.vue → pages/user/service/sellconten.vue


+ 0 - 12
services/index.js

@@ -5,41 +5,29 @@ import CommonService from './common.service'
 import LocateService from './locate.service'
 import UserService from './user.service'
 import ProductService from './product.service'
-import ShopService from './shop.service'
 import PayService from './pay.service'
 import PhotoService from './photo.service'
 import SellerService from './sellse.service'
-import ActivityService from './activity.service'
 import OrderService from './order.service'
-import SecondService from './second.service'
 import PublicService from './public.service.js'
-import OtherService from './other.service.js'
 
 let commonService = new CommonService(ajaxService)
 let locateService = new LocateService(ajaxService)
 let userService = new UserService(ajaxService)
 let productService = new ProductService(ajaxService)
-let shopService = new ShopService(ajaxService)
 let payService = new PayService(ajaxService)
 let photoService = new PhotoService(ajaxService)
 let sellerService = new SellerService(ajaxService)
-let activityService = new ActivityService(ajaxService)
 let orderService = new OrderService(ajaxService)
-let secondService = new SecondService(ajaxService)
 let publicService = new PublicService(ajaxService)
-let otherService = new OtherService(ajaxService)
 
 Vue.prototype.AjaxService = ajaxService
 Vue.prototype.CommonService = commonService
 Vue.prototype.LocateService = locateService
 Vue.prototype.UserService = userService
 Vue.prototype.ProductService = productService
-Vue.prototype.ShopService = shopService
 Vue.prototype.PayService = payService
 Vue.prototype.PhotoService = photoService
 Vue.prototype.SellerService = sellerService
-Vue.prototype.ActivityService = activityService
 Vue.prototype.OrderService = orderService
-Vue.prototype.SecondService = secondService
 Vue.prototype.PublicService = publicService
-Vue.prototype.OtherService = otherService

部分文件因文件數量過多而無法顯示