|
|
@@ -1,100 +1,13 @@
|
|
|
<template>
|
|
|
- <div class="system-container layout-padding">
|
|
|
- <el-card shadow="hover" class="layout-padding-auto">
|
|
|
- <div class="system-user-search mb15">
|
|
|
- <ext-query-form ref="queryRef" v-model="state.formQuery" :columns="state.columns" @on-change="loadData(true)"/>
|
|
|
- </div>
|
|
|
|
|
|
- <ext-table
|
|
|
- :height="state.tableData.height"
|
|
|
- :data-list="state.tableData.data"
|
|
|
- :columns="state.columns"
|
|
|
- :border="true"
|
|
|
- :loading="state.tableData.loading">
|
|
|
- </ext-table>
|
|
|
-
|
|
|
- <ext-page v-model:value="state.pageQuery" @change="loadData(false)"/>
|
|
|
- </el-card>
|
|
|
- </div>
|
|
|
</template>
|
|
|
|
|
|
-<script setup lang="ts" name="optLog">
|
|
|
-import {reactive, onMounted,nextTick,ref} from 'vue';
|
|
|
-import ExtPage from '/@/components/form/ExtPage.vue'
|
|
|
-import {$body} from "/@/utils/request";
|
|
|
-import u from '/@/utils/u'
|
|
|
-import ExtQueryForm from "/@/components/form/ExtQueryForm.vue";
|
|
|
-import ExtTable from "/@/components/form/ExtTable.vue";
|
|
|
-
|
|
|
-const queryRef = ref();
|
|
|
-// 定义变量内容
|
|
|
-const state = reactive({
|
|
|
- tableData: {
|
|
|
- data: [],
|
|
|
- total: 0,
|
|
|
- loading: false,
|
|
|
- height:600
|
|
|
- },
|
|
|
- formQuery: {
|
|
|
- nickName: null
|
|
|
- },
|
|
|
- pageQuery: {
|
|
|
- pageIndex: 1,
|
|
|
- pageSize: 20,
|
|
|
- total: 0
|
|
|
- },
|
|
|
- columns: [
|
|
|
- {label: '操作人', width: 100, query: true, prop: 'userName', type: 'text',fixed: 'left'},
|
|
|
- {label: '操作时间', width: 180, query: true, prop: 'createAt', type: 'date', conf: {format: (val: any) => u.fmt.fmtDateTime(val)}},
|
|
|
- {label: '操作实体', prop: 'model', query: true, type: 'text'},
|
|
|
- {label: '操作IP', prop: 'ip', type: 'text', query: false},
|
|
|
- {label: '操作接口', prop: 'method', query: true, type: 'text'},
|
|
|
- {label: '操作描述', prop: 'title', query: true, type: 'text'},
|
|
|
- {label: '结果描述', prop: 'result', query: true, type: 'dict', width:120,conf: {dict: 'Result.status'}, fixed: 'right'},
|
|
|
- ] as Array<any>
|
|
|
-});
|
|
|
-
|
|
|
-// 初始化表格数据
|
|
|
-const loadData = (refresh: boolean = false) => {
|
|
|
- if (refresh) {
|
|
|
- state.pageQuery.pageIndex = 1;
|
|
|
- }
|
|
|
- state.tableData.loading = true;
|
|
|
- $body(`/opLog/list`, {...state.formQuery, ...state.pageQuery}).then((res: any) => {
|
|
|
- let {list, count} = res;
|
|
|
- state.tableData.data = list;
|
|
|
- state.tableData.loading = false;
|
|
|
- state.pageQuery.total = count;
|
|
|
- }).catch(e => {
|
|
|
- console.error(e)
|
|
|
- state.tableData.loading = false;
|
|
|
- })
|
|
|
-};
|
|
|
-
|
|
|
-
|
|
|
-// 页面加载时
|
|
|
-onMounted(() => {
|
|
|
- loadData();
|
|
|
-
|
|
|
- nextTick(() => {
|
|
|
- let bodyHeight = document.body.clientHeight;
|
|
|
- let queryHeight = queryRef.value.$el.clientHeight;
|
|
|
- state.tableData.height = bodyHeight - queryHeight - 220
|
|
|
- })
|
|
|
-});
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ name: "index"
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
-<style scoped lang="scss">
|
|
|
-.system-container {
|
|
|
- :deep(.el-card__body) {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- flex: 1;
|
|
|
- overflow: auto;
|
|
|
+<style scoped>
|
|
|
|
|
|
- .el-table {
|
|
|
- flex: 1;
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-</style>
|
|
|
+</style>
|