Environment.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <script setup lang="tsx">
  2. import environment from '@/api/environment'
  3. import FooterToolBar from '@/components/FooterToolbar'
  4. import StdCurd from '@/components/StdDesign/StdDataDisplay/StdCurd.vue'
  5. import BatchUpgrader from '@/views/environment/BatchUpgrader.vue'
  6. import envColumns from '@/views/environment/envColumns'
  7. import { message } from 'ant-design-vue'
  8. const curd = ref()
  9. function loadFromSettings() {
  10. environment.load_from_settings().then(() => {
  11. curd.value.get_list()
  12. message.success($gettext('Load successfully'))
  13. })
  14. }
  15. const selectedNodeIds = ref([])
  16. const selectedNodes = ref([])
  17. const refUpgrader = ref()
  18. function batchUpgrade() {
  19. refUpgrader.value.open(selectedNodeIds, selectedNodes)
  20. }
  21. </script>
  22. <template>
  23. <div>
  24. <StdCurd
  25. ref="curd"
  26. v-model:selected-row-keys="selectedNodeIds"
  27. v-model:selected-rows="selectedNodes"
  28. selection-type="checkbox"
  29. :title="$gettext('Environment')"
  30. :api="environment"
  31. :columns="envColumns"
  32. >
  33. <template #beforeAdd>
  34. <a @click="loadFromSettings">{{ $gettext('Load from settings') }}</a>
  35. </template>
  36. </StdCurd>
  37. <BatchUpgrader ref="refUpgrader" />
  38. <FooterToolBar>
  39. <ATooltip
  40. :title="$gettext('Please select at least one node to upgrade')"
  41. placement="topLeft"
  42. >
  43. <AButton
  44. :disabled="selectedNodeIds.length === 0"
  45. type="primary"
  46. @click="batchUpgrade"
  47. >
  48. {{ $gettext('Upgrade') }}
  49. </AButton>
  50. </ATooltip>
  51. </FooterToolBar>
  52. </div>
  53. </template>
  54. <style lang="less" scoped>
  55. </style>