All files / src/api types.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108                                                                                                                                                                                                                       
export type Currency = string
 
export interface MetricSummary {
  thisMonthPaidHkd: number
  taxYearPaidHkd: number
  pipelineHkd: number
  inforceCount: number
  firstYearFypHkd: number
  /** 我的客户:名下新单跟进记录数(不去重,含全部状态) */
  caseCount: number
  /** 我的客户:仍在「跟进中」阶段的数量(不含暂缓) */
  followingCount: number
}
 
/** 我的客户进展阶段语义码,由后端输出,前端只按码查文案/配色。 */
export type CustomerStage =
  | 'IN_PROGRESS'
  | 'DELAYED'
  | 'EFFECTIVE'
  | 'CANCELLED'
  | 'DECLINED'
  | 'LAPSED'
  | 'CLOSED'
  | 'APPOINTMENT_CANCELLED'
  /** 后端下发了前端未登记的码时的兜底值,避免原始码直接渲染上屏 */
  | 'UNKNOWN'
 
export interface Customer {
  name: string
  stage: CustomerStage
  productName: string
  mobile: string
}
 
export interface Statement {
  id: string
  month: string
  grossAmount: number
  currency: Currency
  netAmount: number
  payDate: string
  bankTail: string
}
 
export interface StatementItem {
  id: string
  customerName: string
  policyNo: string
  companyName: string
  productName: string
  commissionYearType: string
  originalAmount: number
  originalCurrency: Currency
  exchangeRate: number
  hkdAmount: number
  myRatio: number
}
 
export interface StatementDetail extends Statement {
  mpfAmount: number
  adjustmentAmount: number
  items: StatementItem[]
}
 
export type PolicyStatus = 'INFORCE' | 'LAPSED' | 'SURRENDERED' | 'REJECTED'
 
export interface Policy {
  policyNo: string
  status: PolicyStatus
  productName: string
  fullPremium: number
  currency: Currency
  myRatio: number
}
 
export type CommissionType = 'FYC' | 'RYC'
 
/** D4.1 四态语义码,由后端输出,前端只按码查文案、不再翻译内部状态。 */
export type CommissionStatus = 'PAID' | 'PIPELINE' | 'RETAINED' | 'LAPSED' | 'UNKNOWN'
 
export interface PolicyCommissionYear {
  year: string
  type: CommissionType
  amount: number
  currency: Currency
  status: CommissionStatus
  /** 保留/失效原因(财务登记,可能为空) */
  statusDesc?: string
}
 
export interface PipelineItem {
  id: string
  policyNo: string
  payoutMonth: string
  expectedAmount: number
  currency: Currency
  /** D4.1 语义码:PIPELINE / RETAINED / LAPSED */
  status: CommissionStatus
}
 
export type TodoType = 'renewal' | 'lapse' | 'birthday'
 
export interface TodoItem {
  id: string
  policyNo: string
  type: TodoType
  customerName: string
}