<template>
	<view class="pages" style="position: relative;">
		<!-- #ifndef H5 -->
		<view style="position: fixed;top: 0;left: 0;right: 0;z-index: 9999;" class="bg">
			<!-- #endif -->
			<!-- #ifdef H5 -->
			<view style="position: fixed;top:44px;left: 0;right: 0;z-index:9;" class="bg">
				<!-- #endif -->
				<view class="flex bg justify-between">
					<view class="flex justify-around" style="width: 50%;">
						
						<view @click="switchTab(2)" :class="orderType==2? 'select':''" class="tabBtn">
							外卖配送
							<view :class="orderType==2? 'active':''"></view>
						</view>
						<view @click="switchTab(1)" :class="orderType==1? 'select':''" class="tabBtn">
							到店取餐
							<view :class="orderType==1? 'active':''"></view>
						</view>
					</view>
					<view class="shaix" @click="bindopen()">
						条件筛选
						<image src="../../static/images/order/down.png" style="width:15upx;height:9upx;"></image>
					</view>
				</view>
				<view class="padding-bottom-sm">
					<u-tabs v-if="orderType == 1" active-color="#FF8D1A" :list="qucanList" :is-scroll="false"
						:current="current" @change="change"></u-tabs>
					<u-tabs v-if="orderType == 2" active-color="#FF8D1A" :list="waimaiList" :is-scroll="false"
						:current="current1" @change="change1">
					</u-tabs>
				</view>

			</view>

			<!-- 全部订单 -->
			<view class="cont_one">
				<!-- #ifdef MP-WEIXIN -->
				<view style="margin-top: 90px">
					<!-- #endif -->
					<!-- #ifndef MP-WEIXIN -->
					<view style="margin-top: 90px">
						<!-- #endif -->
						<view v-for="(item,index) in orderList" :key='index'
							@click="goNav('/pages/order/orderDet?orderNumber='+item.orderNumber+'&orderId='+item.orderId)">
							<view class="cont">
								<view class="order_title" v-if="item.expectDeliveryTime">预约订单：{{item.expectDeliveryTime}}送达</view>
								<view class="flex justify-between padding align-center">
		<view class="text-green text-lg" v-if="item.status == 3 && item.indentState == 2&&item.orderTypeExtra == 2">待骑手接单</view>
		
		<view class="text-red text-lg" v-if="item.status == 6 && item.indentState == 2">制作中</view>
		
		<view class="text-green text-lg" v-if="(item.status == 3 || item.status == 6) && item.indentState == 3&&item.orderTypeExtra == 2">骑手已接单</view>
		
		<view class="text-green text-lg" v-if="(item.status == 3 || item.status == 6) && item.indentState == 4&&item.orderTypeExtra == 2">骑手配送中</view>							
									
									<view class="text-red text-lg" v-if="item.status == 7">待接单</view>
									<view class="text-green text-lg" v-if="item.status == 3&&item.orderType==1">待取餐
									</view>
									<view class="text-green text-lg"
										v-if="item.status == 3&&item.orderType==2&&item.riderUserId==null">待配送</view>
									<view class="text-green text-lg"
										v-if="item.status == 3&&item.orderType==2&&item.riderUserId">配送中</view>
									<view class="text-grey text-lg" v-if="item.status == 4">已完成</view>
									<view class="text-gray text-lg" v-if="item.status == 5">已取消</view>
									<view class="text-gray text-lg" v-if="item.status == 8">已退款</view>
									<view class="text-gray text-sm">{{item.payTime}}</view>

								</view>
								<u-line color="#f2f2f2" />
								<view style="padding:0 30rpx;font-size: 20px;" v-if="item.orderSequence">
									{{ item.orderTypeExtra == 0 ? '上门堂食' :item.orderTypeExtra == 1 ? '上门取餐' : item.orderTypeExtra == 2 ? '骑手配送' : item.orderTypeExtra == 3 ? '商家配送' : '' }}
									<view v-if="item.orderSequence">#{{ item.orderSequence }}</view>
								</view>
								<view class="text-red text-xl padding-lr padding-top" v-if="item.orderType==1"><text
										style="font-size: 30upx;">取餐号：</text>{{item.orderCode}}</view>

								<view class="padding-bottom padding-lr margin-top-sm flex"
									v-for="(ite,ind) in item.orderGoodsList" :key='ind'>
									<view class="tosend_header_food_le">
										<image :src="ite.goodsPicture" alt="加载失败" style="border-radius: 10rpx;" mode="">
										</image>
									</view>
									<view class="margin-left-sm">
										<view class="text-black text-lg">{{ite.goodsName}}</view>
										<view class="flex align-center text-gray text-sm margin-top-xs">
											<view v-if="ite.skuMessage">{{ite.skuMessage}}</view>
											<view class="text-gray text-sm" style="margin-left: 5px;margin-top: 4px;">
												X{{ite.goodsNum}}</view>
										</view>
									</view>
								</view>
								<u-line color="#f2f2f2" />
								<view class="padding-bottom padding-lr margin-top-sm text-gray">
									<view style="font-size: 18px;z-index: 3;" v-if="item.orderType==1" @click.stop="onPhone(item.phone)">手机号：{{item.phone}}</view>
									<view style="font-size: 18px;z-index: 3;" v-else @click.stop="onPhone(JSON.parse(item.address).userPhone)">手机号：{{JSON.parse(item.address).userPhone}}</view>
									<view>订单号：{{item.orderNumber}}</view>
								</view>

								<u-line color="#f2f2f2" />
								<view class="padding-bottom padding-lr margin-top-sm text-gray" style="margin-left: 120px;display: flex;">
									
									<view class="flex"
										v-if="item.status == 3&&item.orderType==2&&item.autoSendOrder ==1">
										<view class="btn_" @click.stop="duanxinOrder(item,index)" style="width: 90px;">送达并发短信</view>
									</view>
									<view class="flex"
										v-if="item.status == 3&&item.orderType==2&&item.autoSendOrder ==1 &&item.deliveryImgs==null">
										<view class="btn_pai" @click.stop="paiOrder(item)">拍照</view>
									</view>
								</view>
								<view class="flex align-center justify-between padding-tb">
									<view class="flex  align-center padding-lr-sm">
										<view class="text-gray text-sm">实收：</view>
										<view class="text-sm text-black text-bold">¥<text
												class="text-xl">{{item.payMoney}}</text>
										</view>
									</view>
									<view class=" flex margin-right">
										<view class="flex"
											v-if="item.status == 6||item.status == 3">
											<view class="btn_" @click.stop="refund(item)" v-if="show1">退款</view>
											<view class="btn_" v-if="!show1"
												style="background:#FAB6B6;color: #F15B6C;opacity: 0.1;">退款</view>
										</view>
										<view class="flex" v-if="item.status == 6">
											<view class="btn_" @click.stop="finish(item)">制作完成</view>
										</view>
										<view class="flex"
											v-if="item.status == 3&&item.autoSendOrder==2">
											<view class="btn_" @click.stop="finishs(item)">配送完成</view>
										</view>
										<view class="flex" v-if="item.status == 7">
											<view class="btn_" @click.stop="jiedan(item)">接单</view>
										</view>
										<view class="flex" v-if="item.status == 7">
											<view class="btn_" @click.stop="jiedans(item)">拒绝接单</view>
										</view>
										<view class="flex"
											v-if="item.status == 4&&item.orderType==2 &&item.deliveryImgs==null">
											<view class="btn_pai" @click.stop="paiOrder(item)">拍照</view>
										</view>
										<view class="flex" v-if="item.status == 6||item.status == 3||item.status == 4">
											<view class="btn_" @click.stop="xiaoPiao(item)">补打小票</view>
										</view>
										<view class="flex"
											v-if="item.status == 3&&item.orderType==1">
											<view class="btn_" @click.stop="peisong(item,1)">待取餐</view>
										</view>
										<view class="flex"
											v-if="item.status == 3&&item.orderType==2&&item.autoSendOrder ==1">
											<view class="btn_" @click.stop="succOrder(item)">完成送达</view>
										</view>
										
									</view>
								</view>
							</view>
						</view>
					</view>
				</view>
				
				<!-- 确认收货拍照弹出框 -->
				<u-popup v-model="alertPhone" mode="center" border-radius="18" :closeable="closeable" close-icon="close-circle"
					close-icon-size="45" width="680rpx" height="540rpx" @close="onclose">
					<view class="receipt_code">
						<view class="phone_title">图片凭证</view>
						<view class="phone_title2">请上传外卖送达情况</view>
						<view>
							<view class="flex" style="overflow: hidden;flex-wrap: wrap;">
								<view v-if="goodsPicture1.length">
									<view class="margin-top flex margin-right-sm flex-wrap">
										<view class="flex"
											style="width: 200rpx;height: 200rpx;margin-right: 2rpx;position: relative;"
											v-for="(image,index) in goodsPicture1" :key="index">
											<image :src="image" style="width: 100%;height: 100%;"></image>
											<view style="z-index: 9;position: absolute;top: -15rpx;right: -15rpx;"
												@click="removeImg(index,'lb')">
												<u-icon name="close-circle-fill" color="#FCD202" size="50rpx"></u-icon>
											</view>
						
										</view>
									</view>
								</view>
								<view class="margin-top" @click="addImages(1)" v-if="goodsPicture1.length<=1">
									<view style="width: 200rpx;height: 200rpx;background: #f4f5f6;"
										class="flex justify-center align-center">
										<view>
											<view class="text-center">
												<image :src="Tupian('/duanxin/addimg.png')" style="width: 65rpx;height: 55rpx;">
												</image>
											</view>
											<view class="text-center text-black">添加图片</view>
										</view>
									</view>
								</view>
							</view>
						</view>
						<view class="sure" @click="querenduanxin">确认拍照</view>
					</view>
				</u-popup>
				<!-- 确认收货短信弹出框 -->
				<u-popup v-model="alertduanxin" v-if="alertduanxin" mode="center" border-radius="18" :closeable="closeable" close-icon="close-circle"
					close-icon-size="45" width="680rpx" height="700rpx" @close="onclose2">
					<view class="receipt_code">
						<view class="receipt_code">
							<view class="code_title">是否确认送达</view>
							<view class="code_title2">已选订单：1单</view>
							<view class="code_title2">通知形式：短信</view>
							<view class="code_title2">通知内容：{{duanxin[0].templateContent.substring(0, 21)}}{{qiPhone}}</view>
							<view class="code_title3">注：发送短信需要收费，每条{{duanPrice}}元</view>
							<view class="sure" @click="querenSh">确认送达</view>
						</view>
					</view>
				</u-popup>
				<!-- 发送短信出错弹框 -->
				<u-popup v-model="ifNotduan" mode="center" border-radius="18" :closeable="closeable" close-icon="close-circle"
					close-icon-size="45" width="680rpx" height="700rpx">
					<view class="receipt_code">
						<view class="receipt_code">
							<view class="code_title">是否确认送达</view>
							<view class="text-center">
								<image :src="Tupian('/duanxin/%E7%94%BB%E6%9D%BF%202.png')" style="width: 33px;height: 33px;">
								</image>
							</view>
							<view class="code_title2">发送失败</view>
							<view class="code_title2">原因：{{failYuanyin}}，短信发送失败，请点击拨号联系学生</view>
							<view class="sure2" @click="phoneToxue(xuePhone)">
								<image :src="Tupian('/duanxin/%E7%94%BB%E6%9D%BF%201.png')" style="width: 33rpx;height: 33rpx;">
								</image>
								{{xuePhone}}
							</view>
						</view>
					</view>
				</u-popup>
				<!-- 筛选弹框 -->
				<view class="box" v-if="show">
					<view class="popbox" @click.stop="shop = false">
						<view class="padding">
							<view>
								<view>订单号</view>
								<view>
									<input type="number" v-model="orderNumber" class="impute padding-lr"
										placeholder="请输入订单号" />
								</view>
							</view>
							<view>
								<view>手机号</view>
								<view>
									<input type="number" v-model="xuePhone" class="impute padding-lr"
										placeholder="请输入手机号码" />
								</view>
							</view>
							<view>
								<view>昵称</view>
								<view>
									<input type="text" v-model="userName" class="impute padding-lr"
										placeholder="请输入昵称" />
								</view>
							</view>
						</view>
						<view class="btns" @click.stop="bindx()">查询</view>
					</view>
				</view>

				<empty v-if="!orderList.length" style="z-index:0;position: relative;top: -20px;"></empty>
				
				<!-- 用于图片压缩的canvas画布 -->
				<canvas
					:style="{
						width: cw + 'px',
						height: cw + 'px',
						position: 'absolute',
						zIndex: -1,
						left: '-10000rpx',
						top: '-10000rpx'
					}"
					canvas-id="zipCanvas"
				></canvas>
				<!--画布结束-->
			</view>
</template>

<script>
	import empty from '@/components/empty.vue'
	import configdata from '@/common/config.js';
	import getLessLimitSizeImage from '@/utils/imageCompress.js'
	export default {
		components: {
			empty
		},
		data() {
			return {
				show: false,
				page: 1,
				limit: 10,
				phone: '',
				userName: '',
				orderNumber: '',
				shopId: '',
				orderType: 2,
				orderList: [],
				status: '',
				xcxSelect: '',
				current: 0,
				current1: 0,
				qucanList: [{
						name: '全部'
					},
					{
						name: '待接单'
					},
					{
						name: '制作中'
					},
					{
						name: '待取餐'
					},
					{
						name: '已完成'
					},
					{
						name: '已取消'
					},
					{
						name: '已退款'
					}
				],
				waimaiList: [{
						name: '全部'
					}, {
						name: '待接单'
					},
					{
						name: '制作中'
					},
					{
						name: '配送中'
					},
					{
						name: '已完成'
					},
					{
						name: '已取消'
					},
					{
						name: '已退款'
					}
				],
				arr:[],
				closeable: true,
				show1: true,
				alertPhone:false,
				alertduanxin:false,
				goodsPicture1: [],//拍照图片
				count: 3,
				orderId:'',
				duanxin:[],//发送的短信
				duanPrice:'',//短信费用
				qiPhone:'',//骑手电话
				ifNotduan:false,//发送短信出错
				failYuanyin:'',//短信发送失败原因
				xuePhone:'',//当前用户
				//画板边长默认是屏幕宽度，正方形画布
				cw: uni.getSystemInfoSync().windowWidth,
				messageConfiguration:'',
				timer:null,
				errCount:0,
				activeIndex:null,
				spliceCount:0
			};
		},
		onLoad(option) {
			uni.showLoading({
				title: '加载中...',
				mask: true, // 是否显示透明蒙层，防止触摸穿透
			})
			this.$Request.getT('/app/common/type/354').then(res => { //订单取消通知
 				if (res.code == 0) {
 					if (res.data && res.data.value) {
 						this.arr.push(res.data.value)
 					}
 				}
 			})
			this.$Request.getT('/app/common/type/353').then(res => { //订单取消通知
				if (res.code == 0) {
					if (res.data && res.data.value) {
						this.arr.push(res.data.value)
					}
				}
			})
			this.$Request.getT('/app/common/type/352').then(res => { //新订单通知
				if (res.code == 0) {
					if (res.data && res.data.value) {
						this.arr.push(res.data.value)
					}
				}
			})
			// this.shopId = option.shopId
			if (option.status) {
				this.change(option.status)
			}
		},
		onShow() {
			this.shopId = uni.getStorageSync('shopId');
			if(this.shopId){
				this.getPhone(this.shopId)
			}
			
			let userId = uni.getStorageSync('userId')
			if(userId){
				this.getSetData()
			}
			
			this.getOrderList();
			this.clearOrderMsg();
		},
		onHide() {
			if (this.timer) {
				clearInterval(this.timer)
			}
		},
		methods: {
			getSetData() {
				// 获取订阅消息配置
				let data = {
					shopId: uni.getStorageSync('shopId')
				}
				this.$Request.getT('/app/goods/selectGoodShop', data).then((res) => {
					// console.log(res, '888')
					if (res.code == 0) {
						this.messageConfiguration = res.data.messageConfiguration
			
						if (this.messageConfiguration == 0) {
							this.timer = setInterval(() => {
								// 订单消息提醒
								let data = {
									shopIds: this.$queue.getData('shopId')
								}
								this.$Request.post('/admin/ordermessage/selectReadFlagCount', data).then((res) => {
									console.log(res, '999')
									if (res.code === 0) {
										if (res.data > 0) {
											if (this.errCount != res.data) {
												this.errCount = res.data
												this.aplayAudio()
												uni.showModal({
													title: '消息',
													content: '有' + res.data + '条订单，请前往订单中心处理。',
													success: (ret) => {
														if (ret.confirm) {
															uni.switchTab({
																url: '/pages/order/index'
															})
														} else {
															console.log('else', ret)
															this.defineCallBack()
														}
													}
												})
												// this.chatNum = data.data
											}
										} else {
											this.errCount = 0
										}
									}
								})
							}, 10000)
						}
					}
				})
			},
			aplayAudio() {
				const innerAudioContext = uni.createInnerAudioContext()
				innerAudioContext.autoplay = true
				innerAudioContext.src = 'https://pw.xianmxkj.com/file/uploadPath/2022/01/19/0753211f78d718d44ee6372e33eae9ee.mp3'
				innerAudioContext.onPlay(() => {
					console.log('开始播放')
				})
				innerAudioContext.onError((res) => {
					console.log(res.errMsg)
					console.log(res.errCode)
				})
			},
			defineCallBack() {
				let data = {
					shopIds: this.$queue.getData('shopId')
				}
				this.$Request.post('/admin/ordermessage/allcheckOrderMessage', data).then((res) => {
					if (res.code === 0) {
						this.errCount = 0
					}
				})
			},
			getPhone(shopId){
				let data = {
					shopId
				}
				this.$Request.postT("/user/selectShopPhoneByShopId", data).then((res)=>{
					// console.log(res,"res");
					if(res.code == 0){
						this.qiPhone = res.data
					}
				})
			},
			//联系用户
			onPhone(phone){
				uni.makePhoneCall({
					phoneNumber: phone
				});
			},
			//聊天室
			chat(e) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				// console.log(e)
				uni.navigateTo({
					url: '/pages/my/im?orderId=' + e.orderId
				})
			},
			peisong(e, index) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				let that = this
				if (index == 1) {
					var texts = '确认要取餐吗？'
				}
				if (index == 2) {
					var texts = '确认开始配送吗？'
				}

				uni.showModal({
					title: '提示',
					content: texts,
					success: function(res) {
						if (res.confirm) {
							console.log('用户点击确定');

							let data = {
								orderId: e.orderId,
								orderNumber: e.orderNumber,
								shopId: that.shopId,
								status: 4
							}
							that.$Request.postJsonA("/admin/order/updateOrder", data).then(res => {
								if (res.code == 0) {
									that.getOrderList()
								}
							});
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			// 清除订单未读消息
			clearOrderMsg() {
				let data = {
					shopIds: this.shopId
				}
				this.$Request.postA("/admin/ordermessage/allcheckOrderMessage", data).then(res => {
					if (res.code == 0 && res.data > 0) {

					}
				});
			},
			bindopen() {
				this.show = !this.show
			},
			bindx() {
				this.show = false
				this.getOrderList()
				this.xuePhone = ''
				this.userName = ''
				this.orderNumber = ''
			},
			refund(e) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				let that = this
				uni.showModal({
					title: '提示',
					content: '确认退款吗?',
					success: function(res) {

						if (res.confirm) {
							console.log('用户点击确定');
							that.show1 = false
							let data = {
								orderId: e.orderId
							}
							that.$Request.postA("/admin/order/adminCancelOrder", data).then(res => {
								// console.log(res);
								if (res.code == 0) {
									that.getOrderList()
								}else{
									uni.showToast({
										title:res.msg,
										icon:'none'
									})
								}
							});
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			//发短信送达
			duanxinOrder(e,index){
				console.log(e);
				this.activeIndex = index
				this.orderId=e.orderId
				this.xuePhone=e.phone
				this.querenduanxinList()
				this.getDuanPrice()
			},
			//拍照
			paiOrder(e){
				this.orderId=e.orderId
				this.alertPhone=true
			},
			// 图片上传
			addImages(e) {
				if (e == 1) {
					var num = this.goodsPicture1.length
					this.count = 2 - num
				}
			
				let that = this
				uni.chooseImage({
					count: this.count,
					sourceType: [ 'camera','album'],
					success: res => {
						for (let i = 0; i < res.tempFiles.length; i++) {
							//这里的id和页面中写的html代码的canvas的id要一致
							let canvasId = 'zipCanvas'
							//原图的路径
							let imagePath = res.tempFiles[i].path
							//大小限制
							let limitSize = 1024 * 2
							//初始绘画区域是画布自身的宽度也就是屏幕宽度
							let drawWidth = uni.getSystemInfoSync().windowWidth
							let that = this
							let token = uni.getStorageSync('shopToken')
							getLessLimitSizeImage(canvasId, imagePath, limitSize, drawWidth, that, (resPath) => {
								uni.showLoading({
									title: '上传中'
								})
								uni.uploadFile({
									url: that.config("APIHOST1") + '/admin/new-file/upload',
									filePath: resPath,
									header: {
										token: token
									},
									name: 'file',
									success: (uploadFileRes) => {
										if (e == 1) {
											if (that.goodsPicture1.length < 2) {
												that.goodsPicture1.push(JSON.parse(uploadFileRes.data)
													.data)
											}
										}
										uni.hideLoading();
									},
									fail: () => {
										uni.showToast({
											title: '上传失败',
											icon: 'error'
										})
									}
								})
							})
						}
					}
				})
			},
			// 图片删除
			removeImg(index, texts) {
				if (texts == 'lb') {
					this.goodsPicture1.splice(index, 1)
				}
			},
			config: function(name) {
				var info = null;
				if (name) {
					var name2 = name.split("."); //字符分割
					if (name2.length > 1) {
						info = configdata[name2[0]][name2[1]] || null;
					} else {
						info = configdata[name] || null;
					}
					if (info == null) {
						let web_config = cache.get("web_config");
						if (web_config) {
							if (name2.length > 1) {
								info = web_config[name2[0]][name2[1]] || null;
							} else {
								info = web_config[name] || null;
							}
						}
					}
				}
				return info;
			},
			// 监听拍照框关闭
			onclose(){
				this.alertPhone=false
				this.goodsPicture1=[]
			},
			//确认上传图片
			querenduanxin(){
				var tupian=this.goodsPicture1.toString()
				var orderId=this.orderId
				let data = {
					img:tupian
				}
				this.$Request.postT(`/admin/order/add-receive-img/${orderId}`,data).then(res => {
					console.log(res,'img')
					if (res.code == 0) {
						this.alertPhone = false
						uni.showToast({
							title: '图片上传完成',
							icon: "none"
						});
					} else {
						uni.showToast({
							title: res.msg,
							icon: "none"
						});
					}
				});
			},
			// 获取确认送达短信模板
			querenduanxinList() {
				this.$Request.getT('/app/tb-indent-sms/template', {
				}).then(res => {
					this.duanxin=res.data.list
					if (res.code == 0) {
						this.page = 1;
						this.alertduanxin=true
			
					} else {
						uni.showToast({
							title: res.msg,
							icon: "none"
						});
					}
				});
			},
			//获取短信价格
			getDuanPrice(){
				this.$Request.getT('/admin/tb-indent-sms/price-of-sms', {
				}).then(res => {
					if (res.code == 0) {
						this.duanPrice=	res.data
					} else {
						uni.showToast({
							title: res.msg,
							icon: "none"
						});
					}
				});
			},
			//发短信并送达
			querenSh() {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				let that = this
				uni.showModal({
					title: '提示',
					content: '确认发送短信并完成送达吗?',
					success: (res)=> {
						if (res.confirm) {
							uni.showLoading({
								title: '加载中',
								mask: true, // 是否显示透明蒙层，防止触摸穿透
							});
							let data = {
								orderId: that.orderId,
								sendSmsFlag:1,
								smsTemplateId:that.duanxin[0].id
							}
							that.$Request.postT("/admin/order/accomplishOrder", data).then(res => {
								if (res.code == 0) {
									// console.log(this.activeIndex);
									this.orderList.splice(this.activeIndex,1)
									this.spliceCount ++
									that.alertduanxin=false
									that.xuePhone=''
									// that.getOrderList()
									uni.showToast({
										title: '配送成功',
										icon: "success"
									});
								}else{
									that.failYuanyin=res.msg
									that.alertduanxin=false
									that.ifNotduan=true
									uni.showToast({
										title: res.msg,
										icon: "none"
									});
								}
								// 加载提示关闭
								uni.hideLoading()
							});
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			//联系学生
			phoneToxue(e){
				uni.makePhoneCall({
					phoneNumber: e ,
				}) // 传参带入号码即可
			},
			// 完成送达
			succOrder(e){
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				let that = this
				uni.showModal({
					title: '提示',
					content: '确认完成送达吗?',
					success: function(res) {
						if (res.confirm) {
							uni.showLoading({
								title: '加载中',
								mask: true, // 是否显示透明蒙层，防止触摸穿透
							});
							console.log('用户点击确定');
							let data = {
								orderId: e.orderId,
								sendSmsFlag:0
								// orderNumber: e.orderNumber,
								// shopId: that.shopId,
								// addressId: e.addressId,
								// status: 3
							}
							that.$Request.postT("/admin/order/accomplishOrder", data).then(res => {
								if (res.code == 0) {
									that.getOrderList()
								}
								// 加载提示关闭
								uni.hideLoading()
							});
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			//制作完成
			finish(e) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				let that = this
				uni.showModal({
					title: '提示',
					content: '确认操作完成吗?',
					success: function(res) {
						if (res.confirm) {
							console.log('用户点击确定');
							let data = {
								orderId: e.orderId,
								orderNumber: e.orderNumber,
								shopId: that.shopId,
								addressId: e.addressId,
								status: 3
							}
							that.$Request.postJsonA("/admin/order/updateOrder", data).then(res => {
								if (res.code == 0) {
									that.getOrderList()
								}
							});
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			//配送完成
			finishs(e) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				let that = this
				uni.showModal({
					title: '提示',
					content: '确认操作完成吗?',
					success: function(res) {
						if (res.confirm) {
							console.log('用户点击确定');
							let data = {
								orderId: e.orderId,
								orderNumber: e.orderNumber,
								shopId: that.shopId,
								addressId: e.addressId,
								status: 4
							}
							that.$Request.postJsonA("/admin/order/updateOrder", data).then(res => {
								if (res.code == 0) {
									that.getOrderList()
								}
							});
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			//接单
			jiedan(e) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				let that = this
				uni.showModal({
					title: '提示',
					content: '确认接单吗?',
					success: function(res) {
						if (res.confirm) {
							console.log('用户点击确定');
							let data = {
								orderId: e.orderId,
								orderNumber: e.orderNumber,
								status: 6
							}
							that.$Request.postJsonA("/admin/order/updateOrder", data).then(res => {
								if (res.code == 0) {
									that.page = 1
									that.getOrderList()
								}else{
									that.$queue.showToast(res.msg)
								}
							});
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			// 补打小票
			xiaoPiao(e){
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				let that = this
				uni.showModal({
					title: '提示',
					content: '确认补打小票吗?',
					success: function(re) {
						if (re.confirm) {
							console.log('用户点击确定');
							let data = {
								orderId: e.orderId,
								isAppend:1
								// orderNumber: e.orderNumber,
								// status: 8
							}
							console.log(data,'l')
							that.$Request.post("/admin/order/print", data).then(res => {
								console.log(res,'po')
								if (res.code == 0) {
									// that.page = 1
									// that.getOrderList()
								}else{
									that.$queue.showToast(res.msg)
								}
							});
						} else if (re.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			//拒绝接单
			jiedans(e) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				let that = this
				uni.showModal({
					title: '提示',
					content: '确认拒绝接单吗?',
					success: function(res) {
						if (res.confirm) {
							console.log('用户点击确定');
							let data = {
								orderId: e.orderId,
								orderNumber: e.orderNumber,
								status: 8
							}
							that.$Request.postJsonA("/admin/order/updateOrder", data).then(res => {
								if (res.code == 0) {
									that.page = 1
									that.getOrderList()
								}
							});
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			},
			switchTab(e) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				this.page = 1
				this.orderType = e
				this.current = 0
				this.current1 = 0
				this.status = ''
				this.spliceCount = 0
				this.getOrderList()
			},
			change(index) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				this.page = 1
				this.current = index;
				this.spliceCount = 0
				switch (index) {
					case 0:
						this.status = '' //全部
						break;
					case 1:
						this.status = 7 //待接单
						break;
					case 2:
						this.status = 6 //制作中
						break;
					case 3:
						this.status = 3 //待取餐
						break;
					case 4:
						this.status = 4 //已完成
						break;
					case 5:
						this.status = 5 //已取消
						break;
					case '2':
						this.status = 6 //制作中
						break;
					case '1':
						this.status = 7 //待接单
						break;
					case '3':
						this.status = 3 //制作中
						break;
					case '4':
						this.status = 4 //制作中
						break;
					case 6:
							this.status = 8 //已退款
							break;

				}
				this.getOrderList()
			},
			change1(index) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				this.page = 1
				this.current1 = index;
				this.spliceCount = 0
				switch (index) {
					case 0:
						this.status = ''
						break;
					case 1:
						this.status = 7 //待接单
						break;
					case 2:
						this.status = 6
						break;
					case 3:
						this.status = 3
						break;
					case 4:
						this.status = 4
						break;
					case 5:
						this.status = 5
						break;
						case 6:
							this.status = 8
							break;
				}
				this.getOrderList()
			},
			goNav(url) {
				// #ifdef MP-WEIXIN
				if (uni.getStorageSync('sendindexMsg')) {
					uni.requestSubscribeMessage({
						tmplIds: this.arr,
						success(re) {
							// console.log(re,'**********')
							var datas = JSON.stringify(re);
							if (datas.indexOf("accept") != -1) {
								console.log(re)
							}
						},
						fail: (res) => {
							console.log(res)
						}
					})
				}
				// #endif
				uni.navigateTo({
					url
				})
			},
			// 获取数据列表
			getOrderList() {
				uni.showLoading({
					title: '加载中···',
					mask: true, // 是否显示透明蒙层，防止触摸穿透
				})
				console.log(this.page);
				let data = {
					page: this.page,
					limit: this.limit,
					phone: this.xuePhone,
					userName: this.userName,
					orderNumber: this.orderNumber,
					shopId: this.shopId,
					status: this.status,
					orderType: this.orderType
				}
				// console.log('查询',data)
				this.$Request.getA("/admin/order/selectAllOrder", data).then(res => {
					uni.stopPullDownRefresh();
					if (res.code == 0) {
						// this.msgData = res.data
						res.data.list.forEach(res => {
							res.orderCode = res.orderCode.substring(res.orderCode.length - 3, res.orderCode
								.length)
							var phone = res.phone;
							// var result = phone.substring(0, 3) + "****" + phone.substring(7, 11);
							// console.log(result);
							res.phone = phone

						})
						if (this.page == 1) {
							this.orderList = res.data.list
						} else {
							this.orderList = [...this.orderList, ...res.data.list]
						}
						console.log(this.orderList,'kk')
						this.totalCount = res.data.totalCount
						this.show1 = true
					}
					// 加载提示关闭
					uni.hideLoading()

				});
			}
		},
		onReachBottom: function() {
			if(this.orderList.length <  (this.totalCount-this.spliceCount)){
				this.page ++;
				this.getOrderList();
			}else{
				uni.showToast({
					title: '已经到底了~',
					icon: 'none'
				})
			}
		},
		onPullDownRefresh: function() {
			this.page = 1;
			this.getOrderList();
		},
	}
</script>

<style scoped>
	.active {
		width: 82rpx;
		height: 6rpx;
		background: #333333;
		margin-left: 12rpx;
	}

	.bg {
		background-color: #FFFFFF;
	}

	/* 切换选项 */
	.nav {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #FFFFFF;
		color: #999999;
	}

	.btn {
		/* padding: 10rpx 20rpx;
		text-align: center;
		background: rgba(255, 19, 10, 0.2);
		font-size: 28rpx;
		border: 2rpx solid #FF130A;
		color: #FF130A;
		opacity: 0.6;
		border-radius: 8rpx; */
		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;
	}

	.btnCm {
		/* padding: 10rpx 20rpx;
		text-align: center;
		background: #0081FF;
		font-size: 28rpx;
		border: 2rpx solid #0081FF;
		color: #FFFFFF;
		opacity: 0.6;
		border-radius: 8rpx; */
	}

	/* 拍照 */
    .btn_pai{
		width: 150rpx;
		height: 60rpx;
		line-height: 60rpx;
		text-align: center;
		background: rgba(255, 201, 189, 1);
		font-size: 28rpx;
		border: 2rpx solid rgba(255, 201, 189, 1);
		color: #333333;
		border-radius: 50rpx;
		font-weight: 700;
		margin-left: 15rpx;
	}
	.btn_ {
		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: 15rpx;
	}

	.tabBtn {
		/* background-color: #f6f6fa; */
		height: 60rpx;
		line-height: 60rpx;
		color: #000000;
		font-size: 31rpx;
		font-weight: bold;
	}

	.shaix {
		width: 30%;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		letter-spacing: 4rpx;
		font-size: 27rpx;
	}

	.select {
		color: #000000;
		font-size: 31rpx;
		font-weight: bold;
		background-color: #fff;
	}

	.nav view {
		flex-grow: 1;
		margin: 3% 6.5% 2%;
		text-align: center;
	}

	.nav_btna {
		font-size: 42rpx;
		line-height: 34rpx;
		color: #000000;
		font-weight: bold;
		border-bottom: 14rpx solid #FCD202;
	}

	/* 内容 */
	/* 全部订单 */
	.cont_one {
		/* margin-top: 160rpx; */
	}

	.cont_one image {
		width: 80%;
		height: 353rpx;
	}

	/* 到店取餐 */
	.cont_two {
		display: none;
		width: 94%;
		margin: 3% auto;
		background-color: #FFFFFF;
		border-radius: 18rpx;
	}

	.cont {
		/* display: none; */
		width: 94%;
		margin: 3% auto;
		background-color: #FFFFFF;
		border-radius: 18rpx;
	}
	.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;
	}

	.cont_two_top {
		width: 94%;
		padding: 4% 3% 0;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}

	.cont_two_top_le {
		width: 85%;
		font-size: 30rpx;
		font-weight: 500;
		color: #333333;
		/* line-height: 2; */
		margin: 5rpx 0;
	}

	.cont_two_top_ri {
		/* 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 {
		/* 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 {
		/* 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 {
		font-size: 58rpx;
		text-align: center;
		font-weight: bold;
		color: red;
		margin: 3% 0;
		line-height: 32rpx;
	}

	.cont_two_text2 {
		font-size: 30rpx;
		width: 100%;
		font-weight: 500;
		color: #333333;
		text-align: center;
		padding-bottom: 3%;
		/* line-height: 32rpx; */

	}

	.cont_two_text2 text {
		color: #FF130A;
	}

	.cont_two_bottom {
		width: 94%;
		padding: 3%;
		margin: 0 auto;
		display: flex;
		border-top: 1rpx solid #E6E6E6;
	}

	.cont_two_bottom_le {
		flex: 1;
		font-size: 24rpx;
		font-weight: 500;
		color: #999999;
		line-height: 32rpx;
	}

	.cont_two_bottom_ri {
		flex: 1;
		text-align: right;
	}

	.cont_two_bottom_ri image {
		width: 14rpx;
		height: 24rpx;
	}

	/* 外卖订单 */
	.cont_three {
		display: none;
		width: 94%;
		margin: 3% auto;
		background-color: #FFFFFF;
		border-radius: 18rpx;
	}

	.cont_three_top {
		width: 94%;
		padding: 4% 3% 0;
		margin: 0 auto;
		display: flex;
	}

	.cont_three_top_le {
		flex: 2;
		font-size: 30rpx;
		font-weight: 500;
		color: #D80204;
		line-height: 32rpx;
	}

	.cont_three_top_ri {
		flex: 1;
		text-align: right;
		font-size: 24rpx;
		font-weight: 500;
		color: #999999;
		line-height: 32rpx;
	}

	.cont_three_text {
		padding: 2% 0 2% 3%;
		font-size: 24rpx;
		font-weight: 500;
		color: #999999;
		line-height: 32rpx;
	}

	.cont_three_cen {
		width: 94%;
		padding: 0.5% 3%;
		margin: 0 auto;
		display: flex;
	}

	.cont_three_cen_le {
		flex: 2;
		font-size: 30rpx;
		font-weight: 500;
		color: #333333;
		line-height: 32rpx;
	}

	.cont_three_cen_ri {
		flex: 1;
		text-align: right;
		font-size: 24rpx;
		font-weight: 500;
		color: #999999;
		line-height: 32rpx;
	}

	.cont_three_text2 {
		font-size: 24rpx;
		font-weight: 500;
		color: #D80204;
		padding: 0 3%;
		line-height: 32rpx;
	}

	.cont_three_bottom {
		width: 94%;
		padding: 3%;
		margin: 3% auto 0;
		display: flex;
		border-top: 1rpx solid #E6E6E6;
	}

	.cont_three_bottom_le {
		flex: 1;
		font-size: 24rpx;
		font-weight: 500;
		color: #999999;
		line-height: 32rpx;
	}

	.cont_three_bottom_ri {
		flex: 1;
		text-align: right;
	}

	.cont_dis {
		display: block;
	}

	.box {
		width: 100%;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.2);

		/* opacity: 0.2; */
		position: absolute;
		top: 40px;
		z-index: 999
	}

	.popbox {
		width: 749upx;
		/* height: 764upx; */
		background: #FFFFFF;
		padding-bottom: 72rpx;
		z-inde: 999;

		/* #ifdef H5 */
		position: fixed;
		top: 120px;
		left: 0;
		right: 0;
		/* #endif */
		/* #ifndef H5 */
		position: fixed;
		top: 66rpx;
		left: 0;
		right: 0;
		/* #endif */
	}

	.impute {
		background: #F2F2F2;
		height: 80rpx;
		margin: 20rpx 0;
	}

	.btns {
		width: 690upx;
		height: 88upx;
		background: #FF8D1A;
		box-shadow: 0upx 10upx 20upx 0upx #FFD9B3;
		border-radius: 16upx;
		text-align: center;
		line-height: 88rpx;
		font-size: 32rpx;
		font-weight: bold;
		margin: 0 auto;
	}

	.tosend_header_food_le {
		width: 15%;
	}

	.tosend_header_food_le image {
		width: 110rpx;
		height: 110rpx;
	}

	.u-border-top:after {
		border: none !important;
	}
	
	/* 收货码弹框 */
	.receipt_code {
		width: 90%;
		margin: 0 auto;
	}
	
	.code_title {
		width: 100%;
		line-height: 100rpx;
		font-size: 31rpx;
		font-weight: bold;
		text-align: center;
		letter-spacing: 2rpx;
		margin-top: 21rpx;
		margin-bottom: 25rpx;
	}
	
	.u-input--border {
		border: 1px solid #F2F2F2 !important;
		background: #F2F2F2 !important;
		color: #999999 !important;
		font-weight: 500 !important;
		letter-spacing: 2rpx !important;
	}
	
	.u-input__input {
		font-size: 30rpx;
		font-weight: bold;
		flex: 1;
		color: #999999 !important;
		min-height: 85rpx !important;
		margin-top: 7rpx;
	}
	
	.sure {
		width: 100%;
		height: 80rpx;
		background: rgba(245, 211, 71, 1);
		color: white;
		border-radius: 46rpx;
		text-align: center;
		line-height: 80rpx;
		margin-top: 30rpx;
		color: rgba(0, 0, 0, 1);
		letter-spacing: 2rpx;
	}
	.sure2{
		text-align: center;
		color: rgba(0, 0, 0, 1);
		line-height: 80rpx;
		margin-top: 30rpx;
		width: 100%;
		height: 80rpx;
		opacity: 1;
		border-radius: 10rpx;
		background: rgba(245, 211, 71, 1);
	}
	/* 确认送达拍照框 */
	.phone_title{
		margin-top: 10px;
		width: 100%;
		height: 40px;
		/* background-color: #FF7F00; */
		text-align: center;
		line-height: 40px;
		/* color:#FFFFFF; */
	}
	.phone_title2{
		margin-top: 10px;
		text-align: center;
		color:#9d9d9d;
	}
	.code_title2 {
	    width: 100%;
	    line-height: 50rpx;
	    text-align: center;
	    letter-spacing: 2rpx;
	    margin-top: 21rpx;
	    margin-bottom: 25rpx;
	}
	.code_title3{
		margin-left: -20px;
		margin-top: 21rpx;
		margin-bottom: 25rpx;
		width: 638rpx;
		height: 66rpx;
		border-radius: 6rpx;
		background: rgba(255, 245, 245, 1);
		font-size: 24rpx;
		line-height: 66rpx;
		color: rgba(212, 48, 48, 1);
		text-align: center;
	}
</style>
