service governance service scope spilt service name (#777)

diff --git a/dubbo-admin-ui/src/components/governance/AccessControl.vue b/dubbo-admin-ui/src/components/governance/AccessControl.vue
index c165510..da83a94 100644
--- a/dubbo-admin-ui/src/components/governance/AccessControl.vue
+++ b/dubbo-admin-ui/src/components/governance/AccessControl.vue
@@ -26,19 +26,22 @@
           <v-card-text>
             <v-form>
               <v-layout row wrap>
-                <v-combobox
-                  id="serviceSearch"
-                  v-model="filter"
-                  :loading="searchLoading"
-                  :items="typeAhead"
-                  :search-input.sync="input"
-                  @keyup.enter="submit"
-                  flat
-                  append-icon=""
-                  hide-no-data
-                  :suffix="queryBy"
-                  :label="$t('searchAccessRule')"
-                ></v-combobox>
+`                <v-flex>
+                  <v-combobox
+                    id="serviceSearch"
+                    v-model="filter"
+                    :loading="searchLoading"
+                    :items="typeAhead"
+                    :search-input.sync="input"
+                    @keyup.enter="submit"
+                    flat
+                    append-icon=""
+                    hide-no-data
+                    :suffix="queryBy"
+                    :label="$t('searchAccessRule')"
+                    @input="split($event)"
+                  ></v-combobox>
+                </v-flex>
                 <v-menu class="hidden-xs-only">
                   <v-btn slot="activator" large icon>
                     <v-icon>unfold_more</v-icon>
@@ -53,18 +56,21 @@
                     </v-list-tile>
                   </v-list>
                 </v-menu>
-                <v-text-field
-                  v-show="selected === 0"
-                  label="Version"
-                  :hint="$t('dataIdVersionHint')"
-                  v-model="serviceVersion4Search"
-                ></v-text-field>
-                <v-text-field
-                  v-show="selected === 0"
-                  label="Group"
-                  :hint="$t('dataIdGroupHint')"
-                  v-model="serviceGroup4Search"
-                ></v-text-field>
+                <v-flex xs6 sm3 md2 v-show="selected === 0">
+                  <v-text-field
+                    label="Version"
+                    :hint="$t('dataIdVersionHint')"
+                    v-model="serviceVersion4Search"
+                  ></v-text-field>
+                </v-flex>
+                <v-flex xs6 sm3 md2 v-show="selected === 0">
+                  <v-text-field
+                    v-show="selected === 0"
+                    label="Group"
+                    :hint="$t('dataIdGroupHint')"
+                    v-model="serviceGroup4Search"
+                  ></v-text-field>
+                </v-flex>
                 <v-btn @click="submit" color="primary" large>{{$t('search')}}</v-btn>
 
               </v-layout>
@@ -382,6 +388,28 @@
       this.filter = document.querySelector('#serviceSearch').value.trim()
       this.search(true)
     },
+    split: function (service) {
+      if (this.selected === 0) {
+        const groupSplit = service.split('/')
+        const versionSplit = service.split(':')
+        if (groupSplit.length > 1) {
+          this.serviceGroup4Search = groupSplit[0]
+        } else {
+          this.serviceGroup4Search = ''
+        }
+        if (versionSplit.length > 1) {
+          this.serviceVersion4Search = versionSplit[1]
+        } else {
+          this.serviceVersion4Search = ''
+        }
+        const serviceSplit = versionSplit[0].split('/')
+        if (serviceSplit.length === 1) {
+          this.filter = serviceSplit[0]
+        } else {
+          this.filter = serviceSplit[1]
+        }
+      }
+    },
     search (rewrite) {
       if (!this.filter) {
         this.$notify.error('Either service or application is needed')
diff --git a/dubbo-admin-ui/src/components/governance/LoadBalance.vue b/dubbo-admin-ui/src/components/governance/LoadBalance.vue
index b950cbe..daf2920 100644
--- a/dubbo-admin-ui/src/components/governance/LoadBalance.vue
+++ b/dubbo-admin-ui/src/components/governance/LoadBalance.vue
@@ -26,19 +26,22 @@
           <v-card-text>
             <v-form>
               <v-layout row wrap>
-                <v-combobox
-                  id="serviceSearch"
-                  :loading="searchLoading"
-                  :items="typeAhead"
-                  :search-input.sync="input"
-                  @keyup.enter="submit"
-                  v-model="filter"
-                  flat
-                  append-icon=""
-                  hide-no-data
-                  :suffix="queryBy"
-                  :label="$t('searchBalanceRule')"
-                ></v-combobox>
+                <v-flex>
+                  <v-combobox
+                    id="serviceSearch"
+                    :loading="searchLoading"
+                    :items="typeAhead"
+                    :search-input.sync="input"
+                    @keyup.enter="submit"
+                    v-model="filter"
+                    flat
+                    append-icon=""
+                    hide-no-data
+                    :suffix="queryBy"
+                    :label="$t('searchBalanceRule')"
+                    @input="split($event)"
+                  ></v-combobox>
+                </v-flex>
                 <v-menu class="hidden-xs-only">
                   <v-btn slot="activator" large icon>
                     <v-icon>unfold_more</v-icon>
@@ -53,18 +56,22 @@
                     </v-list-tile>
                   </v-list>
                 </v-menu>
-                <v-text-field
-                  v-show="selected === 0"
-                  label="Version"
-                  :hint="$t('dataIdVersionHint')"
-                  v-model="serviceVersion4Search"
-                ></v-text-field>
-                <v-text-field
-                  v-show="selected === 0"
-                  label="Group"
-                  :hint="$t('dataIdGroupHint')"
-                  v-model="serviceGroup4Search"
-                ></v-text-field>
+                <v-flex xs6 sm3 md2 v-show="selected === 0">
+                  <v-text-field
+                    v-show="selected === 0"
+                    label="Version"
+                    :hint="$t('dataIdVersionHint')"
+                    v-model="serviceVersion4Search"
+                  ></v-text-field>
+                </v-flex>
+                <v-flex xs6 sm3 md2 v-show="selected === 0">
+                  <v-text-field
+                    v-show="selected === 0"
+                    label="Group"
+                    :hint="$t('dataIdGroupHint')"
+                    v-model="serviceGroup4Search"
+                  ></v-text-field>
+                </v-flex>
                 <v-btn @click="submit" color="primary" large>{{$t('search')}}</v-btn>
 
               </v-layout>
@@ -354,6 +361,28 @@
         this.filter = document.querySelector('#serviceSearch').value.trim()
         this.search(true)
       },
+      split: function (service) {
+        if (this.selected === 0) {
+          const groupSplit = service.split('/')
+          const versionSplit = service.split(':')
+          if (groupSplit.length > 1) {
+            this.serviceGroup4Search = groupSplit[0]
+          } else {
+            this.serviceGroup4Search = ''
+          }
+          if (versionSplit.length > 1) {
+            this.serviceVersion4Search = versionSplit[1]
+          } else {
+            this.serviceVersion4Search = ''
+          }
+          const serviceSplit = versionSplit[0].split('/')
+          if (serviceSplit.length === 1) {
+            this.filter = serviceSplit[0]
+          } else {
+            this.filter = serviceSplit[1]
+          }
+        }
+      },
       search: function (rewrite) {
         if (!this.filter) {
           this.$notify.error('Either service or application is needed')
diff --git a/dubbo-admin-ui/src/components/governance/Overrides.vue b/dubbo-admin-ui/src/components/governance/Overrides.vue
index c035801..3c9562f 100644
--- a/dubbo-admin-ui/src/components/governance/Overrides.vue
+++ b/dubbo-admin-ui/src/components/governance/Overrides.vue
@@ -26,19 +26,22 @@
           <v-card-text>
             <v-form>
               <v-layout row wrap>
-                <v-combobox
-                  id="serviceSearch"
-                  v-model="filter"
-                  :loading="searchLoading"
-                  :items="typeAhead"
-                  :search-input.sync="input"
-                  @keyup.enter="submit"
-                  flat
-                  append-icon=""
-                  hide-no-data
-                  :suffix="queryBy"
-                  :label="$t('searchDynamicConfig')"
-                ></v-combobox>
+                <v-flex>
+                  <v-combobox
+                    id="serviceSearch"
+                    v-model="filter"
+                    :loading="searchLoading"
+                    :items="typeAhead"
+                    :search-input.sync="input"
+                    @keyup.enter="submit"
+                    flat
+                    append-icon=""
+                    hide-no-data
+                    :suffix="queryBy"
+                    :label="$t('searchDynamicConfig')"
+                    @input="split($event)"
+                  ></v-combobox>
+                </v-flex>
                 <v-menu class="hidden-xs-only">
                   <v-btn slot="activator" large icon>
                     <v-icon>unfold_more</v-icon>
@@ -53,18 +56,20 @@
                     </v-list-tile>
                   </v-list>
                 </v-menu>
-                <v-text-field
-                  v-show="selected === 0"
-                  label="Version"
-                  :hint="$t('dataIdVersionHint')"
-                  v-model="serviceVersion4Search"
-                ></v-text-field>
-                <v-text-field
-                  v-show="selected === 0"
-                  label="Group"
-                  :hint="$t('dataIdGroupHint')"
-                  v-model="serviceGroup4Search"
-                ></v-text-field>
+                <v-flex xs6 sm3 md2 v-show="selected === 0">
+                  <v-text-field
+                    label="Version"
+                    :hint="$t('dataIdVersionHint')"
+                    v-model="serviceVersion4Search"
+                  ></v-text-field>
+                </v-flex>
+                <v-flex xs6 sm3 md2 v-show="selected === 0">
+                  <v-text-field
+                    label="Group"
+                    :hint="$t('dataIdGroupHint')"
+                    v-model="serviceGroup4Search"
+                  ></v-text-field>
+                </v-flex>
                 <v-btn @click="submit" color="primary" large>{{$t('search')}}</v-btn>
 
               </v-layout>
@@ -310,6 +315,28 @@
         this.filter = document.querySelector('#serviceSearch').value.trim()
         this.search(true)
       },
+      split: function (service) {
+        if (this.selected === 0) {
+          const groupSplit = service.split('/')
+          const versionSplit = service.split(':')
+          if (groupSplit.length > 1) {
+            this.serviceGroup4Search = groupSplit[0]
+          } else {
+            this.serviceGroup4Search = ''
+          }
+          if (versionSplit.length > 1) {
+            this.serviceVersion4Search = versionSplit[1]
+          } else {
+            this.serviceVersion4Search = ''
+          }
+          const serviceSplit = versionSplit[0].split('/')
+          if (serviceSplit.length === 1) {
+            this.filter = serviceSplit[0]
+          } else {
+            this.filter = serviceSplit[1]
+          }
+        }
+      },
       search: function (rewrite) {
         if (!this.filter) {
           this.$notify.error('Either service or application is needed')
diff --git a/dubbo-admin-ui/src/components/governance/RoutingRule.vue b/dubbo-admin-ui/src/components/governance/RoutingRule.vue
index 8217bdf..999b69d 100644
--- a/dubbo-admin-ui/src/components/governance/RoutingRule.vue
+++ b/dubbo-admin-ui/src/components/governance/RoutingRule.vue
@@ -26,19 +26,22 @@
           <v-card-text>
             <v-form>
               <v-layout row wrap>
-                <v-combobox
-                  id="serviceSearch"
-                  v-model="filter"
-                  :loading="searchLoading"
-                  :items="typeAhead"
-                  :search-input.sync="input"
-                  @keyup.enter="submit"
-                  flat
-                  append-icon=""
-                  hide-no-data
-                  :suffix="queryBy"
-                  :label="$t('searchRoutingRule')"
-                ></v-combobox>
+                <v-flex>
+                  <v-combobox
+                    id="serviceSearch"
+                    v-model="filter"
+                    :loading="searchLoading"
+                    :items="typeAhead"
+                    :search-input.sync="input"
+                    @keyup.enter="submit"
+                    flat
+                    append-icon=""
+                    hide-no-data
+                    :suffix="queryBy"
+                    :label="$t('searchRoutingRule')"
+                    @input="split($event)"
+                  ></v-combobox>
+                </v-flex>
                 <v-menu class="hidden-xs-only">
                   <v-btn slot="activator" large icon>
                     <v-icon>unfold_more</v-icon>
@@ -53,18 +56,21 @@
                     </v-list-tile>
                   </v-list>
                 </v-menu>
-                <v-text-field
-                  v-show="selected === 0"
-                  label="Version"
-                  :hint="$t('dataIdVersionHint')"
-                  v-model="serviceVersion4Search"
-                ></v-text-field>
-                <v-text-field
-                  v-show="selected === 0"
-                  label="Group"
-                  :hint="$t('dataIdGroupHint')"
-                  v-model="serviceGroup4Search"
-                ></v-text-field>
+                <v-flex xs6 sm3 md2 v-show="selected === 0">
+                  <v-text-field
+                    v-show="selected === 0"
+                    label="Version"
+                    :hint="$t('dataIdVersionHint')"
+                    v-model="serviceVersion4Search"
+                  ></v-text-field>
+                </v-flex>
+                <v-flex xs6 sm3 md2 v-show="selected === 0">
+                  <v-text-field
+                    label="Group"
+                    :hint="$t('dataIdGroupHint')"
+                    v-model="serviceGroup4Search"
+                  ></v-text-field>
+                </v-flex>
                 <v-btn @click="submit" color="primary" large>{{$t('search')}}</v-btn>
 
               </v-layout>
@@ -330,6 +336,30 @@
       this.filter = document.querySelector('#serviceSearch').value.trim()
       this.search(true)
     },
+    split: function (service) {
+      if (this.selected === 0) {
+        const groupSplit = service.split('/')
+        const versionSplit = service.split(':')
+        console.log(groupSplit)
+        console.log(versionSplit)
+        if (groupSplit.length > 1) {
+          this.serviceGroup4Search = groupSplit[0]
+        } else {
+          this.serviceGroup4Search = ''
+        }
+        if (versionSplit.length > 1) {
+          this.serviceVersion4Search = versionSplit[1]
+        } else {
+          this.serviceVersion4Search = ''
+        }
+        const serviceSplit = versionSplit[0].split('/')
+        if (serviceSplit.length === 1) {
+          this.filter = serviceSplit[0]
+        } else {
+          this.filter = serviceSplit[1]
+        }
+      }
+    },
     search: function (rewrite) {
       if (!this.filter) {
         this.$notify.error('Either service or application is needed')
diff --git a/dubbo-admin-ui/src/components/governance/WeightAdjust.vue b/dubbo-admin-ui/src/components/governance/WeightAdjust.vue
index a104d91..522b994 100644
--- a/dubbo-admin-ui/src/components/governance/WeightAdjust.vue
+++ b/dubbo-admin-ui/src/components/governance/WeightAdjust.vue
@@ -26,19 +26,22 @@
           <v-card-text>
             <v-form>
               <v-layout row wrap>
-                <v-combobox
-                  id="serviceSearch"
-                  v-model="filter"
-                  :items="typeAhead"
-                  :search-input.sync="input"
-                  :loading="searchLoading"
-                  @keyup.enter="submit"
-                  flat
-                  append-icon=""
-                  hide-no-data
-                  :suffix="queryBy"
-                  :label="$t('searchWeightRule')"
-                ></v-combobox>
+                <v-flex>
+                  <v-combobox
+                    id="serviceSearch"
+                    v-model="filter"
+                    :items="typeAhead"
+                    :search-input.sync="input"
+                    :loading="searchLoading"
+                    @keyup.enter="submit"
+                    flat
+                    append-icon=""
+                    hide-no-data
+                    :suffix="queryBy"
+                    :label="$t('searchWeightRule')"
+                    @input="split($event)"
+                  ></v-combobox>
+                </v-flex>
                 <v-menu class="hidden-xs-only">
                   <v-btn slot="activator" large icon>
                     <v-icon>unfold_more</v-icon>
@@ -53,18 +56,22 @@
                     </v-list-tile>
                   </v-list>
                 </v-menu>
-                <v-text-field
-                  v-show="selected === 0"
-                  label="Version"
-                  :hint="$t('dataIdVersionHint')"
-                  v-model="serviceVersion4Search"
-                ></v-text-field>
-                <v-text-field
-                  v-show="selected === 0"
-                  label="Group"
-                  :hint="$t('dataIdGroupHint')"
-                  v-model="serviceGroup4Search"
-                ></v-text-field>
+                <v-flex xs6 sm3 md2 v-show="selected === 0">
+                  <v-text-field
+                    v-show="selected === 0"
+                    label="Version"
+                    :hint="$t('dataIdVersionHint')"
+                    v-model="serviceVersion4Search"
+                  ></v-text-field>
+                </v-flex>
+                <v-flex xs6 sm3 md2 v-show="selected === 0">
+                  <v-text-field
+                    v-show="selected === 0"
+                    label="Group"
+                    :hint="$t('dataIdGroupHint')"
+                    v-model="serviceGroup4Search"
+                  ></v-text-field>
+                </v-flex>
                 <v-btn @click="submit" color="primary" large>{{$t('search')}}</v-btn>
 
               </v-layout>
@@ -340,6 +347,28 @@
         this.filter = document.querySelector('#serviceSearch').value.trim()
         this.search(true)
       },
+      split: function (service) {
+        if (this.selected === 0) {
+          const groupSplit = service.split('/')
+          const versionSplit = service.split(':')
+          if (groupSplit.length > 1) {
+            this.serviceGroup4Search = groupSplit[0]
+          } else {
+            this.serviceGroup4Search = ''
+          }
+          if (versionSplit.length > 1) {
+            this.serviceVersion4Search = versionSplit[1]
+          } else {
+            this.serviceVersion4Search = ''
+          }
+          const serviceSplit = versionSplit[0].split('/')
+          if (serviceSplit.length === 1) {
+            this.filter = serviceSplit[0]
+          } else {
+            this.filter = serviceSplit[1]
+          }
+        }
+      },
       search: function (rewrite) {
         if (!this.filter) {
           this.$notify.error('Either service or application is needed')