analysis-summary.vue 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <view class="px-40 pb-40">
  3. <view class="bg-title bg-white p-40">
  4. <image class="" src="/static/ie/entry/bg-ai-tab3.png" mode="heightFix"/>
  5. </view>
  6. <view class="fx-col gap-40">
  7. <view class="rounded-lg p-10" v-for="(u,i) in improveColleges" :key="i">
  8. <view class="pl-10 pt-10 pb-20 fx-row fx-sta-cen text-primary-deep">
  9. <uv-image width="18" height="auto" mode="widthFix" src="/static/ie/entry/college.png"/>
  10. <text class="ml-15">{{ u.university && u.university.name }}</text>
  11. </view>
  12. <view class="bg-white mt-20">
  13. <uv-cell-group :border="false">
  14. <uv-cell v-for="(m,idx) in u.majorDetails.filter(m => m.improves&&m.improves.length)" :key="idx"
  15. :border="false" isLink @click="showImprove(m)">
  16. <template #title>
  17. <view class="fx-row ai-cen">
  18. <text class="mr-20 text-xl font-bold italic">
  19. {{ (Array(2).join('0') + (idx + 1)).slice(-2) }}
  20. </text>
  21. <view class="fx-col">
  22. <text>{{ m.majorName }}</text>
  23. <text v-if="m.majorDirection" class="text-primary-light text-2xs">
  24. ({{ m.majorDirection }})
  25. </text>
  26. </view>
  27. </view>
  28. </template>
  29. <template #value>
  30. <text class="text-primary-deep pl-10">点击提升</text>
  31. </template>
  32. <template #right-icon>
  33. <uv-icon slot="right-icon" color="#695EEC" name="arrow-right"/>
  34. </template>
  35. </uv-cell>
  36. </uv-cell-group>
  37. </view>
  38. </view>
  39. </view>
  40. <uv-popup ref="popup" mode="bottom" round="16">
  41. <improve-popup-content :data="improveData"/>
  42. </uv-popup>
  43. </view>
  44. </template>
  45. <script>
  46. import {useInjectTransfer} from "@/hooks/useTransfer";
  47. import ImprovePopupContent from "@/pages/ie/entry-ai-report/components/improve-popup-content.vue";
  48. export default {
  49. name: 'analysis-summary',
  50. components: {ImprovePopupContent},
  51. data() {
  52. return {
  53. improveData: null
  54. }
  55. },
  56. setup() {
  57. const {prevData} = useInjectTransfer()
  58. return {
  59. prevData
  60. }
  61. },
  62. computed: {
  63. improveColleges() {
  64. return this.prevData.details?.filter(u => u.majorDetails?.some(m => m.improves?.length)) || []
  65. }
  66. },
  67. methods: {
  68. showImprove(m) {
  69. this.improveData = m
  70. this.$refs.popup.open()
  71. }
  72. }
  73. };
  74. </script>
  75. <style lang="scss" scoped>
  76. .bg-title {
  77. position: sticky;
  78. top: 44px;
  79. z-index: 1;
  80. text-align: center;
  81. image {
  82. height: 36rpx;
  83. }
  84. }
  85. .uv-cell {
  86. background-color: #E9ECFF;
  87. border-radius: 20px;
  88. & + .uv-cell {
  89. margin-top: 12px;
  90. }
  91. }
  92. </style>