129 lines
4.0 KiB
Vue
Raw Normal View History

2020-02-13 10:48:51 +08:00
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true">
<el-form-item label="登录地址" prop="ipaddr">
<el-input
v-model="queryParams.ipaddr"
placeholder="请输入登录地址"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户名称" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue  Conflicts:  pom.xml  ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java  ruoyi-admin/src/main/resources/application.yml  ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java  ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java  ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java  ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java  ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java  ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java  ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java  ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java  ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java  ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java  ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java  ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java  ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml  ruoyi-generator/src/main/resources/vm/vue/index.vue.vm  ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java  ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml  ruoyi-ui/babel.config.js  ruoyi-ui/package.json  ruoyi-ui/src/api/tool/gen.js  ruoyi-ui/src/assets/styles/ruoyi.scss  ruoyi-ui/src/components/HeaderSearch/index.vue  ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue  ruoyi-ui/src/main.js  ruoyi-ui/src/utils/ruoyi.js  ruoyi-ui/src/views/login.vue  ruoyi-ui/src/views/monitor/job/index.vue  ruoyi-ui/src/views/monitor/logininfor/index.vue  ruoyi-ui/src/views/monitor/online/index.vue  ruoyi-ui/src/views/monitor/operlog/index.vue  ruoyi-ui/src/views/system/config/index.vue  ruoyi-ui/src/views/system/dept/index.vue  ruoyi-ui/src/views/system/dict/data.vue  ruoyi-ui/src/views/system/dict/index.vue  ruoyi-ui/src/views/system/menu/index.vue  ruoyi-ui/src/views/system/notice/index.vue  ruoyi-ui/src/views/system/post/index.vue  ruoyi-ui/src/views/system/role/index.vue  ruoyi-ui/src/views/system/user/index.vue  ruoyi-ui/src/views/tool/gen/genInfoForm.vue  ruoyi-ui/src/views/tool/gen/index.vue  ruoyi-ui/vue.config.js  sql/ry_20200724.sql
2020-08-02 18:31:47 +08:00
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
2020-02-13 10:48:51 +08:00
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="list.slice((pageNum-1)*pageSize,pageNum*pageSize)"
style="width: 100%;"
>
<el-table-column label="序号" type="index" align="center">
<template slot-scope="scope">
<span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="会话编号" align="center" prop="tokenId" :show-overflow-tooltip="true" />
<el-table-column label="登录名称" align="center" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="部门名称" align="center" prop="deptName" />
<el-table-column label="主机" align="center" prop="ipaddr" :show-overflow-tooltip="true" />
<el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true" />
2020-02-13 10:48:51 +08:00
<el-table-column label="浏览器" align="center" prop="browser" />
<el-table-column label="操作系统" align="center" prop="os" />
<el-table-column label="登录时间" align="center" prop="loginTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.loginTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleForceLogout(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>强退</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" />
</div>
</template>
<script>
import { list, forceLogout } from "@/api/monitor/online";
export default {
name: "Online",
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
// 表格数据
list: [],
pageNum: 1,
pageSize: 10,
// 查询参数
queryParams: {
ipaddr: undefined,
userName: undefined
}
};
},
created() {
this.getList();
},
methods: {
/** 查询登录日志列表 */
getList() {
this.loading = true;
list(this.queryParams).then(response => {
this.list = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 强退按钮操作 */
handleForceLogout(row) {
this.$confirm('是否确认强退名称为"' + row.userName + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return forceLogout(row.tokenId);
}).then(() => {
this.getList();
this.msgSuccess("强退成功");
}).catch(function() {});
}
}
};
</script>