first commit

This commit is contained in:
2026-03-05 16:52:12 +08:00
commit 8ca2e6d52f
1899 changed files with 321565 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
import request from '@/config/axios'
// ERP 结算账户 VO
export interface AccountVO {
id: number // 结算账户编号
no: string // 账户编码
remark: string // 备注
status: number // 开启状态
sort: number // 排序
defaultStatus: boolean // 是否默认
name: string // 账户名称
}
// ERP 结算账户 API
export const AccountApi = {
// 查询结算账户分页
getAccountPage: async (params: any) => {
return await request.get({ url: `/erp/account/page`, params })
},
// 查询结算账户精简列表
getAccountSimpleList: async () => {
return await request.get({ url: `/erp/account/simple-list` })
},
// 查询结算账户详情
getAccount: async (id: number) => {
return await request.get({ url: `/erp/account/get?id=` + id })
},
// 新增结算账户
createAccount: async (data: AccountVO) => {
return await request.post({ url: `/erp/account/create`, data })
},
// 修改结算账户
updateAccount: async (data: AccountVO) => {
return await request.put({ url: `/erp/account/update`, data })
},
// 修改结算账户默认状态
updateAccountDefaultStatus: async (id: number, defaultStatus: boolean) => {
return await request.put({
url: `/erp/account/update-default-status`,
params: {
id,
defaultStatus
}
})
},
// 删除结算账户
deleteAccount: async (id: number) => {
return await request.delete({ url: `/erp/account/delete?id=` + id })
},
// 导出结算账户 Excel
exportAccount: async (params: any) => {
return await request.download({ url: `/erp/account/export-excel`, params })
}
}

View File

@@ -0,0 +1,70 @@
import request from '@/config/axios'
// ERP 银行流水 VO
export interface BankTransactionVO {
id: number // 流水编号
transactionNo: string // 交易流水号
accountId: number // 结算账户编号
accountName?: string // 结算账户名称
accountNo: string // 账户号
transactionInstitution: string // 交易机构
transactionAmount: number // 交易金额
transactionType: number // 交易类型1-收入 2-支出
counterpartyAccount: string // 交易对手账户
counterpartyName: string // 交易对手户名
counterpartyBank: string // 交易对手银行
operatorTeller: string // 操作柜员
summary: string // 摘要
remark: string // 备注信息
transactionTime: Date // 交易时间
createTime: Date // 创建时间
}
// ERP 银行流水 API
export const BankTransactionApi = {
// 查询银行流水分页
getBankTransactionPage: async (params: any) => {
return await request.get({ url: `/erp/bank-transaction/page`, params })
},
// 查询银行流水详情
getBankTransaction: async (id: number) => {
return await request.get({ url: `/erp/bank-transaction/get?id=` + id })
},
// 新增银行流水
createBankTransaction: async (data: BankTransactionVO) => {
return await request.post({ url: `/erp/bank-transaction/create`, data })
},
// 修改银行流水
updateBankTransaction: async (data: BankTransactionVO) => {
return await request.put({ url: `/erp/bank-transaction/update`, data })
},
// 删除银行流水
deleteBankTransaction: async (id: number) => {
return await request.delete({ url: `/erp/bank-transaction/delete?id=` + id })
},
// 导出银行流水 Excel
exportBankTransaction: async (params: any) => {
return await request.download({ url: `/erp/bank-transaction/export-excel`, params })
},
// 获取导入模板
getImportTemplate: async () => {
return await request.download({ url: `/erp/bank-transaction/get-import-template` })
},
// 导入银行流水
importBankTransaction: async (file: File, updateSupport: boolean) => {
const formData = new FormData()
formData.append('file', file)
return await request.post({
url: `/erp/bank-transaction/import?updateSupport=${updateSupport}`,
data: formData,
headersType: 'multipart/form-data'
})
}
}

View File

@@ -0,0 +1,74 @@
import request from '@/config/axios'
// 记账凭证明细 VO
export interface BookkeepingVoucherItemVO {
id?: number
summary?: string
subjectId: number
subjectName?: string
debitAmount?: number
creditAmount?: number
}
// 记账凭证 VO
export interface BookkeepingVoucherVO {
id?: number
voucherNo?: string
voucherDate: string
summary: string
debitTotal?: number
creditTotal?: number
creatorUserId?: number
creatorUserName?: string
auditorUserId?: number
auditorUserName?: string
auditTime?: string
systemName?: string
remark?: string
status?: number
createTime?: string
items?: BookkeepingVoucherItemVO[]
}
// 记账凭证 API
export const BookkeepingVoucherApi = {
// 查询记账凭证分页
getVoucherPage: async (params: any) => {
return await request.get({ url: `/erp/finance/bookkeeping-voucher/page`, params })
},
// 查询记账凭证详情
getVoucher: async (id: number) => {
return await request.get({ url: `/erp/finance/bookkeeping-voucher/get?id=` + id })
},
// 新增记账凭证
createVoucher: async (data: BookkeepingVoucherVO) => {
return await request.post({ url: `/erp/finance/bookkeeping-voucher/create`, data })
},
// 修改记账凭证
updateVoucher: async (data: BookkeepingVoucherVO) => {
return await request.put({ url: `/erp/finance/bookkeeping-voucher/update`, data })
},
// 审核记账凭证
auditVoucher: async (id: number) => {
return await request.put({ url: `/erp/finance/bookkeeping-voucher/audit?id=` + id })
},
// 反审核记账凭证
unauditVoucher: async (id: number) => {
return await request.put({ url: `/erp/finance/bookkeeping-voucher/unaudit?id=` + id })
},
// 删除记账凭证
deleteVoucher: async (id: number) => {
return await request.delete({ url: `/erp/finance/bookkeeping-voucher/delete?id=` + id })
},
// 导出记账凭证 Excel
exportVoucher: async (params: any) => {
return await request.download({ url: `/erp/finance/bookkeeping-voucher/export-excel`, params })
}
}

View File

@@ -0,0 +1,78 @@
import request from '@/config/axios'
// ERP 会计期间 VO
export interface FiscalPeriodVO {
id: number // 期间ID
periodCode: string // 期间编码yyyyMM格式
periodName: string // 期间名称
fiscalYear: string // 会计年度
startDate: Date // 开始日期
endDate: Date // 结束日期
status: number // 状态1-开放2-关闭3-结账)
isCurrent: boolean // 是否当前期间
description: string // 描述
createdTime: Date // 创建时间
}
// ERP 会计期间 API
export const FiscalPeriodApi = {
// 查询会计期间分页
getFiscalPeriodPage: async (params: any) => {
return await request.get({ url: `/erp/fiscal-period/page`, params })
},
// 查询会计期间详情
getFiscalPeriod: async (id: number) => {
return await request.get({ url: `/erp/fiscal-period/get?id=` + id })
},
// 获取当前会计期间
getCurrentFiscalPeriod: async () => {
return await request.get({ url: `/erp/fiscal-period/current` })
},
// 新增会计期间
createFiscalPeriod: async (data: FiscalPeriodVO) => {
return await request.post({ url: `/erp/fiscal-period/create`, data })
},
// 修改会计期间
updateFiscalPeriod: async (data: FiscalPeriodVO) => {
return await request.put({ url: `/erp/fiscal-period/update`, data })
},
// 删除会计期间
deleteFiscalPeriod: async (id: number) => {
return await request.delete({ url: `/erp/fiscal-period/delete?id=` + id })
},
// 开启会计期间
openFiscalPeriod: async (id: number) => {
return await request.put({ url: `/erp/fiscal-period/open?id=` + id })
},
// 关闭会计期间
closeFiscalPeriod: async (id: number) => {
return await request.put({ url: `/erp/fiscal-period/close?id=` + id })
},
// 结账
postFiscalPeriod: async (id: number) => {
return await request.put({ url: `/erp/fiscal-period/post?id=` + id })
},
// 执行完整结账流程
performCompleteClosing: async (id: number) => {
return await request.put({ url: `/erp/fiscal-period/complete-closing?id=` + id })
},
// 检查试算平衡
checkTrialBalance: async (id: number) => {
return await request.get({ url: `/erp/fiscal-period/check-trial-balance?id=` + id })
},
// 导出会计期间 Excel
exportFiscalPeriod: async (params: any) => {
return await request.download({ url: `/erp/fiscal-period/export-excel`, params })
}
}

View File

@@ -0,0 +1,71 @@
import request from '@/config/axios'
import type { Dayjs } from 'dayjs'
/** 财务发票主信息 */
export interface Invoice {
id: number // 主键ID
invoiceDate?: string | Dayjs // 发票日期
invoiceCategory?: string // 发票类别(进项发票/销项发票)
invoiceType?: string // 发票类型(增值税专用发票/普通发票)
invoiceNo?: string // 发票号码(唯一)
counterpartyName?: string // 客户/供应商名称
amountWithoutTax?: number // 金额(不含税)
taxRate?: number // 税率(%
taxAmount?: number // 税额
totalAmount?: number // 价税合计
attachment: string // 发票附件
invoiceStatus?: string // 发票状态(待接收/已认证/已作废等)
isSettlement?: number // 结算状态0/1
certificationDate: string | Dayjs // 认证日期(仅进项票)
voucherNo: string // 凭证字号
accountingPeriod?: string // 记账期间如2026-01
remark: string // 备注
}
// 财务发票主 API
export const InvoiceApi = {
// 查询财务发票主分页
getInvoicePage: async (params: any) => {
return await request.get({ url: `/finance/invoice/page`, params })
},
// 查询财务发票主详情
getInvoice: async (id: number) => {
return await request.get({ url: `/finance/invoice/get?id=` + id })
},
// 新增财务发票主
createInvoice: async (data: Invoice) => {
return await request.post({ url: `/finance/invoice/create`, data })
},
// 修改财务发票主
updateInvoice: async (data: Invoice) => {
return await request.put({ url: `/finance/invoice/update`, data })
},
// 结算财务发票主
settlementInvoice: async (data: Pick<Invoice, 'id'>) => {
return await request.put({ url: `/finance/invoice/settlement`, data })
},
// 删除财务发票主
deleteInvoice: async (id: number) => {
return await request.delete({ url: `/finance/invoice/delete?id=` + id })
},
/** 批量删除财务发票主 */
deleteInvoiceList: async (ids: number[]) => {
return await request.delete({ url: `/finance/invoice/delete-list?ids=${ids.join(',')}` })
},
// 导出财务发票主 Excel
exportInvoice: async (params) => {
return await request.download({ url: `/finance/invoice/export-excel`, params })
},
// 查询发票号码列表
getInvoiceNoList: async (invoiceCategory: number | string) => {
return await request.get({ url: `/finance/invoice/getInvoiceNoList`, params: { invoiceCategory } })
}
}

View File

@@ -0,0 +1,61 @@
import request from '@/config/axios'
// ERP 总账 VO
export interface LedgerVO {
id: number | null // 总账编号
subjectId: number // 科目编号
subjectCode: string // 科目编码
subjectName: string // 科目名称
period: string // 期间YYYYMM
summary: string // 摘要
debitAmount: number // 借方金额
creditAmount: number // 贷方金额
direction: string // 方向(借、贷、平)
balance: number // 余额
voucherCount: number // 关联凭证数量
status: number // 状态
createTime: number | Date // 创建时间
}
// ERP 总账 API
export const LedgerApi = {
// 查询总账分页
getLedgerPage: async (params: any) => {
return await request.get({ url: `/erp/ledger/page`, params })
},
// 查询总账详情
getLedger: async (id: number) => {
return await request.get({ url: `/erp/ledger/get?id=` + id })
},
// 新增总账
createLedger: async (data: LedgerVO) => {
return await request.post({ url: `/erp/ledger/create`, data })
},
// 修改总账
updateLedger: async (data: LedgerVO) => {
return await request.put({ url: `/erp/ledger/update`, data })
},
// 删除总账
deleteLedger: async (id: number) => {
return await request.delete({ url: `/erp/ledger/delete?id=` + id })
},
// 导出总账 Excel
exportLedger: async (params: any) => {
return await request.download({ url: `/erp/ledger/export-excel`, params })
},
// 获取账户余额
getAccountBalance: async (accountId: number) => {
return await request.get({ url: `/erp/ledger/account-balance?accountId=` + accountId })
},
// 获取科目余额
getSubjectBalance: async (subjectId: number) => {
return await request.get({ url: `/erp/ledger/subject-balance?subjectId=` + subjectId })
}
}

View File

@@ -0,0 +1,31 @@
import request from '@/config/axios'
// 会计科目期初余额 VO
export interface OpeningBalanceVO {
id?: number // 编号
subjectId: number // 科目ID
subjectCode?: string // 科目编码
subjectName?: string // 科目名称
period: string // 期间yyyyMM格式
balance: number // 期初余额
direction: string // 余额方向
createTime?: Date // 创建时间
}
// 会计科目期初余额 API
export const OpeningBalanceApi = {
// 查询期初余额列表
getOpeningBalanceList: async (params: any) => {
return await request.get({ url: `/erp/subject-opening-balance/list-by-period`, params })
},
// 批量更新期初余额
batchUpdateOpeningBalance: async (data: OpeningBalanceVO[]) => {
return await request.post({ url: `/erp/subject-opening-balance/batch-update`, data })
},
// 根据期间获取期初余额列表
getOpeningBalanceListByPeriod: async (period: string) => {
return await request.get({ url: `/erp/subject-opening-balance/list-by-period`, params: { period }})
}
}

View File

@@ -0,0 +1,66 @@
import request from '@/config/axios'
import type { Dayjs } from 'dayjs';
/** 应付单信息 */
export interface PayableOrder {
id: number; // 应付单ID主键
apoCode?: string; // 应付单号唯一如AP20260115001
supplierId?: number; // 供应商ID外键关联supplier表
billDate?: string | Dayjs; // 单据日期
dueDate?: string | Dayjs; // 到期付款日期
totalAmount?: number; // 应付总金额
taxAmount?: number; // 税额
nonTaxAmount?: number; // 不含税金额
subjectId: number; // 会计科目ID外键关联科目表
billType?: number; // 单据类型1-采购发票2-费用账单3-其他应付
status?: number; // 状态0-草稿1-待审核2-已审核3-已核销4-已取消
remark: string; // 备注
auditUser: string; // 审核人
auditTime: string | Dayjs; // 审核时间
}
// 应付单 API
export const PayableOrderApi = {
// 应付单自动更新
autoUpdatePayableOrder: async () => {
return await request.post({ url: `/erp/payable-order/autoUpdate` })
},
// 应付单自动获取展示(支持分页/搜索)
autoGetShowPayableOrder: async (params?: any) => {
return await request.get({ url: `/erp/payable-order/autoGetShow`, params })
},
// 查询应付单分页
getPayableOrderPage: async (params: any) => {
return await request.get({ url: `/erp/payable-order/page`, params })
},
// 查询应付单详情
getPayableOrder: async (id: number) => {
return await request.get({ url: `/erp/payable-order/get?id=` + id })
},
// 新增应付单
createPayableOrder: async (data: PayableOrder) => {
return await request.post({ url: `/erp/payable-order/create`, data })
},
// 修改应付单
updatePayableOrder: async (data: PayableOrder) => {
return await request.put({ url: `/erp/payable-order/update`, data })
},
// 删除应付单
deletePayableOrder: async (id: number) => {
return await request.delete({ url: `/erp/payable-order/delete?id=` + id })
},
/** 批量删除应付单 */
deletePayableOrderList: async (ids: number[]) => {
return await request.delete({ url: `/erp/payable-order/delete-list?ids=${ids.join(',')}` })
},
// 导出应付单 Excel
exportPayableOrder: async (params) => {
return await request.download({ url: `/erp/payable-order/export-excel`, params })
},
}

View File

@@ -0,0 +1,62 @@
import request from '@/config/axios'
// ERP 付款单 VO
export interface FinancePaymentVO {
id: number // 付款单编号
no: string // 付款单号
supplierId: number // 供应商编号
paymentTime: Date // 付款时间
totalPrice: number // 合计金额,单位:元
status: number // 状态
remark: string // 备注
invoiceIds?: string[] // 关联发票ID列表
}
// ERP 付款单 API
export const FinancePaymentApi = {
// 查询付款单分页
getFinancePaymentPage: async (params: any) => {
return await request.get({ url: `/erp/finance-payment/page`, params })
},
// 查询付款单详情
getFinancePayment: async (id: number) => {
return await request.get({ url: `/erp/finance-payment/get?id=` + id })
},
// 新增付款单
createFinancePayment: async (data: FinancePaymentVO) => {
return await request.post({ url: `/erp/finance-payment/create`, data })
},
// 修改付款单
updateFinancePayment: async (data: FinancePaymentVO) => {
return await request.put({ url: `/erp/finance-payment/update`, data })
},
// 更新付款单的状态
updateFinancePaymentStatus: async (id: number, status: number) => {
return await request.put({
url: `/erp/finance-payment/update-status`,
params: {
id,
status
}
})
},
// 删除付款单
deleteFinancePayment: async (ids: number[]) => {
return await request.delete({
url: `/erp/finance-payment/delete`,
params: {
ids: ids.join(',')
}
})
},
// 导出付款单 Excel
exportFinancePayment: async (params: any) => {
return await request.download({ url: `/erp/finance-payment/export-excel`, params })
}
}

View File

@@ -0,0 +1,62 @@
import request from '@/config/axios'
// ERP 收款单 VO
export interface FinanceReceiptVO {
id: number // 收款单编号
no: string // 收款单号
customerId: number // 客户编号
receiptTime: Date // 收款时间
totalPrice: number // 合计金额,单位:元
status: number // 状态
remark: string // 备注
invoiceIds?: string[] // 关联发票ID列表
}
// ERP 收款单 API
export const FinanceReceiptApi = {
// 查询收款单分页
getFinanceReceiptPage: async (params: any) => {
return await request.get({ url: `/erp/finance-receipt/page`, params })
},
// 查询收款单详情
getFinanceReceipt: async (id: number) => {
return await request.get({ url: `/erp/finance-receipt/get?id=` + id })
},
// 新增收款单
createFinanceReceipt: async (data: FinanceReceiptVO) => {
return await request.post({ url: `/erp/finance-receipt/create`, data })
},
// 修改收款单
updateFinanceReceipt: async (data: FinanceReceiptVO) => {
return await request.put({ url: `/erp/finance-receipt/update`, data })
},
// 更新收款单的状态
updateFinanceReceiptStatus: async (id: number, status: number) => {
return await request.put({
url: `/erp/finance-receipt/update-status`,
params: {
id,
status
}
})
},
// 删除收款单
deleteFinanceReceipt: async (ids: number[]) => {
return await request.delete({
url: `/erp/finance-receipt/delete`,
params: {
ids: ids.join(',')
}
})
},
// 导出收款单 Excel
exportFinanceReceipt: async (params: any) => {
return await request.download({ url: `/erp/finance-receipt/export-excel`, params })
}
}

View File

@@ -0,0 +1,66 @@
import request from '@/config/axios'
import type { Dayjs } from 'dayjs';
/** 应收单信息 */
export interface ReceivableOrder {
id: number; // 应收单ID主键
aroCode?: string; // 应收单号唯一如AR20260115001
customerId?: number; // 客户ID外键关联customer表
billDate?: string | Dayjs; // 单据日期
dueDate?: string | Dayjs; // 到期收款日期
totalAmount?: number; // 应收总金额
taxAmount?: number; // 税额
nonTaxAmount?: number; // 不含税金额
subjectId: number; // 会计科目ID外键关联科目表对应应收账款科目
billType?: number; // 单据类型1-销售发票2-服务费账单3-其他应收
status?: number; // 状态0-草稿1-待审核2-已审核3-已核销4-已取消
remark: string; // 备注
auditUser: string; // 审核人
auditTime: string | Dayjs; // 审核时间
}
// 应收单 API
export const ReceivableOrderApi = {
// 应收单自动更新
autoUpdateReceivableOrder: async () => {
return await request.post({ url: `/erp/receivable-order/autoUpdate` })
},
// 应收单自动获取展示
autoGetShowReceivableOrder: async (params?: any) => {
return await request.get({ url: `/erp/receivable-order/autoGetShow`, params })
},
// 查询应收单分页
getReceivableOrderPage: async (params: any) => {
return await request.get({ url: `/erp/receivable-order/page`, params })
},
// 查询应收单详情
getReceivableOrder: async (id: number) => {
return await request.get({ url: `/erp/receivable-order/get?id=` + id })
},
// 新增应收单
createReceivableOrder: async (data: ReceivableOrder) => {
return await request.post({ url: `/erp/receivable-order/create`, data })
},
// 修改应收单
updateReceivableOrder: async (data: ReceivableOrder) => {
return await request.put({ url: `/erp/receivable-order/update`, data })
},
// 删除应收单
deleteReceivableOrder: async (id: number) => {
return await request.delete({ url: `/erp/receivable-order/delete?id=` + id })
},
/** 批量删除应收单 */
deleteReceivableOrderList: async (ids: number[]) => {
return await request.delete({ url: `/erp/receivable-order/delete-list?ids=${ids.join(',')}` })
},
// 导出应收单 Excel
exportReceivableOrder: async (params) => {
return await request.download({ url: `/erp/receivable-order/export-excel`, params })
},
}

View File

@@ -0,0 +1,59 @@
import request from '@/config/axios'
// ERP 会计科目 VO
export interface SubjectVO {
id: number // 会计科目编号
parentId: number // 父科目编号
code: string // 科目编码
name: string // 科目名称
type: number // 科目类型
direction: number // 余额方向1借方 2贷方
status: number // 开启状态
sort: number // 排序
remark: string // 备注
createTime: Date // 创建时间
children?: SubjectVO[] // 子科目
}
// ERP 会计科目 API
export const SubjectApi = {
// 查询会计科目分页
getSubjectPage: async (params: any) => {
return await request.get({ url: `/erp/finance/subject/page`, params })
},
// 查询会计科目树形列表
getSubjectTree: async () => {
return await request.get({ url: `/erp/finance/subject/tree` })
},
// 查询会计科目精简列表
getSubjectSimpleList: async () => {
return await request.get({ url: `/erp/finance/subject/simple-list` })
},
// 查询会计科目详情
getSubject: async (id: number) => {
return await request.get({ url: `/erp/finance/subject/get?id=` + id })
},
// 新增会计科目
createSubject: async (data: SubjectVO) => {
return await request.post({ url: `/erp/finance/subject/create`, data })
},
// 修改会计科目
updateSubject: async (data: SubjectVO) => {
return await request.put({ url: `/erp/finance/subject/update`, data })
},
// 删除会计科目
deleteSubject: async (id: number) => {
return await request.delete({ url: `/erp/finance/subject/delete?id=` + id })
},
// 导出会计科目 Excel
exportSubject: async (params: any) => {
return await request.download({ url: `/erp/finance/subject/export-excel`, params })
}
}

View File

@@ -0,0 +1,77 @@
import request from '@/config/axios'
export type VoucherVO = {
id: number
no: string
status: number
type: number
billType?: number
voucherTime: string
paymentDate?: string
payeeName: string // 收款单位
projectName: string // 项目名称
bankName: string // 开户银行
bankAccount: string // 开户账号
contractNo: string // 合同号
contractAmount: number // 合同总金额
taxNo: string // 税号
paidAmount: number // 累计已付金额
contractFile: string // 合同附件
invoiceFile: string // 发票附件
totalAmount: number
remark: string
processInstanceId: string
items: VoucherItemVO[]
startUserSelectAssignees?: Record<string, number[]> // 发起人自选审批人
createTime?: string
creatorName?: string
}
export type VoucherItemVO = {
id?: number
voucherId?: number
accountId: number
accountName?: string // 会计科目名称
summary: string
debitAmount: number
creditAmount: number
}
// 创建财务凭证
export const createVoucher = async (data: VoucherVO) => {
return await request.post({ url: '/erp/finance-voucher/create', data: data })
}
// 更新财务凭证
export const updateVoucher = async (data: VoucherVO) => {
return await request.put({ url: '/erp/finance-voucher/update', data: data })
}
// 删除财务凭证
export const deleteVoucher = async (ids: number | number[]) => {
const data = Array.isArray(ids) ? ids : [ids]
return await request.delete({ url: '/erp/finance-voucher/delete', data: data })
}
// 获取财务凭证详情
export const getVoucher = async (id: number) => {
return await request.get({ url: '/erp/finance-voucher/get', params: { id } })
}
// 获取财务凭证分页
export const getVoucherPage = async (params: PageParam) => {
return await request.get({ url: '/erp/finance-voucher/page', params })
}
// 导出财务凭证
export const exportVoucher = async (params: any) => {
return await request.download({ url: '/erp/finance-voucher/export-excel', params })
}
// 更新财务凭证状态
export const updateVoucherStatus = async (id: number, status: number) => {
return await request.put({
url: '/erp/finance-voucher/update-status',
params: { id, status }
})
}