From 8e40a69fcfe8bc799fee141fec953a2b0892dbd4 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期一, 09 十月 2023 15:54:26 +0800
Subject: [PATCH] 修改wifi扫描的交互
---
src/pages/syslog/views/eventPushLog.vue | 400 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 216 insertions(+), 184 deletions(-)
diff --git a/src/pages/syslog/views/eventPushLog.vue b/src/pages/syslog/views/eventPushLog.vue
index 1807b80..3cdb001 100644
--- a/src/pages/syslog/views/eventPushLog.vue
+++ b/src/pages/syslog/views/eventPushLog.vue
@@ -23,12 +23,20 @@
v-model="fuzzySearch"
size="small"
class="input-with-select"
+ @keyup.enter.native="getPushLog(1)"
>
- <el-button
+ <span class="icon iconfont icon_clear" @click="clearSearch" slot="append" v-if="fuzzySearch">
+ 
+ </span>
+ <span class="icon iconfont icon_search" @click="getPushLog(1)" slot="append">
+ 
+ </span>
+
+ <!-- <el-button
slot="append"
icon="el-icon-search"
- @click="getOperationLog(1)"
- ></el-button>
+ @click="getPushLog(1)"
+ ></el-button> -->
</el-input>
</div>
</div>
@@ -36,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>
@@ -57,7 +53,6 @@
<div class="table">
<el-table
class="tableBox"
- @cell-click="clickFaults"
ref="multipleTable"
:cell-style="styleFunc"
highlight-current-row
@@ -65,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"></span>
- <span class="title">浜嬩欢鎺ㄩ�佹棩蹇�</span>
+ <span class="title" style="color: #4e94ff">浜嬩欢鎺ㄩ�佹棩蹇�</span>
</div>
<el-table
class="tableBox"
@@ -118,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>
@@ -167,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,
@@ -205,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 {
@@ -318,14 +258,15 @@
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;
@@ -333,52 +274,107 @@
.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;
+
+ .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;
}
}
}
@@ -388,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;
@@ -403,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