郭鹏飞 11 месяцев назад
Родитель
Сommit
64311268f6
4 измененных файлов с 47 добавлено и 146 удалено
  1. 7 0
      common/router/modules/routes.js
  2. 4 0
      pages.json
  3. 36 146
      pages/groupMeal/goods/index.vue
  4. BIN
      static/groupMeal/bg_baoming.png

+ 7 - 0
common/router/modules/routes.js

@@ -564,6 +564,13 @@ const routes = [{
 			title: '添加检测站',
 		},
 	},
+	{
+		path: '/pages/groupMeal/goods/index',
+		name: 'groupMealGoodsIndex',
+		meta: {
+			title: '团餐报名',
+		},
+	},
 	{
 		path: '/pages/groupMeal/goods/list',
 		name: 'groupMealGoodsList',

+ 4 - 0
pages.json

@@ -394,6 +394,10 @@
 			"path": "pages/download/index",
 			"style": {}
 		},
+		{
+			"path": "pages/groupMeal/goods/index",
+			"style": {}
+		},
 		{
 			"path": "pages/groupMeal/goods/list",
 			"style": {}

+ 36 - 146
pages/groupMeal/goods/index.vue

@@ -1,46 +1,15 @@
 <template>
 	<view class="page-container">
-		<u-navbar title="团队管理" :autoBack="true" :placeholder="true"></u-navbar>
+		<u-navbar title="团餐活动" :autoBack="true" :placeholder="true"></u-navbar>
+		<image class="bg" src="/static/groupMeal/bg_baoming.png" mode="widthFix"></image>
 		
-		<!-- 成员列表 -->
-		<view class="member-list">
-			<view class="member-card" v-for="(member, index) in memberList" :key="member.id">
-				<view class="member-info">
-					<view class="info-header">
-						<text class="name">{{ member.name }}</text>
-						<text class="phone">{{ member.phone }}</text>
-						<view class="actions">
-							<text class="action-btn edit" @click="editMember(member)">编辑</text>
-							<text class="action-btn delete" @click="confirmDelete(member, index)">删除</text>
-						</view>
-					</view>
-					<view class="address-list">
-						<text class="address-title">管理地址:</text>
-						<view class="address-item" v-for="addr in member.addresses" :key="addr.id">
-							<text>{{ addr.fullAddress }}</text>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-
 		<!-- 底部操作栏 -->
 		<view class="footer-bar">
 			<u-button
-				text="添加人员"
-				@click="addMember"
-			></u-button>
+				shape="circle"
+				@click="onSave"
+			>立即报名</u-button>
 		</view>
-
-		<!-- 删除确认弹窗 -->
-		<u-modal
-			:show="showDeleteConfirm"
-			title="确认删除"
-			:content="`确定要删除成员 ${selectedMember.name} 吗?`"
-			showCancelButton
-			@confirm="deleteMember"
-			@cancel="showDeleteConfirm = false"
-		></u-modal>
 	</view>
 </template>
 
@@ -48,135 +17,56 @@
 export default {
 	data() {
 		return {
-			memberList: [
-				// 模拟数据
-				{ 
-					id: 1, 
-					name: '张三', 
-					phone: '13834556988', 
-					addresses: [
-						{ id: 101, fullAddress: '山西省太原市万柏林区 千峰街道 中海学士里小区五号楼' },
-						{ id: 102, fullAddress: '山西省太原市万柏林区 千峰街道 中海学士里小区七号楼' },
-					]
-				},
-			],
-			showDeleteConfirm: false,
-			selectedMember: {},
-			selectedIndex: -1
+			query: {
+				activityId: ''
+			},
 		};
+	},
+	onLoad(query) {
+		if (query.activityId) {
+			this.query.activityId = query.activityId;
+		}
+	},
+	onShow() {
+		
 	},
 	methods: {
-		// 编辑成员
-		editMember(member) {
-			uni.navigateTo({
-				// 传递成员信息和编辑模式
-				url: `/packageC/pages/foreman/team-edit?mode=edit&member=${encodeURIComponent(JSON.stringify(member))}`
-			});
+		// 按钮点击事件
+		onSave() {
+			let url = `/packageB/pages/activity/form?activityId=${this.query.activityId}`;
+			if (this.$p.checkLogin()) {
+				url = '/pages/login/login?isBack=1';
+				// #ifdef MP
+				url = '/pages/login/wxLogin?isBack=1';
+				// #endif
+			}
+			this.$p.navTo(url);
 		},
-		// 添加新成员
-		addMember() {
-			uni.navigateTo({
-				url: '/packageC/pages/result/index?type=order&state=1'
-			});
-			return
-			uni.navigateTo({
-				// 仅传递添加模式,并指定为多选
-				url: '/packageC/pages/foreman/team-edit?mode=add&selectionMode=multi'
-			});
-		},
-		// 弹出删除确认框
-		confirmDelete(member, index) {
-			this.selectedMember = member;
-			this.selectedIndex = index;
-			this.showDeleteConfirm = true;
-		},
-		// 执行删除
-		deleteMember() {
-			// 在实际项目中,这里应该是调用API
-			this.memberList.splice(this.selectedIndex, 1);
-			this.showDeleteConfirm = false;
-			uni.showToast({ title: '删除成功', icon: 'success' });
-		}
 	}
 };
 </script>
 
 <style lang="scss" scoped>
 .page-container {
-	background-color: #f5f5f5;
 	min-height: 100vh;
-}
-.member-card {
-	background-color: #ffffff;
-	padding: 30rpx;
-	margin: 24rpx;
-	border-radius: 16rpx;
-	box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.05);
-}
-.info-header {
-	display: flex;
-	align-items: center;
-	border-bottom: 1rpx solid #eee;
-	padding-bottom: 20rpx;
-	margin-bottom: 20rpx;
-	.name {
-		font-size: 32rpx;
-		font-weight: bold;
-		color: #303133;
-	}
-	.phone {
-		font-size: 28rpx;
-		color: #606266;
-		margin-left: 24rpx;
-	}
-	.actions {
-		margin-left: auto;
-		.action-btn {
-			font-size: 26rpx;
-			margin-left: 30rpx;
-		}
-		.edit {
-			color: #2979ff;
-		}
-		.delete {
-			color: #fa3534;
-		}
-	}
-}
-.address-list {
-	.address-title {
-		font-size: 28rpx;
-		color: #909399;
-	}
-	.address-item {
-		font-size: 28rpx;
-		color: #606266;
-		margin-top: 16rpx;
-		padding-left: 20rpx;
-		position: relative;
-		&::before {
-			content: '';
-			position: absolute;
-			left: 0;
-			top: 50%;
-			transform: translateY(-50%);
-			width: 8rpx;
-			height: 8rpx;
-			border-radius: 50%;
-			background-color: #ccc;
-		}
+	padding-bottom: 120rpx;
+	background: #F7F8FC;
+
+	.bg {
+		width: 100vw;
+		height: 100vh;
 	}
 }
+
 .footer-bar {
-	::v-deep .u-button {
+	::v-deep .u-btn {
 		width: 100%;
 		height: 76rpx;
 		font-weight: 500;
 		font-size: 28rpx;
 		color: #FFFFFF;
-		margin: 0;
-		background: linear-gradient(90deg, #FF004E 0%, #FF004E 100%);
-		border-radius: 8rpx;
+		border: none;
+		background: linear-gradient(90deg, #77B6FF 0%, #449AFF 100%);
 	}
 }
 </style>

BIN
static/groupMeal/bg_baoming.png