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' }) }