From 4ff29e301de38488db0ff04f0209c99e37cf30b4 Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期二, 07 十二月 2021 18:56:34 +0800
Subject: [PATCH] 对比库管理

---
 src/pages/syslog/views/operationLog.vue |  197 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 166 insertions(+), 31 deletions(-)

diff --git a/src/pages/syslog/views/operationLog.vue b/src/pages/syslog/views/operationLog.vue
index 44325d5..d5d2dc2 100644
--- a/src/pages/syslog/views/operationLog.vue
+++ b/src/pages/syslog/views/operationLog.vue
@@ -23,12 +23,30 @@
             v-model="fuzzySearch"
             size="small"
             class="input-with-select"
+            @keyup.enter.native="getOperationLog(1)"
           >
-            <el-button
+            <span
+              class="icon iconfont icon_clear"
+              @click="clearSearch"
+              slot="append"
+              v-if="fuzzySearch"
+            >
+              &#xe785;
+            </span>
+            <span
+              class="icon iconfont icon_search"
+              @click="getOperationLog(1)"
+              slot="append"
+              v-else
+            >
+              &#xe714;
+            </span>
+
+            <!-- <el-button
               slot="append"
               icon="el-icon-search"
               @click="getOperationLog(1)"
-            ></el-button>
+            ></el-button> -->
           </el-input>
         </div>
       </div>
@@ -44,8 +62,8 @@
           >
             <el-option label="鍏ㄩ儴" :value="''"> </el-option>
             <el-option
-              v-for="item in moduleOptions"
-              :key="item.proc_name"
+              v-for="(item, i) in moduleOptions"
+              :key="i"
               :label="item.proc_name"
               :value="item.proc_name"
             >
@@ -63,8 +81,8 @@
           >
             <!-- :disabled="gongnengOptions.length==0" -->
             <el-option
-              v-for="item in gongnengOptions"
-              :key="item.name"
+              v-for="(item, i) in gongnengOptions"
+              :key="i"
               :label="item.name"
               :value="item.name"
             >
@@ -80,8 +98,8 @@
             @change="getOperationLog(1)"
           >
             <el-option
-              v-for="item in resultOptions"
-              :key="item.value"
+              v-for="(item, i) in resultOptions"
+              :key="i"
               :label="item.label"
               :value="item.value"
             >
@@ -98,7 +116,11 @@
         :data="tableData"
         :header-cell-style="{ background: '#f8f8f8', color: '#222222' }"
         style="width: 100%"
+        border
       >
+        <template slot="empty">
+          <img :src="png" class="empty_img" alt="" />
+        </template>
         <el-table-column :align="'center'" label="搴忓彿" type="index" width="50">
         </el-table-column>
         <el-table-column
@@ -165,8 +187,10 @@
 import { queryOperationLog, getOperations, getModules } from "@/api/log";
 
 export default {
+  name: "operationLog",
   data() {
     return {
+      png: "",
       loading: false,
       loadingText: "",
       input3: "",
@@ -202,7 +226,7 @@
     };
   },
   mounted() {
-    this.getTimeRange(24 * 60 * 60 * 1000);
+    this.getTimeRange();
     this.getOperationLog();
     this.getOptions();
   },
@@ -226,13 +250,25 @@
     },
     getOptions() {
       getModules().then((res) => {
+        const indexArr = [];
+        res.data.forEach((item, index) => {
+          if (item.proc_name == "") {
+            indexArr.push(index);
+          }
+        });
+        if (indexArr.length != 0) {
+          indexArr.forEach((i) => {
+            res.data.splice(i);
+          });
+        }
         this.moduleOptions = res.data;
+        console.log(this.moduleOptions);
       });
     },
     choseRange(item, i) {
       switch (item) {
         case "浠婃棩":
-          this.getTimeRange(24 * 60 * 60 * 1000);
+          this.getTimeRange();
           break;
         case "杩戜笁澶�":
           this.getTimeRange(24 * 60 * 60 * 1000 * 3);
@@ -253,8 +289,8 @@
       this.activeDateChoise = i;
     },
     getOperationLog(typ) {
-      if (typ==1) {
-        this.page=1
+      if (typ == 1) {
+        this.page = 1;
       }
       queryOperationLog({
         timeStart: this.timeStart,
@@ -268,6 +304,7 @@
       }).then((res) => {
         this.tableData = res.data.logs;
         this.total = res.data.total;
+        this.png = require("../../../../public/images/syslog/娌℃暟鎹�.png");
       });
     },
     getTimeStr(date) {
@@ -279,10 +316,15 @@
       return `${date.getFullYear()}-${month}-${day} ${hour}:${minute}:${second}`;
     },
     getTimeRange(gap) {
-      var date = new Date(); //褰撳墠鏃堕棿
-      var preDay = new Date(new Date().getTime() - gap);
+      var preDay;
+      preDay = gap
+        ? new Date(new Date().getTime() - gap)
+        : new Date(new Date().setHours(0, 0, 0, 0));
       this.timeStart = this.getTimeStr(preDay);
-      this.timeEnd = this.getTimeStr(date);
+    },
+    clearSearch() {
+      this.fuzzySearch = "";
+      this.getOperationLog(1);
     },
   },
 };
@@ -290,21 +332,23 @@
 <style lang="scss">
 .op-log {
   margin: 0 auto;
-  padding: 10px 8px 10px 5px;
-  background-color: rgba(248, 248, 248, 1);
+  padding: 0px 8px 10px 5px;
+  border-top: 1px solid #e1e0e6;
+  background-color: rgba(242, 242, 247, 1);
   width: 100%;
   display: flex;
   flex-direction: column;
   overflow: auto;
   .top {
-    height: 100px;
+    height: 132px;
     background: #fff;
     border-radius: 5px;
     .first {
       display: flex;
       justify-content: space-between;
+      align-items: center;
       height: 45px;
-      padding: 0 20px;
+      padding: 20px 20px 0 20px;
       .time-option {
         display: flex;
         justify-content: space-between;
@@ -312,51 +356,111 @@
         .title {
           margin-right: 10px;
           min-width: fit-content;
-          font-size: 14px;
+          font-weight: bold;
+          font-size: 12px;
         }
         .opts {
           display: flex;
           justify-content: space-between;
           .opt {
+            box-sizing: border-box;
+            border: 2px solid #efeff6;
             min-width: fit-content;
-            width: 50px;
-            height: 32px;
+            width: 100px;
+            height: 36px;
             padding: 0 15px;
             border-radius: 4px;
             cursor: pointer;
-            margin-right: 10px;
+            margin-right: 2px;
             line-height: 32px;
-            font-size: 14px;
+            font-size: 12px;
+            color: #333;
           }
           .opt:hover {
-            background-color: rgba(61, 104, 225, 1);
-            color: #fff;
+            border-color: #4e94ff;
           }
           .opt-active {
             color: #fff;
-            background-color: rgba(61, 104, 225, 1);
+            background-color: #4e94ff;
+            border-color: #4e94ff;
           }
         }
       }
       .search {
+        width: 280px;
+        height: 36px;
         display: flex;
         align-items: center;
+
+        .icon_clear:hover {
+          color: #4e94ff;
+        }
+
+        .input-with-select {
+          width: 100%;
+          height: 100%;
+
+          input {
+            height: 100%;
+            border-radius: 18px 0 0 18px;
+            border: 2px solid #f2f2f7;
+            border-right: none;
+
+            &:focus,
+            &:focus + .el-input-group__append {
+              border-color: #409eff;
+            }
+          }
+
+          .el-input-group__append {
+            transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+            background-color: #fff;
+            border: 2px solid #f2f2f7;
+            border-radius: 0 18px 18px 0;
+            border-left: none;
+          }
+        }
+
+        span {
+          cursor: pointer;
+          color: rgb(47, 45, 61);
+          font-weight: 700;
+          font-size: 19px;
+        }
       }
     }
     .second {
       display: flex;
-      margin: 10px 0;
+      margin: 15px 0 20px 0;
       padding: 0 20px;
       .bar {
         display: flex;
         align-items: baseline;
         width: fit-content;
-        margin-right: 20px;
+        margin-right: 30px;
         min-width: 120px;
+
+        .el-select {
+          width: 200px;
+          height: 36px;
+
+          .el-input {
+            width: 100%;
+            height: 100%;
+
+            input {
+              width: 100%;
+              height: 100%;
+              border: 2px solid #f2f2f7;
+              border-radius: 20px;
+            }
+          }
+        }
         .name {
-          margin-right: 5px;
+          margin-right: 15px;
           min-width: fit-content;
-          font-size: 14px;
+          font-weight: bold;
+          font-size: 12px;
         }
       }
     }
@@ -366,16 +470,47 @@
     border-radius: 5px;
     padding: 12px;
     background-color: white;
+    .empty_img {
+      margin: 80px auto;
+      width: 164px;
+    }
     .tableBox {
+      border: none;
+      &::before,
+      &::after {
+        display: none;
+      }
+      tr {
+        td:first-child {
+          border-radius: 4px 0 0 4px;
+        }
+        td:last-child {
+          border-radius: 0 4px 4px 0;
+        }
+        &.current-row td {
+          background-color: #4e94ff !important;
+          color: #fff;
+        }
+        &:hover td {
+          background-color: rgb(242, 242, 247);
+        }
+      }
       th {
         padding: 0 !important;
         height: 40px;
         line-height: 40px;
+        border-color: #fff !important;
+        border-right: 2px solid #fff;
+        border-radius: 4px;
+        font-size: 12px;
+        background: #f2f2f7;
       }
       td {
         padding: 0 !important;
         height: 34px;
         line-height: 34px;
+        border: none;
+        font-size: 12px;
       }
     }
   }

--
Gitblit v1.8.0