ProjectSetupVertical.vue 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <view class="setup-wrapper">
  3. <CommonSection title="立项概览" isFirst>
  4. <CommonInfoRow label="项目名称" :value="projectData?.projectName" />
  5. <CommonInfoRow label="项目编号" :value="projectData?.projectCode" />
  6. <CommonInfoRow label="项目分类" :value="projectData?.projectClazzName" />
  7. <CommonInfoRow label="项目来源" :value="projectData?.projectSource" />
  8. <CommonInfoRow label="项目执行期"
  9. :value="formatDate(projectData?.planStartDate) + ' ~ ' + formatDate(projectData?.planEndDate)" />
  10. <CommonInfoRow label="研究类型" :value="getDictLabel('sci_pjt_type', projectData?.studyType)" />
  11. <CommonInfoRow label="统计年度" :value="formatDate(projectData?.statisticalYear, 'YYYY')" />
  12. <CommonInfoRow label="项目负责人/合作完成人" :value="projectData?.projectLeaderName" />
  13. <CommonInfoRow label="所属科室" :value="projectData?.deptName" />
  14. <CommonInfoRow label="负责人电话" :value="projectData?.projectLeaderPhone" />
  15. <CommonInfoRow label="负责人邮箱" :value="projectData?.projectLeaderMail" />
  16. <CommonInfoRow label="是否中医药"
  17. :value="projectData?.isMedicine == '10' ? '是' : (projectData?.isMedicine == '20' ? '否' : '--')" />
  18. <CommonInfoRow label="包干制项目"
  19. :value="projectData?.isLumpSum == '10' ? '是' : (projectData?.isLumpSum == '20' ? '否' : '--')" />
  20. <CommonInfoRow label="获批时间" :value="projectData?.approvalDate ? formatDate(projectData.approvalDate) : '--'" />
  21. <CommonInfoRow label="获批编号" :value="projectData?.projectNo" />
  22. <CommonInfoRow label="合同经费(元)" :value="amountUnitFormatter(projectData?.contractFunds)" isAmount />
  23. <CommonInfoRow label="批准经费(元)" :value="amountUnitFormatter(projectData?.approvedFunds)" isAmount />
  24. <CommonInfoRow label="匹配经费(元)" :value="amountUnitFormatter(projectData?.supportFunds)" isAmount />
  25. <CommonInfoRow label="自筹经费(元)" :value="amountUnitFormatter(projectData?.selfFunds)" isAmount />
  26. <CommonInfoRow label="总经费(元)" :value="amountUnitFormatter(projectData?.totalAmount)" isAmount />
  27. <CommonInfoRow label="单位排名"
  28. :value="projectData?.unitRank == '10' ? '第一单位' : (projectData?.unitRank == '20' ? '非第一单位' : '--')" noBorder />
  29. </CommonSection>
  30. </view>
  31. </template>
  32. <script setup lang="ts">
  33. import { useDict } from '@/hooks/useDict';
  34. import { formatDate } from '@/utils/date';
  35. import { formatWithComma } from '@/utils/format';
  36. import CommonSection from '@/components/ui/CommonSection.vue';
  37. import CommonInfoRow from '@/components/ui/CommonInfoRow.vue';
  38. const props = defineProps<{
  39. projectData: any;
  40. }>();
  41. const { getDictLabel } = useDict('sci_pjt_type');
  42. const amountUnitFormatter = (num: any) => {
  43. return formatWithComma(num);
  44. };
  45. </script>
  46. <style lang="scss" scoped>
  47. .setup-wrapper {
  48. width: 100%;
  49. padding-bottom: 20px;
  50. }
  51. </style>