py 2 ani în urmă
părinte
comite
3c756624e6

+ 15 - 16
pages-buy/dry-clean.vue

@@ -8,7 +8,8 @@
 				<view class="display-flex mb-16">
 					<view class="w410 fs-40 fw-600 text-overflow-ellipsis-one">{{siteData.name?siteData.name:'请选择站点'}}
 					</view>
-					<view class="fs-28 fw-400 fc-41ABF5 text-align-right" @click="selectsShop()">【{{siteData.name?'切换':'选择'}}站点】</view>
+					<view class="fs-28 fw-400 fc-41ABF5 text-align-right" @click="selectsShop()">
+						【{{siteData.name?'切换':'选择'}}站点】</view>
 				</view>
 				<view class="display-flex">
 					<view v-if="siteData.city_name||siteData.address" class="w410 fs-26 fw-400 fc-9">
@@ -29,8 +30,8 @@
 		<view class="box-border-box p-24" @click="openText()">
 			<view class="sy-box flex-justify-space box-border-box p-16">
 				<view class="align-items-center">
-					<uni-icons type="help" size="20" color="#666"></uni-icons>
-					<view class="fc-6 fs-28 ml-10">使用须知</view>
+					<uni-icons type="help" size="20" color="#FB3D03"></uni-icons>
+					<view class="fc-6 fs-28 ml-10 fc-FB3D03">使用须知</view>
 				</view>
 				<image src="@/static/img/toRight.png" mode=""></image>
 			</view>
@@ -51,7 +52,10 @@
 				<view class="">
 					<view class="">
 						<span class="fw-600 fs-24 fc-f">¥</span>
-						<span class="fw-600 fs-44 fc-f">{{cardData.total_price||'0'}}</span>
+						<span class="fw-600 fs-44 fc-f">{{(Number(cardData.total_price) + Number(siteData.delivery_money?siteData.delivery_money:'')).toFixed(2)||'0'}}</span>
+					</view>
+					<view class="fc-f">
+						配送费: {{siteData.delivery_money?siteData.delivery_money:'0.00'}}
 					</view>
 				</view>
 				<view class="shop-buttom-money-2 text-align-center fc-f fs-32 fw-600" @click="createOrder()">去结算</view>
@@ -108,7 +112,10 @@
 						<view class="">
 							<view class="">
 								<span class="fw-600 fs-24 fc-f">¥</span>
-								<span class="fw-600 fs-44 fc-f">{{cardData.total_price||'0'}}</span>
+								<span class="fw-600 fs-44 fc-f">{{(Number(cardData.total_price) + Number(siteData.delivery_money?siteData.delivery_money:'')).toFixed(2) ||'0'}}</span>
+							</view>
+							<view class="fc-f">
+								配送费: {{siteData.delivery_money?siteData.delivery_money:'0.00'}}
 							</view>
 						</view>
 						<view class="shop-buttom-money-2 text-align-center fs-32 fc-f fw-600">去结算</view>
@@ -165,7 +172,7 @@
 					total_num: 0,
 					total_price: 0,
 				},
-
+				total_price: '',
 				isAJAX: false,
 			}
 		},
@@ -197,9 +204,7 @@
 				} else {
 					tools.error('暂未选择商品')
 				}
-
 			},
-
 			relCardBuy() {
 				// 重置购物车
 				this.getCardList();
@@ -215,7 +220,6 @@
 					}
 				})
 			},
-
 			getText() {
 				getCommonText().then((res) => {
 					if (res.code === 1) {
@@ -223,7 +227,6 @@
 					}
 				})
 			},
-
 			selectsShop() {
 				uni.navigateTo({
 					url: '/pages-buy/dry-mod/select-shop?id=' + this.siteData.id
@@ -235,11 +238,9 @@
 			closeMsg() {
 				this.$refs.popupText.close()
 			},
-
 			openBuyCrad() {
 				this.$refs.popupBuy.open()
 			},
-
 			addred(type, info) {
 				if (this.isAJAX) {
 					return
@@ -265,7 +266,6 @@
 							tools.error(res.msg)
 						}
 					})
-
 				} else if (type === 2) {
 					// 加
 					let school_id = uni.getStorageSync('school_id');
@@ -285,10 +285,8 @@
 							tools.error(res.msg)
 						}
 					})
-
 				}
 			},
-
 			createOrder() {
 				if (this.cardData.goods_list.length == 0) {
 					return tools.error('请选择商品')
@@ -298,7 +296,8 @@
 				}
 				console.log(this.siteData, '$$$$$$$$$$$');
 				uni.navigateTo({
-					url: '/pages-buy/save-dry?id=' + this.siteData.id + '&siteData_name=' + this.siteData.name + '&siteData_logo=' + this.siteData.logo 
+					url: '/pages-buy/save-dry?id=' + this.siteData.id + '&siteData_name=' + this.siteData.name +
+						'&delivery_money=' + this.siteData.delivery_money + '&siteData_logo=' + this.siteData.logo
 				})
 			},
 		},

+ 12 - 10
pages-buy/group-det.vue

@@ -13,7 +13,7 @@
 		</view>
 		
 		<view class="scroll-view-css">
-			<swiper class="swiper " circular :autoplay="true" :interval="3000" :duration="500" :current='BanenerCurrent' @change="onSwiperChange">
+			<swiper class="swiper " circular :autoplay="true" :interval="3000" :duration="500" @change="onSwiperChange">
 				<swiper-item v-for="(item,i) in obj.image" :key="i">
 					<image class="swiper-item" :src="item" mode="aspectFill" @click="lookImg(obj.image,i)"></image>
 					<view class="swiper-num fc-f">{{BanenerCurrent}}/{{obj.image.length}}</view>
@@ -23,14 +23,13 @@
 			<view class="box-border-box p-24 card-f">
 				<view class="card-top">
 					<image src="@/static/img/buy/tg-det-bg.png" mode="scaleToFill"></image>
-					
 					<view class="card-money">
 						<view class="mb-4">
 							<span class="fs-28 fc-f fw-600">¥</span><span class="fs-48 fc-f fw-600">{{obj.price||''}}</span>
 						</view>
 						<view class="fs-24 fw-400 fc-f text-line-through">原价{{obj.line_price||''}}</view>
 					</view>
-					
+
 					<view class="info-1-time">
 						<view class="time-title">倒计时</view>
 						<view class="time-day" v-if="showTime">{{time.day}}<text>天</text></view>
@@ -131,7 +130,7 @@
 				tools.leftClick()
 			},
 			onSwiperChange(e){
-				this.BanenerCurrent = e.detail.current;
+				this.BanenerCurrent = (e.detail.current + 1);
 			},
 			setWidth(total,num){
 				let w  = 0
@@ -249,18 +248,19 @@
 		.pwxq{
 			width: 146rpx;
 			height: 46rpx;
-			margin: 38rpx auto 24rpx auto;
+			margin: 20rpx auto 24rpx;
 		}
 		
 		.card-f{
 			width: 100%;
 			position: relative;
-			height: 386rpx;
+			// height: 386rpx;
 			
 			.card-top{
 				width: 100%;
 				height: 148rpx;
 				position: relative;
+				z-index: 2;
 				image{
 					position: absolute;
 					top: 0;
@@ -282,10 +282,12 @@
 				max-height: 234rpx;
 				border-radius: 20rpx;
 				background-color: #fff;
-				position: absolute;
-				top: 145rpx;
-				left: 24rpx;
-				z-index: 2;
+				// position: absolute;
+				// top: 145rpx;
+				// left: 24rpx;
+				margin: -24rpx 0 0 0;
+				position: relative;
+				z-index: 5;
 			}
 		}
 		.jd-f{

+ 90 - 70
pages-buy/group.vue

@@ -1,60 +1,64 @@
 <template>
-	<view class="group-box iPhone-bottom box-border-box">
+	<view class="group-box iPhone-bottom box-border-box flex-common-css">
 		<Nav title='团购专区'></Nav>
-		
-		<image class="head-img" src="@/static/img/buy/group-bg.png" mode="scaleToFill"></image>
-		
-		<view class="box-border-box content-b">
-			<view class="box-card box-border-box mb-20" v-for="(item,i) in list" :key="i" @click="todet(item)">
-				<image class="goods-img mb-16" :src="item.cover_img" mode="aspectFill"></image>
-				<view class="text-overflow-ellipsis fs-32 fw-600 mb-20 w-100100">
-					{{item.title}}
-				</view>
-				<view class="mb-40 flex-justify-space align-items-center">
-					<view class="jd-f">
-						<view class="jd-1"></view>
-						<view class="jd-2" :style="{width:setWidth(item.number,item.sales)+'rpx'}"></view>
-					</view>
-					<view class="">
-						<span class="fs-24 fc-9">已团</span>
-						<span class="fs-24 ">{{item.sales}}件</span>
-						<span class="fs-24 fc-9">/剩</span>
-						<span class="fs-24 ">{{item.number - item.sales}}</span>
+		<scroll-view :scroll-y="true" class="scroll-view-css">
+			<image class="head-img" src="@/static/img/buy/group-bg.png" mode="scaleToFill"></image>
+			<view class="box-border-box content-b">
+				<view class="box-card box-border-box mb-20" v-for="(item,i) in list" :key="i" @click="todet(item)">
+					<image class="goods-img mb-16" :src="item.cover_img" mode="aspectFill"></image>
+					<view class="text-overflow-ellipsis fs-32 fw-600 mb-20 w-100100">
+						{{item.title}}
 					</view>
-				</view>
-				
-				<view class="info-box display-flex">
-					<view class="flex-1">
-						<span class="fs-28 fc-FB3D03 fw-400">团购价¥</span>
-						<span class="fs-40 fc-FB3D03 fw-600">{{item.price}}</span>
+					<view class="mb-40 flex-justify-space align-items-center">
+						<view class="jd-f">
+							<view class="jd-1"></view>
+							<view class="jd-2" :style="{width:setWidth(item.number,item.sales)+'rpx'}"></view>
+						</view>
+						<view class="">
+							<span class="fs-24 fc-9">已团</span>
+							<span class="fs-24 ">{{item.sales}}件</span>
+							<span class="fs-24 fc-9">/剩</span>
+							<span class="fs-24 ">{{item.number - item.sales}}</span>
+						</view>
 					</view>
-					<view class="info-box-qiang">
-						<image class="qiang-img" src="@/static/img/buy/qiang.png" mode="scaleToFill"></image>
-						<view class="jiang-box fc-65420c fs-24 fw-600">直降</view>
-						<view class="jiang-box-1 fs-24 fc-65420c fw-600">¥{{item.line_price - item.price}}</view>
-						<image class="jiang-img" src="@/static/img/buy/x-jt.png" mode="scaleToFill"></image>
+
+					<view class="info-box display-flex">
+						<view class="flex-1">
+							<span class="fs-28 fc-FB3D03 fw-400">团购价¥</span>
+							<span class="fs-40 fc-FB3D03 fw-600">{{item.price}}</span>
+						</view>
+						<view class="info-box-qiang">
+							<image class="qiang-img" src="@/static/img/buy/qiang.png" mode="scaleToFill"></image>
+							<view class="jiang-box fc-65420c fs-24 fw-600">直降</view>
+							<view class="jiang-box-1 fs-24 fc-65420c fw-600">¥{{item.line_price - item.price}}</view>
+							<image class="jiang-img" src="@/static/img/buy/x-jt.png" mode="scaleToFill"></image>
+						</view>
 					</view>
 				</view>
 			</view>
-		</view>
+		</scroll-view>
 	</view>
 </template>
 
 <script>
-	import {groupList} from '@/api/groupOrder.js';
+	import {
+		groupList
+	} from '@/api/groupOrder.js';
 	import tools from "@/service/tools";
 	import EnBlank from "@/components/en-utils/en-blank/en-blank";
 	export default {
-		components:{EnBlank},
-		data(){
-			return{
-				page:1,
-				total:0,
-				list:[],
+		components: {
+			EnBlank
+		},
+		data() {
+			return {
+				page: 1,
+				total: 0,
+				list: [],
 			}
 		},
 		onReachBottom() {
-			if(this.list.length < this.total){
+			if (this.list.length < this.total) {
 				this.page += 1;
 				this.getList();
 			}
@@ -64,27 +68,31 @@
 			this.list = [];
 			this.getList();
 		},
-		methods:{
-			getList(){
+		mounted() {},
+		methods: {
+			getList() {
 				let school_id = uni.getStorageSync('school_id');
-				groupList({school_id:school_id,page:this.page}).then((res)=>{
-					if(res.code === 1){
-						this.list = [...this.list,...res.data.items];
+				groupList({
+					school_id: school_id,
+					page: this.page
+				}).then((res) => {
+					if (res.code === 1) {
+						this.list = [...this.list, ...res.data.items];
 						this.total = res.data.total;
 					}
 				})
 			},
-			
-			setWidth(total,num){
-				let w  = 0
+
+			setWidth(total, num) {
+				let w = 0
 				let tH = 434;
-				w = (tH/total * num).toFixed(0)
+				w = (tH / total * num).toFixed(0)
 				console.log(w);
 				return w
 			},
-			todet(item){
+			todet(item) {
 				uni.navigateTo({
-					url:'/pages-buy/group-det?id=' + item.id
+					url: '/pages-buy/group-det?id=' + item.id
 				})
 			},
 		},
@@ -92,14 +100,16 @@
 </script>
 
 <style scoped lang="scss">
-	.content-b{
+	.content-b {
 		padding: 0 24rpx 24rpx;
 	}
-	.jd-f{
+
+	.jd-f {
 		position: relative;
 		width: 434rpx;
 		height: 18rpx;
-		.jd-1{
+
+		.jd-1 {
 			position: absolute;
 			top: 0;
 			left: 0;
@@ -109,40 +119,45 @@
 			border-radius: 200rpx 200rpx 200rpx 200rpx;
 			z-index: 10;
 		}
-		.jd-2{
+
+		.jd-2 {
 			position: absolute;
 			top: 0;
 			left: 0;
 			height: 18rpx;
-			background: linear-gradient( 90deg, #FF545D 0%, #FF4B84 100%);
+			background: linear-gradient(90deg, #FF545D 0%, #FF4B84 100%);
 			// background-color: #FF2652;
 			border-radius: 200rpx 200rpx 200rpx 200rpx;
 			z-index: 12;
 		}
 	}
-	
-	
-	.group-box{
+
+
+	.group-box {
 		background-color: #EF2864;
-		min-height: 100vh;
-		.head-img{
+		height: 100vh;
+
+		.head-img {
 			width: 100%;
 			height: 422rpx;
 		}
-		.box-card{
+
+		.box-card {
 			width: 100%;
 			min-height: 100rpx;
 			background: #FFFFFF;
 			padding: 16rpx;
-			box-shadow: 0rpx 0rpx 12rpx 0rpx rgba(51,51,51,0.1);
+			box-shadow: 0rpx 0rpx 12rpx 0rpx rgba(51, 51, 51, 0.1);
 			border-radius: 20rpx;
-			.goods-img{
+
+			.goods-img {
 				width: 100%;
 				height: 452rpx;
 				border-radius: 20rpx;
 				// margin-top: 24rpx;
 			}
-			.info-box{
+
+			.info-box {
 				width: 100%;
 				height: 72rpx;
 				background: #FEE0E0;
@@ -150,30 +165,35 @@
 				line-height: 72rpx;
 				padding-left: 14rpx;
 				box-sizing: border-box;
-				.info-box-qiang{
+
+				.info-box-qiang {
 					width: 148rpx;
 					height: 72rpx;
 					background: #F63E36;
 					border-radius: 0rpx 20rpx 20rpx 0rpx;
 					position: relative;
-					.qiang-img{
+
+					.qiang-img {
 						width: 60rpx;
 						height: 60rpx;
 						margin: 6rpx 22rpx 0 auto;
 					}
-					.jiang-box{
+
+					.jiang-box {
 						position: absolute;
 						top: -30rpx;
 						left: -22rpx;
 						z-index: 20;
 					}
-					.jiang-box-1{
+
+					.jiang-box-1 {
 						position: absolute;
 						top: 0rpx;
 						left: -30rpx;
 						z-index: 20;
 					}
-					.jiang-img{
+
+					.jiang-img {
 						position: absolute;
 						width: 120rpx;
 						height: 90rpx;

+ 11 - 3
pages-buy/save-dry.vue

@@ -52,10 +52,14 @@
 						</view> -->
 					</view>
 				</view>
+				<view class="flex-justify-space mb-24">
+					<view class="fs-28 fw-400">配送费</view>
+					<view class="fs-32 fw-600">¥{{delivery_money?delivery_money:'0.00'}}</view>
+				</view>
 				<view class="box-buttom text-align-right">
 					<span class="fs-28 fc-9 fw-400">共{{cardData.total_num||'0'}}件,</span>
 					<span class="fs-28 fc-0 fw-400">合计¥</span>
-					<span class="fs-44 fc-0 fw-b">{{cardData.total_price||'0'}}</span>
+					<span class="fs-44 fc-0 fw-b">{{total_price||'0'}}</span>
 				</view>
 			</view>
 
@@ -77,7 +81,7 @@
 			<view class="flex-justify-space">
 				<view class="align-items-flex-end box-1">
 					<span class="fs-28 fc-f fw-600">¥</span>
-					<span class="fs-44 fc-f fw-600">{{cardData.total_price||'0'}}</span>
+					<span class="fs-44 fc-f fw-600">{{total_price||'0'}}</span>
 				</view>
 				<view class="text-align-center box-2 fs-32 fc-f fw-600" @click="toSave()">立即支付</view>
 			</view>
@@ -125,7 +129,9 @@
 					total_price: 0,
 				},
 				siteData_logo: '',
-				siteData_name: ''
+				siteData_name: '',
+				delivery_money: '',
+				total_price: ''
 			}
 		},
 		onLoad(e) {
@@ -133,6 +139,7 @@
 			this.fromData.site_id = e.id;
 			this.siteData_logo = e.siteData_logo
 			this.siteData_name = e.siteData_name
+			this.delivery_money = e.delivery_money
 			this.getCardList();
 		},
 		methods: {
@@ -144,6 +151,7 @@
 				}).then((res) => {
 					if (res.code === 1) {
 						this.cardData = res.data;
+						this.total_price = (Number(res.data.total_price) + Number(this.delivery_money)).toFixed(2)
 					}
 				})
 			},

+ 5 - 5
pages-buy/save-order.vue

@@ -161,34 +161,34 @@
 									signType: ret.data.wx_pay.signType, //固定值
 									paySign: ret.data.wx_pay.paySign, //签名
 									success: (ren) => {
-										tools.success("支付成功");
 										this.isAJAX = false;
+										tools.success("支付成功");
+										uni.setStorageSync('orderPayType', 3)
 										setTimeout(() => {
 											uni.switchTab({
 												url: "/pages/order/index"
 											})
-											uni.setStorageSync('orderPayType', 3)
-										}, 1000)
+										}, 1000) 
 									},
 									fail: (err) => {
 										this.isAJAX = false;
 										tools.error("支付失败");
+										uni.setStorageSync('orderPayType', 3)
 										setTimeout(() => {
 											uni.switchTab({
 												url: "/pages/order/index"
 											})
-											uni.setStorageSync('orderPayType', 3)
 										}, 1000)
 									},
 								});
 							} else {
 								this.isAJAX = false;
 								tools.error("支付失败");
+								uni.setStorageSync('orderPayType', 3)
 								setTimeout(() => {
 									uni.switchTab({
 										url: "/pages/order/index"
 									})
-									uni.setStorageSync('orderPayType', 3)
 								}, 1000)
 							}
 						})

+ 2 - 2
pages-buy/ticket-det.vue

@@ -13,7 +13,7 @@
 		</view>
 		
 		<view class="scroll-view-css">
-			<swiper class="swiper " circular :autoplay="true" :interval="3000" :duration="500" :current='BanenerCurrent' @change="onSwiperChange">
+			<swiper class="swiper " circular :autoplay="true" :interval="3000" :duration="500" @change="onSwiperChange">
 				<swiper-item v-for="(item,i) in obj.image" :key="i">
 					<image class="swiper-item" :src="item" mode="aspectFill" @click="lookImg(obj.image,i)"></image>
 					<view class="swiper-num fc-f">{{BanenerCurrent}}/{{obj.image.length}}</view>
@@ -83,7 +83,7 @@
 				tools.leftClick()
 			},
 			onSwiperChange(e){
-				this.BanenerCurrent = e.detail.current;
+				this.BanenerCurrent = (e.detail.current + 1);
 			},
 			toSave(){
 				if(!this.isTimeEnd){

+ 6 - 5
pages-buy/ticket.vue

@@ -88,14 +88,13 @@
 				search: '',
 			}
 		},
-		onShow() {
+		onShow() {},
+		mounted() {
+			this.getTicket();
 			this.page = 1;
 			this.list = [];
 			this.getList();
 		},
-		mounted() {
-			this.getTicket();
-		},
 		methods: {
 			getTicket() {
 				let operate_id = uni.getStorageSync('operate_id');
@@ -158,10 +157,11 @@
 	}
 </style>
 <style scoped lang="scss">
-	.pw-imgage{
+	.pw-imgage {
 		width: 85rpx;
 		height: 45rpx;
 	}
+
 	.wh32 {
 		position: absolute;
 		left: 24rpx;
@@ -169,6 +169,7 @@
 		width: 32rpx;
 		height: 32rpx;
 	}
+
 	.w-470 {
 		width: 470rpx;
 	}

+ 7 - 4
pages-my/my-publish.vue

@@ -353,10 +353,13 @@
 			},
 			// 打开评论
 			openMsg(item) {
-				this.remarkData.news_id = item.news_id;
-				this.msgData.news_id = item.news_id;
-				this.remarkData.remark_id = 0;
-				this.getMsg();
+				uni.navigateTo({
+					url: "/pages-school/circle-info?news_id=" + item.news_id
+				})
+				// this.remarkData.news_id = item.news_id;
+				// this.msgData.news_id = item.news_id;
+				// this.remarkData.remark_id = 0;
+				// this.getMsg();
 			},
 			// 获取回复列表
 			openReply(type, item) {

+ 2 - 1
pages-my/my-ticket.vue

@@ -92,7 +92,8 @@
 				total: 0,
 			};
 		},
-		onShow() {
+		onShow() {},
+		mounted() {
 			this.page = 1;
 			this.itemData = [];
 			this.getList();

+ 26 - 20
pages-my/notice/list.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="notice-list iPhone-bottom flex-common-css box-border-box">
 		<Nav title='搜索' bgckgroundBox='#fff'></Nav>
-		
+
 		<scroll-view scroll-y="true" class="scroll-view-css box-border-box p-24" @scrolltolower="scrolltolower">
 			<view class="card-box box-border-box p-24" v-for="(item,i) in list" :key="i" @click="toDet(item)">
 				<view class="text-overflow-ellipsis fs-32 fw-600 mb-8">{{item.title}}</view>
@@ -16,38 +16,43 @@
 </template>
 
 <script>
-	import {noticeList} from '@/api/notice.js';
+	import {
+		noticeList
+	} from '@/api/notice.js';
 	export default {
-		data(){
-			return{
-				list:[],
-				total:0,
-				page:1,
+		data() {
+			return {
+				list: [],
+				total: 0,
+				page: 1,
 			}
 		},
-		onShow() {
+		onShow() {},
+		mounted() {
 			this.page = 1;
 			this.list = [];
 			this.getList();
 		},
-		methods:{
-			getList(){
-				noticeList({page:this.page}).then((res)=>{
-					if(res.code === 1){
-						this.list = [...this.list,...res.data.items];
+		methods: {
+			getList() {
+				noticeList({
+					page: this.page
+				}).then((res) => {
+					if (res.code === 1) {
+						this.list = [...this.list, ...res.data.items];
 						this.total = res.data.total;
 					}
 				})
 			},
-			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-my/notice/info?id=' +item.id
+					url: '/pages-my/notice/info?id=' + item.id
 				})
 			},
 		},
@@ -55,14 +60,15 @@
 </script>
 
 <style scoped lang="scss">
-	.notice-list{
-		.card-box{
+	.notice-list {
+		.card-box {
 			width: 100%;
 			min-height: 224rpx;
 			background: #FFFFFF;
 			border-radius: 16rpx;
 		}
-		image{
+
+		image {
 			width: 32rpx;
 			height: 32rpx;
 		}

+ 47 - 5
pages-order/express-info.vue

@@ -65,7 +65,7 @@
 		<view class="p-24-24-0 box-border-box">
 			<view class="p-24 box-border-box bgc-f b-rad-20">
 				<view class="fs-28 fc-3 fw-600 mb-16">
-				取件码
+					取件码
 				</view>
 				<view class="b-rad-12 p-24 box-border-box bgc-F3F4F6 align-items-center flex-wrap-wrap">
 					<view class="item-code text-align-center" v-for="(item,index) in infoData.pickup_code">
@@ -168,7 +168,7 @@
 					</view>
 				</view> -->
 				<view class="display-flex flex-justify-space pb-20 b-b-F9F9F9 mb-26"
-					v-show="infoData.order_status == 3">
+					v-show="infoData.order_status == 3 || infoData.order_status == 4">
 					<view class="fs-28 fc-9">
 						骑手信息
 					</view>
@@ -184,7 +184,8 @@
 						<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>
+						<image class="icon-fz" src="@/static/img/order/fz.png" mode="" @click="copy(infoData.order_sn)">
+						</image>
 					</view>
 				</view>
 				<view class="display-flex flex-justify-space mb-26">
@@ -203,6 +204,14 @@
 						{{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 fc-41ABF5" @click="lookFinishImage(infoData.finish_image)">
+						点击查看
+					</view>
+				</view>
 				<view class="display-flex flex-justify-space mb-26">
 					<view class="fs-28 fc-9">
 						备注
@@ -258,7 +267,34 @@
 			}
 		},
 		mounted() {},
+		onUnload() {
+			const takeOutData = {}
+			expressOrderInfo({
+				order_id: this.infoData.id
+			}).then((res) => {
+				if (res.code == 1) {
+					takeOutData.id = this.infoData.id
+					takeOutData.order_status = res.data.order_status
+					takeOutData.order_status_str = res.data.order_status_str
+					uni.$emit('takeOutData', takeOutData)
+				}
+			})
+		},
 		methods: {
+			lookFinishImage(img) {
+				tools.lookBigImg(1,img)
+			},
+			copy(value) {
+				uni.setClipboardData({
+					data: value,
+					success() {
+						tools.success('复制成功')
+					},
+					fail() {
+						tools.error("复制失败")
+					}
+				})
+			},
 			goToUrl() {
 				// 再来一单
 				uni.navigateTo({
@@ -339,7 +375,7 @@
 							}).then((res) => {
 								if (res.code == 1) {
 									tools.success(res.msg)
-									setTimeout(() =>{
+									setTimeout(() => {
 										this.expressOrderInfo(this.infoData.id)
 									}, 1500)
 									this.isAJAX = false;
@@ -406,10 +442,16 @@
 </script>
 
 <style lang="scss" scoped>
-	.item-code{
+	.finish_image {
+		width: 34rpx;
+		height: 34rpx;
+	}
+
+	.item-code {
 		min-width: 30%;
 		padding: 8rpx
 	}
+
 	.bg-img {
 		position: fixed;
 		left: 0;

+ 25 - 1
pages-order/group-info.vue

@@ -149,7 +149,7 @@
 						<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>
+						<image class="icon-fz" src="@/static/img/order/fz.png" mode="" @click="copy(infoData.order_sn)"></image>
 					</view>
 				</view>
 				<view class="display-flex flex-justify-space mb-26">
@@ -214,7 +214,31 @@
 			}
 		},
 		mounted() {},
+		onUnload() {
+			const takeOutData = {}
+			groupOrderInfo({
+				order_id: this.infoData.id
+			}).then((res) => {
+				if (res.code == 1) {
+					takeOutData.id = this.infoData.id
+					takeOutData.order_status = res.data.order_status
+					takeOutData.order_status_str = res.data.order_status_str
+					uni.$emit('takeOutData', takeOutData)
+				}
+			})
+		},
 		methods: {
+			copy(value) {
+				uni.setClipboardData({
+					data: value,
+					success() {
+						tools.success('复制成功')
+					},
+					fail() {
+						tools.error("复制失败")
+					}
+				})
+			},
 			goToUrl() {
 				uni.navigateTo({
 					url: '/pages-buy/group'

+ 25 - 1
pages-order/laundry-info.vue

@@ -111,7 +111,7 @@
 						<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>
+						<image class="icon-fz" src="@/static/img/order/fz.png" mode="" @click="copy(infoData.order_sn)"></image>
 					</view>
 				</view>
 				<view class="display-flex flex-justify-space mb-26">
@@ -177,7 +177,31 @@
 			}
 		},
 		mounted() {},
+		onUnload() {
+			const takeOutData = {}
+			laundryOrderInfo({
+				order_id: this.infoData.id
+			}).then((res) => {
+				if (res.code == 1) {
+					takeOutData.id = this.infoData.id
+					takeOutData.order_status = res.data.order_status
+					takeOutData.order_status_str = res.data.order_status_str
+					uni.$emit('takeOutData', takeOutData)
+				}
+			})
+		},
 		methods: {
+			copy(value) {
+				uni.setClipboardData({
+					data: value,
+					success() {
+						tools.success('复制成功')
+					},
+					fail() {
+						tools.error("复制失败")
+					}
+				})
+			},
 			goToUrl() {
 				uni.navigateTo({
 					url: '/pages-buy/dry-clean'

+ 48 - 5
pages-order/takeout-info.vue

@@ -20,7 +20,8 @@
 				<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-if="infoData.order_status == 8 && infoData.refund_status == 1">
+				<view class="p-b-20 mb-24 b-b-F9F9F9 fs-32 fc-3"
+					v-if="infoData.order_status == 8 && infoData.refund_status == 1">
 					申请成功,请及时联系商家退款,避免已出餐
 				</view>
 				<view class="p-b-20 mb-24 b-b-F9F9F9 fs-32 fc-3"
@@ -56,6 +57,12 @@
 							联系客服
 						</view>
 					</view>
+					<view class="w-33 flex-direction align-items-center" @click="contactShop(infoData.shop_phone)">
+						<image class="mb-4 icon" src="@/static/img/order/lxsj.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 || infoData.order_status == 4" @click="cancelOrder">
 						<image class="mb-4 icon" src="@/static/img/order/qxdd.png" mode=""></image>
@@ -176,7 +183,8 @@
 						<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>
+						<image class="icon-fz" src="@/static/img/order/fz.png" mode="" @click="copy(infoData.order_sn)">
+						</image>
 					</view>
 				</view>
 				<view class="display-flex flex-justify-space mb-26">
@@ -247,7 +255,42 @@
 			}
 		},
 		mounted() {},
+		onUnload() {
+			const takeOutData = {}
+			orderInfo({
+				order_id: this.infoData.id
+			}).then((res) => {
+				if (res.code == 1) {
+					takeOutData.id = this.infoData.id
+					takeOutData.order_status = res.data.order_status
+					takeOutData.order_status_str = res.data.order_status_str
+					uni.$emit('takeOutData', takeOutData)
+				}
+			})
+		},
 		methods: {
+			contactShop(phone) {
+				uni.makePhoneCall({
+					phoneNumber: phone, // 电话号码
+					success: function() {
+						console.log('拨打电话成功');
+					},
+					fail: function() {
+						console.log('拨打电话失败');
+					}
+				});
+			},
+			copy(value) {
+				uni.setClipboardData({
+					data: value,
+					success() {
+						tools.success('复制成功')
+					},
+					fail() {
+						tools.error("复制失败")
+					}
+				})
+			},
 			goToUrl() {
 				// 再来一单
 				// uni.navigateTo({
@@ -330,10 +373,10 @@
 								order_id: this.infoData.id
 							}).then((res) => {
 								if (res.code == 1) {
-									tools.success(res.msg)
-									setTimeout(() =>{
+									tools.success(res.msg, 3000)
+									setTimeout(() => {
 										this.orderInfo(this.infoData.id)
-									}, 1500)
+									}, 3000)
 									this.isAJAX = false;
 								} else {
 									tools.error(res.msg)

+ 25 - 1
pages-order/ticket-info.vue

@@ -146,7 +146,7 @@
 						<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>
+						<image class="icon-fz" src="@/static/img/order/fz.png" mode="" @click="copy(infoData.order_sn)"></image>
 					</view>
 				</view>
 				<view class="display-flex flex-justify-space mb-26">
@@ -210,7 +210,31 @@
 			}
 		},
 		mounted() {},
+		onUnload() {
+			const takeOutData = {}
+			ticketOrderInfo({
+				order_id: this.infoData.id
+			}).then((res) => {
+				if (res.code == 1) {
+					takeOutData.id = this.infoData.id
+					takeOutData.order_status = res.data.order_status
+					takeOutData.order_status_str = res.data.order_status_str
+					uni.$emit('takeOutData', takeOutData)
+				}
+			})
+		},
 		methods: {
+			copy(value) {
+				uni.setClipboardData({
+					data: value,
+					success() {
+						tools.success('复制成功')
+					},
+					fail() {
+						tools.error("复制失败")
+					}
+				})
+			},
 			goToUrl() {
 				uni.navigateTo({
 					url: '/pages-buy/ticket'

+ 37 - 4
pages-school/circle-info.vue

@@ -45,7 +45,7 @@
 				</view>
 			</view>
 			<view class="fs-32 fc-3 fw-600 mb-16 plr-32 box-border-box">
-				评论<text class="fs-24 fc-9">({{list.length}})</text>
+				评论<text class="fs-24 fc-9">({{obj.remark}})</text>
 			</view>
 			<view v-if="list.length == 0" class="scroll-view-css">
 				<EnBlank :customSrc='true'>
@@ -57,7 +57,7 @@
 			<view v-else class="pop-box pop-msg box-border-box p-24">
 				<view class=" box-border-box plr-24">
 					<view class="list-box flex-justify-space" v-for="(item,i) in list" :key="i">
-						<image class="list-box-img" src="@/static/img/my/bg.png" mode="scaleToFill"></image>
+						<image class="list-box-img" :src="item.head_img" mode="scaleToFill"></image>
 						<view class="flex-1 p-b-20">
 							<view class=" flex-justify-space">
 								<view class=" b-b-F9F9F9 mr-20">
@@ -108,8 +108,8 @@
 												<view class="align-items-center mb-8">
 													<view class="fs-24 fw-400 fc-9 ">{{info.created_date}}</view>
 													<uni-icons type="trash" size="18" class="ml-10"
-														v-if="info.is_self == 1"
-														@click="delInfo(info, index, 2 ,i)" color="#BFBFBF"></uni-icons>
+														v-if="info.is_self == 1" @click="delInfo(info, index, 2 ,i)"
+														color="#BFBFBF"></uni-icons>
 												</view>
 											</view>
 											<view class="display-flex" @click.stop="handUp(2,info)">
@@ -249,6 +249,7 @@
 				msgI: 0,
 				KeyboardHeight: 0, // 键盘高度
 				// showKeyNum: 0, //键盘打开的次数
+				remark: ''
 			}
 		},
 		onLoad(e) {
@@ -261,6 +262,27 @@
 				this.KeyboardHeight = res.height
 			})
 		},
+		onUnload() {
+			const circleDataUp = {}
+			alumnInfo({
+				news_id: this.news_id
+			}).then((res) => {
+				if (res.code === 1) {
+					circleDataUp.news_id = res.data.news_id
+					circleDataUp.like = res.data.like
+					circleDataUp.remark = res.data.remark
+					circleDataUp.heat = res.data.heat
+					uni.$emit('circleDataUp',circleDataUp)
+				}
+			})
+			// const circleDataUp = {
+			// 	news_id: this.obj.news_id,
+			// 	like: this.obj.like,
+			// 	remark: list.length,
+			// 	heat: this.obj.heat
+			// }
+			console.log("监听页面卸载");
+		},
 		methods: {
 			// keyboardheightchange(e) {
 			// 	this.keyboardHeight = e.detail.height;
@@ -295,6 +317,13 @@
 				}).then((res) => {
 					if (res.code === 1) {
 						this.obj = res.data;
+					} else {
+						tools.error(res.msg)
+						setTimeout(() => {
+							uni.navigateBack({
+								delta: 1
+							})
+						}, 1500)
 					}
 				})
 			},
@@ -460,6 +489,9 @@
 							// this.list = [];
 							// this.page = 1;
 							// this.getList();
+							this.getInfo();
+							
+							// remark
 						}, 1500)
 					} else {
 						this.isAJAX = false;
@@ -489,6 +521,7 @@
 							// this.list = [];
 							// this.page = 1;
 							// this.getList();
+							this.getInfo();
 						}, 1500)
 					} else {
 						this.isAJAX = false;

+ 13 - 4
pages-school/school-circle.vue

@@ -322,8 +322,20 @@
 				alumni_str: '' // 校友圈提示
 			}
 		},
-		onShow() {},
+		onShow() {
+
+		},
 		mounted() {
+			uni.$on('circleDataUp', (data) => {
+				this.list.forEach((v, k) => {
+					if (v.news_id == data.news_id) {
+						v.like = data.like
+						v.remark = data.remark
+						v.heat = data.heat
+					}
+				})
+				this.$forceUpdate()
+			})
 			let circleSchoolId = uni.getStorageSync('circleSchoolId');
 			let schoolName = uni.getStorageSync('school_name');
 			let circleSchoolName = uni.getStorageSync('circleSchoolName');
@@ -631,14 +643,11 @@
 					})
 				}
 			},
-
 			toDet(item) {
 				uni.navigateTo({
 					url: "/pages-school/circle-info?news_id=" + item.news_id
 				})
 			},
-
-
 		},
 	}
 </script>

+ 75 - 45
pages-takeout/shop-mod/menu.vue

@@ -36,8 +36,14 @@
 									<image class="wh-44" src="@/static/img/takeout/add.png" @click="addred(2,i,k,info)"
 										mode=""></image>
 								</view>
-								<view v-else class="right-only-right text-align-center fw-600 fs-28 fc-f"
-									@click="addred(3,i,k,info)">选规格</view>
+								<view v-else class="right-only-right text-align-center" @click="addred(3,i,k,info)">
+									<view class="fw-600 fs-28 fc-f">
+										选规格
+									</view>
+									<view class="selectedNum" v-if="info.num>0">
+										{{info.num}}
+									</view>
+								</view>
 							</view>
 						</view>
 					</view>
@@ -165,6 +171,7 @@
 					spec_list: [],
 					spec_attr: [],
 				},
+				selectedNum: 1
 			}
 		},
 		watch: {
@@ -261,19 +268,25 @@
 					if (res.code === 1) {
 						this.cartData = res.data
 						this.$emit('setCartData', this.cartData)
-						if (isStart) this.setGoodsNum()
+						this.setGoodsNum()
 					}
 				})
 			},
 			setGoodsNum() {
 				if (this.cartData.goods_list.length > 0) {
+					let goodsIds = []
 					this.cartData.goods_list.forEach(item => {
 						this.categoryData.forEach(categoryItem => {
 							if (categoryItem.type === item.category_id) {
 								categoryItem.list.forEach(goodsItem => {
 									console.log(item.goods_id, goodsItem.goods_id)
 									if (item.goods_id === goodsItem.goods_id) {
-										goodsItem.num = item.goods_number * 1
+										if (goodsIds.indexOf(item.goods_id) < 0) {
+											goodsIds.push(item.goods_id)
+											goodsItem.num = item.goods_number * 1
+										} else {
+											goodsItem.num += item.goods_number * 1
+										}
 									}
 								})
 							}
@@ -356,7 +369,7 @@
 				} else if (type === 2) {
 					// 加
 					if (item.is_infinite === 1 || item.stock > item.num) {
-            // ++item.num;
+						// ++item.num;
 						this.setSub(item, type);
 					} else {
 						this.isAjax = false
@@ -368,30 +381,33 @@
 					this.getShopGoodsSpec(item)
 				} else {
 					this.$refs.popupGG.close();
-					this.isAjax = false
-					let cartKey = this.cartData.goods_list.findIndex(row => this.popData.goods_spec_id === row
-						.goods_spec_id)
-					console.log(cartKey)
-					let addType = this.popData.num > 0 ? 2 : 1
-					console.log('addType:' + addType)
-					if (addType === 2 && cartKey < 0) {
-						this.setShopIngAdd(this.popData.goods_id, this.popData.goodsItem.category_id, this.popData
-							.goods_spec_id, this.popData.num)
-					} else {
-						this.setShopIngNumber(this.popData.goods_id, this.popData.goodsItem.category_id, type, this.popData
-							.goods_spec_id, this.popData.num)
+					if (this.popData.goods_spec_id) {
+						let cartKey = this.cartData.goods_list.findIndex(row => this.popData.goods_spec_id === row
+							.goods_spec_id)
+						console.log(cartKey)
+						let addType = this.popData.num > 0 ? 2 : 1
+						console.log('addType:' + addType)
+						if (addType === 2 && cartKey < 0) {
+							this.setShopIngAdd(this.popData.goods_id, this.popData.goodsItem.category_id, this.popData
+								.goods_spec_id, this.popData.num)
+						} else {
+							this.setShopIngNumber(this.popData.goods_id, this.popData.goodsItem.category_id, type, this
+								.popData
+								.goods_spec_id, this.popData.num)
+						}
 					}
+					this.isAjax = false
 				}
 			},
 			setSub(item, type) {
 				let cartKey = this.cartData.goods_list.findIndex(row => row.goods_id === item.goods_id)
-				if (type === 2  && cartKey<0) {
-					this.setShopIngAdd(item.goods_id, item.category_id, '', 1,item)
+				if (type === 2 && cartKey < 0) {
+					this.setShopIngAdd(item.goods_id, item.category_id, '', 1, item)
 				} else {
-					this.setShopIngNumber(item.goods_id, item.category_id, type, '', 1,item)
+					this.setShopIngNumber(item.goods_id, item.category_id, type, '', 1, item)
 				}
 			},
-			setShopIngAdd(goodsId, categoryId, goodsSpecId, number,item) {
+			setShopIngAdd(goodsId, categoryId, goodsSpecId, number, item) {
 				setShopIngAdd({
 					'type': 1,
 					'goods_id': goodsId,
@@ -401,20 +417,20 @@
 					'number': number,
 				}).then(res => {
 					this.isAjax = false
-          if(res.code===1){
-            if(item){
-              ++item.num;
-            }
-            this.getShopIngList()
-          }else {
-            tools.error(res.msg)
-          }
+					if (res.code === 1) {
+						if (item) {
+							++item.num;
+						}
+						this.getShopIngList()
+					} else {
+						tools.error(res.msg)
+					}
 
 				}).catch(() => {
 					this.isAjax = false
 				})
 			},
-			setShopIngNumber(goodsId, categoryId, operation, goodsSpecId, number,item) {
+			setShopIngNumber(goodsId, categoryId, operation, goodsSpecId, number, item) {
 				setShopIngNumber({
 					'type': 1,
 					'goods_id': goodsId,
@@ -424,21 +440,21 @@
 					'number': number,
 					'operation': operation === 2 ? 1 : 2,
 				}).then(res => {
-          this.isAjax = false
-          if(res.code===1){
-            if(item){
-              if(operation===2){
-                ++item.num;
-              }else {
-                --item.num;
-              }
-
-            }
-
-            this.getShopIngList()
-          }else {
-            tools.error(res.msg)
-          }
+					this.isAjax = false
+					if (res.code === 1) {
+						if (item) {
+							if (operation === 2) {
+								++item.num;
+							} else {
+								--item.num;
+							}
+
+						}
+
+						this.getShopIngList()
+					} else {
+						tools.error(res.msg)
+					}
 
 				}).catch(() => {
 					this.isAjax = false
@@ -542,6 +558,20 @@
 						background: linear-gradient(117deg, #57CAFF 0%, #41ABF5 100%);
 						border-radius: 12rpx;
 						line-height: 44rpx;
+						position: relative;
+
+						.selectedNum {
+							position: absolute;
+							right: 2rpx;
+							top: -22rpx;
+							font-size: 24rpx;
+							color: #fff;
+							width: 32rpx;
+							height: 32rpx;
+							line-height: 32rpx;
+							background: #FB3D03;
+							border-radius: 50%;
+						}
 					}
 
 					.right-only-right-red {

+ 13 - 3
pages-takeout/shop.vue

@@ -300,8 +300,14 @@
 					'goods_spec_id': item.goods_spec_id,
 					'operation': type === 1 ? 1 : 2,
 				}).then(res => {
-					this.isAjax = false
-					this.getShopIngList()
+					if (res.code == 1) {
+						this.isAjax = false
+						this.getShopIngList()
+					} else {
+						tools.error(res.msg)
+						this.isAjax = false
+						this.getShopIngList()
+					}
 				}).catch(() => {
 					this.isAjax = false
 				})
@@ -400,7 +406,11 @@
 						this.shopsInfo = res.data
 					} else {
 						tools.error(res.msg)
-						tools.leftClick()
+						setTimeout(() => {
+							uni.navigateBack({
+								delta: 1
+							})
+						}, 1500)
 					}
 				})
 			},

+ 59 - 9
pages-takeout/takeout.vue

@@ -47,7 +47,12 @@
 							@change="onSwiperChange" :autoplay="true" :interval="3000" :duration="300">
 							<swiper-item v-for="(item,i) in topShopData" :key="i" @click="toShop(item)">
 								<view class="swiper-item display-flex">
-									<image class="left-img" :src="item.shop_logo" mode="scaleToFill"></image>
+									<view class="left-img-box">
+										<image class="left-img" :src="item.shop_logo" mode="aspectFill"></image>
+										<view class="status-box fc-f" v-if="item.status != 1">
+											休息中
+										</view>
+									</view>
 									<view class="right-box flex-1">
 										<view class="align-items-center mb-8">
 											<view class="right-box-title fs-32 fw-600 text-overflow-ellipsis-one">
@@ -82,7 +87,7 @@
 				</view>
 
 				<view class="box-border-box plr-24 nav-type-box-f" :class="isScroll?'nav-bg':''">
-					<view class="nav-type-box">
+					<scroll-view class="nav-type-box" scroll-x="true">
 						<view class="nav-type-list" @click="clickClass(0)">
 							<image src="@/static/img/takeout/all.png" mode=""></image>
 							<view :class="category_id == 0?'fc-41ABF5':''" class="fs-24 fw-400 text-align-center">全部
@@ -93,7 +98,7 @@
 							<view class="fs-24 fw-400" :class="category_id == item.id?'fc-41ABF5':''">{{item.name}}
 							</view>
 						</view>
-					</view>
+					</scroll-view>
 				</view>
 
 
@@ -104,8 +109,14 @@
 							<image class="black-custom-img" src="@/static/img/common/no-order.png" mode=""></image>
 						</template>
 					</EnBlank>
-					<view v-else class="goos-list-box box-border-box p-24 display-flex" v-for="(item,i) in listData" @click="toShop(item)">
-						<image class="left-img" :src="item.shop_logo" mode="scaleToFill"></image>
+					<view v-else class="goos-list-box box-border-box p-24 display-flex" v-for="(item,i) in listData"
+						@click="toShop(item)">
+						<view class="left-img-box">
+							<image class="left-img" :src="item.shop_logo" mode="aspectFill"></image>
+							<view class="status-box fc-f" v-if="item.status != 1">
+								休息中
+							</view>
+						</view>
 						<view class="flex-1">
 							<view class="align-items-center mb-8">
 								<view class="right-box-title fs-32 fw-600 text-overflow-ellipsis-one">
@@ -355,11 +366,29 @@
 					box-sizing: border-box;
 					padding: 16rpx;
 
+				.left-img-box {
+					width: 140rpx;
+					height: 140rpx;
+					margin-right: 14rpx;
+					position: relative;
+
 					.left-img {
 						width: 140rpx;
 						height: 140rpx;
-						border-radius: 14rpx
+						border-radius: 12rpx;
 					}
+					.status-box{
+						position: absolute;
+						bottom: 0;
+						left: 0;
+						width: 100%;
+						padding: 10rpx 0;
+						text-align: center;
+						background: rgba(0,0,0, 0.5);
+						font-size: 20rpx;
+						border-radius: 0 0 12rpx 12rpx;
+					}
+				}
 
 					.right-box {}
 				}
@@ -397,14 +426,17 @@
 			position: sticky;
 			top: 0;
 			left: 0;
+			z-index: 9999;
 
 			.nav-type-box {
 				width: 100%;
 				height: 120rpx;
 				display: flex;
-				overflow: scroll;
+				// overflow: scroll;
+				white-space: nowrap;
 
 				.nav-type-list {
+					display: inline-block;
 					height: 120rpx;
 					width: 96rpx !important;
 					text-align: center;
@@ -447,11 +479,29 @@
 
 		}
 
-		.left-img {
+		.left-img-box {
 			width: 100rpx;
 			height: 100rpx;
-			border-radius: 12rpx;
 			margin-right: 16rpx;
+			position: relative;
+
+			.left-img {
+				width: 100rpx;
+				height: 100rpx;
+				border-radius: 12rpx;
+			}
+
+			.status-box {
+				position: absolute;
+				bottom: 0;
+				left: 0;
+				width: 100%;
+				padding: 4rpx 0;
+				text-align: center;
+				background: rgba(0, 0, 0, 0.5);
+				font-size: 17rpx;
+				border-radius: 0 0 12rpx 12rpx;
+			}
 		}
 
 		.img-x {

+ 2 - 1
pages.json

@@ -104,7 +104,8 @@
 				{
 					"path": "group",
 					"style": {
-						"navigationBarTitleText": "团购"
+						"navigationBarTitleText": "团购",
+						"disableScroll": true
 					}
 				},
 				{

+ 77 - 32
pages/index/index.vue

@@ -31,7 +31,8 @@
 				<uni-swiper-dot :info="bannerList" mode="dot" :dotsStyles="dotStyle" :current="current">
 					<swiper class="swiper" @change="change">
 						<swiper-item v-for="(item,i) in bannerList" :key="i">
-							<image class="swiper-item" :src="item.image" mode="aspectFill" @click="bannerClock(item)"></image>
+							<image class="swiper-item" :src="item.image" mode="aspectFill" @click="bannerClock(item)">
+							</image>
 						</swiper-item>
 					</swiper>
 				</uni-swiper-dot>
@@ -47,7 +48,7 @@
 			</view>
 			<!-- 通知 -->
 			<view class="box-border-box plr-24">
-				<view class="msg-box align-items-center box-border-box mb-32">
+				<view class="msg-box align-items-center box-border-box">
 					<image class="image-1" src="@/static/img/index/index-tz.png" mode="scaleToFill"></image>
 					<view class="box-1 fs-20 fc-41ABF5">公告</view>
 					<swiper class="tz-swiper" :vertical="true" circular :autoplay="true" :interval="3000"
@@ -60,11 +61,11 @@
 				</view>
 			</view>
 			<!-- 限时秒杀 -->
-			<view class="box-border-box plr-24" v-if="seckillGoodsList.length > 0">
+			<view class="spike-box box-border-box" v-if="seckillGoodsList.length > 0">
 				<view class="xsms-box mb-32">
 					<image class="image-title" src="@/static/img/index/index-xsms.png" mode="scaleToFill"></image>
 					<view class="xsms-box-list-f box-border-box plr-12">
-						<view class="xsms-box-list display-flex ">
+						<scroll-view class="xsms-box-list display-flex" scroll-x="true">
 							<view class="xsms-box-list-item box-border-box p-8" v-for="(item,i) in seckillGoodsList"
 								:key="i" @click="toShop(item)">
 								<image class="xsms-box-list-item-img-1 mb-4" :src="item.goods_image" mode="aspectFill">
@@ -78,20 +79,28 @@
 								<image class="xsms-box-list-item-img-2" src="@/static/img/index/index-q.png"
 									mode="scaleToFill"></image>
 							</view>
-						</view>
+						</scroll-view>
 					</view>
 				</view>
 			</view>
 			<!-- 类型选择 -->
-			<view class="type-list-box display-flex" :style="[{'background':bgckgroundType}]">
+			<view class="type-list-box display-flex bgc-F5F4F9" :style="[{'background':bgckgroundType}]">
 				<view class="type-item-box view-nowrap" :class="category_id==item.id?'s-type':'n-type'"
 					v-for="(item,i) in typeList" :key="i" @click="selectType(item.id)">{{item.name}}</view>
 			</view>
 			<!-- 商品列表 -->
-			<view class="box-border-box plr-24">
+			<view class="" v-if="goodsList.length<=0">
+				<enBlankVue></enBlankVue>
+			</view>
+			<view class="box-border-box plr-24" v-else>
 				<view class="goos-list-box box-border-box p-24 display-flex" v-for="(item,i) in goodsList" :key="i"
 					@click="toShop(item)">
-					<image class="left-img" :src="item.shop_logo" mode="aspectFill"></image>
+					<view class="left-img-box">
+						<image class="left-img" :src="item.shop_logo" mode="aspectFill"></image>
+						<view class="status-box fc-f" v-if="item.status != 1">
+							休息中
+						</view>
+					</view>
 					<view class="flex-1">
 						<view class="align-items-center mb-8">
 							<view class="right-box-title fs-32 fw-600 text-overflow-ellipsis-one">{{item.shop_name}}
@@ -166,6 +175,7 @@
 
 </template>
 <script>
+	import enBlankVue from "@/components/en-utils/en-blank/en-blank.vue";
 	import tools from "@/service/tools";
 	import {
 		getNotice,
@@ -185,6 +195,9 @@
 		receiveCoupon
 	} from '@/api/coupon.js'
 	export default {
+		components: {
+			enBlankVue
+		},
 		data() {
 			return {
 				BarH: 0,
@@ -303,14 +316,20 @@
 			this.getNotice();
 			this.getSeckillGoods();
 			this.getTakeaway();
-			this.page = 1;
-			this.goodsList = [];
-			this.getGoodsList();
-			
+
+
 			let userToken = uni.getStorageSync('token')
-			if(userToken){
+			if (userToken) {
 				this.couponHome()
 			}
+		},
+		onLoad() {
+			this.page = 1;
+			this.goodsList = [];
+			this.getGoodsList();
+		},
+		mounted() {
+
 		},
 		onPageScroll(e) {
 			if (e.scrollTop > 1) {
@@ -349,64 +368,67 @@
 				this.current = e.detail.current
 			},
 			bannerClock(item) {
-				if(item.type == 1) {
+				if (item.type == 1) {
 					// 外卖首页
 					uni.navigateTo({
 						url: '/pages-takeout/takeout'
 					})
-				}else if(item.type == 2) {
-					if(item.to_id != 0) {
+				} else if (item.type == 2) {
+					if (item.to_id != 0) {
 						// 外卖商家
 						uni.navigateTo({
 							url: '/pages-takeout/shop?shop_id=' + item.to_id
 						})
-					}else {
+					} else {
 						// 外卖首页
 						uni.navigateTo({
 							url: '/pages-takeout/takeout'
 						})
 					}
-				}else if(item.type == 3) {
+				} else if (item.type == 3) {
 					// 代取页
 					uni.navigateTo({
 						url: '/pages-takeout/replace-take'
 					})
-				}else if (item.type === 4) {
+				} else if (item.type === 4) {
 					// 团购页
 					uni.navigateTo({
 						url: '/pages-buy/group'
 					})
-				}else if(item.type === 5) {
+				} else if (item.type === 5) {
 					// 票务页
 					uni.navigateTo({
 						url: '/pages-buy/ticket'
 					})
-				}else if(item.type === 6) {
+				} else if (item.type === 6) {
 					// 干洗页
 					uni.navigateTo({
 						url: '/pages-buy/dry-clean'
 					})
-				}else if(item.type === 7) {
+				} else if (item.type === 7) {
 					// 校友圈
 					uni.navigateTo({
 						url: '/pages-school/school-circle'
 					})
-				}else if(item.type === 8) {
+				} else if (item.type === 8) {
 					// 骑手申请页
 					uni.navigateTo({
 						url: '/pages-my/rider-recruit'
 					})
 				}
 			},
-			receive(item,index) {
-				receiveCoupon({grant_id: item.grant_id,coupon_id: item.coupon_id}).then((res) => {
-					if(res.code == 1) {
+			receive(item, index) {
+				receiveCoupon({
+					grant_id: item.grant_id,
+					coupon_id: item.coupon_id
+				}).then((res) => {
+					if (res.code == 1) {
 						tools.success(res.msg)
 						this.couponData.splice(index, 1)
-						if(this.couponData.length<=0) {
+						if (this.couponData.length <= 0) {
 							this.gbPOp()
 						}
-					}else {
+					} else {
 						tools.error(res.msg)
 					}
 				})
@@ -549,6 +571,9 @@
 	}
 </script>
 <style lang="scss" scoped>
+	.spike-box{
+		padding: 24rpx 24rpx 0;
+	}
 	.wh32 {
 		width: 32rpx;
 		height: 32rpx;
@@ -738,7 +763,7 @@
 				}
 
 				.xsms-box-list {
-					overflow-y: scroll;
+					white-space: nowrap;
 
 					.xsms-box-list-item:last-child {
 						margin-right: 0;
@@ -751,6 +776,7 @@
 						border-radius: 8rpx;
 						margin-right: 8rpx;
 						position: relative;
+						display: inline-block;
 
 						.xsms-box-list-item-img-1 {
 							width: 164rpx;
@@ -774,8 +800,9 @@
 				left: 0;
 				// top: calc(var(BarH)px + 93rpx);
 				top: calc(86px + 93rpx);
-				padding: 0 24rpx 24rpx 24rpx;
+				padding: 24rpx;
 				overflow-x: scroll;
+				z-index: 666;
 
 				.type-item-box {
 					margin-right: 16rpx;
@@ -828,13 +855,31 @@
 					}
 				}
 
-				.left-img {
+				.left-img-box {
 					width: 100rpx;
 					height: 100rpx;
-					border-radius: 12rpx;
 					margin-right: 16rpx;
+					position: relative;
+
+					.left-img {
+						width: 100rpx;
+						height: 100rpx;
+						border-radius: 12rpx;
+					}
+					.status-box{
+						position: absolute;
+						bottom: 0;
+						left: 0;
+						width: 100%;
+						padding: 4rpx 0;
+						text-align: center;
+						background: rgba(0,0,0, 0.5);
+						font-size: 17rpx;
+						border-radius: 0 0 12rpx 12rpx;
+					}
 				}
 
+
 				.img-x {
 					width: 24rpx;
 					height: 24rpx;

+ 32 - 12
pages/order/index.vue

@@ -244,16 +244,36 @@
 			};
 		},
 		onShow() {
-			console.log('返回刷新');
 			let orderPayType = uni.getStorageSync('orderPayType')
+			console.log(orderPayType, 'orderPayType');
 			if (orderPayType) {
 				this.selectType(orderPayType)
 				console.log('固定type');
-			} else {
-				this.resetList();
-				console.log('默认type');
 			}
 		},
+		onLoad() {
+			uni.$on('takeOutData', (data) => {
+				console.log(data, '^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
+				this.list.forEach((v, k) => {
+					if (v.id == data.id) {
+						v.order_status = data.order_status
+						v.order_status_str = data.order_status_str
+					}
+				})
+				this.$forceUpdate()
+				console.log(this.list, 'this.list');
+			})
+		},
+		onHide() {
+			uni.removeStorageSync('orderPayType')
+		},
+		onUnload() {
+			console.log("监听页面卸载");
+		},
+		mounted() {
+			this.resetList();
+			console.log('默认type');
+		},
 		methods: {
 			openCode(item) {
 				let m_id = uni.getStorageSync('m_id');
@@ -362,6 +382,7 @@
 				this.page = 1;
 				this.list = [];
 				this.getList();
+				uni.removeStorageSync('orderPayType')
 			},
 			selectType(type) {
 				let orderPayType = uni.getStorageSync('orderPayType')
@@ -369,7 +390,6 @@
 					this.type = type;
 					this.navTypeKey = 0
 					this.resetList();
-					uni.removeStorageSync('orderPayType')
 				}
 			},
 			assess(item) {
@@ -397,7 +417,7 @@
 							}).then((res) => {
 								if (res.code == 1) {
 									tools.success(res.msg)
-									setTimeout(() =>{
+									setTimeout(() => {
 										this.page = 1;
 										this.list = [];
 										this.orderList()
@@ -430,10 +450,10 @@
 							}).then((res) => {
 								if (res.code == 1) {
 									tools.success(res.msg)
-									setTimeout(() =>{
+									setTimeout(() => {
 										this.page = 1;
-									this.list = [];
-									this.expressOrderList()
+										this.list = [];
+										this.expressOrderList()
 									}, 1500)
 									this.isAJAX = false;
 								} else {
@@ -463,10 +483,10 @@
 							}).then((res) => {
 								if (res.code == 1) {
 									tools.success(res.msg)
-									setTimeout(() =>{
+									setTimeout(() => {
 										this.page = 1;
-									this.list = [];
-									this.laundryOrderList()
+										this.list = [];
+										this.laundryOrderList()
 									}, 1500)
 									this.isAJAX = false;
 								} else {

+ 6 - 2
service/tools.js

@@ -90,16 +90,20 @@ tools.error = function (msg) {
  * 成功提示
  * @param msg
  */
-tools.success = function (msg) {
+tools.success = function (msg,time) {
 	let type = 'success'
+	let duration = 1500
 	if(msg.length > 7){
 		type = 'none'
 	}
+	if(time) {
+		duration = time
+	}
     uni.showToast({
         'title': msg,
         'icon': type,
         'mask': true,
-        'duration': 1500
+        'duration': duration
     })
 }
 

BIN
static/img/index/index-xsms.png


BIN
static/img/order/lxsj.png