import request from '@/utils/http' export type QuickRegisterKind = | 'storage' | 'storage_cert' | 'insurance' | 'sms' | 'followup' | 'fulfillment' | 'all' export function fetchUpdateStorageCertHandle( protocolId: string, data: { handleTime?: string | null handlerUserId?: string | null certImageUrls?: string remark?: string } ) { return request.put({ url: `/web/admin/storage-certs/${protocolId}`, data }) } export function fetchSampleInfoQuickRegister(data: { kind: QuickRegisterKind receptionSource: 'cell_storage' | 'research_donation' items: Array<{ sampleCode: string; protocolId: string }> handleTime?: string handlerUserId?: string attachments?: string remark?: string mailCertTime?: string policySendTime?: string smsSendDate?: string smsSendStatus?: string microbeFollowupDate?: string microbeFollowupStatus?: string fullmoonFollowupDate?: string fullmoonFollowupStatus?: string householdRegistered?: string einvoiceSendTime?: string effectiveAddress?: string }) { return request.post({ url: '/web/admin/sample-info/quick-register', data }) } export function fetchUpdateFullmoonHandle( protocolId: string, data: { handleTime?: string | null handlerUserId?: string | null insuranceAttachments?: string handleRemark?: string } ) { return request.put({ url: `/web/admin/fullmoon-todos/${protocolId}/handle`, data }) } export function fetchSampleStorageCert(sampleCode: string) { return request.get({ url: `/web/admin/sample-storage-certs/${encodeURIComponent(sampleCode)}` }) } export function fetchUpdateSampleStorageCert( sampleCode: string, data: { handleTime?: string | null handlerUserId?: string | null certImageUrls?: string remark?: string mailCertTime?: string | null collectionProtocolId?: string } ) { return request.put({ url: `/web/admin/sample-storage-certs/${encodeURIComponent(sampleCode)}`, data }) } export function fetchSampleInsurance(sampleCode: string) { return request.get({ url: `/web/admin/sample-insurances/${encodeURIComponent(sampleCode)}` }) } export function fetchUpdateSampleInsurance( sampleCode: string, data: { handleTime?: string | null handlerUserId?: string | null insuranceAttachments?: string handleRemark?: string policySendTime?: string | null collectionProtocolId?: string } ) { return request.put({ url: `/web/admin/sample-insurances/${encodeURIComponent(sampleCode)}`, data }) }