Commit e88bd005 authored by 智勇's avatar 智勇

pipeline支持多集群 db同步管理增加权限

parent aa84dac2
......@@ -60,7 +60,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">{{ $t('table.cancel') }}</el-button>
<el-button type="primary" @click="createData()">{{ $t('table.confirm') }}</el-button>
<el-button v-permission="['admin']" type="primary" @click="createData()">{{ $t('table.confirm') }}</el-button>
</div>
</el-dialog>
......@@ -70,7 +70,7 @@
</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogDeleteVisible = false">{{ $t('table.cancel') }}</el-button>
<el-button type="primary" @click="deleteData()">{{ $t('table.confirm') }}</el-button>
<el-button v-permission="['admin']" type="primary" @click="deleteData()">{{ $t('table.confirm') }}</el-button>
</span>
</el-dialog>
......@@ -80,9 +80,12 @@
<script>
import { getConfig, saveConfig, deleteConfig } from '@/api/dbconfig'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import permission from '@/directive/permission/index.js' // 权限判断指令
export default {
components: { Pagination },
directives: { permission },
filters: {
},
data() {
......
......@@ -92,8 +92,16 @@
active-color="#13ce66"
/>
</el-form-item>
<el-form-item v-if="temp.isDeploy" label="所属集群" prop="cluster" >
<el-select v-model="temp.cluster" filterable style="width:100%" @change="changeCluster">
<el-option v-for="item in clusterArray" :value="item.clusterName" :label="item.clusterName" :key="item.clusterName" />
</el-select>
</el-form-item>
<el-form-item v-if="temp.isDeploy" label="命名空间" prop="namespace" >
<el-input v-model="temp.namespace"/>
<!-- <el-input v-model="temp.namespace"/> -->
<el-select v-model="temp.namespace" filterable style="width:100%">
<el-option v-for="item in nsArray" :value="item.name" :label="item.name" :key="item.name" />
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -121,6 +129,8 @@ import { getProjects } from '@/api/proconfig'
import waves from '@/directive/waves' // Waves directive
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import moment from 'moment'
import { getCluster } from '@/api/cluster'
import { fetchKubernetesList } from '@/api/docker'
export default {
name: 'ComplexTable',
......@@ -154,7 +164,8 @@ export default {
rules: {
application_name: [{ required: true, message: '请输入', trigger: 'change' }],
// timestamp: [{ type: 'date', required: true, message: 'timestamp is required', trigger: 'change' }],
namespace: [{ required: true, message: '请输入', trigger: 'blur' }]
namespace: [{ required: true, message: '请输入', trigger: 'blur' }],
cluster: [{ required: true, message: '请输入', trigger: 'blur' }]
},
noticeTypes: ['dingding', 'mail'],
applications: [],
......@@ -162,7 +173,9 @@ export default {
repos: [],
repo: '',
refs: {},
ref: undefined
ref: undefined,
clusterArray: [],
nsArray: []
}
},
computed: {
......@@ -172,8 +185,28 @@ export default {
},
created() {
this.getApplications()
this.getCluster()
this.fetchK8sList()
},
methods: {
getCluster() {
getCluster().then(res => {
this.clusterArray = res.data
})
},
changeCluster() {
this.$store.dispatch('changeCluster', this.temp.cluster)
sessionStorage.setItem('cluster', this.temp.cluster)
this.fetchK8sList()
},
fetchK8sList() {
fetchKubernetesList().then(res => {
this.nsArray = res.data.namespaces
})
},
filterUserData() {
this.getApplications()
},
......@@ -223,7 +256,8 @@ export default {
application_name: '',
create_time: moment().format('YYYY-MM-DD HH:mm:ss'),
new_user: '',
update_user: ''
update_user: '',
cluster: this.$store.getters.cluster
}
},
......
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