|
@@ -122,7 +122,14 @@
|
|
|
></textarea>
|
|
></textarea>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
- <button class="submit-btn" @click="handleSubmit">提交申请</button>
|
|
|
|
|
|
|
+ <button
|
|
|
|
|
+ class="submit-btn"
|
|
|
|
|
+ :class="{ 'btn-disabled': buttonDisabled }"
|
|
|
|
|
+ :disabled="buttonDisabled"
|
|
|
|
|
+ @click="handleSubmit"
|
|
|
|
|
+ >
|
|
|
|
|
+ {{ buttonText }}
|
|
|
|
|
+ </button>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
<!-- 更多特点 -->
|
|
<!-- 更多特点 -->
|
|
@@ -183,7 +190,11 @@
|
|
|
}),
|
|
}),
|
|
|
timeSlotData: [[], []], // [开始时间, 结束时间]
|
|
timeSlotData: [[], []], // [开始时间, 结束时间]
|
|
|
timeSlotIndex: [0, 0],
|
|
timeSlotIndex: [0, 0],
|
|
|
- timeSlotDisplayText: ''
|
|
|
|
|
|
|
+ timeSlotDisplayText: '',
|
|
|
|
|
+ // 按钮状态
|
|
|
|
|
+ buttonText: '提交申请',
|
|
|
|
|
+ buttonDisabled: false,
|
|
|
|
|
+ applyStatus: null // null-未申请, 0-已通过, 1-已拒绝, 2-审核中
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
onLoad() {
|
|
onLoad() {
|
|
@@ -191,6 +202,8 @@
|
|
|
this.timeSlotData = [this.hourOptions, this.hourOptions]
|
|
this.timeSlotData = [this.hourOptions, this.hourOptions]
|
|
|
// 加载省市区数据
|
|
// 加载省市区数据
|
|
|
this.loadAreaData()
|
|
this.loadAreaData()
|
|
|
|
|
+ // 检查申请状态
|
|
|
|
|
+ this.checkApplyStatus()
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
// 返回上一页
|
|
// 返回上一页
|
|
@@ -206,6 +219,65 @@
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
+ // 检查申请状态
|
|
|
|
|
+ async checkApplyStatus() {
|
|
|
|
|
+ try {
|
|
|
|
|
+ console.log('=== 开始检查申请状态 ===')
|
|
|
|
|
+
|
|
|
|
|
+ // 获取用户ID
|
|
|
|
|
+ const userId = await userAuth.checkLoginStatus({
|
|
|
|
|
+ requireLogin: false,
|
|
|
|
|
+ allowTestUser: false
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ if (!userId) {
|
|
|
|
|
+ console.log('用户未登录,保持默认按钮状态')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ console.log('当前用户ID:', userId)
|
|
|
|
|
+
|
|
|
|
|
+ // 查询申请状态
|
|
|
|
|
+ const result = await api.matchmaker.getApplyStatus(userId)
|
|
|
|
|
+ console.log('申请状态查询结果:', result)
|
|
|
|
|
+
|
|
|
|
|
+ if (result && result.hasApplied) {
|
|
|
|
|
+ this.applyStatus = result.status
|
|
|
|
|
+ this.updateButtonState(result.status)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ console.log('用户未申请过,保持默认状态')
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('查询申请状态失败:', error)
|
|
|
|
|
+ // 查询失败不影响页面显示,保持默认状态
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ // 根据status更新按钮状态
|
|
|
|
|
+ updateButtonState(status) {
|
|
|
|
|
+ console.log('更新按钮状态,status:', status)
|
|
|
|
|
+
|
|
|
|
|
+ if (status === 2) {
|
|
|
|
|
+ // 审核中
|
|
|
|
|
+ this.buttonText = '审核中'
|
|
|
|
|
+ this.buttonDisabled = true
|
|
|
|
|
+ } else if (status === 0) {
|
|
|
|
|
+ // 已成为红娘
|
|
|
|
|
+ this.buttonText = '已成为红娘'
|
|
|
|
|
+ this.buttonDisabled = true
|
|
|
|
|
+ } else if (status === 1) {
|
|
|
|
|
+ // 审核被拒绝,可以重新提交
|
|
|
|
|
+ this.buttonText = '重新提交'
|
|
|
|
|
+ this.buttonDisabled = false
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 其他状态,保持默认
|
|
|
|
|
+ this.buttonText = '提交申请'
|
|
|
|
|
+ this.buttonDisabled = false
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ console.log('按钮文字:', this.buttonText, '是否禁用:', this.buttonDisabled)
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
// 省市区相关方法
|
|
// 省市区相关方法
|
|
|
// 加载省市区数据
|
|
// 加载省市区数据
|
|
|
async loadAreaData() {
|
|
async loadAreaData() {
|
|
@@ -393,6 +465,11 @@
|
|
|
|
|
|
|
|
// 提交申请
|
|
// 提交申请
|
|
|
async handleSubmit() {
|
|
async handleSubmit() {
|
|
|
|
|
+ // 如果按钮被禁用,不执行提交
|
|
|
|
|
+ if (this.buttonDisabled) {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// 表单验证
|
|
// 表单验证
|
|
|
if (!this.formData.name) {
|
|
if (!this.formData.name) {
|
|
|
uni.showToast({
|
|
uni.showToast({
|
|
@@ -558,6 +635,9 @@
|
|
|
this.areaDisplayText = ''
|
|
this.areaDisplayText = ''
|
|
|
this.timeSlotIndex = [0, 0]
|
|
this.timeSlotIndex = [0, 0]
|
|
|
this.timeSlotDisplayText = ''
|
|
this.timeSlotDisplayText = ''
|
|
|
|
|
+
|
|
|
|
|
+ // 重新检查申请状态,更新按钮
|
|
|
|
|
+ this.checkApplyStatus()
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
@@ -848,6 +928,12 @@
|
|
|
border: none;
|
|
border: none;
|
|
|
border-radius: 40rpx;
|
|
border-radius: 40rpx;
|
|
|
margin-top: 30rpx;
|
|
margin-top: 30rpx;
|
|
|
|
|
+
|
|
|
|
|
+ &.btn-disabled {
|
|
|
|
|
+ background: #CCCCCC;
|
|
|
|
|
+ color: #FFFFFF;
|
|
|
|
|
+ opacity: 0.6;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|