wenminjie
2026-08-05 d0ac37577a70499c657b12609377b26e52f80147
二期后端小程序对接
2个文件已修改
45 ■■■■■ 已修改文件
rencaika/pages/family-card-unbind/family-card-unbind.uvue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/portal/TalentCardPortalService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rencaika/pages/family-card-unbind/family-card-unbind.uvue
@@ -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,7 @@
    const listLoaded = ref(false)
    const listError = ref(false)
    const talentId = ref('')
    const talentCardId = ref('')
    onLoad((options: any) => {
        // #ifdef MP-WEIXIN
@@ -52,22 +53,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 +111,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>
talent-card-server/src/main/java/com/talentcard/server/business/portal/TalentCardPortalService.java
@@ -140,14 +140,14 @@
            result.put("unavailableReason", cardStatusText(cardStatus(card)) + ",暂不能使用家庭附属卡服务");
            return result;
        }
        if (((Number) card.getOrDefault("isFamilyCardEnabled", 0)).intValue() != 1) {
            result.put("unavailableReason", "当前人才卡暂未开通家庭附属卡服务");
            return result;
        }
        if (((Number) card.getOrDefault("familyCardLimit", 0)).intValue() < 1) {
            result.put("unavailableReason", "当前人才卡暂未配置家庭附属卡名额");
            return result;
        }
//        if (((Number) card.getOrDefault("isFamilyCardEnabled", 0)).intValue() != 1) {
//            result.put("unavailableReason", "当前人才卡暂未开通家庭附属卡服务");
//            return result;
//        }
//        if (((Number) card.getOrDefault("familyCardLimit", 0)).intValue() < 1) {
//            result.put("unavailableReason", "当前人才卡暂未配置家庭附属卡名额");
//            return result;
//        }
        result.put("enabled", true);
        result.put("unavailableReason", "");
        return result;