diff --git a/ui-vue3/src/components/ConfigPage.vue b/ui-vue3/src/components/ConfigPage.vue
index 2fb3c0a..af57303 100644
--- a/ui-vue3/src/components/ConfigPage.vue
+++ b/ui-vue3/src/components/ConfigPage.vue
@@ -49,6 +49,9 @@
         <a-card>
           <template #title>
             {{ $t(currentOption.title) }}
+            <div v-if="currentOption?.ext" style="float: right">
+              <a-button type="primary" @click="currentOption?.ext?.fun">{{currentOption?.ext?.title}}</a-button>
+            </div>
           </template>
           <a-spin :spinning="waitResponse">
             <a-form
@@ -60,7 +63,7 @@
               layout="horizontal"
             >
               <slot :name="'form_' + currentOption.key" :current="currentOption"></slot>
-              <a-form-item style="margin-left: 100px">
+              <a-form-item style="margin: 20px 0 0  100px">
                 <a-button type="primary" @click="submit">{{ $t('submit') }}</a-button>
                 <a-button style="margin-left: 10px" @click="reset">{{ $t('reset') }}</a-button>
               </a-form-item>
@@ -108,7 +111,7 @@
     waitResponse.value = false
   })
 
-  let cur = currentOption.value
+  let cur = props.options.list[props.options.current[0]];
   await cur.submit(cur.form).catch((e: any) => {
     message.error('submit failed [server error]: ' + e)
   })
diff --git a/ui-vue3/src/views/resources/applications/tabs/config.vue b/ui-vue3/src/views/resources/applications/tabs/config.vue
index 080cbc1..86e7047 100644
--- a/ui-vue3/src/views/resources/applications/tabs/config.vue
+++ b/ui-vue3/src/views/resources/applications/tabs/config.vue
@@ -22,15 +22,131 @@
           <a-switch v-model:checked="current.form.logFlag"></a-switch>
         </a-form-item>
       </template>
-      <template v-slot:form_flow="{ current }"> 2 </template>
-      <template v-slot:form_gray="{ current }"> 3 </template>
+      <template v-slot:form_flow="{ current }">
+        <a-space>
+          <a-card v-for="(item, i) in current.form.rules">
+
+            <template #title>
+              {{ $t('applicationDomain.flowWeight') }} {{ i + 1 }}
+              <div style="float: right">
+                <a-space>
+                  <a-button  type="dashed" @click="">
+                    <Icon
+                        style="font-size: 20px"
+                        icon="material-symbols-light:contract-edit"></Icon>
+                  </a-button>
+                  <a-button danger type="dashed" @click="">
+                    <Icon
+                        style="font-size: 20px"
+                        icon="fluent:delete-12-filled"></Icon>
+                  </a-button>
+                </a-space>
+              </div>
+            </template>
+
+            <a-form-item :name="'rules[' + i + '].weight'" label="权重">
+              <a-input-number v-model:value="item.weight"></a-input-number>
+            </a-form-item>
+            <a-form-item label="作用范围">
+              <a-table
+                  style="width: 40vw"
+                  :pagination="false"
+                  :columns="[
+                    {key: 'label', title:'label'},
+                    {key: 'condition', title:'condition'},
+                    {key: 'value', title:'value'},
+                ]"
+                  :data-source="[item.scope]">
+                <template #bodyCell="{column, record, index}">
+                  <a-form-item
+                      v-if="column.key === 'condition'"
+                      :name="'rules[' + i + '].scope.condition'" label="">
+                    <a-select v-model:value="item.scope.condition">
+                      <a-select-option value="=">=</a-select-option>
+                      <a-select-option value="!=">!=</a-select-option>
+                      <a-select-option value=">">></a-select-option>
+                      <a-select-option value="<">{{ '<' }}</a-select-option>
+                    </a-select>
+                  </a-form-item>
+                  <a-form-item
+                      v-else
+                      :name="'rules[' + i + '].scope.condition.' + column.key" label="">
+                    <a-input v-model:value="item.scope[column.key]"></a-input>
+                  </a-form-item>
+                </template>
+              </a-table>
+            </a-form-item>
+          </a-card>
+        </a-space>
+
+      </template>
+      <template v-slot:form_gray="{ current }">
+        <a-space>
+          <a-card v-for="(item, i) in current.form.rules">
+
+            <template #title>
+              {{ $t('applicationDomain.gray') }} {{ i + 1 }}
+              <div style="float: right">
+                <a-space>
+                  <a-button  type="dashed" @click="">
+                    <Icon
+                        style="font-size: 20px"
+                        icon="material-symbols-light:contract-edit"></Icon>
+                  </a-button>
+                  <a-button danger type="dashed" @click="">
+                    <Icon
+                        style="font-size: 20px"
+                        icon="fluent:delete-12-filled"></Icon>
+                  </a-button>
+                </a-space>
+              </div>
+            </template>
+
+            <a-form-item :name="'rules[' + i + '].name'" label="环境名称">
+              <a-input v-model:value="item.name"></a-input>
+            </a-form-item>
+            <a-form-item label="作用范围">
+              <a-table
+                  style="width: 40vw"
+                  :pagination="false"
+                  :columns="[
+                    {key: 'label', title:'label'},
+                    {key: 'condition', title:'condition'},
+                    {key: 'value', title:'value'},
+                ]"
+                  :data-source="[item.scope]">
+                <template #bodyCell="{column, record, index}">
+                  <a-form-item
+                      v-if="column.key === 'condition'"
+                      :name="'rules[' + i + '].scope.condition'" label="">
+                    <a-select v-model:value="item.scope.condition">
+                      <a-select-option value="=">=</a-select-option>
+                      <a-select-option value="!=">!=</a-select-option>
+                      <a-select-option value=">">></a-select-option>
+                      <a-select-option value="<">{{ '<' }}</a-select-option>
+                    </a-select>
+                  </a-form-item>
+                  <a-form-item
+                      v-else
+                      :name="'rules[' + i + '].scope.condition.' + column.key" label="">
+                    <a-input v-model:value="item.scope[column.key]"></a-input>
+                  </a-form-item>
+                </template>
+              </a-table>
+            </a-form-item>
+          </a-card>
+        </a-space>
+
+      </template>
     </config-page>
   </div>
 </template>
 
 <script setup lang="ts">
-import { onMounted, reactive, ref } from 'vue'
+import {onMounted, reactive} from 'vue'
 import ConfigPage from '@/components/ConfigPage.vue'
+import {Icon} from "@iconify/vue";
+
 let options: any = reactive({
   list: [
     {
@@ -52,20 +168,64 @@
     },
     {
       title: 'applicationDomain.flowWeight',
-      form: {},
       key: 'flow',
+      ext: {
+        title: '添加权重配置',
+        fun() {
+
+        }
+      },
+      form: {
+        rules: [
+          {
+            weight: '100',
+            scope: {
+              label: 'key1',
+              condition: '=',
+              value: 'value1'
+            }
+          }
+        ]
+      },
       submit(form: {}) {
-        console.log(form)
+        return new Promise((resolve) => {
+          setTimeout(() => {
+            resolve(1)
+          }, 1000)
+        })
       }
     },
+
     {
       title: 'applicationDomain.gray',
-      form: {},
       key: 'gray',
+      ext: {
+        title: '添加灰度环境',
+        fun() {
+
+        }
+      },
+      form: {
+        rules: [
+          {
+            name: '100',
+            scope: {
+              label: 'key1',
+              condition: '=',
+              value: 'value1'
+            }
+          }
+        ]
+      },
       submit(form: {}) {
-        console.log(form)
+        return new Promise((resolve) => {
+          setTimeout(() => {
+            resolve(1)
+          }, 1000)
+        })
       }
-    }
+    },
+
   ],
   current: [0]
 })
