User.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <script setup lang="ts">
  2. import StdCurd from '@/components/StdDataDisplay/StdCurd.vue'
  3. import gettext from '@/gettext'
  4. import user from '@/api/user'
  5. import {datetime} from '@/components/StdDataDisplay/StdTableTransformer'
  6. import {input, password} from '@/components/StdDataEntry'
  7. const {$gettext} = gettext
  8. const columns = [{
  9. title: () => $gettext('Username'),
  10. dataIndex: 'name',
  11. sorter: true,
  12. pithy: true,
  13. edit: {
  14. type: input
  15. },
  16. search: true
  17. }, {
  18. title: () => $gettext('Password'),
  19. dataIndex: 'password',
  20. sorter: true,
  21. pithy: true,
  22. edit: {
  23. type: password,
  24. placeholder: () => $gettext('Leave blank for no change'),
  25. generate: true
  26. },
  27. display: false
  28. }, {
  29. title: () => $gettext('Created at'),
  30. dataIndex: 'created_at',
  31. customRender: datetime,
  32. sorter: true,
  33. pithy: true
  34. }, {
  35. title: () => $gettext('Updated at'),
  36. dataIndex: 'updated_at',
  37. customRender: datetime,
  38. sorter: true,
  39. pithy: true
  40. }, {
  41. title: () => $gettext('Action'),
  42. dataIndex: 'action'
  43. }]
  44. </script>
  45. <template>
  46. <std-curd :title="$gettext('Manage Users')" :columns="columns" :api="user"/>
  47. </template>
  48. <style scoped>
  49. </style>