hookehuyr

fix(MyFamily): 修复家庭创建者退出家庭的逻辑问题

移除解散家庭功能并添加创建者退出限制
家庭创建者现在会收到提示不能退出家庭
...@@ -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 * 加入新家庭
......