From 4a800a8fc83c6bd1f86a8e847b079a51a7532c09 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 20 七月 2022 15:05:58 +0800
Subject: [PATCH] 修复国标配置的bug

---
 src/pages/syslog/views/eventPushLog.vue |  313 +++++++++++++++++++++++----------------------------
 1 files changed, 141 insertions(+), 172 deletions(-)

diff --git a/src/pages/syslog/views/eventPushLog.vue b/src/pages/syslog/views/eventPushLog.vue
index 7125ace..3cdb001 100644
--- a/src/pages/syslog/views/eventPushLog.vue
+++ b/src/pages/syslog/views/eventPushLog.vue
@@ -23,18 +23,19 @@
             v-model="fuzzySearch"
             size="small"
             class="input-with-select"
+            @keyup.enter.native="getPushLog(1)"
           >
-            <span
-              class="icon iconfont"
-              @click="getOperationLog(1)"
-              slot="append"
-            >
+            <span class="icon iconfont icon_clear" @click="clearSearch" slot="append" v-if="fuzzySearch">
+              &#xe785;
+            </span>
+            <span class="icon iconfont icon_search" @click="getPushLog(1)" slot="append">
               &#xe714;
             </span>
+
             <!-- <el-button
               slot="append"
               icon="el-icon-search"
-              @click="getOperationLog(1)"
+              @click="getPushLog(1)"
             ></el-button> -->
           </el-input>
         </div>
@@ -43,20 +44,8 @@
         <div class="bar">
           <div class="name">鐘舵�侊細</div>
 
-          <el-select
-            v-model="level"
-            placeholder="璇烽�夋嫨"
-            size="small"
-            @change="levelChange"
-          >
-            <el-option label="鍏ㄩ儴" :value="''"> </el-option>
-            <el-option
-              v-for="item in levelOptions"
-              :key="item.proc_name"
-              :label="item.proc_name"
-              :value="item.proc_name"
-            >
-            </el-option>
+          <el-select v-model="state" placeholder="璇烽�夋嫨" size="small" @change="stateChange">
+            <el-option v-for="(item, i) in stateOptions" :key="i" :label="item.label" :value="item.value"> </el-option>
           </el-select>
         </div>
       </div>
@@ -64,7 +53,6 @@
     <div class="table">
       <el-table
         class="tableBox"
-        @cell-click="clickFaults"
         ref="multipleTable"
         :cell-style="styleFunc"
         highlight-current-row
@@ -72,49 +60,30 @@
         :header-cell-style="{ background: '#f8f8f8', color: '#222222' }"
         style="width: 100%"
         v-if="!showSubTable"
+        border
       >
-        <el-table-column :align="'center'" label="搴忓彿" type="index" width="50">
+        <template slot="empty">
+          <img :src="png1" class="empty_img" alt="" />
+        </template>
+        <el-table-column :align="'center'" label="搴忓彿" type="index" width="50"> </el-table-column>
+        <el-table-column sortable :align="'center'" prop="name" label="浠诲姟鍚嶇О"></el-table-column>
+        <el-table-column :align="'center'" sortable prop="state" label="鐘舵��"></el-table-column>
+        <el-table-column :align="'center'" sortable prop="lastSendDate" label="鏈�杩戜竴娆℃帹閫佹椂闂�"></el-table-column>
+        <el-table-column :align="'center'" prop="lastSendState" label="鏈�杩戜竴娆℃帹閫佺姸鎬�">
+          <template #default="{ row }">
+            <span v-show="row.lastSendState != ''" :style="row.lastSendState === 'true' ? 'color:green' : 'color:red'"
+              >{{ row.lastSendState === "true" ? "鎴愬姛" : "澶辫触" }}
+            </span>
+          </template>
         </el-table-column>
-        <el-table-column
-          :align="'center'"
-          sortable
-          prop="add_time"
-          label="鐘舵��"
-        ></el-table-column>
-        <el-table-column
-          sortable
-          :align="'center'"
-          prop="userName"
-          label="浠诲姟鍚嶇О"
-        ></el-table-column>
-        <el-table-column
-          :align="'center'"
-          sortable
-          prop="module"
-          label="鏈�杩戜竴娆℃帹閫佹椂闂�"
-        ></el-table-column>
-        <el-table-column
-          :align="'center'"
-          prop="procName"
-          label="鏈�杩戜竴娆℃帹閫佺姸鎬�"
-        ></el-table-column>
-        <el-table-column
-          :align="'center'"
-          sortable
-          prop="result"
-          label="鎴愬姛鎬婚噺"
-        ></el-table-column>
-        <el-table-column
-          :align="'center'"
-          prop="msg"
-          min-width="100px"
-          label="澶辫触鎬婚噺"
-        ></el-table-column>
+        <el-table-column :align="'center'" sortable prop="totalSuccess" label="鎴愬姛鎬婚噺"></el-table-column>
+        <el-table-column :align="'center'" prop="totalFailure" label="澶辫触鎬婚噺"></el-table-column>
+        <!-- <el-table-column :align="'center'" prop="totalCached" label="绛夊緟閲嶆帹"></el-table-column> -->
       </el-table>
 
       <div class="back" v-if="showSubTable" @click="showSubTable = false">
         <span class="icon iconfont">&#xe680;</span>
-        <span class="title">浜嬩欢鎺ㄩ�佹棩蹇�</span>
+        <span class="title" style="color: #4e94ff">浜嬩欢鎺ㄩ�佹棩蹇�</span>
       </div>
       <el-table
         class="tableBox"
@@ -125,38 +94,17 @@
         :header-cell-style="{ background: '#f8f8f8', color: '#222222' }"
         style="width: 100%"
         v-if="showSubTable"
+        border
       >
-        <el-table-column :align="'center'" label="搴忓彿" type="index" width="50">
-        </el-table-column>
-        <el-table-column
-          :align="'center'"
-          sortable
-          prop="add_time"
-          label="鎺ㄩ�佹椂闂�"
-        ></el-table-column>
-        <el-table-column
-          sortable
-          :align="'center'"
-          prop="userName"
-          label="鎺ㄩ�佺姸鎬�"
-        ></el-table-column>
-        <el-table-column
-          :align="'center'"
-          sortable
-          prop="module"
-          label="璇︾粏淇℃伅"
-        ></el-table-column>
-        <el-table-column
-          :align="'center'"
-          prop="procName"
-          label="鍐嶆鎺ㄩ�佹椂闂�"
-        ></el-table-column>
-        <el-table-column
-          :align="'center'"
-          sortable
-          prop="result"
-          label="鍐嶆鎺ㄩ�佺姸鎬�"
-        ></el-table-column>
+        <template slot="empty">
+          <img :src="png2" class="empty_img2" alt="" />
+        </template>
+        <el-table-column :align="'center'" label="搴忓彿" type="index" width="50"> </el-table-column>
+        <el-table-column :align="'center'" sortable prop="add_time" label="鎺ㄩ�佹椂闂�"></el-table-column>
+        <el-table-column sortable :align="'center'" prop="userName" label="鎺ㄩ�佺姸鎬�"></el-table-column>
+        <el-table-column :align="'center'" sortable prop="module" label="璇︾粏淇℃伅"></el-table-column>
+        <el-table-column :align="'center'" prop="procName" label="鍐嶆鎺ㄩ�佹椂闂�"></el-table-column>
+        <el-table-column :align="'center'" sortable prop="result" label="鍐嶆鎺ㄩ�佺姸鎬�"></el-table-column>
       </el-table>
     </div>
 
@@ -174,37 +122,34 @@
 </template>
 
 <script>
-import { deleteDate } from "@/api/system";
-import { pad0 } from "@/api/utils";
-import {} from "@/api/log";
+import { pad0 } from "@/api/utils"
+import { queryDataPushLog } from "@/api/log"
 
 export default {
   data() {
     return {
+      png1: "",
+      png2: require("../../../../public/images/syslog/娌℃暟鎹�.png"),
       loading: false,
       loadingText: "",
       showSubTable: false,
-      tableData: [
-        { msg: 2, userName: "杞﹁締璇嗗埆" },
-        { userName: "浜鸿劯璇嗗埆", msg: 4 },
-      ],
+      tableData: [],
       subTableData: [],
       dateArr: ["浠婃棩", "杩戜笁澶�", "杩戜竷澶�", "杩戜竴涓湀", "杩戝叚涓湀"],
-      levelOptions: [],
       hostNameOptions: [],
-      resultOptions: [
+      stateOptions: [
         {
           value: "",
-          label: "鍏ㄩ儴",
+          label: "鍏ㄩ儴"
         },
         {
-          value: "鎴愬姛",
-          label: "鎴愬姛",
+          value: "瀹屾垚",
+          label: "瀹屾垚"
         },
         {
-          value: "澶辫触",
-          label: "澶辫触",
-        },
+          value: "杩涜涓�",
+          label: "杩涜涓�"
+        }
       ],
       value: "",
       page: 1,
@@ -212,107 +157,95 @@
       activeDateChoise: 0,
       hostName: "",
       result: "",
-      level: "",
+      state: "",
       timeStart: "",
       timeEnd: "",
       fuzzySearch: "",
-      total: 0,
-    };
+      total: 0
+    }
   },
   mounted() {
-    this.getTimeRange(24 * 60 * 60 * 1000);
-    // this.getOperationLog();
-    this.getOptions();
+    this.getTimeRange(24 * 60 * 60 * 1000)
+    this.getPushLog()
   },
   methods: {
     styleFunc({ row, column, rowIndex, columnIndex }) {
       if (columnIndex == 6) {
-        return { cursor: "pointer" };
+        return { cursor: "pointer" }
       }
-      return {};
+      return {}
     },
     handleSizeChange(val) {
-      this.pageSize = val;
-      // this.getOperationLog();
+      this.pageSize = val
+      // this.getPushLog();
     },
     handleCurrentChange(val) {
-      this.page = val;
-      // this.getOperationLog();
+      this.page = val
+      // this.getPushLog();
     },
-    levelChange(val) {
-      // this.getOperationLog(1);
-      // this.hostName = "";
-      // getOperations({
-      //   module: this.level,
-      // }).then((res) => {
-      //   this.hostNameOptions = res.data;
-      // });
-    },
-    getOptions() {
-      getModules().then((res) => {
-        this.levelOptions = res.data;
-      });
-    },
-    clickFaults(row, column, cell, event) {
-      this.showSubTable = true;
+    stateChange(val) {
+      this.getPushLog(1)
     },
     choseRange(item, i) {
       switch (item) {
         case "浠婃棩":
-          this.getTimeRange(24 * 60 * 60 * 1000);
-          break;
+          this.getTimeRange(24 * 60 * 60 * 1000)
+          break
         case "杩戜笁澶�":
-          this.getTimeRange(24 * 60 * 60 * 1000 * 3);
-          break;
+          this.getTimeRange(24 * 60 * 60 * 1000 * 3)
+          break
         case "杩戜竷澶�":
-          this.getTimeRange(24 * 60 * 60 * 1000 * 7);
-          break;
+          this.getTimeRange(24 * 60 * 60 * 1000 * 7)
+          break
         case "杩戜竴涓湀":
-          this.getTimeRange(24 * 60 * 60 * 1000 * 30);
-          break;
+          this.getTimeRange(24 * 60 * 60 * 1000 * 30)
+          break
         case "杩戝叚涓湀":
-          this.getTimeRange(24 * 60 * 60 * 1000 * 30 * 6);
-          break;
+          this.getTimeRange(24 * 60 * 60 * 1000 * 30 * 6)
+          break
         default:
-          break;
+          break
       }
-      // this.getOperationLog(1);
-      this.activeDateChoise = i;
+      this.getPushLog(1)
+      this.activeDateChoise = i
     },
-    getOperationLog(typ) {
+    getPushLog(typ) {
       if (typ == 1) {
-        this.page = 1;
+        this.page = 1
       }
-      // queryOperationLog({
-      //   timeStart: this.timeStart,
-      //   timeEnd: this.timeEnd,
-      //   page: this.page,
-      //   pageSize: this.pageSize,
-      //   module: this.level,
-      //   function: this.hostName,
-      //   result: this.result,
-      //   fuzzySearch: this.fuzzySearch,
-      // }).then((res) => {
-      //   this.tableData = res.data.logs;
-      //   this.total = res.data.total;
-      // });
+      queryDataPushLog({
+        timeStart: this.timeStart,
+        timeEnd: this.timeEnd,
+        page: this.page,
+        pageSize: this.pageSize,
+        state: this.state,
+        function: this.hostName,
+        result: this.result,
+        fuzzySearch: this.fuzzySearch
+      }).then((res) => {
+        this.tableData = res.data.logs
+        this.total = res.data.total
+      })
     },
     getTimeStr(date) {
-      var month = pad0(date.getMonth() + 1); //鏈�
-      var day = pad0(date.getDate()); //鏃�
-      var hour = pad0(date.getHours()); //鏃�
-      var minute = pad0(date.getMinutes()); //鍒�
-      var second = pad0(date.getSeconds()); //绉�
-      return `${date.getFullYear()}-${month}-${day} ${hour}:${minute}:${second}`;
+      var month = pad0(date.getMonth() + 1) //鏈�
+      var day = pad0(date.getDate()) //鏃�
+      return `${date.getFullYear()}-${month}-${day}`
     },
     getTimeRange(gap) {
-      var date = new Date(); //褰撳墠鏃堕棿
-      var preDay = new Date(new Date().getTime() - gap);
-      this.timeStart = this.getTimeStr(preDay);
-      this.timeEnd = this.getTimeStr(date);
+      var date = new Date() //褰撳墠鏃堕棿
+      // 璁$畻鍑烘潵鐨勬椂闂翠細澶氫竴澶�, 涓轰簡涓嶄慨鏀逛笂杈圭殑浠g爜, 璁$畻鏃跺鍔犱竴澶�
+      // 淇鏃堕棿浠庤捣濮嬫棩鏈熺殑, 0鐐瑰紑濮嬪埌24鐐圭粨鏉�
+      var preDay = new Date(new Date().getTime() - gap + 24 * 60 * 60 * 1000)
+      this.timeStart = this.getTimeStr(preDay) + " 00:00:00"
+      this.timeEnd = this.getTimeStr(date) + " 23:59:59"
     },
-  },
-};
+    clearSearch() {
+      this.fuzzySearch = ""
+      this.getPushLog(1)
+    }
+  }
+}
 </script>
 <style lang="scss">
 .push-log {
@@ -451,6 +384,14 @@
     border-radius: 5px;
     padding: 12px;
     background-color: white;
+    .empty_img {
+      margin: 80px auto;
+      width: 164px;
+    }
+    .empty_img2 {
+      margin: 50px auto;
+      width: 164px;
+    }
     .back {
       display: flex;
       align-items: center;
@@ -466,15 +407,43 @@
       }
     }
     .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