操作日志 修改操作状态bug

ywj_dev
CTP 2 years ago
parent d2b76cfe40
commit 7517e4a27b

@ -1,7 +1,13 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch" label-width="68px"> <el-form
:model="queryParams"
ref="queryForm"
size="mini"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="系统模块:" prop="title" label-width="80px"> <el-form-item label="系统模块:" prop="title" label-width="80px">
<el-input <el-input
v-model="queryParams.title" v-model="queryParams.title"
@ -38,20 +44,26 @@
placeholder="操作状态" placeholder="操作状态"
clearable clearable
> >
<el-option <el-option label="正常" value="0" />
v-for="dict in dict.type.sys_common_status" <el-option label="失败" value="1" />
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button-group> <el-button
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> type="primary"
<el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> icon="el-icon-search"
</el-button-group> size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button
type="primary"
icon="el-icon-refresh"
size="mini"
@click="resetQuery"
>重置</el-button
>
</el-form-item> </el-form-item>
<!-- <el-form-item label="操作时间:" label-width="80px">--> <!-- <el-form-item label="操作时间:" label-width="80px">-->
@ -65,47 +77,85 @@
<!-- end-placeholder="结束日期"--> <!-- end-placeholder="结束日期"-->
<!-- ></el-date-picker>--> <!-- ></el-date-picker>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
</el-form> </el-form>
<el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" <el-table
:default-sort="defaultSort" @sort-change="handleSortChange" border> ref="tables"
<el-table-column type="selection" width="55" align="center"/> v-loading="loading"
:data="list"
:default-sort="defaultSort"
border
>
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="系统模块" align="center" prop="title"/> <el-table-column label="系统模块" align="center" prop="title" />
<!--<el-table-column label="操作类型" align="center" prop="businessType">--> <!--<el-table-column label="操作类型" align="center" prop="businessType">-->
<!-- <template slot-scope="scope">--> <!-- <template slot-scope="scope">-->
<!-- <dict-tag :options="dict.type.sys_oper_type" :value="scope.row.businessType"/>--> <!-- <dict-tag :options="dict.type.sys_oper_type" :value="scope.row.businessType"/>-->
<!-- </template>--> <!-- </template>-->
<!--</el-table-column>--> <!--</el-table-column>-->
<el-table-column label="请求方式" align="center" prop="requestMethod"/> <el-table-column label="请求方式" align="center" prop="requestMethod" />
<el-table-column label="操作人员" align="center" prop="operUserName" width="100" :show-overflow-tooltip="true" <el-table-column
sortable="custom" :sort-orders="['descending', 'ascending']"/> label="操作人员"
<el-table-column label="操作地址" align="center" prop="operIp" width="130" :show-overflow-tooltip="true"/> align="center"
<el-table-column label="操作地点" align="center" prop="operLocation" :show-overflow-tooltip="true"/> prop="operUserName"
width="100"
:show-overflow-tooltip="true"
:sort-orders="['descending', 'ascending']"
/>
<el-table-column
label="操作地址"
align="center"
prop="operIp"
width="130"
:show-overflow-tooltip="true"
/>
<el-table-column
label="操作地点"
align="center"
prop="operLocation"
:show-overflow-tooltip="true"
/>
<el-table-column label="操作状态" align="center" prop="status"> <el-table-column label="操作状态" align="center" prop="status">
<!-- <template slot-scope="scope">
<dict-tag
:options="dict.type.sys_common_status"
:value="scope.row.status"
/>
</template> -->
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/> <el-tag :type="scope.row.status === 0 ? 'success' : 'warning'">{{
scope.row.status === 0 ? "正常" : "失败"
}}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作日期" align="center" prop="operTime" sortable="custom" <el-table-column
:sort-orders="['descending', 'ascending']" width="180"> label="操作日期"
align="center"
prop="operTime"
:sort-orders="['descending', 'ascending']"
width="180"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.operTime) }}</span> <span>{{ parseTime(scope.row.operTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@click="handleView(scope.row,scope.index)" @click="handleView(scope.row, scope.index)"
v-hasPermi="['monitor:operlog:query']" v-hasPermi="['monitor:operlog:query']"
>详情 >详情
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.page" :page.sync="queryParams.page"
:limit.sync="queryParams.limit" :limit.sync="queryParams.limit"
@ -113,19 +163,27 @@
/> />
<!-- 操作日志详细 --> <!-- 操作日志详细 -->
<el-dialog title="操作日志-详情" :visible.sync="open" width="700px" append-to-body> <el-dialog
title="操作日志-详情"
:visible.sync="open"
width="700px"
append-to-body
>
<el-form ref="form" :model="form" label-width="100px" size="mini"> <el-form ref="form" :model="form" label-width="100px" size="mini">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="操作模块:">{{ form.title }} / {{ typeFormat(form) }}</el-form-item> <el-form-item label="操作模块:"
<el-form-item >{{ form.title }} / {{ typeFormat(form) }}</el-form-item
label="登录信息:" >
>{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }} <el-form-item label="登录信息:"
>{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="请求地址:">{{ form.operUrl }}</el-form-item> <el-form-item label="请求地址:">{{ form.operUrl }}</el-form-item>
<el-form-item label="请求方式:">{{ form.requestMethod }}</el-form-item> <el-form-item label="请求方式:">{{
form.requestMethod
}}</el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="操作方法:">{{ form.method }}</el-form-item> <el-form-item label="操作方法:">{{ form.method }}</el-form-item>
@ -134,7 +192,9 @@
<el-form-item label="请求参数:">{{ form.operParam }}</el-form-item> <el-form-item label="请求参数:">{{ form.operParam }}</el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="返回参数:">{{ form.jsonResult }}</el-form-item> <el-form-item label="返回参数:">{{
form.jsonResult
}}</el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="操作状态:"> <el-form-item label="操作状态:">
@ -143,10 +203,14 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="操作时间:">{{ parseTime(form.operTime) }}</el-form-item> <el-form-item label="操作时间:">{{
parseTime(form.operTime)
}}</el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item> <el-form-item label="异常信息:" v-if="form.status === 1">{{
form.errorMsg
}}</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
@ -158,11 +222,11 @@
</template> </template>
<script> <script>
import {list, delOperlog, cleanOperlog} from "@/api/monitor/operlog"; import { list, delOperlog, cleanOperlog } from "@/api/monitor/operlog";
export default { export default {
name: "Operlog", name: "Operlog",
dicts: ['sys_oper_type', 'sys_common_status'], dicts: ["sys_oper_type", "sys_common_status"],
data() { data() {
return { return {
// //
@ -182,7 +246,7 @@ export default {
// //
dateRange: [], dateRange: [],
// //
defaultSort: {prop: 'operTime', order: 'descending'}, defaultSort: { prop: "operTime", order: "descending" },
// //
form: {}, form: {},
// //
@ -192,8 +256,8 @@ export default {
title: undefined, title: undefined,
operName: undefined, operName: undefined,
businessType: undefined, businessType: undefined,
status: undefined status: undefined,
} },
}; };
}, },
created() { created() {
@ -203,7 +267,8 @@ export default {
/** 查询登录日志 */ /** 查询登录日志 */
getList() { getList() {
this.loading = true; this.loading = true;
list(this.addDateRange(this.queryParams, this.dateRange)).then(response => { list(this.addDateRange(this.queryParams, this.dateRange)).then(
(response) => {
this.list = response.data.list; this.list = response.data.list;
this.total = response.data.total; this.total = response.data.total;
this.loading = false; this.loading = false;
@ -212,7 +277,10 @@ export default {
}, },
// //
typeFormat(row, column) { typeFormat(row, column) {
return this.selectDictLabel(this.dict.type.sys_oper_type, row.businessType); return this.selectDictLabel(
this.dict.type.sys_oper_type,
row.businessType
);
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
@ -223,53 +291,62 @@ export default {
resetQuery() { resetQuery() {
this.dateRange = []; this.dateRange = [];
this.resetForm("queryForm"); this.resetForm("queryForm");
this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order) this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order);
this.handleQuery(); this.handleQuery();
}, },
/** 多选框选中数据 */ /** 多选框选中数据 */
handleSelectionChange(selection) { /* handleSelectionChange(selection) {
this.ids = selection.map(item => item.operId) this.ids = selection.map((item) => item.operId);
this.multiple = !selection.length this.multiple = !selection.length;
}, }, */
/** 排序触发事件 */ /** 排序触发事件 */
handleSortChange(column, prop, order) { /* handleSortChange(column, prop, order) {
this.queryParams.orderByColumn = column.prop; this.queryParams.orderByColumn = column.prop;
this.queryParams.isAsc = column.order; this.queryParams.isAsc = column.order;
this.getList(); this.getList();
}, }, */
/** 详细按钮操作 */ /** 详细按钮操作 */
handleView(row) { handleView(row) {
this.open = true; this.open = true;
this.form = row; this.form = row;
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { /* handleDelete(row) {
const operIds = row.operId || this.ids; const operIds = row.operId || this.ids;
this.$modal.confirm('是否确认删除日志编号为"' + operIds + '"的数据项?').then(function () { this.$modal
return delOperlog(operIds); .confirm('是否确认删除日志编号为"' + operIds + '"的数据项?')
}).then(() => { .then(function () {
this.getList(); return delOperlog(operIds);
this.$modal.msgSuccess("删除成功"); })
}).catch(() => { .then(() => {
}); this.getList();
}, this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
}, */
/** 清空按钮操作 */ /** 清空按钮操作 */
handleClean() { /* handleClean() {
this.$modal.confirm('是否确认清空所有操作日志数据项?').then(function () { this.$modal
return cleanOperlog(); .confirm("是否确认清空所有操作日志数据项?")
}).then(() => { .then(function () {
this.getList(); return cleanOperlog();
this.$modal.msgSuccess("清空成功"); })
}).catch(() => { .then(() => {
}); this.getList();
}, this.$modal.msgSuccess("清空成功");
})
.catch(() => {});
}, */
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { /* handleExport() {
this.download('monitor/operlog/export', { this.download(
...this.queryParams "monitor/operlog/export",
}, `operlog_${new Date().getTime()}.xlsx`) {
} ...this.queryParams,
} },
`operlog_${new Date().getTime()}.xlsx`
);
}, */
},
}; };
</script> </script>

Loading…
Cancel
Save