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

同步DB时 选择服务名

parent 8f10a3f7
......@@ -3,12 +3,17 @@
<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-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-select>
</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-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-select>
</el-form-item>
......@@ -38,6 +43,7 @@
<script>
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 JsonEditor from '@/components/JsonEditor'
......@@ -53,10 +59,12 @@ export default {
dialogStatus: '',
rules: {
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: [],
namespace: undefined,
sqlList: undefined,
namespaces: [],
dbname: undefined,
dbnames: [],
......@@ -64,7 +72,8 @@ export default {
namespace: '',
dbname: '',
not_delete_business_data: true,
use_cache: true
use_cache: true,
mysqlName: ''
},
desc: '',
location: '',
......@@ -86,6 +95,15 @@ export default {
goBack() {
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() {
getNamespaceTke().then(res => {
this.namespaces = res.data && res.data.namespaces.map(item => item.name)
......@@ -104,7 +122,8 @@ export default {
namespace: '',
dbname: '',
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