Merge pull request 'fix : 修复需求上报排版' (#700) from dd into master

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/700
This commit is contained in:
2024-08-12 13:54:53 +00:00

View File

@@ -1,21 +1,23 @@
<template>
<div class="detail-block" v-loading="loading">
<div class="detail-block" v-loading="loading" :style="{padding:!formData.isSpecialFund?'0 40px':'0 0 0 40px'}">
<baseTitle title="项目基本信息"></baseTitle>
<el-form :model="formData" ref="summaryForm" :rules="rules" label-width="120" :scroll-to-error="true">
<el-row gutter="25" style="margin-bottom: -18px">
<el-form :model="formData" ref="summaryForm" :rules="rules" :label-width="!formData.isSpecialFund?120:160"
:scroll-to-error="true">
<el-row gutter="30" style="margin-bottom: -18px;" :style="{marginLeft:!formData.isSpecialFund?'-8.5px':'-48.5px'}">
<el-col :span="6">
<el-form-item label="承办单位" >
<Tooltip :content="authStore.userinfo?.subCompanyName" placement="bottom-start" width="240" textAlign="left">
<el-form-item label="承办单位">
<Tooltip :content="authStore.userinfo?.subCompanyName" placement="bottom-start" width="240"
textAlign="left">
</Tooltip>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="项目名称" prop="projectName" :label-width="route.query.id && formData.isSpecialFund?160:120">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'':'-40px'}">
<el-form-item label="项目名称" prop="projectName">
<el-input v-model="formData.projectName" placeholder="请输入项目名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="开始时间" prop="startTime" label-width="160">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'0'}">
<el-form-item label="开始时间" prop="startTime">
<el-config-provider>
<el-date-picker
v-model="formData.startTime"
@@ -28,7 +30,7 @@
</el-config-provider>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':'-40px'}">
<el-form-item label="结束时间" prop="endTime"
:title="!formData.startTime?'请先选择开始时间!':''">
<el-config-provider>
@@ -57,8 +59,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="研发主体" prop="rdSubject" :label-width="route.query.id && formData.isSpecialFund?160:120">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'':'-40px'}">
<el-form-item label="研发主体" prop="rdSubject">
<el-select v-model="formData.rdSubject" placeholder="请选择研发主体" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('rd_subject')"
@@ -69,8 +71,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="出资类型" prop="investmentType" label-width="160">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'0'}">
<el-form-item label="出资类型" prop="investmentType">
<el-select v-model="formData.investmentType" placeholder="请选择出资类型" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('invest_type')"
@@ -81,20 +83,8 @@
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="8">-->
<!-- <el-form-item label="项目影响" prop="projectImpact" label-width="125">-->
<!-- <el-select v-model="formData.projectImpact" placeholder="请选择项目影响" clearable filterable>-->
<!-- <el-option-->
<!-- v-for="item in cacheStore.getDict('project_impact')"-->
<!-- :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="businessSegment" >
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':'-40px'}">
<el-form-item label="业务板块" prop="businessSegment">
<el-select v-model="formData.businessSegment" placeholder="请选择所属业务板块" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('business_segment')"
@@ -117,14 +107,13 @@
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="route.query.id && formData.isSpecialFund?8:!formData.isSpecialFund?!route.query.id?6:8:6">-->
<el-col :span="6">
<el-form-item label="经费预算(元)" prop="economicEstimate" :label-width="route.query.id && formData.isSpecialFund?160:120">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'':'-40px'}">
<el-form-item label="经费预算(元)" prop="economicEstimate">
<el-input-number v-model="formData.economicEstimate" placeholder="请输入经费预算" :controls="false"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="产学研联合" prop="industryUniversityResearch" label-width="160">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'0'}">
<el-form-item label="产学研联合" prop="industryUniversityResearch">
<el-select v-model="formData.industryUniversityResearch" clearable placeholder="请选择产学研联合">
<el-option
v-for="item in cacheStore.getDict('industry_university')"
@@ -135,12 +124,8 @@
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="route.query.id && formData.isSpecialFund?8:!formData.isSpecialFund?route.query.id?8:6:6">-->
<!-- </el-row>-->
<!-- <el-row gutter="10">-->
<el-col :span="6">
<el-form-item label="开展政府申报" prop="governmentDeclaration" >
<!-- :label-width="route.query.id && formData.isSpecialFund?145:!formData.isSpecialFund?145:145">-->
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':'-40px'}">
<el-form-item label="开展政府申报" prop="governmentDeclaration">
<el-select v-model="formData.governmentDeclaration" clearable placeholder="请选择开展政府申报">
<el-option
v-for="item in cacheStore.getDict('government_declaration')"
@@ -153,17 +138,12 @@
</el-col>
<!-- <el-col :span="!route.query.id && formData.isSpecialFund?4:!route.query.id?12:12" v-if="!route.query.id">-->
<el-col :span="6" v-if="!route.query.id">
<el-form-item label="是否专项资金" prop="isSpecialFund" required>
<el-select v-model="formData.isSpecialFund" clearable @change="specialFundChange" placeholder="请选择是否为专项资金">
<el-option label="是" :value="true"/>
<el-option label="否" :value="false"/>
</el-select>
<!-- <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="6" v-if="route.query.id && formData.isSpecialFund">
@@ -171,8 +151,8 @@
<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-col :span="6" v-if="!route.query.id && formData.isSpecialFund" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'':'-40px'}">
<el-form-item label="所属专项资金" prop="specialFundId">
<el-select v-model="formData.specialFundId" placeholder="请选择专项资金名称" clearable filterable>
<el-option
v-for="item in specialFundOption"
@@ -184,12 +164,12 @@
</el-form-item>
</el-col>
<el-col :span="6" v-if="formData.isSpecialFund">
<el-form-item label="申请总部专项资金(元)" prop="specialFundAmount" label-width="160">
<el-input-number v-model="formData.specialFundAmount" placeholder="请输入专项资金" :controls="false"/>
<el-form-item label="申请总部专项资金(元)" prop="specialFundAmount">
<el-input-number v-model="formData.specialFundAmount" placeholder="请输入申请总部专项资金" :controls="false"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="部门分管领导" required prop="" :label-width="route.query.id && formData.isSpecialFund?160:120">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':'-40px'}">
<el-form-item label="部门分管领导" required prop="">
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowOptionalChargeLeadershipPicker">
{{ optionalChargeLeadershipList.length !== 0 ? '更改' : '请选择' }}
</el-button>
@@ -200,14 +180,11 @@
v-model:value="optionalChargeLeadershipList" @ok="optionalChargeLeaderPickerOk"/>
</el-form-item>
</el-col>
</el-row>
<el-row gutter="40" style="margin-bottom: -18px">
<el-col :span="24">
<baseTitle title="预期知识产权"></baseTitle>
</el-col>
<baseTitle title="预期知识产权"></baseTitle>
<el-row gutter="30" style="margin-bottom: -18px;" :style="{marginLeft:!formData.isSpecialFund?'-8.5px':'-48.5px'}">
<el-col :span="12">
<el-form-item label="预期成果形式" prop="resultForm">
<el-form-item label="预期成果形式" prop="resultForm" :style="{marginRight:!formData.isSpecialFund?'0':route.query.id?'':'40px'}">
<el-select v-model="formData.resultForm" placeholder="请选择预期成果形式" clearable filterable multiple>
<el-option
v-for="item in cacheStore.getDict('result_form')"
@@ -218,9 +195,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<!-- :label-width="!formData.isSpecialFund?!route.query.id?125:125:125">-->
<el-form-item label="知识产权状况" prop="intellectualProperty" label-width="160">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':'-40px'}">
<el-form-item label="知识产权状况" prop="intellectualProperty">
<el-select v-model="formData.intellectualProperty" placeholder="请选择知识产权状况" clearable filterable>
<el-option
v-for="item in cacheStore.getDict('intellectual_property')"
@@ -231,55 +207,59 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="发明专利(项)" prop="inventionPatent" >
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':'-40px'}">
<el-form-item label="发明专利(项)" prop="inventionPatent">
<el-input-number v-model="formData.inventionPatent" placeholder="请输入发明专利数量" :controls="false"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="新型专利(项)" prop="newPatent" >
<el-input-number v-model="formData.newPatent" placeholder="请输入实用性新型专利数量" :controls="false" style="width: 100%"/>
<el-form-item label="新型专利(项)" prop="newPatent">
<el-input-number v-model="formData.newPatent" placeholder="请输入实用性新型专利数量" :controls="false"
style="width: 100%"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="软件著作权(项)" prop="softwareCopyright" :label-width="route.query.id && formData.isSpecialFund?160:120">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'':'-40px'}">
<el-form-item label="软件著作权(项)" prop="softwareCopyright">
<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" label-width="160">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'0'}">
<el-form-item label="著作权(项)" prop="copyright">
<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="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':'-40px'}">
<el-form-item label="其他(项)" prop="other">
<el-input-number v-model="formData.other" placeholder="请输入其他数量" :controls="false"/>
</el-form-item>
</el-col>
</el-row>
<el-row gutter="40" style="margin-bottom: -18px">
<el-col :span="24">
<baseTitle title="项目描述"></baseTitle>
</el-col>
<baseTitle title="项目描述"></baseTitle>
<el-row gutter="30" style="margin-bottom: -18px;" :style="{marginLeft:!formData.isSpecialFund?'-8.5px':'-48.5px'}">
<el-col :span="24">
<el-form-item label="现有业务描述" prop="serviceDescription">
<el-input v-model="formData.serviceDescription" placeholder="请输入现有业务描述" rows="4" type="textarea"
:style="{marginRight:!formData.isSpecialFund?'20px':'80px'}"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="建设目标描述" prop="contentDescription">
<el-input v-model="formData.contentDescription" placeholder="请输入研发项目关键内容描述" rows="4" type="textarea"
:style="{marginRight:!formData.isSpecialFund?'20px':'80px'}"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<baseTitle title="附件文件"></baseTitle>
<AttachmentUpload ref="attachment" label="需求申请书附件" :showTable="showTable" v-model:otherFileList="otherFileList"
@getAttachment="getAttachment" v-model:singleList="singleList" :showSingleTable="showSingleTable"
@getOtherFile="getOtherFile" :showFileList="true" :formData="formData" tag="需求上报"
:preview="name === 'Summary/edit'"/>
<div :style="{marginRight:!formData.isSpecialFund?'20px':'80px'}">
<AttachmentUpload ref="attachment" label="需求申请书附件" :showTable="showTable" v-model:otherFileList="otherFileList"
@getAttachment="getAttachment" v-model:singleList="singleList"
:showSingleTable="showSingleTable"
@getOtherFile="getOtherFile" :showFileList="true" :formData="formData" tag="需求上报"
:preview="name === 'Summary/edit'"/>
</div>
<div class="approval-record">
<div class="approval-title" style="margin-top: -15px">
<baseTitle title="审批记录"></baseTitle>
@@ -291,8 +271,9 @@
/>
</div>
</div>
<el-empty :image-size="100" description="暂无审批记录" v-if="processDiagramViewer&& !opentionData?.operationList&&!changeDiagram"/>
<!-- <process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>-->
<el-empty :image-size="100" description="暂无审批记录"
v-if="processDiagramViewer&& !opentionData?.operationList&&!changeDiagram"/>
<!-- <process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>-->
<div class="process">
<operation-render
v-if="processDiagramViewer&& opentionData?.operationList && opentionData?.operationList.length > 0&&!changeDiagram"
@@ -356,7 +337,7 @@ const formData = ref({
const rules = reactive({
projectName: [{required: true, message: '请输入项目名称', trigger: ['blur', 'change']}],
specialFundId: [{required: true, message: '请选择专项资金', trigger: ['blur', 'change']}],
specialFundId: [{required: true, message: '请选择专项资金名称', trigger: ['blur', 'change']}],
startTime: [{required: true, message: '请选择开始时间', trigger: ['blur', 'change']}],
endTime: [{required: true, message: '请选择结束时间', trigger: ['blur', 'change']}],
rdSubject: [{required: true, message: '请选择研发主体', trigger: ['blur', 'change']}],
@@ -370,7 +351,7 @@ const rules = reactive({
governmentDeclaration: [{required: true, message: '请选择开展政府申报', trigger: ['blur', 'change']}],
intellectualProperty: [{required: true, message: '请选择知识产权状况', trigger: ['blur', 'change']}],
inventionPatent: [{required: true, message: '请输入发明专利数量', trigger: ['blur', 'change']}],
newPatent: [{required: true, message: '请输入实用性新型专利数量', trigger:['blur', 'change']}],
newPatent: [{required: true, message: '请输入实用性新型专利数量', trigger: ['blur', 'change']}],
softwareCopyright: [{required: true, message: '请输入软件著作权数量', trigger: ['blur', 'change']}],
copyright: [{required: true, message: '请输入著作权数量', trigger: ['blur', 'change']}],
other: [{required: true, message: '请输入其他数量', trigger: ['blur', 'change']}],
@@ -597,7 +578,7 @@ const getDetailInfo = async () => {
res.data.formData.specialFundId = res.data.formData.specialFundId === 0 ? null : res.data.formData.specialFundId
formData.value = res.data.formData
opentionData.value = res.data
optionalChargeLeadershipList.value=formData.value.optionalChargeLeadership
optionalChargeLeadershipList.value = formData.value.optionalChargeLeadership
loading.value = false
}
})
@@ -618,11 +599,11 @@ const init = async () => {
const processInfo = () => {
processStore.setDesign(null)
processDiagramViewer.value = false
let isSpecialFundParam=false
if(!formData.value.isSpecialFund){
isSpecialFundParam=false
}else{
isSpecialFundParam= formData.value.isSpecialFund
let isSpecialFundParam = false
if (!formData.value.isSpecialFund) {
isSpecialFundParam = false
} else {
isSpecialFundParam = formData.value.isSpecialFund
}
getProcessInfo(isSpecialFundParam).then(res => {
if (res.code === 1000) {
@@ -658,7 +639,7 @@ const staging = async () => {
<style lang="scss" scoped>
.detail-block {
overflow: hidden;
padding: 0 30px 30px 15px;
padding: 0 0 0 40px;
:deep(.el-input-number) {
width: 100%;