Detail.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <detail
  3. :showDesc="false"
  4. :showName="false"
  5. :hiddenKeys="['project_domain', 'tenant', 'created_at', 'updated_at']"
  6. :onManager="onManager"
  7. :data="data"
  8. :base-info="baseInfo" />
  9. </template>
  10. <script>
  11. import { k8sStatusColumn, k8sLabelColumn } from '@K8S/utils/tableColumns'
  12. export default {
  13. name: 'K8sPodDetail',
  14. props: {
  15. data: {
  16. type: Object,
  17. required: true,
  18. },
  19. onManager: {
  20. type: Function,
  21. required: true,
  22. },
  23. },
  24. data () {
  25. return {
  26. baseInfo: [
  27. {
  28. field: 'name',
  29. title: this.$t('k8s.text_41'),
  30. slots: {
  31. default: ({ row }) => {
  32. return [
  33. <div class='text-truncate'>
  34. <list-body-cell-wrap copy row={ this.data } onManager={ this.onManager } field='name' title={ row.name } />
  35. </div>,
  36. ]
  37. },
  38. },
  39. },
  40. k8sStatusColumn({ path: 'warnings' }),
  41. k8sLabelColumn(),
  42. {
  43. field: 'cluster',
  44. title: this.$t('k8s.text_19'),
  45. },
  46. {
  47. field: 'namespace',
  48. title: this.$t('k8s.text_23'),
  49. },
  50. {
  51. field: 'podIP',
  52. title: 'IP',
  53. },
  54. {
  55. field: 'restartCount',
  56. title: this.$t('k8s.text_317'),
  57. },
  58. {
  59. field: 'nodeName',
  60. title: this.$t('k8s.text_21'),
  61. },
  62. {
  63. field: 'qosClass',
  64. title: this.$t('k8s.text_318'),
  65. },
  66. {
  67. field: 'creationTimestamp',
  68. title: this.$t('k8s.text_74'),
  69. formatter: ({ row }) => {
  70. return (row.creationTimestamp && this.$moment(row.creationTimestamp).format()) || '-'
  71. },
  72. },
  73. ],
  74. }
  75. },
  76. }
  77. </script>