You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cz-hjjc-ht/src/api/budget/budgetCollectionPackage.js

187 lines
4.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import request from '@/utils/request'
import { BUDGET_API_PREFIX } from './budgetBase'
/**
* 预算采集年度大包管理 API
*/
// 获取预算采集年度大包列表
export function getBudgetCollectionPackageList(params) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package`,
method: 'get',
params
})
}
// 获取预算采集年度大包详情
export function getBudgetCollectionPackageDetail(id) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package/${id}`,
method: 'get'
})
}
// 创建预算采集年度大包
export function createBudgetCollectionPackage(data) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package`,
method: 'post',
data
})
}
// 更新预算采集年度大包
export function updateBudgetCollectionPackage(id, data) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package/${id}`,
method: 'put',
data
})
}
// 删除预算采集年度大包
export function deleteBudgetCollectionPackage(id) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package/${id}`,
method: 'delete'
})
}
// 批量删除预算采集年度大包
export function batchDeleteBudgetCollectionPackage(ids) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package/batch-destroy`,
method: 'post',
data: { ids }
})
}
// 批量保存当前年度预算包的排序值
export function batchUpdateBudgetCollectionPackageSortOrder(yearId, items) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package/batch-update-sort-order`,
method: 'post',
data: { year_id: yearId, items }
})
}
// 手工重新计算单个大包的自动汇总金额
export function recalculateBudgetCollectionPackageAmount(id) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package/${id}/recalculate-allocated-amount`,
method: 'post'
})
}
// 手工重新计算一个年度内全部大包的自动汇总金额
export function recalculateBudgetCollectionYearPackageAmounts(yearId) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package/recalculate-year-allocated-amount`,
method: 'post',
data: { year_id: yearId }
})
}
// 获取预算包选择列表(用于下拉框)
export function getBudgetCollectionPackageOptions(params) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package-options`,
method: 'get',
params
})
}
// 获取预算包汇总数据
export function getBudgetCollectionPackageSummary(params) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package-summary`,
method: 'get',
params
})
}
// === 新的3层结构API ===
// 创建项目包(第2层)
export function createProject(data) {
return request({
url: '/api/ht/budget-collection-package/create-project',
method: 'post',
data
})
}
// 创建执行科室包(第3层)
export function createDepartmentPackage(data) {
return request({
url: '/api/ht/budget-collection-package/create-department-package',
method: 'post',
data
})
}
// 获取项目列表(第2层)
export function getProjects(params) {
return request({
url: '/api/ht/budget-collection-package/projects',
method: 'get',
params
})
}
// 获取大包列表(第1层)
export function getBigPackages(params) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package`,
method: 'get',
params: {
...params,
level: 1
}
})
}
// 获取执行科室包列表(第3层)
export function getDepartmentPackages(params) {
return request({
url: `${BUDGET_API_PREFIX}/budget-collection-package`,
method: 'get',
params: {
...params,
level: 3
}
})
}
// 项目类型选项
export function getProjectTypeOptions() {
return Promise.resolve([
{ value: 'equipment', label: '设备采购' },
{ value: 'construction', label: '基建工程' },
{ value: 'information', label: '信息化建设' },
{ value: 'training', label: '培训教育' },
{ value: 'maintenance', label: '维护保养' },
{ value: 'operation', label: '运营费用' }
])
}
// 包状态选项
export function getPackageStatusOptions() {
return Promise.resolve([
{ value: 'draft', label: '草稿' },
{ value: 'active', label: '生效' },
{ value: 'closed', label: '关闭' },
{ value: 'suspended', label: '暂停' }
])
}
// 获取经济分类列表
export function getEconomicClassifications(params) {
return request({
url: `${BUDGET_API_PREFIX}/economic-categories`,
method: 'get',
params
})
}