fix : 修复需求上报排版、费用分摊传参、需求汇总查询字段

This commit is contained in:
2024-06-28 22:37:30 +08:00
parent 16c4e07a86
commit 942fc219e2
3 changed files with 165 additions and 101 deletions

View File

@@ -1,40 +1,16 @@
<template>
<div class="detail-block" v-loading="loading">
<baseTitle title="需求上报"></baseTitle>
<el-form :model="formData" ref="summaryForm" :rules="rules" label-width="140">
<el-row gutter="50">
<el-col :span="12">
<el-form-item label="项目名称" prop="projectName">
<el-form :model="formData" ref="summaryForm" :rules="rules">
<el-row gutter="15">
<!-- label-width="140"-->
<el-col :span="8">
<el-form-item label="项目名称" prop="projectName" label-width="105">
<el-input v-model="formData.projectName" placeholder="请输入项目名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6" v-if="!route.query.id">
<el-form-item label="是否专项资金" prop="isSpecialFund">
<el-radio-group v-model="formData.isSpecialFund" @change="specialFundChange">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="5" v-if="route.query.id && formData.isSpecialFund">
<el-form-item label="专项资金" prop="specialFundId">
<span>{{ formData.specialFund }}</span>
</el-form-item>
</el-col>
<el-col :span="6" v-if="!route.query.id && formData.isSpecialFund">
<el-form-item label="专项资金" prop="specialFundId">
<el-select v-model="formData.specialFundId" placeholder="请选择专项资金" clearable filterable>
<el-option
v-for="item in specialFundOption"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="开始时间" prop="startTime">
<el-col :span="8">
<el-form-item label="开始时间" prop="startTime" label-width="145">
<el-config-provider>
<el-date-picker
v-model="formData.startTime"
@@ -47,9 +23,9 @@
</el-config-provider>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="8">
<el-form-item label="结束时间" prop="endTime"
:title="!formData.startTime?'请先选择开始时间!':''">
:title="!formData.startTime?'请先选择开始时间!':''" label-width="134">
<el-config-provider>
<el-date-picker
v-model="formData.endTime"
@@ -64,8 +40,8 @@
</el-config-provider>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="项目类型" prop="projectType">
<el-col :span="8">
<el-form-item label="项目类型" prop="projectType" label-width="105">
<el-select v-model="formData.projectType" placeholder="请选择项目类型" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('project_type')"
@@ -76,8 +52,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="研发主体" prop="rdSubject">
<el-col :span="8">
<el-form-item label="研发主体" prop="rdSubject" label-width="145">
<el-select v-model="formData.rdSubject" placeholder="请选择研发主体" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('rd_subject')"
@@ -88,8 +64,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出资类型" prop="investmentType">
<el-col :span="8">
<el-form-item label="出资类型" prop="investmentType" label-width="134">
<el-select v-model="formData.investmentType" placeholder="请选择出资类型" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('invest_type')"
@@ -100,8 +76,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目影响" prop="projectImpact">
<el-col :span="8">
<el-form-item label="项目影响" prop="projectImpact" label-width="105">
<el-select v-model="formData.projectImpact" placeholder="请选择项目影响" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('project_impact')"
@@ -112,8 +88,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属业务板块" prop="businessSegment">
<el-col :span="8">
<el-form-item label="所属业务板块" prop="businessSegment" label-width="145">
<el-select v-model="formData.businessSegment" placeholder="请选择所属业务板块" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('business_segment')"
@@ -124,19 +100,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="预期成果形式" prop="resultForm">
<el-select v-model="formData.resultForm" placeholder="请选择预期成果形式" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('result_form')"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="8">
<el-form-item label="预期技术标准制定" prop="technicalStandard">
<el-select v-model="formData.technicalStandard" placeholder="请选择预期技术标准制定" clearable filterable>
<el-option
@@ -149,7 +113,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="产学研联合" prop="industryUniversityResearch">
<el-form-item label="产学研联合" prop="industryUniversityResearch" label-width="105">
<el-radio-group v-model="formData.industryUniversityResearch">
<el-radio v-for="item in cacheStore.getDict('industry_university')"
:key="item.value"
@@ -168,7 +132,32 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="!route.query.id && formData.isSpecialFund?4:12" v-if="!route.query.id">
<el-form-item label="是否专项资金" prop="isSpecialFund" >
<el-radio-group v-model="formData.isSpecialFund" @change="specialFundChange">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8" v-if="route.query.id && formData.isSpecialFund">
<el-form-item label="专项资金名称" prop="specialFundId">
<span>{{ formData.specialFund }}</span>
</el-form-item>
</el-col>
<el-col :span="8" v-if="!route.query.id && formData.isSpecialFund" >
<el-form-item label="专项资金名称" prop="specialFundId" label-width="135">
<el-select v-model="formData.specialFundId" placeholder="请选择专项资金名称" clearable filterable>
<el-option
v-for="item in specialFundOption"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="知识产权状况" prop="intellectualProperty">
<el-select v-model="formData.intellectualProperty" placeholder="请选择知识产权状况" clearable filterable>
<el-option
@@ -180,52 +169,64 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="预期成果形式" prop="resultForm">
<el-select v-model="formData.resultForm" placeholder="请选择预期成果形式" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('result_form')"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<baseTitle title="预期知识产权"></baseTitle>
</el-col>
<el-col :span="6">
<el-form-item label="发明专利(项)" prop="inventionPatent">
<el-col :span="8">
<el-form-item label="发明专利(项)" prop="inventionPatent" label-width="107">
<el-input-number v-model="formData.inventionPatent" placeholder="请输入发明专利" :controls="false"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="8">
<el-form-item label="实用性新型专利(项)" prop="newPatent" label-width="145">
<el-input-number v-model="formData.newPatent" placeholder="请输入实用性新型专利" :controls="false"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="软件著作权(项)" prop="softwareCopyright">
<el-col :span="8">
<el-form-item label="软件著作权(项)" prop="softwareCopyright" label-width="135">
<el-input-number v-model="formData.softwareCopyright" placeholder="请输入软件著作权" :controls="false"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="著作权(项)" prop="copyright">
<el-col :span="8">
<el-form-item label="著作权(项)" prop="copyright" label-width="107">
<el-input-number v-model="formData.copyright" placeholder="请输入著作权" :controls="false"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="其他(项)" prop="other">
<el-col :span="8">
<el-form-item label="其他(项)" prop="other" label-width="145">
<el-input-number v-model="formData.other" placeholder="请输入其他" :controls="false"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="经济概算(元)" prop="economicEstimate">
<el-col :span="8">
<el-form-item label="经济概算(元)" prop="economicEstimate" label-width="135">
<el-input-number v-model="formData.economicEstimate" placeholder="请输入经济概算" :controls="false"/>
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.isSpecialFund!==false">
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount" label-width="280">
<el-col :span="16" v-if="formData.isSpecialFund">
<el-form-item label="其中申请公司总部科技创新专项资金(元)">
<el-input-number v-model="formData.specialFundAmount" placeholder="请输入专项资金" :controls="false"/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="现有业务描述" prop="serviceDescription">
<el-form-item label="现有业务描述" prop="serviceDescription" label-width="107">
<el-input v-model="formData.serviceDescription" placeholder="请输入现有业务描述" rows="4" type="textarea"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="研发项目关键内容描述" prop="contentDescription" label-width="140">
<el-form-item label="研发项目关键内容描述" prop="contentDescription" label-width="107">
<el-input v-model="formData.contentDescription" placeholder="请输入研发项目关键内容描述" rows="4" type="textarea"
clearable></el-input>
</el-form-item>
@@ -337,11 +338,11 @@ const getIsFund = async () => {
})
}
const getFundName = (id) => {
let label=''
let label = ''
specialFundOption.value.forEach(item => {
if(item.value==id){
label=item.label
}
if (item.value == id) {
label = item.label
}
})
return label
}
@@ -448,8 +449,8 @@ const handleResubmit = debounce(() => {
} else {
attachment.value.clearValidate()
}
if (formData.value.isSpecialFund&&formData.value.specialFund === null) {
formData.value.specialFund=getFundName(formData.value.specialFundId)
if (formData.value.isSpecialFund && formData.value.specialFund === null) {
formData.value.specialFund = getFundName(formData.value.specialFundId)
}
let params = {
...formData.value,
@@ -482,7 +483,7 @@ const getDetailInfo = async () => {
type: res.code === 1000 ? 'success' : 'error'
})
if (res.code === 1000) {
res.data.formData.specialFundId= res.data.formData.specialFundId===0?null:res.data.formData.specialFundId
res.data.formData.specialFundId = res.data.formData.specialFundId === 0 ? null : res.data.formData.specialFundId
formData.value = res.data.formData
loading.value = false
}

View File

@@ -8,6 +8,35 @@ import fvSelect from '@/fvcomponents/fvSelect/index.vue'
const tableIns = ref()
const router = useRouter()
const shortcuts = [
{
text: '上周',
value: () => {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
return [start, end]
},
},
{
text: '上月',
value: () => {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
return [start, end]
},
},
{
text: '三月前',
value: () => {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
return [start, end]
},
},
]
const searchConfig = reactive([
{
label: '征集名称',
@@ -32,6 +61,18 @@ const searchConfig = reactive([
},
colProps: {}
},
{
label: '项目影响',
prop: 'projectImpact',
component: shallowRef(fvSelect),
props: {
cacheKey: 'project_impact',
placeholder: '请选择项目影响',
clearable: true,
filterable: true,
},
colProps: {}
},
{
label: '研发主体',
prop: 'rdSubject',
@@ -40,9 +81,31 @@ const searchConfig = reactive([
placeholder: '请选择研发主体',
cacheKey: 'rd_subject',
clearable: true,
filterable: true
},
colProps: {}
filterable: true,
}
},
{
label: '起止时间',
prop: 'dateValue',
component: 'el-date-picker',
props: {
clearable: true,
type: 'daterange',
startPlaceholder: '开始日期',
endPlaceholder: '结束日期',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
shortcuts: shortcuts
}
},
{
label: '状态',
prop: 'state',
component: shallowRef(fvSelect),
props: {
placeholder: '请选择状态',
clearable: true,
cacheKey: 'project_initiation'
}
},
// {
// label: '项目影响',