columns.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import { getStatusTableColumn, getTimeTableColumn } from '@/utils/common/tableColumn'
  2. import i18n from '@/locales'
  3. export default {
  4. created () {
  5. this.columns = [
  6. {
  7. field: 'addr',
  8. title: i18n.t('network.text_213'),
  9. slots: {
  10. default: ({ row }, h) => {
  11. let text = '-'
  12. if (row.ip_addr) {
  13. text = row.ip_addr
  14. }
  15. if (row.ip6_addr) {
  16. text = row.ip6_addr
  17. }
  18. return [
  19. <list-body-cell-wrap row={{ text: text }} field="text" copy />,
  20. ]
  21. },
  22. },
  23. },
  24. getStatusTableColumn({ statusModule: 'reservedip' }),
  25. {
  26. field: 'notes',
  27. title: i18n.t('network.text_668'),
  28. minWidth: 100,
  29. slots: {
  30. default: ({ row }, h) => {
  31. return [
  32. h('list-body-cell-wrap', {
  33. props: {
  34. formRules: [
  35. { required: true, message: i18n.t('network.text_671') },
  36. ],
  37. row,
  38. edit: true,
  39. copy: true,
  40. onManager: this.onManager,
  41. field: 'notes',
  42. },
  43. }),
  44. ]
  45. },
  46. },
  47. },
  48. getTimeTableColumn({ field: 'expired_at', title: this.$t('network.reserved_ip.expire.title'), fromNow: true }),
  49. getTimeTableColumn(),
  50. ]
  51. },
  52. }