Files
wangziqi 72e2110987
Some checks failed
Synchronize to Gitee / repo-sync (push) Has been cancelled
Typos Checking / Spell Check with Typos (push) Has been cancelled
chore: initial commit
2026-06-23 11:56:23 +08:00

256 lines
6.3 KiB
TypeScript

import { AttachmentInfo } from '@cordys/web/src/components/business/crm-form-create/types';
import { ContractBusinessTitleStatusEnum } from '@lib/shared/enums/contractEnum';
import type { ModuleField, TableQueryParams } from './common';
import type { FormDesignConfigDetailParams } from './system/module';
import { ProcessStatusEnum } from '@lib/shared/enums/process';
// 合同列表项
export interface ContractItem {
id: string;
name: string;
customerId: string;
customerName: string;
amount: number;
alreadyPayAmount: number;
approved?: boolean;
approvalStatus: ProcessStatusEnum;
stage: string;
stageName: string;
owner: string;
ownerName: string;
createUser: string;
updateUser: string;
createTime: number;
updateTime: number;
createUserName: string;
updateUserName: string;
moduleFields: ModuleField[]; // 自定义字段
inCustomerPool: boolean;
poolId: string;
}
// 合同详情
export interface ContractDetail extends ContractItem {
optionMap?: Record<string, any[]>;
attachmentMap?: Record<string, AttachmentInfo[]>; // 附件信息映射
}
// 添加合同参数
export interface SaveContractParams {
name: string;
customerId: string; // 客户id
amount?: number; // 金额
owner: string; // 负责人
moduleFields: ModuleField[]; // 自定义字段
}
// 更新合同参数
export interface UpdateContractParams extends SaveContractParams {
id: string;
}
export interface ApprovalContractParams {
id: string;
approvalStatus: string;
}
// 回款计划列表项
export interface PaymentPlanItem {
id: string;
name: string;
createUser: string;
updateUser: string;
createTime: number;
updateTime: number;
contractId: string;
owner: string;
planStatus: string;
planAmount: number;
planEndTime: number;
organizationId: string;
createUserName: string;
updateUserName: string;
ownerName: string;
departmentId: string;
departmentName: string;
contractName: string;
moduleFields: ModuleField[]; // 自定义字段
}
// 回款计划详情
export interface PaymentPlanDetail extends PaymentPlanItem {
optionMap?: Record<string, any[]>;
}
// 添加回款计划参数
export interface SavePaymentPlanParams {
contractId?: string;
owner?: string;
planStatus: string;
planAmount?: number;
planEndTime?: number;
}
// 更新回款计划参数
export interface UpdatePaymentPlanParams extends SavePaymentPlanParams {
id: string;
}
// 回款记录列表项
export interface PaymentRecordItem {
id: string;
createUser: string;
updateUser: string;
createTime: number;
updateTime: number;
name: string;
contractId: string;
owner: string;
amount: number;
invoiceType: string;
taxRate: number;
businessTitleId: string;
approvalStatus: string;
organizationId: string;
contractName: string;
ownerName: string;
createUserName: string;
updateUserName: string;
paymentPlanName: string;
paymentPlanId: string;
departmentId: string;
departmentName: string;
moduleFields: ModuleField[];
}
// 回款记录详情
export interface PaymentRecordDetail extends PaymentRecordItem {
optionMap?: Record<string, any[]>;
}
// 添加回款记录参数
export interface SavePaymentRecordParams {
contractId: string;
owner: string;
name: string;
paymentPlanId?: string;
recordAmount: number;
recordEndTime: number;
recordBank: string;
recordBankNo: string;
}
// 更新回款记录参数
export interface UpdatePaymentRecordParams extends SavePaymentRecordParams {
id: string;
}
export interface BusinessTitleItem {
id: string;
name: string;
type: 'THIRD_PARTY' | 'CUSTOM';
identificationNumber: string;
province: string; // 省
city: string; // 市
remark: string;
scale: string; // 企业规模
industry: string; // 国标行业
openingBank: string;
bankAccount: string;
registrationAddress: string;
phoneNumber: string;
registeredCapital: string;
companySize: string;
registrationNumber: string;
approvalStatus: ContractBusinessTitleStatusEnum;
unapprovedReason: string;
organizationId: string;
createUserName: string;
updateUserName: string;
createUser: string;
updateUser: string;
createTime: number;
updateTime: number;
}
export interface SaveBusinessTitleParams {
id?: string;
companyNumber?: string; // 公司编号
name: string; // 公司名称
identificationNumber: string; // 纳税人识别号
openingBank: string; // 开户银行
bankAccount: string; // 银行账号
registrationAddress: string; // 注册地址
phoneNumber: string; // 注册电话
registeredCapital: string; // 注册资本
companySize: string; // 公司规模
registrationNumber: string; //工商注册号
type: string; // 来源类型
province: string; // 省
city: string; // 市
remark: string;
scale: string; // 企业规模
industry: string; // 国标行业
}
export interface BusinessTitleValidateConfig {
id: string;
field: keyof SaveBusinessTitleParams;
title: string;
required: boolean;
disabled?: boolean;
organizationId: string;
rule?: Record<string, any>[];
}
export interface ContractInvoiceTableQueryParam extends TableQueryParams {
contractId?: string;
customerId?: string;
}
export interface ContractInvoiceItem {
id: string;
contractId: string;
approved?: boolean;
name: string;
no: string;
owner: string;
businessTitleId: string;
businessTitleName: string;
organizationId: string;
createUser: string;
createUserName: string;
updateUser: string;
updateUserName: string;
ownerName: string;
departmentId: string;
departmentName: string;
contractName: string;
paymentPlanId: string;
recordBank: string;
recordBankNo: string;
paymentPlanName: string;
planName: string;
moduleFields: ModuleField[]; // 自定义字段
recordAmount: number;
recordEndTime: number;
approvalStatus: ProcessStatusEnum;
}
export interface SaveContractInvoiceParams {
name: string;
contractId: string;
owner: string;
amount: number;
invoiceType: string;
taxRate: number;
businessTitleId: string;
moduleFormConfigDTO?: FormDesignConfigDetailParams;
}
export interface UpdateContractInvoiceParams extends SaveContractInvoiceParams {
id: string;
}
export interface ContractInvoiceDetail extends ContractInvoiceItem {
optionMap?: Record<string, any[]>;
attachmentMap?: Record<string, AttachmentInfo[]>; // 附件信息映射
}