import type { SteadyDataView } from '@/api/steady/steadyDataView/interface' export interface ChecksquareTaskSearchParams extends SteadyDataView.SteadyChecksquareTaskQueryParams { taskTimeRange?: string[] } export const buildChecksquareTaskQueryParams = ( params: ChecksquareTaskSearchParams ): SteadyDataView.SteadyChecksquareTaskQueryParams => { const { taskTimeRange, ...rest } = params const queryParams: SteadyDataView.SteadyChecksquareTaskQueryParams = { ...rest } if (taskTimeRange?.[0]) queryParams.timeStart = taskTimeRange[0] if (taskTimeRange?.[1]) queryParams.timeEnd = taskTimeRange[1] return queryParams } export const formatChecksquareTaskStatus = (status?: string) => { if (!status) return '--' if (status === 'SUCCESS') return '成功' if (status === 'FAILED') return '失败' if (status === 'RUNNING') return '执行中' return status } export const resolveChecksquareTaskStatusType = (status?: string) => { if (status === 'SUCCESS') return 'success' if (status === 'FAILED') return 'danger' if (status === 'RUNNING') return 'warning' return 'info' } export const formatChecksquareIntegrity = (value?: number | null, fallbackMissingRate?: number | null) => { const integrityValue = value === null || value === undefined || !Number.isFinite(Number(value)) ? fallbackMissingRate === null || fallbackMissingRate === undefined || !Number.isFinite(Number(fallbackMissingRate)) ? null : 1 - Number(fallbackMissingRate) : Number(value) if (integrityValue === null) return '--' return `${(integrityValue * 100).toFixed(2)}%` } export const resolveChecksquareText = (value: unknown) => { if (value === null || value === undefined || value === '') return '--' return String(value) }