DockerImage.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <el-container>
  3. <el-header height="220">
  4. <h3>构建依赖镜像</h3>
  5. </el-header>
  6. <el-main>
  7. <el-table
  8. :data="imageList"
  9. border
  10. height="480"
  11. style="width: 100%"
  12. >
  13. <el-table-column
  14. prop="repoTag"
  15. label="镜像"
  16. />
  17. <el-table-column
  18. prop="stage"
  19. label="依赖阶段"
  20. >
  21. <template slot-scope="scope">
  22. <el-tag v-if="scope.row.stage === '编译阶段'" :type="'warning'">
  23. {{ scope.row.stage }}
  24. </el-tag>
  25. <el-tag v-else-if="scope.row.stage === '打包阶段'" :type="'success'">
  26. {{ scope.row.stage }}
  27. </el-tag>
  28. <el-tag v-else>
  29. {{ scope.row.stage }}
  30. </el-tag>
  31. </template>
  32. </el-table-column>
  33. <el-table-column
  34. prop="used"
  35. label="使用量"
  36. >
  37. <template slot-scope="scope">
  38. <el-tag
  39. style="margin: 5px"
  40. size="mini"
  41. >
  42. <span>{{ scope.row.list.length }}</span>
  43. </el-tag>
  44. <el-button
  45. style="margin: 5px"
  46. size="mini"
  47. type="success"
  48. @click="handleShowApps(scope.$index, scope.row)"
  49. >查看</el-button>
  50. </template>
  51. </el-table-column>
  52. </el-table>
  53. </el-main>
  54. <el-dialog
  55. title="依赖镜像的编译器或应用"
  56. append-to-body
  57. :visible.sync="showAppDialog"
  58. center
  59. >
  60. <template>
  61. <div v-for="(item, index) in appList" :key="index">
  62. <el-col :md="4">
  63. <el-tag size="mini" style="margin: 5px">{{ item }}</el-tag>
  64. </el-col>
  65. </div>
  66. </template>
  67. </el-dialog>
  68. </el-container>
  69. </template>
  70. <script>
  71. import { getDockerfileImageList } from '@/api/devops'
  72. export default {
  73. name: 'DockerImage',
  74. data() {
  75. return {
  76. showImageDialog: false,
  77. imageList: [],
  78. showAppDialog: false,
  79. appList: []
  80. }
  81. },
  82. created() {
  83. document.title = '构建依赖镜像'
  84. this.getData()
  85. },
  86. methods: {
  87. getData() {
  88. getDockerfileImageList().then(resp => {
  89. if (resp.code === 0) {
  90. this.imageList = resp.data
  91. this.showImageDialog = true
  92. } else {
  93. this.$message.error(resp.msg)
  94. }
  95. }).catch(error => {
  96. this.$message.error(error.message)
  97. })
  98. },
  99. handleShowAdd() {
  100. this.showAddDialog = true
  101. },
  102. handleShowApps(index, row) {
  103. this.appList = row.list
  104. this.showAppDialog = true
  105. }
  106. }
  107. }
  108. </script>
  109. <style>
  110. </style>