From 5ce0d76154bf4c1d70543476cdfad9a30195b0f8 Mon Sep 17 00:00:00 2001
From: shinnosuke <tantao@1hoper.com>
Date: 星期六, 10 十月 2026 16:44:38 +0800
Subject: [PATCH] fix(miniapp): 调整首页圆角布局并隐藏滚动条

---
 rencaika/pages/family-card-unbind/family-card-unbind.uvue |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/rencaika/pages/family-card-unbind/family-card-unbind.uvue b/rencaika/pages/family-card-unbind/family-card-unbind.uvue
index 62811a5..8465d21 100644
--- a/rencaika/pages/family-card-unbind/family-card-unbind.uvue
+++ b/rencaika/pages/family-card-unbind/family-card-unbind.uvue
@@ -9,7 +9,7 @@
 			</view>
 		</view>
 
-		<scroll-view class="content" scroll-y="true" show-scrollbar="false">
+		<scroll-view class="content" scroll-y="true" :show-scrollbar="false">
 			<view class="content-inner">
 				<view v-if="listLoading" class="list-state"><view class="loading-spinner"></view><text>正在加载已绑定家属</text></view>
 				<view v-else-if="listError" class="list-state error-state"><text>家属列表加载失败</text><text class="retry-text" @tap="loadMembers">重新加载</text></view>
@@ -27,7 +27,7 @@
 
 <script setup lang="uts">
 	import { apiEnvironment } from '../../config/api.uts'
-	import { getFamilyCards, unbindFamilyCards } from '../../services/portal.uts'
+	import { getFamilyCards, getTalentCardProfile, unbindFamilyCards } from '../../services/portal.uts'
 	import { safeBack } from '../../utils/navigation.uts'
 
 	const navTop = ref(28)
@@ -41,6 +41,10 @@
 	const listLoaded = ref(false)
 	const listError = ref(false)
 	const talentId = ref('')
+	const talentCardId = ref('')
+
+	// 模板上的返回按钮一直挂着 @tap="goBack" 却没定义处理函数,点了没有任何反应。
+	const goBack = () => safeBack('/pages/family-card/family-card')
 
 	onLoad((options: any) => {
 		// #ifdef MP-WEIXIN
@@ -52,22 +56,36 @@
 		navRight.value = systemInfo.windowWidth - capsule.right
 		// #endif
 		talentId.value = options != null && options['talentId'] != null ? options['talentId'] as string : (apiEnvironment == 'development' ? '2' : '')
-		loadMembers()
+		resolveTalentCardId()
 	})
 	const loadMembers = () => {
 		listLoading.value = true
 		listLoaded.value = false
 		listError.value = false
-		if (talentId.value == '') { listLoading.value = false; listError.value = true; return }
-		getFamilyCards(talentId.value, (data: any) => {
-			familyMembers.value = (data as any[]).filter((item: any) => item.canUnbind === true).map((item: any) => { item.id = '' + item.id; return item })
+		if (talentCardId.value == '') { listLoading.value = false; listError.value = true; return }
+		getFamilyCards(talentCardId.value, (data: any) => {
+			const items = (data as any[]) || []
+			familyMembers.value = items.filter((item: any) => item.status === 1).map((item: any) => ({
+				id: '' + item.id,
+				name: item.dependentName != null ? item.dependentName : '',
+				mobile: item.dependentMobile != null ? item.dependentMobile : '',
+				relationship: item.relation != null ? item.relation : ''
+			}))
 			selectedIds.value = selectedIds.value.filter((id: string) => familyMembers.value.some((item: any) => item.id == id))
 			listLoading.value = false
 			listLoaded.value = true
 		}, () => { listLoading.value = false; listError.value = true })
 	}
 
-	const goBack = () => safeBack('/pages/family-card/family-card')
+	const resolveTalentCardId = () => {
+		if (talentId.value == '') { listLoading.value = false; listError.value = true; return }
+		getTalentCardProfile(talentId.value, (data: any) => {
+			const card = data != null ? data.card : null
+			talentCardId.value = card != null && card.id != null ? '' + card.id : ''
+			if (talentCardId.value == '') { listLoading.value = false; listError.value = true; return }
+			loadMembers()
+		}, () => { listLoading.value = false; listError.value = true })
+	}
 	const isSelected = (id: string) => selectedIds.value.indexOf(id) >= 0
 	const toggleMember = (id: string) => {
 		const next = selectedIds.value.slice()
@@ -96,7 +114,7 @@
 		})
 	}
 	const unbindSelected = (ids: string[]) => {
-		unbindFamilyCards(ids, talentId.value, () => { isSubmitting.value = false; uni.showToast({ title: '已解除绑定', icon: 'success' }); setTimeout(() => safeBack('/pages/family-card/family-card'), 700) }, (error) => { isSubmitting.value = false; uni.showToast({ title: error.message, icon: 'none' }) })
+		unbindFamilyCards(ids, talentCardId.value, () => { isSubmitting.value = false; uni.showToast({ title: '已解除绑定', icon: 'success' }); setTimeout(() => safeBack('/pages/family-card/family-card'), 700) }, (error) => { isSubmitting.value = false; uni.showToast({ title: error.message, icon: 'none' }) })
 	}
 </script>
 

--
Gitblit v1.7.1