holland-list-item.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <template>
  2. <view class="bg-white mx-card rounded-lg overflow-hidden">
  3. <view class="p-24 flex justify-between items-center">
  4. <view class="text-fore-title flex items-center gap-8">
  5. <text>{{ typeName }}</text>
  6. <text>-</text>
  7. <text class="text-orange-400">{{ item.ruleCode }}</text>
  8. </view>
  9. <uv-text type="tips" prefix-icon="clock" :text="reportDate" class="!justify-end"/>
  10. </view>
  11. <view class="mx-20 grid grid-cols-3 text-sm ie-grid-border">
  12. <view class="flex justify-center items-center gap-5 py-20">
  13. <view class="text-fore-content">现实型(R)</view>
  14. <view class="text-fore-title">{{ item.scorer }}</view>
  15. </view>
  16. <view class="flex justify-center items-center gap-5 py-20">
  17. <view class="text-fore-content">艺术型(A)</view>
  18. <view class="text-fore-title">{{ item.scorea }}</view>
  19. </view>
  20. <view class="flex justify-center items-center gap-5 py-20">
  21. <view class="text-fore-content">研究型(I)</view>
  22. <view class="text-fore-title">{{ item.scorei }}</view>
  23. </view>
  24. <view class="flex justify-center items-center gap-5 py-20">
  25. <view class="text-fore-content">社会型(S)</view>
  26. <view class="text-fore-title">{{ item.scores }}</view>
  27. </view>
  28. <view class="flex justify-center items-center gap-5 py-20">
  29. <view class="text-fore-content">企业型(E)</view>
  30. <view class="text-fore-title">{{ item.scoree }}</view>
  31. </view>
  32. <view class="flex justify-center items-center gap-5 py-20">
  33. <view class="text-fore-content">传统型(C)</view>
  34. <view class="text-fore-title">{{ item.scorec }}</view>
  35. </view>
  36. </view>
  37. <view class="py-20 flex justify-center">
  38. <ie-tag-button text="查看报告" icon="arrow-right" reverse @click="handleReport"/>
  39. </view>
  40. </view>
  41. </template>
  42. <script setup lang="ts">
  43. import {useTransferPage} from "@/hooks/useTransferPage";
  44. import {HollandRecord} from "@/types/test-center";
  45. import {routes} from "@/common/routes";
  46. const props = withDefaults(defineProps<{
  47. item: HollandRecord
  48. }>(), {
  49. item: () => ({} as HollandRecord)
  50. })
  51. const {transferTo} = useTransferPage()
  52. const map: Record<string, string> = {
  53. R: '现实型',
  54. A: '艺术型',
  55. I: '研究型',
  56. S: '社会型',
  57. E: '企业型',
  58. C: '传统型'
  59. }
  60. const typeName = computed(() => map[props.item.ruleCode ? props.item.ruleCode[0] : ''])
  61. const reportDate = computed(() => getDateStr(props.item.createTime))
  62. const getDateStr = (str: string) => {
  63. return str.substring(0, 10)
  64. }
  65. const handleReport = () => {
  66. transferTo(routes.pageHolland, {
  67. data: {code: props.item.code}
  68. })
  69. }
  70. </script>
  71. <style scoped>
  72. </style>