2025-04-24 18:29:19 +08:00

713 lines
14 KiB
JavaScript

import request from '@/utils/request'
// 费用分类管理接口
export function getFeeCategories(query) {
return request({
url: '/finance/category/page',
method: 'get',
params: query
})
}
export function getAllFeeCategories() {
return request({
url: '/finance/category/list',
method: 'get'
})
}
export function getFeeCategory(id) {
return request({
url: `/finance/category/${id}`,
method: 'get'
})
}
export function addFeeCategory(data) {
return request({
url: '/finance/category',
method: 'post',
data
})
}
export function updateFeeCategory(id, data) {
return request({
url: `/finance/category/${id}`,
method: 'put',
data
})
}
export function deleteFeeCategory(id) {
return request({
url: `/finance/category/${id}`,
method: 'delete'
})
}
// 费用类型管理接口
export function getFeeTypes(query) {
return request({
url: '/finance/type/page',
method: 'get',
params: query
})
}
export function getFeeTypesByCategory(categoryId) {
return request({
url: `/finance/type/list/${categoryId}`,
method: 'get'
})
}
export function getFeeType(id) {
return request({
url: `/finance/type/${id}`,
method: 'get'
})
}
export function addFeeType(data) {
return request({
url: '/finance/type',
method: 'post',
data
})
}
export function updateFeeType(id, data) {
return request({
url: `/finance/type/${id}`,
method: 'put',
data
})
}
export function deleteFeeType(id) {
return request({
url: `/finance/type/${id}`,
method: 'delete'
})
}
// 收据编号规则相关接口
export function listReceiptRule(params) {
return request({
url: '/receipt/number-rule/page',
method: 'get',
params
})
}
export function addReceiptRule(data) {
return request({
url: '/receipt/number-rule',
method: 'post',
data
})
}
export function deleteReceiptRule(id) {
return request({
url: `/receipt/number-rule/${id}`,
method: 'delete'
})
}
export function getNextReceiptNumber(ruleId) {
return request({
url: `/receipt/number/next/${ruleId}`,
method: 'get'
})
}
export function getBatchReceiptNumbers(ruleId, count) {
return request({
url: `/receipt/numbers/${ruleId}/${count}`,
method: 'get'
})
}
// 收据模板相关接口
export function getReceiptTemplateList(params) {
return request({
url: '/receipt/template/page',
method: 'get',
params
})
}
export function addReceiptTemplate(data) {
return request({
url: '/receipt/template',
method: 'post',
data
})
}
export function updateReceiptTemplate(id, data) {
return request({
url: `/receipt/template/${id}`,
method: 'put',
data
})
}
export function deleteReceiptTemplate(id) {
return request({
url: `/receipt/template/${id}`,
method: 'delete'
})
}
export function previewReceiptTemplate(id) {
return request({
url: `/receipt/template/preview/${id}`,
method: 'get',
responseType: 'blob'
})
}
export function downloadReceiptTemplate(id) {
return request({
url: `/receipt/template/download/${id}`,
method: 'get',
responseType: 'blob'
})
}
export function downloadExampleTemplate() {
return request({
url: '/receipt/template/download-example',
method: 'get',
responseType: 'blob'
})
}
export function getReceiptKeywords() {
return request({
url: '/receipt/template/keywords',
method: 'get'
})
}
export function checkTemplateName(params) {
return request({
url: '/receipt/template/check-name',
method: 'get',
params
})
}
// 收款方信息相关接口
export function getPayeeInfo(params) {
if (typeof params === 'object') {
// 查询列表
return request({
url: '/receipt/payee/page',
method: 'get',
params
})
} else {
// 查询详情
return request({
url: `/receipt/payee/${params}`,
method: 'get'
})
}
}
export function addPayeeInfo(data) {
return request({
url: '/receipt/payee',
method: 'post',
data
})
}
export function updatePayeeInfo(id, data) {
return request({
url: `/receipt/payee/${id}`,
method: 'put',
data
})
}
export function deletePayeeInfo(id) {
return request({
url: `/receipt/payee/${id}`,
method: 'delete'
})
}
// 项目列表
export function getProjectList() {
return request({
url: '/project/list',
method: 'get'
})
}
// 获取楼宇列表
export function getBuildingList(projectId) {
return request({
url: `/business/building/list/${projectId}`,
method: 'get'
})
}
/* 收费标准相关接口 */
// 分页查询收费标准列表
export function getChargingStandardPage(query) {
return request({
url: '/finance/charging-standard/page',
method: 'get',
params: query
})
}
// 根据ID查询收费标准详情
export function getChargingStandardById(id) {
return request({
url: `/finance/charging-standard/${id}`,
method: 'get'
})
}
// 新增收费标准
export function addChargingStandard(data) {
return request({
url: '/finance/charging-standard',
method: 'post',
data: data
})
}
// 修改收费标准
export function updateChargingStandard(data) {
return request({
url: '/finance/charging-standard',
method: 'put',
data: data
})
}
// 删除收费标准
export function deleteChargingStandard(id) {
return request({
url: `/finance/charging-standard/${id}`,
method: 'delete'
})
}
// 更新收费标准状态(立即失效)
export function updateChargingStandardStatus(id) {
return request({
url: `/finance/charging-standard/${id}/updateStatus`,
method: 'put'
})
}
// 检查收费标准名称是否存在
export function checkChargingStandardName(standardName, id) {
return request({
url: '/finance/charging-standard/check-name',
method: 'get',
params: { standardName, id }
})
}
// 根据状态查询收费标准列表
export function getChargingStandardListByStatus(status) {
return request({
url: '/finance/charging-standard/list-by-status',
method: 'get',
params: { status }
})
}
// 获取费用类型树
export function getFeeTypeTree(params) {
return request({
url: '/feeForeign/categories',
method: 'get',
params
})
}
// 预览账单
export function previewBill(data) {
return request({
url: '/finance/charging-standard/bill/preview',
method: 'post',
headers: {
'Content-Type': 'application/json'
},
data
})
}
// 生成账单
export function generateBill(data) {
return request({
url: '/finance/charging-standard/bill/generate',
method: 'post',
headers: {
'Content-Type': 'application/json'
},
data
})
}
/**
* 分页查询账单-收费标准关联表数据
* @param {Object} data - 查询参数
* @returns {Promise} - 返回Promise对象
*/
export function getBillChargingStandardRelPage(data) {
return request({
url: '/finance/bill-charging-standard-rel/page',
method: 'post',
data
})
}
/**
* 获取特定标准ID的绑定房间账单列表
* @param {string} standardId 收费标准ID
*/
export function getBillsByStandardId(standardId) {
return request({
url: `/finance/bill-charging-standard-rel/${standardId}/bills`,
method: 'get'
})
}
// 账单管理接口
export function addBill(data) {
return request({
url: '/bill/add',
method: 'post',
data
})
}
export function getBillList(data) {
return request({
url: '/bill/list',
method: 'post',
data
})
}
export function getBillDetail(billId) {
return request({
url: `/bill/detail/${billId}`,
method: 'get'
})
}
export function uploadBillAttachment(billId, file) {
const formData = new FormData()
formData.append('billId', billId)
formData.append('file', file)
return request({
url: '/bill/upload-attachment',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
// 账单附件删除
export function deleteBillAttachment(attachmentId) {
return request({
url: `/bill/attachment/delete/${attachmentId}`,
method: 'get'
})
}
export function getBillAttachmentList(billId) {
return request({
url: `/bill/attachment/list/${billId}`,
method: 'get'
})
}
export function exportBillList(data) {
return request({
url: '/bill/export',
method: 'post',
data,
responseType: 'blob'
})
}
// 收支流水相关接口
export function getTransactionList(params) {
return request({
url: '/finance/transaction/page',
method: 'get',
params
})
}
export function getTransactionDetail(id) {
return request({
url: `/finance/transaction/${id}`,
method: 'get'
})
}
export function addTransaction(data) {
return request({
url: '/finance/transaction',
method: 'post',
data
})
}
export function updateTransaction(data) {
return request({
url: '/finance/transaction',
method: 'put',
data
})
}
export function exportTransactionList(params) {
return request({
url: '/finance/transaction/export',
method: 'get',
params,
responseType: 'blob'
})
}
export function getTransactionAttachments(transactionId) {
return request({
url: `/finance/transaction/${transactionId}`,
method: 'get'
})
}
export function uploadTransactionAttachment(transactionId, file) {
const formData = new FormData()
formData.append('transactionId', transactionId)
formData.append('userId', localStorage.getItem('userId') || '')
formData.append('userName', localStorage.getItem('userName') || '')
formData.append('file', file)
return request({
url: '/finance/transaction/attachment',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
export function deleteTransactionAttachment(attachmentId) {
return request({
url: `/finance/transaction/attachment/file/${attachmentId}`,
method: 'delete'
})
}
export function previewAttachment(attachmentId) {
return request({
url: `/finance/transaction/attachment/preview/file/${attachmentId}`,
method: 'get',
responseType: 'blob'
})
}
export function previewAttachmentByFileId(fileId) {
return request({
url: `/finance/transaction/attachment/preview/file/${fileId}`,
method: 'get',
responseType: 'blob'
})
}
export function downloadAttachment(fileId, fileName) {
return request({
url: `/finance/transaction/attachment/download/${fileId}`,
method: 'get',
params: { fileName },
responseType: 'blob'
})
}
export function deleteAttachmentByFileId(fileId) {
return request({
url: `/finance/transaction/attachment/file/${fileId}`,
method: 'delete',
params: {
userId: localStorage.getItem('userId') || ''
}
})
}
export function addTransactionOperation(data) {
return request({
url: '/finance/transaction/operation',
method: 'post',
data
})
}
export function getTransactionOperationLogs(transactionId, query) {
return request({
url: `/finance/transaction/${transactionId}`,
method: 'get'
})
}
// 获取所有收支账户
export function getAllFinanceAccounts() {
return request({
url: '/finance/account/list',
method: 'get'
})
}
// 账单调整相关接口
// 添加账单调整(按金额或按比例)
export function addBillAdjustment(data) {
return request({
url: '/v1/bill-adjustments',
method: 'post',
data
})
}
// 作废账单调整
export function voidBillAdjustment(data) {
return request({
url: '/v1/bill-adjustments/void',
method: 'put',
data
})
}
// 分页查询账单调整记录
export function getBillAdjustmentList(params) {
return request({
url: '/v1/bill-adjustments',
method: 'get',
params
})
}
// 获取账单调整详情
export function getBillAdjustmentDetail(id) {
return request({
url: `/v1/bill-adjustments/${id}`,
method: 'get'
})
}
// 上传账单调整附件
export function uploadBillAdjustmentAttachment(id, file) {
const formData = new FormData()
formData.append('file', file)
return request({
url: `/v1/bill-adjustments/${id}/attachments`,
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
// 删除账单调整附件
export function deleteBillAdjustmentAttachment(attachmentId) {
return request({
url: `/v1/bill-adjustments/attachments/${attachmentId}`,
method: 'delete'
})
}
// 获取账单明细
export function getBillDetailById(detailId) {
return request({
url: `/v1/bill-details/${detailId}`,
method: 'get'
})
}
// 获取账单调整附件列表
export function getBillAdjustmentAttachmentList(adjustmentId) {
return request({
url: `/v1/bill-adjustments/attachments/view/${adjustmentId}`,
method: 'get'
})
}
// 获取账单操作记录
export function getBillOperationRecords(billId, params) {
return request({
url: `/v1/operation-records/list/${billId}`,
method: 'get',
params
})
}
// 账单支付相关接口
// 提交账单支付
export function submitBillPayment(data) {
return request({
url: '/v1/bill-payments',
method: 'post',
data
})
}
// 分页查询支付记录
export function getBillPaymentRecords(params) {
return request({
url: '/v1/bill-payments',
method: 'get',
params
})
}
// 获取支付详情
export function getBillPaymentDetail(id) {
return request({
url: `/v1/bill-payments/${id}`,
method: 'get'
})
}
// 上传支付附件
export function uploadBillPaymentAttachment(id, file) {
const formData = new FormData()
formData.append('file', file)
return request({
url: `/v1/bill-payments/${id}/attachments`,
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
// 删除支付附件
export function deleteBillPaymentAttachment(attachmentId) {
return request({
url: `/v1/bill-payments/attachments/${attachmentId}`,
method: 'delete'
})
}