332332 v-decorator =" ['endipv4', {}]"
333333 :placeholder =" this.$t('label.endipv4')" />
334334 </a-form-item >
335+ <a-form-item v-if =" isVirtualRouterForAtLeastOneService" >
336+ <span slot =" label" >
337+ {{ $t('label.routerip') }}
338+ <a-tooltip :title =" apiParams.routerip.description" v-if =" 'routerip' in apiParams" >
339+ <a-icon type =" info-circle" style =" color : rgba (0 ,0 ,0 ,.45 )" />
340+ </a-tooltip >
341+ </span >
342+ <a-input
343+ v-decorator =" ['routerip', {}]"
344+ :placeholder =" this.$t('label.routerip')" />
345+ </a-form-item >
335346 <a-form-item >
336347 <span slot =" label" >
337348 {{ $t('label.ip6gateway') }}
376387 v-decorator =" ['endipv6', {}]"
377388 :placeholder =" this.$t('label.endipv6')" />
378389 </a-form-item >
390+ <a-form-item v-if =" isVirtualRouterForAtLeastOneService" >
391+ <span slot =" label" >
392+ {{ $t('label.routeripv6') }}
393+ <a-tooltip :title =" apiParams.routeripv6.description" v-if =" 'routeripv6' in apiParams" >
394+ <a-icon type =" info-circle" style =" color : rgba (0 ,0 ,0 ,.45 )" />
395+ </a-tooltip >
396+ </span >
397+ <a-input
398+ v-decorator =" ['routeripv6', {}]"
399+ :placeholder =" this.$t('label.routeripv6')" />
400+ </a-form-item >
379401 <a-form-item >
380402 <span slot =" label" >
381403 {{ $t('label.networkdomain') }}
@@ -457,7 +479,9 @@ export default {
457479 selectedNetworkOffering: {},
458480 projects: [],
459481 projectLoading: false ,
460- selectedProject: {}
482+ selectedProject: {},
483+ isVirtualRouterForAtLeastOneService: false ,
484+ selectedServiceProviderMap: {}
461485 }
462486 },
463487 watch: {
@@ -654,6 +678,7 @@ export default {
654678 this .networkOfferings = []
655679 api (' listNetworkOfferings' , params).then (json => {
656680 this .networkOfferings = json .listnetworkofferingsresponse .networkoffering
681+ this .handleNetworkOfferingChange (this .networkOfferings [0 ])
657682 }).catch (error => {
658683 this .$notifyError (error)
659684 }).finally (() => {
@@ -662,7 +687,6 @@ export default {
662687 this .form .setFieldsValue ({
663688 networkofferingid: 0
664689 })
665- this .handleNetworkOfferingChange (this .networkOfferings [0 ])
666690 } else {
667691 this .form .setFieldsValue ({
668692 networkofferingid: null
@@ -672,6 +696,27 @@ export default {
672696 },
673697 handleNetworkOfferingChange (networkOffering ) {
674698 this .selectedNetworkOffering = networkOffering
699+ if (networkOffering) {
700+ this .networkServiceProviderMap (this .selectedNetworkOffering .id )
701+ }
702+ },
703+ networkServiceProviderMap (id ) {
704+ api (' listNetworkOfferings' , { id: id }).then (json => {
705+ var networkOffering = json .listnetworkofferingsresponse .networkoffering [0 ]
706+ const services = networkOffering .service
707+ this .selectedServiceProviderMap = {}
708+ for (const svc of services) {
709+ this .selectedServiceProviderMap [svc .name ] = svc .provider [0 ].name
710+ }
711+ var providers = Object .values (this .selectedServiceProviderMap )
712+ this .isVirtualRouterForAtLeastOneService = false
713+ var self = this
714+ providers .forEach (function (prvdr , idx ) {
715+ if (prvdr === ' VirtualRouter' ) {
716+ self .isVirtualRouterForAtLeastOneService = true
717+ }
718+ })
719+ })
675720 },
676721 fetchDomainData () {
677722 const params = {}
@@ -791,6 +836,9 @@ export default {
791836 if (this .isValidTextValueForKey (values, ' ip4gateway' )) {
792837 params .ip6gateway = values .ip6gateway
793838 }
839+ if (this .isValidTextValueForKey (values, ' routerip' )) {
840+ params .routerip = values .routerip
841+ }
794842 if (this .isValidTextValueForKey (values, ' ip6cidr' )) {
795843 params .ip6cidr = values .ip6cidr
796844 }
@@ -800,6 +848,9 @@ export default {
800848 if (this .isValidTextValueForKey (values, ' endipv6' )) {
801849 params .endipv6 = values .endipv6
802850 }
851+ if (this .isValidTextValueForKey (values, ' routeripv6' )) {
852+ params .routeripv6 = values .routeripv6
853+ }
803854 // IPv6 (end)
804855
805856 if (this .isValidTextValueForKey (values, ' networkdomain' )) {
0 commit comments