Commit 2b936752 authored by wangxl's avatar wangxl

5555

parent cd0d4cf3
<template> <template>
<div> <div>
<table class="tab-content" style="width: 100%"> <table class="tab-content" cellpadding="3" cellspacing="3" style="width: 98%;margin-top: 6px;">
<tr> <tr>
<td class="bg-title">评审指标</td> <td class="bg-title" style="width:7%">指标分类</td>
<td class="bg-title">评审指标选项</td> <td class="bg-title" style="width:10%">评分标准</td>
<td class="bg-title">专家打分</td> <td class="bg-title" style="width:10%">评分项目</td>
<td class="bg-title" style="width:8%">单项得分</td>
<td class="bg-title" style="width:30%">明细</td>
<td class="bg-title" style="width:10%">数量</td>
<td class="bg-title" style="width:10%">评分</td>
<td class="bg-title" style="width:25%">备注</td>
</tr> </tr>
<tr v-for="(item,index) in tableData" :key="'tr1'+index"> <tr v-for="(item,index) in scoreList" :key="'scoreList'+index" type="flex" class="row_center">
<td>{{ item.oneLevel }}</td> <td :rowspan="item.row1" v-if="item.row1>0" style="text-align:center;font-weight: 800;">{{item.content1}}</td>
<td :rowspan="item.row2" v-if="item.row2>0">{{item.content2}}</td>
<td>{{item.content}}</td>
<td style="text-align:center">{{item.scoreDetail}}</td>
<td> <td>
{{ item.towLevel1 }}<br /> {{item.detail}}
{{ item.towLevel2 }}<br />
{{ item.towLevel3 }}
</td> </td>
<td style="text-align: center;"> <td style="text-align:center;font-weight: 600;">
<span v-if="item.order==1">{{ value.score1 }}</span> {{item.count}}
<span v-if="item.order==2">{{ value.score2 }}</span>
<span v-if="item.order==3">{{ value.score3 }}</span>
<span v-if="item.order==4">{{ value.score4 }}</span>
<span v-if="item.order==5">{{ value.score5 }}</span>
<span v-if="item.order==6">{{ value.score6 }}</span>
<span v-if="item.order==7">{{ value.score7 }}</span>
</td> </td>
</tr> <td style="text-align: center;font-weight: 600;">
<tr> {{item.score}}
<td class="bg-title" style="text-align: right;">是否推荐立项</td>
<td colspan="2">
<a-tag :color="'#87d068'" v-if="value.supportState==1"></a-tag>
<a-tag :color="'#f50'" v-if="value.supportState==0"></a-tag>
</td>
</tr>
<tr v-if="value.supportState!=null&&value.supportState==false">
<td style="text-align: right;">不推荐原因</td>
<td colspan="2" style="text-align: left;">
<div v-html="toTextarea(value.noSupportReason)"></div>
</td> </td>
<td>{{item.remark}}</td>
</tr> </tr>
<tr> <tr>
<td class="bg-title" style="text-align: right;">评审结果</td> <td colspan="6" style="text-align: right;">总分:</td>
<td colspan="2"> <td style="text-align: center;">{{value.totalScore}}</td>
<a-tag :color="'#87d068'" v-if="value.evaluationType==1">{{ evaluationTypeA }}</a-tag> <td style="text-align: center;">/</td>
<a-tag :color="'#2db7f5'" v-if="value.evaluationType==2">{{ evaluationTypeB }}</a-tag>
<a-tag :color="'#f50'" v-if="value.evaluationType==3">{{ evaluationTypeC }}</a-tag>
</td>
</tr>
<tr>
<td style="text-align: right;">评审意见(是否存在科研被信问题?该项目存在的问题和不足及意见建议)</td>
<td colspan="2" style="text-align: left;">
<div v-html="toTextarea(value.remark)"></div>
</td>
</tr>
<tr>
<td style="text-align: right;">总得分</td>
<td colspan="2" style="text-align: left;">
<span>{{ value.totalScore }}</span>
</td>
</tr> </tr>
</table> </table>
<div style="height: 10px;"></div>
</div> </div>
</template> </template>
<script> <script>
import { toTextarea, getEvaluationType } from '@/views/utils/common'
export default { export default {
name: "scoreInfo", name: "scoreEdit",
components: {}, components: {},
props: { props: {
value: { value: {
...@@ -76,101 +51,66 @@ export default { ...@@ -76,101 +51,66 @@ export default {
}, },
data () { data () {
return { return {
tableData: [ scoreList: []
{ order: 1, oneLevel: "1.特色与创新性、拟研究的科学问题的重要性或潜在应用价值(20分)", towLevel1: "A.好 (20-16)", towLevel2: "B.较好 (15-12)", towLevel3: "C.一般 (11-0)", score: 20, grade: null, },
{ order: 2, oneLevel: "2.立项依据的充分性和研究的科学价值(15分)", towLevel1: "A.好 (15-12) ", towLevel2: "B.较好 (11-9) ", towLevel3: " C.一般 (8-0)", score: 15, grade: null, },
{ order: 3, oneLevel: "3.研究内容的合理性和完整性(15分)", towLevel1: "A.合理完整 (15-12) ", towLevel2: "B.较合理完整 (11-9) ", towLevel3: " C.一般 (8-0)", score: 15, grade: null, },
{ order: 4, oneLevel: "4.预期目标及考核指标(15分)", towLevel1: "A.明确 (15-12) ", towLevel2: " B.较明确 (11-9) ", towLevel3: "C.一般 (8-0)", score: 15, grade: null, },
{ order: 5, oneLevel: "5.研究方案和技术路线的可行性(15分)", towLevel1: "A.可行 (15-12)", towLevel2: "B.较可行 (11-9) ", towLevel3: "C.一般 (8-0)", score: 15, grade: null, },
{ order: 6, oneLevel: "6.前期工作基础、支撑条件及主持人的科研能力(15分)", towLevel1: "A.好 (15-12) ", towLevel2: "B.较好 (11-9) ", towLevel3: " C.一般 (8-0)", score: 15, grade: null, },
{ order: 7, oneLevel: "7.组织运行管理与风险分析(5分)", towLevel1: "A.风险小 (5-4) ", towLevel2: "B.有一定风险 (3-2) ", towLevel3: " C.风险较大 (1-0)", score: 5, grade: null, },
],
}; };
}, },
computed: { computed: {
evaluationTypeA () {
return getEvaluationType(0)
},
evaluationTypeB () {
return getEvaluationType(1)
},
evaluationTypeC () {
return getEvaluationType(2)
},
}, },
created () { created () {
}, },
methods: { methods: {
toTextarea,
}, },
watch: {
value: {
handler (value) {
this.scoreList = value.scoreList
},
},
}
}; };
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.app-content { .tab-content {
table { ::v-deep .ant-row {
table-layout: fixed; border: 0 !important;
width: 100%;
border: 1;
border-collapse: collapse;
} }
table tr td, ::v-deep .ant-row .ant-col {
th { border: 0 !important;
border: 1px solid #e8e8e8; min-height: 30px !important;
padding: 6px 6px;
color: rgba(0, 0, 0, 0.65);
} }
table tr th { ::v-deep .ant-form-item-control {
text-align: center; line-height: 30px !important;
} }
table tr { ::v-deep .ant-form-item {
th:first-child { margin: 0 !important;
width: 4%;
}
th:nth-child(2) {
width: 6%;
}
th:nth-child(3) {
width: 8%;
}
th:nth-child(4) {
width: 18%;
}
th:nth-child(5) {
width: 6%;
}
th:nth-child(6) {
width: 6%;
}
th:nth-child(7) {
width: 40%;
}
} }
table { ::v-deep .ant-input-number {
::v-deep .ant-row { height: 30px !important;
border: 0 !important;
}
::v-deep .ant-row .ant-col {
border: 0 !important;
min-height: 30px !important;
}
::v-deep .ant-form-item-control {
line-height: 30px !important;
}
::v-deep .ant-form-item {
margin: 0 !important;
}
::v-deep .ant-input-number {
height: 30px !important;
}
::v-deep .ant-input-number-input {
height: 30px !important;
}
} }
} ::v-deep .ant-input-number-input {
.none-bottom { height: 30px !important;
::v-deep .ant-col {
border-bottom: 0 !important;
} }
} }
table,
tr,
td {
border: 1px solid #f0f0f0;
font-size: 10pt;
text-align: left;
line-height: 25px;
height: 25px;
padding: 4px;
}
.bg-title {
background-color: #f8fafc;
font-weight: bold;
text-align: center;
}
.target-value {
text-align: center;
}
</style> </style>
\ No newline at end of file
<template> <template>
<div style="height:70vh;overflow:auto" class="app-content from-table font-line-space"> <div style="height:70vh;overflow:auto" class="app-content font-line-space">
<a-spin :spinning="loading" style="width: 100%;height: 100%;"> <a-spin :spinning="loading" style="width: 100%;height: 100%;">
<score-info v-model="formData" /> <score-info v-model="formData" />
</a-spin> </a-spin>
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
</template> </template>
<script> <script>
import info from '@/views/evaluation/talent/components/scoreInfo' import scoreInfo from '@/views/evaluation/talent/components/scoreInfo'
import { toTextarea } from '@/views/utils/common' import { toTextarea } from '@/views/utils/common'
export default { export default {
name: "scoreView", name: "scoreView",
components: { components: {
info scoreInfo
}, },
props: { props: {
value: { value: {
...@@ -24,29 +24,21 @@ export default { ...@@ -24,29 +24,21 @@ export default {
}, },
data () { data () {
return { return {
formData: { id: null, projId: null, expertId: null, expertName: null, projectBasis: null, academicValue: null, innovation: null, researchPlan: null, expectedResults: null, totalScore: null, remark: null, projName: null, projNo: null, }, formData: { id: null },
loading: false, loading: false,
}; };
}, },
computed: { computed: {
evaluationTypeA () {
return getEvaluationType(0)
},
evaluationTypeB () {
return getEvaluationType(1)
},
evaluationTypeC () {
return getEvaluationType(2)
},
}, },
created () { created () {
this.getAssignExpertById() this.getTalentAssignInfoById()
}, },
methods: { methods: {
getAssignExpertById () { getTalentAssignInfoById () {
if (!!this.value) { if (!!this.value) {
this.loading = true this.loading = true
this.$api.projectAssign.getAssignExpertById({ id: this.value }).then(({ data = {} }) => { this.$api.talentAssign.getTalentAssignInfoById({ id: this.value }).then(({ data = {} }) => {
if (data) { if (data) {
this.formData = data this.formData = data
this.loading = false this.loading = false
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment