feedback.html 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. {extend name="public/base"/}
  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. label="姓名"
  23. placeholder="请输入姓名"
  24. :rules="[{ required: true, message: '请输入姓名' }]"
  25. ></van-field>
  26. <van-field
  27. v-model="form.mobile"
  28. required
  29. label="联系方式"
  30. placeholder="请输入联系方式"
  31. :rules="[{ required: true, message: '请输入联系方式' }]"
  32. ></van-field>
  33. <van-field
  34. v-model="form.content"
  35. rows="2"
  36. required
  37. autosize
  38. label="意见和建议"
  39. type="textarea"
  40. placeholder="请输入您的意见和建议"
  41. :rules="[{ required: true, message: '请输入意见和建议' }]"
  42. ></van-field>
  43. </van-cell-group>
  44. <div style="margin: 16px;">
  45. <van-button round block type="primary" native-type="submit">
  46. 提交
  47. </van-button>
  48. </div>
  49. </van-form>
  50. {/block}
  51. {block name="script"}
  52. <script>
  53. function v_setup() {
  54. let base = {};
  55. base.form = Vue.reactive({
  56. name: '',
  57. mobile: '',
  58. content: '',
  59. });
  60. base.onBack = () => {
  61. location.href = "{:url('my/index')}";
  62. };
  63. //表单提交
  64. base.onSubmit = () => {
  65. postJson('/my/feedbackPost',base.form).then(() => {
  66. vant.showDialog({
  67. title: '提示',
  68. message: '提交成功',
  69. }).then(() => {
  70. location.href = "{:url('my/index')}";
  71. });
  72. });
  73. };
  74. return base;
  75. }
  76. </script>
  77. {/block}