import type { BasicFetchResult, BasicPageParams, FilterJson } from '@/api'; // eslint-disable-next-line @typescript-eslint/no-namespace namespace SendInvoiceService { /** 获取发送发票列表接口参数 */ export type GetSendInvoiceListParams = BasicPageParams & Pick; /** 获取发送发票列表接口返回值 */ export type GetSendTaxInvoiceListResult = BasicFetchResult; export type GetSendOnlineInvoiceListResult = BasicFetchResult; export type GetSendPDFInvoiceListResult = BasicFetchResult; export interface SendTaxInvoiceItem { id: number; billNo: string; clientId: number; clientName: string; clientShortName: string; invoiceNo: string; saleOrderList: [ { id: number; billNo: string; clientContactId: number; clientContactName: string; totalAmount: number; }, ]; currencyId: number; currencyName: string; totalAmount: number; createBy: number; createByName: string; createOn: Date; purTitleTax: string; purTypeTax: number; purTypeTaxName: string; purNumberTax: string; purAddEleTax: string; purAccount: string; purInvoicingOn: Date; } export interface SendOnlineInvoiceItem { id: number; billNo: string; clientId: number; clientShortName: string; invoiceNo: string; saleOrderList: { id: number; billNo: string; clientContactId: number; clientContactName: string; totalAmount: number; }[]; currencyId: number; currencyName: string; totalAmount: number; createBy: number; createByName: string; createOn: Date; } export interface SendPDFInvoiceItem { id: number; billNo: string; clientId: number; clientName: string; clientShortName: string; invoiceNo: string; saleOrderList: { id: number; billNo: string; clientContactId: number; clientContactName: string; totalAmount: number; }[]; currencyId: number; currencyName: string; totalAmount: number; createBy: number; createByName: string; createOn: Date; purTitleEle: string; purAddEle: string; purTelEle: string; purEmailEle: string; } /** 获取发票详情 */ export interface GetSendInvoiceDetailResult { id: number; billNo: string; billType: number; clientId: number; clientShortName: string; clientRemark: string; invoiceNo: string; currencyId: number; currencyName: string; totalAmount: number; fileId: string; fileName: string; createBy: number; createByName: string; createOn: Date; remark: string; purTitleEle: string; purAddEle: string; purTelEle: string; purEmailEle: string; purTitleTax: string; purTypeTax: number; purTypeTaxName: string; purNumberTax: string; purAddEleTax: string; purAccount: string; purInvoicingOn: Date; saleOrgId: number; saleOrgName: string; orders: { id: number; billNo: string; orderName: string; currencyId: number; currencyName: string; totalAmount: number; orderInvoicedAmount: number; invoiceRelatedAmount: number; costAmount: number; principalName: string; deadline: Date; closedStatus: number; acceptStatus: number; details: { entryName: string; categoryId: number; categoryName: string; slangId: number; slangName: string; tlangId: number; tlangName: string; countryId: number; countryName: string; totalAmount: number; }[]; files: { attachFileId: string; attachName: string; }[]; }[]; operations: { operationType: number; operationTypeName: string; operator: number; operatorName: string; operationOn: Date; remarks: string; }[]; } /** 税务发票发送发票功能 */ export interface GetSendTaxListById { id?: number; billNo: string; pMs: string[]; totalAmount: number; billStatus: string; saleOrderList: string[]; createOn: Date; } export interface GetSendTaxListClientParams { orgId?: number; clientId: number; currencyId: number; billNo: string; purTitleTax: string; purTypeTax: number; purNumberTax: string; purAddEleTax: string; purAccount: string; } export interface SendTaxExpressParams { clientId: number; orgId?: number; expressType: number; taxNo: string; expreesSentOn: string; clientToName: string; clientToAddress: string; clientToPhone: string; remark: string; choosingIds: number[]; } /** 在线发票发送发票功能 */ export interface GetSendOnlineListById { id?: number; billNo: string; pMs: string[]; totalAmount: number; billStatus: string; saleOrderList: string[]; createOn: Date; } export interface GetSendOnlineListClientParams { orgId?: number; clientId: number; currencyId: number; billNo: string; } export interface SendOnlineExpressParams { clientId: number; orgId?: number; choosingIds: number[]; } /** PDF发票发送功能 */ export interface GetSendPDFInvoicePreview { id: number; billNo: string; clientId: number; clientName: string; clientShortName: string; invoiceNo: string; saleOrderList: { id: number; billNo: string; clientContactId: number; clientContactName: string; totalAmount: number; }[]; currencyId: number; currencyName: string; totalAmount: number; createBy: number; createByName: string; createOn: Date; purTitleEle: string; purAddEle: string; purTelEle: string; purEmailEle: string; } export interface GetSendPDFInvoicePreviewEmail { ids: number[]; mailAccount: string; mailPwd: string; to: string[]; cc: string[]; bcc: string[]; subject: string; text: string; files: { fileId: string; fileName: string; }[]; } } export type { SendInvoiceService };