功能变化(日志管理):操作列增加详细按钮;封装formDialog组件用作显示详细信息;
parent
7525e6cf2c
commit
9c5a931e6d
|
@ -0,0 +1,77 @@
|
|||
<template>
|
||||
<el-dialog :title="dialogTitle"
|
||||
:visible="openDetailModal"
|
||||
:width="modalWidth"
|
||||
@close="closeDetailFormDialog"
|
||||
append-to-body
|
||||
>
|
||||
<el-form ref="form"
|
||||
:model="formData"
|
||||
:label-width="labelWidth"
|
||||
:size="formSize"
|
||||
|
||||
>
|
||||
<el-row>
|
||||
<template v-for="item in formItem">
|
||||
<el-col :span="item.singleLine? 24:12">
|
||||
<el-form-item :label="`${item.label}:`" :key="item.index" >
|
||||
<template v-if="item.customRender">
|
||||
<slot :name="item.key" :item="item"></slot>
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ parseFormItemContent(item) }}
|
||||
</template>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="closeDetailFormDialog">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { parseTime } from '../../utils/ruoyi'
|
||||
|
||||
const labelTypeToFunction = {
|
||||
time: (item, formData) => {
|
||||
return parseTime(formData[item.key])
|
||||
},
|
||||
boolean: (item, formData) => {
|
||||
return item.labelChoices[formData[item.key]]
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
name: 'DetailFormDialog',
|
||||
props: {
|
||||
dialogTitle: { type: String, required: true },
|
||||
openDetailModal: { type: Boolean, required: true },
|
||||
modalWidth: { type: String, default: '720px' },
|
||||
labelWidth: { type: String, default: '100px' },
|
||||
formSize: { type: String, default: 'mini' },
|
||||
formData: { type: Object, default: {} },
|
||||
formItem: { type: Array, default: [] }
|
||||
},
|
||||
methods: {
|
||||
parseFormItemContent(item) {
|
||||
let labelType = item.labelType
|
||||
if (labelType) {
|
||||
return labelTypeToFunction[labelType](item, this.formData)
|
||||
} else {
|
||||
return this.formData[item.key]
|
||||
}
|
||||
},
|
||||
closeDetailFormDialog() {
|
||||
this.$emit('closeDialog', false)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
|
@ -105,6 +105,18 @@
|
|||
<span>{{ parseTime(scope.row.create_datetime) }}</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-view"
|
||||
@click="handleView(scope.row,scope.index)"
|
||||
v-hasPermi="['admin:system:celerylog:get']"
|
||||
>详细
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
|
@ -114,14 +126,79 @@
|
|||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 表单类详情dialog-->
|
||||
<detail-form-dialog v-if="openDetailModal"
|
||||
dialog-title="定时日志详细"
|
||||
modalWidth="700px"
|
||||
:openDetailModal="openDetailModal"
|
||||
:formData="form"
|
||||
:formItem="formItem"
|
||||
@closeDialog="value=>{openDetailModal=value}"
|
||||
></detail-form-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { list, delCeleryLog, cleanCeleryLog, exportCeleryLog } from "@/api/vadmin/monitor/celery";
|
||||
import DetailFormDialog from '@/components/Modal/DetailFormDialog'
|
||||
|
||||
const CELERY_LOG_FORM_ITEM = [
|
||||
{
|
||||
index: 1,
|
||||
label: '日志编号',
|
||||
key: 'id'
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
label: '任务名称',
|
||||
key: 'name'
|
||||
},
|
||||
{
|
||||
index: 3,
|
||||
label: '执行函数名称',
|
||||
key: 'func_name',
|
||||
width: "auto"
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
label: '执行参数',
|
||||
key: 'kwargs',
|
||||
singleLine: true
|
||||
},
|
||||
{
|
||||
index: 5,
|
||||
label: '执行时间',
|
||||
key: 'seconds'
|
||||
},
|
||||
{
|
||||
index: 6,
|
||||
label: '运行状态',
|
||||
key: 'status',
|
||||
labelType: 'boolean',
|
||||
labelChoices: {
|
||||
false: '失败',
|
||||
true: '正常'
|
||||
}
|
||||
},
|
||||
{
|
||||
index: 7,
|
||||
label: '任务结果',
|
||||
key: 'result',
|
||||
singleLine: true
|
||||
},
|
||||
{
|
||||
index: 8,
|
||||
label: '执行日期',
|
||||
key: 'create_datetime',
|
||||
labelType: 'time',
|
||||
singleLine: true
|
||||
}
|
||||
];
|
||||
|
||||
export default {
|
||||
name: "CeleryLog",
|
||||
components: { DetailFormDialog },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
|
@ -135,12 +212,15 @@ export default {
|
|||
// 总条数
|
||||
total: 0,
|
||||
// 表格数据
|
||||
// 是否显示详细模态框
|
||||
openDetailModal: false,
|
||||
list: [],
|
||||
// 状态数据字典
|
||||
statusOptions:[{dictLabel: '成功', dictValue: true}, {dictLabel: '失败', dictValue: false}],
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
form: {},
|
||||
formItem: CELERY_LOG_FORM_ITEM,
|
||||
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
|
@ -191,6 +271,13 @@ export default {
|
|||
this.ids = selection.map(item => item.id)
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
|
||||
/** 详细按钮操作 */
|
||||
handleView(row) {
|
||||
this.openDetailModal = true
|
||||
this.form = row
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const infoIds = row.id || this.ids;
|
||||
|
|
|
@ -66,7 +66,8 @@
|
|||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['admin:system:logininfor:{id}:delete']"
|
||||
>删除</el-button>
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
|
@ -76,7 +77,8 @@
|
|||
size="mini"
|
||||
@click="handleClean"
|
||||
v-hasPermi="['admin:system:logininfor:clean:delete']"
|
||||
>清空</el-button>
|
||||
>清空
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
|
@ -86,7 +88,8 @@
|
|||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['admin:system:logininfor:export:get']"
|
||||
>导出</el-button>
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
@ -106,6 +109,18 @@
|
|||
<span>{{ parseTime(scope.row.create_datetime) }}</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-view"
|
||||
@click="handleView(scope.row,scope.index)"
|
||||
v-hasPermi="['admin:system:logininfor:get']"
|
||||
>详细
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
|
@ -115,14 +130,84 @@
|
|||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 表单类详情dialog-->
|
||||
<detail-form-dialog v-if="openDetailModal"
|
||||
dialog-title="登录日志详细"
|
||||
modalWidth="700px"
|
||||
:openDetailModal="openDetailModal"
|
||||
:formData="form"
|
||||
:formItem="formItem"
|
||||
@closeDialog="value=>{openDetailModal=value}"
|
||||
>
|
||||
</detail-form-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { list, delLogininfor, cleanLogininfor, exportLogininfor } from "@/api/vadmin/monitor/logininfor";
|
||||
import { list, delLogininfor, cleanLogininfor, exportLogininfor } from '@/api/vadmin/monitor/logininfor'
|
||||
import DetailFormDialog from '@/components/Modal/DetailFormDialog'
|
||||
|
||||
const LOGIN_FORM_ITEM = [
|
||||
{
|
||||
index: 1,
|
||||
label: '访问编号',
|
||||
key: 'id'
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
label: '用户名称',
|
||||
key: 'creator_name',
|
||||
},
|
||||
{
|
||||
index: 3,
|
||||
label: '登录地址',
|
||||
key: 'ipaddr'
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
label: '登录地点',
|
||||
key: 'loginLocation'
|
||||
},
|
||||
{
|
||||
index: 5,
|
||||
label: '浏览器',
|
||||
key: 'browser'
|
||||
},
|
||||
{
|
||||
index: 6,
|
||||
label: '操作系统',
|
||||
key: 'browser'
|
||||
},
|
||||
{
|
||||
index: 7,
|
||||
label: '操作信息',
|
||||
key: 'os'
|
||||
},
|
||||
{
|
||||
index: 8,
|
||||
label: '登录状态',
|
||||
key: 'status',
|
||||
labelType: 'boolean',
|
||||
labelChoices: {
|
||||
false: '失败',
|
||||
true: '正常'
|
||||
}
|
||||
},
|
||||
{
|
||||
index: 9,
|
||||
label: '登录日期',
|
||||
key: 'create_datetime',
|
||||
labelType: 'time',
|
||||
singleLine: true
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
export default {
|
||||
name: "Logininfor",
|
||||
name: 'Logininfor',
|
||||
components: { DetailFormDialog },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
|
@ -137,11 +222,14 @@ export default {
|
|||
total: 0,
|
||||
// 表格数据
|
||||
list: [],
|
||||
// 是否显示弹出层
|
||||
openDetailModal: false,
|
||||
// 状态数据字典
|
||||
statusOptions: [{ dictLabel: '成功', dictValue: true }, { dictLabel: '失败', dictValue: false }],
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
form: {},
|
||||
formItem: LOGIN_FORM_ITEM,
|
||||
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
|
@ -151,10 +239,10 @@ export default {
|
|||
userName: undefined,
|
||||
status: undefined
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getList()
|
||||
// this.getDicts("sys_common_status").then(response => {
|
||||
// this.statusOptions = response.data;
|
||||
// });
|
||||
|
@ -163,76 +251,83 @@ export default {
|
|||
|
||||
/** 查询登录日志列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.loading = true
|
||||
list(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
||||
this.list = response.data.results;
|
||||
this.total = response.data.count;
|
||||
this.loading = false;
|
||||
this.list = response.data.results
|
||||
this.total = response.data.count
|
||||
this.loading = false
|
||||
}
|
||||
);
|
||||
)
|
||||
},
|
||||
// 登录状态字典翻译
|
||||
statusFormat(row, column) {
|
||||
return this.selectDictLabel(this.statusOptions, row.status);
|
||||
return this.selectDictLabel(this.statusOptions, row.status)
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.queryParams.pageNum = 1
|
||||
console.log(this.queryParams)
|
||||
this.getList();
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
this.dateRange = []
|
||||
this.resetForm('queryForm')
|
||||
this.handleQuery()
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
|
||||
/** 详细按钮操作 */
|
||||
handleView(row) {
|
||||
this.openDetailModal = true
|
||||
this.form = row
|
||||
},
|
||||
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const infoIds = row.id || this.ids;
|
||||
this.$confirm('是否确认删除访问编号为"' + infoIds + '"的数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
const infoIds = row.id || this.ids
|
||||
this.$confirm('是否确认删除访问编号为"' + infoIds + '"的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(function() {
|
||||
return delLogininfor(infoIds);
|
||||
return delLogininfor(infoIds)
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
this.getList()
|
||||
this.msgSuccess('删除成功')
|
||||
})
|
||||
},
|
||||
/** 清空按钮操作 */
|
||||
handleClean() {
|
||||
this.$confirm('是否确认清空所有登录日志数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
this.$confirm('是否确认清空所有登录日志数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(function() {
|
||||
return cleanLogininfor();
|
||||
return cleanLogininfor()
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("清空成功");
|
||||
this.getList()
|
||||
this.msgSuccess('清空成功')
|
||||
})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
const queryParams = this.queryParams;
|
||||
this.$confirm('是否确认导出所有操作日志数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
const queryParams = this.queryParams
|
||||
this.$confirm('是否确认导出所有操作日志数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(function() {
|
||||
return exportLogininfor(queryParams);
|
||||
return exportLogininfor(queryParams)
|
||||
}).then(response => {
|
||||
this.download(response.data.file_url,response.data.name);
|
||||
this.download(response.data.file_url, response.data.name)
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -66,7 +66,8 @@
|
|||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['admin:system:operation_log:{id}:delete']"
|
||||
>删除</el-button>
|
||||
>删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
|
@ -76,7 +77,8 @@
|
|||
size="mini"
|
||||
@click="handleClean"
|
||||
v-hasPermi="['admin:system:operation_log:clean:delete']"
|
||||
>清空</el-button>
|
||||
>清空
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
|
@ -86,7 +88,8 @@
|
|||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['admin:system:operlog:export:get']"
|
||||
>导出</el-button>
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
@ -113,7 +116,8 @@
|
|||
icon="el-icon-view"
|
||||
@click="handleView(scope.row,scope.index)"
|
||||
v-hasPermi="['admin:system:operlog:get']"
|
||||
>详细</el-button>
|
||||
>详细
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -127,54 +131,94 @@
|
|||
/>
|
||||
|
||||
<!-- 操作日志详细 -->
|
||||
<el-dialog title="操作日志详细" :visible.sync="open" width="700px" append-to-body>
|
||||
<el-form ref="form" :model="form" label-width="100px" size="mini">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="操作模块:">{{ form.request_modular }} / {{ form.request_msg }}</el-form-item>
|
||||
<el-form-item
|
||||
label="登录信息:"
|
||||
>{{ form.creator_name }} / {{ form.request_ip }} / {{ form.request_location }} / {{ form.request_browser }}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="请求地址:">{{ form.request_path }}</el-form-item>
|
||||
<el-form-item label="请求方式:">{{ form.request_method }}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="请求参数:">{{ form.request_body }}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="返回参数:">{{ form.json_result }}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="返回状态码:">{{ form.response_code }}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="操作状态:">
|
||||
<div v-if="form.status === true">正常</div>
|
||||
<div v-else-if="form.status === false">失败</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="操作时间:">{{ parseTime(form.create_datetime) }}</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="24">-->
|
||||
<!-- <el-form-item label="异常信息:" v-if="form.status === false">{{ form.json_result }}</el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="open = false">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 表单类详情dialog-->
|
||||
<detail-form-dialog v-if="openDetailModal"
|
||||
dialog-title="操作日志详细"
|
||||
modalWidth="700px"
|
||||
:openDetailModal="openDetailModal"
|
||||
:formData="form"
|
||||
:formItem="formItem"
|
||||
@closeDialog="value=>{openDetailModal=value}"
|
||||
>
|
||||
<template slot="customRequestModular" slot-scope="{item}">
|
||||
<span>{{connectFieldsContent([form.request_modular, form.request_msg], '/') }}</span>
|
||||
</template>
|
||||
<template slot="customLoginInfo" slot-scope="{item}">
|
||||
<span>{{connectFieldsContent([form.creator_name, form.request_ip, form.request_location, form.request_browser], '/')}}</span>
|
||||
</template>
|
||||
</detail-form-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {cleanOperationLog, delOperationLog, exportOperationLog, list} from "@/api/vadmin/system/operationlog";
|
||||
import { cleanOperationLog, delOperationLog, exportOperationLog, list } from '@/api/vadmin/system/operationlog'
|
||||
import DetailFormDialog from '@/components/Modal/DetailFormDialog'
|
||||
import log from '../job/log'
|
||||
|
||||
const OPERATION_LOG_FORM_ITEM = [
|
||||
{
|
||||
index: 1,
|
||||
label: '操作模块',
|
||||
key: 'customRequestModular',
|
||||
customRender: true,
|
||||
singleLine: true
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
label: '登录信息',
|
||||
key: 'customLoginInfo',
|
||||
customRender: true,
|
||||
singleLine: true
|
||||
},
|
||||
{
|
||||
index: 3,
|
||||
label: '请求地址',
|
||||
key: 'request_path'
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
label: '请求参数',
|
||||
key: 'request_body',
|
||||
singleLine: true
|
||||
},
|
||||
{
|
||||
index: 5,
|
||||
label: '返回参数',
|
||||
key: 'json_result'
|
||||
},
|
||||
{
|
||||
index: 6,
|
||||
label: '返回状态码',
|
||||
key: 'response_code'
|
||||
},
|
||||
{
|
||||
index: 7,
|
||||
label: '操作状态',
|
||||
key: 'status',
|
||||
labelType: 'boolean',
|
||||
labelChoices: {
|
||||
false: '失败',
|
||||
true: '正常'
|
||||
}
|
||||
},
|
||||
{
|
||||
index: 8,
|
||||
label: '任务结果',
|
||||
key: 'result',
|
||||
singleLine: true
|
||||
},
|
||||
{
|
||||
index: 9,
|
||||
label: '操作时间',
|
||||
key: 'create_datetime',
|
||||
labelType: 'time',
|
||||
singleLine: true
|
||||
}
|
||||
]
|
||||
|
||||
export default {
|
||||
name: "Operlog",
|
||||
name: 'Operlog',
|
||||
components: { DetailFormDialog },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
|
@ -190,13 +234,14 @@
|
|||
// 表格数据
|
||||
list: [],
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
openDetailModal: false,
|
||||
// 类型数据字典
|
||||
statusOptions: [{ dictLabel: '成功', dictValue: true }, { dictLabel: '失败', dictValue: false }],
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 表单参数
|
||||
form: {},
|
||||
formItem: OPERATION_LOG_FORM_ITEM,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
|
@ -205,36 +250,36 @@
|
|||
creator_name: undefined,
|
||||
status: undefined
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
/** 查询登录日志 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.loading = true
|
||||
list(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
||||
this.list = response.data.results;
|
||||
this.total = response.data.count;
|
||||
this.loading = false;
|
||||
this.list = response.data.results
|
||||
this.total = response.data.count
|
||||
this.loading = false
|
||||
}
|
||||
);
|
||||
)
|
||||
},
|
||||
// 操作日志状态字典翻译
|
||||
statusFormat(row, column) {
|
||||
return this.selectDictLabel(this.statusOptions, row.status);
|
||||
return this.selectDictLabel(this.statusOptions, row.status)
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
this.dateRange = []
|
||||
this.resetForm('queryForm')
|
||||
this.handleQuery()
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
|
@ -243,50 +288,58 @@
|
|||
},
|
||||
/** 详细按钮操作 */
|
||||
handleView(row) {
|
||||
this.open = true;
|
||||
this.form = row;
|
||||
this.openDetailModal = true
|
||||
this.form = row
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$confirm('是否确认删除日志编号为"' + ids + '"的数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
const ids = row.id || this.ids
|
||||
this.$confirm('是否确认删除日志编号为"' + ids + '"的数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(function() {
|
||||
return delOperationLog(ids);
|
||||
return delOperationLog(ids)
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
this.getList()
|
||||
this.msgSuccess('删除成功')
|
||||
})
|
||||
},
|
||||
/** 清空按钮操作 */
|
||||
handleClean() {
|
||||
this.$confirm('是否确认清空所有操作日志数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
this.$confirm('是否确认清空所有操作日志数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(function() {
|
||||
return cleanOperationLog();
|
||||
return cleanOperationLog()
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("清空成功");
|
||||
this.getList()
|
||||
this.msgSuccess('清空成功')
|
||||
})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
const queryParams = this.queryParams;
|
||||
this.$confirm('是否确认导出所有操作日志数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
const queryParams = this.queryParams
|
||||
this.$confirm('是否确认导出所有操作日志数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(function() {
|
||||
return exportOperationLog(queryParams);
|
||||
return exportOperationLog(queryParams)
|
||||
}).then(response => {
|
||||
this.download(response.data.file_url,response.data.name);
|
||||
this.download(response.data.file_url, response.data.name)
|
||||
})
|
||||
},
|
||||
connectFieldsContent(fieldsContent, symbol) {
|
||||
fieldsContent.forEach((fieldContent, index) => {
|
||||
if (!fieldContent) {
|
||||
delete fieldsContent[index]
|
||||
}
|
||||
})
|
||||
return fieldsContent.join(symbol)
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
|
Loading…
Reference in New Issue