106 lines
2.5 KiB
TypeScript
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
|
|
}
|