Merge pull request 'master' (#996) from master into prod

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/996
This commit is contained in:
2025-04-20 06:44:18 +00:00
7 changed files with 304 additions and 86 deletions

View File

@@ -3,11 +3,11 @@
<el-form :model="localFormData" ref="summaryForm" :rules="rules">
<baseTitle title="预期知识产权"></baseTitle>
<el-row gutter="20" style="margin-bottom: -18px;margin-left: 5px">
<el-col :span="6">
<el-form-item label="预期成果形式" prop="resultForm">
<span>{{ filterDict(cacheStore.getDict('result_form'), localFormData.resultForm) }}</span>
</el-form-item>
</el-col>
<!-- <el-col :span="6">-->
<!-- <el-form-item label="预期成果形式" prop="resultForm">-->
<!-- <span>{{ filterDict(cacheStore.getDict('result_form'), localFormData.resultForm) }}</span>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="6">
<el-form-item label="知识产权归属" prop="intellectualProperty">
<span>{{
@@ -16,28 +16,75 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="发明专利(项)" prop="inventionPatent">
<span>{{ localFormData.inventionPatent }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="新型专利(项)" prop="newPatent">
<el-form-item label="专利(项)" prop="newPatent">
<span>{{ localFormData.newPatent }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="软件著作权(项)" prop="softwareCopyright">
<span>{{ localFormData.softwareCopyright }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="著作权(项)" prop="copyright">
<span>{{ localFormData.copyright }}</span>
<el-form-item label="技术标准(项)" prop="technicalNorms">
<span>{{ localFormData.technicalNorms }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="新产品(项)" prop="newProduct">
<span>{{ localFormData.newProduct }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="新工艺(项)" prop="newProcess">
<span>{{ localFormData.newProcess }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="新装置(项)" prop="newDevice">
<span>{{ localFormData.newDevice }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="新材料(项)" prop="newMaterials">
<span>{{ localFormData.newMaterials }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="计算机软件(项)" prop="computerSoftware">
<span>{{ localFormData.computerSoftware }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="论文论著(项)" prop="thesis">
<span>{{ localFormData.thesis }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="研究报告(项)" prop="researchReport">
<span>{{ localFormData.researchReport }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="商标(项)" prop="trademark">
<span>{{ localFormData.trademark }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="其他(项)" prop="other">
<span>{{ localFormData.other }}</span>
<span style="white-space: pre-wrap">{{ localFormData.other }}</span>
</el-form-item>
</el-col>
</el-row>

View File

@@ -31,7 +31,7 @@
</el-form-item>
</el-form>
<el-card style="width: 100%;overflow-y: hidden">
<fvTable style="width: 100%;max-height: 318px" v-if="showTable" height="318" :tableConfig="tableConfig"
<fvTable style="width: 100%;max-height: 318px" v-if="showTable" height="318" :tableConfig="allFile?tableConfigAll:tableConfig"
:data="fileList" :isSettingCol="false" :pagination="false">
<template #empty>
<el-empty :image-size="99" description="暂无数据" style="padding: 0"/>
@@ -96,7 +96,67 @@ const tableConfig = reactive({
},
{
prop: 'tag',
label:props.allFile?'项目阶段': '标签',
label:'标签',
align: 'center'
},
{
prop: 'size',
label: '文件大小',
align: 'center',
currentRender: ({row, index}) => (parseInt(row.size / 1024) + 'KB')
},
{
prop: 'createTime',
label: '上传时间',
align: 'center',
},
{
prop: 'oper',
label: '操作',
align: 'center',
showOverflowTooltip: false,
currentRender: ({row, index}) => {
return (
<div>
<el-button type="primary" link onClick={() => handleDownload(row)}>下载</el-button>
</div>
)
}
}
]
})
const tableConfigAll = reactive({
columns: [
{
prop: 'index',
type: 'index',
label: '序号',
align: 'center',
width:85,
},
{
prop: 'originalFileName',
label: '文件名',
align: 'center',
currentRender: ({row, index}) => (<div style="color: #2a99ff;cursor: pointer;" onClick={()=>clickToPreview(row)}>{row.originalFileName}</div>)
},
{
prop: 'targetState',
label:'项目阶段',
align: 'center',
showOverflowTooltip: false,
currentRender: ({row, index}) => {
if (row.targetState&&row.targetState !== null&&row.targetState!==undefined) {
return (<Tag dictType={'archive_file_type'} value={row.targetState}/>)
} else {
return '--'
}
}
},
{
prop: 'tag',
label:'标签',
align: 'center'
},
{

View File

@@ -102,7 +102,7 @@ const getPreProcessTag = (impact,basicImpact) => {
}
if (data == 1) {
//一般项目
return '一般项目20万以下要总经理审批'
return '研发费用20万元以下科技创新项目报总经理审批'
} else if (data == 2) {
//重大项目
return '重大项目20万元到500万元之间要总办会审批'

View File

@@ -79,14 +79,14 @@
<div v-else>--</div>
</template>
</el-table-column>
<el-table-column prop="resultForm" label="预期成果形式" align="center" min-width="100px">
<template #default="scope">
<div v-if="scope.row.resultForm !== null">
<Tag style="margin-top: 3px" dictType="result_form" v-for="item in scope.row.resultForm" :value="item"/>
</div>
<div v-else>--</div>
</template>
</el-table-column>
<!-- <el-table-column prop="resultForm" label="预期成果形式" align="center" min-width="100px">-->
<!-- <template #default="scope">-->
<!-- <div v-if="scope.row.resultForm !== null">-->
<!-- <Tag style="margin-top: 3px" dictType="result_form" v-for="item in scope.row.resultForm" :value="item"/>-->
<!-- </div>-->
<!-- <div v-else>&#45;&#45;</div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="technicalStandard" label="预期技术标准制定" align="center">
<template #default="scope">
<div v-if="scope.row.technicalStandard !== null">
@@ -114,11 +114,18 @@
<el-table-column prop="prospectiveIntellectualProperty" label="预期知识产权" align="center" width="190">
<template #default="scope">
<div style="text-align: left">
发明专利{{ scope.row.inventionPatent ? scope.row.inventionPatent : 0 }}<br>
实用新型专利{{ scope.row.newPatent ? scope.row.newPatent : 0 }}<br>
专利{{ scope.row.newPatent ? scope.row.newPatent : 0 }}<br>
软件著作权{{ scope.row.softwareCopyright ? scope.row.softwareCopyright : 0 }}<br>
著作权{{ scope.row.copyright ? scope.row.copyright : 0 }}<br>
其他{{ scope.row.other ? scope.row.other : 0 }}
技术标准{{ scope.row.technicalNorms ? scope.row.technicalNorms : 0 }}<br>
新产品{{ scope.row.newProduct ? scope.row.newProduct : 0 }}<br>
新工艺{{ scope.row.newProcess ? scope.row.newProcess : 0 }}<br>
新装置{{ scope.row.newDevice ? scope.row.newDevice : 0 }}<br>
新材料{{ scope.row.newMaterials ? scope.row.newMaterials : 0 }}<br>
计算机软件{{ scope.row.computerSoftware ? scope.row.computerSoftware : 0 }}<br>
论文论著{{ scope.row.thesis ? scope.row.thesis : 0 }}<br>
研究报告{{ scope.row.researchReport ? scope.row.researchReport : 0 }}<br>
商标{{ scope.row.trademark ? scope.row.trademark : 0 }}<br>
其他项:<br> <span style="white-space: pre-wrap;">{{ scope.row.other ? scope.row.other : 0 }}</span>
</div>
</template>
</el-table-column>

View File

@@ -249,21 +249,21 @@
<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"
:style="{marginRight:!formData.isSpecialFund?'0':route.query.id?'':'40px'}">
<el-select v-model="formData.resultForm" placeholder="请选择预期成果形式" clearable filterable multiple
@change="changeCollectData">
<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="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':'-40px'}">
<!-- <el-col :span="12">-->
<!-- <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-->
<!-- @change="changeCollectData">-->
<!-- <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="6" >
<el-form-item label="知识产权归属" prop="intellectualProperty">
<el-select v-model="formData.intellectualProperty" placeholder="请选择知识产权归属" clearable filterable
@change="changeCollectData">
@@ -276,37 +276,80 @@
</el-select>
</el-form-item>
</el-col>
<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-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'0':'-40px'}" >
<el-form-item label="专利(项)" prop="newPatent">
<el-input-number v-model="formData.newPatent" placeholder="请输入专利数量" :controls="false"
@change="changeCollectData"/>
</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"
@change="changeCollectData"
style="width: 100%"/>
</el-form-item>
</el-col>
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'':'-40px'}">
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'0'}">
<el-form-item label="软件著作权(项)" prop="softwareCopyright">
<el-input-number v-model="formData.softwareCopyright" placeholder="请输入软件著作权数量" :controls="false"
@change="changeCollectData"/>
</el-form-item>
</el-col>
<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-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'-40px'}">
<el-form-item label="技术标准(项)" prop="technicalNorms">
<el-input-number v-model="formData.technicalNorms" placeholder="请输入技术标准数量" :controls="false"
@change="changeCollectData"/>
</el-form-item>
</el-col>
<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-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'0':'0'}">
<el-form-item label="新产品(项)" prop="newProduct">
<el-input-number v-model="formData.newProduct" placeholder="请输入新产品数量" :controls="false"
@change="changeCollectData"/>
</el-form-item>
</el-col>
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'0':'-40px'}">
<el-form-item label="新工艺(项)" prop="newProcess">
<el-input-number v-model="formData.newProcess" placeholder="请输入新工艺数量" :controls="false"
@change="changeCollectData"/>
</el-form-item>
</el-col>
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'0'}">
<el-form-item label="新装置(项)" prop="newDevice">
<el-input-number v-model="formData.newDevice" placeholder="请输入新装置数量" :controls="false"
@change="changeCollectData"/>
</el-form-item>
</el-col>
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'-40px'}">
<el-form-item label="新材料(项)" prop="newMaterials">
<el-input-number v-model="formData.newMaterials" placeholder="请输入新材料数量" :controls="false"
@change="changeCollectData"/>
</el-form-item>
</el-col>
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'0':'0'}">
<el-form-item label="计算机软件(项)" prop="computerSoftware">
<el-input-number v-model="formData.computerSoftware" placeholder="请输入计算机软件数量" :controls="false"
@change="changeCollectData"/>
</el-form-item>
</el-col>
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'0':'-40px'}">
<el-form-item label="论文论著(项)" prop="thesis">
<el-input-number v-model="formData.thesis" placeholder="请输入论文论著数量" :controls="false"
@change="changeCollectData"/>
</el-form-item>
</el-col>
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'0'}">
<el-form-item label="研究报告(项)" prop="researchReport">
<el-input-number v-model="formData.researchReport" placeholder="请输入研究报告数量" :controls="false"
@change="changeCollectData"/>
</el-form-item>
</el-col>
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'-40px'}">
<el-form-item label="商标(项)" prop="trademark">
<el-input-number v-model="formData.trademark" placeholder="请输入商标数量" :controls="false"
@change="changeCollectData"/>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="其他(项)" prop="other">
<el-input rows="4" type="textarea" v-model="formData.other"
@change="changeCollectData" :style="{marginRight:!formData.isSpecialFund?'20px':'80px'}"/>
</el-form-item>
</el-col>
</el-row>
<baseTitle title="项目描述"></baseTitle>
<el-row gutter="30" style="margin-bottom: -18px;"
@@ -421,6 +464,7 @@ const formData = ref({
isSpecialFund: false,
industryUniversityResearch: '1',
governmentDeclaration: '1',
other: '无',
resultForm: []
})
@@ -434,16 +478,27 @@ const rules = reactive({
investmentType: [{required: true, message: '请选择出资类型', trigger: ['blur', 'change']}],
projectImpact: [{required: true, message: '请选择项目影响', trigger: ['blur', 'change']}],
businessSegment: [{required: true, message: '请选择所属业务板块', trigger: ['blur', 'change']}],
resultForm: [{required: true, message: '请选择预期成果形式', trigger: ['blur', 'change']}],
// resultForm: [{required: true, message: '请选择预期成果形式', trigger: ['blur', 'change']}],
technicalStandard: [{required: true, message: '请选择预期技术标准制定', trigger: ['blur', 'change']}],
industryUniversityResearch: [{required: true, message: '请选择产学研联合', trigger: ['blur', 'change']}],
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']}],
technicalNorms: [{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']}],
newProduct: [{required: true, message: '请输入新产品数量', trigger: ['blur', 'change']}],
newProcess: [{required: true, message: '请输入新工艺数量', trigger: ['blur', 'change']}],
newMaterials: [{required: true, message: '请输入新材料数量', trigger: ['blur', 'change']}],
newDevice: [{required: true, message: '请输入新装备数量', trigger: ['blur', 'change']}],
computerSoftware: [{required: true, message: '请输入计算机软件数量', trigger: ['blur', 'change']}],
thesis: [{required: true, message: '请输入论文论著数量', trigger: ['blur', 'change']}],
researchReport: [{required: true, message: '请输入研究报告数量', trigger: ['blur', 'change']}],
trademark: [{required: true, message: '请输入商标数量', trigger: ['blur', 'change']}],
other: [{required: true, message: '请输入其他项数量', trigger: ['blur', 'change']}],
economicEstimate: [{required: true, message: '请输入预估经费预算', trigger: ['blur', 'change']}],
isSpecialFund: [{required: true, message: '请选择是否为专项资金', trigger: ['blur', 'change']}],
isWithinBudget: [{required: true, message: '请选择是否在预算内', trigger: ['blur', 'change']}],
@@ -482,6 +537,9 @@ const changeRequirement=async ()=>{
if ( res.data.formData.isSpecialFund) {
formData.value.specialFundId = res.data.formData.specialFundId
formData.value.specialFund = res.data.formData.specialFund
}else{
formData.value.specialFundId = null
formData.value.specialFund = null
}
}
})
@@ -740,7 +798,7 @@ const handleResubmit = debounce((instance) => {
fileList: otherFiles,
requirementId: route.query.id ? route.query.id : formData.value.requirementId ? formData.value.requirementId : '-1'
}
// console.log('重新提交params', params, formData.value.specialFund, formData.value.specialFundId)
console.log('重新提交params', params)
resubmitReported(params).then(res => {
ElNotification({
title: '提示',

View File

@@ -279,7 +279,7 @@ const schema = computed(() => {
label: '实际经费预算',
prop: 'actualEconomicEstimate',
colProps: {
span: 6
span: 24
},
component: () => (
<div>

View File

@@ -3,11 +3,11 @@
<el-form :model="localFormData" ref="summaryForm" :rules="rules">
<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>
</el-form-item>
</el-col>
<!-- <el-col :span="24">-->
<!-- <el-form-item label="预期成果形式" prop="resultForm">-->
<!-- <span>{{ filterDict(cacheStore.getDict('result_form'), localFormData.resultForm) }}</span>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="24">
<el-form-item label="知识产权归属" prop="intellectualProperty">
<span>{{
@@ -17,31 +17,77 @@
</el-col>
<el-col :span="24">
<el-form-item label="发明专利(项)" prop="inventionPatent">
<span>{{ localFormData.inventionPatent }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="新型专利(项)" prop="newPatent">
<el-form-item label="专利(项)" prop="newPatent">
<span>{{ localFormData.newPatent }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="软件著作权(项)" prop="softwareCopyright">
<span>{{ localFormData.softwareCopyright }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="著作权(项)" prop="copyright">
<span>{{ localFormData.copyright }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="其他(项)" prop="other">
<span>{{ localFormData.other }}</span>
<el-form-item label="技术标准(项)" prop="technicalNorms">
<span>{{ localFormData.technicalNorms }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="新产品(项)" prop="newProduct">
<span>{{ localFormData.newProduct }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="新工艺(项)" prop="newProcess">
<span>{{ localFormData.newProcess }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="新装置(项)" prop="newDevice">
<span>{{ localFormData.newDevice }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="新材料(项)" prop="newMaterials">
<span>{{ localFormData.newMaterials }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="计算机软件(项)" prop="computerSoftware">
<span>{{ localFormData.computerSoftware }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="论文论著(项)" prop="thesis">
<span>{{ localFormData.thesis }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="研究报告(项)" prop="researchReport">
<span>{{ localFormData.researchReport }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="商标(项)" prop="trademark">
<span>{{ localFormData.trademark }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="其他(项)" prop="other">
<span style="white-space: pre-wrap">{{ localFormData.other }}</span>
</el-form-item>
</el-col>
</el-row>
<baseTitle title="项目描述"></baseTitle>
<el-row gutter="20" style="margin-bottom: -18px;margin-left: 5px;">