| | |
| | | <template> |
| | | <div class="logLog_box"> |
| | | <My-bread :list="['运维管理', '操作日志']"></My-bread> |
| | | <My-bread |
| | | :list="[ |
| | | `${$t('operatManage.operatManage')}`, |
| | | `${$t('operatManage.logLog')}`, |
| | | ]" |
| | | ></My-bread> |
| | | <el-divider /> |
| | | <div class="inquire"> |
| | | <div class="herder_box"> |
| | | {{ $t('operatManage.operationLogObj.queryRegion') }} |
| | | </div> |
| | | <el-form ref="formData1" :model="form" :inline="true"> |
| | | <el-form-item label="登录地址" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请输入" /> |
| | | <el-form-item |
| | | :label="$t('operatManage.operationLogObj.username')" |
| | | prop="uname" |
| | | > |
| | | <el-input |
| | | v-model="form.uname" |
| | | :placeholder="$t('operatManage.operationLogObj.pleaseInput')" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="登录名称" prop="jurisdiction"> |
| | | <el-input v-model="form.jurisdiction" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item label="登录状态" prop="region"> |
| | | <el-select v-model="form.region" placeholder="请选择"> |
| | | <el-option label="Zone one" value="shanghai" /> |
| | | <el-option label="Zone two" value="beijing" /> |
| | | |
| | | <el-form-item |
| | | :label="$t('operatManage.operationLogObj.operationType')" |
| | | prop="type" |
| | | > |
| | | <el-select |
| | | clearable |
| | | v-model="form.type" |
| | | :placeholder="$t('operatManage.operationLogObj.pleaseSelect')" |
| | | > |
| | | <el-option :label="$t('loglog.login')" value="1" /> |
| | | <el-option :label="$t('loglog.checkout')" value="2" /> |
| | | <el-option :label="$t('loglog.logout')" value="3" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="登录时间"> |
| | | <el-col :span="11"> |
| | | <el-date-picker |
| | | type="date" |
| | | placeholder="选择日期" |
| | | v-model="form.date1" |
| | | style="width: 100%" |
| | | ></el-date-picker> |
| | | </el-col> |
| | | <el-col class="line text-center" :span="2">-</el-col> |
| | | <el-col :span="11"> |
| | | <el-time-picker |
| | | placeholder="选择时间" |
| | | v-model="form.date2" |
| | | style="width: 100%" |
| | | ></el-time-picker> |
| | | </el-col> |
| | | <el-form-item |
| | | prop="start" |
| | | :label="$t('operatManage.operationLogObj.startTime')" |
| | | > |
| | | <el-date-picker |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | v-model="form.start" |
| | | style="width: 100%" |
| | | type="datetime" |
| | | :placeholder="$t('operatManage.operationLogObj.optionDate')" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="end" |
| | | :label="$t('operatManage.operationLogObj.endTime')" |
| | | > |
| | | <el-date-picker |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | v-model="form.end" |
| | | style="width: 100%" |
| | | type="datetime" |
| | | :placeholder="$t('operatManage.operationLogObj.optionDate')" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button @click="onSubmit">查询</el-button> |
| | | <el-button @click="onSubmit" icon="el-icon-search">{{ |
| | | $t('operatManage.operationLogObj.inquire') |
| | | }}</el-button> |
| | | <el-button @click="onEmpty('formData1')" icon="el-icon-delete">{{ |
| | | $t('operatManage.operationLogObj.empty') |
| | | }}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="btn_box"> |
| | | <el-button>添加</el-button> |
| | | <el-button>修改</el-button> |
| | | <el-button>导出</el-button> |
| | | <el-button>清空</el-button> |
| | | |
| | | </div> |
| | | </div> |
| | | <!-- 表格显示 --> |
| | | <div class="table_box"> |
| | | <el-table :data="tableData" stripe style="width: 100%"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column prop="Accessnumber" label="访问编号" /> |
| | | <el-table-column prop="name" label="登录名称" /> |
| | | <el-table-column prop="ip" label="登录地址" /> |
| | | <el-table-column prop="loginaddress" label="登录地点" /> |
| | | <el-table-column prop="browser" label="浏览器" /> |
| | | <el-table-column prop="operatingsystem" label="操作系统" /> |
| | | <el-table-column prop="state" label="操作状态" /> |
| | | <el-table-column prop="operatinginformation" label="操作信息" /> |
| | | <el-table-column prop="date" label="登录时间" /> |
| | | <el-table-column fixed="right" label="操作" width="100"> |
| | | <template #default> |
| | | <el-button type="primary" size="small">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table :data="tableData" stripe style="width: 100%" height="85%"> |
| | | <el-table-column |
| | | width="150" |
| | | type="index" |
| | | :label="$t('loglog.serialnumber')" |
| | | /> |
| | | <el-table-column prop="uname" :label="$t('loglog.username')" /> |
| | | <el-table-column |
| | | prop="appid" |
| | | :label="$t('loglog.applicationProgram')" |
| | | :formatter="formatAppid" |
| | | /> |
| | | <el-table-column prop="ip" :label="$t('loglog.ipadress')" /> |
| | | <el-table-column prop="descr" :label="$t('loglog.describe')" /> |
| | | <el-table-column |
| | | prop="optime" |
| | | :formatter="formatData" |
| | | :label="$t('loglog.operationtime')" |
| | | /> |
| | | <el-table-column |
| | | prop="type" |
| | | :formatter="formatType" |
| | | :label="$t('loglog.operationtype')" |
| | | /> |
| | | <el-table-column |
| | | prop="status" |
| | | :formatter="formatStatus" |
| | | :label="$t('loglog.operationStatus')" |
| | | /> |
| | | </el-table> |
| | | <!-- 分页 --> |
| | | <div style="margin-top: 40px" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage4" |
| | | :current-page="listData.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="10" |
| | | :page-size="listData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="9" |
| | | :total="count" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { loginSelectByPageAndCount } from '../../api/api'; |
| | | export default { |
| | | //import引入的组件需要注入到对象中才能使用 |
| | | components: { |
| | |
| | | data() { |
| | | return { |
| | | currentPage4: 1, |
| | | form: { |
| | | name: "", |
| | | region: "", |
| | | jurisdiction: "", |
| | | form: {}, |
| | | tableData: [], |
| | | listData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }, |
| | | tableData: [ |
| | | { |
| | | date: "2022-08-05", |
| | | name: "admin", |
| | | Accessnumber: "1", |
| | | loginaddress: "北京市", |
| | | browser: "chrome", |
| | | operatingsystem: "windows10", |
| | | state: "成功", |
| | | operatinginformation: "登录成功", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | name: "admin", |
| | | Accessnumber: "1", |
| | | loginaddress: "北京市", |
| | | browser: "IE11", |
| | | operatingsystem: "windows10", |
| | | state: "成功", |
| | | operatinginformation: "登录成功", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | name: "admin", |
| | | Accessnumber: "1", |
| | | loginaddress: "北京市", |
| | | browser: "chrome", |
| | | operatingsystem: "windows10", |
| | | state: "成功", |
| | | operatinginformation: "登录成功", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | name: "admin", |
| | | Accessnumber: "1", |
| | | loginaddress: "北京市", |
| | | browser: "chrome", |
| | | operatingsystem: "windows10", |
| | | state: "成功", |
| | | operatinginformation: "登录成功", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | name: "admin", |
| | | Accessnumber: "1", |
| | | loginaddress: "北京市", |
| | | browser: "chrome", |
| | | operatingsystem: "windows10", |
| | | state: "成功", |
| | | operatinginformation: "登录成功", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | name: "admin", |
| | | Accessnumber: "1", |
| | | loginaddress: "北京市", |
| | | browser: "IE11", |
| | | operatingsystem: "windows10", |
| | | state: "成功", |
| | | operatinginformation: "登录成功", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | name: "admin", |
| | | Accessnumber: "1", |
| | | loginaddress: "北京市", |
| | | browser: "chrome", |
| | | operatingsystem: "windows10", |
| | | state: "成功", |
| | | operatinginformation: "登录成功", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | name: "admin", |
| | | Accessnumber: "1", |
| | | loginaddress: "北京市", |
| | | browser: "chrome", |
| | | operatingsystem: "windows10", |
| | | state: "成功", |
| | | operatinginformation: "登录成功", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | name: "admin", |
| | | Accessnumber: "1", |
| | | loginaddress: "北京市", |
| | | browser: "IE11", |
| | | operatingsystem: "windows10", |
| | | state: "成功", |
| | | operatinginformation: "登录成功", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | ], |
| | | count: 0, |
| | | }; |
| | | }, |
| | | methods: { |
| | | //格式化列表 |
| | | formatType(row, column) { |
| | | let data; |
| | | switch (row[column.property]) { |
| | | case 1: |
| | | data = '登录'; |
| | | break; |
| | | case 2: |
| | | data = '校验'; |
| | | break; |
| | | case 3: |
| | | data = '登出'; |
| | | break; |
| | | } |
| | | return data; |
| | | }, |
| | | formatStatus(row, column) { |
| | | let data; |
| | | switch (row[column.property]) { |
| | | case 1: |
| | | data = '成功'; |
| | | break; |
| | | case 0: |
| | | data = '失败'; |
| | | break; |
| | | } |
| | | return data; |
| | | }, |
| | | formatAppid(row, column) { |
| | | let data; |
| | | switch (row[column.property]) { |
| | | case 1: |
| | | data = '管道基础大数据平台'; |
| | | break; |
| | | case 2: |
| | | data = '外部系统集成'; |
| | | break; |
| | | } |
| | | return data; |
| | | }, |
| | | //格式化时间 |
| | | add0(m) { |
| | | return m < 10 ? '0' + m : m; |
| | | }, |
| | | //格式化时间 |
| | | format(shijianchuo) { |
| | | //shijianchuo是整数,否则要parseInt转换 |
| | | var time = new Date(shijianchuo); |
| | | var y = time.getFullYear(); |
| | | var m = time.getMonth() + 1; |
| | | var d = time.getDate(); |
| | | var h = time.getHours(); |
| | | var mm = time.getMinutes(); |
| | | var s = time.getSeconds(); |
| | | return ( |
| | | y + '-' + this.add0(m) + '-' + this.add0(d) |
| | | // " " + |
| | | // this.add0(h) + |
| | | // ":" + |
| | | // this.add0(mm) + |
| | | // ":" + |
| | | // this.add0(s) |
| | | ); |
| | | }, |
| | | //格式化列表 |
| | | formatData(row, column) { |
| | | let data = row[column.property]; |
| | | if (data == null) { |
| | | return data; |
| | | } |
| | | return this.format(data); |
| | | }, |
| | | handleSizeChange(val) { |
| | | console.log(`每页 ${val} 条`); |
| | | this.listData.pageSize = val; |
| | | this.getList(); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | console.log(`当前页: ${val}`); |
| | | this.listData.pageIndex = val; |
| | | this.getList(); |
| | | }, |
| | | onSubmit() { |
| | | console.log("submit!"); |
| | | this.listData = { ...this.listData, ...this.form }; |
| | | // console.log(this.listData) |
| | | this.getList(); |
| | | }, |
| | | onEmpty(formData1) { |
| | | this.$refs[formData1].resetFields(); //重置表单数据 |
| | | // this.form = {}; |
| | | this.form.start = null; |
| | | this.form.end = null; |
| | | }, |
| | | async getList() { |
| | | const data = await loginSelectByPageAndCount(this.listData); |
| | | |
| | | if (data.code != 200) { |
| | | return this.$message.error('列表调用失败'); |
| | | } |
| | | this.tableData = data.result; |
| | | this.count = data.count; |
| | | }, |
| | | }, |
| | | created() {}, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | // this.showPermsMenu(permsEntity[i]); |
| | | console.log(permsEntity[i].tag); |
| | | } |
| | | } |
| | | this.getList(); |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | |
| | | border-radius: 5px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | margin-bottom: 20px; |
| | | .herder_box { |
| | | padding: 10px; |
| | | border-bottom: 1px solid #ccc; |
| | | margin-bottom: 20px; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | .table_box { |
| | | padding: 10px; |
| | | background: #fff; |
| | | border-radius: 5px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | overflow: auto; |
| | | height: 70%; |
| | | } |
| | | .text-center { |
| | | text-align: center; |