| | |
| | | |
| | | <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) |
| | |
| | | const listLoaded = ref(false) |
| | | const listError = ref(false) |
| | | const talentId = ref('') |
| | | const talentCardId = ref('') |
| | | |
| | | onLoad((options: any) => { |
| | | // #ifdef MP-WEIXIN |
| | |
| | | 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() |
| | |
| | | }) |
| | | } |
| | | 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> |
| | | |