institution_form.html 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. {extend name="public/base_human"/}
  2. {block name="css"}
  3. {/block}
  4. {block name="body"}
  5. <van-nav-bar
  6. class="nav-theme"
  7. :fixed="true"
  8. :placeholder="true"
  9. left-text="返回"
  10. left-arrow
  11. @click-left="onBack"
  12. >
  13. <template #title>
  14. <span class="text-white">机构报名</span>
  15. </template>
  16. </van-nav-bar>
  17. <van-form @submit="onSubmit">
  18. <van-cell-group>
  19. <van-field
  20. v-model="form.name"
  21. required
  22. type="text"
  23. label="机构名称"
  24. placeholder="请输入机构名称"
  25. :rules="[{ required: true, message: '请输入机构名称' }]"
  26. ></van-field>
  27. <van-field
  28. v-model="form.join"
  29. required
  30. type="text"
  31. label="姓名"
  32. placeholder="请输入姓名"
  33. :rules="[{ required: true, message: '请输入姓名' }]"
  34. ></van-field>
  35. <van-field
  36. v-model="form.join_mobile"
  37. required
  38. type="mobile"
  39. label="手机号"
  40. placeholder="请输入手机号"
  41. :rules="[{ required: true, message: '请输入手机号' }]"
  42. ></van-field>
  43. <van-field
  44. v-model="form.wechat"
  45. type="text"
  46. label="微信号"
  47. placeholder="请输入微信号"
  48. ></van-field>
  49. <van-field
  50. v-model="form.url"
  51. type="text"
  52. label="官网"
  53. placeholder="请输入官网"
  54. ></van-field>
  55. <van-field
  56. v-model="form.describe"
  57. rows="3"
  58. autosize
  59. label="公司介绍"
  60. type="textarea"
  61. placeholder="请输入公司介绍"
  62. ></van-field>
  63. <van-field label="附件(海报,名片等)">
  64. <template #input>
  65. <van-uploader v-model="fileList" :before-read="uploadImage" :before-delete="deleteImage"></van-uploader>
  66. </template>
  67. </van-field>
  68. <van-field
  69. v-model="form.suggestion"
  70. rows="3"
  71. autosize
  72. label="活动建议"
  73. type="textarea"
  74. placeholder="请输入对本次活动想说的话"
  75. ></van-field>
  76. </van-cell-group>
  77. <div style="margin: 16px;">
  78. <van-button round block type="primary" native-type="submit">
  79. 提交
  80. </van-button>
  81. </div>
  82. </van-form>
  83. {/block}
  84. {block name="script"}
  85. <script>
  86. function v_setup() {
  87. let base = {};
  88. base.form = Vue.reactive({
  89. images: [],
  90. });
  91. base.onBack = () => {
  92. location.href = "{:url('human/index')}";
  93. };
  94. //表单提交
  95. base.onSubmit = () => {
  96. postJson('/human/institutionFormPost',base.form).then(() => {
  97. vant.showDialog({
  98. title: '提示',
  99. message: '报名成功',
  100. }).then(() => {
  101. location.href = "{:url('human/tips')}";
  102. });
  103. });
  104. };
  105. //图片上传
  106. base.fileList = Vue.ref([]);
  107. base.uploadImage = (file) => {
  108. const formData = new FormData();
  109. formData.append("file", file);
  110. postFile("upload/image",formData).then(({data})=>{
  111. base.form.images.push(data.src);
  112. });
  113. return true;
  114. };
  115. base.deleteImage = (file,param) => {
  116. base.form.images.splice(param.index,1);
  117. return true;
  118. };
  119. return base;
  120. }
  121. </script>
  122. {/block}