Files
shop-toy/src/typings/loan.ts
2025-12-20 12:43:50 +08:00

106 lines
2.5 KiB
TypeScript

/**
* 贷款相关类型定义
*/
/** 贷款申请状态 */
export enum LoanStatus {
DRAFT = 'draft', // 草稿
SUBMITTED = 'submitted', // 已提交
ACCEPTED = 'accepted', // 已受理
INVESTIGATING = 'investigating', // 上门调查中
REPORTED = 'reported', // 已上报
APPROVING = 'approving', // 审批中
APPROVED = 'approved', // 审批通过
REJECTED = 'rejected', // 已拒绝
SIGNING = 'signing', // 待签约
SIGNED = 'signed', // 已签约
DISBURSED = 'disbursed', // 已放款
}
/** 辅助材料类型 */
export type MaterialType = 'order' | 'flow' | 'invoice' | 'other'
/** 商家辅助材料 */
export interface AssistMaterial {
merchantId: string
merchantName: string
loanApplicationId: string
materials: {
type: MaterialType // 订单/流水/发票/其他
url: string
name?: string
uploadTime: string
}[]
submitTime: string
status: 'pending' | 'submitted' | 'refused' // 待提交/已提交/拒绝提供
}
/** 贷款申请关联的商家 */
export interface RelatedMerchant {
merchantId: string
merchantName: string
logo?: string
lastTradeTime: string
selected: boolean
assistStatus: 'pending' | 'submitted' | 'refused' // 辅助材料状态
materials?: AssistMaterial
}
/** 银行流程节点记录 */
export interface BankProcessRecord {
step: 'accept' | 'investigate' | 'report' | 'approve' | 'sign' | 'disburse'
operator: string
operateTime: string
result?: 'pass' | 'reject'
opinion?: string
attachments?: string[] // 附件,如调查报告
}
/** 贷款申请详情 */
export interface LoanApplication {
id: string
userId: string
userName: string
userPhone: string
// 关联的商家列表
relatedMerchants: RelatedMerchant[]
// 申请信息
amount: number // 申请金额(万)
term: number // 期限(月/年)
status: LoanStatus
// 个人信息
personalInfo: {
name: string
phone: string
idCard: string
region: string[]
detailAddress: string
}
// 经营信息
businessInfo: {
businessProject: string
businessTime: string
annualIncome: number
hasDebt: 'yes' | 'no'
debtAmount?: number
loanDemand: number
assets: string[]
}
// 证件信息
documentInfo: {
businessLicense: string
otherMaterials: string[]
}
// 银行流程记录
processRecords: BankProcessRecord[]
createTime: string
updateTime: string
}