LbNetwork.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <template>
  2. <div>
  3. <a-form-item
  4. :wrapperCol="{ span: 24 }"
  5. class="mb-0 mr-1">
  6. <base-select
  7. class="w-100"
  8. filterable
  9. :params="params"
  10. :item.sync="selectNet"
  11. resource="networks"
  12. v-decorator="decorator"
  13. @change="networkChange"
  14. :selectProps="{ placeholder: $t('k8s.lb.select_network') }" />
  15. <a-button type="link" class="mr-1 mt-1" @click="triggerConfigIp">{{$t('compute.text_198')}}</a-button>
  16. </a-form-item>
  17. <template v-if="configIp">
  18. <a-form-item class="mb-0" :wrapperCol="{ span: 24 }">
  19. <a-input
  20. style="width: 300px"
  21. v-decorator="addrDecorator(inputAddr, selectNet)"
  22. @change="ipChange"
  23. :placeholder="$t('k8s.lb.input_address')" />
  24. </a-form-item>
  25. </template>
  26. </div>
  27. </template>
  28. <script>
  29. export default {
  30. name: 'K8SPortMappingLbNetwork',
  31. props: {
  32. decorator: {
  33. type: Array,
  34. required: true,
  35. },
  36. addrDecorator: {
  37. type: Array,
  38. required: true,
  39. },
  40. vpcId: {
  41. type: String,
  42. required: true,
  43. },
  44. },
  45. data () {
  46. return {
  47. selectNet: {},
  48. inputAddr: '',
  49. configIp: false,
  50. params: {
  51. cloudregion: 'default',
  52. scope: this.$store.getters.scope,
  53. vpc_id: this.vpcId,
  54. },
  55. }
  56. },
  57. methods: {
  58. ipChange (e) {
  59. this.inputAddr = e.target.value
  60. },
  61. triggerConfigIp () {
  62. this.configIp = !this.configIp
  63. },
  64. },
  65. }
  66. </script>