score-step.vue 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <template>
  2. <view class="tabs-swiper-content">
  3. <uv-image :src="banner" width="100vw" height="auto" mode="widthFix" class="-mt-[44px]"/>
  4. <view class="mx-30 -mt-60 bg-white rounded-lg relative z-20">
  5. <view class="fx-col items-center py-50">
  6. <view class="fx-row items-center gap-5 mb-10" @click="$refs.popup.open()">
  7. <uv-icon name="question-circle" color="primary"/>
  8. <view class="text-sm text-primary">填报须知</view>
  9. </view>
  10. (一)输入考试成绩
  11. </view>
  12. <score-form ref="scoreForm" :model="model"/>
  13. </view>
  14. <view class="px-30 my-40 fx-row fx-bet-cen gap-30">
  15. <view class="flex-2">
  16. <uv-button type="primary" plain shape="circle" :icon="iconList"
  17. :custom-style="{height: '44px'}" @click="goVoluntaryList">
  18. <view class="text-primary keep-all">我的志愿表</view>
  19. </uv-button>
  20. </view>
  21. <view class="flex-3">
  22. <uv-button type="primary" shape="circle" text="下一步"
  23. color="linear-gradient(to right, var(--primary-deep-color), var(--primary-light-color))"
  24. :custom-style="{height: '44px', border: 'none'}" @click="handleForward"/>
  25. </view>
  26. </view>
  27. <mx-popup-template ref="popup" title="填报须知" left="" right="我知道了" @right="$refs.popup.close()">
  28. <view class="text-main text-xs fx-col gap-30">
  29. <view v-for="line in noticeTips" class="indent-50">{{ line }}</view>
  30. </view>
  31. </mx-popup-template>
  32. </view>
  33. </template>
  34. <script setup>
  35. import {ref} from 'vue';
  36. import {combineOssFile} from "@/utils";
  37. import ScoreForm from "@/pages/voluntary/index/components/score-form.vue";
  38. import {useInjectTransfer} from "@/hooks/useTransfer";
  39. import {useInjectVoluntaryForm} from "@/pages/voluntary/hooks/useVoluntaryFormInjection";
  40. import {useInjectVoluntaryAssistant} from "@/pages/voluntary/hooks/useVoluntaryAssistantInjection";
  41. import {useInjectVoluntaryStep} from "@/pages/voluntary/hooks/useVoluntaryStepInjection";
  42. import {useInjectVoluntaryData} from "@/hooks/useVoluntaryDataInjection";
  43. const banner = combineOssFile('/static/voluntary/voluntary_banner.png')
  44. const iconList = combineOssFile('/static/voluntary/voluntary_list_icon.png')
  45. const noticeTips = [
  46. '本系统提供高考志愿填报智能模拟功能,不等同于实际的网上填报志愿,正式填报请登录省考试院指定填报网站。',
  47. '各地的高考政策不同,模拟志愿填报会根据当前注册用户所属地自动匹配。',
  48. '本系统数据均来自省考试院公布的当年招生计划和历年录取数据,推荐结果仅供您模拟参考使用。正式填报时请务必参阅省考试院发布的相关招生计划书籍,如遇到数据错漏请以考试院公布信息为准。',
  49. ]
  50. const {transferTo} = useInjectTransfer()
  51. const {currentStep} = useInjectVoluntaryStep()
  52. const {model} = useInjectVoluntaryForm()
  53. const {validate} = useInjectVoluntaryData()
  54. const {handleForward, onBeforeForward} = useInjectVoluntaryAssistant()
  55. const scoreForm = ref(null)
  56. const goVoluntaryList = () => {
  57. transferTo('/pages/voluntary/list/list')
  58. }
  59. onBeforeForward(async () => {
  60. if (currentStep.value == 0) await scoreForm.value.validate()
  61. })
  62. </script>
  63. <style scoped lang="scss">
  64. </style>