From 5bd66255ccd4e995337b9039094964d2677db4cc Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 22 二月 2022 17:19:06 +0800 Subject: [PATCH] 完善日志监控模块, 需要配合valog-server使用 --- src/pages/syslog/index/App.vue | 208 ++++++++++++++++++---------------------- src/api/log.ts | 49 +++++---- 2 files changed, 122 insertions(+), 135 deletions(-) diff --git a/src/api/log.ts b/src/api/log.ts index 603edc8..c1d29a8 100644 --- a/src/api/log.ts +++ b/src/api/log.ts @@ -1,35 +1,42 @@ -import request from "@/scripts/httpRequest"; - +import request from "@/scripts/httpRequest" // /data/api-v// - export const queryOperationLog = (data: any) => { - return request({ - url: "/data/api-v/log/queryOperationLog", - method: "post", - data - }) + return request({ + url: "/data/api-v/log/queryOperationLog", + method: "post", + data + }) } export const getOperations = (query: any) => { - return request({ - url: "/data/api-v/log/operations", - method: "get", + return request({ + url: "/data/api-v/log/operations", + method: "get", params: query - }) + }) } export const getModules = (query: any) => { - return request({ - url: "/data/api-v/log/modules", - method: "get", + return request({ + url: "/data/api-v/log/modules", + method: "get", params: query - }) + }) } + export const queryScheduleLog = (data: any) => { - return request({ - url: "/data/api-v/log/queryScheduleLog", - method: "post", - data - }) + return request({ + url: "/data/api-v/log/queryScheduleLog", + method: "post", + data + }) +} + +export const querySystemLog = (data: any) => { + return request({ + url: "/data/api-l/vasystemLogs", + method: "post", + data + }) } diff --git a/src/pages/syslog/index/App.vue b/src/pages/syslog/index/App.vue index e9e8c79..be427c5 100644 --- a/src/pages/syslog/index/App.vue +++ b/src/pages/syslog/index/App.vue @@ -2,7 +2,7 @@ <div class="s-log-management"> <div class="top"> <!-- <b>鏃ュ織绫诲瀷:</b> - <el-select v-model="logValue" placeholder="璇烽�夋嫨" size="small"> + <el-select v-model="logLevel" placeholder="璇烽�夋嫨" size="small"> <el-option v-for="item in logOptions" :key="item.value" @@ -18,25 +18,12 @@ range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" + value-format="yyyy-MM-dd HH:mm:ss" style="width: 244px;" ></el-date-picker> - <b>妯″潡:</b> - <el-select v-model="logValue" placeholder="璇烽�夋嫨" size="mini"> - <el-option - v-for="item in logOptions" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - <b>鍔熻兘:</b> - <el-select v-model="logValue" placeholder="璇烽�夋嫨" size="mini"> - <el-option - v-for="item in logOptions" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> + <b>鏃ュ織绾у埆:</b> + <el-select v-model="logLevel" placeholder="璇烽�夋嫨" size="mini"> + <el-option v-for="item in logOptions" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-select> <el-input v-model="searchValue" @@ -45,9 +32,9 @@ style="width: 150px;margin: 0px 10px;" size="mini" ></el-input> - <el-button type="primary" size="mini">鎼滅储</el-button> - <el-button type="danger" size="mini" @click="delSelected">鎵归噺鍒犻櫎</el-button> - <el-button type="text" size="mini" style="font-size: 13px;font-weight: 600;">瀵煎嚭</el-button> + <el-button type="primary" size="mini" @click="getVaSystemLog">鎼滅储</el-button> + <!-- <el-button type="danger" size="mini" @click="delSelected">鎵归噺鍒犻櫎</el-button> --> + <!-- <el-button type="text" size="mini" style="font-size: 13px;font-weight: 600;">瀵煎嚭</el-button> --> </div> <div class="foot-table s-table"> <el-table @@ -55,123 +42,116 @@ highlight-current-row :data="tableData" style="width: 100%" - :header-cell-style="{background:'#f8f8f8',color:'#222222'}" + :header-cell-style="{ background: '#f8f8f8', color: '#222222' }" @selection-change="handleSelectionChange" > - <el-table-column type="selection" width="55"></el-table-column> - <el-table-column :align="'center'" sortable prop="index" label="搴忓彿"></el-table-column> - <el-table-column :align="'center'" sortable prop="logtype" label="鏃ュ織绫诲瀷"></el-table-column> - <el-table-column :align="'center'" sortable prop="username" label="鐢ㄦ埛鍚�"></el-table-column> - <el-table-column :align="'center'" sortable prop="ipaddress" label="IP鍦板潃"></el-table-column> - <el-table-column :align="'center'" sortable prop="operation" label="鎿嶄綔鍔熻兘"></el-table-column> - <el-table-column :align="'center'" sortable prop="operatetime" label="鎿嶄綔鏃堕棿"></el-table-column> - <el-table-column :align="'center'" sortable prop="operateinfo" label="鎿嶄綔淇℃伅"></el-table-column> - <el-table-column label="鎿嶄綔" :align="'center'"> + <el-table-column :align="'center'" prop="createDate" label="鍒涘缓鏃ユ湡" width="200px"></el-table-column> + <el-table-column :align="'center'" prop="procName" label="鏃ュ織妯″潡" width="100px"></el-table-column> + <el-table-column :align="'center'" prop="level" label="鏃ュ織绛夌骇" width="100px"> <template slot-scope="scope"> - <el-button - type="text" - style="color: red;font-size:16px" - @click="handleDelete(scope.$index, scope.row)" - icon="el-icon-delete" - ></el-button> + <span>{{ scope.row.level | leverFilter }}</span> </template> </el-table-column> + <el-table-column :align="'left'" prop="info" label="鏃ュ織鍐呭"></el-table-column> </el-table> </div> + + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="page" + :page-sizes="[15, 30, 50, 100]" + :page-size="15" + layout="total, sizes, prev, pager, next, jumper" + :total="total" + > + </el-pagination> </div> </template> <script> +import { querySystemLog } from "@/api/log" +let logLevels = [ + { + value: -1, + label: "鍏ㄩ儴" + }, + { + value: 0, + label: "閿欒" + }, + { + value: 1, + label: "璀﹀憡" + }, + { + value: 2, + label: "淇℃伅" + } +] export default { data() { return { - tableData: [ - { - index: "1", - logtype: "寮傚父", - username: "admin", - ipaddress: "192.168.10.110", - operation: "娣诲姞鎽勫儚鏈�", - operatetime: "2019-5-31 16:38:21", - operateinfo: "娣诲姞鎿嶄綔" - }, - { - index: "2", - logtype: "淇℃伅", - username: "admin", - ipaddress: "192.168.10.108", - operation: "鍒犻櫎鎽勫儚鏈�", - operatetime: "2019-5-31 16:38:21", - operateinfo: "娣诲姞鎿嶄綔" - }, - { - index: "3", - logtype: "鎿嶄綔", - username: "admin", - ipaddress: "192.168.10.110", - operation: "娣诲姞鎽勫儚鏈�", - operatetime: "2019-5-31 16:38:21", - operateinfo: "娣诲姞鎿嶄綔" - }, - { - index: "4", - logtype: "寮傚父", - username: "admin", - ipaddress: "192.168.10.110", - operation: "娣诲姞鎽勫儚鏈�", - operatetime: "2019-5-31 16:38:21", - operateinfo: "娣诲姞鎿嶄綔" - }, - { - index: "5", - logtype: "寮傚父", - username: "admin", - ipaddress: "192.168.10.110", - operation: "鍒犻櫎鎽勫儚鏈�", - operatetime: "2019-5-31 16:38:21", - operateinfo: "娣诲姞鎿嶄綔" - }, - { - index: "6", - logtype: "寮傚父", - username: "admin", - ipaddress: "192.168.10.110", - operation: "娣诲姞鎽勫儚鏈�", - operatetime: "2019-5-31 16:38:21", - operateinfo: "娣诲姞鎿嶄綔" - } - ], + tableData: [], multipleSelection: [], - logOptions: [ - { - value: "鍏ㄩ儴绫诲瀷", - label: "鍏ㄩ儴绫诲瀷" - }, - { - value: "鍏朵粬绫诲瀷", - label: "鍏朵粬绫诲瀷" + logOptions: logLevels, + logLevel: -1, + timeValue: "", + searchValue: "", + page: 1, + pageSize: 15, + total: 0 + } + }, + filters: { + leverFilter(val) { + for (let i = 0; i < logLevels.length; i++) { + if (val == logLevels[i].value) { + return logLevels[i].label } - ], - logValue: "鍏ㄩ儴绫诲瀷", - timeValue: [ - new Date(2000, 10, 10, 10, 10), - new Date(2000, 10, 11, 10, 10) - ], - searchValue: "" - }; + } + } + }, + mounted() { + this.getVaSystemLog() }, methods: { handleDelete(index, row) { - console.log(index, row); + console.log(index, row) }, handleSelectionChange(val) { - this.multipleSelection = val; + this.multipleSelection = val }, delSelected() { - console.log(this.multipleSelection); + console.log(this.multipleSelection) + }, + handleSizeChange(val) { + this.pageSize = val + this.getVaSystemLog() + }, + handleCurrentChange(val) { + this.page = val + this.getVaSystemLog() + }, + getVaSystemLog() { + let body = { + FuzzySearch: this.searchValue, + level: this.logLevel, + page: this.page, + pageSize: this.pageSize + } + if (!!this.timeValue && this.timeValue.length == 2) { + body.timeStart = this.timeValue[0] + body.timeEnd = this.timeValue[1] + } + + querySystemLog(body).then((res) => { + this.tableData = res.data.list + this.total = res.data.total + }) } } -}; +} </script> <style lang="scss"> .s-log-management { @@ -181,7 +161,7 @@ box-sizing: border-box; .top { width: 100%; - + margin-bottom: 20px; overflow-y: auto; min-width: 1156px; -- Gitblit v1.8.0