ApplicationScope.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div>
  3. <a-form-model-item :label="$t('cloudenv.text_503')">
  4. <a-radio-group v-model="formData.application_scope">
  5. <a-radio-button v-for="v in applicationScopeOptions" :key="v.key" :value="v.key">{{ v.label }}</a-radio-button>
  6. </a-radio-group>
  7. </a-form-model-item>
  8. <!-- 应用账号 -->
  9. <a-form-model-item v-show="formData.application_scope === 1" :label="$t('cloudenv.text_589')">
  10. <list-select
  11. v-model="formData.accounts"
  12. :list-props="accountsProps"
  13. :multiple="true"
  14. :formatter="v => v.name" />
  15. </a-form-model-item>
  16. <!-- 应用订阅 -->
  17. <a-form-model-item v-show="formData.application_scope === 2" :label="$t('cloudenv.project_mapping_use_cloudprovider')">
  18. <list-select
  19. v-model="formData.cloudproviders"
  20. :list-props="cloudprovidersProps"
  21. :multiple="true"
  22. :formatter="v => v.name" />
  23. </a-form-model-item>
  24. </div>
  25. </template>
  26. <script>
  27. import AccountPropsMixin from '../mixins/accountProps'
  28. import CloudprovidersPropsMixin from '../mixins/cloudprovidersProps'
  29. import ListSelect from '@/sections/ListSelect'
  30. export default {
  31. name: 'ApplicationScope',
  32. components: {
  33. ListSelect,
  34. },
  35. mixins: [AccountPropsMixin, CloudprovidersPropsMixin],
  36. props: {
  37. formData: {
  38. type: Object,
  39. },
  40. params: {
  41. type: Object,
  42. },
  43. },
  44. data () {
  45. return {
  46. applicationScopeOptions: [{
  47. key: 1,
  48. label: this.$t('cloudenv.project_mapping_account'),
  49. }, {
  50. key: 2,
  51. label: this.$t('cloudenv.project_mapping_cloudprovider'),
  52. }],
  53. }
  54. },
  55. methods: {
  56. // applicationScopeChangeHandle () {
  57. // this.form.fc.setFieldsValue({
  58. // accounts: [],
  59. // cloudproviders: [],
  60. // })
  61. // },
  62. },
  63. }
  64. </script>