• wangxl's avatar
    1111 · 03ee5d29
    wangxl authored
    03ee5d29
scoreView.vue 10.1 KB
<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>
    </a-spin>
  </div>
</template>

<script>
import { toTextarea } from '@/views/utils/common'
export default {
  name: "scoreView",
  props: {
    value: {
      type: String,
      default: () => {
        return null;
      },
    },
  },
  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,
    };
  },
  created () {
    this.getAssignExpertById()
  },
  methods: {
    getAssignExpertById () {
      if (!!this.value) {
        this.loading = true
        this.$api.projectAssign.getAssignExpertById({ id: this.value }).then(({ data = {} }) => {
          if (data) {
            this.formData = data
            this.loading = false
          } else
            this.$emit('close', 'error')
        }).catch(() => {
          this.$message.warn('500 Internal Server Error!')
          this.$emit('close', 'error')
        })
      }
    },
    toTextarea,
  },
};
</script>