thesisView.vue 2.56 KB
<template>
  <div class="from-table font-line-space" style="max-height:75vh;overflow:auto;">
    <a-spin :spinning="loading" style="width:100%;height:100%;">
     <thesis-info v-model="conclusionData" />
    </a-spin>
  </div>
</template>

<script>

import thesisInfo from '@/views/conclusion/components/thesis/thesisInfo'

export default {
  name: "thesisView",
  components: {
    thesisInfo
  },
  props: {
    value: {
      type: String,
      default: () => {
        return null;
      },
    },
  },
  data () {
    return {
      conclusionData: {
        projNo: null,
        projName: null,
        appPersonName: null,
        appUnitName: null,
        telephone: null,
        planCategory: null,
        startDate: null,
        endDate: null,
        promotionContent: null,
        promotionTarget: null,
        selfEvaluation: null,
        achievingResults: null,
        thesisList: [],
        researchersList: [],
        //拔款
        grant: [],
        //其它途径筹资
        finance: [],
        //主要支出项目
        spending: [],
        balance: null,
        researchContent: null,
        workPlan: null,
        extensionReport: null,
        fileList: [],
        catalogList: [],
      },
      loading: true,
    };
  },
  created () {
    this.getConclusionByProjId()
  },
  computed: {

  },
  methods: {
    getConclusionByProjId () {
      if (!!this.value) {
        this.$api.conclusion.getConclusionByProjId({ id: this.value }).then(({ data = {} }) => {
          if (data) {
            this.conclusionData = data
            this.loading = false
          } else {
            this.$emit('close', 'error')
          }
        }).catch(() => {
          this.$message.error('500 Internal Server Error!');
          this.$emit('close', 'error')
        })
      } else {
        this.$message.error('500 Internal Server Error!');
        this.$emit('close', 'error')
      }
    },
  },
};
</script>
<style scoped lang="less">
.file-layout {
  height: 100%;
  width: 100%;
  .file-box {
    line-height: 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 8px;

    > div:nth-child(1) {
      max-width: 90%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }
  .visually-hidden {
    display: none !important;
  }
}
.inner_from {
  .ant-row-flex:last-child .ant-col {
    border-bottom: 0;
  }
  .ant-row-flex .ant-col:first-child {
    border-left: 0;
  }
  .ant-row-flex {
    border-right: 0;
  }
}
.special-middle {
  .font_s {
    margin: 0 6px;
  }
}
</style>