weizong song 12 months ago
parent 4d6cc6926e
commit 99e0f84b0c

@ -148,3 +148,12 @@ export function getPackageStatusOptions() {
{ value: 'suspended', label: '暂停' } { value: 'suspended', label: '暂停' }
]) ])
} }
// 获取经济分类列表
export function getEconomicClassifications(params) {
return request({
url: '/api/admin/economic-categories',
method: 'get',
params
})
}

@ -1,5 +1,14 @@
<template> <template>
<div class="budget-submission-form"> <div class="budget-submission-form">
<!--
该表单的数据来源说明
- formData由组件的data中定义并在created生命周期钩子中通过initFormData方法初始化
- initFormData会根据传入的packageData预算包数据填充科室年度分配金额子项名称大项目名称等字段
- 子项名称和大项目名称通过API getPackageProjectNames(packageId) 异步获取
- 其他如departmentNamebudgetYearallocatedAmount等直接从packageData对象中获取
- formRules为表单校验规则通常在data中静态定义
这些数据确保表单展示的内容与后端预算包及相关项目信息保持同步
-->
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="120px"> <el-form ref="formRef" :model="formData" :rules="formRules" label-width="120px">
<!-- 基本信息 --> <!-- 基本信息 -->
@ -1247,12 +1256,22 @@ export default {
console.warn('获取项目名称失败:', error.message) console.warn('获取项目名称失败:', error.message)
} }
console.log('this.packageData.level:', this.packageData.level)
// packagesubmission // packagesubmission
if (this.packageData.level == 2) {
this.parentSubmissionInfo = { this.parentSubmissionInfo = {
application_basis: (this.packageData.parent && this.packageData.parent.application_basis) || '', application_basis: (this.packageData.application_basis) || '',
application_purpose: (this.packageData.parent && this.packageData.parent.application_purpose) || '', application_purpose: (this.packageData.application_purpose) || '',
application_reason: (this.packageData.parent && this.packageData.parent.application_reason) || '', application_reason: (this.packageData.application_reason) || '',
project_content: (this.packageData.parent && this.packageData.parent.project_content) || '' project_content: (this.packageData.project_content) || ''
}
} else if (this.packageData.level == 3) {
this.parentSubmissionInfo = {
application_basis: (this.packageData.parent.submission && this.packageData.parent.submission.application_basis) || '',
application_purpose: (this.packageData.parent.submission && this.packageData.parent.submission.application_purpose) || '',
application_reason: (this.packageData.parent.submission && this.packageData.parent.submission.application_reason) || '',
project_content: (this.packageData.parent.submission && this.packageData.parent.submission.project_content) || ''
}
} }
// //

@ -135,6 +135,7 @@
</el-tooltip> </el-tooltip>
<!-- 隐藏域确保department_id在表格数据中 --> <!-- 隐藏域确保department_id在表格数据中 -->
<input type="hidden" :value="scope.row.departmentId || scope.row.department_id" /> <input type="hidden" :value="scope.row.departmentId || scope.row.department_id" />
<input type="hidden" :value="scope.row.packageId || scope.row.package_id" />
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -144,7 +145,7 @@
<el-input <el-input
v-model.number="scope.row.allocatedAmount" v-model.number="scope.row.allocatedAmount"
type="number" type="number"
:min="0.0001" :min="0.1"
:step="0.1" :step="0.1"
placeholder="请输入分配金额" placeholder="请输入分配金额"
@input="validateAllocation" @input="validateAllocation"
@ -354,6 +355,7 @@ export default {
try { try {
if (this.packageData.children && this.packageData.children.length > 0) { if (this.packageData.children && this.packageData.children.length > 0) {
this.departmentAllocations = this.packageData.children.map(child => ({ this.departmentAllocations = this.packageData.children.map(child => ({
packageId: child.id,
departmentId: child.department.id, departmentId: child.department.id,
departmentName: child.department.name, departmentName: child.department.name,
allocatedAmount: child.allocated_amount, allocatedAmount: child.allocated_amount,
@ -508,6 +510,7 @@ export default {
const allocation = { const allocation = {
department_id: item.departmentId, department_id: item.departmentId,
package_id: item.packageId,
allocated_amount: parseFloat(item.allocatedAmount), allocated_amount: parseFloat(item.allocatedAmount),
package_name: item.childPackageName, package_name: item.childPackageName,
description: item.description || '' description: item.description || ''

File diff suppressed because it is too large Load Diff

@ -593,6 +593,8 @@ export default {
const processedNode = { const processedNode = {
id: node.id, id: node.id,
name: node.name, name: node.name,
level: node.level,
parent: node.parent,
parent_name: parentName, // parent_name: parentName, //
allocated_amount: node.allocated_amount, allocated_amount: node.allocated_amount,
decomposed_amount: node.decomposed_amount, decomposed_amount: node.decomposed_amount,

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save