AccountForm.vue 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <a-form :model="edit_form" auto-label-width>
  3. <a-row :gutter="24">
  4. <a-col :span="12">
  5. <a-form-item field="loginName" label="用户名" :rules="[
  6. { required: true, message: '用户名必填' },
  7. { maxLength: 50, message: '长度不超过50' },
  8. ]">
  9. <a-input v-model="edit_form.loginName" />
  10. </a-form-item>
  11. </a-col>
  12. <a-col :span="12">
  13. <a-form-item field="userName" label="姓名">
  14. <a-input v-model="edit_form.userName" />
  15. </a-form-item>
  16. </a-col>
  17. </a-row>
  18. <a-row :gutter="24">
  19. <a-col :span="12">
  20. <a-form-item field="phoneNumber" label="手机号">
  21. <a-input v-model="edit_form.phoneNumber" />
  22. </a-form-item>
  23. </a-col>
  24. <a-col :span="12">
  25. <a-form-item required field="email" label="邮箱" :rules="[
  26. { required: true, message: '邮箱必填' },
  27. { maxLength: 50, message: '长度不超过50' },
  28. ]">
  29. <a-input v-model="edit_form.email" />
  30. </a-form-item>
  31. </a-col>
  32. </a-row>
  33. <a-row :gutter="24">
  34. <a-col :span="12">
  35. <a-form-item field="password" label="密码">
  36. <a-input v-model="edit_form.password" type="password" />
  37. </a-form-item>
  38. </a-col>
  39. <a-col :span="12">
  40. <a-form-item field="role" label="角色">
  41. <a-select multiple v-model="edit_form.role" :options="roles" @change="roleChange">
  42. </a-select>
  43. </a-form-item>
  44. </a-col>
  45. </a-row>
  46. </a-form>
  47. </template>
  48. <script setup>
  49. import { toRefs } from 'vue';
  50. const props = defineProps({
  51. edit_form: Object,
  52. roles: Array,
  53. });
  54. // 事件发射器
  55. const emit = defineEmits(['ok', 'cancel']);
  56. const { edit_form, roles } = toRefs(props);
  57. // 角色变化处理
  58. const roleChange = (selectedRoles) => {
  59. edit_form.role = selectedRoles;
  60. }
  61. </script>
  62. <style lang="css" scoped>
  63. /* 这里可以添加自定义样式 */
  64. </style>