fix : 需求上报详情删除重复项,优化台账上方基础信息排版,表格内容少时固定宽度,驳回弹窗'重新提交'改为'发起节点'
This commit is contained in:
@@ -22,6 +22,9 @@
|
||||
<el-table-column
|
||||
prop="nodeName"
|
||||
label="节点名称">
|
||||
<template #default="scope">
|
||||
{{scope.row.nodeId==-1?'发起节点':scope.row.nodeName}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
|
||||
@@ -1,96 +1,9 @@
|
||||
<template>
|
||||
<div class="detail-block" v-loading="loading">
|
||||
<baseTitle title="需求上报信息"></baseTitle>
|
||||
<el-form :model="localFormData" ref="summaryForm" :rules="rules">
|
||||
<el-row gutter="20" style="margin-bottom: -18px">
|
||||
<baseTitle title="预期知识产权"></baseTitle>
|
||||
<el-row gutter="20" style="margin-bottom: -18px;margin-left: 5px">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="项目名称" prop="projectName">
|
||||
<span>{{ localFormData.projectName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<span>{{ localFormData.startTime }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="结束时间" prop="endTime">
|
||||
<span>{{ localFormData.endTime }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="项目类型" prop="projectType">
|
||||
<span>{{ filterDict(cacheStore.getDict('project_type'), localFormData.projectType) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="研发主体" prop="rdSubject">
|
||||
<span>{{ filterDict(cacheStore.getDict('rd_subject'), localFormData.rdSubject) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="出资类型" prop="investmentType">
|
||||
<span>{{ filterDict(cacheStore.getDict('invest_type'), localFormData.investmentType) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-form-item label="所属业务板块" prop="businessSegment">
|
||||
<span>{{ filterDict(cacheStore.getDict('business_segment'), localFormData.businessSegment) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="标准制定" prop="technicalStandard">
|
||||
<span>{{ filterDict(cacheStore.getDict('technical_standard'), localFormData.technicalStandard) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="项目影响" prop="projectImpact">
|
||||
<span>{{ filterDict(cacheStore.getDict('project_impact'), localFormData.projectImpact) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="经费预算(元)" prop="economicEstimate">
|
||||
<span>{{ toThousands(localFormData.economicEstimate) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="产学研联合" prop="industryUniversityResearch">
|
||||
<span>{{
|
||||
filterDict(cacheStore.getDict('industry_university'), localFormData.industryUniversityResearch)
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="开展政府申报" prop="governmentDeclaration">
|
||||
<span>{{
|
||||
filterDict(cacheStore.getDict('government_declaration'), localFormData.governmentDeclaration)
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6" v-if="localFormData.isSpecialFund">
|
||||
<el-form-item label="所属专项资金项目" prop="specialFund">
|
||||
<span>{{
|
||||
localFormData.specialFundId === 0 ? localFormData.specialFund : changeName(fundOption, localFormData.specialFundId)
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6" v-if="localFormData.isSpecialFund">
|
||||
<el-form-item label="申请总部专项资金(元)" prop="specialFundAmount">
|
||||
<span>{{ toThousands(localFormData.specialFundAmount) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="部门分管领导" prop="optionalChargeLeadership">
|
||||
<span>{{ localFormData.optionalChargeLeadership?.map(item=>item.name).join()||'--' }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="20" style="margin-bottom: -18px">
|
||||
<el-col :span="24">
|
||||
<baseTitle title="预期知识产权"></baseTitle>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="预期成果形式" prop="resultForm">
|
||||
<span>{{ filterDict(cacheStore.getDict('result_form'), localFormData.resultForm) }}</span>
|
||||
</el-form-item>
|
||||
@@ -128,10 +41,9 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="20" >
|
||||
<el-col :span="24">
|
||||
<baseTitle title="项目描述"></baseTitle>
|
||||
</el-col>
|
||||
|
||||
<baseTitle title="项目描述"></baseTitle>
|
||||
<el-row gutter="20" style="margin-left: 5px;margin-bottom: -18px;">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="现有业务描述" prop="serviceDescription">
|
||||
<span>{{ localFormData.serviceDescription }}</span>
|
||||
@@ -142,11 +54,12 @@
|
||||
<span>{{ localFormData.contentDescription }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" style="margin-top: -18px">
|
||||
<baseTitle title="需求上报申请书"></baseTitle>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<baseTitle title="需求上报申请书" style="margin-bottom: 10px">></baseTitle>
|
||||
<el-row gutter="20" style="margin-bottom: -15px;">
|
||||
<el-col :span="24">
|
||||
<single-file-component tag="需求上报" v-model:value="localFormData.singleFile" :processViewer="processViewer" />
|
||||
<single-file-component tag="需求上报" v-model:value="localFormData.singleFile" :processViewer="processViewer"/>
|
||||
<!-- <el-form-item>-->
|
||||
<!-- {{localFormData.singleFile}}-->
|
||||
<!-- <el-button type="primary" link @click="handleDownload(localFormData.singleFile)" style="font-size: 16px">-->
|
||||
@@ -154,9 +67,9 @@
|
||||
<!-- </el-button>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-col>
|
||||
<el-col :span="24" style="margin-top: -12px">
|
||||
<baseTitle title="附件列表"></baseTitle>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<baseTitle title="附件列表" style="margin-bottom: 0"></baseTitle>
|
||||
<el-row gutter="20" style="margin-bottom: -18px;">
|
||||
<el-col :span="24">
|
||||
<file-component tag="需求上报"
|
||||
v-model:value="localFormData.fileList" :processViewer="processViewer"
|
||||
@@ -175,7 +88,7 @@
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div v-if="data.state==='5'" style="margin-bottom: 15px">
|
||||
<baseTitle title="前置流程"></baseTitle>
|
||||
<baseTitle title="前置流程" v-if="localFormData.preProcess"></baseTitle>
|
||||
<div style="display: flex;align-items: center;flex-wrap: wrap;">
|
||||
<div v-for="(item,index) in localFormData.preProcess" :key="item.requestId">
|
||||
<a :href="item.baseUrl" target="_blank"
|
||||
@@ -404,6 +317,22 @@ getFundOptions()
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
:deep(.el-table__header) {
|
||||
.is-leaf:first-child {
|
||||
.cell {
|
||||
margin-left: -25px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.el-table__body) {
|
||||
.el-table__cell:first-child {
|
||||
.cell {
|
||||
margin-left: -13px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.detail-block {
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<template>
|
||||
<div style="padding: 0 30px">
|
||||
|
||||
<baseTitle title="项目基本信息"></baseTitle>
|
||||
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" label-position="left" label-width="left"></fvForm>
|
||||
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" label-position="left" label-width="left" style="margin-left: 15px"></fvForm>
|
||||
<div class="steps-box">
|
||||
<el-steps v-if="stepsShow" :active="localActive" finish-status="success">
|
||||
<el-step
|
||||
@@ -30,6 +32,7 @@
|
||||
<component v-if="localActive == index" v-bind="item.props || {}" :is="item.component" />
|
||||
</template> -->
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="jsx">
|
||||
|
||||
@@ -120,12 +120,14 @@ const tableConfig = reactive({
|
||||
{
|
||||
prop: 'time',
|
||||
label: '时间',
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
prop: 'projectCost',
|
||||
label: '项目费用',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.projectCost !== null&&row.projectCost !== null&&row.projectCost!==undefined) {
|
||||
@@ -139,6 +141,7 @@ const tableConfig = reactive({
|
||||
prop: 'researchStage',
|
||||
label: '研发阶段',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.researchStage&&row.researchStage !== null&&row.researchStage!==undefined) {
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<template>
|
||||
<baseTitle title="年度计划"></baseTitle>
|
||||
<fvSearchForm :searchConfig="searchConfig" @search="search"></fvSearchForm>
|
||||
<fvTable ref="tableIns" :tableConfig="tableConfig" @headBtnClick="headBtnClick"></fvTable>
|
||||
<div style="padding: 0 20px">
|
||||
<baseTitle title="年度计划" style="margin-left: -15px;margin-bottom: -2px"></baseTitle>
|
||||
<fvSearchForm :searchConfig="searchConfig" @search="search"></fvSearchForm>
|
||||
<fvTable ref="tableIns" :tableConfig="tableConfig" @headBtnClick="headBtnClick"></fvTable>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="jsx">
|
||||
|
||||
@@ -142,13 +142,13 @@ const tableConfig = reactive({
|
||||
prop: 'deadline',
|
||||
label: '需求上报截止时间',
|
||||
align: 'center',
|
||||
// width: 150,
|
||||
width: 150,
|
||||
},
|
||||
{
|
||||
prop: 'approveName',
|
||||
label: '当前审批节点',
|
||||
align: 'center',
|
||||
// width: 100,
|
||||
width: 120,
|
||||
currentRender: ({row, index}) => {
|
||||
if(row.state=='1'){
|
||||
return <span>{row.approveName}</span>
|
||||
@@ -157,18 +157,11 @@ const tableConfig = reactive({
|
||||
}
|
||||
}
|
||||
},
|
||||
// {
|
||||
// prop: 'taskNode',
|
||||
// label: '当前审批节点',
|
||||
// align: 'center',
|
||||
// // width: 300
|
||||
//
|
||||
// },
|
||||
{
|
||||
prop: 'state',
|
||||
label: '状态',
|
||||
align: 'center',
|
||||
// width: 100,
|
||||
width: 120,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => (<Tag dictType={'demand_collection'} value={row.state}/>)
|
||||
},
|
||||
|
||||
@@ -183,6 +183,7 @@ const tableConfig = reactive({
|
||||
prop: 'projectType',
|
||||
label: '项目类型',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.projectType !== null) {
|
||||
@@ -196,6 +197,7 @@ const tableConfig = reactive({
|
||||
prop: 'rdSubject',
|
||||
label: '研发主体',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.rdSubject !== null) {
|
||||
@@ -209,6 +211,7 @@ const tableConfig = reactive({
|
||||
prop: 'projectImpact',
|
||||
label: '项目影响',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.projectImpact !== null) {
|
||||
@@ -230,6 +233,7 @@ const tableConfig = reactive({
|
||||
prop: 'state',
|
||||
label: '状态',
|
||||
align: 'center',
|
||||
width: 150,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.state !== null && row.state != 0) {
|
||||
@@ -244,6 +248,7 @@ const tableConfig = reactive({
|
||||
label: '操作',
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 150,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
let btn = []
|
||||
|
||||
@@ -171,6 +171,7 @@ const tableConfig = reactive({
|
||||
prop: 'projectType',
|
||||
label: '项目类型',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.projectType !== null) {
|
||||
@@ -184,6 +185,7 @@ const tableConfig = reactive({
|
||||
prop: 'rdSubject',
|
||||
label: '研发主体',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.rdSubject !== null) {
|
||||
@@ -197,6 +199,7 @@ const tableConfig = reactive({
|
||||
prop: 'projectImpact',
|
||||
label: '项目影响',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.projectImpact !== null) {
|
||||
@@ -210,6 +213,7 @@ const tableConfig = reactive({
|
||||
prop: 'economicEstimate',
|
||||
label: '经费预算(元)',
|
||||
align: 'center',
|
||||
width: 150,
|
||||
currentRender:({row})=>{
|
||||
return <span>{toThousands(row.economicEstimate)}</span>
|
||||
}
|
||||
@@ -226,6 +230,7 @@ const tableConfig = reactive({
|
||||
prop: 'approveName',
|
||||
label: '当前审批节点',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
currentRender: ({row, index}) => {
|
||||
if(row.state=='3'||row.state=='4'){
|
||||
return <span>{row.taskNode}</span>
|
||||
@@ -240,6 +245,7 @@ const tableConfig = reactive({
|
||||
prop: 'state',
|
||||
label: '状态',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.state !== null) {
|
||||
@@ -254,6 +260,7 @@ const tableConfig = reactive({
|
||||
label: '操作',
|
||||
align: 'center',
|
||||
fixed:'right',
|
||||
width: 150,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
let btn = []
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<view style="overflow-y: scroll">
|
||||
<view style="overflow-y: scroll;">
|
||||
<baseTitle title="项目基本信息"></baseTitle>
|
||||
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" label-position="left" label-width="left"></fvForm>
|
||||
<baseTitle title="表格更新数据" style="margin-top: -10px"></baseTitle>
|
||||
<fvForm :schema="tableUpdateData" @getInstance="(e)=>tableUpdateFormData = e"></fvForm>
|
||||
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" label-position="left" label-width="left" style="margin-left: 15px"></fvForm>
|
||||
<baseTitle title="研发台账明细" style="margin-top: -10px"></baseTitle>
|
||||
<fvForm :schema="tableUpdateData" @getInstance="(e)=>tableUpdateFormData = e" style="margin-left: 15px"></fvForm>
|
||||
<fvSearchForm :searchConfig="searchConfig" @search="search"></fvSearchForm>
|
||||
<div style="display: flex">
|
||||
<div style="display: flex;margin-left: 15px" >
|
||||
<el-button color="#DED0B2" @click="exportExcelHandler">导出</el-button>
|
||||
<import-excel :projectId="projectId" v-if="buttonShow" @success="importTheExpenseLedger"/>
|
||||
<el-button color="#DED0B2" v-if="buttonShow" @click="handleImportTemplateDownload">模板下载</el-button>
|
||||
@@ -244,22 +244,22 @@ const tableUpdateData = computed(() => {
|
||||
},
|
||||
labelWidth:'left'
|
||||
},
|
||||
{
|
||||
label: '项目开始时间',
|
||||
prop: 'startTime',
|
||||
colProps: {
|
||||
span: 6
|
||||
},
|
||||
labelWidth:'left'
|
||||
},
|
||||
{
|
||||
label: '项目预计持续时间',
|
||||
prop: 'endTime',
|
||||
colProps: {
|
||||
span: 6
|
||||
},
|
||||
labelWidth:'left'
|
||||
},
|
||||
// {
|
||||
// label: '项目开始时间',
|
||||
// prop: 'startTime',
|
||||
// colProps: {
|
||||
// span: 6
|
||||
// },
|
||||
// labelWidth:'left'
|
||||
// },
|
||||
// {
|
||||
// label: '项目预计持续时间',
|
||||
// prop: 'endTime',
|
||||
// colProps: {
|
||||
// span: 6
|
||||
// },
|
||||
// labelWidth:'left'
|
||||
// },
|
||||
{
|
||||
label: '项目开展方式',
|
||||
prop: 'projectDevelopmentWay',
|
||||
@@ -268,14 +268,14 @@ const tableUpdateData = computed(() => {
|
||||
},
|
||||
labelWidth:'left'
|
||||
},
|
||||
{
|
||||
label: '项目预算',
|
||||
prop: 'projectBudgetDescription',
|
||||
colProps: {
|
||||
span: 24
|
||||
},
|
||||
labelWidth:'left'
|
||||
},
|
||||
// {
|
||||
// label: '项目预算',
|
||||
// prop: 'projectBudgetDescription',
|
||||
// colProps: {
|
||||
// span: 24
|
||||
// },
|
||||
// labelWidth:'left'
|
||||
// },
|
||||
{
|
||||
label: '项目总体完成率',
|
||||
prop: 'projectCompletionRate',
|
||||
@@ -548,11 +548,29 @@ onActivated(() => {
|
||||
min-height: 400px !important;
|
||||
}
|
||||
:deep(.el-form-item__label-wrap){
|
||||
margin-left: 0!important;
|
||||
margin-left: 15px!important;
|
||||
}
|
||||
:deep(.el-form-item__content){
|
||||
.el-input{
|
||||
width: 100%!important;
|
||||
}
|
||||
}
|
||||
.search-form {
|
||||
padding-top: 0!important;
|
||||
}
|
||||
:deep(.el-table__header){
|
||||
.is-leaf:first-child{
|
||||
.cell{
|
||||
margin-left: -20px!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
:deep(.el-table__body){
|
||||
.el-table__cell:first-child{
|
||||
.cell{
|
||||
margin-left: -10px!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -174,6 +174,7 @@ const tableConfig = reactive({
|
||||
prop: 'projectType',
|
||||
label: '项目类型',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.projectType && row.projectType !== null && row.projectType !== undefined) {
|
||||
@@ -187,6 +188,7 @@ const tableConfig = reactive({
|
||||
prop: 'rdSubject',
|
||||
label: '研发主体',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.rdSubject && row.rdSubject !== null && row.rdSubject !== undefined) {
|
||||
@@ -200,6 +202,7 @@ const tableConfig = reactive({
|
||||
prop: 'researchStage',
|
||||
label: '研发阶段',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.researchStage && row.researchStage !== null && row.researchStage !== undefined) {
|
||||
@@ -213,6 +216,7 @@ const tableConfig = reactive({
|
||||
prop: 'projectImpact',
|
||||
label: '项目影响',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.projectImpact && row.projectImpact !== null && row.projectImpact !== undefined) {
|
||||
@@ -226,6 +230,7 @@ const tableConfig = reactive({
|
||||
prop: 'economicEstimate',
|
||||
label: '经费预算(元)',
|
||||
align: 'center',
|
||||
width: 150,
|
||||
currentRender:({row})=>{
|
||||
return <span>{toThousands(row.economicEstimate)}</span>
|
||||
}
|
||||
@@ -242,6 +247,7 @@ const tableConfig = reactive({
|
||||
prop: 'approveName',
|
||||
label: '当前审批节点',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
currentRender: ({row, index}) => {
|
||||
if(row.state=='3'||row.state=='4'){
|
||||
return <span>{row.taskNode}</span>
|
||||
@@ -256,6 +262,7 @@ const tableConfig = reactive({
|
||||
prop: 'state',
|
||||
label: '状态',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.state && row.state !== null && row.state !== undefined) {
|
||||
|
||||
@@ -169,6 +169,7 @@ const tableConfig = reactive({
|
||||
prop: 'projectType',
|
||||
label: '项目类型',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.projectType !== null) {
|
||||
@@ -182,6 +183,7 @@ const tableConfig = reactive({
|
||||
prop: 'rdSubject',
|
||||
label: '研发主体',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.rdSubject !== null) {
|
||||
@@ -195,6 +197,7 @@ const tableConfig = reactive({
|
||||
prop: 'projectImpact',
|
||||
label: '项目影响',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.projectImpact !== null) {
|
||||
@@ -208,6 +211,7 @@ const tableConfig = reactive({
|
||||
prop: 'economicEstimate',
|
||||
label: '经费预算(元)',
|
||||
align: 'center',
|
||||
width: 150,
|
||||
currentRender:({row})=>{
|
||||
return <span>{toThousands(row.economicEstimate)}</span>
|
||||
}
|
||||
@@ -224,6 +228,7 @@ const tableConfig = reactive({
|
||||
prop: 'approveName',
|
||||
label: '当前审批节点',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
currentRender: ({row, index}) => {
|
||||
if(row.state=='3'||row.state=='4'){
|
||||
return <span>{row.taskNode}</span>
|
||||
@@ -243,6 +248,7 @@ const tableConfig = reactive({
|
||||
prop: 'state',
|
||||
label: '状态',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.state !== null) {
|
||||
@@ -257,6 +263,7 @@ const tableConfig = reactive({
|
||||
label: '操作',
|
||||
align: 'center',
|
||||
fixed:'right',
|
||||
width: 100,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
let btn = []
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<baseTitle title="项目基本信息"></baseTitle>
|
||||
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" label-position="left" label-width="left"></fvForm>
|
||||
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" label-position="left" label-width="left" style="margin-left: 15px"></fvForm>
|
||||
<div class="steps-box">
|
||||
<el-steps :active="localActive" finish-status="success">
|
||||
<el-step
|
||||
|
||||
@@ -1,94 +1,8 @@
|
||||
<template>
|
||||
<div class="detail-block" v-loading="loading">
|
||||
<baseTitle title="需求上报信息" style="margin-top: -15px"></baseTitle>
|
||||
<el-form :model="localFormData" ref="summaryForm" :rules="rules">
|
||||
<el-row gutter="20" style="margin-bottom: -18px">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="项目名称" prop="projectName">
|
||||
<span>{{ localFormData.projectName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<span>{{ localFormData.startTime }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="结束时间" prop="endTime">
|
||||
<span>{{ localFormData.endTime }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="项目类型" prop="projectType">
|
||||
<span>{{ filterDict(cacheStore.getDict('project_type'), localFormData.projectType) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="研发主体" prop="rdSubject">
|
||||
<span>{{ filterDict(cacheStore.getDict('rd_subject'), localFormData.rdSubject) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="出资类型" prop="investmentType">
|
||||
<span>{{ filterDict(cacheStore.getDict('invest_type'), localFormData.investmentType) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="所属业务板块" prop="businessSegment">
|
||||
<span>{{ filterDict(cacheStore.getDict('business_segment'), localFormData.businessSegment) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="预期技术标准制定" prop="technicalStandard">
|
||||
<span>{{ filterDict(cacheStore.getDict('technical_standard'), localFormData.technicalStandard) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="项目影响" prop="projectImpact">
|
||||
<span>{{ filterDict(cacheStore.getDict('project_impact'), localFormData.projectImpact) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="经费预算(元)" prop="economicEstimate">
|
||||
<span>{{ toThousands(localFormData.economicEstimate) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="产学研联合" prop="industryUniversityResearch">
|
||||
<span>{{
|
||||
filterDict(cacheStore.getDict('industry_university'), localFormData.industryUniversityResearch)
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="开展政府申报" prop="governmentDeclaration">
|
||||
<span>{{
|
||||
filterDict(cacheStore.getDict('government_declaration'), localFormData.governmentDeclaration)
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="专项资金名称" prop="specialFund" v-if="localFormData.isSpecialFund">
|
||||
<span>{{
|
||||
localFormData.specialFundId === 0 ? localFormData.specialFund : changeName(fundOption, localFormData.specialFundId)
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="localFormData.isSpecialFund">
|
||||
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount">
|
||||
<span>{{ toThousands(localFormData.specialFundAmount) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="部门分管领导" prop="optionalChargeLeadership">
|
||||
<span>{{ localFormData.optionalChargeLeadership?.map(item=>item.name).join() }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" style="margin-top: -15px">
|
||||
<baseTitle title="预期知识产权"></baseTitle>
|
||||
</el-col>
|
||||
<baseTitle title="预期知识产权"></baseTitle>
|
||||
<el-row gutter="20" style="margin-bottom: -18px;margin-left: 5px">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="预期成果形式" prop="resultForm">
|
||||
<span>{{ filterDict(cacheStore.getDict('result_form'), localFormData.resultForm) }}</span>
|
||||
@@ -129,10 +43,8 @@
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<el-row gutter="20" style="margin-bottom: -18px">
|
||||
<el-col :span="24">
|
||||
<baseTitle title="项目描述"></baseTitle>
|
||||
</el-col>
|
||||
<baseTitle title="项目描述"></baseTitle>
|
||||
<el-row gutter="20" style="margin-bottom: -18px;margin-left: 5px;">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="现有业务描述" prop="serviceDescription">
|
||||
<span>{{ localFormData.serviceDescription }}</span>
|
||||
@@ -143,26 +55,26 @@
|
||||
<span>{{ localFormData.contentDescription }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" style="margin-top: -25px">
|
||||
<baseTitle title="需求上报申请书"></baseTitle>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<baseTitle title="需求上报申请书" style="margin-bottom: 10px">></baseTitle>
|
||||
<el-row gutter="20" style="margin-bottom: -15px;">
|
||||
<el-col :span="24">
|
||||
<single-file-component tag="需求上报" :fileNameTableWidth="200" :fullscreen="true"
|
||||
v-model:value="localFormData.singleFile" :processViewer="processViewer"
|
||||
labelAlign="top"/>
|
||||
<!-- <el-form-item label="需求上报申请书" label-position="top" style="display:block;">-->
|
||||
<!-- <!– style="font-size: 16px"–>-->
|
||||
<!-- <el-button type="primary" link @click="handleDownload(localFormData.singleFile)">-->
|
||||
<!-- {{ localFormData.singleFile?.originalFileName }}-->
|
||||
<!-- </el-button>-->
|
||||
<!-- </el-form-item>-->
|
||||
<single-file-component tag="需求上报" :fileNameTableWidth="200" :fullscreen="true"
|
||||
v-model:value="localFormData.singleFile" :processViewer="processViewer"
|
||||
labelAlign="top"/>
|
||||
<!-- <el-form-item label="需求上报申请书" label-position="top" style="display:block;">-->
|
||||
<!-- <!– style="font-size: 16px"–>-->
|
||||
<!-- <el-button type="primary" link @click="handleDownload(localFormData.singleFile)">-->
|
||||
<!-- {{ localFormData.singleFile?.originalFileName }}-->
|
||||
<!-- </el-button>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-col>
|
||||
<el-col :span="24" style="margin-top: -15px">
|
||||
<baseTitle title="附件列表"></baseTitle>
|
||||
<el-col :span="24" style="margin-top: -15px;">
|
||||
<baseTitle title="附件列表" style="margin-bottom: 0"></baseTitle>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<file-component
|
||||
tag="需求上报" :fileNameTableWidth="200" :fullscreen="true"
|
||||
tag="需求上报" :fileNameTableWidth="200" :fullscreen="true"
|
||||
v-model:value="localFormData.fileList"
|
||||
:processViewer="processViewer"
|
||||
:file-list-show="fileListShow"
|
||||
@@ -219,7 +131,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="process">
|
||||
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram" :isColumn="true"
|
||||
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram"
|
||||
:isColumn="true"
|
||||
:operation-list="data.operationList"
|
||||
:step="'report'"
|
||||
:state="data.state"/>
|
||||
@@ -248,6 +161,7 @@ import {ElNotification} from "element-plus";
|
||||
import {approvePlan} from "@/api/project-demand/summary";
|
||||
|
||||
import SelectPreProcess from "@/components/SelectPreProcess.vue";
|
||||
|
||||
const emit = defineEmits(['update:value'])
|
||||
const tagsViewStore = useTagsView()
|
||||
const cacheStore = useCacheStore()
|
||||
@@ -308,9 +222,9 @@ const handleRejectPlan = async () => {
|
||||
return
|
||||
}
|
||||
const params = {
|
||||
auditOpinion:_value.value,
|
||||
projectId:parseInt(route.query.projectId),
|
||||
state:false
|
||||
auditOpinion: _value.value,
|
||||
projectId: parseInt(route.query.projectId),
|
||||
state: false
|
||||
}
|
||||
console.log('params', params)
|
||||
const res = await approvePlan(params)
|
||||
@@ -326,9 +240,9 @@ const handleRejectPlan = async () => {
|
||||
}
|
||||
const handleAgreePlan = async () => {
|
||||
const params = {
|
||||
auditOpinion:_value.value,
|
||||
projectId:parseInt(route.query.projectId),
|
||||
state:true
|
||||
auditOpinion: _value.value,
|
||||
projectId: parseInt(route.query.projectId),
|
||||
state: true
|
||||
}
|
||||
console.log('params', params)
|
||||
const res = await approvePlan(params)
|
||||
@@ -400,17 +314,33 @@ watch(() => props.loading, (newVal) => {
|
||||
}, {deep: true})
|
||||
|
||||
watchEffect(() => {
|
||||
props.formData.singleFile=[props.formData.singleFile]
|
||||
props.formData.singleFile = [props.formData.singleFile]
|
||||
return Object.keys(props.formData).length && (localFormData.value = props.formData)
|
||||
})
|
||||
|
||||
getFundOptions()
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
<style scoped lang="scss">
|
||||
.detail-block {
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
:deep(.el-table__header) {
|
||||
.is-leaf:first-child {
|
||||
.cell {
|
||||
margin-left: -25px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.el-table__body) {
|
||||
.el-table__cell:first-child {
|
||||
.cell {
|
||||
margin-left: -13px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -76,11 +76,11 @@ const tableConfig = reactive({
|
||||
label: '专项资金名称',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'approveName',
|
||||
label: '审批人',
|
||||
align: 'center'
|
||||
},
|
||||
// {
|
||||
// prop: 'approveName',
|
||||
// label: '审批人',
|
||||
// align: 'center'
|
||||
// },
|
||||
{
|
||||
prop: 'fundAmount',
|
||||
label: '资金金额(元)',
|
||||
@@ -100,17 +100,27 @@ const tableConfig = reactive({
|
||||
{
|
||||
prop: 'projectNumber',
|
||||
label: '项目数量',
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
prop: 'taskNode',
|
||||
label: '当前节点',
|
||||
align: 'center'
|
||||
prop: 'approveName',
|
||||
label: '当前审批节点',
|
||||
align: 'center',
|
||||
width: 150,
|
||||
currentRender: ({row, index}) => {
|
||||
if(row.state=='1'){
|
||||
return <span>{row.approveName}</span>
|
||||
}else {
|
||||
return <span>{row.taskNode}</span>
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
prop: 'state',
|
||||
label: '状态',
|
||||
align: 'center',
|
||||
width: 150,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
if (row.state == undefined||row.state == 0) {
|
||||
@@ -125,6 +135,7 @@ const tableConfig = reactive({
|
||||
label: '操作',
|
||||
align: 'center',
|
||||
fixed:'right',
|
||||
width: 150,
|
||||
showOverflowTooltip: false,
|
||||
currentRender: ({row, index}) => {
|
||||
let btn = []
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-button v-print="print" color="#ded0b2" icon="Printer"> 打印</el-button>
|
||||
<el-button v-print="print" color="#ded0b2" icon="Printer" style="margin-left: 15px"> 打印</el-button>
|
||||
</div>
|
||||
<div style="margin: 10px" id="printBox">
|
||||
<el-timeline>
|
||||
|
||||
Reference in New Issue
Block a user