page6.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <template>
  2. <skeleton title="报名申请" titleLine="">
  3. <div class="bg bg6 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 bg6 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 bg6 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 bg6 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. Data.value = {};
  67. closeToast();
  68. showToast('报名成功');
  69. })
  70. .catch(() => {
  71. closeToast();
  72. showToast('报名失败');
  73. });
  74. }
  75. </script>
  76. <style lang="scss">
  77. // 动画库
  78. @import url(./sass/animation.scss);
  79. @import url(./sass/base.scss);
  80. .bg6 {
  81. padding-top: 7px !important;
  82. padding-bottom: 7px !important;
  83. margin-top: 19px;
  84. margin-bottom: 19px;
  85. .duanluo {
  86. text-align: left !important;
  87. text-indent: 0 !important;
  88. font-size: 18px !important;
  89. .save {
  90. outline: none !important;
  91. border: none;
  92. width: calc(100% - 4em);
  93. display: inline-block;
  94. background-color: #ffffff00;
  95. }
  96. }
  97. }
  98. </style>