feat(edu): 缴费计划前端 API+类型, 合同类型扩展 installmentCount/paymentPlans/totalAmount

This commit is contained in:
liuhuayong 2026-06-27 10:21:39 +08:00
parent 347c2cb0aa
commit 8aa8734436
3 changed files with 70 additions and 0 deletions

View File

@ -37,6 +37,8 @@ export const paymentMethodOptions = [
{ label: '信用卡', value: 'CARD' }
];
import type { PaymentPlanVO, PaymentPlanForm } from '@/api/edu/payment-plan/types';
export interface ContractPackageVO {
id: number | string;
contractId: number | string;
@ -141,6 +143,8 @@ export interface ContractVO extends BaseEntity {
logs: any[];
/** 里程碑列表(升学服务合同) */
milestones?: any[];
/** 缴费计划列表(分期合同) */
paymentPlans?: PaymentPlanVO[];
}
export interface ContractForm {
@ -161,6 +165,12 @@ export interface ContractForm {
isInstallment: string;
installmentSecond: number;
installmentThird: number;
/** 分期数 2 或 3 */
installmentCount?: number;
/** 缴费计划明细(分期时携带) */
paymentPlans?: PaymentPlanForm[];
/** 应收总额(前端汇总展示, 后端汇总覆盖) */
totalAmount?: number;
actualTotalReceived: number;
settlementDate: string;
signPerson: string;

View File

@ -0,0 +1,18 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { PaymentPlanVO, PaymentReceiveForm, EduPaymentPlanBoPayload } from './types';
// 查询某合同的缴费计划列表
export function listPaymentPlan(contractId: number | string): AxiosPromise<PaymentPlanVO[]> {
return request({ url: '/edu/contract/payment-plan/list/' + contractId, method: 'get' });
}
// 修改单期计划(仅待收态)
export function updatePaymentPlan(data: EduPaymentPlanBoPayload) {
return request({ url: '/edu/contract/payment-plan', method: 'put', data });
}
// 收款确认(联动账本)
export function receivePayment(data: PaymentReceiveForm) {
return request({ url: '/edu/contract/payment-plan/receive', method: 'put', data });
}

View File

@ -0,0 +1,42 @@
export const paymentPlanStatusOptions = [
{ label: '待收', value: '0', elTagType: 'warning' },
{ label: '已收', value: '1', elTagType: 'success' },
{ label: '已作废', value: '4', elTagType: 'info' }
];
export interface PaymentPlanVO {
id: number | string;
contractId: number | string;
installmentNo: number;
planAmount: number;
planDate: string;
paidAmount: number;
paidDate: string;
paymentMethod: string;
status: string;
remark: string;
}
/** 表单用: 新增/修改合同时携带的计划明细 */
export interface PaymentPlanForm {
installmentNo: number;
planAmount: number;
planDate: string;
}
/** 修改单期计划载荷(匹配后端 EduPaymentPlanBo) */
export interface EduPaymentPlanBoPayload {
id: number | string;
planAmount?: number;
planDate?: string;
remark?: string;
}
/** 收款确认表单 */
export interface PaymentReceiveForm {
id: number | string;
paidAmount: number;
paymentMethod: string;
paidDate: string;
remark?: string;
}