From 269472ce6822871f5509d26efeeb4e7f99c605ca Mon Sep 17 00:00:00 2001
From: WindowBird <13870814+windows-bird@user.noreply.gitee.com>
Date: Thu, 14 Aug 2025 17:28:33 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E6=8A=A5=E5=90=8D=E9=9D=99?=
=?UTF-8?q?=E6=80=81=E7=95=8C=E9=9D=A22.0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/activity/application.vue | 171 ++++++++++++++++++++++++++++++---
1 file changed, 157 insertions(+), 14 deletions(-)
diff --git a/pages/activity/application.vue b/pages/activity/application.vue
index 30413e8..6d9f001 100644
--- a/pages/activity/application.vue
+++ b/pages/activity/application.vue
@@ -7,36 +7,56 @@
选择活动日期
- A
- B
- C
+
+ {{ date.label }}
+
选择活动时段
- A
- B
- C
+
+ {{ time.label }}
+
参与活动人数
- 1人
- 2人
- 自定义
+
+ {{ number.label }}
+
姓名
-
+
联系号码
-
+
- 100
- 提交报名
+ {{ getSelectedDateLabel() }} {{ getSelectedNumberLabel() }}
+ 提交报名
@@ -61,12 +81,113 @@ export default {
MonkEnum,
monkList: [],
searchName: "",
+
+ // 选择项数据
+ dateOptions: [
+ { label: "06月27日", value: "06-27" },
+ { label: "06月28日", value: "06-28" },
+ { label: "06月29日", value: "06-29" },
+ ],
+ timeOptions: [
+ { label: "08:00-12:00", value: "08-12" },
+ { label: "13:00-18:00", value: "13-18" },
+ ],
+ numberOptions: [
+ { label: "1人", value: "1" },
+ { label: "2人", value: "2" },
+ { label: "自定义", value: "custom" },
+ ],
+
+ // 选中的值
+ selectedDate: "06-27",
+ selectedTime: "08-12",
+ selectedNumber: "1",
+
+ // 表单数据
+ formData: {
+ name: "",
+ phone: "",
+ },
+
+ // 价格计算
+ price: 100,
};
},
onLoad() {
this.fetchMonkList();
},
methods: {
+ // 选择日期
+ selectDate(value) {
+ this.selectedDate = value;
+ },
+
+ // 选择时段
+ selectTime(value) {
+ this.selectedTime = value;
+ },
+
+ // 选择人数
+ selectNumber(value) {
+ this.selectedNumber = value;
+ // 根据人数计算价格
+ if (value === "1") {
+ this.price = 100;
+ } else if (value === "2") {
+ this.price = 180;
+ } else {
+ this.price = 100; // 自定义价格,可以根据需要调整
+ }
+ },
+
+ // 提交报名
+ submitApplication() {
+ if (!this.formData.name.trim()) {
+ uni.showToast({
+ title: "请输入姓名",
+ icon: "none",
+ });
+ return;
+ }
+
+ if (!this.formData.phone.trim()) {
+ uni.showToast({
+ title: "请输入手机号",
+ icon: "none",
+ });
+ return;
+ }
+
+ // 这里可以添加提交逻辑
+ console.log("提交数据:", {
+ date: this.selectedDate,
+ time: this.selectedTime,
+ number: this.selectedNumber,
+ ...this.formData,
+ });
+
+ uni.showToast({
+ title: "提交成功",
+ icon: "success",
+ });
+ },
+
+ // 获取选中的日期标签
+ getSelectedDateLabel() {
+ const selectedDate = this.dateOptions.find(
+ (date) => date.value === this.selectedDate,
+ );
+ return selectedDate ? selectedDate.label : "";
+ },
+
+ // 获取选中的人数标签
+ getSelectedNumberLabel() {
+ const selectedNumber = this.numberOptions.find(
+ (number) => number.value === this.selectedNumber,
+ );
+ return selectedNumber ? selectedNumber.label : "";
+ },
+
async fetchMonkList() {
try {
const res = await getMonkList({ name: this.searchName });
@@ -134,6 +255,12 @@ export default {
font-weight: 700;
font-size: 28rpx;
color: #c7a26d;
+ transition: all 0.3s ease;
+
+ &.selected {
+ background: #a24242;
+ color: #ffffff;
+ }
}
.scroll-view-item_time {
@@ -148,11 +275,16 @@ export default {
font-weight: 700;
font-size: 30rpx;
color: #c7a26d;
+ transition: all 0.3s ease;
+
+ &.selected {
+ background: #a24242;
+ color: #ffffff;
+ }
}
.scroll-view-item_number {
text-align: center;
-
line-height: 64rpx;
display: inline-block;
width: 170rpx;
@@ -164,6 +296,11 @@ export default {
font-weight: 400;
font-size: 32rpx;
color: #c7a26d;
+ transition: all 0.3s ease;
+
+ &.selected {
+ color: #695347;
+ }
}
}
}
@@ -224,6 +361,12 @@ export default {
line-height: 72rpx;
text-align: center;
margin-right: 10rpx;
+ transition: all 0.3s ease;
+
+ &:active {
+ background: #8a3636;
+ transform: scale(0.98);
+ }
}
}
}