Commit f23a1225 authored by 徐俊's avatar 徐俊
parents 403fe7a3 18a3adb5
<template>
<div>
<!-- <a-form-model ref="form" :model="value" :rules="rules" class="from-table font-line-space"> -->
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>申报项目</div>
</div>
</a-col>
<a-col :span="20">
<div class="special-middle">
<div>{{ value.projName }}</div>
</div>
</a-col>
</a-row>
<a-row type="flex" style="border-bottom:0;" class="none-bottom">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>申报单位</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{ value.appUnitName }}</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>项目申请人</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{ value.appPersonName }}</div>
</div>
</a-col>
</a-row>
<table class="tab-content" style="width: 100%">
<tr>
<th>序号</th>
<th>内容</th>
<th>指标</th>
<th>评分内容</th>
<th>指标值</th>
<th>分值</th>
<th>评估评审标准</th>
<th>打分</th>
</tr>
<tr v-for="(item,index) in fromList" :key="'tr1'+index">
<td :rowspan="item.row1" v-if="item.row1>0">{{item.showIndex}}</td>
<td :rowspan="item.row1" v-if="item.row1>0">{{ item.title1 }}</td>
<td :rowspan="item.row2" v-if="item.row2>0">{{ item.title2 }}</td>
<td :rowspan="item.row3" v-if="item.row3>0">{{ item.title3 }}</td>
<td style="text-align: center;">{{ item.title }}</td>
<td style="text-align: center;">{{ item.score }}</td>
<td>{{ item.meaning }}</td>
<td style="text-align: center;" :rowspan="item.row3" v-if="item.row3>0">
<a-form-model-item :prop="'score' + item.order" v-if="item.order==1">
<a-input-number v-model="value.score1" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==2">
<a-input-number v-model="value.score2" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==3">
<a-input-number v-model="value.score3" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==4">
<a-input-number v-model="value.score4" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==5">
<a-input-number v-model="value.score5" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==6">
<a-input-number v-model="value.score6" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==7">
<a-input-number v-model="value.score7" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==8">
<a-input-number v-model="value.score8" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==9">
<a-input-number v-model="value.score9" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==10">
<a-input-number v-model="value.score10" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==11">
<a-input-number v-model="value.score11" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==12">
<a-input-number v-model="value.score12" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==13">
<a-input-number v-model="value.score13" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==14">
<a-input-number v-model="value.score14" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==15">
<a-input-number v-model="value.score15" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==16">
<a-input-number v-model="value.score16" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==17">
<a-input-number v-model="value.score17" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==18">
<a-input-number v-model="value.score18" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==19">
<a-input-number v-model="value.score19" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
</td>
</tr>
<tr>
<td>5</td>
<td>附加项</td>
<td>审计或科技计划项目检验情况</td>
<td>申报单位所承担科技计划项目在接受审计中期评估、“双随机一公开”等工作中的情况。</td>
<td colspan="3">未发现问题,则该指标不适用;发现问题的,每涉及一个项目扣3分<br /><span style="color: red;">(注:本项填写0或负数)</span></td>
<td style="text-align: center;">
<a-form-model-item :prop="'additionalScore'">
<a-input-number v-model="value.additionalScore" :max="0" :step="-3" style="width: 60%" />
</a-form-model-item>
</td>
</tr>
<tr>
<td style="text-align: center;" colspan="7">总得分</td>
<td style="text-align: center;">
{{Count()}}
</td>
</tr>
<tr>
<td colspan="4" style="text-align: right;">项目申报财政支持金额(万元)</td>
<td colspan="4" style="text-align: left;"> {{ value.applyFunding}}</td>
</tr>
<tr>
<td colspan="4" style="text-align: right;">项目预算评审建议财政支持金额(万元)</td>
<td colspan="4" style="text-align: left;">
<a-form-model-item :prop="'recommendFunding'">
<a-input-number v-model="value.recommendFunding" :min="0" style="width:100px" />
</a-form-model-item>
</td>
</tr>
<tr>
<td colspan="4" style="text-align: right;">意见与建议</td>
<td colspan="4" style="text-align: left;">
<a-form-model-item prop="remark">
<a-textarea placeholder="评审意见" v-model="value.remark" :maxLength="1000" style="width: 80%; height: 120px; margin-top: 6px" />
</a-form-model-item>
</td>
</tr>
<tr>
<td colspan="4" class="bg-title" style="text-align: right;">评审结果</td>
<td colspan="4">
<a-form-model-item prop="evaluationType">
<a-radio-group v-model="value.evaluationType" disabled>
<a-radio :value="1">A类(通过)</a-radio>
<a-radio :value="2">B类(建议修改)</a-radio>
<a-radio :value="3">C类(不通过)</a-radio>
</a-radio-group>
</a-form-model-item>
</td>
</tr>
</table>
<!-- </a-form-model> -->
</div>
</template>
<script>
import { standardList } from '@/views/evaluation/components/config'
export default {
name: "economy",
components: {},
props: {
value: {
type: Object,
default () {
return null;
},
},
},
data () {
return {
fromList: standardList,
w: {
score1: null,
score2: null,
score3: null,
score4: null,
score5: null,
score6: null,
score7: null,
score8: null,
score9: null,
score10: null,
score11: null,
score12: null,
score13: null,
score14: null,
score15: null,
score16: null,
score17: null,
score18: null,
score19: null,
additionalScore: null,
totalScore: null,
applyFunding: null,
recommendFunding: null,
remark: null,
evaluationType: null,
},
rules: {
score1: { required: true, message: "*", trigger: "blur" },
score2: { required: true, message: "*", trigger: "blur" },
score3: { required: true, message: "*", trigger: "blur" },
score4: { required: true, message: "*", trigger: "blur" },
score5: { required: true, message: "*", trigger: "blur" },
score6: { required: true, message: "*", trigger: "blur" },
score7: { required: true, message: "*", trigger: "blur" },
score8: { required: true, message: "*", trigger: "blur" },
score9: { required: true, message: "*", trigger: "blur" },
score10: { required: true, message: "*", trigger: "blur" },
score11: { required: true, message: "*", trigger: "blur" },
score12: { required: true, message: "*", trigger: "blur" },
score13: { required: true, message: "*", trigger: "blur" },
score14: { required: true, message: "*", trigger: "blur" },
score15: { required: true, message: "*", trigger: "blur" },
score16: { required: true, message: "*", trigger: "blur" },
score17: { required: true, message: "*", trigger: "blur" },
score18: { required: true, message: "*", trigger: "blur" },
score19: { required: true, message: "*", trigger: "blur" },
additionalScore: { required: true, message: "*", trigger: "blur" },
recommendFunding: { required: true, message: "*", trigger: "blur" },
remark: { required: true, message: "*", trigger: "blur" },
evaluationType: { required: true, message: "*", trigger: "change" },
},
};
},
created () {
},
methods: {
Count () {
var s = 0.0;
for (var i = 1; i <= 19; i++) {
if (this.value['score' + i]) {
s += parseFloat(this.value['score' + i])
}
}
if (!!this.value.additionalScore) {
s += parseFloat(this.value.additionalScore)
}
s = s.toFixed(1) * 10 / 10
this.value.totalScore = s
this.determineType()
return s
},
determineType () {
if (this.value.totalScore >= 80)
this.value.evaluationType = 1
else if (this.value.totalScore < 80 && this.value.totalScore >= 60)
this.value.evaluationType = 2
else
this.value.evaluationType = 3
},
},
};
</script>
<style scoped lang="less">
.app-content {
table {
table-layout: fixed;
width: 100%;
border: 1;
border-collapse: collapse;
}
table tr td,
th {
border: 1px solid #e8e8e8;
padding: 6px 6px;
color: rgba(0, 0, 0, 0.65);
}
table tr th {
text-align: center;
}
table tr {
th:first-child {
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-row {
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;
}
}
}
.none-bottom {
::v-deep .ant-col {
border-bottom: 0 !important;
}
}
</style>
ant-tabs
\ No newline at end of file
......@@ -14,7 +14,7 @@
<div style="height:calc(100% - 40px);overflow: auto;" ref="main">
<div class="x_modal_content">
<a-form-model ref="form" :model="formData" :rules="rules" class="from-table font-line-space">
<economy v-model="formData" v-if="formData.expertType == 2" />
<economy-edit v-model="formData" v-if="formData.expertType == 2" />
<div v-else>
<technology-evalucation v-if="totalFunding >= 50" v-model="formData"></technology-evalucation>
<div v-else>
......@@ -125,12 +125,12 @@ import moment from 'moment'
import projectView from '@/views/evaluation/components/projectView'
import projectInfo from '@/views/evaluation/components/projectInfo'
import technologyEvalucation from '@/views/evaluation/components/technologyEvalucation'
import economy from '@/views/evaluation/components/economy'
import economyEdit from '@/views/evaluation/components/economyEdit'
export default {
name: "score",
components: {
projectView, projectInfo, technologyEvalucation, economy
projectView, projectInfo, technologyEvalucation, economyEdit
},
props: {
value: {
......
<template>
<div style="height:70vh;overflow:auto">
<a-spin :spinning="loading" style="width: 100%;height: 100%;">
<a-form-model ref="form" :model="formData" class="from-table font-line-space">
<a-row>
<a-col :span="24">
<div class="tb-title">
<span>项目信息</span>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>项目名称</div>
</div>
</a-col>
<a-col :span="12">
<div class="special-middle">
<div>{{formData.projName}}</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>项目编号</div>
</div>
</a-col>
<a-col :span="6">
<div class="special-middle">
<div>{{formData.projNo}}</div>
</div>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<div class="tb-title">
<span>评分</span>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>评审指标</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>指标含义</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>100-90分</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>89-80分 </div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>79-70分</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>69-60分</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>分值</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>专家打分</div>
</div>
</a-col>
</a-row>
<a-row v-for="(tab, index) in tableData" :key="index" type="flex" class="row_center">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>
{{ tab.title }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ tab.meaning }}
</div>
</div>
</a-col>
<a-col :span="3" v-for="(item,index) in tab.child" :key="'item'+index">
<div class="special-middle">
<div>
{{ item }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ tab.score + '分' }}
</div>
</div>
</a-col>
<a-col :span="3" v-if="index==0">
<div class="special-middle">
<div>
{{formData.projectBasis + '分' }}
</div>
</div>
</a-col>
<a-col :span="3" v-if="index==1">
<div class="special-middle">
<div>
{{formData.academicValue + '分' }}
</div>
</div>
</a-col>
<a-col :span="3" v-if="index==2">
<div class="special-middle">
<div>
{{formData.innovation + '分' }}
</div>
</div>
</a-col>
<a-col :span="3" v-if="index==3">
<div class="special-middle">
<div>
{{formData.researchPlan + '分' }}
</div>
</div>
</a-col>
<a-col :span="3" v-if="index==4">
<div class="special-middle">
<div>
{{formData.expectedResults + '分' }}
</div>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle" style="text-align:center!important;">
<div>评审意见 </div>
</div>
</a-col>
<a-col :span="16">
<div class="special-middle" style="min-height:60px">
<div v-html="toTextarea(formData.remark)"></div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle" style="text-align:center!important;">
<div>总分</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle" style="text-align:center!important;">
<div>{{formData.totalScore + '分' }}</div>
</div>
</a-col>
</a-row>
</a-form-model>
<economy-info v-model="formData" v-if="formData.expertType == 2" />
</a-spin>
</div>
</template>
<script>
import economyInfo from '@/views/evaluation/components/economyInfo'
import { toTextarea } from '@/views/utils/common'
export default {
name: "scoreView",
components: {
economyInfo
},
props: {
value: {
type: String,
......@@ -193,43 +25,6 @@ export default {
data () {
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, },
tableData: [
{
title: '立项依据', meaning: '立足于重大疾病、常见病和多发病防治新技术、新方法的研究项目,在医药卫生工作中有较好的应用前景。', child: [
'立项依据充分,科学性较强,研究内容明确。',
'立项依据充分,有科学性,研究内容较明确。',
'立项依据欠充分,研究内容一般,科学性不强。',
'立项依据不充分,研究内容欠明确,缺乏科学性。'], score: 10, grade: null
},
{
title: '项目研究的学术价值和发展趋势分析', meaning: '项目在国际及省内外的发展现状分析情况,以及对未来发展趋势的预测。', child: [
'科研思路清晰,条理清楚、能透彻分析国际和省内外发展现状,准确把握项目实施、发展趋势。',
'科研思路清晰,条理较清楚、了解国际和省内外发展现状,能够准确把握项目实施、发展趋势。',
'科研思路基本成立,条理清楚、基本了解国际和省内外发展现状,基本把握项目实施。',
'科学性不强,条理性差,对发展现状及趋势不清楚,项目实施不到位。'], score: 10, grade: null
},
{
title: '创新性与科学意义', meaning: '指与省内外同类技术相比,其总体技术水平、研究方法、技术参数、临床效果或应用前景指标等所处的位置。', child: [
'学术思想新颖,有明显的创新和特色,创造性突出,有重大科学意义和很好应用前景。',
'学术思想较好,有一定的创新性和特色,有较大的科学意义和较好的应用前景。',
'学术思想一般,无创新性,有一定的科学意义和一般的应用前景。',
'学术思想一般,科学意义不大或应用前景较小。'], score: 30, grade: null
},
{
title: '研究方案', meaning: '指项目的研究内容、研究方法和技术路线等。', child: [
'研究内容适合我省目前卫生计生事业发展需求;重点突出,拟解决的关键问题选择准确,研究方法可行,具有创新性;技术路线先进、合理。',
'研究内容符合我省目前卫生计生事业发展需求,关键问题选择较准确,研究方法可行,对现有方法有改进;技术路线合理、可行。',
'研究内容较符合我省目前卫生计生事业需求,关键问题选择较准确;研究方法可行;技术路线可行。',
'研究内容不够适合我省需求,只抓住部分关键问题;研究方法可行住不足;技术路线基本合理。'], score: 30, grade: null
},
{
title: '预期结果', meaning: '指通过该项目的实施,在科技进步、人民健康或人才培养等方面可能产生的社会或经济效应等。具有自主知识产权的项目可酌情加分。', child: [
'实用性理,应用前景广阔,具有明显的社会、经济效益,在基层有指导推广作用。可实现技术跨越,对专业技术进步、人民健康或人才培养作用显著。',
'实用性较强,可在一定范围应用,可取得较好的社会、经济效益;对行业科技进步、人民健康、人才培养作用明显。',
'实用性一般,可部分应用,社会、经济效益一般,可使技术水平有所提高,对行业科技进步、人民健康、人才培养作用一般。',
'实用性较差或难以应用;较难实现社会或经济效益;难以推动行业技术水平提高。'], score: 20, grade: null
},
],
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