王旭
2022-10-11 a7b9af3cc54aa0d4bbc9aee2583c88a26090613b
src/views/maintenance/eventlogManage.vue
@@ -3,78 +3,98 @@
    <My-bread
      :list="[
        `${$t('operatManage.operatManage')}`,
        `${$t('operatManage.eventlogManage')}`,
        `${$t('operatManage.ResourceLog')}`,
      ]"
    ></My-bread>
    <el-divider />
    <div class="inquire">
      <el-form ref="ruleForm" :model="form" :inline="true">
        <el-form-item :label="$t('operatManage.ELM.username')" prop="username">
      <el-form ref="formData2" :model="form" :inline="true">
        <el-form-item
          :label="$t('operatManage.operationLogObj.username')"
          prop="uname"
        >
          <el-input
            v-model="form.username"
            :placeholder="$t('operatManage.ELM.usernameInfo')"
            v-model="form.uname"
            :placeholder="$t('operatManage.operationLogObj.pleaseInput')"
          />
        </el-form-item>
        <el-form-item
          :label="$t('operatManage.ELM.ownedSystem')"
          prop="ownedSystem"
          :label="$t('operatManage.operationLogObj.operationType')"
          prop="type"
        >
          <el-select
            v-model="form.ownedSystem"
            :placeholder="$t('operatManage.ELM.please')"
            clearable
            v-model="form.type"
            :placeholder="$t('operatManage.operationLogObj.pleaseSelect')"
          >
            <el-option :label="$t('operatManage.ELM.all')" value="all" />
            <el-option :label="$t('operatManage.ELM.one')" value="one" />
            <el-option
              :label="$t('operatManage.operationLogObj.check')"
              value="1"
            />
            <el-option
              :label="$t('operatManage.operationLogObj.added')"
              value="2"
            />
            <el-option
              :label="$t('operatManage.operationLogObj.modification')"
              value="3"
            />
            <el-option
              :label="$t('operatManage.operationLogObj.delete')"
              value="4"
            />
            <el-option
              :label="$t('operatManage.operationLogObj.uploading')"
              value="5"
            />
            <el-option
              :label="$t('operatManage.operationLogObj.download')"
              value="6"
            />
          </el-select>
        </el-form-item>
        <el-form-item
          :label="$t('operatManage.ELM.operationType')"
          prop="operationType"
          prop="start"
          :label="$t('operatManage.operationLogObj.startTime')"
        >
          <el-select
            v-model="form.operationType"
            :placeholder="$t('operatManage.ELM.please')"
          >
            <el-option :label="$t('operatManage.ELM.all')" value="all" />
            <el-option :label="$t('operatManage.ELM.add')" value="add" />
            <el-option :label="$t('operatManage.ELM.delete')" value="delete" />
            <el-option :label="$t('operatManage.ELM.edit')" value="edit" />
            <el-option :label="$t('operatManage.ELM.query')" value="query" />
          </el-select>
        </el-form-item>
        <el-form-item :label="$t('operatManage.ELM.date')" prop="date">
          <el-date-picker
            v-model="form.date"
            type="daterange"
            align="right"
            unlink-panels
            :range-separator="$t('operatManage.ELM.to')"
            :start-placeholder="$t('operatManage.ELM.startDate')"
            :end-placeholder="$t('operatManage.ELM.endDate')"
            format="yyyy-MM-dd HH:mm:ss"
            value-format="yyyy-MM-dd HH:mm:ss"
            v-model="form.start"
            style="width: 100%"
            type="datetime"
            :placeholder="$t('operatManage.operationLogObj.optionDate')"
          >
          </el-date-picker>
        </el-form-item>
        <el-form-item :label="$t('operatManage.ELM.ip')" prop="requestIp">
          <el-input v-model="form.requestIp" placeholder="请输入" />
        <el-form-item
          prop="end"
          :label="$t('operatManage.operationLogObj.endTime')"
        >
          <el-date-picker
            format="yyyy-MM-dd HH:mm:ss"
            value-format="yyyy-MM-dd HH:mm:ss"
            v-model="form.end"
            style="width: 100%"
            type="datetime"
            :placeholder="$t('operatManage.operationLogObj.optionDate')"
          >
          </el-date-picker>
        </el-form-item>
        <el-form-item>
          <el-button @click="onSubmit"
            ><i class="el-icon-search"></i> &nbsp;{{
              $t("operatManage.ELM.search")
            }}</el-button
          >
        </el-form-item>
        <el-form-item>
          <el-button @click="resetForm('ruleForm')"
            ><i class="el-icon-delete"></i>&nbsp;{{
              $t("operatManage.ELM.reset")
            }}</el-button
          >
          <el-button @click="onSubmit" icon="el-icon-search">{{
            $t("operatManage.operationLogObj.inquire")
          }}</el-button>
          <el-button @click="onEmpty('formData2')" icon="el-icon-delete">{{
            $t("operatManage.operationLogObj.empty")
          }}</el-button>
        </el-form-item>
      </el-form>
    </div>
    <div class="table_box">
      <el-table :data="tableData" stripe style="width: 100%" height="99%">
      <el-table :data="tableData" stripe style="width: 100%" height="85%">
        <el-table-column
          align="center"
          type="index"
@@ -83,7 +103,7 @@
        />
        <el-table-column
          align="center"
          prop="username"
          prop="uname"
          :label="$t('operatManage.ELM.username')"
        />
        <el-table-column
@@ -91,34 +111,22 @@
          prop="ip"
          :label="$t('operatManage.ELM.ip')"
        />
        <el-table-column
          align="center"
          prop="ownedSystem"
          :label="$t('operatManage.ELM.ownedSystem')"
        />
        <el-table-column
          align="center"
          prop="largeModuleName"
          :label="$t('operatManage.ELM.largeModuleName')"
        />
        <el-table-column
          align="center"
          prop="smallModuleName"
          :label="$t('operatManage.ELM.smallModuleName')"
        />
        <el-table-column
          align="center"
          prop="resourceName"
          prop="resid"
          :label="$t('operatManage.ELM.resourceName')"
        />
        <el-table-column
          :formatter="formatData"
          align="center"
          prop="date"
          prop="optime"
          :label="$t('operatManage.ELM.date')"
        />
        <el-table-column
          :formatter="formatType"
          align="center"
          prop="operationType"
          prop="type"
          :label="$t('operatManage.ELM.operationType')"
        />
      </el-table>
@@ -126,11 +134,11 @@
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="currentPage"
          :current-page="listData.pageIndex"
          :page-sizes="[10, 20, 30, 40]"
          :page-size="10"
          :page-size="listData.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="9"
          :total="count"
        >
        </el-pagination>
      </div>
@@ -140,7 +148,7 @@
<script>
import MyBread from "../../components/MyBread.vue";
import { resOpSelectByPageAndCount } from "../../api/api";
export default {
  //import引入的组件需要注入到对象中才能使用
  components: {
@@ -150,122 +158,111 @@
  data() {
    return {
      currentPage: 1,
      form: {
        username: "",
        ownedSystem: "",
        requestIp: "",
        operationType: "",
        date: "",
      form: {},
      tableData: [],
      listData: {
        pageIndex: 1,
        pageSize: 10,
      },
      tableData: [
        {
          username: "管理员",
          ip: "221.182.31.12",
          date: "2022-08-05",
          ownedSystem: "",
          largeModuleName: "运维监控",
          smallModuleName: "资源操作日志",
          resourceName: "",
          operationType: "查询",
        },
        {
          date: "2022-08-05",
          username: "管理员",
          ownedSystem: "",
          largeModuleName: "运维监控",
          smallModuleName: "资源操作日志",
          resourceName: "",
          operationType: "查询",
          ip: "221.182.31.12",
        },
        {
          date: "2022-08-05",
          username: "管理员",
          ownedSystem: "",
          largeModuleName: "运维监控",
          smallModuleName: "资源操作日志",
          resourceName: "",
          operationType: "查询",
          ip: "221.182.31.12",
        },
        {
          date: "2022-08-05",
          username: "管理员",
          ownedSystem: "",
          largeModuleName: "运维监控",
          smallModuleName: "资源操作日志",
          resourceName: "",
          operationType: "查询",
          ip: "221.182.31.12",
        },
        {
          date: "2022-08-05",
          username: "管理员",
          ownedSystem: "",
          largeModuleName: "运维监控",
          smallModuleName: "资源操作日志",
          resourceName: "",
          operationType: "查询",
          ip: "221.182.31.12",
        },
        {
          date: "2022-08-05",
          username: "管理员",
          ownedSystem: "",
          largeModuleName: "运维监控",
          smallModuleName: "资源操作日志",
          resourceName: "",
          operationType: "查询",
          ip: "221.182.31.12",
        },
        {
          date: "2022-08-05",
          username: "管理员",
          ownedSystem: "",
          largeModuleName: "运维监控",
          smallModuleName: "资源操作日志",
          resourceName: "",
          operationType: "查询",
          ip: "221.182.31.12",
        },
        {
          date: "2022-08-05",
          username: "管理员",
          ownedSystem: "",
          largeModuleName: "运维监控",
          smallModuleName: "资源操作日志",
          resourceName: "",
          operationType: "查询",
          ip: "221.182.31.12",
        },
        {
          date: "2022-08-05",
          username: "管理员",
          ownedSystem: "",
          largeModuleName: "运维监控",
          smallModuleName: "资源操作日志",
          resourceName: "",
          operationType: "查询",
          ip: "221.182.31.12",
        },
      ],
      count: 0,
    };
  },
  methods: {
    //格式化时间
    add0(m) {
      return m < 10 ? "0" + m : m;
    },
    //格式化时间
    format(shijianchuo) {
      //shijianchuo是整数,否则要parseInt转换
      var time = new Date(shijianchuo);
      var y = time.getFullYear();
      var m = time.getMonth() + 1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return (
        y + "-" + this.add0(m) + "-" + this.add0(d)
        // " " +
        // this.add0(h) +
        // ":" +
        // this.add0(mm) +
        // ":" +
        // this.add0(s)
      );
    },
    //格式化列表
    formatData(row, column) {
      let data = row[column.property];
      if (data == null) {
        return data;
      }
      return this.format(data);
    },
    //格式化类别
    formatType(row, column) {
      let data;
      switch (row[column.property]) {
        case 0:
          data = "其它";
          break;
        case 1:
          data = "查看";
          break;
        case 2:
          data = "新增";
          break;
        case 3:
          data = "修改";
          break;
        case 4:
          data = "删除";
          break;
        case 5:
          data = "上传";
          break;
        case 6:
          data = "下载";
          break;
      }
      return data;
    },
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`);
      this.listData.pageSize = val;
      this.getList();
    },
    handleCurrentChange(val) {
      console.log(`当前页: ${val}`);
      this.listData.pageIndex = val;
      this.getList();
    },
    onSubmit() {
      console.log("submit!");
      this.listData = { ...this.listData, ...this.form };
      //  console.log(this.listData)
      this.getList();
    },
    onEmpty(formData1) {
      this.$refs[formData1].resetFields(); //重置表单数据
      // this.form = {}
      this.form.start = null;
      this.form.end = null;
    },
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    async getList() {
      const data = await resOpSelectByPageAndCount(this.listData);
      console.log(data);
      if (data.code != 200) {
        return this.$message.error("列表调用失败");
      }
      this.tableData = data.result;
      this.count = data.count;
    },
  },
  created() {},
  created() {
    this.getList();
  },
};
</script>
<style lang="less" scoped>
@@ -293,7 +290,8 @@
    }
  }
  .table_box {
    height: 65%;
   overflow: auto;
    height: 70%;
    padding: 10px;
    background: #fff;
    border-radius: 5px;