feat: 项目基本信息新增实际经费预算和专项资金相关字段

This commit is contained in:
dj
2025-03-31 14:12:28 +08:00
parent f9aa6191ce
commit 244f2e72b4
12 changed files with 313 additions and 54 deletions

View File

@@ -10,6 +10,13 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="6" v-if="title==='apply'">
<!-- label-width="106"-->
<el-form-item label="实际专项资金" prop="specialFundAmount" label-width="121" >
<el-input v-model="localFormData.specialFundAmount" placeholder="请输入实际专项资金">
</el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="6" v-if="title==='apply'">-->
<!-- &lt;!&ndash; label-width="106"&ndash;&gt;-->
<!-- <el-form-item label="实际专项资金" prop="budget" label-width="120">-->
@@ -230,7 +237,7 @@ const pageInfo = reactive({
})
const rules = reactive({
actualEconomicEstimate: [{required: true, message: '请输入实际经费预算', trigger: ['blur','change']}],
// projectChargePerson: [{required: true, message: '请选择项目负责人', trigger: 'blur'}],
specialFundAmount: [{required: true, message: '请输入实际专项资金', trigger: 'blur'}],
// projectPerson: [{required: true, message: '请选择项目成员', trigger: 'blur'}],
})
const tagsViewStore = useTagsView()
@@ -549,7 +556,8 @@ const handleSubmit = async (instance) => {
fileList: files,
// singleFile: attachment.value.singleFile,
projectId: projectId.value,
actualEconomicEstimate: localFormData.value.actualEconomicEstimate,
actualEconomicEstimate: parseFloat(localFormData.value.actualEconomicEstimate),
specialFundAmount: parseFloat(localFormData.value.specialFundAmount),
preProcess: JSON.stringify(localFormData.value.preProcess)
}
if (sessionParams.value.preProcess && !localFormData.value.preProcess) {

View File

@@ -294,6 +294,22 @@ const schema = computed(() => {
</div>
)
},
{
label: '实际经费预算',
prop: 'actualEconomicEstimate',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.actualEconomicEstimate ?
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '产学研联合',
prop: 'industryUniversityResearch',
@@ -335,6 +351,22 @@ const schema = computed(() => {
},
{
label: '预估专项资金(元)',
prop: 'forecastSpecialFundAmount',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.forecastSpecialFundAmount ?
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '实际专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6

View File

@@ -1,6 +1,6 @@
<template>
<fvSearchForm :searchConfig="searchConfig" @search="search" style="margin-left: 16px"></fvSearchForm>
<fvTable ref="tableIns" :tableConfig="tableConfig">
<!-- <fvSearchForm :searchConfig="searchConfig" @search="search" style="margin-left: 16px"></fvSearchForm>-->
<fvTable ref="tableIns" :tableConfig="tableConfig" style="margin-top: 15px">
<template #empty>
<el-empty description="暂无数据"/>
</template>
@@ -115,114 +115,96 @@ const tableConfig = reactive({
// }
// },
{
prop: 'affiliatedCompany',
prop: 'paymentYear',
label: '支出年份',
align: 'center'
},
{
prop: 'projectName',
prop: 'paymentMonth',
label: '月份',
align: 'center'
},
{
prop: 'projectCost',
prop: 'masterProjectName',
label: '主项目',
align: 'center',
width: 120,
showOverflowTooltip: false,
currentRender: ({row, index}) => {
if (row.projectCost !== null&&row.projectCost !== null&&row.projectCost!==undefined) {
return (<Tag dictType={'project_cost'} value={row.projectCost}/>)
} else {
return '--'
}
}
},
{
prop: 'time',
prop: 'subProjectName',
label: '子项目',
align: 'center',
width: 120,
},
{
prop: 'researchStage',
prop: 'projectType',
label: '项目类型',
align: 'center',
width: 120,
showOverflowTooltip: false,
currentRender: ({row, index}) => {
if (row.researchStage&&row.researchStage !== null&&row.researchStage!==undefined) {
return (<Tag dictType={'research_stage'} value={row.researchStage}/>)
if (row.projectType&&row.projectType !== null&&row.projectType!==undefined) {
return (<Tag dictType={'project_type'} value={row.projectType}/>)
} else {
return '--'
}
}
},
{
prop: 'digest',
prop: 'rdType',
label: 'RAD统计类型',
align: 'center'
},
{
prop: 'digest',
prop: 'paymentProcessType',
label: '付款流程类型',
align: 'center',
currentRender:({row})=>{
return <span>{toThousands(row.afterTax)}</span>
}
},
{
prop: 'digest',
prop: 'processState',
label: '流程状态',
align: 'center',
showOverflowTooltip: false,
currentRender: ({row, index}) => {
if (row.source&&row.source !== null&&row.source!==undefined) {
return (<Tag dictType={'ledger_source'} value={row.source}/>)
} else {
return '--'
}
}
},
{
prop: 'digest',
prop: 'filingTime',
label: '归档时间',
align: 'center',
},
{
prop: 'digest',
prop: 'paymentProcessNum',
label: '付款流程编号',
align: 'center',
},
{
prop: '付款/请款事由',
label: '来源',
align: 'center',
},
{
prop: 'digest',
prop: 'paymentAmount',
label: '付款金额',
align: 'center',
},
{
prop: 'digest',
prop: 'paymentSubject',
label: '付款/请款事由',
align: 'center',
},
{
prop: 'contractNum',
label: '合同编号',
align: 'center',
},
{
prop: 'digest',
prop: 'contractName',
label: '合同名称',
align: 'center',
},
{
prop: 'digest',
prop: 'contractSumAmount',
label: '合同金额(元)',
align: 'center',
},
],
api: '',
api: '/workflow/mosr/payment/list',
params: {},
export:{
open :true,

View File

@@ -46,6 +46,11 @@ const tableConfig = reactive({
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
}
},
{
prop: 'processNumber',
label: '编号',
align: 'center',
},
{
prop: 'requirementName',
label: '征集名称',

View File

@@ -183,15 +183,15 @@
</el-form-item>
</el-col>
<el-col :span="6" v-if="formData.isSpecialFund">
<el-form-item label="预估专项资金(元)" prop="specialFundAmount">
<el-form-item label="预估专项资金(元)" prop="forecastSpecialFundAmount">
<el-input
v-model="formData.specialFundAmount"
v-model="formData.forecastSpecialFundAmount"
placeholder="请输入预估专项资金"
clearable
:formatter="(value) => value.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"
:parser="(value) => value.replace(/\$\s?|(,*)+[^0-9.]/g, '')" @change="changeCollectData"
/>
<!-- <el-input-number v-model="formData.specialFundAmount" placeholder="请输入预估专项资金" :controls="false"/>-->
<!-- <el-input-number v-model="formData.forecastSpecialFundAmount" placeholder="请输入预估专项资金" :controls="false"/>-->
</el-form-item>
</el-col>
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':'-40px'}">
@@ -447,7 +447,7 @@ const rules = reactive({
economicEstimate: [{required: true, message: '请输入预估经费预算', trigger: ['blur', 'change']}],
isSpecialFund: [{required: true, message: '请选择是否为专项资金', trigger: ['blur', 'change']}],
isWithinBudget: [{required: true, message: '请选择是否在预算内', trigger: ['blur', 'change']}],
specialFundAmount: [{required: true, message: '请输入专项资金', trigger: ['blur', 'change']}],
forecastSpecialFundAmount: [{required: true, message: '请输入专项资金', trigger: ['blur', 'change']}],
serviceDescription: [{required: true, message: '请输入现有业务描述', trigger: ['blur', 'change']}],
contentDescription: [{required: true, message: '请输入研发项目关键内容描述', trigger: ['blur', 'change']}]
})

View File

@@ -88,7 +88,7 @@ const searchConfig = ref([
},
{
label: '承办单位',
prop: 'undertaker',
prop: 'affiliatedCompanyId',
component: 'el-tree-select',
props: {
placeholder: '请输入承办单位查询',
@@ -218,6 +218,11 @@ const tableConfig = reactive({
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
}
},
{
prop: 'processNumber',
label: '编号',
align: 'center',
},
{
prop: 'requirementName',
label: '征集名称',
@@ -441,7 +446,7 @@ const handleDetail = (row) => {
}
const init = async () => {
const res = await getSubCompOpt()
searchConfig.value.find(item=>item.prop == 'undertaker').props.data = res.data
searchConfig.value.find(item=>item.prop == 'affiliatedCompanyId').props.data = res.data
}
init()

View File

@@ -171,6 +171,21 @@ const schema = computed(() => {
}
</div>
)
}, {
label: '实际经费预算',
prop: 'actualEconomicEstimate',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.actualEconomicEstimate ?
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '产学研联合',
@@ -210,9 +225,24 @@ const schema = computed(() => {
colProps: {
span: 6
}
},{
label: '预估专项资金(元)',
prop: 'forecastSpecialFundAmount',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.forecastSpecialFundAmount ?
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '预估专项资金(元)',
label: '实际专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
@@ -249,6 +279,13 @@ const schema = computed(() => {
colProps: {
span: 6
}
},
{
label: '主项目',
prop: 'masterProjectName',
colProps: {
span: 6
}
}
]
})

View File

@@ -178,6 +178,22 @@ const schema = computed(() => {
</div>
)
},
{
label: '实际经费预算',
prop: 'actualEconomicEstimate',
colProps: {
span: 6
},
component: () => (
<div>
{
basicData.value?.actualEconomicEstimate ?
<span>{toThousands(basicData.value?.actualEconomicEstimate)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '产学研联合',
prop: 'industryUniversityResearch',
@@ -219,6 +235,22 @@ const schema = computed(() => {
},
{
label: '预估专项资金(元)',
prop: 'forecastSpecialFundAmount',
colProps: {
span: 6
},
component: () => (
<div>
{
basicData.value?.forecastSpecialFundAmount ?
<span>{toThousands(basicData.value?.forecastSpecialFundAmount)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '实际专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
@@ -255,6 +287,13 @@ const schema = computed(() => {
colProps: {
span: 6
}
},
{
label: '主项目',
prop: 'masterProjectName',
colProps: {
span: 6
}
}
]
})

View File

@@ -244,6 +244,21 @@ const schema = computed(() => {
}
</div>
)
}, {
label: '实际经费预算',
prop: 'actualEconomicEstimate',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.actualEconomicEstimate ?
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '产学研联合',
@@ -283,9 +298,24 @@ const schema = computed(() => {
colProps: {
span: 6
}
}, {
label: '预估专项资金(元)',
prop: 'forecastSpecialFundAmount',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.forecastSpecialFundAmount ?
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '预估专项资金(元)',
label: '实际专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
@@ -322,6 +352,13 @@ const schema = computed(() => {
colProps: {
span: 6
}
},
{
label: '主项目',
prop: 'masterProjectName',
colProps: {
span: 6
}
}
]
})

View File

@@ -184,6 +184,21 @@ const schema = computed(() => {
}
</div>
)
},{
label: '实际经费预算',
prop: 'actualEconomicEstimate',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.actualEconomicEstimate ?
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '产学研联合',
@@ -223,9 +238,24 @@ const schema = computed(() => {
colProps: {
span: 6
}
}, {
label: '预估专项资金(元)',
prop: 'forecastSpecialFundAmount',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.forecastSpecialFundAmount ?
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '预估专项资金(元)',
label: '实际专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
@@ -262,6 +292,13 @@ const schema = computed(() => {
colProps: {
span: 6
}
},
{
label: '主项目',
prop: 'masterProjectName',
colProps: {
span: 6
}
}
]
})

View File

@@ -159,6 +159,21 @@ const schema = computed(() => {
}
</div>
)
}, {
label: '实际经费预算',
prop: 'actualEconomicEstimate',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.actualEconomicEstimate ?
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '产学研联合',
@@ -201,6 +216,22 @@ const schema = computed(() => {
},
{
label: '预估专项资金(元)',
prop: 'forecastSpecialFundAmount',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.forecastSpecialFundAmount ?
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '实际专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
@@ -237,6 +268,13 @@ const schema = computed(() => {
colProps: {
span: 6
}
},
{
label: '主项目',
prop: 'masterProjectName',
colProps: {
span: 6
}
}
]
})

View File

@@ -268,6 +268,22 @@ const schema = computed(() => {
</div>
)
},
{
label: '实际经费预算',
prop: 'actualEconomicEstimate',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.actualEconomicEstimate ?
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '产学研联合',
prop: 'industryUniversityResearch',
@@ -316,6 +332,22 @@ const schema = computed(() => {
},
{
label: '预估专项资金(元)',
prop: 'forecastSpecialFundAmount',
colProps: {
span: 6
},
component: () => (
<div>
{
baseFormData.value?.forecastSpecialFundAmount ?
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
: <span>{'--'}</span>
}
</div>
)
},
{
label: '实际专项资金(元)',
prop: 'specialFundAmount',
colProps: {
span: 6
@@ -352,6 +384,13 @@ const schema = computed(() => {
colProps: {
span: 6
}
},
{
label: '主项目',
prop: 'masterProjectName',
colProps: {
span: 6
}
}
]
})