fix(MyFamily): 修复家庭创建者退出家庭的逻辑问题
移除解散家庭功能并添加创建者退出限制 家庭创建者现在会收到提示不能退出家庭
Showing
1 changed file
with
12 additions
and
32 deletions
| ... | @@ -93,10 +93,11 @@ | ... | @@ -93,10 +93,11 @@ |
| 93 | 切换到此家庭 | 93 | 切换到此家庭 |
| 94 | </view> | 94 | </view> |
| 95 | <view | 95 | <view |
| 96 | - @tap="family.is_my ? dissolveFamily(family.id) : exitFamily(family.id)" | 96 | + v-if="!family.is_my" |
| 97 | + @tap="exitFamily(family.id)" | ||
| 97 | class="px-4 py-2 bg-red-500 text-white text-sm rounded-lg" | 98 | class="px-4 py-2 bg-red-500 text-white text-sm rounded-lg" |
| 98 | > | 99 | > |
| 99 | - {{ family.is_my ? '解散家庭' : '退出家庭' }} | 100 | + 退出家庭 |
| 100 | </view> | 101 | </view> |
| 101 | </view> | 102 | </view> |
| 102 | </view> | 103 | </view> |
| ... | @@ -327,6 +328,15 @@ const exitFamily = (familyId) => { | ... | @@ -327,6 +328,15 @@ const exitFamily = (familyId) => { |
| 327 | const family = familyList.value.find(f => f.id === familyId); | 328 | const family = familyList.value.find(f => f.id === familyId); |
| 328 | if (!family) return; | 329 | if (!family) return; |
| 329 | 330 | ||
| 331 | + // 家庭所有者不能退出 | ||
| 332 | + if (family.is_my) { | ||
| 333 | + Taro.showToast({ | ||
| 334 | + title: '您是家庭创建者,不能退出家庭', | ||
| 335 | + icon: 'none', | ||
| 336 | + }); | ||
| 337 | + return; | ||
| 338 | + } | ||
| 339 | + | ||
| 330 | Taro.showModal({ | 340 | Taro.showModal({ |
| 331 | title: '退出家庭', | 341 | title: '退出家庭', |
| 332 | content: `确定要退出「${family.name}」吗?退出后将无法查看该家庭的相关信息。`, | 342 | content: `确定要退出「${family.name}」吗?退出后将无法查看该家庭的相关信息。`, |
| ... | @@ -362,37 +372,7 @@ const exitFamily = (familyId) => { | ... | @@ -362,37 +372,7 @@ const exitFamily = (familyId) => { |
| 362 | }); | 372 | }); |
| 363 | }; | 373 | }; |
| 364 | 374 | ||
| 365 | -/** | ||
| 366 | - * 解散家庭 | ||
| 367 | - * @param {number} familyId - 家庭ID | ||
| 368 | - */ | ||
| 369 | -const dissolveFamily = (familyId) => { | ||
| 370 | - const family = familyList.value.find(f => f.id === familyId); | ||
| 371 | - if (!family) return; | ||
| 372 | 375 | ||
| 373 | - Taro.showModal({ | ||
| 374 | - title: '解散家庭', | ||
| 375 | - content: `确定要解散「${family.name}」吗?\n\n解散后:\n• 所有家庭成员将被移除\n• 家庭数据将被永久删除\n• 此操作无法撤销\n\n请谨慎操作!`, | ||
| 376 | - confirmText: '确认解散', | ||
| 377 | - cancelText: '取消', | ||
| 378 | - success: (res) => { | ||
| 379 | - if (res.confirm) { | ||
| 380 | - // 解散家庭逻辑 | ||
| 381 | - familyList.value = familyList.value.filter(f => f.id !== familyId); | ||
| 382 | - | ||
| 383 | - Taro.showToast({ | ||
| 384 | - title: '家庭已解散', | ||
| 385 | - icon: 'success' | ||
| 386 | - }); | ||
| 387 | - | ||
| 388 | - // 延迟返回我的页面 | ||
| 389 | - setTimeout(() => { | ||
| 390 | - Taro.navigateBack(); | ||
| 391 | - }, 1500); | ||
| 392 | - } | ||
| 393 | - } | ||
| 394 | - }); | ||
| 395 | -}; | ||
| 396 | 376 | ||
| 397 | /** | 377 | /** |
| 398 | * 加入新家庭 | 378 | * 加入新家庭 | ... | ... |
-
Please register or login to post a comment