BlockedResources.vue 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <div class="blocked-resources">
  3. <a-form-item :label="$t('cloudenv.block_resources')">
  4. <a-switch
  5. :checkedChildren="$t('cloudenv.text_84')"
  6. :unCheckedChildren="$t('cloudenv.text_85')"
  7. v-decorator="decorators.isOpenBlockedResources"
  8. @change="blockedResourcesChangeHandle" />
  9. </a-form-item>
  10. <a-form-item :label="$t('cloudenv.block_resources_type')" v-if="isOpenBlockedResources">
  11. <base-select
  12. v-decorator="decorators.blockedResources"
  13. :options="BLOCKED_RESOURCES"
  14. :select-props="{ placeholder: $t('common.tips.select', [$t('cloudenv.block_resources_type')]), allowClear: true, mode: 'multiple' }" />
  15. </a-form-item>
  16. </div>
  17. </template>
  18. <script>
  19. import * as R from 'ramda'
  20. import { BLOCKED_RESOURCES } from '@Cloudenv/constants'
  21. export default {
  22. name: 'BlockedResources',
  23. props: {
  24. decorators: {
  25. type: Object,
  26. validator: val => R.is(Array, val.isOpenBlockedResources) && R.is(Array, val.blockedResources),
  27. },
  28. },
  29. data () {
  30. return {
  31. BLOCKED_RESOURCES,
  32. isOpenBlockedResources: this.decorators.isOpenBlockedResources[1]?.initialValue || false,
  33. }
  34. },
  35. methods: {
  36. blockedResourcesChangeHandle (v) {
  37. this.isOpenBlockedResources = v
  38. },
  39. },
  40. }
  41. </script>
  42. <style lang="scss" scoped></style>