QualificationTab.vue 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <template>
  2. <div class="tab-content">
  3. <div class="info-section">
  4. <div class="section-title-row">
  5. <div class="section-title-left">
  6. <span class="section-title-text">基本资质</span>
  7. </div>
  8. </div>
  9. <!-- 资质信息列表 -->
  10. <el-table :data="qualificationList" border style="width: 100%">
  11. <el-table-column prop="qualificationName" label="资质名称" align="center" />
  12. <el-table-column prop="qualificationLevel" label="资质级别" align="center" />
  13. <el-table-column prop="certificateNo" label="证件编号" align="center" />
  14. <el-table-column prop="issuingAuthority" label="发证机构" align="center" />
  15. <el-table-column label="资质到期日" align="center">
  16. <template #default="scope">
  17. <span v-if="scope.row.isLongValid == 1"> {{ formatDate(scope.row.endDate) }} 长期有效 </span>
  18. <span v-else>{{ formatDate(scope.row.endDate) }}</span>
  19. </template>
  20. </el-table-column>
  21. <el-table-column label="资质文件" align="center" min-width="300">
  22. <template #default="scope">
  23. <el-button v-if="scope.row.attachmentUrl" link type="primary" @click="emit('downloadQualification', scope.row)">
  24. {{ scope.row.attachmentName || '下载文件' }}
  25. </el-button>
  26. <span v-else>-</span>
  27. </template>
  28. </el-table-column>
  29. <!-- <el-table-column label="操作" align="center" width="200" fixed="right">
  30. <template #default="scope">
  31. <el-button link type="primary" @click="emit('viewQualification', scope.row)">查看</el-button>
  32. </template>
  33. </el-table-column> -->
  34. </el-table>
  35. <!-- 空状态 -->
  36. <!-- <div v-if="qualificationList.length === 0" class="empty-state">暂无资质信息</div> -->
  37. </div>
  38. </div>
  39. </template>
  40. <script setup lang="ts">
  41. defineProps<{
  42. qualificationList: any[];
  43. isViewMode: boolean;
  44. }>();
  45. /** 格式化日期 */
  46. const formatDate = (dateStr: string) => {
  47. if (!dateStr) return '';
  48. // 去掉时分秒,只保留日期部分
  49. return dateStr.split(' ')[0];
  50. };
  51. const emit = defineEmits<{
  52. (e: 'downloadQualification', row: any): void;
  53. (e: 'viewQualification', row: any): void;
  54. (e: 'delete', row: any): void;
  55. }>();
  56. </script>