user.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <template>
  2. <div class="index">
  3. <custom-form v-model="form" :fields="formFields" :useSave="false">
  4. <template #icon>
  5. <el-avatar v-if="form.icon && form.icon.length > 0" :src="form.icon[0].url"></el-avatar>
  6. </template>
  7. <template #gender>
  8. <el-option disabled v-for="i in genderList" :key="i._id" :label="i.label" :value="i.value"></el-option>
  9. </template>
  10. </custom-form>
  11. </div>
  12. </template>
  13. <script setup>
  14. // 基础
  15. const { t } = useI18n()
  16. const form = inject('form')
  17. const formFields = ref([
  18. { label: t('pages.student.icon'), model: 'icon', custom: true },
  19. { label: t('pages.student.openid'), model: 'openid' },
  20. { label: t('pages.student.nick_name'), model: 'nick_name' },
  21. { label: t('pages.student.gender'), model: 'gender', type: 'select' },
  22. { label: t('pages.student.birth'), model: 'birth' },
  23. { label: t('pages.student.phone'), model: 'phone' }
  24. ])
  25. // 字典表
  26. const genderList = inject('genderList')
  27. </script>
  28. <style scoped lang="scss">
  29. .tags {
  30. display: flex;
  31. justify-content: center;
  32. grid-gap: 0.5rem;
  33. gap: 0.5rem;
  34. }
  35. </style>