| | |
| | | ></My-bread> |
| | | <el-divider /> |
| | | <el-tabs v-model="activeName" @tab-click="handleClick"> |
| | | <el-tab-pane |
| | | :label="$t('operatManage.BWL.blackList')" |
| | | :name="$t('operatManage.BWL.blackList')" |
| | | > |
| | | <el-tab-pane :label="$t('operatManage.BWL.blackList')" name="first"> |
| | | <div class="inquire"> |
| | | <el-form ref="ruleForm" :model="form" :inline="true"> |
| | | <el-form-item |
| | |
| | | > |
| | | <el-input |
| | | v-model="form.blackListIP" |
| | | :placeholder="$t('operatManage.BWL.blackListIPInfo')" |
| | | :placeholder="$t('operatManage.BWL.listIPInfo')" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item |
| | |
| | | :placeholder="$t('operatManage.BWL.interceptionNumber')" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button @click="onSubmit" |
| | | <el-button |
| | | ><i class="el-icon-search"></i> {{ |
| | | $t("operatManage.BWL.change") |
| | | $t('operatManage.BWL.search') |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | ><i class="el-icon-delete"></i> {{ |
| | | $t('operatManage.BWL.reset') |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button v-if="menuStatus.insert" @click="showInsertdialog(1)">{{ |
| | | $t('common.append') |
| | | }}</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button v-if="menuStatus.delete" @click="delBWList">{{ |
| | | $t('common.delete') |
| | | }}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="table_box"> |
| | | <el-table :data="tableData" stripe style="width: 100%" height="99%"> |
| | | <el-table |
| | | :data="BTableData" |
| | | stripe |
| | | @selection-change="blackSelectionChange" |
| | | style="width: 100%" |
| | | height="85%" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | |
| | | width="70px" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="username" |
| | | :label="$t('operatManage.BWL.username')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="ip" |
| | | :label="$t('operatManage.BWL.ip')" |
| | | :label="$t('operatManage.BWL.whiteListIP')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="IPState" |
| | | :label="$t('operatManage.BWL.IPState')" |
| | | prop="visit" |
| | | :label="$t('operatManage.BWL.PageView')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="largeModuleName" |
| | | :label="$t('operatManage.BWL.largeModuleName')" |
| | | prop="descr" |
| | | :label="$t('operatManage.BWL.description')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="smallModuleName" |
| | | :label="$t('operatManage.BWL.smallModuleName')" |
| | | prop="createName" |
| | | :label="$t('operatManage.BWL.creator')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="resourceName" |
| | | :label="$t('operatManage.BWL.resourceName')" |
| | | :formatter="formatData" |
| | | prop="createTime" |
| | | :label="$t('operatManage.BWL.creationTime')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="date" |
| | | :label="$t('operatManage.BWL.date')" |
| | | prop="updateName" |
| | | :label="$t('operatManage.BWL.update')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="operationType" |
| | | :label="$t('operatManage.BWL.operationType')" |
| | | :formatter="formatData" |
| | | prop="updateTime" |
| | | :label="$t('operatManage.BWL.UpdateTime')" |
| | | /> |
| | | <el-table-column |
| | | v-if="menuStatus.update" |
| | | :label="$t('operatManage.tokentoolObj.operation')" |
| | | width="320" |
| | | align="center" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click="handleEdit(scope.$index, scope.row)" |
| | | type="warning" |
| | | plain |
| | | size="small" |
| | | >{{ $t('common.update') }}</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="margin-top: 40px" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | @size-change="BhandleSizeChange" |
| | | @current-change="BhandleCurrentChange" |
| | | :current-page="BListData.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="10" |
| | | :page-size="BListData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="9" |
| | | :total="Bcount" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane> |
| | | <el-tab-pane :label="$t('operatManage.BWL.whiteList')" name="second" |
| | | ><div class="inquire"> |
| | | <el-form ref="ruleForm" :model="form" :inline="true"> |
| | | <el-form-item |
| | | :label="$t('operatManage.BWL.whiteListIP')" |
| | | prop="whiteListIP" |
| | | > |
| | | <el-input |
| | | v-model="form.blackListIP" |
| | | :placeholder="$t('operatManage.BWL.listIPInfo')" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('operatManage.BWL.IPState')" |
| | | prop="IPState" |
| | | > |
| | | <el-select v-model="form.IPState"> |
| | | <el-option :label="$t('operatManage.BWL.all')" value="0" /> |
| | | <el-option :label="$t('operatManage.BWL.validity')" value="1" /> |
| | | <el-option |
| | | :label="$t('operatManage.BWL.invalidity')" |
| | | value="2" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button @click="onSubmit" |
| | | ><i class="el-icon-search"></i> {{ |
| | | $t('operatManage.BWL.search') |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button @click="onSubmit" |
| | | ><i class="el-icon-delete"></i> {{ |
| | | $t('operatManage.BWL.reset') |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button v-if="menuStatus.insert" @click="showInsertdialog(2)">{{ |
| | | $t('common.append') |
| | | }}</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button v-if="menuStatus.delete" @click="delBWList">{{ |
| | | $t('common.delete') |
| | | }}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="table_box"> |
| | | <el-table :data="WTableData" stripe @selection-change="blackSelectionChange" style="width: 100%" height="85%"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | | :label="$t('operatManage.BWL.index')" |
| | | width="70px" |
| | | /> |
| | | <el-table-column |
| | | prop="ip" |
| | | :label="$t('operatManage.BWL.whiteListIP')" |
| | | /> |
| | | <el-table-column |
| | | prop="visit" |
| | | :label="$t('operatManage.BWL.PageView')" |
| | | /> |
| | | <el-table-column |
| | | prop="descr" |
| | | :label="$t('operatManage.BWL.description')" |
| | | /> |
| | | <el-table-column |
| | | prop="createName" |
| | | :label="$t('operatManage.BWL.creator')" |
| | | /> |
| | | <el-table-column |
| | | :formatter="formatData" |
| | | prop="createTime" |
| | | :label="$t('operatManage.BWL.creationTime')" |
| | | /> |
| | | <el-table-column |
| | | prop="updateName" |
| | | :label="$t('operatManage.BWL.update')" |
| | | /> |
| | | <el-table-column |
| | | :formatter="formatData" |
| | | prop="updateTime" |
| | | :label="$t('operatManage.BWL.UpdateTime')" |
| | | /> |
| | | <el-table-column |
| | | v-if="menuStatus.update" |
| | | :label="$t('operatManage.tokentoolObj.operation')" |
| | | width="320" |
| | | align="center" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click="handleEdit(scope.$index, scope.row)" |
| | | type="warning" |
| | | plain |
| | | size="small" |
| | | >{{ $t('common.update') }}</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-table> |
| | | <div style="margin-top: 40px" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="WhandleSizeChange" |
| | | @current-change="WhandleCurrentChange" |
| | | :current-page="WListData.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="WListData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="Wcount" |
| | | > |
| | | </el-pagination> |
| | | </div></div |
| | | ></el-tab-pane> |
| | | </el-tabs> |
| | | <el-dialog |
| | | :title="$t('common.append')" |
| | | style="overflow: hidden" |
| | | :visible.sync="InsertFormdialog" |
| | | width="30%" |
| | | > |
| | | <el-form ref="insertform" :model="insertform"> |
| | | <el-form-item :label-width="formLabelWidth" label="IP地址"> |
| | | <el-input |
| | | v-model="insertform.ip" |
| | | :placeholder="$t('common.pleaseInput')" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item :label-width="formLabelWidth" label="访问次数"> |
| | | <el-input |
| | | v-model="insertform.visit" |
| | | :placeholder="$t('common.pleaseInput')" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item :label-width="formLabelWidth" label="描述"> |
| | | <el-input |
| | | v-model="insertform.descr" |
| | | :placeholder="$t('common.pleaseInput')" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="insertFromDataClose">{{ |
| | | $t('common.close') |
| | | }}</el-button> |
| | | <el-button @click="insertFromData" type="primary">{{ |
| | | $t('common.confirm') |
| | | }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | | :title="$t('common.update')" |
| | | style="overflow: hidden" |
| | | :visible.sync="updateFormdialog" |
| | | width="30%" |
| | | > |
| | | <el-form ref="editfrom" :model="editfrom"> |
| | | <el-form-item :label-width="formLabelWidth" label="IP地址"> |
| | | <el-input |
| | | v-model="editfrom.ip" |
| | | :placeholder="$t('common.pleaseInput')" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item :label-width="formLabelWidth" label="访问次数"> |
| | | <el-input |
| | | v-model="editfrom.visit" |
| | | :placeholder="$t('common.pleaseInput')" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item :label-width="formLabelWidth" label="描述"> |
| | | <el-input |
| | | v-model="editfrom.descr" |
| | | :placeholder="$t('common.pleaseInput')" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="editFromDataClose">{{ |
| | | $t('common.close') |
| | | }}</el-button> |
| | | <el-button @click="editFromData" type="primary">{{ |
| | | $t('common.confirm') |
| | | }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | |
| | | <script> |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { |
| | | blacklistSelectByPageAndCount, |
| | | blacklistAppend, |
| | | deletelacklist, |
| | | updateblacklist, |
| | | blacklistSelectCount, |
| | | } from '../../api/api'; |
| | | export default { |
| | | //import引入的组件需要注入到对象中才能使用 |
| | | components: { |
| | |
| | | |
| | | data() { |
| | | return { |
| | | activeName: this.$t("operatManage.BWL.blackList"), |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | updateFormdialog: false, |
| | | multipleSelection: [], |
| | | formLabelWidth: '100px', |
| | | insertform: {}, |
| | | editfrom: {}, |
| | | InsertFormdialog: false, |
| | | activeName: 'first', |
| | | currentPage: 1, |
| | | form: { |
| | | blackListIP: "", |
| | | IPState: this.$t("operatManage.BWL.all"), |
| | | interceptionCycle: "", |
| | | unit: this.$t("operatManage.BWL.seconds"), |
| | | interceptionNumber: "", |
| | | blackListIP: '', |
| | | IPState: '', |
| | | interceptionCycle: '', |
| | | unit: '', |
| | | interceptionNumber: '', |
| | | }, |
| | | tableData: [ |
| | | { |
| | | username: "管理员", |
| | | ip: "221.182.31.12", |
| | | date: "2022-08-05", |
| | | IPState: "", |
| | | largeModuleName: "运维监控", |
| | | smallModuleName: "资源操作日志", |
| | | resourceName: "", |
| | | operationType: "查询", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | username: "管理员", |
| | | IPState: "", |
| | | largeModuleName: "运维监控", |
| | | smallModuleName: "资源操作日志", |
| | | resourceName: "", |
| | | operationType: "查询", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | username: "管理员", |
| | | IPState: "", |
| | | largeModuleName: "运维监控", |
| | | smallModuleName: "资源操作日志", |
| | | resourceName: "", |
| | | operationType: "查询", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | username: "管理员", |
| | | IPState: "", |
| | | largeModuleName: "运维监控", |
| | | smallModuleName: "资源操作日志", |
| | | resourceName: "", |
| | | operationType: "查询", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | username: "管理员", |
| | | IPState: "", |
| | | largeModuleName: "运维监控", |
| | | smallModuleName: "资源操作日志", |
| | | resourceName: "", |
| | | operationType: "查询", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | username: "管理员", |
| | | IPState: "", |
| | | largeModuleName: "运维监控", |
| | | smallModuleName: "资源操作日志", |
| | | resourceName: "", |
| | | operationType: "查询", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | username: "管理员", |
| | | IPState: "", |
| | | largeModuleName: "运维监控", |
| | | smallModuleName: "资源操作日志", |
| | | resourceName: "", |
| | | operationType: "查询", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | username: "管理员", |
| | | IPState: "", |
| | | largeModuleName: "运维监控", |
| | | smallModuleName: "资源操作日志", |
| | | resourceName: "", |
| | | operationType: "查询", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | { |
| | | date: "2022-08-05", |
| | | username: "管理员", |
| | | IPState: "", |
| | | largeModuleName: "运维监控", |
| | | smallModuleName: "资源操作日志", |
| | | resourceName: "", |
| | | operationType: "查询", |
| | | ip: "221.182.31.12", |
| | | }, |
| | | ], |
| | | BTableData: [], |
| | | WTableData: [], |
| | | BListData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | type: 1, |
| | | }, |
| | | WListData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | type: 2, |
| | | }, |
| | | Wcount: 0, |
| | | Bcount: 0, |
| | | }; |
| | | }, |
| | | methods: { |
| | | editFromDataClose() { |
| | | this.updateFormdialog = false; |
| | | this.editfrom = {}; |
| | | }, |
| | | async editFromData() { |
| | | var data = await updateblacklist(this.editfrom); |
| | | if (data.code == 200) { |
| | | this.updateFormdialog = false; |
| | | this.editfrom = {}; |
| | | this.$message({ |
| | | message: '修改成功!', |
| | | type: 'success', |
| | | }); |
| | | this.BGetList(); |
| | | this.WGetList(); |
| | | } else { |
| | | this.$message({ |
| | | message: '修改失败!', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | }, |
| | | handleEdit(index, row) { |
| | | this.editfrom = row; |
| | | this.updateFormdialog = true; |
| | | }, |
| | | |
| | | async delBWList() { |
| | | var std = []; |
| | | for (var i in this.multipleSelection) { |
| | | std.push(this.multipleSelection[i].id); |
| | | } |
| | | //deletes |
| | | const data = await deletelacklist({ ids: std.toString() }); |
| | | if (data.code == 200) { |
| | | this.$message({ |
| | | message: '删除成功!', |
| | | type: 'success', |
| | | }); |
| | | this.BGetList(); |
| | | this.WGetList(); |
| | | } else { |
| | | this.$message({ |
| | | message: '删除失败!', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | }, |
| | | blackSelectionChange(val) { |
| | | this.multipleSelection = val; |
| | | }, |
| | | showInsertdialog(res) { |
| | | this.insertform.type = res; |
| | | this.InsertFormdialog = true; |
| | | }, |
| | | insertFromDataClose() { |
| | | this.InsertFormdialog = false; |
| | | this.insertform = {}; |
| | | }, |
| | | async insertFromData() { |
| | | var count = await blacklistSelectCount(this.insertform); |
| | | if (parseInt(count.result) != 0) return; |
| | | |
| | | var data = await blacklistAppend(this.insertform); |
| | | if (data.code == 200) { |
| | | this.InsertFormdialog = false; |
| | | this.insertform = {}; |
| | | this.$message({ |
| | | message: '添加成功!', |
| | | type: 'success', |
| | | }); |
| | | this.BGetList(); |
| | | this.WGetList(); |
| | | } else { |
| | | this.$message({ |
| | | message: '添加失败!', |
| | | type: 'warning', |
| | | }); |
| | | } |
| | | }, |
| | | //格式化时间 |
| | | 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); |
| | | }, |
| | | handleClick(tab, event) { |
| | | console.log(tab, event); |
| | | }, |
| | | handleSizeChange(val) { |
| | | console.log(`每页 ${val} 条`); |
| | | WhandleSizeChange(val) { |
| | | this.WListData.pageSize = val; |
| | | this.getList(); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | console.log(`当前页: ${val}`); |
| | | WhandleCurrentChange(val) { |
| | | this.WListData.pageIndex = val; |
| | | this.getList(); |
| | | }, |
| | | BhandleSizeChange(val) { |
| | | this.BListData.pageSize = val; |
| | | this.getList(); |
| | | }, |
| | | BhandleCurrentChange(val) { |
| | | this.BListData.pageIndex = val; |
| | | this.getList(); |
| | | }, |
| | | onSubmit() { |
| | | console.log("submit!"); |
| | | console.log('submit!'); |
| | | }, |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | async WGetList() { |
| | | const data = await blacklistSelectByPageAndCount(this.WListData); |
| | | |
| | | if (data.code != 200) { |
| | | return this.$message.error('列表调用失败'); |
| | | } |
| | | this.WTableData = data.result; |
| | | this.Wcount = data.count; |
| | | }, |
| | | async BGetList() { |
| | | const data = await blacklistSelectByPageAndCount(this.BListData); |
| | | if (data.code != 200) { |
| | | return this.$message.error('列表调用失败'); |
| | | } |
| | | |
| | | this.BTableData = data.result; |
| | | this.Bcount = data.count; |
| | | }, |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case '/delete': |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case '/insert': |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case '/update': |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | 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]); |
| | | } |
| | | } |
| | | this.BGetList(); |
| | | this.WGetList(); |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | <style lang="less" scoped> |
| | | //@import url(); 引入公共css类 |
| | | .logLog_box { |
| | | background: rgb(240, 242, 245); |
| | |
| | | background: #fff; |
| | | border-radius: 5px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | overflow: auto; |
| | | height: 70%; |
| | | } |
| | | .text-center { |
| | | text-align: center; |
| | | } |
| | | .el-tab-pane { |
| | | height: 82vh; |
| | | } |
| | | } |
| | | </style> |
| | | |