Commit 193605a3 authored by kewei.jia's avatar kewei.jia

同步DB时 选择服务名

parent 8f10a3f7
...@@ -3,12 +3,17 @@ ...@@ -3,12 +3,17 @@
<div class="app-container" style="width:1000px; margin:0 auto;"> <div class="app-container" style="width:1000px; margin:0 auto;">
<el-form ref="dataForm" :inline="true" :rules="rules" :model="temp" label-width="150px" style="margin-bottom:15px"> <el-form ref="dataForm" :inline="true" :rules="rules" :model="temp" label-width="150px" style="margin-bottom:15px">
<el-form-item label="Namespace" prop="namespace"> <el-form-item label="Namespace" prop="namespace">
<el-select v-model="temp.namespace" style="width:310px" placeholder="要同步数据库的环境" filterable clearable> <el-select v-model="temp.namespace" placeholder="要同步数据库的环境" filterable clearable style="width: 300px" @change="getMysql">
<el-option v-for="item in namespaces" :value="item" :label="item" :key="item" /> <el-option v-for="item in namespaces" :value="item" :label="item" :key="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="服务名" prop="mysqlName">
<el-select v-model="temp.mysqlName" placeholder="此环境下拥有两个数据库服务,请选择" filterable clearable style="width: 300px">
<el-option v-for="item in sqlList" :value="item.serviceName" :label="item.serviceName" :key="item.serviceName" />
</el-select>
</el-form-item>
<el-form-item label="数据库名称" prop="dbname"> <el-form-item label="数据库名称" prop="dbname">
<el-select :disabled="disableBool" v-model="temp.dbname" filterable clearable placeholder="要同步表结构及配置数据的数据库名称" style="width:310px"> <el-select :disabled="disableBool" v-model="temp.dbname" filterable clearable style="width: 300px" placeholder="要同步表结构及配置数据的数据库名称">
<el-option v-for="item in dbnames" :value="item" :label="item" :key="item" /> <el-option v-for="item in dbnames" :value="item" :label="item" :key="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -38,6 +43,7 @@ ...@@ -38,6 +43,7 @@
<script> <script>
import { getNamespaceTke, getDBName, dbSyncTke, dbSyncQuery } from '@/api/dbconfig' import { getNamespaceTke, getDBName, dbSyncTke, dbSyncQuery } from '@/api/dbconfig'
import { fetchK8sdetail } from '@/api/docker'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import JsonEditor from '@/components/JsonEditor' import JsonEditor from '@/components/JsonEditor'
...@@ -53,10 +59,12 @@ export default { ...@@ -53,10 +59,12 @@ export default {
dialogStatus: '', dialogStatus: '',
rules: { rules: {
dbname: [{ required: true, message: '请输入', trigger: 'change' }], dbname: [{ required: true, message: '请输入', trigger: 'change' }],
namespace: [{ required: true, message: '请输入', trigger: 'change' }] namespace: [{ required: true, message: '请输入', trigger: 'change' }],
mysqlName: [{ required: true, message: '请输入', trigger: 'change' }]
}, },
configs: [], configs: [],
namespace: undefined, namespace: undefined,
sqlList: undefined,
namespaces: [], namespaces: [],
dbname: undefined, dbname: undefined,
dbnames: [], dbnames: [],
...@@ -64,7 +72,8 @@ export default { ...@@ -64,7 +72,8 @@ export default {
namespace: '', namespace: '',
dbname: '', dbname: '',
not_delete_business_data: true, not_delete_business_data: true,
use_cache: true use_cache: true,
mysqlName: ''
}, },
desc: '', desc: '',
location: '', location: '',
...@@ -86,6 +95,15 @@ export default { ...@@ -86,6 +95,15 @@ export default {
goBack() { goBack() {
this.$router.go(-1) this.$router.go(-1)
}, },
getMysql() {
fetchK8sdetail({ 'namespace': this.temp.namespace }).then(res => {
const servicelist = res.data.services
const mysqlList = servicelist.filter((item) => {
return item.serviceName.indexOf('mysql') > -1
})
this.sqlList = mysqlList
})
},
getNamespace() { getNamespace() {
getNamespaceTke().then(res => { getNamespaceTke().then(res => {
this.namespaces = res.data && res.data.namespaces.map(item => item.name) this.namespaces = res.data && res.data.namespaces.map(item => item.name)
...@@ -104,7 +122,8 @@ export default { ...@@ -104,7 +122,8 @@ export default {
namespace: '', namespace: '',
dbname: '', dbname: '',
not_delete_business_data: false, not_delete_business_data: false,
use_cache: false use_cache: false,
mysqlName: ''
} }
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment