page6.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <skeleton title="报名申请" titleLine="">
  3. <div class="bg bg5 animate__animated animate__backInUp">
  4. <p class="duanluo">
  5. 姓名:
  6. <input v-model="Data.name" type="text" class="save" />
  7. </p>
  8. </div>
  9. <div class="bg bg5 animate__animated animate__backInUp">
  10. <p class="duanluo">
  11. 电话:
  12. <input v-model="Data.tel" type="text" class="save" />
  13. </p>
  14. </div>
  15. <div class="bg bg5 animate__animated animate__backInUp">
  16. <p class="duanluo">
  17. 单位:
  18. <input v-model="Data.university" type="text" class="save" />
  19. </p>
  20. </div>
  21. <div class="bg bg5 animate__animated animate__backInUp">
  22. <p class="duanluo">
  23. 职务:
  24. <input v-model="Data.type" type="text" class="save" />
  25. </p>
  26. </div>
  27. <van-button
  28. style="margin-top: 7.9vh"
  29. type="primary"
  30. block
  31. color="#61BFE9"
  32. @click="toBaoMing"
  33. >
  34. 我要报名
  35. </van-button>
  36. </skeleton>
  37. </template>
  38. <script setup>
  39. import axios from 'axios';
  40. import { ref } from 'vue';
  41. import { showLoadingToast, closeToast, showToast } from 'vant';
  42. import skeleton from './skeleton.vue';
  43. const Data = ref({});
  44. function toBaoMing() {
  45. const oriData = new FormData();
  46. oriData.append('operateId', window.$originData.orginParames.operateId);
  47. oriData.append('name', Data.value.name);
  48. oriData.append('phone', Data.value.tel);
  49. oriData.append('university', Data.value.university);
  50. oriData.append('type', Data.value.type);
  51. showLoadingToast({
  52. message: '报名中...',
  53. forbidClick: true,
  54. duration: 0,
  55. });
  56. axios({
  57. method: 'post',
  58. url: 'https://topic.smcic.net/operate/enroll/store',
  59. headers: {
  60. 'Content-Type': 'multipart/form-data',
  61. },
  62. data: oriData,
  63. })
  64. .then(r => {
  65. console.log(r);
  66. closeToast();
  67. showToast('报名成功');
  68. })
  69. .catch(() => {
  70. closeToast();
  71. showToast('报名失败');
  72. });
  73. }
  74. </script>
  75. <style lang="scss">
  76. // 动画库
  77. @import url(./sass/animation.scss);
  78. @import url(./sass/base.scss);
  79. .bg5 {
  80. padding-top: 7px !important;
  81. padding-bottom: 7px !important;
  82. margin-top: 19px;
  83. margin-bottom: 19px;
  84. .duanluo {
  85. text-align: left !important;
  86. text-indent: 0 !important;
  87. .save {
  88. outline: none !important;
  89. border: none;
  90. width: calc(100% - 4em);
  91. display: inline-block;
  92. background-color: #ffffff00;
  93. }
  94. }
  95. }
  96. </style>