contact.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <template>
  2. <view class="pa-3">
  3. <uni-forms ref="baseForm" v-model="baseFormData" validateTrigger="bind" :rules="rules" label-width="100px" label-align="right">
  4. <uni-forms-item label="姓名" required >
  5. <uni-easyinput v-model="baseFormData.name" placeholder="请输入姓名" />
  6. </uni-forms-item>
  7. <uni-forms-item label="联系手机号" required >
  8. <uni-easyinput v-model="baseFormData.phone" placeholder="请输入联系手机号" />
  9. </uni-forms-item>
  10. <uni-forms-item label="企业名称" required>
  11. <uni-easyinput v-model="baseFormData.enterpriseName" placeholder="请输入企业名称" />
  12. </uni-forms-item>
  13. <button type="primary" @click="submit">提交</button>
  14. </uni-forms>
  15. </view>
  16. </template>
  17. <script setup>
  18. import { ref, unref } from 'vue'
  19. import { huntSubmit } from '@/api/common'
  20. const baseForm = ref()
  21. const baseFormData = ref({
  22. name: null,
  23. phone: null,
  24. enterpriseName: null
  25. })
  26. const rules = {
  27. name: {
  28. rules: [{
  29. required: true,
  30. errorMessage: '姓名不能为空'
  31. }]
  32. },
  33. phone: {
  34. rules: [{required: true, errorMessage: '请输入手机号码' }]
  35. },
  36. enterpriseName: {
  37. rules: [{required: true, errorMessage: '请输入企业名称' }]
  38. }
  39. }
  40. const submit = async () => {
  41. try {
  42. const valid = await unref(baseForm).validate()
  43. if (!valid) return
  44. const { code, msg } = await huntSubmit(baseFormData.value)
  45. if (code !== 0) {
  46. uni.showToast({ title: msg, icon: 'none' })
  47. return
  48. }
  49. uni.showToast({ title: '提交成功,我们会尽快与您联系', icon: 'none', success: () => {
  50. setTimeout(() => {
  51. uni.navigateBack()
  52. }, 1000)
  53. } })
  54. } catch (error) {
  55. console.log('error', error)
  56. }
  57. }
  58. </script>
  59. <style lang="scss" scoped>
  60. .pa-3 {
  61. padding: 30rpx;
  62. }
  63. </style>