RemoteFile.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <template>
  2. <div>
  3. <a-form :form="form.fc" v-bind="formLayout">
  4. <a-form-item :label="$t('cloudenv.text_95')">
  5. <a-input v-decorator="decorators.name" :placeholder="$t('cloudenv.text_190')" />
  6. </a-form-item>
  7. <a-form-item :label="$t('common.description')">
  8. <a-textarea :auto-size="{ minRows: 1, maxRows: 3 }" v-decorator="decorators.description" :placeholder="$t('common_367')" />
  9. </a-form-item>
  10. <a-form-item :label="$t('cloudenv.auth_url_label')" :extra="$t('cloudenv.auth_url_extra')">
  11. <a-input v-decorator="decorators.auth_url" />
  12. </a-form-item>
  13. <domain-project :fc="form.fc" :form-layout="formLayout" :decorators="{ project: decorators.project, domain: decorators.domain, auto_create_project: decorators.auto_create_project }" :cloneData="cloneData" />
  14. <blocked-resources :decorators="{ isOpenBlockedResources: decorators.isOpenBlockedResources, blockedResources: decorators.blockedResources }" :cloneData="cloneData" />
  15. <proxy-setting :fc="form.fc" :fd="form.fd" ref="proxySetting" :cloneData="cloneData" />
  16. </a-form>
  17. </div>
  18. </template>
  19. <script>
  20. import ProxySetting from '@Cloudenv/views/cloudaccount/components/ProxySetting'
  21. import DomainProject from '../../../components/DomainProject'
  22. import createMixin from './createMixin'
  23. import { isRequired } from '@/utils/validate'
  24. export default {
  25. name: 'RemoteFileCreate',
  26. components: {
  27. ProxySetting,
  28. DomainProject,
  29. },
  30. mixins: [createMixin],
  31. data () {
  32. let initDomain = {
  33. key: this.$store.getters.userInfo.projectDomainId,
  34. label: this.$store.getters.userInfo.projectDomain,
  35. }
  36. const {
  37. domain_id,
  38. project_domain,
  39. auto_create_project: initAutoCreateProject = false,
  40. access_url: initAuthUrl = '',
  41. } = this.cloneData
  42. if (domain_id && project_domain) {
  43. initDomain = {
  44. key: domain_id,
  45. label: project_domain,
  46. }
  47. }
  48. return {
  49. decorators: {
  50. name: [
  51. 'name',
  52. {
  53. validateFirst: true,
  54. rules: [
  55. { required: true, message: this.$t('cloudenv.text_190') },
  56. // { validator: this.$validate('resourceName') },
  57. ],
  58. },
  59. ],
  60. description: ['description'],
  61. auth_url: [
  62. 'auth_url',
  63. {
  64. initialValue: initAuthUrl,
  65. rules: [
  66. { required: true, message: this.$t('common.tips.input', [this.$t('cloudenv.auth_url_label')]) },
  67. ],
  68. },
  69. ],
  70. domain: [
  71. 'domain',
  72. {
  73. initialValue: initDomain,
  74. rules: [
  75. { validator: isRequired(), message: this.$t('rules.domain'), trigger: 'change' },
  76. ],
  77. },
  78. ],
  79. auto_create_project: [
  80. 'auto_create_project',
  81. {
  82. initialValue: initAutoCreateProject,
  83. valuePropName: 'checked',
  84. },
  85. ],
  86. },
  87. }
  88. },
  89. }
  90. </script>
  91. <style>
  92. </style>