研发图纸文件管理系统-前端项目
he wei
2022-07-20 416cb3c2dff6e3bec01fe17b3faad9f0f182c58f
UA 日志
1个文件已添加
1个文件已修改
204 ■■■■■ 已修改文件
src/pages/system/logs/apis.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/system/logs/list.vue 180 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/system/logs/apis.js
New file
@@ -0,0 +1,24 @@
import axios from "@/assets/axios";
/**
 * 查询所有日志
 * @returns
 */
export const getAllLogs = (params, data) => {
  return axios({
    method: "POST",
    url: "docLog/searchLog",
    params,
    data
  })
}
/**
 * 查询所有操作类型
 * @returns
 */
export const getOperate = () => {
  return axios({
    method: "GET",
    url: "docLog/getOperate",
  })
}
src/pages/system/logs/list.vue
@@ -1,32 +1,172 @@
<template>
  <div class="">
日志
  </div>
  <a-card>
    <div>
      <!-- title="用户列表" -->
      <advance-table
        :columns="columns"
        :data-source="dataSource"
        :loading="loading"
        title="日志"
        rowKey="id"
        @search="onSearch"
        @refresh="onRefresh"
        :format-conditions="true"
        @reset="onReset"
        :pagination="{
          current: pageCurr,
          pageSize: pageSize,
          total: total,
          showSizeChanger: true,
          showLessItems: true,
          showQuickJumper: true,
          showTotal: (total, range) =>
            `第 ${range[0]}-${range[1]} 条,总计 ${total} 条`,
          onChange: onPageChange,
          onShowSizeChange: onSizeChange,
        }"
      >
      </advance-table>
    </div>
  </a-card>
</template>
<script>
import AdvanceTable from "@/components/table/advance/AdvanceTable";
import { getAllLogs, getOperate } from "./apis";
export default {
  name: ''
  name: "",
  ,data () {
  data() {
    return {
      loading: false,
      pageCurr: 1,
      pageSize: 10,
      total: 0,
      userData: undefined,
      columns: [
        {
          title: "操作人",
          dataIndex: "name",
          searchAble: true,
        },
        {
          title: "操作时间",
          searchAble: true,
          dataIndex: "oprateDay",
        },
        {
          title: "操作类别",
          dataIndex: "operationTypeStr",
          searchAble: true,
          dataType: "select",
          search: {
            selectOptions: [],
          },
        },
        {
          title: "描述",
          dataIndex: "oprateMsg",
          noSearch: true,
        },
      ],
      dataSource: [],
      conditions: {},
    };
  },
  components: {
    AdvanceTable,
  },
  methods: {
    getList() {
      this.loading = true;
      const { pageCurr, pageSize, conditions } = this;
      let params = {};
      Object.keys(conditions).forEach((v) => {
        switch (v) {
          case 'operationTypeStr':
            params['oprateType'] = conditions[v];
            break;
          case 'drole,roleName':
            params['roleId'] = conditions[v];
            break;
          default:
            params[v] = conditions[v];
            break;
        }
      });
      getAllLogs({ pageCurr, pageSize }, params).then((res) => {
        // console.log(res);
        res = res.data;
        let data = [];
        let total = 0;
        this.loading = false;
        if (res.code && res.data) {
          data = res.data2.list;
          total = res.data2.total;
        }
        this.dataSource = data;
        this.total = total;
      });
    },
    onSearch(conditions, searchOptions) {
      // console.log(conditions, searchOptions);
      this.pageCurr = 1;
      this.conditions = conditions;
      this.getList();
    },
    onSizeChange(current, size) {
      this.pageCurr = 1;
      this.pageSize = size;
      this.getList();
    },
    onRefresh(conditions) {
      // console.log('refresh', conditions)
      this.conditions = conditions;
      this.getList();
    },
    onReset(conditions) {
      // console.log('reset', conditions)
      this.conditions = conditions;
      this.getList();
    },
    onPageChange(page, pageSize) {
      this.pageCurr = page;
      this.pageSize = pageSize;
      this.getList();
    },
    setColSelectOptions (title, arr) {
      for (let i = this.columns.length; i--;) {
        let item = this.columns[i];
        if(item.title == title) {
          item.search.selectOptions = arr;
          break;
        }
      }
    },
    getOperate() {
      getOperate().then((res) => {
        res = res.data;
        // console.log(res)
        let data = [];
        if (res.code && res.data) {
          data = res.data2.map((v) => {
            return {
              title: v.typeName,
              value: v.type,
            };
          });
        }
        this.setColSelectOptions('操作类别', data);
      });
    },
  },
    }
  }
  ,components: {
  }
  ,methods: {
  }
  ,mounted () {
  }
}
  mounted() {
    this.getOperate();
    this.getList();
  },
};
</script>
<style scoped>
</style>