fix : 修复需求上报排版、费用分摊传参、需求汇总查询字段
This commit is contained in:
@@ -36,12 +36,12 @@
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="researchPersonnel" label="研发人员" width="230">
|
||||
<el-table-column prop="researchPersonnelId" label="研发人员" width="230">
|
||||
<template #default="scope">
|
||||
<el-form-item prop="researchPersonnel">
|
||||
{{ scope.row.researchPersonnelName }}
|
||||
<el-form-item prop="researchPersonnelId">
|
||||
{{ scope.row.researchPersonnel }}
|
||||
<el-button @click="showPersonnelPicker(scope.row,scope.$index)">
|
||||
{{ scope.row.researchPersonnelName ? '更改' : '请选择研发人员' }}
|
||||
{{ scope.row.researchPersonnel ? '更改' : '请选择研发人员' }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</template>
|
||||
@@ -163,7 +163,7 @@ const rules = reactive({
|
||||
shareName: [{required: true, message: '请输入分摊名称', trigger: ['blur', 'change']}],
|
||||
apportionmentMonth: [{required: true, message: '请选择月份', trigger: ['blur', 'change']}],
|
||||
projectId: [{required: true, message: '请选择项目名称', trigger: ['blur', 'change']}],
|
||||
// researchPersonnel: [{required: true, message: '请选择研发人员', trigger: ['blur', 'change']}],
|
||||
// researchPersonnelId: [{required: true, message: '请选择研发人员', trigger: ['blur', 'change']}],
|
||||
wagesPayable: [{required: true, message: '请输入应发工资', trigger: ['blur', 'change']}],
|
||||
performance: [{required: true, message: '请输入绩效', trigger: ['blur', 'change']}],
|
||||
reserveFund: [{required: true, message: '请输入公积金', trigger: ['blur', 'change']}],
|
||||
@@ -187,7 +187,7 @@ const formData = ref({
|
||||
{
|
||||
projectId: '',
|
||||
projectName: '',
|
||||
researchPersonnel: '',
|
||||
researchPersonnelId: '',
|
||||
wagesPayable: null,
|
||||
performance: null,
|
||||
reserveFund: null,
|
||||
@@ -216,8 +216,8 @@ const selected = (select) => {
|
||||
}
|
||||
formData.value.tableData.forEach((item, index) => {
|
||||
if (index === currentIndex.value) {
|
||||
item.researchPersonnel = select[0].id
|
||||
item.researchPersonnelName = select[0].name
|
||||
item.researchPersonnelId = select[0].id
|
||||
item.researchPersonnel = select[0].name
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -242,8 +242,8 @@ const handleAdd = () => {
|
||||
let row = {
|
||||
projectId: '',
|
||||
projectName: '',
|
||||
researchPersonnelId: '',
|
||||
researchPersonnel: '',
|
||||
researchPersonnelName: '',
|
||||
wagesPayable: null,
|
||||
performance: null,
|
||||
reserveFund: null,
|
||||
@@ -259,8 +259,8 @@ const handleCopy = (row) => {
|
||||
let copyObj = {
|
||||
projectId: row.projectId,
|
||||
projectName: '',
|
||||
researchPersonnelId: row.researchPersonnelId,
|
||||
researchPersonnel: row.researchPersonnel,
|
||||
researchPersonnelName: row.researchPersonnelName,
|
||||
wagesPayable: row.wagesPayable,
|
||||
performance: row.performance,
|
||||
reserveFund: row.reserveFund,
|
||||
@@ -284,15 +284,15 @@ const handleSubmit = (instance) => {
|
||||
type: 'error'
|
||||
})
|
||||
}
|
||||
let researchPersonnel = ''
|
||||
let researchPersonnelId = ''
|
||||
formData.value.tableData.forEach(item => {
|
||||
item.projectName = getProjectName(item.projectId)
|
||||
researchPersonnel = item.researchPersonnel
|
||||
researchPersonnelId = item.researchPersonnelId
|
||||
if (item.performance == 0) {
|
||||
item.performance = null
|
||||
}
|
||||
})
|
||||
if (!researchPersonnel) {
|
||||
if (!researchPersonnelId) {
|
||||
ElNotification({
|
||||
title: '提示',
|
||||
message: '请选择研发人员',
|
||||
@@ -333,18 +333,18 @@ const handleResubmit = (instance) => {
|
||||
}
|
||||
let newUsrAllocationsObj = {}
|
||||
let newUsrAllocationsObjArray = []
|
||||
let researchPersonnel = ''
|
||||
let researchPersonnelId = ''
|
||||
formData.value.tableData.forEach(item => {
|
||||
item.allocationId = formData.value.allocationId
|
||||
item.projectName = getProjectName(item.projectId)
|
||||
researchPersonnel = item.researchPersonnel
|
||||
researchPersonnelId = item.researchPersonnelId
|
||||
if (item.performance == 0) {
|
||||
item.performance = null
|
||||
}
|
||||
newUsrAllocationsObj = {
|
||||
projectId: item.projectId,
|
||||
projectName: item.projectName,
|
||||
researchPersonnel: item.researchPersonnel,
|
||||
researchPersonnelId: item.researchPersonnelId,
|
||||
wagesPayable: item.wagesPayable,
|
||||
performance: item.performance,
|
||||
reserveFund: item.reserveFund,
|
||||
@@ -355,7 +355,7 @@ const handleResubmit = (instance) => {
|
||||
}
|
||||
newUsrAllocationsObjArray.push(newUsrAllocationsObj)
|
||||
})
|
||||
if (!researchPersonnel) {
|
||||
if (!researchPersonnelId) {
|
||||
ElNotification({
|
||||
title: '提示',
|
||||
message: '请选择研发人员',
|
||||
@@ -409,7 +409,7 @@ const getDetailList = async () => {
|
||||
const {code, data, msg} = await getAllocationDetailList(params)
|
||||
if (code === 1000) {
|
||||
data.rows.forEach(item => {
|
||||
item.researchPersonnel = Number(item.researchPersonnel)
|
||||
item.researchPersonnelId = Number(item.researchPersonnelId)
|
||||
})
|
||||
formData.value.tableData = data.rows
|
||||
nextTick(() => {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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: '项目影响',
|
||||
|
||||
Reference in New Issue
Block a user