From 98f4b7ec4164ec1c6798c8c4188b93f4ce48ec46 Mon Sep 17 00:00:00 2001
From: xuxy <1059738716@qq.com>
Date: 星期三, 10 七月 2024 23:39:57 +0800
Subject: [PATCH] update收获地址

---
 pages/home/components/home-banner-imgs.vue |   42 +
 pages/home/home.vue                        |  276 +----
 common/self.scss                           |   12 
 sub_pages/customer/shopping/shopping.vue   |    3 
 pages.json                                 |    9 
 pages/user/user-customer.scss              |   41 
 pages/home/components/home-top-flow.vue    |  149 +++
 pages/home/components/home-zones.vue       |  191 ++++
 components/footer/main.scss                |   60 +
 pages/home/home.scss                       |  109 +-
 pages/user/address/address.vue             |  398 +++++++++
 /dev/null                                  |  144 ---
 pages/home/components/home-price.vue       |  147 +++
 components/footer/customer-footer.vue      |   28 
 pages/user/user.scss                       |   28 
 sub_pages/customer/trade/trade.vue         |  603 ++++++++++++++
 pages/home/components/home-category.vue    |   69 +
 pages/user/supplier-user.vue               |  111 +
 18 files changed, 1,925 insertions(+), 495 deletions(-)

diff --git a/common/self.scss b/common/self.scss
index dece188..9f3c54a 100644
--- a/common/self.scss
+++ b/common/self.scss
@@ -177,7 +177,13 @@
 .m-l-40 {
 	margin-left: 80rpx;
 }
-
+.m-l-5{
+	margin-left: 10rpx;
+}
+.m-l-12{
+	margin-left: 24rpx;
+	
+}
 .m-r-a {
 	margin-right: auto;
 }
@@ -195,7 +201,9 @@
 	margin-right: 4rpx;
 
 }
-
+.m-r-5{
+	margin-right: 10rpx;
+}
 .m-r-10 {
 	margin-right: 20rpx;
 
diff --git a/components/footer/customer-footer.vue b/components/footer/customer-footer.vue
index 7298a72..c953cce 100644
--- a/components/footer/customer-footer.vue
+++ b/components/footer/customer-footer.vue
@@ -1,25 +1,25 @@
 <template>
-	<view class="footer flex customer-footer" style="">
+	<view class="footer flex customer-footer flex-wrap-normal" style="">
 		<view v-for="(item,index) in tabBar" :key="index" class="footer-item">
-			<view class="item flex" :class="flg==index?'cur':''" @click="go(index,item)">
+			<view class="item" :class="flg==index?'cur':''" @click="go(index,item)">
 
 				<view v-if="index==0">
 					<image src="../../static/images/customer/footer/footer-home-1.png" class="footer-icon" v-if="flg==0"></image>
 					<image src="../../static/images/customer/footer/footer-home-0.png" class="footer-icon" v-if="flg!=0"></image>
 				</view>
 				<view v-if="index==1">
-					<image src="../../static/images/customer/footer/footer-trade-1.png" class="footer-icon" v-if="flg==0"></image>
-					<image src="../../static/images/customer/footer/footer-trade-0.png" class="footer-icon" v-if="flg!=0"></image>
+					<image src="../../static/images/customer/footer/footer-trade-1.png" class="footer-icon" v-if="flg==1"></image>
+					<image src="../../static/images/customer/footer/footer-trade-0.png" class="footer-icon" v-if="flg!=1"></image>
 				</view>
 				<view v-if="index==2">
-					<image src="../../static/images/customer/footer/footer-shopping-1.png" class="footer-icon" v-if="flg==0">
+					<image src="../../static/images/customer/footer/footer-shopping-1.png" class="footer-icon" v-if="flg==2">
 					</image>
-					<image src="../../static/images/customer/footer/footer-shopping-0.png" class="footer-icon" v-if="flg!=0">
+					<image src="../../static/images/customer/footer/footer-shopping-0.png" class="footer-icon" v-if="flg!=2">
 					</image>
 				</view>
 				<view v-if="index==3">
-					<image src="../../static/images/customer/footer/footer-self-1.png" class="footer-icon" v-if="flg==1"></image>
-					<image src="../../static/images/customer/footer/footer-self-0.png" class="footer-icon" v-if="flg!=1"></image>
+					<image src="../../static/images/customer/footer/footer-self-1.png" class="footer-icon" v-if="flg==3"></image>
+					<image src="../../static/images/customer/footer/footer-self-0.png" class="footer-icon" v-if="flg!=3"></image>
 				</view>
 
 				<view>
@@ -38,18 +38,22 @@
 			return {
 				tabBar: [{
 
-						"text": "首页"
+						"text": "首页",
+						"pagePath":'/pages/home/home'
 					},
 					{
 
-						"text": "交易大厅"
+						"text": "交易大厅",
+						"pagePath":'/sub_pages/customer/trade/trade'
 					},
 					{
 
-						"text": "购物车"
+						"text": "购物车",
+						"pagePath":'/sub_pages/customer/shopping/shopping'
 					},
 					{
-						"text": "我的"
+						"text": "我的",
+						"pagePath":'/pages/user/supplier-user'
 					}
 				]
 			}
diff --git a/components/footer/main.scss b/components/footer/main.scss
index 86527b8..03a0964 100644
--- a/components/footer/main.scss
+++ b/components/footer/main.scss
@@ -109,4 +109,62 @@
 		border-radius: 50rpx;
 		color: var(--topicolor);
 	}
-}
\ No newline at end of file
+}
+
+.footer.customer-footer{
+	background-color: #fff;
+	bottom: 0rpx;
+	left:0rpx;
+	right: 0rpx;
+	width: 750rpx;
+	.footer-item{
+		flex: 1;
+		border-radius: 50rpx;
+		padding: 8rpx;
+		
+		.item {
+	
+		    font-family: PingFangSC-Regular, PingFang SC;
+		    font-weight: 400;
+		    // color: #A1A6B3;
+		    color: var(--topicgray);
+			flex-direction: column;
+		    align-items: center;
+			text-align: center;
+			min-width: 100rpx;
+			font-size: 24rpx;
+			color: #000000;
+			line-height: 34rpx;
+			color: #20613D;
+			min-height: 40rpx;			
+			// .footer-bottom-brand-icon{
+			// 	width: 90rpx;
+			// 	height:70rpx;
+			// }
+			// .footer-icon{
+			// 	width: 50rpx;
+			// 	height: 50rpx;
+			// 	margin-top: 20rpx;
+			// }
+	
+			.footer-icon.0 {
+			  width: 37rpx;
+			  height: 43rpx;
+			}
+			.footer-icon.1 {
+				width: 38rpx;
+				height: 39rpx;
+			}
+			.footer-icon.2 {
+				width: 39rpx;
+				height: 38rpx;
+			}
+			.footer-icon.3 {
+				width: 31rpx;
+				height: 38rpx
+			}
+		}
+	}
+	
+}
+ 
\ No newline at end of file
diff --git a/pages.json b/pages.json
index cd0f85d..780dd3b 100644
--- a/pages.json
+++ b/pages.json
@@ -4,6 +4,7 @@
 		"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
 	},
 	"pages": [
+		
 		// #ifdef PUB_CUSTOMER 
 		{
 			"path": "pages/home/home",
@@ -66,6 +67,14 @@
 				"navigationBarTitleText": "修改密码",
 				"enablePullDownRefresh": false
 			}
+		},
+		{
+			"path" : "pages/user/address/address",
+			"style" : 
+			{
+				"navigationBarTitleText" : "收货地址",
+				"enablePullDownRefresh" : false
+			}
 		}
 	],
 
diff --git a/pages/home/components/home-banner-imgs.vue b/pages/home/components/home-banner-imgs.vue
new file mode 100644
index 0000000..ef00757
--- /dev/null
+++ b/pages/home/components/home-banner-imgs.vue
@@ -0,0 +1,42 @@
+<template>
+	<view class="flex home-banner-imgs">
+		<view class="flex1 m-r-5">
+			<image class="p1 img100" src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/b1/b1e7dc929b53412bbea72c9ca3f9aa25%E4%BD%8D%E5%9B%BE@2x%20(1).png" ></image>
+		</view>
+		<view class="flex1 m-l-5">
+			<image class="p2 img100" src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/86/86605e258843479f828ce6749010d791%E4%BD%8D%E5%9B%BE@2x%20(2).png"></image>
+			<image class="p3 img100" src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/76/76532c632d28449a9f93a4228a7b851e%E4%BD%8D%E5%9B%BE@2x%20(3).png"></image>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+.home-banner-imgs{
+	.p1{
+		// width: 334rpx;
+		height: 308rpx;
+		width: 100%;
+	}
+	.p2{
+		// width: 334rpx;
+		width: 100%;
+		height: 142rpx;
+	}
+	.p3{
+		width: 100%;
+		margin-top: 18rpx;
+		// width: 334rpx;
+		height: 142rpx;
+	}
+}
+</style>
diff --git a/pages/home/components/home-category.vue b/pages/home/components/home-category.vue
new file mode 100644
index 0000000..1768fea
--- /dev/null
+++ b/pages/home/components/home-category.vue
@@ -0,0 +1,69 @@
+<template>
+	<view class="home-category">
+		<view class="flex">
+			<view class="t1">06-03(今日)第一场交易中</view>
+			<view class="t2">当前在售123435扎</view>
+		</view>
+		<view class="m-t-12 flex">
+			<view class="item" v-for="(item,index) of list" :key="index">
+				<image class="icon img100" :src="item.url"></image>
+				<view>{{item.name || '-'}}</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		beforeMount() {
+			for (var i = 0; i < 10; i++) {
+				this.list.push({
+					'url': 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/e2/e2ee2fa7cdef458ba748261305edc57435549b9113807b6fbbfd4bfa456334d.png',
+					'name': '玫瑰'
+				})
+			}
+		},
+		data() {
+			return {
+				list: [],
+
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+	.home-category {
+		.item {
+			text-align: center;
+			font-weight: 400;
+			font-size: 28rpx;
+			color: #000000;
+			line-height: 40rpx;
+			min-width: 20%;
+			margin-bottom: 28rpx;
+			.icon {
+				width: 94rpx;
+				height: 94rpx;
+				border-radius: 50%;
+			}
+		}
+
+		.t1 {
+			font-size: 28rpx;
+			color: #333333;
+			line-height: 50rpx;
+			font-weight: 600;
+		}
+
+		.t2 {
+			margin-left: auto;
+			padding: 8rpx;
+			font-size: 24rpx;
+			color: #5B8C71;
+			line-height: 34rpx;
+			background: #E1F0E7;
+			border-radius: 4rpx;
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/pages/home/components/home-price.vue b/pages/home/components/home-price.vue
new file mode 100644
index 0000000..4065062
--- /dev/null
+++ b/pages/home/components/home-price.vue
@@ -0,0 +1,147 @@
+<template>
+	<view class="home-price">
+		<view class="flex t1">
+			<view>2024-06-03 09:20:19 花满芜成交均价</view>
+			<uni-icons class="m-l-a m-r-0" type="right"></uni-icons>
+		</view>
+		<view class="items" style="border-top: 2rpx solid #EEEEEE;">
+			<view class="flex" style="border-bottom: 2rpx solid #EEEEEE;padding-top: 24rpx;">
+				<view class="item flex1">
+					<view class="title">单头玫瑰</view>
+					<view class="price">
+						19.66
+					</view>
+					<view class="flex desc">
+						<view class="m-l-a m-r-a">+0.76</view>
+						<view class="m-l-a m-r-a text-right">+4.02%</view>
+					</view>
+				</view>
+				<view class="line"></view>
+				<view class="item flex1">
+					<view class="title">单头玫瑰</view>
+					<view class="price">
+						19.66
+
+					</view>
+					<view class="flex desc">
+						<view class="m-l-a m-r-a">+0.76</view>
+						<view class="m-l-a m-r-a text-right">+4.02%</view>
+					</view>
+				</view>
+				<view class="line"></view>
+				
+				<view class="item flex1">
+					<view class="title">单头玫瑰</view>
+					<view class="price">
+						19.66
+					</view>
+					<view class="flex desc">
+						<view class="m-l-a m-r-a">+0.76</view>
+						<view class="m-l-a m-r-a text-right">+4.02%</view>
+					</view>
+				</view>
+			</view>
+			<!-- <u-divider></u-divider> -->
+			<view class="flex" style="padding-top: 24rpx;">
+				<view class="item flex1">
+					<view class="title">单头玫瑰</view>
+					<view class="price">
+						19.66
+					</view>
+					<view class="flex desc">
+						<view class="m-l-a m-r-a">+0.76</view>
+						<view class="m-l-a m-r-a text-right">+4.02%</view>
+					</view>
+				</view>
+				<view class="line"></view>
+				<view class="item flex1">
+					<view class="title">单头玫瑰</view>
+					<view class="price">
+						19.66
+			
+					</view>
+					<view class="flex desc">
+						<view class="m-l-a m-r-a">+0.76</view>
+						<view class="m-l-a m-r-a text-right">+4.02%</view>
+					</view>
+				</view>
+				<view class="line"></view>
+				
+				<view class="item flex1">
+					<view class="title">单头玫瑰</view>
+					<view class="price">
+						19.66
+					</view>
+					<view class="flex desc">
+						<view class="m-l-a m-r-a">+0.76</view>
+						<view class="m-l-a m-r-a text-right">+4.02%</view>
+					</view>
+				</view>
+			</view>
+			
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+	.home-price {
+		margin-top: 20rpx;
+		height: 414rpx;
+		background: #FFFFFF;
+		border-radius: 8rpx;
+		padding: 20rpx;
+
+		.items {
+			.line {
+				height: 104rpx;
+				background-color: #EEEEEE;
+				width: 2rpx;
+			}
+
+			.item {
+				padding: 24rpx 14rpx;
+
+				.title {
+					text-align: center;
+					font-weight: 600;
+					font-size: 24rpx;
+					color: #000000;
+					line-height: 34rpx;
+				}
+
+				.price {
+					font-weight: 600;
+					font-size: 32rpx;
+					color: #BF0000;
+					line-height: 44rpx;
+					text-align: center;
+				}
+
+				.desc {
+					font-weight: 400;
+					font-size: 24rpx;
+					color: #666666;
+					line-height: 34rpx;
+				}
+			}
+		}
+
+		.t1 {
+			font-weight: 400;
+			font-size: 24rpx;
+			color: #000000;
+			line-height: 34rpx;
+			padding-bottom: 18rpx;
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/pages/home/components/home-top-flow.vue b/pages/home/components/home-top-flow.vue
new file mode 100644
index 0000000..1b5e2ba
--- /dev/null
+++ b/pages/home/components/home-top-flow.vue
@@ -0,0 +1,149 @@
+<template>
+	<view class="home-top-flow">
+		<view class="item flex" v-for="(item,index) of list" :key="index">
+			<view class="img">
+				<image class="img img100"
+					src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/ff/fff3027bd0a146478fd1f0aae816a028%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20240710224139.png">
+				</image>
+				<view class="level">
+					A级
+				</view>
+			</view>
+
+			<view class="m-l-12 info-container flex1">
+				<view class="title">
+					橙色芭比
+					<view class="price">
+						¥6.60/扎
+					</view>
+				</view>
+				<view class="tags">
+					<view class="tag red">限时抢购</view>
+					<view class="tag green">品质严选</view>
+				</view>
+				<view class="shop-name">
+					小石头花卉
+				</view>
+				<view class="other-info flex">
+					<view class="m-r-15">
+						已售:7
+					</view>
+					<view class="m-r-15">
+						剩余:13
+					</view>
+					<view class="m-r-15">
+						1支/扎
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				list: [{}, {}, {}, {}]
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+	.home-top-flow {
+		.item {
+			margin-top: 20rpx;
+			background: #FFFFFF;
+			border-radius: 8rpx;
+			padding: 10rpx;
+
+			.info-container {
+				
+				.other-info {
+					margin-top: 6rpx;
+					font-size: 24rpx;
+					color: #666666;
+					line-height: 34rpx;
+					text-align: left;
+				}
+
+				.shop-name {
+					margin-top: 14rpx;
+					font-size: 24rpx;
+					color: #666666;
+					line-height: 34rpx;
+				}
+
+				.tags {
+					margin-top: 12rpx;
+					display: flex;
+
+					.tag {
+						min-width: 80rpx;
+						padding-left: 20rpx;
+						padding-right: 20rpx;
+						line-height: 36rpx;
+						background: #FEE6E6;
+						border-radius: 21rpx;
+						font-size: 24rpx;
+						color: #CD1212;
+						margin-right: 12rpx;
+					}
+
+					.tag.green {
+						color: rgba(110, 159, 102, 1);
+						background: rgba(202, 229, 214, 1);
+						border-radius: 21rpx;
+						// opacity: 0.57;
+					}
+				}
+
+				.title {
+					font-weight: 600;
+					font-size: 32rpx;
+					color: #000000;
+					line-height: 44rpx;
+					margin-top: 8rpx;
+					position: relative;
+
+					.price {
+						position: absolute;
+						font-weight: 400;
+						font-size: 28rpx;
+						color: #CF0000;
+						line-height: 40rpx;
+						top: 0;
+						right: 0;
+					}
+				}
+
+			}
+
+			.img {
+				width: 206rpx;
+				height: 206rpx;
+				border-radius: 8rpx;
+				position: relative;
+
+				.level {
+					position: absolute;
+					width: 66rpx;
+					height: 44rpx;
+					background: #20613D;
+					left: 0;
+					top: 0;
+					border-top-left-radius: 8rpx;
+					border-bottom-right-radius: 8rpx;
+					color: #FFFFFF;
+					line-height: 44rpx;
+					font-size: 24rpx;
+					text-align: center;
+				}
+
+			}
+
+
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/pages/home/components/home-zones.vue b/pages/home/components/home-zones.vue
new file mode 100644
index 0000000..c9b656f
--- /dev/null
+++ b/pages/home/components/home-zones.vue
@@ -0,0 +1,191 @@
+<template>
+	<view class="home-zones">
+		<view class="c">
+			<image class="p1 img100" :lazy-load="true" mode="aspectFit"
+				src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/eb/eba404b98a224edc82897fe9647902e7%E4%BD%8D%E5%9B%BE@2x%20(4).png">
+			</image>
+			<view class="c-txt-1">
+				<view class="title">婚礼酒店专区</view>
+				<view class="flex">
+					<view class="desc">查看详情</view>
+					<view class="right m-l-5">
+						<uni-icons class="icon" type="right" color="#C3B8A0" size="12"></uni-icons>
+					</view>
+
+				</view>
+			</view>
+		</view>
+		<view class="c">
+			<image class="p2 img100 m-t-12" :lazy-load="true" mode="aspectFit"
+				src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/52/52deec39e6ff47efb4855cda8766f29e%E8%B7%AF%E5%BE%84%204@2x.png">
+			</image>
+			<view class="c-txt-1" style="top: 60rpx;">
+				<view class="title">特惠专区</view>
+				<view class="flex">
+					<view class="desc">查看详情</view>
+					<view class="right m-l-5">
+						<uni-icons class="icon" type="right" color="#C3B8A0" size="12"></uni-icons>
+					</view>
+
+				</view>
+			</view>
+		</view>
+		<view class="flex m-t-12">
+			<view class="flex1 c m-r-5">
+				<image class="p3  img100" :lazy-load="true" mode="aspectFit"
+					src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/87/8787940a92524d7a9805a9184946cfaf%E4%BD%8D%E5%9B%BE@2x%20(5).png">
+				</image>
+				<view class="c-txt-2">
+					<view class="title">品质专区</view>
+					<view class="flex">
+						<view class="desc">查看详情</view>
+						<view class="right m-l-5">
+							<uni-icons class="icon" type="right" color="#ffffff" size="9"></uni-icons>
+						</view>
+
+					</view>
+				</view>
+			</view>
+			<view class="flex1 c m-l-5">
+				<image class="p4  img100" :lazy-load="true" mode="aspectFit"
+					src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/0e/0eb0917d31e64c849f250b6e0a825b25%E4%BD%8D%E5%9B%BE@2x%20(6).png">
+				</image>
+				<view class="c-txt-2 red">
+					<view class="title">秒杀专区</view>
+					<view class="flex">
+						<view class="desc">查看详情</view>
+						<view class="right m-l-5">
+							<uni-icons class="icon" type="right" color="#ffffff" size="9"></uni-icons>
+						</view>
+
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+	.home-zones {
+		margin-top: 20rpx;
+
+		.c {
+			position: relative;
+
+			.c-txt-1 {
+				position: absolute;
+				left: 38rpx;
+				top: 40rpx;
+
+				.title {
+					font-weight: 600;
+					font-size: 36rpx;
+					color: #FFFFFF;
+					line-height: 50rpx;
+					margin-bottom: 8rpx;
+				}
+
+				.desc {
+					font-weight: 400;
+					font-size: 28rpx;
+					color: #FFFFFF;
+					line-height: 40rpx;
+				}
+
+				.right {
+					background: #FFFFFF;
+					border-radius: 50%;
+					width: 28rpx;
+					height: 28rpx;
+					margin-top: 6rpx;
+					position: relative;
+
+					.icon {
+						position: absolute;
+						top: -10rpx;
+						left: 2rpx;
+					}
+				}
+			}
+
+			.c-txt-2 {
+				position: absolute;
+				left: 22rpx;
+				top: 50rpx;
+
+				.title {
+					font-weight: 600;
+					font-size: 28rpx;
+					color: #535FCA;
+					line-height: 40rpx;
+					margin-bottom: 2rpx;
+				}
+
+				.desc {
+					font-weight: 400;
+					font-size: 24rpx;
+					color: #535FCA;
+					line-height: 34rpx;
+				}
+
+				.right {
+					background: #535FCA;
+					border-radius: 50%;
+					width: 24rpx;
+					height: 24rpx;
+					margin-top: 6rpx;
+					position: relative;
+
+					.icon {
+						position: absolute;
+						top: -14rpx;
+						left: 4rpx;
+					}
+				}
+			}
+
+			.c-txt-2.red {
+				.title {
+					color: #892E2E;
+				}
+				.desc {
+					color: #892E2E;
+				}
+				.right{
+					background: #892E2E;
+				}
+			}
+		}
+
+		.p1 {
+			width: 100%;
+			height: 176rpx;
+		}
+
+		.p2 {
+			width: 100%;
+			height: 176rpx;
+
+		}
+
+		.p3 {
+			width: 100%;
+			height: 176rpx;
+		}
+
+		.p4 {
+			width: 100%;
+			height: 176rpx;
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/pages/home/home.scss b/pages/home/home.scss
index bd9753a..0ebf45b 100644
--- a/pages/home/home.scss
+++ b/pages/home/home.scss
@@ -14,78 +14,69 @@
 	.home-banner-image{
 		width: 750rpx;
 		background-size: 100% 100%;
-		height: 472rpx;
+		height: 306rpx;
 		
 	}
 	swiper {
-		height: 472rpx;
+		height: 306rpx;
 	}
 	.swiper-box{
 		position: relative;
 		swiper-item{
 			background-color: #fff;
+			border-radius: 8rpx;
 		}
 	}
-	.home-shop-top{
-		position: relative;
-		// width: 690rpx;
-		height: 488rpx - 36rpx;
-		padding: 18rpx;
-		padding-top: 36rpx;
-		padding-bottom: 0rpx;
-		
-		background: linear-gradient(360deg, #DDECE4 0%, #B8D9C6 100%) #AEDCC7;
-		border-radius: 20rpx;
-		// padding: 1;
-		.title{
-			width: 164rpx;
-			height: 42rpx;
-			margin-bottom: 16rpx;
-		}
-		.icon{
-			position: absolute;
-			width: 114rpx;
-			height: 110rpx;
-			right: 48rpx;
-			top: 20rpx;
-			z-index: 1;
-		}
-		.card-list-item{
-			z-index: 2;
-		}
-	}
-	.home-travel-top{
-		position: relative;
-		// width: 690rpx;
-		min-height: 490rpx - 36rpx - 16rpx;
-		background: #A9DAEB;
-		border-radius: 20rpx;
-		padding: 18rpx;
-		padding-bottom: 16rpx;
-		padding-top: 36rpx;
-		.title{
-			width: 126rpx;
-			height: 40rpx;
-			margin-bottom: 16rpx;
-		}
-		.icon{
-			position: absolute;
-			width: 314rpx;
-			right: 60rpx;
-			top: 26rpx;
-			height:98rpx;
-			z-index: 0;
-			
-		}
-		/deep/ .card-list-item{
-			position: relative;
-			z-index: 2;
-		}
-	}
+
+	
 }
 
 
-
+.main-container.user-home{
+	min-height: 99vh;
+	padding: 30rpx;
+	background: #F7F7F7;
+	position: relative;
+	.bg-top-green{
+		height: 197px;
+		background: #CAE5D6;
+		position: absolute;
+		left: 0rpx;
+		right: 0rpx;
+		top: 0rpx;
+		z-index: 0;
+	}
+	.school{
+		position: relative;
+		z-index: 1;
+	}
+	.search-container {
+		display: flex;
+		margin: 12rpx 0rpx 20rpx 0rpx;
+		position: relative;
+		z-index: 1;
+	
+		.input {
+			// flex: 1;
+			// max-width: 400rpx;
+			background-color: #fff !important;
+			// line-height: 58rpx;
+			// height: 58rpx;
+			border-radius: 8rpx;
+		}
+	
+		.button {
+			min-width: 120rpx;
+			max-width: 120rpx;
+			margin-left: auto;
+			margin-right: 0rpx;
+			text-align: right;
+			line-height: 70rpx !important;
+			// height: 58rpx !important;
+			// display: flex;
+		}
+	}
+}
 .main-container.home{
 	background-image: url('https://hmy-flower.oss-cn-shanghai.aliyuncs.com/2a/2aa62e6bd1f74456b005d3f57daa54adbg.png');
 	min-height: 99vh;
diff --git a/pages/home/home.vue b/pages/home/home.vue
index e89364d..805733e 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -1,23 +1,25 @@
 <template>
-	<view class="main-container home">
+	<view class="main-container user-home">
+		<view class="bg-top-green"></view>
 		<!-- 顶部,可能 -->
-		<view class="school" :style="{'background-color': color,'padding-top':(StatusBar)+'px'
+		<view class="school" :style="{'padding-top':(StatusBar)+'px'
 		,height:CustomBar+'rpx','line-height':CustomBar+'rpx' }">
-			<view class="home-logo"></view>
-
-			<picker @change="PickerChangeSchool" :value="schoolIndex" :range="schools" range-key="name">
+			<picker @change="PickerChangeSchool" :value="areaIndex" :range="schools" range-key="name">
 				<view class="picker flex">
-					<!-- <text class="cuIcon-locationfill"></text> -->
-					<uni-icons type="location" class="m-l-15 m-r-5" size="18"></uni-icons>
+					<uni-icons type="location" class="m-r-5" size="18"></uni-icons>
 					<view>
-						{{ schoolIndex>=0&&schools[schoolIndex].name ? schools[schoolIndex].name : '选择校区' }}
+						{{ areaIndex>=0&&schools[areaIndex].name ? schools[areaIndex].name : '选择位置' }}
 					</view>
-					<!-- <text class="cuIcon-unfold margin-left-xs"></text> -->
 				</view>
 			</picker>
 		</view>
-		<!-- <view :style="{'background-color': color,'padding-top':(StatusBar)+'px',height:CustomBar+'px'}"></view> -->
-
+		<view class="search-container m-t-12 flex">
+			<view class="flex1 input">
+				<u--input placeholder="请输入花名" v-model="search_flow" @confirm="buttonSearchFlow" suffixIcon="search"
+					:suffixIconStyle="{'font-size':'24px','color': '#20613D'}" >
+				</u--input>
+			</view>
+		</view>
 
 		<!-- banner -->
 		<uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="currentBanner"
@@ -31,84 +33,35 @@
 						</image>
 					</view>
 				</swiper-item>
-				<animation-words :words="words" v-if="words&&words.length>0"></animation-words>
-
 			</swiper>
 			<swiper class="swiper-box" @change="changeBanner" :current="0" v-if="!banners||banners.length==0">
 				<swiper-item v-for="(item, index) in 1" :key="index">
 					<view class="swiper-item" :class="'swiper-item' + index">
 						<image class="home-banner-image" mode="scaleToFill"
-							src="https://xy-go.oss-cn-beijing.aliyuncs.com/51/51abd2f29d104a78a5d6dcc27078716a位图@2x (4).png">
+							src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/62/62ddac6297104e369aba646be704064dbanner@2x.png">
 						</image>
 					</view>
 				</swiper-item>
-				<animation-words :words="words" v-if="words&&words.length>0"></animation-words>
-
 			</swiper>
 		</uni-swiper-dot>
 		<!-- tip -->
-		<view class="p10">
-			<uni-notice-bar @click="getNoticeMore" v-if="currentNotice&&currentNotice.id" class="notice-bar"
-				color="#333" background-color="#fff" show-get-more show-icon :scrollable="scrollable"
-				:text="currentNotice.title" :key="currentNotice.id" />
+		<view class="m-t-12" @click="getNoticeMore">
+			<uni-notice-bar class="notice-bar" color="#333" background-color="#fff" show-get-more show-icon
+				:scrollable="scrollable" :text="currentNotice.title" :key="currentNotice.id" />
 			<span v-if="!currentNotice||!currentNotice.id">&nbsp;</span>
 		</view>
+		<!-- 当前分类 -->
+		<home-category></home-category>
+		<!-- 特别的几个公告图片 -->
+		<home-banner-imgs></home-banner-imgs>
+		<!-- 均价情况 -->
+		<home-price></home-price>
+		<!-- 几个专区 -->
+		<home-zones></home-zones>
+		<!-- 置顶的花列表 -->
+		<home-top-flow></home-top-flow>
 
-		<!-- 各种按钮 -->
-		<home-buttons></home-buttons>
-		<!-- 推荐的成团的 -->
-		<view class="p15" style="padding-top: 0rpx;" v-if="tuangouList&&tuangouList.length>0">
-			<view class="home-shop-top">
-				<!-- <view>即将成团</view> -->
-				<image src="../../static/imgs/home/home-shop-top-txt.png" mode="aspectFit" class="title"></image>
-				<image src="../../static/imgs/home/home-shop-top-icon.png" mode="aspectFit" class="icon"></image>
-
-				<card-list-item type='shop' :dto="tuangouList[0]" @pop="pop"></card-list-item>
-			</view>
-		</view>
-		<!-- 出去玩的 -->
-		<view class="p15" style="padding-top: 0rpx;padding-bottom: 0rpx;" v-if="tripList&&tripList.length>0">
-			<view class="home-travel-top">
-				<!-- <view>粗去玩</view> -->
-				<image src="../../static/imgs/home/home-travel-top-txt.png" mode="aspectFit" class="title"></image>
-				<image src="../../static/imgs/home/home-travel-top-icon.png" mode="aspectFit" class="icon"></image>
-				<card-list-item type='travel' :dto="tripList[0]"></card-list-item>
-			</view>
-		</view>
-
-		<!-- 3个tab选项 -->
-
-		<view class="p15" style="padding-bottom: 10rpx;">
-			<!-- @change="changeTab" -->
-			<top-tabs :tabs="tabs" :flg.sync="tabIndex"></top-tabs>
-
-
-
-		</view>
-		<!-- 根据不同的 -->
-		<view class="" style="padding-left: 30rpx;padding-right: 30rpx;">
-			<view v-show="tabIndex==0" style="min-height: 400rpx;">
-				<!-- 加载推荐位置的? -->
-				<no-data v-if="!tuangouList||tuangouList.length==0" style="width: 100%;"></no-data>
-				<view class="m-b-24" v-for="item of tuangouList">
-					<card-list-item type='shop' :dto="item" @pop="pop"></card-list-item>
-				</view>
-			</view>
-			<view v-show="tabIndex==1" style="min-height: 400rpx;">
-				<!-- 加载推荐位置的? -->
-				<no-data v-if="!tripList||tripList.length==0" style="width: 100%;"></no-data>
-
-				<view class="m-b-24" v-for="item of tripList">
-					<card-list-item type='travel' :dto="item" class="m-b-24"></card-list-item>
-				</view>
-
-			</view>
-		</view>
-		<view v-show="tabIndex==2" style="margin-top: -10rpx;">
-			<home-goods ref="homegoods"></home-goods>
-
-		</view>
-		<view style="padding-bottom:200rpx">
+		<view style="min-height:200rpx">
 		</view>
 		<common-footer flg="0"></common-footer>
 
@@ -116,40 +69,32 @@
 </template>
 
 <script>
-	import homeButtons from './components/home-buttons.vue'
-	import homeGoods from './components/home-goods.vue'
-	import animationWords from '@/components/animation-words'
+	import homePrice from './components/home-price.vue'
+	import homeBannerImgs from './components/home-banner-imgs.vue'
+	import homeZones from './components/home-zones.vue'
+	import homeTopFlow from './components/home-top-flow.vue'
+	import homeCategory from './components/home-category.vue'
 
 	export default {
 		components: {
-			homeButtons,
-			homeGoods,
-			animationWords
+			homeCategory,
+			homePrice,
+			homeBannerImgs,
+			homeZones,
+			homeTopFlow
 		},
 
 		data() {
 			return {
+				search_flow: '',
 				CustomBar: uni.getStorageSync('CustomBar'),
 				StatusBar: uni.getStorageSync('StatusBar'),
 				// StatusBar:0,
 				color: '#fff',
 				schools: [],
-				schoolIndex: -1,
+				areaIndex: -1,
 				scrollable: false,
-				tabs: [{
-						name: '团购',
-						id: 'shop'
-					},
-					{
-						name: '粗去玩',
-						id: 'travel'
-					},
-					{
-						name: '挖宝商品',
-						id: 'good'
-					},
-				],
-				tabIndex: 2,
+
 				info: [{
 						colorClass: 'uni-bg-red',
 						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
@@ -193,7 +138,6 @@
 				tripList: [],
 				tuangouList: [],
 				hide_footer: false,
-				words: [], //弹幕
 				noticeList: [],
 				currentNoticeIndex: 0,
 				currentNotice: {
@@ -201,16 +145,16 @@
 				}
 			};
 		},
-		onShareAppMessage() {
-			// let that = this;
-			// var url =
-			// 	`/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`; //你的转发页面路径拼接参数
-			// return {
-			// 	title: "校购GO小狗狗",
-			// 	path: url,
-			// }
-		},
-		onShareTimeline() {
+		// onShareAppMessage() {
+		// let that = this;
+		// var url =
+		// 	`/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`; //你的转发页面路径拼接参数
+		// return {
+		// 	title: "校购GO小狗狗",
+		// 	path: url,
+		// }
+		// },
+		// onShareTimeline() {
 		// 	let that = this;
 		// 	var url = "/pages/home/home" //你的分享页面路径
 		// 	return {
@@ -224,13 +168,13 @@
 		onLoad() {
 			// console.log('home created')
 			//这里进行一次初始化即可
-			this.$http.request('get', '/api/school/area/list', {
+			// this.$http.request('get', '/api/school/area/list', {
 
-			}).then(res => {
-				if (res.code == 0) {
-					this.schools = res.data || []
-				}
-			})
+			// }).then(res => {
+			// 	if (res.code == 0) {
+			// 		this.schools = res.data || []
+			// 	}
+			// })
 			//获取banner图
 			this.$http.request('get', '/api/ua/banner/list', {
 
@@ -239,34 +183,16 @@
 					this.banners = res.data.records || []
 				}
 			})
-			// uni.setStorageSync('schoolId', this.school[parseInt(e.detail.value)].id);
-			// uni.setStorageSync('schoolIndex', parseInt(e.detail.value));
-			var schoolIndex = uni.getStorageSync('schoolIndex')
-			if (!schoolIndex && schoolIndex !== 0) {
+
+			var areaIndex = uni.getStorageSync('areaIndex')
+			if (!areaIndex && areaIndex !== 0) {
 
 			} else {
-				this.schoolIndex = schoolIndex
+				this.areaIndex = areaIndex
 			}
-			this.changeTab(this.tabIndex)
-			this.changeTab(0)
-			this.changeTab(1)
 
-			this.$http.request('get', '/api/brand/wish/list', {
-				params: {
-					size: 10,
-					show: true,
-					status: 'A'
-				}
-			}).then(res => {
-				if (res.code == 0) {
-					this.words = (res.data && res.data.records || []).map(item => {
-						return {
-							...item,
-							randomnum: Math.floor(Math.random() * 10) + Math.floor(Math.random() * 30)
-						}
-					})
-				}
-			})
+
+
 			//公告
 			this.$http.request('get', '/api/ua/announcement/list', {
 				params: {
@@ -311,89 +237,33 @@
 
 		},
 		methods: {
-
+			buttonSearchFlow() {
+				console.log('buttonSearchFlow')
+			},
 			pop(status) {
 				this.hide_footer = !!status
 			},
 			changeBanner(e) {
 				this.currentBanner = e.detail.current
 			},
-			changeTab(e) {
-				// this.tabIndex
-				if (e == 2) {
-					this.$nextTick(() => {
-						this.$refs.homegoods.updateGoods()
-					})
-				}
-				if (e == 0) {
-					//团购
-					// tripList:[],
-					// :[],
-					//可能没必要重复了先,todo
-					this.$http.request('get', '/api/buy/customer/group/list', {
-						params: {
-							size: 4,
-							status: 'A'
-						}
-					}).then(res => {
-						if (res.code == 0) {
-							this.tuangouList = res.data.records || []
-						}
-					})
-				}
-				if (e == 1) {
-					this.$http.request('get', '/api/trip/customer/list', {
-						params: {
-							size: 3,
-							status: 'J'
-						}
-					}).then(res => {
-						if (res.code == 0) {
-							this.tripList = res.data.records || []
-						}
-					})
-				}
-				// console.log('changeTab',e)
-				// updateGoods
-				// 
-			},
+
 			getNoticeMore() {
-				if (this.currentNotice.id) {
-					// uni.navigateTo({
-					// 	url: '/pages/notice/notice?id=' + this.currentNotice.id
-					// })
-				}
 				uni.navigateTo({
 					url: '/pages/notice/list?id=' + this.currentNotice.id
 				})
 			},
 			PickerChangeSchool(e) {
 				if (e.detail.value == '-1') {
-					this.$message.showToast('未选择校区')
+					this.$message.showToast('未选择位置')
 					return
 				}
 				console.log(' this.schools', this.schools, parseInt(e.detail.value), e);
-				// this.setData({
-				//     index: e.detail.value,
-				//     schoolInfo: this.school[parseInt(e.detail.value)],
-				//     s_id: this.school[parseInt(e.detail.value)].s_id,
-				//     current: 0
-				// });
 
-				this.schoolIndex = parseInt(e.detail.value)
-				uni.setStorageSync('schoolId', this.schools[parseInt(e.detail.value)].id);
-				uni.setStorageSync('schoolIndex', parseInt(e.detail.value));
-				// if (uni.getStorageSync('token')) {
-				//     this.userChangeSchool(this.school[parseInt(e.detail.value)].s_id)
-				// }
-				// this.getSchoolInfo(this.school[parseInt(e.detail.value)].s_id);
-				// this.getSysparment(); //全局加载变量设置为真,信息圈的列表需要重新加载
-				// // this.getOrderData();
-				// // this.getHistoryList();
-				// this.getRank();
-				// this.setData({
-				//     dataList: []
-				// });
+
+				this.areaIndex = parseInt(e.detail.value)
+				uni.setStorageSync('areaId', this.schools[parseInt(e.detail.value)].id);
+				uni.setStorageSync('areaIndex', parseInt(e.detail.value));
+
 			},
 
 		}
diff --git a/pages/user/address/address.vue b/pages/user/address/address.vue
new file mode 100644
index 0000000..75053a7
--- /dev/null
+++ b/pages/user/address/address.vue
@@ -0,0 +1,398 @@
+<template>
+	<!-- 收获地址列表 -->
+	<view class="p15 container-address">
+		<no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
+
+		<!-- 循环 -->
+		<view v-for="(item,index) of list" :key="index" class="location-each">
+			<view class="flex">
+				<view class="container-info">
+					<view class="flex">
+						<view class="name">{{item.name || '-'}}</view>
+						<view class="tel">{{item.tel||'-'}}</view>
+					</view>
+					<view class="address">
+						{{item.address}}
+
+					</view>
+				</view>
+				<!-- <view class="h-line"></view> -->
+				<view class="edit" @click="()=>{
+					this.submitForm = {
+						...item
+					}
+					openAddressForm()
+				}">
+					<uni-icons type="compose" class="icon" color="#666666"></uni-icons>
+				</view>
+			</view>
+			<view class="v-line"></view>
+			<view class="flex">
+				<view class="flex" @click="changeDefaultAddress(item,index)">
+					<!-- <label class="radio flex" > -->
+					<!-- 		<radio value="r1" :checked="item.defaulted" disabled
+							style="transform:scale(0.6)" v-if="item.defaulted" />
+						<radio value="r1" 
+							style="transform:scale(0.6)" :checked="item.defaulted" v-if="!item.defaulted"  @change="changeDefaultAddress(item,index)"/>	
+							 -->
+
+					<!-- </label> -->
+					<view class="radio m-t-2 m-r-10" :class="[item.defaulted?'select':'']">
+
+					</view>
+					<span class="desc">{{item.defaulted?'默认地址:':'当前地址:'}}{{item.schoolAreaStr||''}}
+						{{item.blockStr||''}}
+						{{item.room||''}}</span>
+					<!-- 当前地址/默认地址勾选 -->
+				</view>
+				<view class="desc del t-red" @click="deleteAddress(item)">
+					删除
+				</view>
+				<view class="desc del t-green m-l-10" v-if="source==='select'" @click="selectAddress(item)">
+					选择此地址
+				</view>
+			</view>
+
+		</view>
+		<view style="height: 92rpx;width: 690rpx;">
+			&nbsp;
+		</view>
+		<view class="button-green button-fixed-bottom" style="width: 690rpx;line-height: 92rpx;height: 92rpx;" @click=" ()=>{
+				delete this.submitForm.id
+				this.submitForm['name'] = ''
+				this.submitForm['tel'] = ''
+				this.submitForm['tel'] = ''
+				this.submitForm['area'] = ''
+				
+				openAddressForm()
+			}">添加收货地址</view>
+
+		<uni-popup ref="popup_form" type="top" :mask-click="false">
+			<view class="popup-address-form">
+				<view class="close-parent">
+					{{submitForm.id?'新增':'编辑'}}收货地址
+					<uni-icons class="close" type="closeempty" @click="closeAddressForm"></uni-icons>
+				</view>
+				<!--收货人、手机号、校区、详细地址 -->
+				<view class="submit form">
+					<view class="form-item">
+						<view class="form-item-label require">
+							收货人
+						</view>
+						<view class="form-item-value">
+							<input v-model="submitForm.name" placeholder="请输入收货人" class="form-input"></input>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="form-item-label require">
+							请选择收获地址
+						</view>
+						<view class="form-item-value">
+							<input v-model="submitForm.room" placeholder="请选择收获地址" disabled class="form-input"></input>
+							<!-- todo 点击定位 -->
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="form-item-label require">
+							详细地址
+						</view>
+						<view class="form-item-value">
+							<input v-model="submitForm.address" placeholder="请输入详细地址" class="form-input"></input>
+
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="form-item-label">
+							是否默认
+						</view>
+						<view class="form-item-value">
+							<radio value="r1" :checked="submitForm.defaulted"
+								@click="submitForm.defaulted=!submitForm.defaulted"
+								style="transform:scale(0.6);margin-top: -8rpx;" />
+						</view>
+					</view>
+				</view>
+
+				<view class="button-green m-t-15" @click="saveOrUpdateAddress">保存</view>
+			</view>
+		</uni-popup>
+
+	</view>
+</template>
+
+<script>
+	export default {
+		async onPullDownRefresh() {
+			this.page.current = 0
+			await this.getList()
+			uni.stopPullDownRefresh()
+		},
+		async onLoad(options) {
+			// this.list = [{}, {}]
+			this.source = options.source || ''
+			this.listApi = '/api/address/customer/list'
+			await this.getList()
+
+		},
+		data() {
+			return {
+				source: '',
+				submitForm: {
+					name: '',
+					tel: '',
+					address: '',
+					schoolArea: '',
+					block: '',
+					room: '',
+					defaulted: false
+				},
+			};
+		},
+		methods: {
+			async changeDefaultAddress(item, index) {
+				if (item.defaulted) {
+					return
+				}
+				this.$nextTick(() => {
+					// item.defaulted = false
+					// this.$set(item,'defaulted',false)
+					this.$message.confirm('确定设置此地址为默认地址吗').then(async res => {
+						this.$message.showLoading()
+						var {
+							code
+						} = await this.$http.request('post', '/api/address/customer/default/' +
+							item.id, {})
+						this.$message.hideLoading()
+						if (code == 0) {
+							for (var dto of this.list) {
+								dto.defaulted = false
+							}
+							this.$message.showToast('设置成功')
+							item.defaulted = true
+							this.$store.commit('setDefaultAddress', {
+								...item
+							})
+
+						}
+					}, err => {
+						this.$nextTick(() => {
+							this.list[index].defaulted = false
+							this.$forceUpdate()
+							console.log('err', err, this.list[index])
+						})
+
+
+					})
+				})
+			},
+			async selectAddress(item) {
+				await this.$message.confirm('确定选择此地址作为收获地址吗')
+				//携带,然后返回
+				this.$store.commit('setDefaultAddress', {
+					...item
+				})
+				this.backpage()
+			},
+			async deleteAddress(item) {
+				await this.$message.confirm('确定删除此地址吗')
+				this.$message.showLoading()
+				var {
+					code
+				} = await this.$http.request('get', '/api/address/customer/delete/' + item.id, {})
+				this.$message.hideLoading()
+				if (code == 0) {
+					this.$message.showToast('删除成功')
+					setTimeout(() => {
+						this.page.current = 1
+						this.getList()
+					}, 500)
+				}
+			},
+			async openAddressForm() {
+				if (this.submitForm.id) {
+					this.$message.showLoading()
+					var {
+						data
+					} = await this.$http.request('get', '/api/address/customer/get/' + this.submitForm.id, {})
+
+
+					if (data) {
+						this.submitForm = {
+							...this.submitForm,
+							...data
+						}
+						this.blockIndex = -1
+						this.schoolIndex = -1
+					}
+					this.$message.hideLoading()
+				} else {
+					this.submitForm = {
+						name: this.currentInfo && this.currentInfo.nickName || '',
+						tel: this.currentInfo && this.currentInfo.tel || '',
+						address: '',
+						schoolArea: '',
+						block: '',
+						room: '',
+						defaulted: false
+					}
+					this.schoolIndex = -1
+					this.blockIndex = -1
+					this.blocks = []
+				}
+
+				this.$refs.popup_form.open()
+
+			},
+			closeAddressForm() {
+				this.$refs.popup_form.close()
+
+			},
+			async saveOrUpdateAddress() {
+				if (!this.checkFormValues(this.submitForm, ['tel', 'name', 'address'])) {
+					this.$message.showToast('字段未填写完整')
+					return
+				}
+				this.$message.showLoading()
+				const {
+					code
+				} = await this.$http.request('post', '/api/address/customer/' + (this.submitForm.id ? 'edit' :
+					'new'), {
+					data: this.submitForm
+				})
+				this.$message.hideLoading()
+				if (code == 0) {
+					this.$refs.popup_form.close()
+					this.$message.showToast(this.submitForm.id ? '修改成功' : '新增成功')
+
+					setTimeout(() => {
+						this.page.current = 1
+						this.getList()
+					}, 300)
+				}
+			},
+
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container-address {
+		.popup-address-form {
+			background: #FFFFFF;
+			border-radius: 16rpx;
+			// width: 690rpx;
+			height: 882rpx;
+			margin-top: 120rpx;
+			margin-left: 30rpx;
+			margin-right: 30rpx;
+			padding: 24rpx 36rpx;
+
+			.submit {
+				margin-top: 30rpx;
+
+				.form-input {
+					height: 36rpx;
+					line-height: 36rpx;
+				}
+			}
+		}
+
+		.location-each {
+			background: #FFFFFF;
+			border-radius: 16rpx;
+			margin-bottom: 24rpx;
+			padding: 36rpx;
+
+			.name {
+				font-size: 32rpx;
+				color: #000000;
+				line-height: 44rpx;
+				text-align: left;
+				font-style: normal;
+			}
+
+			.tel {
+				font-size: 28rpx;
+				color: #666666;
+				line-height: 40rpx;
+				text-align: left;
+				font-style: normal;
+				padding-top: 4rpx;
+				margin-left: 20rpx;
+			}
+
+			.address {
+				font-size: 24rpx;
+				color: #000000;
+				line-height: 34rpx;
+				text-align: left;
+				font-style: normal;
+			}
+
+			.desc {
+				font-size: 24rpx;
+				color: #666666;
+				line-height: 34rpx;
+				text-align: left;
+				font-style: normal;
+			}
+
+			.del {
+				// vertical-align: baseline;
+				margin-left: auto;
+				margin-right: 6rpx;
+				margin-top: 4rpx;
+			}
+
+			.container-info {
+				max-width: 540rpx;
+			}
+
+			.h-line {
+				width: 2rpx;
+				height: 46rpx;
+				background-color: #EEEEEE;
+				margin-left: 28rpx;
+				margin-right: 24rpx;
+			}
+
+			.v-line {
+				width: 638rpx;
+				height: 2rpx;
+				// border: 2rpx solid #EEEEEE;
+				background-color: #EEEEEE;
+				margin-top: 24rpx;
+				margin-bottom: 24rpx;
+			}
+
+			.edit {
+				// min-width: 80rpx;
+				width: fit-content;
+				margin-left: auto;
+				margin-right: 0rpx;
+				display: flex;
+				position: relative;
+
+				.icon {
+					// margin: 0 auto;
+					// mar
+					margin-left: auto;
+					margin-right: auto;
+					margin-top: 20rpx;
+					display: block;
+
+				}
+			}
+
+			.edit::before {
+				content: " ";
+				width: 2rpx;
+				height: 46rpx;
+				background-color: #EEEEEE;
+				position: absolute;
+				left: -24rpx;
+				top: 20rpx;
+			}
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/pages/user/bussincess-user.vue b/pages/user/bussincess-user.vue
deleted file mode 100644
index e0d8e38..0000000
--- a/pages/user/bussincess-user.vue
+++ /dev/null
@@ -1,144 +0,0 @@
-<template>
-	<view class="main-container user-container">
-		<!-- 		<view>
-			我的
-		</view> -->
-		<!-- 背景图 -->
-		<view class="top-bg" :style="{'padding-top':(StatusBar)+'px','line-height':CustomBar+'rpx' }">
-			<view class="title" style="position: relative;"  @click="changedefaulttype">
-				我<uni-icons type="settings"></uni-icons>
-				<!-- <view style="position: absolute;left: 32rpx;top: 0;">
-					<uni-icons type="settings" @click="changedefaulttype"></uni-icons>
-				</view> -->
-			</view>
-			<view class="icons">
-				<image class="icon1" src="../../static/imgs/user/usr-icon1.png" mode="aspectFit"></image>
-				<image class="icon2" src="../../static/imgs/home/home-shop-top-icon.png" mode="aspectFit"></image>
-			</view>
-			<view class="flex m-20 user-info" @click="goto('/pages/user/user-info/user-info',true)"
-				v-if="currentInfo&&(currentInfo.id)">
-				<!-- 头像 -->
-				<image class="user-icon" v-if="!currentInfo.picture" src="../../static/imgs/home/home-shop-top-icon.png"
-					mode="aspectFit"></image>
-				<image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image>
-
-				<view class="name">
-					{{currentInfo.nickName || '-'}}
-				</view>
-				<uni-icons class="right-icon" type="right"></uni-icons>
-			</view>
-			<view class="flex m-20 user-info" v-else @click="toLogin">
-				<!-- <button open-type="getUserInfo" style="background-color: #fff" @tap="getUserProfile"
-					class="title-bold h2">{{'请点击授权登录~'}}</button> -->
-				前往登录
-			</view>
-
-
-		</view>
-
-
-
-		<view style="padding-bottom:200rpx">
-		</view>
-		<bussincess-footer flg="1"></bussincess-footer>
-
-	</view>
-</template>
-
-<script>
-	import storage from '@/plugins/storage.js'
-
-	export default {
-		data() {
-			return {
-				CustomBar: uni.getStorageSync('CustomBar'),
-				StatusBar: uni.getStorageSync('StatusBar'),
-				// StatusBar:0
-			};
-		},
-		created() {
-			console.log('created bu')
-
-		},
-		mounted() {
-			console.log('mounted bu')
-
-		},
-		methods: {
-			toLogin() {
-				uni.navigateTo({
-					url: '/pages/home/rider-login/rider-login'
-				})
-			},
-			async changedefaulttype() {
-				await this.$message.confirm('前往学生端吗?')
-				//清空数据
-				const res = await this.$store.dispatch('logout');
-
-				uni.reLaunch({
-					url: '/pages/user/user'
-				})
-			},
-			async getUserProfile(e) {
-				const res = await wx.getUserProfile({
-					desc: '用于完善会员资料',
-				});
-				console.log(res);
-				this.login_Wx(res.userInfo.avatarUrl, res.userInfo.nickName)
-			},
-			login_Wx(imgurl, nickname) {
-				//获取openId
-				// /wx/jscode2session
-				const tmp = this;
-				this.$message.showLoading()
-				this.openid = this.$storage.getItem('openid');
-				this.tel = this.$storage.getItem('tel');
-				console.log('info,info,info,info,info,info', this.openid, this.tel);
-				if (!!this.openid && !!this.tel) {
-					// this.login = true;
-				} else {
-					// this.login = false;
-					console.log('wx.login');
-					wx.login({
-						success: async res => {
-							if (res.code) {
-								//微信登录成功 已拿到code
-								// tmp.login = true;
-								// tmp.jsCode = res.code; //保存获取到的code
-								console.log('abcd', res.code);
-								// this.$http.request('post',`/api/login/wechat`,{data:{code:tmp.jsCode}})
-								this.$storage.setItem('jsCode', res.code);
-								const res2 = await wx.getUserInfo();
-								console.log('res', res2);
-
-								await this.$store.dispatch('loginwx', {
-									code: res.code,
-									imgurl: imgurl,
-									nickname: nickname
-								});
-								tmp.$message.hideLoading()
-
-								this.$forceUpdate()
-							} else {
-								tmp.$message.hideLoading()
-								tmp.$message.showToast('微信登录失败');
-
-							}
-						},
-						error: res => {
-							console.log('wx.login error', res);
-							tmp.$message.hideLoading()
-
-							tmp.$message.showToast('微信授权失败');
-						}
-					});
-				}
-			},
-
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	@import "./user.scss";
-</style>
\ No newline at end of file
diff --git a/pages/user/supplier-user.vue b/pages/user/supplier-user.vue
index ec5c144..f9775a3 100644
--- a/pages/user/supplier-user.vue
+++ b/pages/user/supplier-user.vue
@@ -10,33 +10,59 @@
 				mode="scaleToFill" />
 
 			<view class="title" style="position: relative;">
-				我的
+				个人中心
 
 			</view>
-			<view class="flex user-info" v-if="currentInfo&&(currentInfo.id)">
+			<!-- v-if="currentInfo&&(currentInfo.id)" -->
+			<view class="flex user-info">
 				<!-- 头像 -->
 				<image class="user-icon" v-if="!currentInfo.picture" src="../../static/imgs/home/home-shop-top-icon.png"
 					mode="aspectFit"></image>
 				<image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image>
 
-				<view class="name">
-					<view class="t1">
+
+
+				<view class="name" v-if="currentInfo.id">
+					<view class="t1" >
 						{{ (!!currentInfo.supplierDTO?(currentInfo.supplierDTO.name):"") || currentInfo.nickName || currentInfo.loginName || '-'}}<span
 							v-if="currentInfo.supplierDTO&&currentInfo.supplierDTO.status!=='P'">
 							({{currentInfo.supplierDTO?currentInfo.supplierDTO.statusStr:''}})</span>
 					</view>
 					<view class="t2">{{currentInfo.tel || '暂无电话'}}</view>
 				</view>
+				<view class="name" v-if="!currentInfo.id" open-type="getUserInfo" @click.stop="getUserProfile" style="font-size: 48rpx;margin-top: 16rpx;">
+					{{'点击登陆'}}
+				</view>
 				<image class="icon-setting" src="../../static/common/icon-setting.png" mode="aspectFit"></image>
 			</view>
+			<!-- #ifdef PUB_CUSTOMER -->
+			<view class="customer-info-records">
+				<view class="item">
+					<view class="num">59</view>
+					<view class="name">我的收藏</view>
+				</view>
+				<view class="line"></view>
+				<view class="item">
+					<view class="num">5</view>
+					<view class="name">关注店铺</view>
+				</view>
+				<view class="line"></view>
+				<view class="item">
+					<view class="num">87</view>
+					<view class="name">浏览记录</view>
+				</view>
+			</view>
+			<!-- #endif -->
+
 
 		</view>
 		<!-- #ifdef PUB_CUSTOMER -->
-		<view class="user-utils m-20" v-if="selftype==='customer'">
-			<view class="user-util m-t-12 user-customer-order-infos">
+		<view class="user-utils m-20 user-customer-order-infos" v-if="selftype==='customer'||!selftype">
+			<view class="user-util m-t-12">
 				<view class="title flex">
-					<view>我的订单</view>
-					<view class="m-r-a m-r-0 more">全部订单<uni-icons type="right"></uni-icons></view>
+					<view class="flex1">我的订单</view>
+					<view class="m-r-a m-r-0 more">全部订单<uni-icons class="" type="right"
+							size="12"></uni-icons></view>
 				</view>
 				<view class="flex order-icons-container">
 					<view class="order-icons">
@@ -62,7 +88,7 @@
 				</view>
 			</view>
 		</view>
-		<view class="user-utils m-20" v-if="selftype==='customer'">
+		<view class="user-utils m-20" v-if="selftype==='customer'||!selftype">
 			<view class="user-util m-t-12 user-customer-service-infos">
 				<view class="title flex">
 					<view>我的服务</view>
@@ -77,27 +103,31 @@
 						<image src="../../static/images/customer/service/service-icon-2.png" class="service-icon ">
 						</image>
 						<view>我的收藏</view>
-					</view>
-					<view class="service-icons">
-						<image src="../../static/images/customer/service/service-icon-3.png" class="service-icon ">
-						</image>
-						<view>地址管理</view>
-					</view>
-					<view class="service-icons">
-						<image src="../../static/images/customer/service/service-icon-4.png" class="service-icon ">
-						</image>
-						<view>售后规则</view>
-					</view>
-					<view class="service-icons">
-						<image src="../../static/images/customer/service/service-icon-5.png" class="t2 service-icon ">
-						</image>
-						<view>新手帮助</view>
-					</view>
-					<view class="service-icons">
-						<image src="../../static/images/customer/service/service-icon-6.png" class="t2 service-icon ">
-						</image>
-						<view>运费详查</view>
 					</view>
+					<view class="service-icons" @click="goto('/pages/user/address/address',true)">
+						<image src="../../static/images/customer/service/service-icon-3.png" class="service-icon ">
+						</image>
+						<view>地址管理</view>
+					</view>
+					<view class="service-icons">
+						<image src="../../static/images/customer/service/service-icon-4.png" class="service-icon ">
+						</image>
+						<view>售后规则</view>
+					</view>
+				</view>
+				<view class="flex service-icons-container">
+					<view class="service-icons">
+						<image src="../../static/images/customer/service/service-icon-5.png" class="t2 service-icon ">
+						</image>
+						<view>新手帮助</view>
+					</view>
+					<view class="service-icons">
+						<image src="../../static/images/customer/service/service-icon-6.png" class="t2 service-icon ">
+						</image>
+						<view>运费详查</view>
+					</view>
+					<view class="service-icons"></view>
+					<view class="service-icons"></view>
 				</view>
 			</view>
 		</view>
@@ -122,7 +152,8 @@
 					<uni-icons type="right"></uni-icons>
 				</view>
 			</view>
-			<view class="user-util m-t-12 " @click="callTel" v-if="selftype==='supplier'||selftype==='customer'">
+			<view class="user-util m-t-12 " @click="callTel"
+				v-if="selftype==='supplier'||selftype==='customer' || !selftype">
 				<view class="title">我的客服</view>
 				<view class="flex">
 					<image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image>
@@ -142,22 +173,22 @@
 		</view>
 
 
-
-		<!-- #ifdef PUB_CUSTOMER -->
-		<view style="padding-bottom:200rpx">
-		</view>
-		<common-footer flg="4"></common-footer>
-		<!-- #endif -->
-		<!-- #ifndef PUB_CUSTOMER -->
+
+		<!-- #ifdef PUB_CUSTOMER -->
+		<view style="padding-bottom:200rpx">
+		</view>
+		<common-footer flg="3"></common-footer>
+		<!-- #endif -->
+		<!-- #ifndef PUB_CUSTOMER -->
 		<view class="button-login-out topic-gray" @click="clearlogout">
 			退出登录
 		</view>
 
 		<view style="padding-bottom:200rpx">
-		</view>
-		<common-footer flg="1"></common-footer>
+		</view>
+		<common-footer flg="1"></common-footer>
 		<!-- #endif -->
-		
+
 
 
 	</view>
diff --git a/pages/user/user-customer.scss b/pages/user/user-customer.scss
index 4a7ba2a..37f2d03 100644
--- a/pages/user/user-customer.scss
+++ b/pages/user/user-customer.scss
@@ -1,4 +1,5 @@
 .user-customer-order-infos{
+	padding-top: 0rpx;
 	.more{
 		font-weight: 400;
 		font-size: 24rpx;
@@ -24,12 +25,12 @@
 			.order-icon.dsh{
 				width: 48rpx;
 				height: 46rpx;
-				margin-top: 3rpx;
+				margin-top: 6rpx;
 			}
 			.order-icon.sh{
 				width: 48rpx;
 				height: 46rpx;
-				margin-top: 3rpx;
+				margin-top: 6rpx;
 			}
 		}
 		.order-icons:last-child{
@@ -53,11 +54,14 @@
 			margin: 0 auto;
 			margin-top: 24rpx;
 			text-align: center;
-			.service-icons{
+			font-size: 24rpx;
+			color: #000000;
+			line-height: 34rpx;
+			.service-icon{
 				height: 52rpx;
 				width: 52rpx;
 			}
-			.service-icons.t2{
+			.service-icon.t2{
 				height: 52rpx;
 				width: 56rpx;
 			}
@@ -66,3 +70,32 @@
 	}
 }
 
+.customer-info-records{
+	background-color: rgba(255, 255, 255, 0.46);
+	border-radius: 12rpx;
+	padding: 22rpx;
+	display: flex;
+	margin-top: 54rpx;
+	.item{
+		flex: 1;
+		text-align: center;
+		.num{
+			font-weight: 600;
+			font-size: 40rpx;
+			color: #20613D;
+			line-height: 56rpx;
+		}
+		.name{
+			font-weight: 400;
+			font-size: 24rpx;
+			font-weight: 600;
+			color: #000000;
+			line-height: 34rpx;
+		}
+	}
+	.line{
+		width: 2rpx;
+		height: 64rpx;
+		background-color:  #BBCCC2;
+	}
+}
diff --git a/pages/user/user.scss b/pages/user/user.scss
index 691eefc..796cbff 100644
--- a/pages/user/user.scss
+++ b/pages/user/user.scss
@@ -78,7 +78,7 @@
 		.icon-setting{
 			position: absolute;
 			right: 0rpx;
-			top: -30rpx;
+			top: 50rpx;
 			height: 54rpx;
 			width: 54rpx;
 		}
@@ -130,28 +130,6 @@
 				// display: inline-block;
 				// margin-left: auto;
 				// margin-right: auto;
-			}
-			.order-icon.tg{
-				margin-top: -8rpx;
-				width: 64rpx;
-				height: 64rpx;
-			}
-			.order-icon.cqw{
-				// margin-top: 16rpx;
-				margin-top: -2rpx;
-				width: 54rpx;
-				height: 58rpx;
-			}
-			.order-icon.syst{
-				// margin-top: 12rpx;
-				// margin-top: 0rpx;
-				width: 58rpx;
-				height: 56rpx;
-			}
-			.order-icon.wbsp{
-				margin-top: -10rpx;
-				width: 70rpx;
-				height: 66rpx;
 			}
 		}
 	}
@@ -220,4 +198,6 @@
 			
 		}
 	}
-}
\ No newline at end of file
+}
+
+ 
\ No newline at end of file
diff --git a/sub_pages/customer/shopping/shopping.vue b/sub_pages/customer/shopping/shopping.vue
index 8183fd0..63c4619 100644
--- a/sub_pages/customer/shopping/shopping.vue
+++ b/sub_pages/customer/shopping/shopping.vue
@@ -1,6 +1,9 @@
 <template>
 	<view>
 		
+		<view style="min-height:200rpx">
+		</view>
+		<common-footer flg="2"></common-footer>
 	</view>
 </template>
 
diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue
index 8183fd0..523f096 100644
--- a/sub_pages/customer/trade/trade.vue
+++ b/sub_pages/customer/trade/trade.vue
@@ -1,22 +1,613 @@
 <template>
-	<view>
-		
+	<view class="container-canteen" style="min-height: calc(100vh - 20rpx );">
+
+		<view class="canteen-items" style="min-height: calc(100vh - 360rpx);">
+			<view v-if="(!list||list.length==0)&&true" style="width: 100%;min-height: 200rpx;">
+				&nbsp;
+			</view>
+			<no-data v-if="(!list||list.length==0)&&true" style="width: 100%;margin-top: 220rpx;"></no-data>
+			<view class="" style="display: flex;flex-wrap: inherit;" v-else>
+				<view class="type-list">
+					<view v-for="(item,index) of types" @click="changeType(item)"
+						:class="[query.typeId==item.id?'current':'']" :key="index" class="p10 flex type-item">
+						{{item.name || '-'}}
+					</view>
+				</view>
+				<view class="canteen-item-container">
+					<view v-for="(item,index) of listFilter" :key="item.id" class="p10 canteen-item list"
+						style="display: flex;flex-wrap: inherit;">
+						<view class="m-r-10">
+							<image :src="item.cover" mode="scaleToFill" class="cover" @click="previewImg(item.cover)">
+							</image>
+						</view>
+						<view class="cateen_infos list">
+							<view class="title">{{item.name}}</view>
+							<view class="desc">月售:{{item.monthSale || '0'}}</view>
+							<view class="flex bottom-buttons flex">
+								<view class="price flex">
+									<view class="icon">¥</view>
+									<view class='num'>{{item.price || '-'}}</view>
+								</view>
+								<view class="icons flex">
+									<uni-icons v-if="item.shopnum&&item.shopnum>=1" type="minus" size="32"
+										@click="mulnum(item)"></uni-icons>
+									<view class="curnums" v-if="item.shopnum&&item.shopnum>=1">{{item.shopnum}}</view>
+									<uni-icons type="plus-filled" size="32" @click="addnum(item)"></uni-icons>
+								</view>
+							</view>
+						</view>
+						<view style="padding-bottom:100rpx">
+						</view>
+					</view>
+
+					<footer-msg v-if="query.block&&query.schoolArea"
+						:more="page.total>0&&page.total>page.current*page.size"></footer-msg>
+
+				</view>
+			</view>
+
+		</view>
+
+
+
+		<view style="min-height:200rpx">
+		</view>
+		<common-footer flg="1"></common-footer>
+
 	</view>
 </template>
 
 <script>
+	import {
+		mapState
+	} from 'vuex'
 	export default {
 		data() {
 			return {
-				
+				list: [],
+				showpop: false,
+				query: {
+					name: '',
+					// status:'',
+					schoolArea: '',
+					schoolAreaStr: '',
+					block: '',
+					blockStr: '',
+					typeId: '',
+				},
+				types: [{
+					name: '全部',
+					id: ''
+				}],
+				schools: [],
+				schoolIndex: -1,
+				blockIndex: -1,
+				blocks: [],
+				shoptotal: 0,
+				cal: 0,
 			}
 		},
+		async onLoad() {
+			// this.list = [{
+			// 	'shopnum': 0
+			// }, {
+			// 	'shopnum': 1
+			// }]
+
+			//加载分类
+			this.$http.request('get', '/api/canteen/goods/type/list', {
+				params: {
+					size: 100
+				}
+			}).then(async res => {
+				if (res.code == 0) {
+					this.types = res.data && res.data.records || []
+					this.types.unshift({
+						name: '全部',
+						id: ''
+					});
+
+				}
+			})
+
+			this.listApi = '/api/canteen/customer/goods/list'
+
+			// this.getList()
+			//加载校区、楼栋
+			this.$http.request('get', '/api/school/area/list', {
+
+			}).then(async res => {
+				if (res.code == 0) {
+					this.schools = res.data || []
+					// this.schools = [{
+					// 	'name': '全部',
+					// 	'id': '',
+					// }]
+					// for (var item of arr) {
+					// 	this.schools.push(item)
+					// }
+				}
+				console.log('schools', this.schools)
+				var schoolIndex = uni.getStorageSync('schoolIndex')
+				if (!schoolIndex && schoolIndex !== 0) {
+					// await this.getList()
+					// this.list.forEach(item => {
+					// 	if (!item.shopnum) {
+					// 		item.shopnum = 0
+					// 	}
+					// })
+				} else {
+					this.schoolIndex = schoolIndex
+					if (this.schoolIndex >= 0) {
+						this.PickerChangeSchool({
+							detail: {
+								value: this.schoolIndex
+							}
+						})
+						// await this.getList()
+						// this.list.forEach(item => {
+						// 	if (!item.shopnum) {
+						// 		item.shopnum = 0
+						// 	}
+						// })
+					}
+				}
+
+			})
+
+
+		},
 		methods: {
-			
+			changeType(item) {
+				this.query.typeId = item.id || ''
+			},
+			async PickerChangeSchool(e) {
+				if (e.detail.value == '-1') {
+					this.$message.showToast('未选择校区')
+					return
+				}
+				this.schoolIndex = parseInt(e.detail.value)
+				this.query.schoolArea = this.schools[this.schoolIndex].id
+				this.blockIndex = -1
+
+				this.$message.showLoading()
+				var {
+					data
+				} = await this.$http.request('get', '/api/school/block/list', {
+					params: {
+						schoolArea: this.query.schoolArea,
+						size: 200
+					}
+				})
+
+				this.blocks = data && data.records || []
+				// var arr = data.records || []
+				// this.blocks = [{
+				// 	'name': '全部',
+				// 	'id': '',
+				// }]
+				// for (var item of arr) {
+				// 	this.blocks.push(item)
+				// }
+				this.$message.hideLoading()
+				if (this.blocks.length >= 1) {
+					this.query.block = this.blocks[0].id
+					this.query.blockStr = this.blocks[0].name
+					this.page.current = 1
+					this.blockIndex = 0
+					this.list = []
+					this.getList()
+				} else {
+					this.page.current = 1
+					this.list = []
+				}
+
+
+
+			},
+			async PickerChangeBlock(e) {
+				if (e.detail.value == '-1') {
+					this.$message.showToast('未选择楼栋')
+					return
+				}
+				this.blockIndex = parseInt(e.detail.value)
+				this.query.block = this.blocks[this.blockIndex].id
+				this.page.current = 1
+				// this.list = []
+				this.list = []
+				// this.getList()
+				await this.getList()
+				this.list.forEach(item => {
+					if (!item.shopnum) {
+						item.shopnum = 0
+					}
+				})
+
+			},
+			mulnum(item) {
+				if (item.shopnum > 0) {
+					item.shopnum -= 1
+				}
+				this.shoptotal -= 1
+				this.cal += 1
+				this.$forceUpdate()
+
+			},
+			addnum(item) {
+				// console.log('addnum', item)
+				if (item.shopnum) {
+					item.shopnum += 1
+				} else {
+					item.shopnum = 1
+				}
+				this.shoptotal += 1
+				this.cal += 1
+				this.$forceUpdate()
+			},
+			openShopDetail() {
+				// this.showpop = false
+				// this.$forceUpdate()
+				this.cal += 1
+				this.$refs.popup_shop_detail.open()
+				this.$nextTick(() => {
+					this.$refs.addressselect && this.$refs.addressselect.init()
+				})
+			},
+			closeShopDetail() {
+				// this.showpop = true
+				this.$refs.popup_shop_detail.close()
+			},
+			async submitGood() {
+				var values = []
+				for (var item of this.list) {
+					if (item.shopnum > 0) {
+						values.push({
+							id: item.id,
+							num: item.shopnum
+						})
+					}
+				}
+				//购买
+				if (!this.address.id) {
+					this.$message.showToast('请先选择收获地址')
+					return
+				}
+
+				await this.$message.confirm('确定购买吗?')
+				this.$message.showLoading()
+				const {
+					code,
+					data
+				} = await this.$http.request('post', '/api/canteen/customer/order', {
+					data: {
+						customerAddress: (this.address.schoolAreaStr || '') + (this.address.blockStr || '') + (
+							this
+							.address.room || '') + (this.address.address || ''),
+						customerTel: this.address.tel,
+						customer: this.address.name,
+						goodsList: values, //规格
+					}
+				})
+
+				this.$message.hideLoading()
+				if (code == 0) {
+
+					this.list.forEach(item => {
+						item.shopnum = 0
+					})
+					this.shoptotal = 0
+					this.cal += 1
+					this.$refs.popup_shop_detail.close()
+					this.$forceUpdate()
+
+					//todo,预支付
+					//深夜食堂的逻辑不太一样
+					if (true) {
+						const orderInfo = await this.$http.request('get', '/api/canteen/customer/payment/' + data
+							.orderId, {})
+						//支付准备
+						var info = orderInfo.data
+						let that = this
+						wx.requestPayment({
+							...info,
+							success(res) {
+								console.log('pay success', res)
+								uni.navigateTo({
+									url: '/pages/canteen/canteen-success/canteen-success'
+								})
+							},
+							fail(err) {
+								console.error('pay fail', err)
+								that.$message.showToast('支付失败')
+							}
+						})
+					} else {
+						uni.navigateTo({
+							url: '/pages/canteen/canteen-success/canteen-success'
+						})
+					}
+
+
+				}
+			}
+		},
+		computed: {
+			...mapState({
+				address: state => {
+					return state.defaultaddress || {}
+				},
+			}),
+			selectprices() {
+				var arr = 0
+				for (var item of this.list) {
+					if (item.shopnum > 0) {
+						// arr.push(item)
+						arr += (item.price >= 0 ? item.price : 0) * item.shopnum
+					}
+				}
+				if (this.cal > 0) {
+					return arr
+
+				}
+				return 0
+			},
+			selectgoods() {
+				var arr = []
+				for (var item of this.list) {
+					if (item.shopnum > 0) {
+						arr.push(item)
+					}
+				}
+				if (this.cal > 0) {
+					return arr
+
+				}
+				return arr
+
+			},
+			listFilter() {
+				if (this.query.typeId) {
+					var arr = []
+					if (this.list && this.list.length > 0) {
+						for (var item of this.list) {
+							if (item.typeId === this.query.typeId || item.type === this.query.typeId) {
+								arr.push(item)
+							}
+						}
+					}
+					return arr
+				} else {
+					return this.list
+				}
+
+			},
+			// shoptotal() {
+			// 	var a = 0
+			// 	for (var item of this.list) {
+			// 		a += item.shopnum || 0
+			// 	}
+			// 	console.log('shoptotal',a,this.list)
+			// 	return a
+			// }
 		}
 	}
 </script>
 
-<style>
+<style lang="scss" scoped>
+	.container-canteen {
+		background-color: #FFFFFF;
 
-</style>
+		.type-list {
+			max-width: 178rpx;
+			width: 178rpx;
+			min-width: 178rpx;
+			background: #EEF7F5;
+			border-radius: 8rpx;
+			min-height: calc(100vh - 300rpx);
+			max-height: calc(100vh - 300rpx);
+			overflow-y: scroll;
+			margin-left: 30rpx;
+
+			.type-item {
+				text-align: center;
+				font-weight: 400;
+				font-size: 28rpx;
+				color: #000000;
+				line-height: 88rpx;
+				// padding-left: 30rpx;
+				// padding-right: 30rpx;
+			}
+
+			.type-item.current {
+				font-weight: 600;
+				font-size: 28rpx;
+				color: #04BA97;
+			}
+		}
+
+		.title-before-blue.green {
+			padding-left: 30rpx;
+			padding-bottom: 0rpx;
+		}
+
+		.title-before-blue:before {
+			color: #04BA97;
+			font-weight: 600;
+			min-width: 14rpx;
+			background: #04BA97;
+			border-radius: 8rpx;
+			display: inline-block;
+		}
+
+		.popup_shop_detail {
+			background: #FFFFFF;
+			// padding: 30rpx 0rpx;
+			padding-bottom: 30rpx;
+
+			.footer-shop {
+				margin: 0 auto;
+				margin-top: 46rpx;
+			}
+
+			.common-address-select {
+				margin-left: 20rpx;
+				margin-right: 20rpx;
+			}
+
+			.close-parent {
+				margin-right: 20rpx;
+			}
+
+			.canteen-items {
+				.canteen-item {
+					margin-left: 20rpx;
+					margin-right: 0rpx;
+
+					.cateen_infos {
+						width: 440rpx;
+
+					}
+
+					.cateen_infos.list {
+						max-width: 30 0rpx;
+						min-width: 200rpx;
+					}
+				}
+			}
+		}
+
+		.canteen-items {
+			// margin-left: 30rpx;
+
+			.canteen-item {
+				margin-left: 30rpx;
+				margin-right: 30rpx;
+				// width: 690rpx;
+				// max-width: 690rpx;
+				height: 206rpx;
+				background: #FFFFFF;
+				border-radius: 16rpx;
+				display: flex;
+				margin-bottom: 24rpx;
+
+				.cover {
+					width: 202rpx;
+					height: 202rpx;
+				}
+
+				.title {
+					font-weight: 600;
+					font-size: 32rpx;
+					color: #000000;
+					line-height: 44rpx;
+				}
+
+				.desc {
+					font-weight: 400;
+					font-size: 24rpx;
+					color: #666666;
+					line-height: 34rpx;
+				}
+
+				.price {
+
+					font-size: 24rpx;
+
+					.icon {
+						line-height: 60rpx;
+					}
+
+					.num {
+						font-weight: 600;
+						font-size: 36rpx;
+						color: #000000;
+						// line-height: 50rpx;
+					}
+				}
+
+				.cateen_infos {
+					width: 400rpx;
+					position: relative;
+				}
+
+				.cateen_infos.list {
+					max-width: 300rpx;
+					min-width: 200rpx;
+
+				}
+
+				.bottom-buttons {
+					// width: 400rpx;
+					position: absolute;
+					bottom: 0rpx;
+
+					left: 0;
+					right: 0;
+
+					.icons {
+						margin-left: auto;
+						margin-right: 0;
+
+						.curnums {
+							line-height: 60rpx;
+						}
+					}
+				}
+			}
+
+			.canteen-item-container {
+				width: 100%;
+				min-height: 300rpx;
+				max-height: calc(100vh - 300rpx);
+				overflow-y: scroll;
+			}
+
+			.canteen-item.list {
+				margin-right: 0rpx;
+				flex: 1;
+				margin-bottom: 0rpx;
+
+				.cover {
+					width: 158rpx;
+					height: 158rpx;
+				}
+			}
+		}
+
+		.canteen-footer-shop {
+			position: absolute;
+			position: fixed;
+			left: 30rpx;
+			bottom: 30rpx;
+		}
+
+		.area-select {
+			.area {
+
+				margin-right: 0rpx;
+
+				.t {
+					font-weight: 400;
+					font-size: 32rpx;
+					color: #000000;
+					line-height: 44rpx;
+				}
+
+				.i {}
+			}
+
+			.area-1 {
+				margin-left: auto;
+			}
+
+			.area-2 {
+				margin-left: 84rpx;
+			}
+		}
+
+		.canteen-banner {
+			width: 750rpx;
+			min-height: 360rpx;
+		}
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3