cmy 2 vuotta sitten
vanhempi
commit
c0efa4b17c

+ 19 - 0
api/water.js

@@ -57,5 +57,24 @@ export function storeday(data) {
 		data
 	});
 }
+// 创建押桶订单
+export function createPledge(data) {
+	return request({
+		url: '/api/pledge/create',
+		method: 'post',
+		data
+	});
+}
+// 
+export function delPledge(data) {
+	return request({
+		url: '/api/order/storeday',
+		method: 'get',
+		data
+	});
+}
+
+
+
 
 

+ 4 - 1
pages/home/order.vue

@@ -80,7 +80,7 @@
 						</view>
 					</view>
 
-					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+					<uni-load-more v-if="tabItem.orderList.length>0" :status="tabItem.loadingType"></uni-load-more>
 				</scroll-view>
 			</swiper-item>
 		</swiper>
@@ -710,4 +710,7 @@
 			opacity: 0.2;
 		}
 	}
+	/deep/ .empty-content{
+		background: transparent;
+	}
 </style>

+ 104 - 28
pages/order/createOrder.vue

@@ -83,28 +83,35 @@
 		</view>
 		<!-- 金额明细 -->
 		<view class="yt-list">
+			<view class="yt-list-cell b-b" v-if="certificate_info.num>0">
+				<text class="cell-tit clamp">使用卡券({{certificate_info.num}})</text>
+				<view class="desc">
+					<switch class="switchCard" :checked='certificate_info.checked' style="transform:scale(0.7)"
+						@change="switchChange" />
+				</view>
+			</view>
 			<template v-if="tabCurrentIndex == 1">
 				<view class="yt-list-cell b-b">
 					<text class="cell-tit clamp">送货日期</text>
 					<view @click="openTime" class="desc">
-					<text v-if="day.day">
-						{{timeList[checkedTime].name+day.time}}
-					</text>
-					<text v-else>
-						请选择送货日期
-					</text>
+						<text v-if="day.day">
+							{{timeList[checkedTime].name+day.time}}
+						</text>
+						<text v-else>
+							请选择送货日期
+						</text>
 					</view>
 				</view>
 			</template>
 			<template v-if="tabCurrentIndex == 2">
 				<view class="yt-list-cell b-b">
 					<text class="cell-tit clamp">姓名</text>
-					<input class="desc" type="text" v-model="addressData.real_name" placeholder="请填写备注信息"
+					<input class="desc" type="text" v-model="addressData.real_name" placeholder="请填写姓名"
 						placeholder-class="placeholder" />
 				</view>
 				<view class="yt-list-cell b-b">
 					<text class="cell-tit clamp">手机号</text>
-					<input class="desc" type="text" v-model="addressData.phone" placeholder="请填写备注信息"
+					<input class="desc" type="text" v-model="addressData.phone" placeholder="请填写手机号"
 						placeholder-class="placeholder" />
 				</view>
 			</template>
@@ -149,6 +156,16 @@
 				</image>
 				<view v-else class="noChecked"></view>
 			</view>
+			<view class="yt-list-cell b-b" v-if="!certificate_info.checked" @click="payType='offline'">
+				<view class="cell-tit flex">
+					<image class="orderIcon" src="../../static/icon/yh.png" mode="widthFix"></image>
+					<text class="margin-l-10">线下支付</text>
+				</view>
+				<image class="checked" v-if="payType=='offline'" src="../../static/icon/addressIconXz.png"
+					mode="widthFix">
+				</image>
+				<view v-else class="noChecked"></view>
+			</view>
 		</view>
 
 
@@ -176,7 +193,8 @@
 						</view>
 					</view>
 					<view class="right-content">
-						<view class="list flex"  v-for="(item,ind) in  timeList[checkedTime].list" @click="checkedShopTime(item)">
+						<view class="list flex" v-for="(item,ind) in  timeList[checkedTime].list"
+							@click="checkedShopTime(item)">
 							<view class="time">
 								{{item.time}}
 							</view>
@@ -252,9 +270,9 @@
 				onShopId: -1, //默认-1为不存在商家id
 				// 下单日期
 				day: {
-					day:'',
-					id:'',
-					time:''
+					day: '',
+					id: '',
+					time: ''
 				},
 				// 当前选中的日期对象
 				checkedTime: 0,
@@ -281,22 +299,28 @@
 					day: '',
 					time: '',
 					list: []
-				}]
+				}],
+				// 可使用的水票
+				certificate_info: {
+					id: '',
+					num: 0,
+					checked: false
+				}
 			};
 		},
 		watch: {
 			shopAddress(newValue, oldValue) {
-				console.log(newValue,'newValue');
+				console.log(newValue, 'newValue');
 				for (let i = 0; i < this.timeList.length; i++) {
 					const item = this.timeList[i];
 					const day = `${item.time.getFullYear()}-${item.time.getMonth()+1}-${item.time.getDate()}`
 					storeday({
-						store_id:newValue.id,
+						store_id: newValue.id,
 						day
 					}).then(({
 						data
 					}) => {
-						item.list= data;
+						item.list = data;
 					});
 				}
 			}
@@ -329,7 +353,25 @@
 			...mapState('shop', ['shopDetail'])
 		},
 		methods: {
-			checkedShopTime(item){
+			// 是否使用卡券切换
+			switchChange(res) {
+				this.certificate_info.checked = res.detail.value;
+				if (this.payType == 'offline') {
+					this.payType = 'weixin'
+				}
+				// 重新计算价格
+				this.payMoneyNub();
+			},
+			checkedShopTime(item) {
+
+				if (item.door_number - item.day_number == 0) {
+					uni.showModal({
+						title: '提示',
+						content: '该时间段预约已满!',
+						showCancel: false,
+					});
+					return
+				}
 				this.day = item;
 				this.$refs.popup.close();
 			},
@@ -373,11 +415,16 @@
 			},
 			// 计算支付金额
 			payMoneyNub() {
-				computedOrderkey({
-						orderkey: this.orderKey,
-						useIntegral: 0, //是否积分抵扣
-						addressId: this.addressData.id //地址编号
-					})
+				let updata = {
+					orderkey: this.orderKey,
+					useIntegral: 0, //是否积分抵扣
+					addressId: this.addressData.id //地址编号
+				}
+				// 判断是卡券支付
+				if (this.certificate_info.checked) {
+					updata.use_certificate_id = this.certificate_info.id
+				}
+				computedOrderkey(updata)
 					.then(({
 						data
 					}) => {
@@ -401,6 +448,8 @@
 				}).then(({
 					data
 				}) => {
+					obj.certificate_info.id = data.certificate_info.id;
+					obj.certificate_info.num = data.certificate_info.num;
 					obj.addressData = data.addressInfo || {};
 					obj.shopList = data.cartInfo; //商品列表
 					obj.moneyAll = data.priceGroup; //金额数据
@@ -427,6 +476,14 @@
 					});
 					return;
 				}
+				if (!obj.day.day) {
+					uni.showModal({
+						title: '提示',
+						content: '请选择送水时间!',
+						showCancel: false,
+					});
+					return
+				}
 
 				uni.showLoading({
 					title: '支付中',
@@ -535,7 +592,7 @@
 			// 初次订单创建
 			firstCreateOrder() {
 				let obj = this;
-				console.log(obj.day,'obj.day');
+				console.log(obj.day, 'obj.day');
 				let data = {
 					real_name: obj.addressData.real_name, //联系人名称
 					phone: obj.addressData.phone, //联系人号码
@@ -554,9 +611,12 @@
 					// #endif
 					shipping_type: obj.tabCurrentIndex, //提货方式 1 快递 2自提
 					store_id: obj.shopAddress.id || '',
-					day:obj.day.day,
-					door_id:obj.day.door_id
+					day: obj.day.day,
+					door_id: obj.day.door_id
 				};
+				if (obj.certificate_info.checked) {
+					data.use_certificate_id = obj.certificate_info.id
+				}
 				// 生成订单
 				createOrderkey(data, obj.orderKey)
 					.then(({
@@ -578,7 +638,7 @@
 						// 保存订单号
 						obj.orderId = data.result.orderId;
 						// 判断是否为余额支付
-						if (obj.payType == 'yue') {
+						if (obj.payType == 'yue' || obj.payType == 'offline') {
 							console.log('余额支付', status == 200 && data.status == 'SUCCESS');
 							if (status == 200 && data.status == 'SUCCESS') {
 								obj.paySuccessTo();
@@ -830,6 +890,11 @@
 			text-align: right;
 			font-size: $font-base;
 			color: $font-color-light;
+
+			.switchCard {
+				margin-right: -20rpx;
+
+			}
 		}
 	}
 
@@ -997,17 +1062,21 @@
 			border-top-right-radius: 20rpx;
 			border-top-left-radius: 20rpx;
 			min-height: 70vh;
-			.right-content{
+
+			.right-content {
 				width: 70%;
-				.list{
+
+				.list {
 					padding: 20rpx 30rpx;
 					font-size: $font-sm;
 					border-bottom: 1px solid $border-color-light;
 				}
 			}
+
 			.left-title {
 				width: 30%;
 				align-self: flex-start;
+
 				.title {
 					padding: 30rpx;
 					text-align: center;
@@ -1037,4 +1106,11 @@
 			}
 		}
 	}
+
+	/deep/ .uni-switch-input {
+		&.uni-switch-input-checked {
+			border-color: $base-color !important;
+			background-color: $base-color !important;
+		}
+	}
 </style>

+ 4 - 0
pages/order/orderDetail.vue

@@ -81,6 +81,10 @@
 			<text class="tit">优惠券</text>
 			<view class="input">-¥{{ item.coupon_price }}</view>
 		</view>
+		<view class="row b-b flex" v-if="item.use_certificate_num > 0">
+			<text class="tit">水劵</text>
+			<view class="input">-{{ item.use_certificate_num }}张</view>
+		</view>
 		<view class="row b-b flex" v-if="item.use_integral > 0">
 			<text class="tit">积分抵扣</text>
 			<view class="input">-¥{{ item.use_integral }}</view>

+ 190 - 77
pages/water/deposit.vue

@@ -1,37 +1,62 @@
 <template>
 	<view class="good-list">
-		<uni-nav-bar class="nav" @clickLeft='back' :border='false' backgroundColor='transparent' leftIcon='left'
-			color='#FFF' title="我的余额" />
-		<view class="good flex" v-for="item in navList[tabCurrentIndex].orderList">
-			<image :src="item.image" mode="" class="good-image"></image>
-			<view class="right">
-				<view class="good-name ">
-					<view class="clamp2">
-						{{item.store_name}}
-					</view>
-				</view>
-				<view class="good-key">
-					{{item.keyword}}
-				</view>
-				<view class="good-price flex">
-					<view class="price">
-						¥{{item.price}}/{{item.unit_name}}
+
+		<view class="flex nav-box">
+			<view class="tab">
+				总计:<text class="font-color-red">{{total_count}}</text>(个)
+			</view>
+			<view class="line"></view>
+			<view class="tab">
+				押金:<text class="font-color-red">{{total_pledge_money}}</text>(元)
+			</view>
+		</view>
+		<view class="deposit-item">
+			<view class="list flex" v-for="(item,index) in navList[tabCurrentIndex].orderList" @click="open(item)">
+				<view class="content">
+					<view class="title">
+						小金康泉矿泉水
 					</view>
-					<navigator :url="'/pages/water/waterDetail?id='+item.id">
-						<view class="xl">
-							立即购买
+					<view class="flex type-list">
+						<view class="ls">
+							余桶:<text class="font-color-red">{{item.remain_num}}</text>
+						</view>
+						<view class="ls">
+							押桶:<text class="font-color-red">{{item.pledge_num}}</text>
+						</view>
+						<view class="ls">
+							借桶:<text class="font-color-red">{{item.borrow_num}}</text>
 						</view>
-					</navigator>
+					</view>
+				</view>
+				<view class="iconfont iconenter">
+
 				</view>
 			</view>
 		</view>
 		<uni-load-more :status="navList[tabCurrentIndex].loadingType"></uni-load-more>
+		<uni-popup ref="popup" type="bottom">
+			<view class="buttomBox">
+				<view class="item borde-b" @click="addBarrel">
+					押桶
+				</view>
+				<view class="item borde-b" @click="delBarrel">
+					退桶
+				</view>
+			</view>
+			<view class="buttomBox" @click="$refs.popup.close()">
+				<view class="item qx">
+					取消
+				</view>
+			</view>
+		</uni-popup>
 	</view>
 </template>
 
 <script>
 	import {
-		certificate
+		certificate,
+		createPledge,
+		delPledge
 	} from '@/api/water.js';
 	export default {
 		data() {
@@ -44,7 +69,11 @@
 					orderList: [],
 					page: 1, //当前页数
 					limit: 10 //每次信息条数
-				}]
+				}],
+				// 保存当前选中的桶对象
+				actionItem: {},
+				total_pledge_money:0,//押金
+				total_count:0,//总数
 			};
 		},
 		onReachBottom() {
@@ -54,6 +83,73 @@
 			this.getGoodList();
 		},
 		methods: {
+			// 押桶
+			addBarrel() {
+				const that = this;
+				uni.showModal({
+					title: '押桶',
+					placeholderText: '请输入押桶数量',
+					editable: true,
+					cancelText: '关闭',
+					confirmText: '押桶',
+					success: res => {
+						if (res.confirm) {
+							createPledge({
+								id:that.actionItem.id,
+								num:res.content,
+								pay_type:'yue'
+							}).then(() => {
+								that.$refs.popup.close();
+								uni.showToast({
+									title: '押桶成功'
+								})
+							}).catch(e => {
+								console.log(e);
+							});
+						}
+					},
+				});
+			},
+			// 退桶
+			delBarrel() {
+				uni.showModal({
+					title: '退桶',
+					placeholderText: '请输入退桶数量',
+					editable: true,
+					cancelText: '关闭',
+					confirmText: '退桶',
+					success: res => {
+						if (res.confirm) {
+							certificate({
+
+							}).then(() => {
+								uni.showToast({
+									title: '退桶成功'
+								})
+							}).catch(e => {
+								console.log(e);
+							});
+						}
+					},
+				});
+			},
+			// 重新加载数据
+			reloadList() {
+				this.navList = [{
+					state: 0,
+					text: '全部',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
+				}];
+				this.getGoodList();
+			},
+			// 打开选择弹窗
+			open(item) {
+				this.actionItem = item;
+				this.$refs.popup.open()
+			},
 			// 加载数据
 			getGoodList(source) {
 				//这里是将订单挂载到tab列表下
@@ -75,14 +171,19 @@
 				}
 				// 修改当前对象状态为加载中
 				navItem.loadingType = 'loading';
-
-				certificate({})
+				certificate({
+						page: navItem.page,
+						limit: navItem.limit
+					})
 					.then(({
 						data
 					}) => {
+						this.total_pledge_money = data.total_pledge_money;
+						this.total_count = data.total_count;
 						let arr = data.data.map(e => {
 							return e;
 						});
+						
 						navItem.orderList = navItem.orderList.concat(arr);
 						// console.log(navItem.orderList);
 						navItem.page++;
@@ -108,73 +209,85 @@
 
 <style lang="scss">
 	.good-list {
-		padding: 20rpx 28rpx;
+		padding: 30rpx 0;
 		width: 750rpx;
 
-		.good {
-			background: #FFFFFF;
-			box-shadow: 0px 0px 20px 0px rgba(50, 50, 52, 0.06);
-			width: 100%;
-			border-radius: 14rpx;
-			margin-bottom: 20rpx;
-			position: relative;
-			padding: 20rpx;
-
-			.good-image {
-				width: 180rpx;
-				height: 180rpx;
-				background-color: #eee;
-				border-radius: 10rpx;
-				flex-shrink: 0;
+		.nav-box {
+			border-radius: 10rpx;
+			background-color: #FFF;
+			border-bottom: 2px solid $page-color-base;
+
+			.tab {
+				width: 50%;
+				height: 95rpx;
+				text-align: center;
+				flex-shrink: 1;
+				font-size: $font-lg;
+				font-weight: bold;
+				line-height: 95rpx;
+			}
 
+			.line {
+				height: 55rpx;
+				width: 3px;
+				background-color: $page-color-base;
 			}
+		}
+	}
 
-			.right {
-				height: 180rpx;
-				position: relative;
+	.deposit-item {
+		padding: 0 30rpx;
+		background-color: #FFF;
+		line-height: 1;
 
-				.good-name {
-					font-size: 28rpx;
+		.list {
+			border-bottom: 2px solid $page-color-base;
+			padding: 30rpx 0;
+
+			.content {
+				width: 0;
+				flex-grow: 1;
+
+				.title {
+					font-size: $font-lg;
 					font-weight: bold;
-					color: #333333;
-					padding-left: 20rpx;
 				}
 
-				.good-key {
-					font-size: 22rpx;
-					font-weight: 500;
-					color: #999999;
-					padding-left: 20rpx
-				}
+				.type-list {
+					padding-top: 30rpx;
+					font-size: $font-sm;
+					color: $font-color-base;
 
-				.good-price {
-					display: flex;
-					justify-content: space-between;
-					align-items: flex-end;
-					font-size: 28rpx;
-					font-weight: bold;
-					color: #FF1A1A;
-					position: absolute;
-					bottom: 0rpx;
-					padding: 0 20rpx;
-					left: 0;
-					right: 0rpx;
-
-					.xl {
-						background: linear-gradient(90deg, #3C82E6, #5395F5);
-						border-radius: $font-base;
-						padding: 10rpx 20rpx;
-						color: #fff;
+					.ls {
+						width: 33%;
 					}
 				}
 			}
 		}
 	}
-	.nav {
-		position: fixed;
-		top: 0;
-		right: 0;
-		left: 0;
-		z-index: 998;
+
+	.buttomBox {
+		border-radius: 20rpx;
+		margin: 0 $page-row-spacing;
+		margin-bottom: 30rpx;
+		color: $font-color-dark;
+		background-color: #FFFFFF;
+		overflow: hidden;
+
+		.item {
+			line-height: 100rpx;
+			height: 100rpx;
+			text-align: center;
+			font-size: 32rpx;
+			color: $base-color;
+
+			&.qx {
+				color: $color-red;
+			}
+		}
+
+		.border_b {
+			border-bottom: 1px solid $page-color-light;
+		}
 	}
 </style>

+ 5 - 1
pages/water/myWaterList.vue

@@ -44,7 +44,7 @@
 					</view>
 				</view>
 			</view>
-			<uni-load-more :status="navList[tabCurrentIndex].loadingType"></uni-load-more>
+			<uni-load-more v-if="navList[tabCurrentIndex].orderList.length>0" :status="navList[tabCurrentIndex].loadingType"></uni-load-more>
 		</scroll-view>
 
 	</view>
@@ -249,4 +249,8 @@
 			}
 		}
 	}
+	/deep/ .empty-content{
+		background: transparent;
+		position: absolute;
+	}
 </style>

+ 478 - 477
static/css/cmy.css

@@ -1,489 +1,490 @@
 /*初始化类*/
-	@font-face {
-		font-family: 'iconfont';
-		/* project id 1482221 */
-		src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
-		src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
-			url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
-			url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
-			url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
-			url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
-	}
-
-	.iconfont {
-		font-family: "iconfont" !important;
-		font-size: 34rpx;
-		font-style: normal;
-		-webkit-font-smoothing: antialiased;
-		-webkit-text-stroke-width: 0rpx;
-		-moz-osx-font-smoothing: grayscale;
-	}
-
-	.iconedit:before {
-		content: "\e649";
-	}
-
-	.iconfavorfill:before {
-		content: "\e64b";
-	}
-
-	.iconfavor:before {
-		content: "\e64c";
-	}
-
-	.iconlocation:before {
-		content: "\e651";
-	}
-
-	.iconroundcheckfill:before {
-		content: "\e656";
-	}
-
-	.iconroundcheck:before {
-		content: "\e657";
-	}
-
-	.iconunfold:before {
-		content: "\e661";
-	}
-
-	.iconlikefill:before {
-		content: "\e668";
-	}
-
-	.iconlike:before {
-		content: "\e669";
-	}
-
-	.iconshop:before {
-		content: "\e676";
-	}
-
-	.iconcart:before {
-		content: "\e6af";
-	}
-
-	.icondelete:before {
-		content: "\e6b4";
-	}
-
-	.iconhome:before {
-		content: "\e6b8";
-	}
-
-	.iconcartfill:before {
-		content: "\e6b9";
-	}
-
-	.iconhomefill:before {
-		content: "\e6bb";
-	}
-
-	.iconlock:before {
-		content: "\e6c0";
-	}
-
-	.iconfriendadd:before {
-		content: "\e6ca";
-	}
-
-	.iconfold:before {
-		content: "\e6de";
-	}
-
-	.iconapps:before {
-		content: "\e729";
-	}
-
-	.iconadd:before {
-		content: "\e767";
-	}
-
-	.iconmove:before {
-		content: "\e768";
-	}
-
-	.icontriangledownfill:before {
-		content: "\e79b";
-	}
-
-	.icontriangleupfill:before {
-		content: "\e79c";
-	}
-
-	.iconshaixuan:before {
-		content: "\e74a";
-	}
+@font-face {
+	font-family: 'iconfont';
+	/* project id 1482221 */
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
+}
+
+.iconfont {
+	font-family: "iconfont" !important;
+	font-size: 34rpx;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+	-webkit-text-stroke-width: 0rpx;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.iconedit:before {
+	content: "\e649";
+}
+
+.iconfavorfill:before {
+	content: "\e64b";
+}
+
+.iconfavor:before {
+	content: "\e64c";
+}
+
+.iconfold:before {
+	content: "\e6de";
+}
+
+.iconunfold:before {
+	content: "\e661";
+}
+
+.iconenter:after {
+	content: "\e6f8";
+}
+
+.iconlocation:before {
+	content: "\e651";
+}
+
+.iconroundcheckfill:before {
+	content: "\e656";
+}
+
+.iconroundcheck:before {
+	content: "\e657";
+}
+
+.iconlikefill:before {
+	content: "\e668";
+}
+
+.iconlike:before {
+	content: "\e669";
+}
+
+.iconshop:before {
+	content: "\e676";
+}
+
+.iconcart:before {
+	content: "\e6af";
+}
+
+.icondelete:before {
+	content: "\e6b4";
+}
+
+.iconhome:before {
+	content: "\e6b8";
+}
+
+.iconcartfill:before {
+	content: "\e6b9";
+}
+
+.iconhomefill:before {
+	content: "\e6bb";
+}
+
+.iconlock:before {
+	content: "\e6c0";
+}
+
+.iconfriendadd:before {
+	content: "\e6ca";
+}
+
+.iconapps:before {
+	content: "\e729";
+}
+
+.iconadd:before {
+	content: "\e767";
+}
+
+.iconmove:before {
+	content: "\e768";
+}
+
+.icontriangledownfill:before {
+	content: "\e79b";
+}
+
+.icontriangleupfill:before {
+	content: "\e79c";
+}
 
-	.iconyanzhengma:before {
-		content: "\e684";
-	}
+.iconshaixuan:before {
+	content: "\e74a";
+}
 
-	.iconjifen:before {
-		content: "\e60f";
-	}
+.iconyanzhengma:before {
+	content: "\e684";
+}
 
-	.iconwuliuxinxi:before {
-		content: "\e62b";
-	}
+.iconjifen:before {
+	content: "\e60f";
+}
 
-	.iconmessage:before {
-		content: "\e78a";
-	}
+.iconwuliuxinxi:before {
+	content: "\e62b";
+}
 
-	.iconsetting:before {
-		content: "\e78e";
-	}
+.iconmessage:before {
+	content: "\e78a";
+}
 
-	.iconaddition:before {
-		content: "\e6e0";
-	}
+.iconsetting:before {
+	content: "\e78e";
+}
 
-	.iconclose:before {
-		content: "\e6e9";
-	}
+.iconaddition:before {
+	content: "\e6e0";
+}
 
-	.iconenter:after {
-		content: "\e6f8";
-	}
+.iconclose:before {
+	content: "\e6e9";
+}
 
-	.iconprompt:before {
-		content: "\e71b";
-	}
 
-	.iconreturn:before {
-		content: "\e720";
-	}
+.iconprompt:before {
+	content: "\e71b";
+}
 
-	.iconsearch:before {
-		content: "\e741";
-	}
-
-	.iconpengyouquan:before {
-		content: "\e62c";
-	}
-
-	.iconweixin:before {
-		content: "\e60e";
-	}
-
-	.iconzhifubao:before {
-		content: "\e673";
-	}
-
-	.iconyue:before {
-		content: "\e618";
-	}
-
-	.iconweixin1:before {
-		content: "\e622";
-	}
-
-	.iconlock1:before {
-		content: "\e64d";
-	}
-
-	.iconuser:before {
-		content: "\e64e";
-	}
-
-	.iconchenggongtixianshouyi:before {
-		content: "\e64f";
-	}
-
-	.iconviptuiguangdingdan:before {
-		content: "\e650";
-	}
-
-	.icondaifukuan:before {
-		content: "\e652";
-	}
-
-	.icondaijiesuanshouyi:before {
-		content: "\e653";
-	}
-
-	.icondaidakuanshouyi:before {
-		content: "\e654";
-	}
-
-	.icondaifahuo:before {
-		content: "\e655";
-	}
-
-	.icondaishouhuoshouyi:before {
-		content: "\e658";
-	}
-
-	.icondaishouhuo:before {
-		content: "\e659";
-	}
-
-	.iconwuxiaoshouyi:before {
-		content: "\e65a";
-	}
-
-	.icontixianmingxi:before {
-		content: "\e65b";
-	}
-
-	.iconshouyi:before {
-		content: "\e65c";
-	}
-
-	.iconkouchutixianshouxufei:before {
-		content: "\e65d";
-	}
-
-	.iconyishenqingshouyi:before {
-		content: "\e65e";
-	}
-
-	.icontuihuanhuo:before {
-		content: "\e65f";
-	}
-
-	.bg-color-red {
-		background-color: #e93323 !important;
-	}
-
-	/*水平线*/
-	.hr {
-		width: 100%;
-		position: relative;
-		border-bottom: 1px solid #dddddd;
-		/* height: 0.5rpx; */
-	}
-
-	/* 一行显示 */
-	.clamp {
-		overflow: hidden;
-		text-overflow: ellipsis;
-		white-space: nowrap;
-		display: block;
-	}
-
-	/* 二行显示 */
-	.clamp2 {
-		overflow: hidden;
-		text-overflow: ellipsis;
-		display: -webkit-box;
-		-webkit-line-clamp: 2;
-		-webkit-box-orient: vertical;
-	}
-
-	/* 二行显示 */
-	.ellipsis {
-		overflow: hidden;
-		text-overflow: ellipsis;
-		display: -webkit-box;
-		-webkit-box-orient: vertical;
-		-webkit-line-clamp: 2;
-	}
-
-	.common-hover {
-		background: #f5f5f5;
-	}
-
-	/* 角标 */
-	.corner {
-		background-color: #e51c23;
-		position: absolute;
-		right: -18rpx;
-		top: -18rpx;
-		color: #FFFFFF;
-		text-align: center;
-		border-radius: 999px;
-		font-size: 24rpx !important;
-		min-width: 35rpx;
-		min-height: 35rpx;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		line-height: 1;
-	}
-
-	.flex_item {
-		display: flex;
-		align-items: center;
-		/* justify-content: space-between; */
-	}
-
-	/* 左右顶格加上下居中 */
-	.flex-between-center {
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-	}
-
-	/* flex布局-整体居中 */
-	.flex-center {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-	}
-
-	/* flex-开始居中 */
-	.flex-start {
-		display: flex;
-		align-items: center;
-		justify-content: flex-start;
-	}
-
-	/* 一行居中显示 */
-	.flex-line {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		flex-direction: column;
-	}
-
-	/*文字对齐*/
-	.text-left {
-		text-align: left !important;
-	}
-
-	.text-center {
-		text-align: center !important;
-	}
-
-	.text-justify {
-		text-align: justify !important;
-	}
-
-	.text-right {
-		text-align: right !important;
-	}
-
-	.text-default {
-		color: #212121 !important;
-	}
-
-	.text-white {
-		color: #ffffff !important;
-	}
-
-	.text-primary {
-		color: #00bcd4 !important;
-	}
-
-	.text-success {
-		color: #009688 !important;
-	}
-
-	.text-info {
-		color: #03a9f4 !important;
-	}
-
-	.text-warning {
-		color: #ffc107 !important;
-	}
-
-	.text-danger {
-		color: #e51c23 !important;
-	}
-
-	.text-pink {
-		color: #e91e63 !important;
-	}
-
-	.text-purple {
-		color: #673ab7 !important;
-	}
-
-	.text-indigo {
-		color: #3f51b5 !important;
-	}
-
-	.text-gray {
-		color: #999999 !important;
-	}
-
-	.bg-default {
-		background-color: #f5f5f5 !important;
-	}
-
-	.bg-primary {
-		background-color: #00bcd4 !important;
-	}
-
-	.bg-success {
-		background-color: #009688 !important;
-	}
-
-	.bg-info {
-		background-color: #03a9f4 !important;
-	}
-
-	.bg-warning {
-		background-color: #FFB238 !important;
-	}
-
-	.bg-danger {
-		background-color: #DC4D46 !important;
-	}
-
-	.bg-pink {
-		background-color: #e91e63 !important;
-	}
-
-	.bg-purple {
-		background-color: #673ab7 !important;
-	}
-
-	.bg-indigo {
-		background-color: #3f51b5 !important;
-	}
-
-	.bg-white {
-		background-color: white !important;
-	}
-
-	.bg-gray {
-		background-color: #e3e3e3 !important;
-	}
-
-	/* 边框 */
-	.border-radius-15 {
-		border-radius: 15rpx;
-	}
-
-	.border-radius-10 {
-		border-radius: 10rpx;
-	}
-
-	.border-radius-all {
-		border-radius: 1000rpx;
-	}
-
-	/* 底部边线 */
-	.borde-b {
-		border-bottom: 1px solid #dddddd;
-	}
-
-	/* 弹性盒子 */
-	.flex {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-	}
-
-	.items-left {
-		justify-content: flex-start;
-	}
-
-	.items-right {
-		justify-content: flex-end;
-	}
-
-	.flex-shrink-false {
-		flex-shrink: 0;
-	}
-
-	.flex-grow-true {
-		flex-grow: 1;
-	}
-
-	.position-relative {
-		position: relative;
-	}
+.iconreturn:before {
+	content: "\e720";
+}
+
+.iconsearch:before {
+	content: "\e741";
+}
+
+.iconpengyouquan:before {
+	content: "\e62c";
+}
+
+.iconweixin:before {
+	content: "\e60e";
+}
+
+.iconzhifubao:before {
+	content: "\e673";
+}
+
+.iconyue:before {
+	content: "\e618";
+}
+
+.iconweixin1:before {
+	content: "\e622";
+}
+
+.iconlock1:before {
+	content: "\e64d";
+}
+
+.iconuser:before {
+	content: "\e64e";
+}
+
+.iconchenggongtixianshouyi:before {
+	content: "\e64f";
+}
+
+.iconviptuiguangdingdan:before {
+	content: "\e650";
+}
+
+.icondaifukuan:before {
+	content: "\e652";
+}
+
+.icondaijiesuanshouyi:before {
+	content: "\e653";
+}
+
+.icondaidakuanshouyi:before {
+	content: "\e654";
+}
+
+.icondaifahuo:before {
+	content: "\e655";
+}
+
+.icondaishouhuoshouyi:before {
+	content: "\e658";
+}
+
+.icondaishouhuo:before {
+	content: "\e659";
+}
+
+.iconwuxiaoshouyi:before {
+	content: "\e65a";
+}
+
+.icontixianmingxi:before {
+	content: "\e65b";
+}
+
+.iconshouyi:before {
+	content: "\e65c";
+}
+
+.iconkouchutixianshouxufei:before {
+	content: "\e65d";
+}
+
+.iconyishenqingshouyi:before {
+	content: "\e65e";
+}
+
+.icontuihuanhuo:before {
+	content: "\e65f";
+}
+
+.bg-color-red {
+	background-color: #e93323 !important;
+}
+
+/*水平线*/
+.hr {
+	width: 100%;
+	position: relative;
+	border-bottom: 1px solid #dddddd;
+	/* height: 0.5rpx; */
+}
+
+/* 一行显示 */
+.clamp {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	display: block;
+}
+
+/* 二行显示 */
+.clamp2 {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+}
+
+/* 二行显示 */
+.ellipsis {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-box-orient: vertical;
+	-webkit-line-clamp: 2;
+}
+
+.common-hover {
+	background: #f5f5f5;
+}
+
+/* 角标 */
+.corner {
+	background-color: #e51c23;
+	position: absolute;
+	right: -18rpx;
+	top: -18rpx;
+	color: #FFFFFF;
+	text-align: center;
+	border-radius: 999px;
+	font-size: 24rpx !important;
+	min-width: 35rpx;
+	min-height: 35rpx;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	line-height: 1;
+}
+
+.flex_item {
+	display: flex;
+	align-items: center;
+	/* justify-content: space-between; */
+}
+
+/* 左右顶格加上下居中 */
+.flex-between-center {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+}
+
+/* flex布局-整体居中 */
+.flex-center {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+
+/* flex-开始居中 */
+.flex-start {
+	display: flex;
+	align-items: center;
+	justify-content: flex-start;
+}
+
+/* 一行居中显示 */
+.flex-line {
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	flex-direction: column;
+}
+
+/*文字对齐*/
+.text-left {
+	text-align: left !important;
+}
+
+.text-center {
+	text-align: center !important;
+}
+
+.text-justify {
+	text-align: justify !important;
+}
+
+.text-right {
+	text-align: right !important;
+}
+
+.text-default {
+	color: #212121 !important;
+}
+
+.text-white {
+	color: #ffffff !important;
+}
+
+.text-primary {
+	color: #00bcd4 !important;
+}
+
+.text-success {
+	color: #009688 !important;
+}
+
+.text-info {
+	color: #03a9f4 !important;
+}
+
+.text-warning {
+	color: #ffc107 !important;
+}
+
+.text-danger {
+	color: #e51c23 !important;
+}
+
+.text-pink {
+	color: #e91e63 !important;
+}
+
+.text-purple {
+	color: #673ab7 !important;
+}
+
+.text-indigo {
+	color: #3f51b5 !important;
+}
+
+.text-gray {
+	color: #999999 !important;
+}
+
+.bg-default {
+	background-color: #f5f5f5 !important;
+}
+
+.bg-primary {
+	background-color: #00bcd4 !important;
+}
+
+.bg-success {
+	background-color: #009688 !important;
+}
+
+.bg-info {
+	background-color: #03a9f4 !important;
+}
+
+.bg-warning {
+	background-color: #FFB238 !important;
+}
+
+.bg-danger {
+	background-color: #DC4D46 !important;
+}
+
+.bg-pink {
+	background-color: #e91e63 !important;
+}
+
+.bg-purple {
+	background-color: #673ab7 !important;
+}
+
+.bg-indigo {
+	background-color: #3f51b5 !important;
+}
+
+.bg-white {
+	background-color: white !important;
+}
+
+.bg-gray {
+	background-color: #e3e3e3 !important;
+}
+
+/* 边框 */
+.border-radius-15 {
+	border-radius: 15rpx;
+}
+
+.border-radius-10 {
+	border-radius: 10rpx;
+}
+
+.border-radius-all {
+	border-radius: 1000rpx;
+}
+
+/* 底部边线 */
+.borde-b {
+	border-bottom: 1px solid #dddddd;
+}
+
+/* 弹性盒子 */
+.flex {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+}
+
+.items-left {
+	justify-content: flex-start;
+}
+
+.items-right {
+	justify-content: flex-end;
+}
+
+.flex-shrink-false {
+	flex-shrink: 0;
+}
+
+.flex-grow-true {
+	flex-grow: 1;
+}
+
+.position-relative {
+	position: relative;
+}

BIN
static/error/emptyList.png


BIN
static/error/emptyMyCart.png


BIN
static/icon/addressIconXz.png


BIN
static/icon/yh.png