Преглед изворни кода

新增预约送餐功能和自选活动下单

嘀嘀嘀 пре 1 година
родитељ
комит
929da5008b

+ 1 - 1
pages/index/index.vue

@@ -219,7 +219,7 @@
 									<view class="lable flex justify-center align-center" v-if="item.couponList" style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;" v-for="(it,ide) in item.couponList" :key="ide">
 										<text>优惠券</text>
 										<text style="margin-left: 3px;">|</text>
-										满{{it.minMoney}}减{{it.money}}
+										<text style="margin-left: 3px;">满{{it.minMoney}}减{{it.money}}</text>
 									</view>
 									
 								</view>

+ 318 - 19
pages/index/shop/confirmOrder.vue

@@ -53,6 +53,19 @@
 						<image src="../../../static/images/index/right.png"></image>
 					</view>
 				</view>
+				<!-- 预约送达时间 -->
+				<view class="goods_address">
+					<view class="address_box">
+						<view class="address_name">送达时间</view>
+						<picker class='time-picker' mode="multiSelector" @change="bindStartMultiPickerChange"
+							@columnchange="bindMultiPickerColumnChange" :range="data.multiArray">
+							{{data.startDate}}
+						</picker>
+						<view class="songda_image">
+							<image src="../../../static/images/index/right.png"></image>
+						</view>
+					</view>
+				</view>
 			</view>
 		</view>
 
@@ -98,7 +111,7 @@
 			</view>
 			<view class="tosend_header_do justify-between do_bot" @click="huodongShow">
 				<view>优惠活动</view>
-				<view class="tosend_header_do_ri" v-if="coupon">- ¥{{ coupon.money }}</view>
+				<view class="tosend_header_do_ri" v-if="huodong">- ¥{{ huodong.discountAmount }}</view>
 				<view v-else>
 					<image src="../../../static/images/order/right1.png" style="width: 14rpx;height: 24rpx;" mode="">
 					</image>
@@ -199,7 +212,7 @@
 				<view class="text-center text-lg text-bold margin-bottom-sm">可用优惠活动</view>
 				<scroll-view scroll-y="true" style="height: 600rpx;" v-if="huoList.length > 0">
 					<view class="flex justify-between align-center radius margin-tb-sm padding-sm bg-white"
-						v-for="(item, index) in huoList" :key="index">
+						v-for="(item, index) in huoList" :key="index" @click="selctHuo(item)">
 						<view>
 							<view>{{ item.activityTitle }}</view>
 							<view>有效期至{{ item.activityEndTime }}</view>
@@ -220,6 +233,41 @@
 </template>
 
 <script>
+	/**
+	 * 获取任意时间
+	 */
+	function getDate(date, AddDayCount = 0) {
+		if (!date) {
+			date = new Date()
+		}
+		if (typeof date !== 'object') {
+			date = date.replace(/-/g, '/')
+		}
+		const dd = new Date(date)
+	
+		dd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期
+	
+		var a = new Array("日", "一", "二", "三", "四", "五", "六");  
+		var week = new Date().getDay();    
+		var week2 = new Date().getDay()+1;    
+		const y = dd.getFullYear()
+		const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 获取当前月份的日期,不足10补0
+		const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 获取当前几号,不足10补0
+		const h = dd.getHours() < 10 ? '0' + dd.getHours() : dd.getHours()
+		const f = dd.getMinutes() < 10 ? '0' + dd.getMinutes() : dd.getMinutes()
+		const s = dd.getSeconds() < 10 ? '0' + dd.getSeconds() : dd.getSeconds()
+		return {
+			fullDate: y + '-' + m + '-' + d,
+			fullDate2: y + '-' + m + '-' + d+' '+h+':'+f+':'+s,
+			fullTime: m + '月' + d + '日',
+			year: y,
+			month: m,
+			date: d,
+			day: dd.getDay(),
+			sWeek:"周"+ a[week],
+			eWeek:"周"+ a[week2]
+		}
+	}
 	export default {
 		data() {
 			return {
@@ -241,10 +289,11 @@
 				parentId: '',
 				shopId: '',
 				show: false,
-				youhui:false,//优惠活动
-				coupon: '',//选择的优惠券信息
+				youhui: false, //优惠活动
+				coupon: '', //选择的优惠券信息
+				huodong: '', //选择的活动信息
 				couponList: [],
-				huoList:[],//可用活动
+				huoList: [], //可用活动
 				orderType: 2,
 				paotuiMoney: 0,
 				dabaoMoney: 0,
@@ -255,9 +304,19 @@
 				XCXIsSelect: '是',
 				remark: '',
 				GoodsorderId: '',
-				ifPaotui:0,//是否满减
-				lng:'',
-				lat:''
+				ifPaotui: 0, //是否满减
+				lng: '',
+				lat: '',
+				data: {
+					multiArray: [],
+					warning: '',
+					startDate: '请选择'
+				},
+				workStart:'',//骑手上班时间
+				workEnd:'',//骑手下班时间
+				yusongTime:'',//骑手预计送达时长
+				reservationFlag:0,//是否预约单 1是、0否
+				expectDeliveryTime:'',//预约送达时间
 			};
 		},
 		onLoad(option) {
@@ -321,7 +380,7 @@
 				success: function(res) {
 					this.lat = res.latitude;
 					this.lng = res.longitude;
-			
+
 				}
 			});
 			this.getShopDet(this.shopId);
@@ -334,10 +393,10 @@
 					this.lng = res.longitude;
 				}
 			});
-			
+
 			this.getShopDet(this.shopId);
 			// #endif
-			
+
 			this.orderType = option.orderType;
 			if (option.orderId) {
 				this.orderId = option.orderId;
@@ -348,6 +407,7 @@
 			});
 			// this.getOrderList();
 			this.getAddressList();
+			this.getQishou()
 		},
 		onShow() {
 			this.getMsgData();
@@ -360,6 +420,195 @@
 			}
 		},
 		methods: {
+			//获取骑手上下班时间
+			getQishou(){
+				this.$Request.get('/app/tbindent/work-time').then(res => {
+					if (res.code == 0 && res.data) {
+						this.workStart=parseInt((res.data.workingHoursOfRider).substring(0,2))
+						this.workEnd=parseInt((res.data.workingHoursOfRider).substring(6,8))
+						this.yusongTime=res.data.timeOfRider
+						
+						var date = new Date();
+						var currentHours = date.getHours();
+						var currentMinute = date.getMinutes();
+						var temp = [];
+						// currentHours = 12;
+						var temp_time = [];
+						//如果当前时间大于20点
+						var minite=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+						if(parseInt(this.yusongTime/60)==0){
+							var h1=0
+							var h2=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+						}else{
+							var h1=parseInt(this.yusongTime/60)
+							var h2=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+						}
+						var acc=currentHours + h1
+						var bcc=currentMinute + h2
+						var teshu=this.workStart + h1
+						if(bcc>=60){
+							var b=bcc-60
+							var a=acc+1
+						}else{
+							var b=bcc
+							var a=acc
+						}
+						var a1=a + 1
+						
+						var s1=a.toString()
+						var s2=a1.toString()
+						var e1=b.toString()
+						if (currentHours >= (this.workEnd-h1)) {
+							// this.$queue.setData({
+							//   warning:'当前时间段不在服务范围,现在下单,最早将于明早8点上门安装',
+							//   startDate:'明早 | 8:00-10:00'
+							// })
+							var time2=teshu+1
+							this.data.warning = '当前时间段无骑手配送,现在下单,最早将于明日'+teshu + ':00'+'送达'
+							this.data.startDate = '明日 | '+teshu + ':00' + '-' + time2 + ':00'
+							// this.data.startDate = '明早 | '+a + ':'+b + '-' + a1 + ':'+b
+							temp[0] = ["明天", "后天"];
+							temp[1] = [];
+							for (let i = teshu; i < (this.workEnd-h1);) {
+								var i1 = i + 1;
+								var ss1=i.toString()
+								var ss2=i1.toString()
+								temp[1].push(i + ':00' + '-' + i1 + ':00')
+								i += 1;
+							}
+						} else if (currentHours < this.workStart) {
+							// this.$queue.setData({
+							//   warning:'当前时间段不在服务范围,现在下单,最早将于今早8点上门安装',
+							//   startDate:'明早 | 8:00-10:00'
+							// })
+							var time2=teshu+1
+							this.data.warning = '当前时间段无骑手配送,现在下单,最早将于今日'+teshu + ':00'+'送达'
+							this.data.startDate = '今日 | '+teshu + ':00' + '-' + time2 + ':00'
+							temp[0] = ["今天", "明天"];
+							temp[1] = [];
+							for (let i = teshu; i < (this.workEnd-h1);) {
+								var i1 = i + 1;
+								var ss1=i.toString()
+								var ss2=i1.toString()
+								temp[1].push(i + ':00' + '-' + i1 + ':00')
+								i += 1;
+							}
+						} else {
+							// this.$queue.setData({
+							//   startDate:'尽快送达 | 两小时内'
+							// })
+							// this.data.startDate = '尽快送达 | 两小时内'
+							// this.data.startDate = s1.padStart(2,0) + ':'+e1.padStart(2,0) + '-' + s2.padStart(2,0) + ':'+e1.padStart(2,0)
+							temp[0] = ["今天", "明天"];
+							temp[1] = [];
+							for (let i = a; i < (this.workEnd-h1);) {
+								var i1 = i + 1;
+								var ss1=i.toString()
+								var ss2=i1.toString()
+								temp[1].push(ss1.padStart(2,0) + ':'+e1.padStart(2,0) + '-' + ss2.padStart(2,0) + ':'+e1.padStart(2,0))
+								i += 1;
+							}
+						}
+						// this.$queue.setData({
+						//   multiArray:temp,
+						// })
+						
+						this.data.multiArray = temp
+						if(this.data.warning!=''){
+						  wx.showToast({
+						    title: this.data.warning,
+						    icon: 'none',
+						    duration: 3000
+						  })
+						}
+					}
+				});
+			},
+			bindMultiPickerColumnChange: function(e) {
+				console.log(e)
+				console.log('第几列发生变化', e.detail.column)
+				console.log('选择第几个', e.detail.value)
+				let c = e.detail.column;
+				let v = e.detail.value;
+				var time = [];
+				var date = new Date();
+				console.log(date)
+				var date = new Date();
+				var currentHours = date.getHours();
+				var currentMinute = date.getMinutes();
+				var minite=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+				if(parseInt(this.yusongTime/60)==0){
+					var h2=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+				}else{
+					var h1=parseInt(this.yusongTime/60)
+					var h2=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+				}
+				var acc=currentHours + h1
+				var bcc=currentMinute + h2
+				var teshu=this.workStart + h1
+				if(bcc>=60){
+					var b=bcc-60
+					var a=acc+1
+				}else{
+					var b=bcc
+					var a=acc
+				}
+				var a1=a + 1
+				var s1=a.toString()
+				var s2=a1.toString()
+				var e1=b.toString()
+				var temp = this.data.multiArray;
+				// currentHours = 12;
+				if (c == 0) {
+					if (temp[c][v] == '今天') {
+						temp[1] = [];
+						for (let i = a; i < (this.workEnd-h1);) {
+							var i1 = i + 1;
+							var ss1=i.toString()
+							var ss2=i1.toString()
+							temp[1].push(ss1.padStart(2,0) + ':'+e1.padStart(2,0) + '-' + ss2.padStart(2,0) + ':'+e1.padStart(2,0))
+							i += 1;
+						}
+					} else {
+						temp[1] = [];
+						for (let i = teshu; i < (this.workEnd-h1);) {
+							var i1 = i + 1;
+							var ss1=i.toString()
+							var ss2=i1.toString()
+							temp[1].push(i + ':00' + '-' + i1 + ':00')
+							i += 1;
+						}
+					}
+					// this.$queue.setData({
+					//   multiArray:temp
+					// })
+					this.data.multiArray = temp
+					this.$forceUpdate();
+					console.log(this.data.multiArray, 'l')
+				}
+			},
+			bindStartMultiPickerChange: function(e) {
+				let temp = this.data.multiArray;
+				// this.$queue.setData({
+				//   startDate:temp[0][e.detail.value[0]]+' | '+temp[1][e.detail.value[1]]
+				// })
+				this.data.startDate = temp[0][e.detail.value[0]] + ' | ' + temp[1][e.detail.value[1]]
+				console.log(temp[0][e.detail.value[0]],temp[1][e.detail.value[1]],getDate(new Date(),2).fullDate)
+				if(this.data.startDate){
+					this.reservationFlag=1
+					if(temp[0][e.detail.value[0]]=="今天") {
+						var date=getDate(new Date()).fullDate
+						this.expectDeliveryTime=date+' '+temp[1][e.detail.value[1]].substring(6,11)+":00"
+					}else if(temp[0][e.detail.value[0]]=="明天") {
+						var date=getDate(new Date(),1).fullDate
+						this.expectDeliveryTime=date+' '+temp[1][e.detail.value[1]].substring(6,11)+":00"
+					}else if(temp[0][e.detail.value[0]]=="后天") {
+						var date=getDate(new Date(),2).fullDate
+						this.expectDeliveryTime=date+' '+temp[1][e.detail.value[1]].substring(6,11)+":00"
+					}
+				}
+			},
+
 			goCash() {
 				uni.navigateTo({
 					url: '/my/wallet/index'
@@ -382,7 +631,7 @@
 				this.$Request.get('/app/goods/selectGoodsList', data).then(res => {
 					if (res.code == 0 && res.data) {
 						this.shopDet = res.data.goodsShop;
-						this.ifPaotui=res.data.goodsShop.enableFullReductionFlag
+						this.ifPaotui = res.data.goodsShop.enableFullReductionFlag
 						this.getOrderList();
 					}
 				});
@@ -394,8 +643,8 @@
 				this.show = true;
 			},
 			//选择优惠活动弹框
-			huodongShow(){
-				this.youhui=true
+			huodongShow() {
+				this.youhui = true
 			},
 			getDistance() {
 				if (this.address.lng && this.dataList.shopLng) {
@@ -426,6 +675,7 @@
 			switchTab(e) {
 				this.orderType = e;
 				this.coupon = '';
+				this.huodong-''
 				if (JSON.stringify(this.address) != '{}') {
 					this.getDistance();
 				}
@@ -483,6 +733,34 @@
 					}
 				});
 			},
+			//选择活动activityId
+			selctHuo(item) {
+				this.huodong = item;
+				if (this.orderType == 2) {
+					this.totalPrice1 = parseFloat(this.totalPrice + this.paotuiMoney + this.dabaoMoney).toFixed(2);
+				} else {
+					this.totalPrice1 = parseFloat(this.totalPrice + this.dabaoMoney).toFixed(2);
+				}
+
+				let totalMoney = parseFloat(this.totalPrice1 - (this.huodong.discountAmount ? this.huodong.discountAmount : 0)).toFixed(2);
+
+				if (totalMoney <= 0) {
+					this.totalPrice1 = 0.01;
+				} else {
+					this.totalPrice1 = totalMoney;
+				}
+				this.youhui = false;
+				// let data = {
+				// 	parentId: this.dataList.parentId,
+				// 	couponId: this.huodong ? this.huodong.id : ''
+				// };
+				
+				// this.$Request.post('/app/order/employCoupon', data).then(res => {
+				// 	if (res.code == 0) {
+				// 		this.show = false;
+				// 	}
+				// });
+			},
 			// 优惠卷列表
 			getCouponList() {
 				// console.log(this.paotuiMoney)
@@ -505,7 +783,7 @@
 				});
 			},
 			// 优惠活动列表
-			getHuoList(){
+			getHuoList() {
 				let data = {
 					orderId: this.dataList.orderId,
 				};
@@ -557,18 +835,18 @@
 						}
 
 						// this.paotuiMoney = this.dataList.errandMoney
-						if(this.ifPaotui==1){
+						if (this.ifPaotui == 1) {
 							this.paotuiMoney = this.dataList.errandMoney;
-						}else if(this.ifPaotui==0){
+						} else if (this.ifPaotui == 0) {
 							// 判断商品金额是否大于最低减免配送费金额
-							console.log(this.goodsMoney, '商品总金额', res,this.dataList.exemptMinMoney)
+							console.log(this.goodsMoney, '商品总金额', res, this.dataList.exemptMinMoney)
 							if (Number(this.goodsMoney) >= Number(this.dataList.exemptMinMoney)) {
 								this.paotuiMoney = 0;
 							} else {
 								this.paotuiMoney = this.dataList.errandMoney;
 							}
 						}
-						
+
 						this.totalPrice = res.data.money;
 						if (this.orderType == 2) {
 							this.totalPrice1 = parseFloat(parseFloat(this.totalPrice) + parseFloat(this
@@ -636,6 +914,11 @@
 				if (this.openWay == 1) {
 					//零钱支付
 					let data = {
+						userId:uni.getStorageSync('userId'),
+						type:1,//支付方式 1表示微信支付、4或5表示支付宝支付
+						activityId:this.huodong ? this.huodong.activityId : '',
+						reservationFlag:this.reservationFlag,//是否预约单 1是、0否
+						expectDeliveryTime:this.expectDeliveryTime,//期待送达时间 yyyy-MM-dd HH:mm:ss
 						parentId: this.dataList.parentId,
 						couponId: this.coupon ? this.coupon.id : '',
 						addressId: this.address.addressId ? this.address.addressId : '',
@@ -662,6 +945,11 @@
 					//微信支付
 					// #ifdef H5
 					let data = {
+						userId:uni.getStorageSync('userId'),
+						type:1,//支付方式 1表示微信支付、4或5表示支付宝支付
+						activityId:this.huodong ? this.huodong.activityId : '',
+						reservationFlag:this.reservationFlag,//是否预约单 1是、0否
+						expectDeliveryTime:this.expectDeliveryTime,//期待送达时间 yyyy-MM-dd HH:mm:ss
 						parentId: this.dataList.parentId,
 						couponId: this.coupon ? this.coupon.id : '',
 						addressId: this.address.addressId ? this.address.addressId : '',
@@ -684,6 +972,11 @@
 					// #ifdef MP-WEIXIN
 
 					let data = {
+						userId:uni.getStorageSync('userId'),
+						type:4,//支付方式 1表示微信支付、4或5表示支付宝支付
+						activityId:this.huodong ? this.huodong.activityId : '',
+						reservationFlag:this.reservationFlag,//是否预约单 1是、0否
+						expectDeliveryTime:this.expectDeliveryTime,//期待送达时间 yyyy-MM-dd HH:mm:ss
 						parentId: this.dataList.parentId,
 						couponId: this.coupon ? this.coupon.id : '',
 						addressId: this.address.addressId ? this.address.addressId : '',
@@ -1035,6 +1328,12 @@
 		height: 40rpx;
 	}
 
+	.songda_image image {
+		width: 20rpx;
+		height: 30rpx;
+		margin-left: 20rpx;
+	}
+
 	/* 地址 */
 	.address {
 		width: 88%;

+ 346 - 3
pages/index/shop/payOrder.vue

@@ -55,6 +55,19 @@
 						<image src="../../../static/images/index/right.png"></image>
 					</view>
 				</view>
+				<!-- 预约送达时间 -->
+				<view class="goods_address">
+					<view class="address_box">
+						<view class="address_name">送达时间</view>
+						<picker class='time-picker' mode="multiSelector" @change="bindStartMultiPickerChange"
+							@columnchange="bindMultiPickerColumnChange" :range="data.multiArray">
+							{{data.startDate}}
+						</picker>
+						<view class="songda_image">
+							<image src="../../../static/images/index/right.png"></image>
+						</view>
+					</view>
+				</view>
 			</view>
 		</view>
 
@@ -90,7 +103,7 @@
 				<view>跑腿费</view>
 				<view class="tosend_header_do_ri">¥{{ paotuiMoney }}</view>
 			</view>
-			<view class="tosend_header_do justify-between do_bot" @click="getCouponList">
+			<view class="tosend_header_do justify-between do_bot" @click="isShow">
 				<view>优惠券</view>
 				<view class="tosend_header_do_ri" v-if="coupon">- ¥{{ coupon.money }}</view>
 				<view v-else>
@@ -98,6 +111,14 @@
 					</image>
 				</view>
 			</view>
+			<view class="tosend_header_do justify-between do_bot" @click="huodongShow">
+				<view>优惠活动</view>
+				<view class="tosend_header_do_ri" v-if="huodong">- ¥{{ huodong.discountAmount }}</view>
+				<view v-else>
+					<image src="../../../static/images/order/right1.png" style="width: 14rpx;height: 24rpx;" mode="">
+					</image>
+				</view>
+			</view>
 			<view class="tosend_header_do justify-between">
 				<view class="tosend_header_do_le2">合计</view>
 				<view class="tosend_header_do_ri2">
@@ -175,6 +196,32 @@
 					style="height: 100rpx;line-height: 100rpx;text-align: center;font-weight: 700;">暂无可用优惠券</view>
 			</view>
 		</u-popup>
+		
+		<!-- 选择优惠活动 -->
+		<u-popup v-model="youhui" mode="center" :closeable="true" close-icon-pos="top-right" close-icon="close-circle"
+			close-icon-size="50" border-radius="20" width="80%" @close="closeYouhui()">
+			<view class="padding bg-gray">
+				<view class="text-center text-lg text-bold margin-bottom-sm">可用优惠活动</view>
+				<scroll-view scroll-y="true" style="height: 600rpx;" v-if="huoList.length > 0">
+					<view class="flex justify-between align-center radius margin-tb-sm padding-sm bg-white"
+						v-for="(item, index) in huoList" :key="index" @click="selctHuo(item)">
+						<view>
+							<view>{{ item.activityTitle }}</view>
+							<view>有效期至{{ item.activityEndTime }}</view>
+						</view>
+						<!-- <view class="text-sm text-bold">
+							¥
+							<text class="text-lg" v-if="item.activityType=='2'">{{ item.money }}</text>
+							<text class="text-lg" v-if="item.activityType=='2'">{{ item.money }}</text>
+							<text class="text-lg" v-if="item.activityType=='4'">全场打{{ item.discountAmount }}折</text>
+						</view> -->
+					</view>
+				</scroll-view>
+				<view v-if="huoList.length == 0"
+					style="height: 100rpx;line-height: 100rpx;text-align: center;font-weight: 700;">暂无可用优惠活动</view>
+			</view>
+		</u-popup>
+		
 		<view class="hintPopul" v-if="shopDet && shopDet.putawayFlag == 1">
 			<view class="content_">
 				<image src="../../../static/images/index/shop.png" style="width: 200rpx;height: 180rpx;"></image>
@@ -189,6 +236,41 @@
 </template>
 
 <script>
+	/**
+	 * 获取任意时间
+	 */
+	function getDate(date, AddDayCount = 0) {
+		if (!date) {
+			date = new Date()
+		}
+		if (typeof date !== 'object') {
+			date = date.replace(/-/g, '/')
+		}
+		const dd = new Date(date)
+	
+		dd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期
+	
+		var a = new Array("日", "一", "二", "三", "四", "五", "六");  
+		var week = new Date().getDay();    
+		var week2 = new Date().getDay()+1;    
+		const y = dd.getFullYear()
+		const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 获取当前月份的日期,不足10补0
+		const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 获取当前几号,不足10补0
+		const h = dd.getHours() < 10 ? '0' + dd.getHours() : dd.getHours()
+		const f = dd.getMinutes() < 10 ? '0' + dd.getMinutes() : dd.getMinutes()
+		const s = dd.getSeconds() < 10 ? '0' + dd.getSeconds() : dd.getSeconds()
+		return {
+			fullDate: y + '-' + m + '-' + d,
+			fullDate2: y + '-' + m + '-' + d+' '+h+':'+f+':'+s,
+			fullTime: m + '月' + d + '日',
+			year: y,
+			month: m,
+			date: d,
+			day: dd.getDay(),
+			sWeek:"周"+ a[week],
+			eWeek:"周"+ a[week2]
+		}
+	}
 	export default {
 		data() {
 			return {
@@ -208,9 +290,12 @@
 				parentId: '',
 				orderId: '',
 				show: false,
+				youhui:false,//优惠活动
 				coupon: '',
 				shopDet: '',
+				huodong: '', //选择的活动信息
 				couponList: [],
+				huoList: [], //可用活动
 				orderType: 2, //1表示到店自取 2表示外卖配送
 				paotuiMoney: 0,
 				dabaoMoney: 0,
@@ -221,6 +306,18 @@
 				remark: '',
 				GoodsorderId: '',
 				isThrottle: true,
+				lng:'',
+				lat:'',
+				data: {
+					multiArray: [],
+					warning: '',
+					startDate: '请选择'
+				},
+				workStart:'',//骑手上班时间
+				workEnd:'',//骑手下班时间
+				yusongTime:'',//骑手预计送达时长
+				reservationFlag:0,//是否预约单 1是、0否
+				expectDeliveryTime:'',//预约送达时间
 			};
 		},
 		onLoad(option) {
@@ -285,6 +382,7 @@
 			
 			this.getOrderList();
 			this.getAddressList();
+			this.getQishou()
 			let that = this;
 			//获取店铺信息
 			uni.getLocation({
@@ -304,6 +402,190 @@
 			}
 		},
 		methods: {
+			//获取骑手上下班时间
+			getQishou(){
+				this.$Request.get('/app/tbindent/work-time').then(res => {
+					if (res.code == 0 && res.data) {
+						this.workStart=parseInt((res.data.workingHoursOfRider).substring(0,2))
+						this.workEnd=parseInt((res.data.workingHoursOfRider).substring(6,8))
+						this.yusongTime=res.data.timeOfRider
+						
+						var date = new Date();
+						var currentHours = date.getHours();
+						var currentMinute = date.getMinutes();
+						var temp = [];
+						// currentHours = 12;
+						var temp_time = [];
+						//如果当前时间大于20点
+						var minite=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+						if(parseInt(this.yusongTime/60)==0){
+							var h1=0
+							var h2=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+						}else{
+							var h1=parseInt(this.yusongTime/60)
+							var h2=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+						}
+						var acc=currentHours + h1
+						var bcc=currentMinute + h2
+						var teshu=this.workStart + h1
+						if(bcc>=60){
+							var b=bcc-60
+							var a=acc+1
+						}else{
+							var b=bcc
+							var a=acc
+						}
+						var a1=a + 1
+						
+						var s1=a.toString()
+						var s2=a1.toString()
+						var e1=b.toString()
+						if (currentHours >= (this.workEnd-h1)) {
+							// this.$queue.setData({
+							//   warning:'当前时间段不在服务范围,现在下单,最早将于明早8点上门安装',
+							//   startDate:'明早 | 8:00-10:00'
+							// })
+							var time2=teshu+1
+							this.data.warning = '当前时间段无骑手配送,现在下单,最早将于明日'+teshu + ':00'+'送达'
+							this.data.startDate = '明日 | '+teshu + ':00' + '-' + time2 + ':00'
+							// this.data.startDate = '明早 | '+a + ':'+b + '-' + a1 + ':'+b
+							temp[0] = ["明天", "后天"];
+							temp[1] = [];
+							for (let i = teshu; i < (this.workEnd-h1);) {
+								var i1 = i + 1;
+								var ss1=i.toString()
+								var ss2=i1.toString()
+								temp[1].push(i + ':00' + '-' + i1 + ':00')
+								i += 1;
+							}
+						} else if (currentHours < this.workStart) {
+							// this.$queue.setData({
+							//   warning:'当前时间段不在服务范围,现在下单,最早将于今早8点上门安装',
+							//   startDate:'明早 | 8:00-10:00'
+							// })
+							var time2=teshu+1
+							this.data.warning = '当前时间段无骑手配送,现在下单,最早将于今日'+teshu + ':00'+'送达'
+							this.data.startDate = '今日 | '+teshu + ':00' + '-' + time2 + ':00'
+							temp[0] = ["今天", "明天"];
+							temp[1] = [];
+							for (let i = teshu; i < (this.workEnd-h1);) {
+								var i1 = i + 1;
+								var ss1=i.toString()
+								var ss2=i1.toString()
+								temp[1].push(i + ':00' + '-' + i1 + ':00')
+								i += 1;
+							}
+						} else {
+							// this.$queue.setData({
+							//   startDate:'尽快送达 | 两小时内'
+							// })
+							// this.data.startDate = '尽快送达 | 两小时内'
+							// this.data.startDate = s1.padStart(2,0) + ':'+e1.padStart(2,0) + '-' + s2.padStart(2,0) + ':'+e1.padStart(2,0)
+							temp[0] = ["今天", "明天"];
+							temp[1] = [];
+							for (let i = a; i < (this.workEnd-h1);) {
+								var i1 = i + 1;
+								var ss1=i.toString()
+								var ss2=i1.toString()
+								temp[1].push(ss1.padStart(2,0) + ':'+e1.padStart(2,0) + '-' + ss2.padStart(2,0) + ':'+e1.padStart(2,0))
+								i += 1;
+							}
+						}
+						// this.$queue.setData({
+						//   multiArray:temp,
+						// })
+						
+						this.data.multiArray = temp
+						if(this.data.warning!=''){
+						  wx.showToast({
+						    title: this.data.warning,
+						    icon: 'none',
+						    duration: 3000
+						  })
+						}
+					}
+				});
+			},
+			bindMultiPickerColumnChange: function(e) {
+				let c = e.detail.column;
+				let v = e.detail.value;
+				var time = [];
+				var date = new Date();
+				console.log(date)
+				var date = new Date();
+				var currentHours = date.getHours();
+				var currentMinute = date.getMinutes();
+				var minite=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+				if(parseInt(this.yusongTime/60)==0){
+					var h2=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+				}else{
+					var h1=parseInt(this.yusongTime/60)
+					var h2=parseInt(this.yusongTime-parseInt(this.yusongTime/60)*60)
+				}
+				var acc=currentHours + h1
+				var bcc=currentMinute + h2
+				var teshu=this.workStart + h1
+				if(bcc>=60){
+					var b=bcc-60
+					var a=acc+1
+				}else{
+					var b=bcc
+					var a=acc
+				}
+				var a1=a + 1
+				var s1=a.toString()
+				var s2=a1.toString()
+				var e1=b.toString()
+				var temp = this.data.multiArray;
+				// currentHours = 12;
+				if (c == 0) {
+					if (temp[c][v] == '今天') {
+						temp[1] = [];
+						for (let i = a; i < (this.workEnd-h1);) {
+							var i1 = i + 1;
+							var ss1=i.toString()
+							var ss2=i1.toString()
+							temp[1].push(ss1.padStart(2,0) + ':'+e1.padStart(2,0) + '-' + ss2.padStart(2,0) + ':'+e1.padStart(2,0))
+							i += 1;
+						}
+					} else {
+						temp[1] = [];
+						for (let i = teshu; i < (this.workEnd-h1);) {
+							var i1 = i + 1;
+							var ss1=i.toString()
+							var ss2=i1.toString()
+							temp[1].push(i + ':00' + '-' + i1 + ':00')
+							i += 1;
+						}
+					}
+					// this.$queue.setData({
+					//   multiArray:temp
+					// })
+					this.data.multiArray = temp
+					this.$forceUpdate();
+				}
+			},
+			bindStartMultiPickerChange: function(e) {
+				let temp = this.data.multiArray;
+				// this.$queue.setData({
+				//   startDate:temp[0][e.detail.value[0]]+' | '+temp[1][e.detail.value[1]]
+				// })
+				this.data.startDate = temp[0][e.detail.value[0]] + ' | ' + temp[1][e.detail.value[1]]
+				if(this.data.startDate){
+					this.reservationFlag=1
+					if(temp[0][e.detail.value[0]]=="今天") {
+						var date=getDate(new Date()).fullDate
+						this.expectDeliveryTime=date+' '+temp[1][e.detail.value[1]].substring(6,11)+":00"
+					}else if(temp[0][e.detail.value[0]]=="明天") {
+						var date=getDate(new Date(),1).fullDate
+						this.expectDeliveryTime=date+' '+temp[1][e.detail.value[1]].substring(6,11)+":00"
+					}else if(temp[0][e.detail.value[0]]=="后天") {
+						var date=getDate(new Date(),2).fullDate
+						this.expectDeliveryTime=date+' '+temp[1][e.detail.value[1]].substring(6,11)+":00"
+					}
+				}
+			},
+			
 			goCash() {
 				uni.navigateTo({
 					url: '/my/wallet/index'
@@ -332,6 +614,13 @@
 			goBack() {
 				uni.navigateBack({});
 			},
+			isShow() {
+				this.show = true;
+			},
+			//选择优惠活动弹框
+			huodongShow(){
+				this.youhui=true
+			},
 			getDistance() {
 				if (this.address.lng && this.dataList.shopLng) {
 					let data = {
@@ -355,6 +644,9 @@
 			close() {
 				this.show = false;
 			},
+			closeYouhui() {
+				this.youhui = false;
+			},
 			switchTab(e) {
 				// this.page = 1
 				// this.status = ''
@@ -421,6 +713,25 @@
 					}
 				});
 			},
+			
+			//选择活动activityId
+			selctHuo(item) {
+				this.huodong = item;
+				if (this.orderType == 2) {
+					this.totalPrice1 = parseFloat(this.totalPrice + this.paotuiMoney + this.dabaoMoney).toFixed(2);
+				} else {
+					this.totalPrice1 = parseFloat(this.totalPrice + this.dabaoMoney).toFixed(2);
+				}
+			
+				let totalMoney = parseFloat(this.totalPrice1 - (this.huodong.discountAmount ? this.huodong.discountAmount : 0)).toFixed(2);
+			
+				if (totalMoney <= 0) {
+					this.totalPrice1 = 0.01;
+				} else {
+					this.totalPrice1 = totalMoney;
+				}
+				this.youhui = false;
+			},
 			// 获取优惠券列表
 			getCouponList() {
 				console.log(this.totalPrice);
@@ -436,7 +747,17 @@
 					if (res.code == 0) {
 						this.couponList = res.data.list;
 					}
-					this.show = true;
+				});
+			},
+			// 优惠活动列表
+			getHuoList(){
+				let data = {
+					orderId: this.dataList.orderId,
+				};
+				this.$Request.get(`/app/activity/suit-activity/${this.dataList.orderId}`, data).then(res => {
+					if (res.code == 0) {
+						this.huoList = res.data;
+					}
 				});
 			},
 			// 获取订单信息
@@ -482,6 +803,8 @@
 
 						console.log(this.dataList);
 
+						this.getCouponList();
+						this.getHuoList();
 						this.detCoupon();
 						this.getDistance();
 					}
@@ -534,10 +857,15 @@
 				this.isThrottle = false
 				if (this.openWay == 1) {
 					let data = {
+						userId:uni.getStorageSync('userId'),
+						type:1,//支付方式 1表示微信支付、4或5表示支付宝支付
+						activityId:this.huodong ? this.huodong.activityId : '',
+						reservationFlag:this.reservationFlag,//是否预约单 1是、0否
+						expectDeliveryTime:this.expectDeliveryTime,//期待送达时间 yyyy-MM-dd HH:mm:ss
 						parentId: this.dataList.parentId,
 						couponId: this.coupon ? this.coupon.id : '',
 						addressId: this.address.addressId ? this.address.addressId : '',
-						orderType: this.orderType
+						orderType: this.orderType,
 					};
 					this.$Request.post('/app/wxPay/balanceOrder', data).then(res => {
 						if (res.code == 0) {
@@ -558,6 +886,11 @@
 				} else if (this.openWay == 2) {
 					// #ifdef H5
 					let data = {
+						userId:uni.getStorageSync('userId'),
+						type:1,//支付方式 1表示微信支付、4或5表示支付宝支付
+						activityId:this.huodong ? this.huodong.activityId : '',
+						reservationFlag:this.reservationFlag,//是否预约单 1是、0否
+						expectDeliveryTime:this.expectDeliveryTime,//期待送达时间 yyyy-MM-dd HH:mm:ss
 						parentId: this.dataList.parentId,
 						couponId: this.coupon ? this.coupon.id : '',
 						addressId: this.address.addressId ? this.address.addressId : '',
@@ -579,6 +912,11 @@
 
 					// #ifdef MP-WEIXIN
 					let data = {
+						userId:uni.getStorageSync('userId'),
+						type:4,//支付方式 1表示微信支付、4或5表示支付宝支付
+						activityId:this.huodong ? this.huodong.activityId : '',
+						reservationFlag:this.reservationFlag,//是否预约单 1是、0否
+						expectDeliveryTime:this.expectDeliveryTime,//期待送达时间 yyyy-MM-dd HH:mm:ss
 						parentId: this.dataList.parentId,
 						couponId: this.coupon ? this.coupon.id : '',
 						addressId: this.address.addressId ? this.address.addressId : '',
@@ -918,6 +1256,11 @@
 		width: 15rpx;
 		height: 30rpx;
 	}
+	.songda_image image {
+		width: 20rpx;
+		height: 30rpx;
+		margin-left: 20rpx;
+	}
 
 	/* 地址 */
 	.address {

+ 12 - 0
pages/order/index.vue

@@ -70,6 +70,7 @@
 					</view>
 				</view>
 				<view class="cont" v-if="item.orderType == 2">
+					<view class="order_title" v-if="item.expectDeliveryTime">预约订单:{{item.expectDeliveryTime}}送达</view>
 					<view class="order_success">
 						<view class="order_name" v-if="item.status == 3">配送中<text style="color: #666666;margin-left: 10upx;">{{item.autoSendOrder==1?'商家配送':'平台配送'}}</text></view>
 						<view class="order_name" v-if="item.status == 4">已完成</view>
@@ -1331,6 +1332,17 @@
 		/* padding: 20rpx 0rpx; */
 	}
 
+    .order_title{
+		width: 90%;
+		margin: 0 auto;
+		border-radius: 14px 14px, 0px, 0px;
+		background: rgba(255, 239, 222, 1);
+		height: 40upx;
+		color: rgba(255, 141, 26, 1);
+		font-size: 24upx;
+		line-height: 40upx;
+		text-align: center;
+	}
 	.order_success {
 		width: 90%;
 		margin: 0 auto;

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/shop/confirmOrder.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/shop/payOrder.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/index.js.map


+ 2 - 2
unpackage/dist/dev/mp-weixin/components/watch-login/watch-input.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shop/confirmOrder.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shop/confirmOrder.wxml


+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/index/shop/confirmOrder.wxss

@@ -72,6 +72,11 @@
 	width: 25rpx;
 	height: 40rpx;
 }
+.songda_image image.data-v-c3b160fe {
+	width: 20rpx;
+	height: 30rpx;
+	margin-left: 20rpx;
+}
 
 /* 地址 */
 .address.data-v-c3b160fe {

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shop/payOrder.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shop/payOrder.wxml


+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/index/shop/payOrder.wxss

@@ -72,6 +72,11 @@
 	width: 15rpx;
 	height: 30rpx;
 }
+.songda_image image.data-v-9ea3bfce {
+	width: 20rpx;
+	height: 30rpx;
+	margin-left: 20rpx;
+}
 
 /* 地址 */
 .address.data-v-9ea3bfce {

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/order/index.wxml


+ 362 - 351
unpackage/dist/dev/mp-weixin/pages/order/index.wxss

@@ -1,509 +1,520 @@
 
 .active.data-v-0ca91b30 {
-	/* width: 82rpx; */
-	height: 16rpx;
-	background: #FCD202;
-	position: relative;
-	top: -20rpx;
-	z-index: 9;
+		/* width: 82rpx; */
+		height: 16rpx;
+		background: #FCD202;
+		position: relative;
+		top: -20rpx;
+		z-index: 9;
 }
 .bg.data-v-0ca91b30 {
-	background-color: #FFFFFF;
+		background-color: #FFFFFF;
 }
 
-/* 切换选项 */
+	/* 切换选项 */
 .nav.data-v-0ca91b30 {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	background-color: #FFFFFF;
-	color: #999999;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		background-color: #FFFFFF;
+		color: #999999;
 }
 .btn.data-v-0ca91b30 {
-	width: 150rpx;
-	height: 60rpx;
-	line-height: 60rpx;
-	text-align: center;
-	background: #F5F5F5;
-	font-size: 28rpx;
-	border: 2rpx solid ##F5F5F5;
-	color: #666666;
-	border-radius: 50rpx;
-	font-weight: 700;
-	margin-left: 10rpx;
+		width: 150rpx;
+		height: 60rpx;
+		line-height: 60rpx;
+		text-align: center;
+		background: #F5F5F5;
+		font-size: 28rpx;
+		border: 2rpx solid ##F5F5F5;
+		color: #666666;
+		border-radius: 50rpx;
+		font-weight: 700;
+		margin-left: 10rpx;
 }
 .btn_.data-v-0ca91b30 {
-	width: 150rpx;
-	height: 60rpx;
-	line-height: 60rpx;
-	text-align: center;
-	background: #FCD202;
-	font-size: 28rpx;
-	border: 2rpx solid #FCD202;
-	color: #333333;
-	border-radius: 50rpx;
-	font-weight: 700;
-	margin-left: 10rpx;
+		width: 150rpx;
+		height: 60rpx;
+		line-height: 60rpx;
+		text-align: center;
+		background: #FCD202;
+		font-size: 28rpx;
+		border: 2rpx solid #FCD202;
+		color: #333333;
+		border-radius: 50rpx;
+		font-weight: 700;
+		margin-left: 10rpx;
 }
 .tabBtn.data-v-0ca91b30 {
-	/* background-color: #f6f6fa; */
-	height: 60rpx;
-	line-height: 60rpx;
-	color: #999999;
-	font-size: 38rpx;
+		/* background-color: #f6f6fa; */
+		height: 60rpx;
+		line-height: 60rpx;
+		color: #999999;
+		font-size: 38rpx;
 }
 .title.data-v-0ca91b30 {
-	position: relative;
-	z-index: 100;
+		position: relative;
+		z-index: 100;
 }
 .shaix.data-v-0ca91b30 {
-	width: 30%;
-	text-align: center;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	letter-spacing: 4rpx;
-	font-size: 27rpx;
+		width: 30%;
+		text-align: center;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		letter-spacing: 4rpx;
+		font-size: 27rpx;
 }
 .select.data-v-0ca91b30 {
-	color: #000000;
-	font-weight: bold;
-	background-color: #fff;
-	z-index: 10;
+		color: #000000;
+		font-weight: bold;
+		background-color: #fff;
+		z-index: 10;
 }
 .nav view.data-v-0ca91b30 {
-	flex-grow: 1;
-	margin: 3% 6.5% 2%;
-	text-align: center;
+		flex-grow: 1;
+		margin: 3% 6.5% 2%;
+		text-align: center;
 }
 .nav_btna.data-v-0ca91b30 {
-	font-size: 42rpx;
-	line-height: 34rpx;
-	color: #000000;
-	font-weight: bold;
-	border-bottom: 14rpx solid #FCD202;
+		font-size: 42rpx;
+		line-height: 34rpx;
+		color: #000000;
+		font-weight: bold;
+		border-bottom: 14rpx solid #FCD202;
 }
 
-/* 内容 */
+	/* 内容 */
 
-/* 全部订单 */
+	/* 全部订单 */
 .cont_one.data-v-0ca91b30 {
-	margin-top: 160rpx;
+		margin-top: 160rpx;
 }
 
-/* .cont_one image {
-	width: 80%;
-	height: 353rpx;
-} */
+	/* .cont_one image {
+		width: 80%;
+		height: 353rpx;
+	} */
 
-/* 到店取餐 */
+	/* 到店取餐 */
 .cont_two.data-v-0ca91b30 {
-	display: none;
-	width: 94%;
-	margin: 3% auto;
-	background-color: #FFFFFF;
-	border-radius: 18rpx;
+		display: none;
+		width: 94%;
+		margin: 3% auto;
+		background-color: #FFFFFF;
+		border-radius: 18rpx;
 }
 .cont.data-v-0ca91b30 {
-	/* display: none; */
-	width: 94%;
-	margin: 3% auto;
-	background-color: #FFFFFF;
-	border-radius: 18rpx;
-	/* padding: 20rpx 0; */
+		/* display: none; */
+		width: 94%;
+		margin: 3% auto;
+		background-color: #FFFFFF;
+		border-radius: 18rpx;
+		/* padding: 20rpx 0; */
 }
 .cont_two_top.data-v-0ca91b30 {
-	width: 94%;
-	padding: 4% 3% 0;
-	margin: 0 auto;
-	display: flex;
-	justify-content: space-between;
+		width: 94%;
+		padding: 4% 3% 0;
+		margin: 0 auto;
+		display: flex;
+		justify-content: space-between;
 }
 .cont_two_top_le.data-v-0ca91b30 {
-	/* width: 85%; */
-	font-size: 30rpx;
-	font-weight: 500;
-	color: #333333;
-	/* line-height: 2; */
-	margin: 5rpx 0;
+		/* width: 85%; */
+		font-size: 30rpx;
+		font-weight: 500;
+		color: #333333;
+		/* line-height: 2; */
+		margin: 5rpx 0;
 }
 .cont_two_top_ri.data-v-0ca91b30 {
-	/* width: 15%; */
-	padding: 6rpx 10rpx;
-	text-align: center;
-	background: rgba(255, 19, 10, 0.2);
-	font-size: 24rpx;
-	border: 2rpx solid #FF130A;
-	color: #FF130A;
-	opacity: 0.6;
-	border-radius: 8rpx;
+		/* width: 15%; */
+		padding: 6rpx 10rpx;
+		text-align: center;
+		background: rgba(255, 19, 10, 0.2);
+		font-size: 24rpx;
+		border: 2rpx solid #FF130A;
+		color: #FF130A;
+		opacity: 0.6;
+		border-radius: 8rpx;
 }
 .cont_two_top_ri1.data-v-0ca91b30 {
-	/* width: 15%; */
-	text-align: center;
-	/* line-height: 2; */
-	padding: 6rpx 10rpx;
-	background: #62ba8b;
-	font-size: 24rpx;
-	border: 2rpx solid #62ba8b;
-	color: #fff;
-	/* opacity: 0.6; */
-	border-radius: 8rpx;
+		/* width: 15%; */
+		text-align: center;
+		/* line-height: 2; */
+		padding: 6rpx 10rpx;
+		background: #62ba8b;
+		font-size: 24rpx;
+		border: 2rpx solid #62ba8b;
+		color: #fff;
+		/* opacity: 0.6; */
+		border-radius: 8rpx;
 }
 .cont_two_top_ri2.data-v-0ca91b30 {
-	/* width: 15%; */
-	text-align: center;
-	/* line-height: 2; */
-	padding: 6rpx 10rpx;
-	background: #FCD202;
-	font-size: 24rpx;
-	border: 2rpx solid #FCD202;
-	color: #fff;
-	/* opacity: 0.6; */
-	border-radius: 8rpx;
+		/* width: 15%; */
+		text-align: center;
+		/* line-height: 2; */
+		padding: 6rpx 10rpx;
+		background: #FCD202;
+		font-size: 24rpx;
+		border: 2rpx solid #FCD202;
+		color: #fff;
+		/* opacity: 0.6; */
+		border-radius: 8rpx;
 }
 .cont_two_text.data-v-0ca91b30 {
-	font-size: 58rpx;
-	text-align: center;
-	font-weight: bold;
-	color: red;
-	margin: 3% 0;
-	line-height: 32rpx;
+		font-size: 58rpx;
+		text-align: center;
+		font-weight: bold;
+		color: red;
+		margin: 3% 0;
+		line-height: 32rpx;
 }
 .cont_two_text2.data-v-0ca91b30 {
-	font-size: 30rpx;
-	width: 100%;
-	font-weight: 500;
-	color: #333333;
-	text-align: center;
-	padding-bottom: 3%;
-	/* line-height: 32rpx; */
+		font-size: 30rpx;
+		width: 100%;
+		font-weight: 500;
+		color: #333333;
+		text-align: center;
+		padding-bottom: 3%;
+		/* line-height: 32rpx; */
 }
 .cont_two_text2 text.data-v-0ca91b30 {
-	color: #FF130A;
+		color: #FF130A;
 }
 .cont_two_bottom.data-v-0ca91b30 {
-	width: 94%;
-	padding: 3%;
-	margin: 0 auto;
-	display: flex;
-	border-top: 1rpx solid #E6E6E6;
+		width: 94%;
+		padding: 3%;
+		margin: 0 auto;
+		display: flex;
+		border-top: 1rpx solid #E6E6E6;
 }
 .cont_two_bottom_le.data-v-0ca91b30 {
-	flex: 1;
-	font-size: 24rpx;
-	font-weight: 500;
-	color: #999999;
-	line-height: 32rpx;
+		flex: 1;
+		font-size: 24rpx;
+		font-weight: 500;
+		color: #999999;
+		line-height: 32rpx;
 }
 .cont_two_bottom_ri.data-v-0ca91b30 {
-	flex: 1;
-	text-align: right;
+		flex: 1;
+		text-align: right;
 }
 .cont_two_bottom_ri image.data-v-0ca91b30 {
-	width: 14rpx;
-	height: 24rpx;
+		width: 14rpx;
+		height: 24rpx;
 }
 
-/* 外卖订单 */
+	/* 外卖订单 */
 .cont_three.data-v-0ca91b30 {
-	display: none;
-	width: 94%;
-	margin: 3% auto;
-	background-color: #FFFFFF;
-	border-radius: 18rpx;
+		display: none;
+		width: 94%;
+		margin: 3% auto;
+		background-color: #FFFFFF;
+		border-radius: 18rpx;
 }
 .cont_three_top.data-v-0ca91b30 {
-	width: 94%;
-	padding: 4% 3% 0;
-	margin: 0 auto;
-	display: flex;
+		width: 94%;
+		padding: 4% 3% 0;
+		margin: 0 auto;
+		display: flex;
 }
 .cont_three_top_le.data-v-0ca91b30 {
-	flex: 2;
-	font-size: 30rpx;
-	font-weight: 500;
-	color: #D80204;
-	line-height: 32rpx;
+		flex: 2;
+		font-size: 30rpx;
+		font-weight: 500;
+		color: #D80204;
+		line-height: 32rpx;
 }
 .cont_three_top_ri.data-v-0ca91b30 {
-	flex: 1;
-	text-align: right;
-	font-size: 24rpx;
-	font-weight: 500;
-	color: #999999;
-	line-height: 32rpx;
+		flex: 1;
+		text-align: right;
+		font-size: 24rpx;
+		font-weight: 500;
+		color: #999999;
+		line-height: 32rpx;
 }
 .cont_three_text.data-v-0ca91b30 {
-	padding: 2% 0 2% 3%;
-	font-size: 24rpx;
-	font-weight: 500;
-	color: #999999;
-	line-height: 32rpx;
+		padding: 2% 0 2% 3%;
+		font-size: 24rpx;
+		font-weight: 500;
+		color: #999999;
+		line-height: 32rpx;
 }
 .cont_three_cen.data-v-0ca91b30 {
-	width: 94%;
-	padding: 0.5% 3%;
-	margin: 0 auto;
-	display: flex;
+		width: 94%;
+		padding: 0.5% 3%;
+		margin: 0 auto;
+		display: flex;
 }
 .cont_three_cen_le.data-v-0ca91b30 {
-	flex: 2;
-	font-size: 30rpx;
-	font-weight: 500;
-	color: #333333;
-	line-height: 32rpx;
+		flex: 2;
+		font-size: 30rpx;
+		font-weight: 500;
+		color: #333333;
+		line-height: 32rpx;
 }
 .cont_three_cen_ri.data-v-0ca91b30 {
-	flex: 1;
-	text-align: right;
-	font-size: 24rpx;
-	font-weight: 500;
-	color: #999999;
-	line-height: 32rpx;
+		flex: 1;
+		text-align: right;
+		font-size: 24rpx;
+		font-weight: 500;
+		color: #999999;
+		line-height: 32rpx;
 }
 .cont_three_text2.data-v-0ca91b30 {
-	font-size: 24rpx;
-	font-weight: 500;
-	color: #D80204;
-	padding: 0 3%;
-	line-height: 32rpx;
+		font-size: 24rpx;
+		font-weight: 500;
+		color: #D80204;
+		padding: 0 3%;
+		line-height: 32rpx;
 }
 .cont_three_bottom.data-v-0ca91b30 {
-	width: 94%;
-	padding: 3%;
-	margin: 3% auto 0;
-	display: flex;
-	border-top: 1rpx solid #E6E6E6;
+		width: 94%;
+		padding: 3%;
+		margin: 3% auto 0;
+		display: flex;
+		border-top: 1rpx solid #E6E6E6;
 }
 .cont_three_bottom_le.data-v-0ca91b30 {
-	flex: 1;
-	font-size: 24rpx;
-	font-weight: 500;
-	color: #999999;
-	line-height: 32rpx;
+		flex: 1;
+		font-size: 24rpx;
+		font-weight: 500;
+		color: #999999;
+		line-height: 32rpx;
 }
 .cont_three_bottom_ri.data-v-0ca91b30 {
-	flex: 1;
-	text-align: right;
+		flex: 1;
+		text-align: right;
 }
 .cont_dis.data-v-0ca91b30 {
-	display: block;
+		display: block;
 }
 .box.data-v-0ca91b30 {
-	/* width: 100%;
-	height: 100vh;
-	background-color: rgba(0, 0, 0, 0.2);
+		/* width: 100%;
+		height: 100vh;
+		background-color: rgba(0, 0, 0, 0.2);
 
-	position: absolute;
-	top: 40px;
-	z-index: 999 */
+		position: absolute;
+		top: 40px;
+		z-index: 999 */
 }
 .popbox.data-v-0ca91b30 {
-	width: 749rpx;
-	/* height: 764upx; */
-	background: #FFFFFF;
-	padding-bottom: 72rpx;
-	z-inde: 999;
-	position: fixed;
-	top: 39px;
-	left: 0;
-	right: 0;
+		width: 749rpx;
+		/* height: 764upx; */
+		background: #FFFFFF;
+		padding-bottom: 72rpx;
+		z-inde: 999;
+		position: fixed;
+		top: 39px;
+		left: 0;
+		right: 0;
 }
 .impute.data-v-0ca91b30 {
-	background: #F2F2F2;
-	height: 80rpx;
-	margin: 20rpx 0;
+		background: #F2F2F2;
+		height: 80rpx;
+		margin: 20rpx 0;
 }
 .btns.data-v-0ca91b30 {
-	width: 690rpx;
-	height: 88rpx;
-	background: #FFCC00;
-	box-shadow: 0rpx 10rpx 20rpx 0rpx #FFD9B3;
-	border-radius: 16rpx;
-	text-align: center;
-	line-height: 88rpx;
-	font-size: 32rpx;
-	font-weight: bold;
-	margin: 0 auto;
+		width: 690rpx;
+		height: 88rpx;
+		background: #FFCC00;
+		box-shadow: 0rpx 10rpx 20rpx 0rpx #FFD9B3;
+		border-radius: 16rpx;
+		text-align: center;
+		line-height: 88rpx;
+		font-size: 32rpx;
+		font-weight: bold;
+		margin: 0 auto;
 }
 .empty.data-v-0ca91b30 {
-	width: 100%;
-	background: #ffffff;
+		width: 100%;
+		background: #ffffff;
 
-	height: 93vh;
+		height: 93vh;
 }
 .tabs_box.data-v-0ca91b30 {
-	display: none;
+		display: none;
 }
 .dis.data-v-0ca91b30 {
-	display: block;
-	width: 100%;
+		display: block;
+		width: 100%;
 }
 .u-tab-item.data-v-0ca91b30 {
-	font-size: 30rpx !important;
-	/* color: #666666 !important; */
+		font-size: 30rpx !important;
+		/* color: #666666 !important; */
 }
 .success_box.data-v-0ca91b30 {
-	width: 100%;
+		width: 100%;
 }
 .order_box.data-v-0ca91b30 {
-	width: 95%;
-	margin: 0 auto;
-	/* height: 420rpx; */
-	background: #FFFFFF;
-	margin-top: 20rpx;
-	border-radius: 10px;
-	/* padding: 20rpx 0rpx; */
+		width: 95%;
+		margin: 0 auto;
+		/* height: 420rpx; */
+		background: #FFFFFF;
+		margin-top: 20rpx;
+		border-radius: 10px;
+		/* padding: 20rpx 0rpx; */
+}
+.order_title.data-v-0ca91b30{
+		width: 90%;
+		margin: 0 auto;
+		border-radius: 14px 14px, 0px, 0px;
+		background: rgba(255, 239, 222, 1);
+		height: 40rpx;
+		color: rgba(255, 141, 26, 1);
+		font-size: 24rpx;
+		line-height: 40rpx;
+		text-align: center;
 }
 .order_success.data-v-0ca91b30 {
-	width: 90%;
-	margin: 0 auto;
-	display: flex;
-	height: 80rpx;
+		width: 90%;
+		margin: 0 auto;
+		display: flex;
+		height: 80rpx;
 }
 .order_name.data-v-0ca91b30 {
-	flex: 1;
-	display: flex;
-	justify-content: left;
-	align-items: center;
-	font-weight: bold;
-	font-size: 31rpx;
-	letter-spacing: 1rpx;
+		flex: 1;
+		display: flex;
+		justify-content: left;
+		align-items: center;
+		font-weight: bold;
+		font-size: 31rpx;
+		letter-spacing: 1rpx;
 }
 .order_data.data-v-0ca91b30 {
-	flex: 1;
-	color: #999999;
-	display: flex;
-	justify-content: flex-end;
-	align-items: center;
-	font-size: 27rpx;
+		flex: 1;
+		color: #999999;
+		display: flex;
+		justify-content: flex-end;
+		align-items: center;
+		font-size: 27rpx;
 }
 .city_type.data-v-0ca91b30 {
-	width: 90%;
-	margin: 0 auto;
-	height: 60rpx;
-	line-height: 60rpx;
-	display: flex;
-	justify-content: left;
-	align-items: center;
+		width: 90%;
+		margin: 0 auto;
+		height: 60rpx;
+		line-height: 60rpx;
+		display: flex;
+		justify-content: left;
+		align-items: center;
 }
 .type_name.data-v-0ca91b30 {
-	font-size: 27rpx;
+		font-size: 27rpx;
 }
 .city_text.data-v-0ca91b30 {
-	line-height: 36rpx;
-	color: #49A5FF;
-	background: #c4e2ff;
-	text-align: center;
-	font-size: 25rpx;
-	margin-left: 20rpx;
-	padding: 2rpx 10rpx;
+		line-height: 36rpx;
+		color: #49A5FF;
+		background: #c4e2ff;
+		text-align: center;
+		font-size: 25rpx;
+		margin-left: 20rpx;
+		padding: 2rpx 10rpx;
 }
 .city_address.data-v-0ca91b30 {
-	width: 90%;
-	margin: 0 auto;
-	/* margin-top: -10rpx; */
+		width: 90%;
+		margin: 0 auto;
+		/* margin-top: -10rpx; */
 }
 
-/* 发货地址 */
+	/* 发货地址 */
 .fh_box.data-v-0ca91b30 {
-	display: flex;
-	/* height: 80upx; */
-	margin-top: 25rpx;
+		display: flex;
+		/* height: 80upx; */
+		margin-top: 25rpx;
 }
 .fh_image.data-v-0ca91b30 {
-	/* flex: 1; */
-	width: 10%;
+		/* flex: 1; */
+		width: 10%;
 }
 .box.data-v-0ca91b30 {
-	/* flex: 11; */
-	width: 85%;
-	overflow: hidden;
+		/* flex: 11; */
+		width: 85%;
+		overflow: hidden;
 }
 .fh_name.data-v-0ca91b30 {
-	font-size: 31rpx;
-	font-weight: 600;
-	letter-spacing: 2rpx;
+		font-size: 31rpx;
+		font-weight: 600;
+		letter-spacing: 2rpx;
 }
 .fh_type.data-v-0ca91b30 {
-	color: #999999;
-	font-size: 28rpx;
-	margin-top: 10rpx;
+		color: #999999;
+		font-size: 28rpx;
+		margin-top: 10rpx;
 }
 .fh_type text.data-v-0ca91b30 {
-	margin-left: 20rpx;
+		margin-left: 20rpx;
 }
 
-/* 送货地址 */
+	/* 送货地址 */
 .sh_box.data-v-0ca91b30 {
-	display: flex;
-	margin-bottom: 14rpx;
-	margin-top: 25rpx;
+		display: flex;
+		margin-bottom: 14rpx;
+		margin-top: 25rpx;
 }
 .sh_image.data-v-0ca91b30 {
-	/* flex: 1; */
-	width: 10%;
+		/* flex: 1; */
+		width: 10%;
 }
 .sh_name.data-v-0ca91b30 {
-	font-size: 31rpx;
-	font-weight: 600;
-	letter-spacing: 2rpx;
+		font-size: 31rpx;
+		font-weight: 600;
+		letter-spacing: 2rpx;
 }
 .sh_type.data-v-0ca91b30 {
-	color: #999999;
-	font-size: 28rpx;
-	margin-top: 10rpx;
+		color: #999999;
+		font-size: 28rpx;
+		margin-top: 10rpx;
 }
 .sh_type text.data-v-0ca91b30 {
-	margin-left: 20rpx;
+		margin-left: 20rpx;
 }
 .fh_image image.data-v-0ca91b30 {
-	width: 45rpx;
-	height: 45rpx;
+		width: 45rpx;
+		height: 45rpx;
 }
 .sh_image image.data-v-0ca91b30 {
-	width: 45rpx;
-	height: 45rpx;
+		width: 45rpx;
+		height: 45rpx;
 }
 .order_btn.data-v-0ca91b30 {
-	display: flex;
-	justify-content: flex-end;
-	align-items: center;
-	height: 80rpx;
-	margin-top: 8rpx;
-	padding: 0 20rpx;
+		display: flex;
+		justify-content: flex-end;
+		align-items: center;
+		height: 80rpx;
+		margin-top: 8rpx;
+		padding: 0 20rpx;
 }
 .btn1.data-v-0ca91b30 {
-	width: 170rpx;
-	font-size: 26rpx;
-	line-height: 60rpx;
-	text-align: center;
-	border: 3rpx solid #9C9C9C;
-	border-radius: 20rpx;
-	color: #9C9C9C;
-	margin-right: 30rpx;
+		width: 170rpx;
+		font-size: 26rpx;
+		line-height: 60rpx;
+		text-align: center;
+		border: 3rpx solid #9C9C9C;
+		border-radius: 20rpx;
+		color: #9C9C9C;
+		margin-right: 30rpx;
 }
 .btn2.data-v-0ca91b30 {
-	width: 170rpx;
-	line-height: 60rpx;
-	color: white;
-	background: #FF6A04;
-	font-size: 27rpx;
-	text-align: center;
-	margin-right: 30rpx;
-	border-radius: 20rpx;
+		width: 170rpx;
+		line-height: 60rpx;
+		color: white;
+		background: #FF6A04;
+		font-size: 27rpx;
+		text-align: center;
+		margin-right: 30rpx;
+		border-radius: 20rpx;
 }
 .btn3.data-v-0ca91b30 {
-	width: 120rpx;
-	font-size: 26rpx;
-	line-height: 60rpx;
-	text-align: center;
-	border: 2rpx solid #FF130A;
-	border-radius: 10rpx;
-	color: #FF130A;
-	margin-right: 30rpx;
-	background: rgba(255, 19, 10, 0.2);
-	opacity: 0.6;
+		width: 120rpx;
+		font-size: 26rpx;
+		line-height: 60rpx;
+		text-align: center;
+		border: 2rpx solid #FF130A;
+		border-radius: 10rpx;
+		color: #FF130A;
+		margin-right: 30rpx;
+		background: rgba(255, 19, 10, 0.2);
+		opacity: 0.6;
 }