| | |
| | | <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" |
| | |
| | | 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" |
| | |
| | | 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 |
| | |
| | | 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 { |
| | |
| | | box-sizing: border-box; |
| | | .top { |
| | | width: 100%; |
| | | |
| | | |
| | | margin-bottom: 20px; |
| | | overflow-y: auto; |
| | | min-width: 1156px; |