Detail.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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, k8sImageColumn, k8sLabelColumn } from '@K8S/utils/tableColumns'
  12. export default {
  13. name: 'K8sDeploymentDetail',
  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(),
  41. {
  42. field: 'cluster',
  43. title: this.$t('k8s.text_19'),
  44. },
  45. {
  46. field: 'namespace',
  47. title: this.$t('k8s.text_23'),
  48. },
  49. {
  50. field: 'podsInfo',
  51. title: this.$t('k8s.text_9'),
  52. width: 70,
  53. formatter: ({ row }) => {
  54. return row.podsInfo ? (row.podsInfo.running + ' / ' + row.podsInfo.current) : '-'
  55. },
  56. },
  57. k8sImageColumn(),
  58. k8sImageColumn({ field: 'initContainerImages', title: this.$t('k8s.text_66') }),
  59. k8sLabelColumn(),
  60. {
  61. field: 'creationTimestamp',
  62. title: this.$t('k8s.text_74'),
  63. formatter: ({ row }) => {
  64. return (row.creationTimestamp && this.$moment(row.creationTimestamp).format()) || '-'
  65. },
  66. },
  67. ],
  68. }
  69. },
  70. }
  71. </script>