Commit 3ee40a06 authored by 黎博's avatar 黎博

update

parent c1240313
......@@ -125,3 +125,12 @@ export function getDockerProjectDetail(queryInfo) {
params: queryInfo
})
}
// 同步MQ
export function syncMq(data) {
return request({
url: '/k8s/sync/mq',
method: 'post',
data
})
}
......@@ -40,6 +40,7 @@ import role from '../views/user/role'
import permission from '../views/user/permission'
// 添加发送短信功能(2021-08-16)
import sendMessage from '../views/effect/SendMessage'
// 迁移容器平台
import TestEnv from '../views/docker/TestEnv'
import DevEnv from '../views/docker/DevEnv'
import EnvDetail from '../views/docker/EnvDetail'
......
......@@ -22,21 +22,41 @@
<el-table-column prop="owner" label="所有者" width="120" />
<el-table-column prop="operation" label="操作">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="syncMySQL(scope.row.name)">同步线上MySQL</el-button>
<el-button size="mini" type="primary" @click="syncMQ(scope.row.name)">同步线上MQ</el-button>
<el-button type="primary" size="mini" @click="handleSyncMysql(scope.row.name)">同步线上MySQL</el-button>
<el-button size="mini" type="primary" @click="handleMqSync(scope.row.name)">同步线上MQ</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- 同步MQ对话框 -->
<el-dialog title="同步MQ" :visible.sync="mqSyncDialogVisible" width="50%" :before-close="handleClose">
<el-form ref="mqDataForm" label-position="left" label-width="130px" style="width: 95%; margin-left:20px;">
<el-form-item label="Namespace名称">
<el-input v-model="namespace" :disabled="true" />
</el-form-item>
<el-form-item label="服务地址">
<el-input v-model="mqUrl" :disabled="true" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="mqSyncDialogVisible = false">取消</el-button>
<el-button type="primary" @click="syncMQ()">开始同步</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { getNamespaceList } from '@/api/k8s'
import { getNamespaceList, getServiceDetail, syncMq } from '@/api/k8s'
export default {
data() {
return {
tableData: []
tableData: [],
mqSyncDialogVisible: false,
mqDataForm: {},
namespace: '',
mqUrl: ''
}
},
methods: {
......@@ -56,7 +76,39 @@ export default {
path: `/docker/env`
})
},
syncMySQL() {}
handleSyncMysql() {
this.$router.push('/effect/database')
},
// 打开MQ同步对话框
handleMqSync(name) {
this.namespace = name
getServiceDetail({
namespace: this.namespace,
serviceType: 'base',
serviceName: 'rabbitmq'
}).then((resp) => {
if (resp.data.data != null) {
this.mqUrl =
resp.data.data.lanIp + ':' + resp.data.data.portMappings[1].nodePort
} else {
return this.$message.error('当前环境没有MQ!')
}
})
this.mqSyncDialogVisible = true
},
// 同步MQ
syncMQ() {
var formdata = new FormData()
formdata.set('host', this.mqUrl)
syncMq(formdata).then((resp) => {
if (resp.data.data === true) {
this.mqSyncDialogVisible = false
return this.$message.success('同步成功!')
} else {
return this.$message.error('同步失败!')
}
})
}
},
created() {
this.getNamespaceList()
......
......@@ -89,7 +89,7 @@
<!-- 分页 -->
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="listQuery.pageNum" :page-sizes="[10, 20, 50, 100, 200, 300]" :page-size="listQuery.pageSize" layout="total, sizes, prev, pager, next" :total="total"></el-pagination>
<el-dialog title="xx对话框" :visible.sync="dialogFormVisible">
<el-dialog :title="dialogName" :visible.sync="dialogFormVisible">
<el-form ref="dataForm" :rules="rules" :model="temp" label-position="left" label-width="115px" style="width: 90%; margin-left:40px;">
<el-form-item label="类型" prop="projectType">
<el-select v-model="temp.projectType" class="filter-item" placeholder="Please select">
......@@ -227,10 +227,7 @@ export default {
dialogFormVisible: false,
dialogDeleteVisible: false,
dialogStatus: '',
textMap: {
update: 'Edit',
create: 'Create'
},
dialogName: '',
proconfigs: [],
disabled: undefined,
rules: {
......@@ -275,6 +272,7 @@ export default {
},
// 打开新建项目对话框
handleCreate() {
this.dialogName = '新建项目'
this.temp = {}
this.dialogFormVisible = true
this.$nextTick(() => {
......@@ -283,6 +281,7 @@ export default {
},
// 打开更新项目对话框
handleUpdate(row) {
this.dialogName = '编辑项目'
this.temp = Object.assign({}, row)
this.dialogFormVisible = true
this.$nextTick(() => {
......@@ -298,6 +297,7 @@ export default {
addDockerProject(this.temp).then(resp => {
if (resp.data.data === true) {
this.dialogFormVisible = false
this.getProjectList()
return this.$message.success('创建成功!')
} else {
return this.$message.error('创建失败!')
......
......@@ -22,21 +22,41 @@
<el-table-column prop="owner" label="所有者" width="120" />
<el-table-column prop="operation" label="操作">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="syncMySQL(scope.row.name)">同步线上MySQL</el-button>
<el-button size="mini" type="primary" @click="syncMQ(scope.row.name)">同步线上MQ</el-button>
<el-button type="primary" size="mini" @click="handleSyncMysql(scope.row.name)">同步线上MySQL</el-button>
<el-button size="mini" type="primary" @click="handleMqSync(scope.row.name)">同步线上MQ</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- 同步MQ对话框 -->
<el-dialog title="同步MQ" :visible.sync="mqSyncDialogVisible" width="50%" :before-close="handleClose">
<el-form ref="mqDataForm" label-position="left" label-width="130px" style="width: 95%; margin-left:20px;">
<el-form-item label="Namespace名称">
<el-input v-model="namespace" :disabled="true" />
</el-form-item>
<el-form-item label="服务地址">
<el-input v-model="mqUrl" :disabled="true" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="mqSyncDialogVisible = false">取消</el-button>
<el-button type="primary" @click="syncMQ()">开始同步</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { getNamespaceList } from '@/api/k8s'
import { getNamespaceList, getServiceDetail, syncMq } from '@/api/k8s'
export default {
data() {
return {
tableData: []
tableData: [],
mqSyncDialogVisible: false,
mqDataForm: {},
namespace: '',
mqUrl: ''
}
},
methods: {
......@@ -58,7 +78,40 @@ export default {
// 强制刷新整个页面
this.$router.go(0)
},
syncMySQL() {}
// 跳转到数据库同步页面
handleSyncMysql() {
this.$router.push('/effect/database')
},
// 打开MQ同步对话框
handleMqSync(name) {
this.namespace = name
getServiceDetail({
namespace: this.namespace,
serviceType: 'base',
serviceName: 'rabbitmq'
}).then((resp) => {
if (resp.data.data != null) {
this.mqUrl =
resp.data.data.lanIp + ':' + resp.data.data.portMappings[1].nodePort
} else {
return this.$message.error('当前环境没有MQ!')
}
})
this.mqSyncDialogVisible = true
},
// 同步MQ
syncMQ() {
var formdata = new FormData()
formdata.set('host', this.mqUrl)
syncMq(formdata).then((resp) => {
if (resp.data.data === true) {
this.mqSyncDialogVisible = false
return this.$message.success('同步成功!')
} else {
return this.$message.error('同步失败!')
}
})
}
},
created() {
this.getNamespaceList()
......
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