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

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/992
This commit is contained in:
2025-04-18 14:40:16 +00:00
9 changed files with 79 additions and 48 deletions

View File

@@ -27,7 +27,7 @@
<el-button color="#DED0B2" v-if="templateDownloadBtnShow" @click="handleImportTemplateDownload"
style="margin-left: 10px">模板下载
</el-button>
<fvTable style="width: 100%;max-height: 160px;" v-if="showTable" height="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">
<template #empty>
<el-empty :image-size="55" description="暂无数据" style="padding: 0"/>
@@ -532,12 +532,10 @@ defineExpose({
})
</script>
<style scoped>
:deep(.el-table--fit ) {
height: 300px !important;
}
</style>
<style lang="scss" scoped>
:deep(.el-table--fit ) {
height: 160px !important;
}
:deep(.el-table__header) {
.is-leaf:first-child {
.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'}">
<file-upload @getFile="getOtherFile" v-if="fileListShow === 'EDIT'"/>
<!-- :style="{width:isOpenPrint?'610px': '100%'}" table-layout="auto" id="printTable"-->
<fvTable style="width:100%;max-height: 160px;" v-if="processViewer" :scrollbar-always-on="true" height="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">
<template #empty>
<el-empty :image-size="55" description="暂无数据" style="padding: 0"/>

View File

@@ -59,7 +59,7 @@
v-model:value="optionalChargeLeadershipList" @ok="optionalChargeLeaderPickerOk" @cancelOrClear="optionalChargeLeaderPickerCancel"/>
</el-form-item>
</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-button color="#DED0B2" @click="handleShowPreTable" style="margin-right: 10px">
{{

View File

@@ -390,6 +390,7 @@ const getTagsOption = (flag) => {
if (!route.query.projectId) return
getTagList(route.query.projectId).then(res => {
if (res.code === 1000) {
tagsOption.value = res.data.rows
let list=[]
if(flag){
@@ -406,7 +407,29 @@ const getTagsOption = (flag) => {
})
console.log("🚀 otherAttachmentList.value", allFiles.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;
// activeName.value=res.data.rows[0].tagId
} else {

View File

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

View File

@@ -21,7 +21,7 @@
<el-card shadow="never" class="todo-bg" @tab-add="refreshTodoOrDoneList(activeName)">
<el-tabs v-model="activeName" editable>
<template #add-icon>
<div @click="refreshTodoOrDoneList" style="margin-left: -50px">
<div @click="refreshTodoOrDoneList" style="margin-left: -50px;font-size: 14px">
刷新一下
<div style="width: 31px"></div>
</div>
@@ -29,14 +29,14 @@
<el-tab-pane :label="'待办('+(todoList?.length||0) +''" name="first">
<div class="todo-top">
<div class="bell">
<el-icon size="20" color="#F55815">
<el-icon size="16" color="#F55815">
<BellFilled/>
</el-icon>
<span>您有{{ todoList?.length || 0 }}条待办需要处理</span>
</div>
<div class="todo-more" @click="handleTodoList(1)">
<span>查看更多</span>
<el-icon color="#1F63E6" size="18">
<el-icon color="#1F63E6" size="16">
<ArrowRight/>
</el-icon>
</div>
@@ -73,14 +73,14 @@
<el-tab-pane :label="'已办(' + (doneList?.length||0) + ''" name="second">
<div class="todo-top">
<div class="bell">
<el-icon size="20" color="#F55815">
<el-icon size="16" color="#F55815">
<BellFilled/>
</el-icon>
<span>您有{{ todoList.length }}条待办需要处理</span>
</div>
<div class="todo-more" @click="handleTodoList(2)">
<span>查看更多</span>
<el-icon color="#1F63E6" size="18">
<el-icon color="#1F63E6" size="16">
<ArrowRight/>
</el-icon>
</div>
@@ -245,7 +245,7 @@
<!-- <div>-->
<!-- <span>{{ index > 8 ? '' : 0 }}{{ index + 1 }}</span>{{ item.title }}-->
<!-- </div>-->
<div :style="{'color': item.isRead ? '#1F63E6' : 'rgba(0,0,0,0.5)'}">
<div :style="{'color': item.isRead ? '#1F63E6' : '#000'}">
<span>{{ item.articleTitle }}</span>
<span class="dot" v-if="item.isRead"></span>
</div>
@@ -384,8 +384,8 @@ const fundPieOption = ref({
align: 'left',
icon: 'circle',
textStyle: {
color: 'rgba(0,0,0,0.6)',
fontSize: '12px'
color: '#000',
fontSize: '14px'
},
},
graphic: { //图形中间图片
@@ -398,18 +398,19 @@ const fundPieOption = ref({
},
left: 'center',
right: 'center',
top: '42%'
top: '45%'
}]
},
series: [
{
type: 'pie',
radius: [65, 90],
center: ['50%', '50%'],
center: ['50%', '55%'],
top: '10%',
left: '8',
label: {
show: true,
fontSize:14,
formatter: '{b}\n{d}%'
// formatter: params => {
// console.log(params)
@@ -451,12 +452,12 @@ const fundPieOption = ref({
clockWise: false,
hoverAnimation: false,
radius: ['70%', '70%'],//边框大小
center: ['50%', '50%'],//边框位置
center: ['50%', '55%'],//边框位置
tooltip: {
show: false
},
label: {
show: false
show: false,
},
emphasis: {
show: false
@@ -486,6 +487,7 @@ const moneyPieOption = ref({
center: ['50%', '50%'],
label: {
normal: {
fontSize:14,
show: true,
position: 'inner',
formatter: function (data) {
@@ -839,6 +841,13 @@ const handleView = (row) => {
</script>
<style lang="scss" scoped>
:deep(.el-input){
width: 84px!important;
}
:deep(.el-input__inner){
font-size: 14px;
color: #000;
}
@media (min-width: 1200px) and (max-width: 1918px) {
//.right-top {
// height: 684px !important;
@@ -1001,7 +1010,7 @@ const handleView = (row) => {
.total-money {
height: 25px;
font-weight: 400;
font-size: 15px;
font-size: 14px;
color: #000000;
line-height: 18px;
}
@@ -1037,14 +1046,14 @@ const handleView = (row) => {
> div:last-child {
font-weight: 400;
font-size: 15px;
font-size: 14px;
color: #000000;
letter-spacing: 1px;
margin-left: 28px;
}
.company-name {
font-size: 12px;
font-size: 14px;
color: rgba(0, 0, 0, 0.6);
letter-spacing: 1px;
margin-left: 10px;
@@ -1105,7 +1114,7 @@ const handleView = (row) => {
:deep(.el-tabs__new-tab ) {
width: 67px !important;
border: none !important;
color: #1476E3;
color: #1476E3;
font-size: 14px;
line-height: 51px !important;
height: 51px !important;
@@ -1130,11 +1139,11 @@ const handleView = (row) => {
.el-tabs__nav {
.el-tabs__item {
flex: 1;
font-size: 16px;
width: 120px;
font-size: 14px;
width: 100px;
//font-weight: 600;
height: 51px;
color: rgba(0, 0, 0, 0.5);
color: #000;
}
.el-tabs__item.is-active {
@@ -1197,7 +1206,7 @@ const handleView = (row) => {
margin-left: 14px;
color: #000000;
letter-spacing: 1px;
font-size: 16px;
font-size: 14px;
> span {
color: #F40E0E;
@@ -1260,7 +1269,7 @@ const handleView = (row) => {
flex-direction: column;
//align-items: flex-end;
font-weight: 400;
color: rgba(0, 0, 0, 0.5);
color:#000;
letter-spacing: 1px;
font-size: 12px;
@@ -1343,13 +1352,13 @@ const handleView = (row) => {
justify-content: space-between;
font-size: 14px;
margin-bottom: 12px;
margin-left: 20px;
margin-left: 4px;
.bell {
display: flex;
align-items: center;
color: #F55815;
color: #F55815;
font-size: 15px;
> span {
@@ -1380,13 +1389,13 @@ const handleView = (row) => {
> span:first-child {
white-space: nowrap;
font-size: 36px;
font-size: 34px;
font-weight: bold;
margin-bottom: 10px;
> span {
margin-left: 10px;
font-size: 13px;
font-size: 14px;
}
}
@@ -1394,6 +1403,7 @@ const handleView = (row) => {
white-space: nowrap;
color: #fff;
margin-bottom: 10px;
font-size: 14px;
}
}
}
@@ -1418,8 +1428,7 @@ const handleView = (row) => {
justify-content: space-between;
height: 47px !important;
line-height: 47px !important;
color: rgba(0, 0, 0, 0.5) !important;
color: #000 !important;
> div:first-child {
position: relative;
text-overflow: ellipsis;
@@ -1456,7 +1465,7 @@ const handleView = (row) => {
margin-left: 20px;
font-weight: 400;
letter-spacing: 1px;
color: rgba(0, 0, 0, 0.5)
color: #000
}
}
}
@@ -1518,7 +1527,7 @@ const handleView = (row) => {
height: 75px;
line-height: 75px;
padding: 0 15px;
font-size: 12px;
font-size: 14px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -1526,9 +1535,9 @@ const handleView = (row) => {
> span:first-child {
margin-right: 10px;
margin-left: 10px;
font-size: 14px;
color: #1476E3;
font-weight: bold;
font-size: 16px;
}
&:hover {
@@ -1557,8 +1566,8 @@ const handleView = (row) => {
.fund-pie {
width: 100%;
height: 25px;
font-size: 12px;
color: rgba(0, 0, 0, 0.5);
font-size: 14px;
color: #000;
text-align: center;
//margin-top: 15px;
}
@@ -1576,7 +1585,7 @@ const handleView = (row) => {
.tag {
width: 7px;
height: 18px;
height: 14px;
background: linear-gradient(#1476E3 0%, #99C9FF 100%);
margin-right: 5px;
border-radius: 2px;
@@ -1586,6 +1595,7 @@ const handleView = (row) => {
> span {
white-space: nowrap;
color: #000000;
font-size: 14px;
//font-weight: 600;
}
}

View File

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

View File

@@ -264,8 +264,8 @@
</el-form-item>
</el-col>
<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-form-item label="知识产权归属" prop="intellectualProperty">
<el-select v-model="formData.intellectualProperty" placeholder="请选择知识产权归属" clearable filterable
@change="changeCollectData">
<el-option
v-for="item in cacheStore.getDict('intellectual_property')"
@@ -438,7 +438,7 @@ const rules = reactive({
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']}],
intellectualProperty: [{required: true, message: '请选择知识产权归属', trigger: ['blur', 'change']}],
inventionPatent: [{required: true, message: '请输入发明专利数量', trigger: ['blur', 'change']}],
newPatent: [{required: true, message: '请输入实用性新型专利数量', trigger: ['blur', 'change']}],
softwareCopyright: [{required: true, message: '请输入软件著作权数量', trigger: ['blur', 'change']}],

View File

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