Files
zkxw/web-admin/src/utils/protocol-payment-presets.ts
T
zlwuandCursor db31990ebe feat: 细胞存储缴费催缴、统一样本信息与协议支付能力增强
汇总近期业务改动:催缴菜单与后端、样本信息快捷登记与进度、运费关联、客户档案扩展、协议优惠/期次与押金划转,并同步 SQL 迁移与管理端页面收敛。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 21:20:37 +08:00

27 lines
1.0 KiB
TypeScript

/** 采集协议单 · 缴费模式工具(已废除硬编码价目表) */
export type PayMode = 'dj' | 'fq' | 'djfq' | 'fgd'
export function getActiveSampleCount(samples: Array<{ sampleStatus?: string }>): 1 | 2 {
const n = samples.filter((s) => String(s.sampleStatus || '') !== 'yzf').length
return (n >= 2 ? 2 : 1) as 1 | 2
}
export function isInstallmentPayMode(payMode: string): boolean {
return payMode === 'fq' || payMode === 'djfq'
}
/** 需要配置多期 schedule 的模式(分期 / 趸交+分期 / 分改趸) */
export function isMultiSchedulePayMode(payMode: string): boolean {
return payMode === 'fq' || payMode === 'djfq' || payMode === 'fgd'
}
export function availablePayModes(sampleCount: 1 | 2): PayMode[] {
return sampleCount === 2 ? ['dj', 'djfq', 'fq', 'fgd'] : ['dj', 'fq', 'fgd']
}
/** 校验缴费模式与样本数是否匹配(如 djfq 仅双样本) */
export function isPayModeValidForSampleCount(payMode: PayMode, sampleCount: 1 | 2): boolean {
return availablePayModes(sampleCount).includes(payMode)
}