作者 朱兆平

kafka操作

... ... @@ -115,7 +115,7 @@ export const batchDeleteUser = params =>{return http.del(`${baseUrl}/user/batch_
export const batchDeleteUserRelation = params =>{return http.del(`${baseUrl}/user/batch_deleteRelation`, params);};
// 监控队列
export const selectQueueViewList = params =>{return http.get(`${baseUrl}/view/queue/list`, params);};
export const selectQueueViewList = params =>{return http.get(`${baseUrl}/queue/monitor`, params);};
export const selectExchangeViewList = params =>{return http.get(`${baseUrl}/view/exchange/list`, params);};
export const selectElasticSearchList = params =>{return http.get(`${baseUrl}/es/page`, params);};
... ...
... ... @@ -151,11 +151,11 @@ let routes = [
children: [
{path: '/userInfo', component: UserInfo, name: '用户关系管理'},
{path: '/server', component: Server, name: '服务器管理'},
{path: '/host', component: VirtualHost, name: '虚拟主机管理'},
// {path: '/host', component: VirtualHost, name: '虚拟主机管理'},
{path: '/queue', component: Queue, name: '队列管理'},
{path: '/exchange', component: Exchange, name: '交换机管理'},
{path: '/routing', component: RoutingKey, name: '路由键管理'},
{path: '/umb', component: UserMessageBinding, name: '配置管理'},
// {path: '/exchange', component: Exchange, name: '交换机管理'},
// {path: '/routing', component: RoutingKey, name: '路由键管理'},
{path: '/umb', component: UserMessageBinding, name: '路由配置管理'},
{path: '/note', component: MessageNote, name: '消息记录管理'},
{path: '/note_search', component: MessageNoteSearch, name: '消息记录搜索'},
{path: '/es', component: ElasticSearchInfo, name: 'ES信息管理'},
... ... @@ -169,7 +169,7 @@ let routes = [
iconCls: 'el-icon-view',
children: [
{path: '/queueView', component: QueueView, name: '队列监控'},
{path: '/exchangeView', component: ExchangeView, name: '交换机监控'},
// {path: '/exchangeView', component: ExchangeView, name: '交换机监控'},
]
},
... ...
... ... @@ -34,7 +34,7 @@
</el-cascader>
</el-col>
<el-col :span="8">
<el-button type="warning" style="width:150px" size="medium" icon="el-icon-search" @click="queue_getList">
<el-button type="warning" style="width:150px" size="medium" icon="el-icon-search" @click="queue_getListSub">
查询队列
</el-button>
<el-button type="primary" style="width:150px" size="medium" icon="el-icon-plus" @click="queue_toAddDialog">
... ... @@ -56,20 +56,16 @@
width="220"></el-table-column>
<el-table-column label="所属用户" prop="username" align="center"
width="220"></el-table-column>
<el-table-column label="所属虚拟主机" prop="virtualHost.virtualHostName" align="center"
<el-table-column label="分区数量" prop="partitionCount" align="center"
width="220"></el-table-column>
<el-table-column label="相关描述" prop="description" align="center" width="280"></el-table-column>
<el-table-column label="是否持久化" prop="durability" align="center" width="145">
<template slot-scope="scope">
<span v-if="scope.row.durability ===false">否</span>
<span v-if="scope.row.durability ===true">是</span>
</template>
</el-table-column>
<el-table-column label="是否自动删除" prop="autoDelete" align="center" width="145">
<template slot-scope="scope">
<span v-if="scope.row.autoDelete ===false">否</span>
<span v-if="scope.row.autoDelete ===true">是</span>
</template>
<!-- <el-table-column label="是否持久化" prop="durability" align="center" width="145">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.durability ===false">否</span>-->
<!-- <span v-if="scope.row.durability ===true">是</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="创建时间" prop="gmtCreate" align="center" width="145">
</el-table-column>
<!-- <el-table-column label="扩展参数" prop="arguments" align="center" width="200">-->
<!-- </el-table-column>-->
... ... @@ -309,18 +305,18 @@
username: [
{required: true, message: '请输入用户名称', trigger: ['blur', 'change']},
],
// 所属虚拟机id
virtualHostId: [
{required: true, message: '请选择所属虚拟机', trigger: ['blur', 'change']},
],
// 是否持久化,默认 true
durability: [
{required: true, message: '请选择是否持久化', trigger: ['blur', 'change']},
],
// 是否自动删除,默认 false
autoDelete: [
{required: true, message: '请选择是否自动删除', trigger: ['blur', 'change']},
],
// // 所属虚拟机id
// virtualHostId: [
// {required: true, message: '请选择所属虚拟机', trigger: ['blur', 'change']},
// ],
// // 是否持久化,默认 true
// durability: [
// {required: true, message: '请选择是否持久化', trigger: ['blur', 'change']},
// ],
// // 是否自动删除,默认 false
// autoDelete: [
// {required: true, message: '请选择是否自动删除', trigger: ['blur', 'change']},
// ],
// // 扩展参数,以JSON格式存储
// arguments: [
// {required: true, message: '扩展参数', trigger: ['blur', 'change']},
... ... @@ -342,18 +338,18 @@
username: [
{required: true, message: '请输入用户名称', trigger: ['blur', 'change']},
],
// 所属虚拟机id
virtualHostId: [
{required: true, message: '请选择所属虚拟机', trigger: ['blur', 'change']},
],
// 是否持久化,默认 true
durability: [
{required: true, message: '请选择是否持久化', trigger: ['blur', 'change']},
],
// 是否自动删除,默认 false
autoDelete: [
{required: true, message: '请选择是否自动删除', trigger: ['blur', 'change']},
],
// // 所属虚拟机id
// virtualHostId: [
// {required: true, message: '请选择所属虚拟机', trigger: ['blur', 'change']},
// ],
// // 是否持久化,默认 true
// durability: [
// {required: true, message: '请选择是否持久化', trigger: ['blur', 'change']},
// ],
// // 是否自动删除,默认 false
// autoDelete: [
// {required: true, message: '请选择是否自动删除', trigger: ['blur', 'change']},
// ],
// // 扩展参数,以JSON格式存储
// arguments: [
// {required: true, message: '扩展参数', trigger: ['blur', 'change']},
... ... @@ -389,6 +385,8 @@
let user = userList.pop();
this.queue_addForm.username = user.username;
this.queue_addForm.queueName = user.username;
this.queue_addForm.userId = user.userId;
this.queue_addForm.consumerGroupName = user.username+"Group";
}
},
/**
... ... @@ -407,6 +405,10 @@
//刷新列表
this.queue_getList();
},
queue_getListSub(){
this.queue_queryInfo.pageNum= 1;
this.queue_getList();
},
/**
* queue,分页查询
*/
... ... @@ -437,6 +439,27 @@
* queue,添加对话框,打开事件
*/
queue_toAddDialog() {
this.queue_addForm = {
// 队列名称
queueName: '',
consumerGroupName: '',
partitionCount: 3,
queueType: 1,
// 用户名称
username: '',
// 用户id(该字段抛弃)
userId: '',
// 所属虚拟机id
virtualHostId: '',
// 是否持久化,默认 true
durability: '',
// 是否自动删除,默认 false
autoDelete: '',
// 扩展参数,以JSON格式存储
arguments: '',
// 相关描述
description: '',
};
this.dialogStatus= 'create';
this.queue_dialog.addDialog = true;
},
... ...
... ... @@ -51,18 +51,18 @@
<el-tag type="success">{{props.row.serverPort}}</el-tag>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="客户端端口号:">
<el-tag type="success">{{props.row.clientPort}}</el-tag>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="超级用户名称:">
<el-tag type="success">{{props.row.superUsername}}</el-tag>
</el-form-item>
</el-col>
<!-- <el-col :span="6">-->
<!-- <el-form-item label="客户端端口号:">-->
<!-- <el-tag type="success">{{props.row.clientPort}}</el-tag>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="6">-->
<!-- <el-form-item label="超级用户名称:">-->
<!-- <el-tag type="success">{{props.row.superUsername}}</el-tag>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-form-item label="相关描述:">
<el-tag type="success">{{props.row.description}}</el-tag>
... ... @@ -75,17 +75,17 @@
<el-table-column label="服务器名称" prop="serverName" align="center" width="180"></el-table-column>
<el-table-column label="服务器地址" prop="serverIp" align="center" width="200"></el-table-column>
<el-table-column label="服务器端口号" prop="serverPort" align="center" width="150"></el-table-column>
<el-table-column label="客户端端口号" prop="clientPort" align="center" width="150"></el-table-column>
<!-- <el-table-column label="客户端端口号" prop="clientPort" align="center" width="150"></el-table-column>-->
<!-- <el-table-column label="超级用户名称" prop="superUsername" align="center" width="150"></el-table-column>-->
<!-- <el-table-column label="相关描述" prop="description" align="center" width="300"></el-table-column>-->
<el-table-column label="相关描述" prop="description" align="center" width="300"></el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<!-- 虚拟主机 -->
<el-tooltip effect="dark" content="虚拟主机" placement="top-start" :enterable="false">
<el-button type="warning" icon="el-icon-link" size="mini"
@click="toVirtualHost(scope.$index,scope.row)">虚拟主机
</el-button>
</el-tooltip>
<!-- &lt;!&ndash; 虚拟主机 &ndash;&gt;-->
<!-- <el-tooltip effect="dark" content="虚拟主机" placement="top-start" :enterable="false">-->
<!-- <el-button type="warning" icon="el-icon-link" size="mini"-->
<!-- @click="toVirtualHost(scope.$index,scope.row)">虚拟主机-->
<!-- </el-button>-->
<!-- </el-tooltip>-->
<!-- 编辑按钮 -->
<el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false">
<el-button type="primary" icon="el-icon-edit" size="mini"
... ... @@ -129,7 +129,7 @@
</el-card>
<!-- 对话框 —> 添加服务器信息 -->
<div>
<el-dialog title="添加服务器信息"
<el-dialog :title="dialogMap[dialogStatus]"
:visible.sync="serverDialog.addDialog"
style="margin-top: -50px"
width="60%" text-align="center" @close="serverAddDialogClosed">
... ... @@ -153,30 +153,30 @@
<template slot="prepend" >服务器端口号</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="clientPort">
<el-input v-model="addServerForm.clientPort" style="width:300px" size="small" clearable
placeholder="请输入客户端端口号">
<template slot="prepend" >客户端端口号</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="superUsername">
<el-input v-model="addServerForm.superUsername" style="width:300px" size="small" clearable
placeholder="请输入超级用户名称">
<template slot="prepend" >超级用户名称</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="firstPassword">
<el-input type="password" v-model="addServerForm.firstPassword" style="width:300px"
size="small" clearable show-password placeholder="请输入超级用户密码">
<template slot="prepend" >超级用户密码</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="superPassword">
<el-input type="password" v-model="addServerForm.superPassword" style="width:300px"
size="small" clearable show-password placeholder="请重新输入密码">
<template slot="prepend" >重新输入密码</template>
</el-input>
</el-form-item>
<!-- <el-form-item label="" prop="clientPort">-->
<!-- <el-input v-model="addServerForm.clientPort" style="width:300px" size="small" clearable-->
<!-- placeholder="请输入客户端端口号">-->
<!-- <template slot="prepend" >客户端端口号</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="superUsername">-->
<!-- <el-input v-model="addServerForm.superUsername" style="width:300px" size="small" clearable-->
<!-- placeholder="请输入超级用户名称">-->
<!-- <template slot="prepend" >超级用户名称</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="firstPassword">-->
<!-- <el-input type="password" v-model="addServerForm.firstPassword" style="width:300px"-->
<!-- size="small" clearable show-password placeholder="请输入超级用户密码">-->
<!-- <template slot="prepend" >超级用户密码</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="superPassword">-->
<!-- <el-input type="password" v-model="addServerForm.superPassword" style="width:300px"-->
<!-- size="small" clearable show-password placeholder="请重新输入密码">-->
<!-- <template slot="prepend" >重新输入密码</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<el-form-item label="" prop="description">
<el-input v-model="addServerForm.description" placeholder="请输入相关描述"
style="width:300px" size="small" clearable
... ... @@ -190,73 +190,10 @@
<el-button type="info" @click="serverDialog.addDialog = false" size="medium"
style="width: 100px;background-color: #6F8294;color: #ffffff">取消
</el-button>
<el-button type="primary" @click="addServerInfo" :loading="server_loading.addLoading"
size="medium"
style="width: 100px">
添加
</el-button>
</div>
</el-dialog>
</div>
<!-- 对话框 —> 编辑服务器信息 -->
<div>
<el-dialog title="编辑服务器信息"
:visible.sync="serverDialog.editDialog"
style="margin-top: -50px"
width="50%" text-align="center" @close="serverEditDialogClosed">
<el-form :inline="true" :model="editServerForm" label-width="120px" status-icon
:rules="editServerFormRules" ref="editServerFormRef"
align="center">
<el-form-item label="" prop="serverName">
<el-input v-model="editServerForm.serverName" style="width:300px" size="small" clearable
readonly disabled
placeholder="请输入服务器名称">
<template slot="prepend" >&nbsp;&nbsp;服务器名称&nbsp;</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="serverIp">
<el-input v-model="editServerForm.serverIp" style="width:300px" size="small" clearable
readonly disabled
placeholder="请输入服务器IP地址">
<template slot="prepend" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IP地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="serverPort">
<el-input v-model="editServerForm.serverPort" style="width:300px" size="small" clearable
readonly disabled
placeholder="请输入服务器端口号">
<template slot="prepend" >服务器端口号</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="clientPort">
<el-input v-model="editServerForm.clientPort" style="width:300px" size="small" clearable
readonly disabled placeholder="请输入客户端端口号">
<template slot="prepend" >客户端端口号</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="superUsername">
<el-input v-model="editServerForm.superUsername" style="width:300px" size="small" clearable
readonly disabled placeholder="请输入超级用户名称">
<template slot="prepend" >超级用户名称</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="description">
<el-input v-model="editServerForm.description" placeholder="请输入相关描述"
style="width:300px" size="small" clearable
type="textarea" autosize :rows="1"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="info" @click="serverDialog.editDialog = false" size="medium"
style="width: 100px;background-color: #6F8294;color: #ffffff">取消
</el-button>
<el-button type="primary" @click="editServerInfo" :loading="server_loading.addLoading"
<el-button type="primary" @click="dialogStatus==='create'?addServerInfo():editServerInfo()" :loading="server_loading.addLoading"
size="medium"
style="width: 100px">
编辑
提交
</el-button>
</div>
</el-dialog>
... ... @@ -298,6 +235,11 @@
callback(new Error('请输入合法的IP地址'));
};
return {
dialogMap: {
update: '编辑服务器信息',
create: '添加服务器信息',
},
dialogStatus: 'create',
/**
* 搜索参数
*/
... ... @@ -392,22 +334,22 @@
serverPort: [
{required: true, message: '请输入服务器端口号', trigger: ['blur', 'change']},
],
description: [
{required: true, message: '请输入服务器相关描述', trigger: ['blur', 'change']},
],
clientPort: [
{required: true, message: '请输入客户端端口号', trigger: ['blur', 'change']},
],
superUsername: [
{required: true, message: '请输入超级用户名称', trigger: ['blur', 'change']},
],
firstPassword: [
{required: true, message: '请输入超级用户密码', trigger: ['blur', 'change']},
],
superPassword: [
{required: true, message: '请重新输入密码', trigger: ['blur', 'change']},
{validator: validatePassword, trigger: ['blur', 'change']}
],
// description: [
// {required: true, message: '请输入服务器相关描述', trigger: ['blur', 'change']},
// ],
// clientPort: [
// {required: true, message: '请输入客户端端口号', trigger: ['blur', 'change']},
// ],
// superUsername: [
// {required: true, message: '请输入超级用户名称', trigger: ['blur', 'change']},
// ],
// firstPassword: [
// {required: true, message: '请输入超级用户密码', trigger: ['blur', 'change']},
// ],
// superPassword: [
// {required: true, message: '请重新输入密码', trigger: ['blur', 'change']},
// {validator: validatePassword, trigger: ['blur', 'change']}
// ],
},
/**
* 编辑服务器,表单的验证规则对象
... ... @@ -488,6 +430,25 @@
* 打开 添加服务器信息 对话框
*/
toAddDialog() {
this.addServerForm = {
// 服务器名称
serverName: '',
// 服务器IP
serverIp: '',
// 服务器端口号
serverPort: undefined,
// 客户端端口号
clientPort: undefined,
// 超级用户名称
superUsername: '',
// 第一次输入密码
firstPassword: '',
// 超级用户密码
superPassword: '',
// 相关描述
description: '',
},
this.dialogStatus= 'create';
this.serverDialog.addDialog = true;
},
/**
... ... @@ -534,8 +495,9 @@
* 打开编辑服务器信息对话框
*/
toEditDialog(index, row) {
this.editServerForm = Object.assign({}, row);
this.serverDialog.editDialog = true;
this.dialogStatus= 'update';
this.addServerForm = Object.assign({}, row);
this.serverDialog.addDialog = true;
},
/**
... ... @@ -551,27 +513,27 @@
*/
editServerInfo() {
//进行表单的预验证
this.$refs.editServerFormRef.validate(valid => {
this.$refs.addServerFormRef.validate(valid => {
// 未通过,表单预校验
if (!valid) return;
// 通过,表单预检验
this.server_loading.editLoading = true;
updateBusServer(this.editServerForm).then((response) => {
this.server_loading.addLoading = true;
updateBusServer(this.addServerForm).then((response) => {
let res = response.data;
if (res.code !== '200') {
//关闭加载
this.server_loading.editLoading = false;
this.server_loading.addLoading = false;
return this.$message.error(res.msg);
}
// 关闭加载
this.server_loading.editLoading = false;
this.server_loading.addLoading = false;
this.$message.success(res.msg);
// 隐藏对话框
this.serverDialog.editDialog = false;
this.serverDialog.addDialog = false;
// 刷新列表
this.getServerList();
}).catch(error => {
this.server_loading.editLoading = false;
this.server_loading.addLoading = false;
this.$message.error(error.toString());
});
})
... ...
... ... @@ -2,72 +2,56 @@
<el-container>
<el-main>
<el-card style="background-color: #F5F7FA">
<!-- 搜素区域 -->
<!-- 搜素区域 -->
<div>
<el-row>
<el-col :span="4">
<el-input v-model="queueView_queryInfo.serverName" prefix-icon="el-icon-search" size="medium"
placeholder="服务器名称" clearable></el-input>
</el-col>
<el-col :span="4">
<el-input v-model="queueView_queryInfo.virtualHostName" prefix-icon="el-icon-search" size="medium"
placeholder="虚拟主机名称" clearable></el-input>
</el-col>
<!-- <el-col :span="4">-->
<!-- <el-input v-model="queueView_queryInfo.serverName" prefix-icon="el-icon-search" size="medium"-->
<!-- placeholder="服务器名称" clearable></el-input>-->
<!-- </el-col>-->
<!-- <el-col :span="4">-->
<!-- <el-input v-model="queueView_queryInfo.virtualHostName" prefix-icon="el-icon-search" size="medium"-->
<!-- placeholder="虚拟主机名称" clearable></el-input>-->
<!-- </el-col>-->
<el-col :span="8">
<el-button type="success" style="width:150px" size="medium" @click="getQueueViewList">
队列监控
<el-button type="success" style="width:150px" size="medium" @click="timerStatus==='start'?timerEnd():timerStart()">
{{timergMap[timerStatus]}}
</el-button>
</el-col>
</el-row>
</div>
<!-- 列表区域 -->
<!-- 列表区域 -->
<div style="margin-top: 20px;">
<el-table :data="queueView_page.queueViewList" border size="small"
:default-sort = "{prop: 'lag', order: 'descending'}"
v-loading="queueView_loading.listLoading" element-loading-text="获取队列监控信息,拼命加载中">
<el-table-column type="index" align="center"></el-table-column>
<el-table-column label="服务器名称" prop="serverName" align="center" width="150"></el-table-column>
<el-table-column label="虚拟主机名称" prop="queueInfo.vhost" align="center" width="150"></el-table-column>
<el-table-column label="队列名称" prop="queueInfo.name" align="center" width="230">
</el-table-column>
<el-table-column label="积压消息" prop="queueInfo.messages_ready" align="center" width="120">
<template slot-scope="scope">
<span v-if="scope.row.queueInfo.messages_ready !== null" style="color: #eb2f06">
{{scope.row.queueInfo.messages_ready}}
</span>
</template>
</el-table-column>
<el-table-column label="消息总数" prop="queueInfo.messages" align="center" width="120"></el-table-column>
<el-table-column label="持久化" prop="queueInfo.durable" align="center" width="120">
<template slot-scope="scope">
<span v-if="scope.row.queueInfo.durable ===false">否</span>
<span v-if="scope.row.queueInfo.durable ===true">是</span>
</template>
<el-table-column label="消费组" prop="groupName" align="center" width="150"></el-table-column>
<el-table-column label="TOPIC" prop="topic" align="center" width="150"></el-table-column>
<el-table-column label="partition" prop="partition" align="center" width="230">
</el-table-column>
<el-table-column label="自动删除" prop="queueInfo.auto_delete" align="center" width="120">
<template slot-scope="scope">
<span v-if="scope.row.queueInfo.auto_delete ===false">否</span>
<span v-if="scope.row.queueInfo.auto_delete ===true">是</span>
</template>
<el-table-column label="积压消息" prop="lag" align="center" width="120" sortable>
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.queueInfo.messages_ready !== null" style="color: #eb2f06">-->
<!-- {{scope.row.queueInfo.messages_ready}}-->
<!-- </span>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="消息总数" prop="endoffset" align="center" width="120"></el-table-column>
<!-- <el-table-column label="持久化" prop="queueInfo.durable" align="center" width="120">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.queueInfo.durable ===false">否</span>-->
<!-- <span v-if="scope.row.queueInfo.durable ===true">是</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="自动删除" prop="queueInfo.auto_delete" align="center" width="120">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.queueInfo.auto_delete ===false">否</span>-->
<!-- <span v-if="scope.row.queueInfo.auto_delete ===true">是</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<!-- 分页区域 -->
<div style="margin-top: 10px">
<el-row :gutter="24">
<el-col :span="6" style="margin-top: 5px"></el-col>
<el-col :span="10" style="margin-top: 5px">
<el-pagination
@size-change="queueView_handleSizeChange"
@current-change="queueView_handleCurrentChange"
:current-page="queueView_queryInfo.pageNum"
:page-sizes="[10,50,100,500]"
:page-size="queueView_queryInfo.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="queueView_page.total">
</el-pagination>
</el-col>
</el-row>
</div>
</el-card>
</el-main>
</el-container>
... ... @@ -80,11 +64,17 @@
name: "QueueView",
data() {
return {
timergMap: {
start: '监控中',
end: '已停止',
},
timerStatus: "start",
timer:{},
queueView_queryInfo: {
serverName: '',
virtualHostName: '',
pageNum: 1,
pageSize: 10
GroupName: '',
topic: '',
partition: 1,
Lag: 10
},
queueView_page: {
queueViewList: [],
... ... @@ -116,7 +106,15 @@
this.queueView_queryInfo.pageSize = newSize;
this.getQueueViewList();
},
timerStart(){
this.timerStatus= "start";
this.getQueueViewList();
this.timer = setInterval(this.getQueueViewList, 10000);
},
timerEnd(){
this.timerStatus= "end";
clearInterval(this.timer);
},
/**
* 分页查询,监听 pageNum 改变的事件
*/
... ... @@ -134,7 +132,7 @@
return this.$message.error(res.msg);
}
this.queueView_page.queueViewList = res.data;
this.queueView_page.total = res.total;
// this.queueView_page.total = res.total;
this.queueView_loading.listLoading = false;
}).catch(error => {
this.queueView_loading.listLoading = false;
... ... @@ -145,7 +143,7 @@
created() {
},
mounted() {
this.timer = setInterval(this.getQueueViewList, 5000);
this.timerStart();
},
beforeDestroy() {
clearInterval(this.timer);
... ...