<template> <div> <table class="tab-content" cellpadding="3" cellspacing="3" style="width: 98%"> <tr> <td class="bg-title">评审指标</td> <td class="bg-title">评审指标选项</td> <td class="bg-title">专家打分</td> </tr> <tr v-for="(item, index) in tableData" :key="'data'+index" style="line-height: 25px"> <td>{{ item.oneLevel }}</td> <td> {{ item.towLevel1 }}<br /> {{ item.towLevel2 }}<br /> {{ item.towLevel3 }} </td> <td style="text-align: center;"> <a-form-model-item :prop="'score' + item.order" v-if="item.order==1"> <a-input-number v-model="value.score1" :min="0" :max="item.score" 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.score" 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.score" 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.score" 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.score" 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.score" 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.score" style="width: 60%" /> </a-form-model-item> </td> </tr> <tr> <td class="bg-title" style="text-align: right;">总分:</td> <td colspan="2" style="text-align: left;padding-left: 12px;">{{Count()}}分</td> </tr> <!-- <tr> <td class="bg-title" style="text-align: right;">是否推荐立项支持</td> <td colspan="2"> <a-form-model-item prop="supportState"> <a-radio-group v-model="value.supportState"> <a-radio :value="1">是</a-radio> <a-radio :value="0">否</a-radio> </a-radio-group> </a-form-model-item> </td> </tr> --> <tr> <td class="bg-title" style="text-align: right;">评审结果</td> <td colspan="2"> <a-form-model-item prop="evaluationType"> <a-radio-group v-model="value.evaluationType" disabled> <a-radio :value="1">{{ evaluationTypeA }}</a-radio> <a-radio :value="2">{{ evaluationTypeB }}</a-radio> <a-radio :value="3">{{ evaluationTypeC }}</a-radio> </a-radio-group> </a-form-model-item> </td> </tr> <tr> <td class="bg-title" style="text-align: right;">评审意见(是否存在科研被信问题?该项目存在的问题和不足及意见建议)</td> <td colspan="2"> <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> </table> </div> </template> <script> import { getEvaluationType } from "@/views/utils/common" export default { name: "scoreEdit", components: {}, props: { value: { type: Object, default () { return null; }, }, }, data () { return { tableData: [ { 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, }, ], remark: "", supportState: null, evaluationType: 0, totalScore: 0, disabled: true, }; }, computed: { evaluationTypeA () { return getEvaluationType(0) }, evaluationTypeB () { return getEvaluationType(1) }, evaluationTypeC () { return getEvaluationType(2) }, }, created () { }, methods: { Count () { var s = 0.0; for (var i = 1; i <= 7; i++) { if (this.value['score' + i]) { s += parseFloat(this.value['score' + i]) } } 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"> .tab-content { ::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; } } 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>