From 06be1c7ccc7533612e4cc7b0e730080d0dd3d2a1 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 16 Jan 2026 11:43:36 +0800
Subject: [PATCH] 商品可以赠送优惠券 商品属性增加团购 入驻商家增加实物和团购选项 团购和实物商户分类分开 增加团购商家页面 后台添加页面增加团购组件

---
 mobile/pages3/release/project/list.vue |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 112 insertions(+), 7 deletions(-)

diff --git a/mobile/pages3/release/project/list.vue b/mobile/pages3/release/project/list.vue
index ec8cf3a..8abd056 100644
--- a/mobile/pages3/release/project/list.vue
+++ b/mobile/pages3/release/project/list.vue
@@ -18,19 +18,34 @@
 				<view v-if="category_list.length>0" style="position: relative;">
 					<view class="scroll_box">
 						<scroll-view class="scroll" scroll-x="true" upper-threshode="50">
-								<view :class="category_id == 0?'scroll-view-item_H active':'scroll-view-item_H'"  @click="changeCategory(0)">全部</view>
+								<view :class="category_id == 0?'scroll-view-item_H active':'scroll-view-item_H'"  @click="changeCategory(0)">全部分类</view>
+								<view :class="category_id == '-1'?'scroll-view-item_H active':'scroll-view-item_H'"  @click="changeCategory('-1')">推荐</view>
 								<view v-for="(item,index) in category_list" :key="index" :class="category_id==item.category_id?'scroll-view-item_H active':'scroll-view-item_H'"  @click="changeCategory(item.category_id)">{{item.name}}</view>
 						 </scroll-view>
 					</view>
 				</view>
 				
+				<view style="position: relative;">
+					<view class="scroll_box">
+						<scroll-view class="scroll" scroll-x="true" upper-threshode="50">
+								<view :class="order_sort == 0?'scroll-view-item_H active':'scroll-view-item_H'"  @click="changeSort(0)">综合排序</view>
+								<view :class="order_sort == 1?'scroll-view-item_H active':'scroll-view-item_H'"  @click="changeSort(1)">按浏览量</view>
+								<view :class="order_sort == 2?'scroll-view-item_H active':'scroll-view-item_H'"  @click="changeSort(2)">按最新发布</view>
+						 </scroll-view>
+					</view>
+				</view>
+				
 				<!--列表-->
-				<view class="list d-s-c f-w">
+				<!-- <view class="list d-s-c f-w">
 					<view class="item d-stretch" v-for="(item, index) in listData" :key="index" >
 						<view class="product-info d-b-c d-c" @click="gotoDetail(item)">
 							<view style="border-bottom: 1px solid #ccc; width: 100%; display: flex; justify-content: flex-start; align-items: center; padding-bottom: 5rpx;">
 								<image style="width:100rpx;height: 100rpx; border-radius: 50%; margin-right: 10rpx;" :src="item.user.avatarUrl" mode="widthFix"></image>
-								{{ item.user.nickName }}
+								<view>
+									{{ item.user.nickName }}
+									<view v-if="item.grade" style="width:50rpx;height: 50rpx;"><image style="width:50rpx;height: 50rpx;" :src="item.grade.img"></image></view>
+								</view>
+								
 							</view>
 							<view class="product-title f26 gray3">
 							   {{ item.name }}
@@ -42,6 +57,24 @@
 							<view class="people-num price d-b-c">
 								<text class="gray9 f26">{{ item.create_time }}</text>	
 							</view>	
+						</view>
+					</view>
+				</view> -->
+				
+				<view class="list d-s-c f-w">
+					<view class="item d-stretch" v-for="(item, index) in listData" :key="index" >
+						<view class="product-info d-s-c">
+							<view class="img" @click="gotoDetail(item)"><image :src="item.image" mode="widthFix"></image></view>
+							
+							<view class="content">
+								<view class="product-title f26 gray3">
+							        <view @click="gotoDetail(item)"><text class="category">{{ item.category.name }}</text>{{ item.name }}</view>
+									<view class="chat"  @click="jump(item)">咨询</view>
+							     </view>
+								 <view class="product_content" @click="gotoDetail(item)">
+									 {{ item.product_content }}
+								 </view>
+							</view>
 						</view>
 					</view>
 				</view>
@@ -86,6 +119,8 @@
 				category_id:'',
 				product_type:0,
 				category_list:[],
+				is_check:0,
+				order_sort:0,
 			};
 		},
 		computed: {
@@ -156,6 +191,24 @@
 				self.getlist();
 			},	
 			
+			changeSort(e) {
+				let self = this;
+				self.order_sort = e;
+				self.listData = [];
+				self.page = 1;
+				self.no_more = false;
+				self.loading = true;
+				self.getlist();
+			},	
+			
+			jump(item) {
+				let self = this;
+				let you_user_id = item.user_id;
+				let nickname = item.user.nickName;
+				let avatarurl =item.user.avatarUrl;
+				this.gotoPage('/pages3/release/chat/chat?you_user_id='+you_user_id+'&nickname='+nickname+'&avatarurl='+avatarurl);	
+			},
+			
 			
 			/*搜索*/
 			gotoSearch() {
@@ -178,11 +231,13 @@
 						list_rows: self.list_rows,
 						keyword:self.keyword,
 						category_id:self.category_id,
+						order_sort:self.order_sort,
 						product_type:self.product_type,
 					},
 					function(res) {
 						self.loading = false;
 						self.category_list = res.data.category_list;
+						self.is_check = res.data.is_check;
 						self.listData = res.data.list.data;
 						self.last_page = res.data.list.last_page;
 						if (res.data.list.last_page <= 1) {
@@ -198,8 +253,15 @@
 			
 			/*跳转详情*/
 			gotoDetail(e) {
-				let url = 'pages3/release/project/detail?project_id=' + e.project_id
-				this.gotoPage(url);
+				if(this.is_check == 1){
+					let url = 'pages3/release/project/detail?project_id=' + e.project_id
+				    this.gotoPage(url);
+				}else{
+					uni.showToast({
+						title: '请开通查看权限'
+					});
+				}
+				
 			},
 		}
 	};
@@ -303,7 +365,7 @@
 
 	.bargain-list .list .item {
 		width: 100%;
-		padding: 30rpx;
+		padding: 20rpx;
 		margin-bottom: 20rpx;
 		box-sizing: border-box;
 		border-radius: 16rpx;
@@ -324,6 +386,7 @@
 		flex: 1;
 		//padding-left: 20rpx;
 		overflow: hidden;
+		align-items: normal;
 	}
 
 	.bargain-list .product-cover .people-num {
@@ -348,7 +411,7 @@
 
 	.bargain-list .product-title {
 		width: 100%;
-		min-height: 40rpx;
+		height: 40rpx;
 		line-height: 40rpx;
 		font-size: 32rpx;
 		color: #333333;
@@ -436,4 +499,46 @@
 	.scroll-view-item_H.active{
 		color: red;
 	}
+	.img{
+		width:160rpx;
+		height:160rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+	.img img{ max-width: 100%;}
+	.product-title{
+		width: 100%;
+		display: flex;
+		justify-content: space-between;
+		overflow: hidden;
+	}
+	.content{
+		width:100%;
+		padding:5px;
+	}
+	.product-title .category{
+		margin-right: 10rpx;
+		padding: 2rpx 18rpx;
+		background: red;
+		color: #fff;
+		font-size: 24rpx;
+	}
+	
+	.product-title .chat{
+		width:70rpx;
+		border: 1rpx solid red;
+		color: red;
+		font-size: 24rpx;
+		margin-left: 10rpx;
+		text-align: center;
+	}
+	.product_content{
+		margin-top:10px;
+		height:80rpx;
+		line-height: 40rpx;
+		font-size: 26rpx;
+		color:#ccc;
+		overflow: hidden;
+	}
 </style>

--
Gitblit v1.9.2