fix(project): 调整知识产权相关表述和附件表格样式

- 将"知识产权状况"修改为"知识产权归属"
- 优化附件上传和展示组件的样式- 统一知识产权归属相关的标签和提示信息
- 调整部分组件的显示逻辑和样式
This commit is contained in:
dj
2025-04-18 22:37:22 +08:00
parent 696921243e
commit b032903ed4
8 changed files with 37 additions and 16 deletions

View File

@@ -27,7 +27,7 @@
<el-button color="#DED0B2" v-if="templateDownloadBtnShow" @click="handleImportTemplateDownload" <el-button color="#DED0B2" v-if="templateDownloadBtnShow" @click="handleImportTemplateDownload"
style="margin-left: 10px">模板下载 style="margin-left: 10px">模板下载
</el-button> </el-button>
<fvTable style="width: 100%;" :style="{maxHeight:label=='项目立项附件'?'320px':'160px',height:label=='项目立项附件'?'320px':'160px'}" v-if="showTable" :height="label=='项目立项附件'?'320':'160'" :tableConfig="tableConfig" <fvTable style="width: 100%;" :height="label=='项目立项附件'?'160':'160'" :scrollbar-always-on="true" :style="{maxHeight:label=='项目立项附件'?'160px':'160px',height:label=='项目立项附件'?'160px':'160px'}" v-if="showTable" :tableConfig="tableConfig"
:data="allFileList" :isSettingCol="false" :pagination="false"> :data="allFileList" :isSettingCol="false" :pagination="false">
<template #empty> <template #empty>
<el-empty :image-size="55" description="暂无数据" style="padding: 0"/> <el-empty :image-size="55" description="暂无数据" style="padding: 0"/>
@@ -532,12 +532,10 @@ defineExpose({
}) })
</script> </script>
<style scoped>
:deep(.el-table--fit ) {
//height: 300px !important;
}
</style>
<style lang="scss" scoped> <style lang="scss" scoped>
:deep(.el-table--fit ) {
height: 160px !important;
}
:deep(.el-table__header) { :deep(.el-table__header) {
.is-leaf:first-child { .is-leaf:first-child {
.cell { .cell {

View File

@@ -3,7 +3,7 @@
<el-form-item :label="title" v-if="fileListShow === 'READ' || fileListShow === 'EDIT'" :label-position="labelAlign" :style="{marginTop: '10px',marginLeft: tag!=='需求上报'?'15px':'0'}"> <el-form-item :label="title" v-if="fileListShow === 'READ' || fileListShow === 'EDIT'" :label-position="labelAlign" :style="{marginTop: '10px',marginLeft: tag!=='需求上报'?'15px':'0'}">
<file-upload @getFile="getOtherFile" v-if="fileListShow === 'EDIT'"/> <file-upload @getFile="getOtherFile" v-if="fileListShow === 'EDIT'"/>
<!-- :style="{width:isOpenPrint?'610px': '100%'}" table-layout="auto" id="printTable"--> <!-- :style="{width:isOpenPrint?'610px': '100%'}" table-layout="auto" id="printTable"-->
<fvTable style="width:100%;" :style="{maxHeight:tag=='项目立项'?'500px':'160px',height:tag=='项目立项'?'500px':'160px'}" v-if="processViewer" :scrollbar-always-on="true" :height="tag=='项目立项'?'500':'160'" :tableConfig="tableConfig" <fvTable style="width:100%;" :height="tag=='项目立项'?'160':'160'" :style="{maxHeight:tag=='项目立项'?'160px':'160px',height:tag=='项目立项'?'160px':'160px'}" v-if="processViewer" :scrollbar-always-on="true" :tableConfig="tableConfig"
:data="_value" :isSettingCol="false" :pagination="false"> :data="_value" :isSettingCol="false" :pagination="false">
<template #empty> <template #empty>
<el-empty :image-size="55" description="暂无数据" style="padding: 0"/> <el-empty :image-size="55" description="暂无数据" style="padding: 0"/>
@@ -201,7 +201,7 @@ watch(() => props.processViewer, (newVal) => {
<style scoped lang="scss"> <style scoped lang="scss">
:deep(.el-table--fit ) { :deep(.el-table--fit ) {
//height: 160px !important; height: 160px !important;
} }
@media print { @media print {
//#printTable{ //#printTable{

View File

@@ -59,7 +59,7 @@
v-model:value="optionalChargeLeadershipList" @ok="optionalChargeLeaderPickerOk" @cancelOrClear="optionalChargeLeaderPickerCancel"/> v-model:value="optionalChargeLeadershipList" @ok="optionalChargeLeaderPickerOk" @cancelOrClear="optionalChargeLeaderPickerCancel"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" v-if="preProcessShow === 'EDIT'"> <el-col :span="24" v-if="preProcessShow === 'EDIT'||title==='apply'">
<el-form-item label="前置流程" :required="preProcessRequired" prop="preProcess" label-width="125"> <el-form-item label="前置流程" :required="preProcessRequired" prop="preProcess" label-width="125">
<el-button color="#DED0B2" @click="handleShowPreTable" style="margin-right: 10px"> <el-button color="#DED0B2" @click="handleShowPreTable" style="margin-right: 10px">
{{ {{

View File

@@ -390,6 +390,7 @@ const getTagsOption = (flag) => {
if (!route.query.projectId) return if (!route.query.projectId) return
getTagList(route.query.projectId).then(res => { getTagList(route.query.projectId).then(res => {
if (res.code === 1000) { if (res.code === 1000) {
tagsOption.value = res.data.rows tagsOption.value = res.data.rows
let list=[] let list=[]
if(flag){ if(flag){
@@ -406,7 +407,29 @@ const getTagsOption = (flag) => {
}) })
console.log("🚀 otherAttachmentList.value", allFiles.value) console.log("🚀 otherAttachmentList.value", allFiles.value)
console.log("🚀 ~ file:\tagsOption.value ", tagsOption.value) console.log("🚀 ~ file:\tagsOption.value ", tagsOption.value)
let defaultArray=[
{
tagId: 'd1',
fileTag: '合同(专项任务书)',
isClose: 2
},
{
tagId: 'd2',
fileTag: '周报',
isClose: 2
},
{
tagId: 'd3',
fileTag: '阶段性验收',
isClose: 2
},
{
tagId: 'd4',
fileTag: '科研成果',
isClose: 2
}
]
tagsOption.value=[...defaultArray,...tagsOption.value]
// if (!res.data.rows || res.data.rows.length == 0) return; // if (!res.data.rows || res.data.rows.length == 0) return;
// activeName.value=res.data.rows[0].tagId // activeName.value=res.data.rows[0].tagId
} else { } else {

View File

@@ -9,7 +9,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="知识产权状况" prop="intellectualProperty"> <el-form-item label="知识产权归属" prop="intellectualProperty">
<span>{{ <span>{{
filterDict(cacheStore.getDict('intellectual_property'), localFormData.intellectualProperty) filterDict(cacheStore.getDict('intellectual_property'), localFormData.intellectualProperty)
}}</span> }}</span>

View File

@@ -122,7 +122,7 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="intellectualProperty" label="知识产权状况" align="center"> <el-table-column prop="intellectualProperty" label="知识产权归属" align="center">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.intellectualProperty !== null"> <div v-if="scope.row.intellectualProperty !== null">
<Tag dictType="intellectual_property" :value="scope.row.intellectualProperty"/> <Tag dictType="intellectual_property" :value="scope.row.intellectualProperty"/>

View File

@@ -264,8 +264,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':'-40px'}"> <el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':'-40px'}">
<el-form-item label="知识产权状况" prop="intellectualProperty"> <el-form-item label="知识产权归属" prop="intellectualProperty">
<el-select v-model="formData.intellectualProperty" placeholder="请选择知识产权状况" clearable filterable <el-select v-model="formData.intellectualProperty" placeholder="请选择知识产权归属" clearable filterable
@change="changeCollectData"> @change="changeCollectData">
<el-option <el-option
v-for="item in cacheStore.getDict('intellectual_property')" v-for="item in cacheStore.getDict('intellectual_property')"
@@ -438,7 +438,7 @@ const rules = reactive({
technicalStandard: [{required: true, message: '请选择预期技术标准制定', trigger: ['blur', 'change']}], technicalStandard: [{required: true, message: '请选择预期技术标准制定', trigger: ['blur', 'change']}],
industryUniversityResearch: [{required: true, message: '请选择产学研联合', trigger: ['blur', 'change']}], industryUniversityResearch: [{required: true, message: '请选择产学研联合', trigger: ['blur', 'change']}],
governmentDeclaration: [{required: true, message: '请选择开展政府申报', trigger: ['blur', 'change']}], governmentDeclaration: [{required: true, message: '请选择开展政府申报', trigger: ['blur', 'change']}],
intellectualProperty: [{required: true, message: '请选择知识产权状况', trigger: ['blur', 'change']}], intellectualProperty: [{required: true, message: '请选择知识产权归属', trigger: ['blur', 'change']}],
inventionPatent: [{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']}], softwareCopyright: [{required: true, message: '请输入软件著作权数量', trigger: ['blur', 'change']}],

View File

@@ -9,7 +9,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="知识产权状况" prop="intellectualProperty"> <el-form-item label="知识产权归属" prop="intellectualProperty">
<span>{{ <span>{{
filterDict(cacheStore.getDict('intellectual_property'), localFormData.intellectualProperty) filterDict(cacheStore.getDict('intellectual_property'), localFormData.intellectualProperty)
}}</span> }}</span>