Bladeren bron

no message

py 2 jaren geleden
bovenliggende
commit
c8c9b8b5b3

+ 9 - 1
common/css/common.css

@@ -364,6 +364,9 @@ image {
 .p-b-20 {
 	padding-bottom: 20rpx;
 }
+.pb-36 {
+	padding-bottom: 36rpx;
+}
 .plr-12{
 	padding: 0 12rpx;
 }
@@ -429,6 +432,9 @@ image {
 .mr-30{
 	margin-right: 30rpx;
 }
+.mr-36{
+	margin-right: 36rpx;
+}
 .mr-40{
 	margin-right: 40px;
 }
@@ -437,7 +443,9 @@ image {
 }
 
 
-
+.mb-2{
+	margin-bottom: 2rpx;
+}
 .mb-4{
 	margin-bottom: 4rpx;
 }

+ 89 - 58
pages-buy/ticket.vue

@@ -11,7 +11,7 @@
 					</view>
 				</template>
 			</Nav>
-			
+
 			<view class="box-border-box plr-24 mb-32">
 				<view class="head-search">
 					<uni-icons class="s-icon" type="search" size="19"></uni-icons>
@@ -19,16 +19,17 @@
 					<view class="head-search-buttom text-align-center fs-28 fw-500 fc-f" @click="searchFun()">搜索</view>
 				</view>
 			</view>
-			
+
 			<view class="display-flex box-border-box plr-24 nav-list">
-				<view class="text-align-center nav-item" v-for="(item,i) in navList" :key="i" @click="selectType(item.id)">
+				<view class="text-align-center nav-item" v-for="(item,i) in navList" :key="i"
+					@click="selectType(item.id)">
 					<image class="nav-img" :src="item.img" mode="scaleToFill"></image>
 					<view class="fs-24 w-96" :class="type == item.id?'fw-600 fc-41ABF5':'fw-400'">{{item.name}}</view>
 				</view>
 			</view>
 		</view>
-		
-		
+
+
 		<view v-if="list.length === 0" class="scroll-view-css">
 			<EnBlank :customSrc='true'>
 				<template v-slot:blankImg>
@@ -36,8 +37,9 @@
 				</template>
 			</EnBlank>
 		</view>
-		
-		<scroll-view v-else class="scroll-view-css box-border-box plr-24" scroll-y="true" @scrolltolower="scrolltolower">
+
+		<scroll-view v-else class="scroll-view-css box-border-box plr-24" scroll-y="true"
+			@scrolltolower="scrolltolower">
 			<view class="list-item display-flex" v-for="(item,i) in list" :key="i" @click="toDet(item)">
 				<image :src="item.cover_img" mode="aspectFill"></image>
 				<view class="flex-1 flex-direction flex-justify-space">
@@ -57,23 +59,31 @@
 </template>
 
 <script>
-	import {ticketList} from '@/api/ticket.js';
-	import {getTicket} from '@/api/category.js';
+	import {
+		ticketList
+	} from '@/api/ticket.js';
+	import {
+		getTicket
+	} from '@/api/category.js';
 	import EnBlank from "@/components/en-utils/en-blank/en-blank";
 	import tools from "@/service/tools";
 	export default {
-		components:{EnBlank},
-		data(){
-			return{
-				type:0,
-				navList:[
-					{name:"全部",id:0,img:require('@/static/img/buy/t-all.png')},
-				],
-				
-				page:1,
-				total:0,
-				list:[],
-				search:'',
+		components: {
+			EnBlank
+		},
+		data() {
+			return {
+				type: 0,
+				navList: [{
+					name: "全部",
+					id: 0,
+					img: require('@/static/img/buy/t-all.png')
+				}, ],
+
+				page: 1,
+				total: 0,
+				list: [],
+				search: '',
 			}
 		},
 		onShow() {
@@ -84,47 +94,56 @@
 		mounted() {
 			this.getTicket();
 		},
-		methods:{
-			getTicket(){
-				getTicket().then((res)=>{
-					if(res.code === 1){
-						this.navList = [...this.navList,...res.data]
+		methods: {
+			getTicket() {
+				let operate_id = uni.getStorageSync('operate_id');
+				getTicket({
+					operate_id: operate_id
+				}).then((res) => {
+					if (res.code === 1) {
+						this.navList = [...this.navList, ...res.data]
 					}
 				})
 			},
-			getList(){
-				ticketList({category_id:this.type,page:this.page,search:this.search}).then((res)=>{
-					if(res.code === 1){
-						this.list = [...this.list,...res.data.items];
+			getList() {
+				let operate_id = uni.getStorageSync('operate_id');
+				ticketList({
+					category_id: this.type,
+					page: this.page,
+					operate_id: operate_id,
+					search: this.search
+				}).then((res) => {
+					if (res.code === 1) {
+						this.list = [...this.list, ...res.data.items];
 						this.total = res.data.total;
 					}
 				})
 			},
-			searchFun(){
+			searchFun() {
 				this.page = 1;
 				this.list = [];
 				this.getList();
 			},
-			selectType(id){
-				if(this.type != id){
+			selectType(id) {
+				if (this.type != id) {
 					this.type = id;
 					this.page = 1;
 					this.list = [];
 					this.getList();
 				}
 			},
-			toBack(){
+			toBack() {
 				tools.leftClick()
 			},
-			scrolltolower(){
-				if(this.list.length < this.total){
+			scrolltolower() {
+				if (this.list.length < this.total) {
 					this.page += 1;
 					this.getList();
 				}
 			},
-			toDet(item){
+			toDet(item) {
 				uni.navigateTo({
-					url:"/pages-buy/ticket-det?id=" + item.id
+					url: "/pages-buy/ticket-det?id=" + item.id
 				})
 			},
 		},
@@ -132,40 +151,44 @@
 </script>
 
 <style>
-	body{
+	body {
 		background-color: #fff;
 	}
 </style>
 <style scoped lang="scss">
-	.w-470{
+	.w-470 {
 		width: 470rpx;
 	}
-	.ticket-box{
-		.list-item{
+
+	.ticket-box {
+		.list-item {
 			width: 100%;
 			min-height: 200rpx;
 			margin-bottom: 40rpx;
 			background-color: #fff;
-			image{
+
+			image {
 				width: 200rpx;
 				height: 200rpx;
 				border-radius: 20rpx;
 				margin-right: 20rpx;
 			}
-			.to-box{
+
+			.to-box {
 				width: 132rpx;
 				height: 52rpx;
 				line-height: 52rpx;
-				background: linear-gradient( 225deg, #41ABF5 0%, #5BD8FB 100%);
+				background: linear-gradient(225deg, #41ABF5 0%, #5BD8FB 100%);
 				border-radius: 200rpx;
 			}
 		}
-		
-		.nav-box{
+
+		.nav-box {
 			width: 100%;
 			height: 452rpx;
 			position: relative;
-			.head-bg{
+
+			.head-bg {
 				position: absolute;
 				top: 0;
 				left: 0;
@@ -173,16 +196,19 @@
 				height: 452rpx;
 				z-index: -1;
 			}
-			.head-search{
+
+			.head-search {
 				width: 100%;
 				position: relative;
-				.s-icon{
+
+				.s-icon {
 					position: absolute;
 					left: 24rpx;
 					top: 20rpx;
 				}
-				input{
-					width:100%;
+
+				input {
+					width: 100%;
 					height: 72rpx;
 					background: #FFFFFF;
 					border-radius: 200rpx;
@@ -190,10 +216,11 @@
 					padding: 0 130rpx 0 68rpx;
 					font-size: 32rpx;
 				}
-				.head-search-buttom{
+
+				.head-search-buttom {
 					width: 120rpx;
 					height: 60rpx;
-					background: linear-gradient( 90deg, #2CE6F8 0%, #41ABF5 100%);
+					background: linear-gradient(90deg, #2CE6F8 0%, #41ABF5 100%);
 					border-radius: 200rpx;
 					line-height: 60rpx;
 					position: absolute;
@@ -201,19 +228,23 @@
 					top: 6rpx;
 				}
 			}
-			.nav-list{
+
+			.nav-list {
 				overflow-x: scroll;
-				.nav-item{
+
+				.nav-item {
 					width: 96rpx !important;
 					height: 126rpx;
 					margin-right: 48rpx;
-					.nav-img{
+
+					.nav-img {
 						width: 80rpx;
 						height: 80rpx;
 						margin: 0 auto 12rpx auto;
 						z-index: 10;
 					}
-					.w-96{
+
+					.w-96 {
 						width: 96rpx;
 					}
 				}

+ 384 - 6
pages-order/express-info.vue

@@ -1,27 +1,405 @@
 <template>
 	<view class="flex-common-css">
-		<Nav title="代取详情" leftIconColor="#333" titleColor="#333"></Nav>
-		<scroll-view :scroll-y="true" class="scroll-view-css" @scrolltolower="scrolltolower">
+		<Nav title=" " leftIconColor="#333" titleColor="#333" bgckgroundBox='transparent'></Nav>
+		<image class="bg-img" src="@/static/img/order/bg.png" mode=""></image>
+		<view class="p-24-24-0 box-border-box">
+			<view class="mb-24" v-if="infoData.order_status == 1">
+				<view class="fs-40 fc-3 mb-8">
+					{{infoData.order_status_str}},剩余{{time.m}}:{{time.s}}
+				</view>
+				<view class="fs-24 fc-FB3D03">
+					10分钟内未支付,订单将自动取消
+				</view>
+			</view>
+			<view class="mb-24" v-else>
+				<view class="fs-48 fc-3 fw-600">
+					{{infoData.order_status_str}}
+				</view>
+			</view>
+			<view class="bgc-f b-rad-20 p-24 box-border-box">
+				<view class="p-b-20 mb-24 b-b-F9F9F9 fs-32 fc-3" v-show="infoData.order_status == 1">
+					请尽快支付
+				</view>
+				<view class="p-b-20 mb-24 b-b-F9F9F9 fs-32 fc-3" v-show="infoData.order_status == 4">
+					感谢你对君子校园的信任,期待你再次光临
+				</view>
+				<view class="align-items-center flex-wrap-wrap">
+					<view class="w-33 flex-direction align-items-center" @click="pay"
+						v-show="infoData.order_status == 1">
+						<image class="mb-4 icon" src="@/static/img/order/qzf.png" mode=""></image>
+						<view class="fs-24 fc-41ABF5">
+							去支付
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center"
+						v-show="infoData.order_status == 1 || infoData.order_status == 2">
+						<image class="mb-4 icon" src="@/static/img/order/xgdd.png" mode=""></image>
+						<view class="fs-24 fc-3">
+							修改订单信息
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center"
+						v-show="infoData.order_status == 4 || infoData.order_status == 6">
+						<image class="mb-4 icon" src="@/static/img/order/zlyd.png" mode=""></image>
+						<view class="fs-24 fc-41ABF5">
+							再来一单
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center">
+						<image class="mb-4 icon" src="@/static/img/order/lxkf.png" mode=""></image>
+						<view class="fs-24 fc-3">
+							联系客服
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 2"
+						@click="cancelOrder">
+						<image class="mb-4 icon" src="@/static/img/order/qxdd.png" mode=""></image>
+						<view class="fs-24 fc-3">
+							取消订单
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<scroll-view :scroll-y="true" class="scroll-view-css p-24 box-border-box" @scrolltolower="scrolltolower">
+			<view class="bgc-f b-rad-20 p-24 box-border-box mb-20">
+				<view class="w-420 fc-3 fs-32 fw-600 text-overflow-ellipsis-one mb-24">
+					{{infoData.site_name}}
+				</view>
+				<view class="goods-box" :class="infoData.item.length >= 4 && goodsShow?'goodsShowOne':'goodsShowTwo'">
+					<view class="align-items-center flex-justify-space mb-20" v-for="(item,index) in infoData.item">
+						<image class="goods-img mr-16" :src="item.goods_img" mode=""></image>
+						<view class="">
+							<view class="align-items-center flex-justify-space mb-2">
+								<view class="fs-28 fc-3 w-376 text-overflow-ellipsis-one mr-36">
+									{{item.goods_name}}
+								</view>
+								<view class="fs-32 fc-3 fw-600">
+									¥{{item.goods_money}}
+								</view>
+							</view>
+							<!-- 				<view class="mb-2 fs-24 fc-9">
+								{{item.goods_name}}
+							</view> -->
+							<view class="fs-24 fc-9">
+								x{{item.goods_num}}
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="align-items-center flex-justify-center p-24 b-b-F9F9F9 mb-32" @click="openGoods"
+					v-if="infoData.item.length > 4">
+					<view class="fs-24 fc-9 mr-4">
+						{{goodsShow?'展开':'收起'}}{{infoData.item.length - 4}}件商品
+					</view>
+					<image v-if="goodsShow" class="icon-right" src="@/static/img/order/top.png" mode=""></image>
+					<image v-else class="icon-right" src="@/static/img/order/bottom.png" mode=""></image>
+				</view>
+				<!-- 				<view class="align-items-center flex-justify-space mb-24">
+					<view class="fs-28 fc-3">
+						打包费
+					</view>
+					<view class="fs-32 fc-3">
+						打包费
+					</view>
+				</view>
+				<view class="align-items-center flex-justify-space mb-24">
+					<view class="fs-28 fc-3">
+						配送费
+					</view>
+					<view class="fs-32 fc-3">
+						打包费
+					</view>
+				</view> -->
+				<view class="align-items-center flex-justify-space pb-36 b-b-F9F9F9 mb-22">
+					<view class="align-items-center">
+						<image class="mr-6 icon-right" src="@/static/img/order/yhq.png" mode=""></image>
+						<view class="fs-28 fc-3">
+							优惠券
+						</view>
+					</view>
+					<view class="fs-32 fc-FB3D03">
+						-¥{{infoData.coupon_money}}
+					</view>
+				</view>
+				<view class="align-items-center flex-justify-end">
+					<view class="fs-28 fc-9">
+						共{{infoData.goods_number}}件,
+					</view>
+					<view class="fs-28 fc-3">
+						金额
+					</view>
+					<view class="fs-24 fw-600 fc-3">
+						¥
+					</view>
+					<view class="fs-36  fw-600 fc-3">
+						{{infoData.pay_money}}
+					</view>
+				</view>
+			</view>
+			<view class="bgc-f b-rad-20 p-24 box-border-box mb-20">
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						配送地址
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.school_name}}{{infoData.dorm_name}}{{infoData.address}}{{infoData.consignee}}{{infoData.consignee_tel}}
+					</view>
+				</view>
+				<!-- 				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						配送时间
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						预约配送
+					</view>
+				</view> -->
+				<view class="display-flex flex-justify-space pb-20 b-b-F9F9F9 mb-26"
+					v-show="infoData.order_status == 3">
+					<view class="fs-28 fc-9">
+						骑手信息
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.rider.rider_name}}{{infoData.rider.phone}}
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						订单编号
+					</view>
+					<view class="align-items-center flex-justify-end">
+						<view class="fs-28 fc-3 w-480 mr-8 text-align-right">
+							{{infoData.order_sn}}
+						</view>
+						<image class="icon-fz" src="@/static/img/order/fz.png" mode=""></image>
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						下单时间
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.created_at}}
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						支付方式
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.pay_type_str}}
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						备注
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.note?infoData.note:'无'}}
+					</view>
+				</view>
+			</view>
 		</scroll-view>
 	</view>
 </template>
 
 <script>
+	import {
+		expressOrderInfo,
+		expressOrderCancel
+	} from "@/api/expressOrder.js"
+	import {
+		getExpressPay
+	} from "@/api/express.js"
+	import tools from "@/service/tools";
 	export default {
 		components: {},
 		data() {
-			return {};
+			return {
+				goodsData: [{
+					name: '1'
+				}, {
+					name: '2'
+				}],
+				goodsShow: true,
+				infoData: {},
+				time: {
+					day: '',
+					h: "",
+					m: '',
+					s: '',
+				},
+				isAJAX: false
+			};
+		},
+		onLoad(data) {
+			if (data) {
+				console.log(data);
+				this.expressOrderInfo(data.orderId)
+			}
 		},
-		onLoad(data) {},
 		mounted() {},
 		methods: {
+			pay() {
+				this.getExpressPay(this.infoData.id)
+			},
+			getExpressPay(id) {
+				// 代取支付
+				getExpressPay({
+					order_id: id
+				}).then((ret) => {
+					if (ret.code === 1) {
+						uni.requestPayment({
+							provider: "wxpay", //支付类型-固定值
+							timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
+							nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
+							package: ret.data.wx_pay.package, // 固定值
+							signType: ret.data.wx_pay.signType, //固定值
+							paySign: ret.data.wx_pay.paySign, //签名
+							success: (ren) => {
+								tools.success("支付成功");
+								this.isAJAX = false;
+								this.expressOrderInfo(this.infoData.id)
+							},
+							fail: (err) => {
+								this.isAJAX = false;
+								tools.error("支付失败");
+							},
+						});
+					} else {
+						this.isAJAX = false;
+						tools.error("支付失败");
+					}
+				})
+			},
+			cancelOrder() {
+				// 代取取消订单
+				expressOrderCancel({
+					order_id: infoData.id
+				}).then((res) => {
+					if (res.code == 1) {
+						tools.success(res.msg)
+						this.expressOrderInfo(this.infoData.id)
+					} else {
+						tools.error(res.msg)
+					}
+				})
+			},
+			openGoods() {
+				this.goodsShow = !this.goodsShow
+			},
 			scrolltolower() {
-				console.log('触底');
+				// console.log('触底');
+			},
+			expressOrderInfo(id) {
+				expressOrderInfo({
+					order_id: id
+				}).then((res) => {
+					if (res.code == 1) {
+						this.infoData = res.data
+						if (this.infoData.order_status == 1) {
+							let createDate = new Date(res.data.created_at); //格式化订单创建时候的时间
+							createDate.setMinutes(createDate.getMinutes() + 10)
+							this.setCountDown(createDate)
+						}
+					}
+				})
 			},
+			setCountDown(sTime) {
+				let end = new Date(sTime).getTime();
+				let now = new Date().getTime();
+				let msec = end - now;
+				this.time.day = parseInt(msec / 1000 / 60 / 60 / 24);
+				let h = parseInt(msec / 1000 / 60 / 60 % 24);
+				let m = parseInt(msec / 1000 / 60 % 60);
+				let s = parseInt(msec / 1000 % 60);
+				this.time.h = h > 9 ? h : '0' + h;
+				this.time.m = m > 9 ? m : '0' + m;
+				this.time.s = s > 9 ? s : '0' + s;
+				msec -= 1000;
+				if (this.time.day >= 1) {
+					this.showTime = true;
+				} else {
+					this.showTime = false;
+				};
+				if (msec >= 0) {
+					setTimeout(() => {
+						this.setCountDown(sTime);
+					}, 1000);
+				} else {
+					this.isTimeEnd = true;
+					this.bText = '活动结束';
+					this.time.h = '--';
+					this.time.m = '--';
+					this.time.s = '--';
+				};
+			}
 		},
 	}
 </script>
 
 <style lang="scss" scoped>
+	.bg-img {
+		position: fixed;
+		left: 0;
+		top: 0;
+		z-index: -1;
+		width: 100%;
+		height: 320rpx;
+	}
+
+	.w-33 {
+		width: 33%;
+	}
+
+	.p-24-24-0 {
+		padding: 24rpx 24rpx 0;
+	}
+
+	.icon {
+		width: 48rpx;
+		height: 48rpx;
+	}
+
+	.w-420 {
+		width: 420rpx;
+	}
 
-</style>
+	.goods-img {
+		width: 108rpx;
+		height: 108rpx;
+		border-radius: 8rpx;
+	}
+
+	.w-376 {
+		width: 376rpx;
+	}
+
+	.icon-right {
+		width: 32rpx;
+		height: 32rpx;
+	}
+
+	.w-480 {
+		width: 480rpx;
+	}
+
+	.icon-fz {
+		width: 24rpx;
+		height: 24rpx;
+	}
+
+	.goods-box {
+		overflow: hidden;
+	}
+
+	.goodsShowOne {
+		max-height: 508rpx;
+		transition: all .5s linear;
+	}
+
+	.goodsShowTwo {
+		height: auto;
+		transition: all .5s linear;
+	}
+</style>

+ 367 - 0
pages-order/group-info.vue

@@ -0,0 +1,367 @@
+<template>
+	<view class="flex-common-css">
+		<Nav title=" " leftIconColor="#333" titleColor="#333" bgckgroundBox='transparent'></Nav>
+		<image class="bg-img" src="@/static/img/order/bg.png" mode=""></image>
+		<view class="p-24-24-0 box-border-box">
+			<view class="mb-24" v-show="infoData.order_status == 1">
+				<view class="fs-40 fc-3 mb-8">
+					{{infoData.order_status_str}},剩余{{time.m}}:{{time.s}}
+				</view>
+				<view class="fs-24 fc-FB3D03">
+					10分钟内未支付,订单将自动取消
+				</view>
+			</view>
+			<view class="mb-24">
+				<view class="fs-48 fc-3 fw-600">
+					{{infoData.order_status_str}}
+				</view>
+			</view>
+			<view class="bgc-f b-rad-20 p-24 box-border-box">
+				<view class="p-b-20 mb-24 b-b-F9F9F9 fs-32 fc-3" v-show="infoData.order_status == 1">
+					请尽快支付
+				</view>
+				<view class="p-b-20 mb-24 b-b-F9F9F9 fs-32 fc-3" v-show="infoData.order_status == 4">
+					感谢你对君子校园的信任,期待你再次光临
+				</view>
+				<view class="align-items-center flex-wrap-wrap">
+					<view @click="pay" class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 1">
+						<image class="mb-4 icon" src="@/static/img/order/qzf.png" mode=""></image>
+						<view class="fs-24 fc-41ABF5">
+							去支付
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 1 || infoData.order_status == 2">
+						<image class="mb-4 icon" src="@/static/img/order/xgdd.png" mode=""></image>
+						<view class="fs-24 fc-3">
+							修改订单信息
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 4 || infoData.order_status == 6">
+						<image class="mb-4 icon" src="@/static/img/order/zlyd.png" mode=""></image>
+						<view class="fs-24 fc-41ABF5">
+							再来一单
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center">
+						<image class="mb-4 icon" src="@/static/img/order/lxkf.png" mode=""></image>
+						<view class="fs-24 fc-3">
+							联系客服
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<scroll-view :scroll-y="true" class="scroll-view-css p-24 box-border-box" @scrolltolower="scrolltolower">
+			<view class="bgc-f b-rad-20 p-24 box-border-box mb-20">
+<!-- 				<view class="w-420 fc-3 fs-32 fw-600 text-overflow-ellipsis-one mb-24">
+					{{infoData.site_name}}
+				</view> -->
+				<view class="goods-box">
+					<view class="align-items-center flex-justify-space mb-20">
+						<image class="goods-img mr-16 flex-shrink0" :src="infoData.goods_img" mode=""></image>
+						<view class="">
+							<view class="align-items-center flex-justify-space mb-2">
+								<view class="fs-28 fc-3 w-300 text-overflow-ellipsis-one mr-36">
+									{{infoData.goods_name}}
+								</view>
+								<view class="fs-32 fc-3 fw-600">
+									¥{{infoData.goods_price}}
+								</view>
+							</view>
+			<!-- 				<view class="mb-2 fs-24 fc-9">
+								{{item.goods_name}}
+							</view> -->
+							<view class="fs-24 fc-9">
+								x{{infoData.goods_number}}
+							</view>
+						</view>
+					</view>
+				</view>
+<!-- 				<view class="align-items-center flex-justify-space mb-24">
+					<view class="fs-28 fc-3">
+						打包费
+					</view>
+					<view class="fs-32 fc-3">
+						打包费
+					</view>
+				</view>
+				<view class="align-items-center flex-justify-space mb-24">
+					<view class="fs-28 fc-3">
+						配送费
+					</view>
+					<view class="fs-32 fc-3">
+						打包费
+					</view>
+				</view> -->
+<!-- 				<view class="align-items-center flex-justify-space pb-36 b-b-F9F9F9 mb-22">
+					<view class="align-items-center">
+						<image class="mr-6 icon-right" src="@/static/img/order/yhq.png" mode=""></image>
+						<view class="fs-28 fc-3">
+							优惠券
+						</view>
+					</view>
+					<view class="fs-32 fc-FB3D03">
+						-¥{{infoData.coupon_money}}
+					</view>
+				</view> -->
+				<view class="align-items-center flex-justify-end">
+					<view class="fs-28 fc-9">
+						共{{infoData.goods_number}}件,
+					</view>
+					<view class="fs-28 fc-3">
+						定金
+					</view>
+					<view class="fs-24 fw-600 fc-3">
+						¥
+					</view>
+					<view class="fs-36  fw-600 fc-3">
+						{{infoData.pay_money}}
+					</view>
+				</view>
+			</view>
+			<view class="bgc-f b-rad-20 p-24 box-border-box mb-20">
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						配送地址
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.address}}
+					</view>
+				</view>
+<!-- 				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						配送时间
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						预约配送
+					</view>
+				</view> -->
+<!-- 				<view class="display-flex flex-justify-space pb-20 b-b-F9F9F9 mb-26" v-show="infoData.order_status == 3">
+					<view class="fs-28 fc-9">
+						骑手信息
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.rider.rider_name}}{{infoData.rider.phone}}
+					</view>
+				</view> -->
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						订单编号
+					</view>
+					<view class="align-items-center flex-justify-end">
+						<view class="fs-28 fc-3 w-480 mr-8 text-align-right">
+							{{infoData.order_sn}}
+						</view>
+						<image class="icon-fz" src="@/static/img/order/fz.png" mode=""></image>
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						下单时间
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.created_at}}
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						支付方式
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.pay_type_str}}
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space">
+					<view class="fs-28 fc-9">
+						备注
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.note?infoData.note:'无'}}
+					</view>
+				</view>
+			</view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	import {
+		groupOrderInfo
+	} from "@/api/groupOrder.js"
+	import {
+		groupPay
+	} from '@/api/groupOrder.js';
+	import tools from "@/service/tools";
+	export default {
+		components: {},
+		data() {
+			return {
+				goodsData: [{
+					name: '1'
+				}, {
+					name: '2'
+				}],
+				infoData: {},
+				time: {
+					day: '',
+					h: "",
+					m: '',
+					s: '',
+				},
+				isAJAX: false
+			};
+		},
+		onLoad(data) {
+			if (data) {
+				this.groupOrderInfo(data.orderId)
+			}
+		},
+		mounted() {},
+		methods: {
+			pay() {
+				this.groupPay(this.infoData.id)
+			},
+			groupPay(id) {
+				// 代取支付
+				groupPay({
+					order_id: id
+				}).then((ret) => {
+					if (ret.code === 1) {
+						uni.requestPayment({
+							provider: "wxpay", //支付类型-固定值
+							timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
+							nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
+							package: ret.data.wx_pay.package, // 固定值
+							signType: ret.data.wx_pay.signType, //固定值
+							paySign: ret.data.wx_pay.paySign, //签名
+							success: (ren) => {
+								tools.success("支付成功");
+								this.isAJAX = false;
+								this.groupOrderInfo(this.infoData.id)
+							},
+							fail: (err) => {
+								this.isAJAX = false;
+								tools.error("支付失败");
+							},
+						});
+					} else {
+						this.isAJAX = false;
+						tools.error("支付失败");
+					}
+				})
+			},
+			scrolltolower() {
+				// console.log('触底');
+			},
+			groupOrderInfo(id) {
+				groupOrderInfo({
+					order_id: id
+				}).then((res) => {
+					if (res.code == 1) {
+						this.infoData = res.data
+						if (this.infoData.order_status == 1) {
+							let createDate = new Date(res.data.created_at); //格式化订单创建时候的时间
+							createDate.setMinutes(createDate.getMinutes() + 10)
+							this.setCountDown(createDate)
+						}
+					}
+				})
+			},
+			setCountDown(sTime) {
+				let end = new Date(sTime).getTime();
+				let now = new Date().getTime();
+				let msec = end - now;
+				this.time.day = parseInt(msec / 1000 / 60 / 60 / 24);
+				let h = parseInt(msec / 1000 / 60 / 60 % 24);
+				let m = parseInt(msec / 1000 / 60 % 60);
+				let s = parseInt(msec / 1000 % 60);
+				this.time.h = h > 9 ? h : '0' + h;
+				this.time.m = m > 9 ? m : '0' + m;
+				this.time.s = s > 9 ? s : '0' + s;
+				msec -= 1000;
+				if (this.time.day >= 1) {
+					this.showTime = true;
+				} else {
+					this.showTime = false;
+				};
+				if (msec >= 0) {
+					setTimeout(() => {
+						this.setCountDown(sTime);
+					}, 1000);
+				} else {
+					this.isTimeEnd = true;
+					this.bText = '活动结束';
+					this.time.h = '--';
+					this.time.m = '--';
+					this.time.s = '--';
+				};
+			}
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.bg-img {
+		position: fixed;
+		left: 0;
+		top: 0;
+		z-index: -1;
+		width: 100%;
+		height: 320rpx;
+	}
+
+	.w-33 {
+		width: 33%;
+	}
+
+	.p-24-24-0 {
+		padding: 24rpx 24rpx 0;
+	}
+
+	.icon {
+		width: 48rpx;
+		height: 48rpx;
+	}
+
+	.w-420 {
+		width: 420rpx;
+	}
+
+	.goods-img {
+		width: 108rpx;
+		height: 108rpx;
+		border-radius: 8rpx;
+	}
+
+	.w-300 {
+		width: 300rpx;
+	}
+
+	.icon-right {
+		width: 32rpx;
+		height: 32rpx;
+	}
+
+	.w-480 {
+		width: 480rpx;
+	}
+
+	.icon-fz {
+		width: 24rpx;
+		height: 24rpx;
+	}
+
+	.goods-box {
+		overflow: hidden;
+	}
+
+	.goodsShowOne {
+		max-height: 508rpx;
+		transition: all .5s linear;
+	}
+
+	.goodsShowTwo {
+		height: auto;
+		transition: all .5s linear;
+	}
+</style>

+ 335 - 0
pages-order/laundry-info.vue

@@ -0,0 +1,335 @@
+<template>
+	<view class="flex-common-css">
+		<Nav title=" " leftIconColor="#333" titleColor="#333" bgckgroundBox='transparent'></Nav>
+		<image class="bg-img" src="@/static/img/order/bg.png" mode=""></image>
+		<view class="p-24-24-0 box-border-box">
+			<view class="mb-24" v-show="infoData.order_status == 1">
+				<view class="fs-40 fc-3 mb-8">
+					{{infoData.order_status_str}},剩余{{time}}
+				</view>
+				<view class="fs-24 fc-FB3D03">
+					10分钟内未支付,订单将自动取消
+				</view>
+			</view>
+			<view class="mb-24">
+				<view class="fs-48 fc-3 fw-600">
+					{{infoData.order_status_str}}
+				</view>
+			</view>
+			<view class="bgc-f b-rad-20 p-24 box-border-box">
+				<view class="p-b-20 mb-24 b-b-F9F9F9 fs-32 fc-3" v-show="infoData.order_status == 1">
+					请尽快支付
+				</view>
+				<view class="p-b-20 mb-24 b-b-F9F9F9 fs-32 fc-3" v-show="infoData.order_status == 4">
+					感谢你对君子校园的信任,期待你再次光临
+				</view>
+				<view class="align-items-center flex-wrap-wrap">
+					<view class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 1">
+						<image class="mb-4 icon" src="@/static/img/order/qzf.png" mode=""></image>
+						<view class="fs-24 fc-41ABF5">
+							去支付
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 1 || infoData.order_status == 2">
+						<image class="mb-4 icon" src="@/static/img/order/xgdd.png" mode=""></image>
+						<view class="fs-24 fc-3">
+							修改订单信息
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 4 || infoData.order_status == 6">
+						<image class="mb-4 icon" src="@/static/img/order/zlyd.png" mode=""></image>
+						<view class="fs-24 fc-41ABF5">
+							再来一单
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center">
+						<image class="mb-4 icon" src="@/static/img/order/lxkf.png" mode=""></image>
+						<view class="fs-24 fc-3">
+							联系客服
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 2" @click="cancelOrder">
+						<image class="mb-4 icon" src="@/static/img/order/qxdd.png" mode=""></image>
+						<view class="fs-24 fc-3">
+							取消订单
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<scroll-view :scroll-y="true" class="scroll-view-css p-24 box-border-box" @scrolltolower="scrolltolower">
+			<view class="bgc-f b-rad-20 p-24 box-border-box mb-20">
+				<view class="w-420 fc-3 fs-32 fw-600 text-overflow-ellipsis-one mb-24">
+					{{infoData.site_name}}
+				</view>
+				<view class="goods-box" :class="infoData.item.length >= 4 && goodsShow?'goodsShowOne':'goodsShowTwo'">
+					<view class="align-items-center flex-justify-space mb-20" v-for="(item,index) in infoData.item">
+						<image class="goods-img mr-16" :src="item.goods_img" mode=""></image>
+						<view class="">
+							<view class="align-items-center flex-justify-space mb-2">
+								<view class="fs-28 fc-3 w-376 text-overflow-ellipsis-one mr-36">
+									{{item.goods_name}}
+								</view>
+								<view class="fs-32 fc-3 fw-600">
+									¥{{item.goods_money}}
+								</view>
+							</view>
+			<!-- 				<view class="mb-2 fs-24 fc-9">
+								{{item.goods_name}}
+							</view> -->
+							<view class="fs-24 fc-9">
+								x{{item.goods_num}}
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="align-items-center flex-justify-center p-24 b-b-F9F9F9 mb-32" @click="openGoods"
+					v-if="infoData.item.length > 4">
+					<view class="fs-24 fc-9 mr-4">
+						{{goodsShow?'展开':'收起'}}{{infoData.item.length - 4}}件商品
+					</view>
+					<image v-if="goodsShow" class="icon-right" src="@/static/img/order/top.png" mode=""></image>
+					<image v-else class="icon-right" src="@/static/img/order/bottom.png" mode=""></image>
+				</view>
+<!-- 				<view class="align-items-center flex-justify-space mb-24">
+					<view class="fs-28 fc-3">
+						打包费
+					</view>
+					<view class="fs-32 fc-3">
+						打包费
+					</view>
+				</view>
+				<view class="align-items-center flex-justify-space mb-24">
+					<view class="fs-28 fc-3">
+						配送费
+					</view>
+					<view class="fs-32 fc-3">
+						打包费
+					</view>
+				</view> -->
+<!-- 				<view class="align-items-center flex-justify-space pb-36 b-b-F9F9F9 mb-22">
+					<view class="align-items-center">
+						<image class="mr-6 icon-right" src="@/static/img/order/yhq.png" mode=""></image>
+						<view class="fs-28 fc-3">
+							优惠券
+						</view>
+					</view>
+					<view class="fs-32 fc-FB3D03">
+						-¥{{infoData.coupon_money}}
+					</view>
+				</view> -->
+				<view class="align-items-center flex-justify-end">
+					<view class="fs-28 fc-9">
+						共{{infoData.goods_number}}件,
+					</view>
+					<view class="fs-28 fc-3">
+						金额
+					</view>
+					<view class="fs-24 fw-600 fc-3">
+						¥
+					</view>
+					<view class="fs-36  fw-600 fc-3">
+						{{infoData.pay_money}}
+					</view>
+				</view>
+			</view>
+			<view class="bgc-f b-rad-20 p-24 box-border-box mb-20">
+<!-- 				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						配送地址
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.school_name}}{{infoData.dorm_name}}{{infoData.address}}{{infoData.consignee}}{{infoData.consignee_tel}}
+					</view>
+				</view> -->
+<!-- 				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						配送时间
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						预约配送
+					</view>
+				</view> -->
+<!-- 				<view class="display-flex flex-justify-space pb-20 b-b-F9F9F9 mb-26" v-show="infoData.order_status == 3">
+					<view class="fs-28 fc-9">
+						骑手信息
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.rider.rider_name}}{{infoData.rider.phone}}
+					</view>
+				</view> -->
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						订单编号
+					</view>
+					<view class="align-items-center flex-justify-end">
+						<view class="fs-28 fc-3 w-480 mr-8 text-align-right">
+							{{infoData.order_sn}}
+						</view>
+						<image class="icon-fz" src="@/static/img/order/fz.png" mode=""></image>
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						下单时间
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.created_at}}
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						支付方式
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.pay_type_str}}
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						备注
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.note?infoData.note:'无'}}
+					</view>
+				</view>
+			</view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	import {
+		laundryOrderInfo,
+		laundryOrderCancel
+	} from "@/api/laundryOrder.js"
+	export default {
+		components: {},
+		data() {
+			return {
+				goodsData: [{
+					name: '1'
+				}, {
+					name: '2'
+				}],
+				goodsShow: true,
+				infoData: {},
+				time: ''
+			};
+		},
+		onLoad(data) {
+			if (data) {
+				console.log(data);
+				this.laundryOrderInfo(data.orderId)
+			}
+		},
+		mounted() {},
+		methods: {
+			cancelOrder() {
+				// 代取取消订单
+				laundryOrderCancel({order_id: infoData.id}).then((res) => {
+					if(res.code == 1) {
+						tools.success(res.msg)
+						this.laundryOrderInfo(infoData.id)
+					}else {
+						tools.error(res.msg)
+					}
+				})
+			},
+			openGoods() {
+				this.goodsShow = !this.goodsShow
+			},
+			scrolltolower() {
+				// console.log('触底');
+			},
+			laundryOrderInfo(id) {
+				laundryOrderInfo({
+					order_id: id
+				}).then((res) => {
+					if (res.code == 1) {
+						this.infoData = res.data
+						if (this.infoData.order_status == 1) {
+							setInterval(() => {
+								let currentDate = new Date(); //获取当前时间
+								let createDate = new Date(res.data.created_at); //格式化订单创建时候的时间
+								createDate.setMinutes(createDate.getMinutes() + 10)
+								let disDate = (currentDate - createDate) / 1000; //计算相隔分钟
+								let m = parseInt(disDate / 60 % 60)
+								m = m < 10 ? "0" + m : m
+								let s = parseInt(disDate % 60)
+								s = s < 10 ? "0" + s : s
+								this.time = m + ":" + s
+							}, 1000)
+						}
+					}
+				})
+			}
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.bg-img {
+		position: fixed;
+		left: 0;
+		top: 0;
+		z-index: -1;
+		width: 100%;
+		height: 320rpx;
+	}
+
+	.w-33 {
+		width: 33%;
+	}
+
+	.p-24-24-0 {
+		padding: 24rpx 24rpx 0;
+	}
+
+	.icon {
+		width: 48rpx;
+		height: 48rpx;
+	}
+
+	.w-420 {
+		width: 420rpx;
+	}
+
+	.goods-img {
+		width: 108rpx;
+		height: 108rpx;
+		border-radius: 8rpx;
+	}
+
+	.w-376 {
+		width: 376rpx;
+	}
+
+	.icon-right {
+		width: 32rpx;
+		height: 32rpx;
+	}
+
+	.w-480 {
+		width: 480rpx;
+	}
+
+	.icon-fz {
+		width: 24rpx;
+		height: 24rpx;
+	}
+
+	.goods-box {
+		overflow: hidden;
+	}
+
+	.goodsShowOne {
+		max-height: 508rpx;
+		transition: all .5s linear;
+	}
+
+	.goodsShowTwo {
+		height: auto;
+		transition: all .5s linear;
+	}
+</style>

+ 373 - 0
pages-order/ticket-info.vue

@@ -0,0 +1,373 @@
+<template>
+	<view class="flex-common-css">
+		<Nav title=" " leftIconColor="#333" titleColor="#333" bgckgroundBox='transparent'></Nav>
+		<image class="bg-img" src="@/static/img/order/bg.png" mode=""></image>
+		<view class="p-24-24-0 box-border-box">
+			<view class="mb-24" v-show="infoData.order_status == 1">
+				<view class="fs-40 fc-3 mb-8">
+					{{infoData.order_status_str}},剩余{{time}}
+				</view>
+				<view class="fs-24 fc-FB3D03">
+					10分钟内未支付,订单将自动取消
+				</view>
+			</view>
+			<view class="mb-24">
+				<view class="fs-48 fc-3 fw-600">
+					{{infoData.order_status_str}}
+				</view>
+			</view>
+			<view class="bgc-f b-rad-20 p-24 box-border-box">
+				<view class="p-b-20 mb-24 b-b-F9F9F9 fs-32 fc-3" v-show="infoData.order_status == 1">
+					请尽快支付
+				</view>
+				<view class="p-b-20 mb-24 b-b-F9F9F9 fs-32 fc-3" v-show="infoData.order_status == 4">
+					感谢你对君子校园的信任,期待你再次光临
+				</view>
+				<view class="align-items-center flex-wrap-wrap">
+					<view @click="pay" class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 1">
+						<image class="mb-4 icon" src="@/static/img/order/qzf.png" mode=""></image>
+						<view class="fs-24 fc-41ABF5">
+							去支付
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 1 || infoData.order_status == 2">
+						<image class="mb-4 icon" src="@/static/img/order/xgdd.png" mode=""></image>
+						<view class="fs-24 fc-3">
+							修改订单信息
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center" v-show="infoData.order_status == 4 || infoData.order_status == 6">
+						<image class="mb-4 icon" src="@/static/img/order/zlyd.png" mode=""></image>
+						<view class="fs-24 fc-41ABF5">
+							再来一单
+						</view>
+					</view>
+					<view class="w-33 flex-direction align-items-center">
+						<image class="mb-4 icon" src="@/static/img/order/lxkf.png" mode=""></image>
+						<view class="fs-24 fc-3">
+							联系客服
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<scroll-view :scroll-y="true" class="scroll-view-css p-24 box-border-box" @scrolltolower="scrolltolower">
+			<view class="bgc-f b-rad-20 p-24 box-border-box mb-20">
+<!-- 				<view class="w-420 fc-3 fs-32 fw-600 text-overflow-ellipsis-one mb-24">
+					{{infoData.site_name}}
+				</view> -->
+				<view class="goods-box">
+					<view class="align-items-center flex-justify-space mb-20">
+						<image class="goods-img mr-16 flex-shrink0" :src="infoData.goods_img" mode=""></image>
+						<view class="">
+							<view class="align-items-center flex-justify-space mb-2">
+								<view class="fs-28 fc-3 w-300 text-overflow-ellipsis-one mr-36">
+									{{infoData.goods_name}}
+								</view>
+								<view class="fs-32 fc-3 fw-600">
+									¥{{infoData.goods_price}}
+								</view>
+							</view>
+			<!-- 				<view class="mb-2 fs-24 fc-9">
+								{{item.goods_name}}
+							</view> -->
+							<view class="fs-24 fc-9">
+								x{{infoData.goods_number}}
+							</view>
+						</view>
+					</view>
+				</view>
+<!-- 				<view class="align-items-center flex-justify-space mb-24">
+					<view class="fs-28 fc-3">
+						打包费
+					</view>
+					<view class="fs-32 fc-3">
+						打包费
+					</view>
+				</view>
+				<view class="align-items-center flex-justify-space mb-24">
+					<view class="fs-28 fc-3">
+						配送费
+					</view>
+					<view class="fs-32 fc-3">
+						打包费
+					</view>
+				</view> -->
+<!-- 				<view class="align-items-center flex-justify-space pb-36 b-b-F9F9F9 mb-22">
+					<view class="align-items-center">
+						<image class="mr-6 icon-right" src="@/static/img/order/yhq.png" mode=""></image>
+						<view class="fs-28 fc-3">
+							优惠券
+						</view>
+					</view>
+					<view class="fs-32 fc-FB3D03">
+						-¥{{infoData.coupon_money}}
+					</view>
+				</view> -->
+				<view class="align-items-center flex-justify-end">
+					<view class="fs-28 fc-9">
+						共{{infoData.goods_number}}件,
+					</view>
+					<view class="fs-28 fc-3">
+						金额
+					</view>
+					<view class="fs-24 fw-600 fc-3">
+						¥
+					</view>
+					<view class="fs-36  fw-600 fc-3">
+						{{infoData.pay_money}}
+					</view>
+				</view>
+			</view>
+			<view class="bgc-f b-rad-20 p-24 box-border-box mb-20">
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						配送地址
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.address}}
+					</view>
+				</view>
+<!-- 				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						配送时间
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						预约配送
+					</view>
+				</view> -->
+<!-- 				<view class="display-flex flex-justify-space pb-20 b-b-F9F9F9 mb-26" v-show="infoData.order_status == 3">
+					<view class="fs-28 fc-9">
+						骑手信息
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.rider.rider_name}}{{infoData.rider.phone}}
+					</view>
+				</view> -->
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						订单编号
+					</view>
+					<view class="align-items-center flex-justify-end">
+						<view class="fs-28 fc-3 w-480 mr-8 text-align-right">
+							{{infoData.order_sn}}
+						</view>
+						<image class="icon-fz" src="@/static/img/order/fz.png" mode=""></image>
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						下单时间
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.created_at}}
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space mb-26">
+					<view class="fs-28 fc-9">
+						支付方式
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.pay_type_str}}
+					</view>
+				</view>
+				<view class="display-flex flex-justify-space">
+					<view class="fs-28 fc-9">
+						备注
+					</view>
+					<view class="fs-28 fc-3 w-480 text-align-right">
+						{{infoData.note?infoData.note:'无'}}
+					</view>
+				</view>
+			</view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	import {
+		ticketPay
+	} from '@/api/ticket.js';
+	import {
+		ticketOrderInfo
+	} from "@/api/ticketOrder.js"
+	import tools from '@/service/tools';
+	export default {
+		components: {},
+		data() {
+			return {
+				goodsData: [{
+					name: '1'
+				}, {
+					name: '2'
+				}],
+				infoData: {},
+				time:{
+					day:'',
+					h:"",
+					m:'',
+					s:'',
+				},
+			};
+		},
+		onLoad(data) {
+			if (data) {
+				this.ticketOrderInfo(data.orderId)
+			}
+		},
+		mounted() {},
+		methods: {
+			pay() {
+				this.ticketPay(this.infoData.id)
+			},
+			ticketPay(id) {
+				// 票务支付
+				ticketPay({
+					order_id: id
+				}).then((ret) => {
+					if (ret.code === 1) {
+						uni.requestPayment({
+							provider: "wxpay", //支付类型-固定值
+							timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
+							nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
+							package: ret.data.wx_pay.package, // 固定值
+							signType: ret.data.wx_pay.signType, //固定值
+							paySign: ret.data.wx_pay.paySign, //签名
+							success: (ren) => {
+								tools.success("支付成功");
+								this.isAJAX = false;
+								this.ticketOrderInfo(this.infoData.id)
+							},
+							fail: (err) => {
+								this.isAJAX = false;
+								tools.error("支付失败");
+							},
+						});
+					} else {
+						this.isAJAX = false;
+						tools.error("支付失败");
+					}
+				})
+			},
+			scrolltolower() {
+				// console.log('触底');
+			},
+			ticketOrderInfo(id) {
+				ticketOrderInfo({
+					order_id: id
+				}).then((res) => {
+					if (res.code == 1) {
+						this.infoData = res.data
+						if (this.infoData.order_status == 1) {
+							// setInterval(() => {
+								let currentDate = new Date(); //获取当前时间
+								let createDate = new Date(res.data.created_at); //格式化订单创建时候的时间
+								createDate.setMinutes(createDate.getMinutes() + 10)
+								console.log(createDate,'----------------');
+								let disDate = (currentDate - createDate) / 1000; //计算相隔分钟
+								let m = parseInt(disDate  / 60 % 60, 10);//计算剩余的分钟数
+								let s = parseInt(disDate  % 60, 10);//计算剩余的秒数
+								this.time = m + ":" + s
+							// }, 1000)
+						}
+					}
+				})
+			},
+			setCountDown(sTime){
+				let end = new Date(sTime.replace(/-/g, "/")).getTime();
+				let now = new Date().getTime();
+				let msec = end - now;
+				this.time.day = parseInt(msec / 1000 / 60 / 60 / 24);
+				let h = parseInt(msec / 1000 / 60 / 60 % 24);
+				let m = parseInt(msec / 1000 / 60 % 60);
+				let s = parseInt(msec / 1000 % 60);
+				this.time.h = h > 9 ? h : '0' + h;
+				this.time.m = m > 9 ? m : '0' + m;
+				this.time.s = s > 9 ? s : '0' + s;
+				msec -= 1000;
+				if(this.time.day >= 1){
+					this.showTime = true;
+				}else{
+					this.showTime = false;
+				};
+				if(msec>=0){
+					setTimeout(()=>{
+						this.setCountDown(sTime);
+					}, 1000);
+				}else{
+					this.isTimeEnd = true;
+					this.bText = '活动结束';
+					this.time.h = '--';
+					this.time.m = '--';
+					this.time.s = '--';
+				};
+			}
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.bg-img {
+		position: fixed;
+		left: 0;
+		top: 0;
+		z-index: -1;
+		width: 100%;
+		height: 320rpx;
+	}
+
+	.w-33 {
+		width: 33%;
+	}
+
+	.p-24-24-0 {
+		padding: 24rpx 24rpx 0;
+	}
+
+	.icon {
+		width: 48rpx;
+		height: 48rpx;
+	}
+
+	.w-420 {
+		width: 420rpx;
+	}
+
+	.goods-img {
+		width: 108rpx;
+		height: 108rpx;
+		border-radius: 8rpx;
+	}
+
+	.w-300 {
+		width: 300rpx;
+	}
+
+	.icon-right {
+		width: 32rpx;
+		height: 32rpx;
+	}
+
+	.w-480 {
+		width: 480rpx;
+	}
+
+	.icon-fz {
+		width: 24rpx;
+		height: 24rpx;
+	}
+
+	.goods-box {
+		overflow: hidden;
+	}
+
+	.goodsShowOne {
+		max-height: 508rpx;
+		transition: all .5s linear;
+	}
+
+	.goodsShowTwo {
+		height: auto;
+		transition: all .5s linear;
+	}
+</style>

File diff suppressed because it is too large
+ 307 - 234
pages-school/school-circle.vue


+ 1 - 1
pages-takeout/replace-take.vue

@@ -191,7 +191,7 @@
 		},
 		methods:{
 			getList(){
-				getExpressServe().then((res)=>{
+				getExpressServe({school_id: this.schoolData.school_id}).then((res)=>{
 					if(res.code === 1){
 						this.list = res.data;
 						this.list.forEach((v)=>{

+ 18 - 0
pages.json

@@ -223,6 +223,24 @@
 					"style": {
 						"navigationBarTitleText": "代取详情"
 					}
+				},
+				{
+					"path": "group-info",
+					"style": {
+						"navigationBarTitleText": "团购详情"
+					}
+				},
+				{
+					"path": "ticket-info",
+					"style": {
+						"navigationBarTitleText": "票务详情"
+					}
+				},
+				{
+					"path": "laundry-info",
+					"style": {
+						"navigationBarTitleText": "票务详情"
+					}
 				}
 			]
 		},

+ 1 - 1
pages/index/index.vue

@@ -331,7 +331,7 @@
 			},
 			toSelectSchool(){
 				uni.navigateTo({
-					url:'/pages-address/select-school'
+					url:'/pages-address/select-school?type=1'
 				})
 			},
 			toShop(item){

+ 180 - 15
pages/order/index.vue

@@ -2,7 +2,7 @@
 	<view class="flex-common-css iPhone-bottom box-border-box">
 		<Nav :leftShow='false' :customNav='true' bgckgroundBox='#fff'>
 			<template>
-				<view slot="custom" class="text-align-center fw-600">
+				<view slot="custom" class="text-align-center fw-600 fs-36">
 					我的订单
 				</view>
 			</template>
@@ -32,7 +32,8 @@
 
 		<scroll-view v-else :scroll-y="true" class="scroll-view-css" @scrolltolower="scrolltolower">
 			<view class="list-box">
-				<view class="list-item bgc-f b-rad-20 mb-32 p-24 box-border-box" v-for="(item,index) in list">
+				<view class="list-item bgc-f b-rad-20 mb-32 p-24 box-border-box" v-for="(item,index) in list"
+					@click="goToInfo(item)">
 					<view class="align-items-center flex-justify-space mb-24">
 						<view class="align-items-center">
 							<image v-if="item.site_logo" class="shops-img" :src="item.site_logo" mode="aspectFit">
@@ -99,26 +100,32 @@
 							v-if="type == 1 && item.order_status == 7 && item.is_comment == 0">
 							评价
 						</view>
-						<view class="item-but but-class-two fs-28 mr-18" @click="cancel(item)" v-if="type == 5 && item.order_status == 2">
+						<view class="item-but but-class-two fs-28 mr-18" @click.stop="cancel(item)"
+							v-if="type == 5 && item.order_status == 2">
 							<!-- 干洗 -->
 							取消订单
 						</view>
-						<view class="item-but but-class-two fs-28 mr-18" @click="expressCancel(item)" v-if="type == 2 && item.order_status == 2">
+						<view class="item-but but-class-two fs-28 mr-18" @click.stop="expressCancel(item)"
+							v-if="type == 2 && item.order_status == 2">
 							<!-- 代取 -->
 							取消订单
 						</view>
-						<view class="item-but but-class-one fs-28" v-if="item.order_status == 1">
+						<view class="item-but but-class-one fs-28" @click.stop="orderPay(item)"
+							v-if="item.order_status == 1">
 							立即支付
 						</view>
-						<view class="item-but but-class-one fs-28" v-if="type == 2 && item.order_status == 4">
+						<view @click.stop="goToUrl('express')" class="item-but but-class-one fs-28"
+							v-if="type == 2 && item.order_status == 4">
 							<!-- 代取 -->
 							再来一单
 						</view>
-						<view class="item-but but-class-one fs-28" v-if="type == 3 && item.order_status == 2">
+						<view @click.stop="goToUrl('group')" class="item-but but-class-one fs-28"
+							v-if="type == 3 && item.order_status == 2">
 							<!-- 团购 -->
 							再来一单
 						</view>
-						<view class="item-but but-class-one fs-28" v-if="type == 4 && item.order_status == 2">
+						<view @click.stop="goToUrl('ticket')" class="item-but but-class-one fs-28"
+							v-if="type == 4 && item.order_status == 2">
 							<!-- 票务 -->
 							再来一单
 						</view>
@@ -136,6 +143,9 @@
 <script>
 	import tools from '@/service/tools';
 	import EnBlank from "@/components/en-utils/en-blank/en-blank";
+	import {
+		getExpressPay
+	} from "@/api/express.js"
 	import {
 		expressOrderStatus,
 		expressOrderList,
@@ -144,10 +154,16 @@
 	import {
 		orderStatus
 	} from "@/api/order.js"
+	import {
+		groupPay
+	} from '@/api/groupOrder.js';
 	import {
 		groupOrderStatus,
 		groupOrderList
 	} from "@/api/groupOrder.js"
+	import {
+		ticketPay
+	} from '@/api/ticket.js';
 	import {
 		ticketOrderStatus,
 		ticketOrderList
@@ -197,6 +213,58 @@
 			this.resetList();
 		},
 		methods: {
+			goToUrl(type) {
+				if (type == 'express') {
+					uni.navigateTo({
+						url: '/pages-takeout/replace-take'
+					})
+				} else if (type == 'group') {
+					uni.navigateTo({
+						url: '/pages-buy/group'
+					})
+				} else if (type == 'ticket') {
+					uni.navigateTo({
+						url: '/pages-buy/ticket'
+					})
+				}
+			},
+			goToInfo(item) {
+				if (this.type === 1) {
+					uni.navigateTo({
+						url: `/pages-order/express-info`
+					})
+				} else if (this.type === 2) {
+					uni.navigateTo({
+						url: `/pages-order/express-info?orderId=` + item.id
+					})
+				} else if (this.type === 3) {
+					uni.navigateTo({
+						url: `/pages-order/group-info?orderId=` + item.id
+					})
+				} else if (this.type === 4) {
+					uni.navigateTo({
+						url: `/pages-order/ticket-info?orderId=` + item.id
+					})
+				} else if (this.type === 5) {
+					uni.navigateTo({
+						url: `/pages-order/laundry-info?orderId=` + item.id
+					})
+				}
+			},
+			orderPay(item) {
+				// 立即支付
+				if (this.type === 1) {
+
+				} else if (this.type === 2) {
+					this.getExpressPay(item.id)
+				} else if (this.type === 3) {
+					this.groupPay(item.id)
+				} else if (this.type === 4) {
+					this.ticketPay(item.id)
+				} else if (this.type === 5) {
+					this.laundryOrderList()
+				}
+			},
 			navTypeClick(key) {
 				if (this.navTypeKey != key) {
 					this.navTypeKey = key
@@ -227,28 +295,32 @@
 					this.resetList();
 				}
 			},
-			expressOrderCancel(item) {
+			expressCancel(item) {
 				// 代取取消订单
-				expressOrderCancel({order_id: item.id}).then((res) => {
-					if(res.code == 1) {
+				expressOrderCancel({
+					order_id: item.id
+				}).then((res) => {
+					if (res.code == 1) {
 						tools.success(res.msg)
 						this.page = 1;
 						this.list = [];
 						this.expressOrderList()
-					}else {
+					} else {
 						tools.error(res.msg)
 					}
 				})
 			},
 			cancel(item) {
 				// 干洗取消订单
-				laundryOrderCancel({order_id: item.id}).then((res) => {
-					if(res.code == 1) {
+				laundryOrderCancel({
+					order_id: item.id
+				}).then((res) => {
+					if (res.code == 1) {
 						tools.success(res.msg)
 						this.page = 1;
 						this.list = [];
 						this.laundryOrderList()
-					}else {
+					} else {
 						tools.error(res.msg)
 					}
 				})
@@ -376,6 +448,99 @@
 						}
 					}
 				})
+			},
+			getExpressPay(id) {
+				// 代取支付
+				getExpressPay({
+					order_id: id
+				}).then((ret) => {
+					if (ret.code === 1) {
+						uni.requestPayment({
+							provider: "wxpay", //支付类型-固定值
+							timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
+							nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
+							package: ret.data.wx_pay.package, // 固定值
+							signType: ret.data.wx_pay.signType, //固定值
+							paySign: ret.data.wx_pay.paySign, //签名
+							success: (ren) => {
+								tools.success("支付成功");
+								this.isAJAX = false;
+								this.page = 1;
+								this.list = [];
+								this.expressOrderList()
+							},
+							fail: (err) => {
+								this.isAJAX = false;
+								tools.error("支付失败");
+							},
+						});
+					} else {
+						this.isAJAX = false;
+						tools.error("支付失败");
+					}
+				})
+			},
+			groupPay(id) {
+				// 团购支付
+				groupPay({
+					order_id: id
+				}).then((ret) => {
+					if (ret.code === 1) {
+						uni.requestPayment({
+							provider: "wxpay", //支付类型-固定值
+							timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
+							nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
+							package: ret.data.wx_pay.package, // 固定值
+							signType: ret.data.wx_pay.signType, //固定值
+							paySign: ret.data.wx_pay.paySign, //签名
+							success: (ren) => {
+								tools.success("支付成功");
+								this.isAJAX = false;
+								this.page = 1;
+								this.list = [];
+								this.groupOrderList()
+							},
+							fail: (err) => {
+								this.isAJAX = false;
+								tools.error("支付失败");
+							},
+						});
+					} else {
+						this.isAJAX = false;
+						tools.error("支付失败");
+					}
+				})
+			},
+			ticketPay(id) {
+				// 票务支付
+				groupPay({
+					order_id: id
+				}).then((ret) => {
+					if (ret.code === 1) {
+						uni.requestPayment({
+							provider: "wxpay", //支付类型-固定值
+							timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
+							nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
+							package: ret.data.wx_pay.package, // 固定值
+							signType: ret.data.wx_pay.signType, //固定值
+							paySign: ret.data.wx_pay.paySign, //签名
+							success: (ren) => {
+								tools.success("支付成功");
+								this.isAJAX = false;
+								this.page = 1;
+								this.list = [];
+								this.ticketOrderList()
+							},
+							fail: (err) => {
+								this.isAJAX = false;
+								tools.error("支付失败");
+							},
+						});
+					} else {
+						this.isAJAX = false;
+						tools.error("支付失败");
+					}
+				})
 			}
 		},
 	}

BIN
static/img/order/bg.png


BIN
static/img/order/bottom.png


BIN
static/img/order/fz.png


BIN
static/img/order/lxkf.png


BIN
static/img/order/qxdd.png


BIN
static/img/order/qzf.png


BIN
static/img/order/top.png


BIN
static/img/order/xgdd.png


BIN
static/img/order/yhq.png


BIN
static/img/order/zlyd.png


Some files were not shown because too many files changed in this diff