first commit
This commit is contained in:
61
src/api/erp/finance/account/index.ts
Normal file
61
src/api/erp/finance/account/index.ts
Normal 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 })
|
||||
}
|
||||
}
|
||||
70
src/api/erp/finance/bank/index.ts
Normal file
70
src/api/erp/finance/bank/index.ts
Normal 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'
|
||||
})
|
||||
}
|
||||
}
|
||||
74
src/api/erp/finance/bookkeeping/index.ts
Normal file
74
src/api/erp/finance/bookkeeping/index.ts
Normal 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 })
|
||||
}
|
||||
}
|
||||
78
src/api/erp/finance/fiscal-period/index.ts
Normal file
78
src/api/erp/finance/fiscal-period/index.ts
Normal 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 })
|
||||
}
|
||||
}
|
||||
71
src/api/erp/finance/invoice/index.ts
Normal file
71
src/api/erp/finance/invoice/index.ts
Normal 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 } })
|
||||
}
|
||||
}
|
||||
61
src/api/erp/finance/ledger/index.ts
Normal file
61
src/api/erp/finance/ledger/index.ts
Normal 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 })
|
||||
}
|
||||
}
|
||||
31
src/api/erp/finance/opening-balance/index.ts
Normal file
31
src/api/erp/finance/opening-balance/index.ts
Normal 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 }})
|
||||
}
|
||||
}
|
||||
66
src/api/erp/finance/payableorder/index.ts
Normal file
66
src/api/erp/finance/payableorder/index.ts
Normal 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 })
|
||||
},
|
||||
}
|
||||
62
src/api/erp/finance/payment/index.ts
Normal file
62
src/api/erp/finance/payment/index.ts
Normal 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 })
|
||||
}
|
||||
}
|
||||
62
src/api/erp/finance/receipt/index.ts
Normal file
62
src/api/erp/finance/receipt/index.ts
Normal 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 })
|
||||
}
|
||||
}
|
||||
66
src/api/erp/finance/receivableorder/index.ts
Normal file
66
src/api/erp/finance/receivableorder/index.ts
Normal 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 })
|
||||
},
|
||||
}
|
||||
59
src/api/erp/finance/subject/index.ts
Normal file
59
src/api/erp/finance/subject/index.ts
Normal 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 })
|
||||
}
|
||||
}
|
||||
77
src/api/erp/finance/voucher/voucher.ts
Normal file
77
src/api/erp/finance/voucher/voucher.ts
Normal 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 }
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user