From a1e0209b43af094aa3f6687a2b2df8aa5a1c8418 Mon Sep 17 00:00:00 2001 From: lxl <lixuliang_hd@126.com> Date: 星期二, 20 九月 2022 17:34:36 +0800 Subject: [PATCH] 暂存 --- src/views/maintenance/eventlogManage.vue | 306 +++++++++++++++++++++++++ src/assets/lang/zh.js | 30 ++ src/views/maintenance/blackwhiteList.vue | 306 +++++++++++++++++++++++++ src/assets/lang/en.js | 14 src/components/navMenu.vue | 3 src/router/index.js | 24 + 6 files changed, 676 insertions(+), 7 deletions(-) diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index 8155656..7efadfb 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -29,8 +29,11 @@ username: 'username', ownedSystem: 'ownedSystem', operationType: 'operationType', - time: 'time', - ip: 'ip', + date: 'date', + startDate: 'startdate', + endDate: 'enddate', + to: 'to', + ip: 'The client IP', search: 'search', reset: 'reset', all: 'all', @@ -40,7 +43,11 @@ edit: "edit", query: "query", please: 'please choose', - + usernameInfo: 'username,Chinese name,or phonetic initial', + index: 'index', + largeModuleName: 'largeModuleName', + smallModuleName: 'smallModuleName', + resourceName: 'resourceName', }, userManagement: 'User Management', systemLayout: 'System Layout', @@ -54,6 +61,7 @@ logLog: 'ConLog', operationLog: 'Operation Log', databaseMonitoring: 'Database Monitoring', + blackwhiteList: "Black/White List" }, synthesis: { synthesis: 'Comprehensive Display', diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index ac5d19e..832046b 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -29,8 +29,11 @@ username: '鐢ㄦ埛鍚嶇О', ownedSystem: '鎵�灞炵郴缁�', operationType: '鎿嶄綔绫诲瀷', - time: '鐢ㄦ埛鍚嶇О', - ip: '鐢ㄦ埛鍚嶇О', + date: '鏃堕棿', + startDate: '寮�濮嬫椂闂�', + endDate: '缁撴潫鏃堕棿', + to: 'zhi', + ip: '瀹㈡埛绔疘P', search: '鎼滅储', reset: '閲嶇疆', all: '鍏ㄩ儴', @@ -40,6 +43,11 @@ edit: "淇敼", query: "鏌ヨ", please: '璇烽�夋嫨', + usernameInfo: '杈撳叆鐢ㄦ埛鍚嶃�佷腑鏂囧悕鎴栨嫾闊抽瀛楁瘝鏌ヨ', + index: '搴忓彿', + largeModuleName: '澶фā鍧楀悕绉�', + smallModuleName: '灏忔ā鍧楀悕绉�', + resourceName: '璧勬簮鍚嶇О', }, userManagement: '鐢ㄦ埛绠$悊', systemLayout: '绯荤粺閰嶇疆', @@ -53,6 +61,24 @@ logLog: '鐧诲綍鏃ュ織', operationLog: '鎿嶄綔鏃ュ織', databaseMonitoring: '鏁版嵁搴撶洃鎺�', + blackwhiteList: "榛�/鐧藉悕鍗�", + BWL: { + blackList: "榛戝悕鍗�", + whiteList: "鐧藉悕鍗�", + blackListIP: '榛戝悕鍗旾P', + blackListIPInfo: '杈撳叆IP鏌ヨ', + IPState: 'IP鐘舵��', + all: '鍏ㄩ儴', + validity: '鐢熸晥', + invalidity: '澶辨晥', + interceptionCycle: '鎷︽埅鍛ㄦ湡', + seconds: '绉�', + mins: '鍒�', + hours: '鏃�', + interceptionNumber: '鎷︽埅娆℃暟', + change: '淇敼', + index:"搴忓彿", + } }, synthesis: { synthesis: '缁煎悎灞曠ず', diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue index 76791aa..90841cc 100644 --- a/src/components/navMenu.vue +++ b/src/components/navMenu.vue @@ -102,6 +102,9 @@ <el-menu-item index="databaseMonitoring">{{ $t("operatManage.databaseMonitoring") }}</el-menu-item> + <el-menu-item index="blackwhiteList">{{ + $t("operatManage.blackwhiteList") + }}</el-menu-item> </el-submenu> </el-submenu> diff --git a/src/router/index.js b/src/router/index.js index c1c4c03..8500c73 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -11,7 +11,9 @@ import authorityManagement from "@/views/maintenance/authorityManagement.vue"; //鏉冮檺绠$悊 import safetyManagement from "@/views/maintenance/safetyManagement.vue"; //瀹夊叏绠$悊 import operationLog from "@/views/maintenance/operationLog.vue"; //鎿嶄綔鏃ュ織 -import eventlogManage from "@/views/maintenance/eventlogManage.vue"; //鐧诲綍鏃ュ織 +import eventlogManage from "@/views/maintenance/eventlogManage.vue"; //浜嬩欢鏃ュ織绠$悊 +import blackwhiteList from "@/views/maintenance/blackwhiteList.vue"; //鐧诲綍鏃ュ織 +import logLog from "@/views/maintenance/logLog.vue"; //鐧诲綍鏃ュ織 import systemMonitoring from "@/views/maintenance/systemMonitoring.vue"; //绯荤粺鐩戞帶 import databaseMonitoring from "@/views/maintenance/databaseMonitoring.vue"; //鏁版嵁搴撶洃鎺� import parameterConfiguration from "@/views/maintenance/parameterConfiguration.vue"; //鍙傛暟閰嶇疆 @@ -209,7 +211,25 @@ component: eventlogManage, name: "eventlogManage", meta: { - title: "鐧诲綍鏃ュ織", + title: "浜嬩欢鏃ュ織绠$悊", + requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, + { + path: "/logLog", + component: logLog, + name: "logLog", + meta: { + title: "浜嬩欢鏃ュ織绠$悊", + requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, + { + path: "/blackwhiteList", + component: blackwhiteList, + name: "blackwhiteList", + meta: { + title: "榛�/鐧藉悕鍗�", requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� }, }, diff --git a/src/views/maintenance/blackwhiteList.vue b/src/views/maintenance/blackwhiteList.vue new file mode 100644 index 0000000..a706941 --- /dev/null +++ b/src/views/maintenance/blackwhiteList.vue @@ -0,0 +1,306 @@ +<template> + <div class="logLog_box"> + <My-bread + :list="[ + `${$t('operatManage.operatManage')}`, + `${$t('operatManage.blackwhiteList')}`, + ]" + ></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')" + > + <div class="inquire"> + <el-form ref="ruleForm" :model="form" :inline="true"> + <el-form-item + :label="$t('operatManage.BWL.blackListIP')" + prop="blackListIP" + > + <el-input + v-model="form.blackListIP" + :placeholder="$t('operatManage.BWL.blackListIPInfo')" + /> + </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 + :label="$t('operatManage.BWL.interceptionCycle')" + prop="interceptionCycle" + > + <el-input + v-model="form.interceptionCycle" + :placeholder="$t('operatManage.BWL.interceptionCycle')" + /> + </el-form-item> + <el-form-item prop="unit"> + <el-select v-model="form.unit"> + <el-option :label="$t('operatManage.BWL.seconds')" value="0" /> + <el-option :label="$t('operatManage.BWL.mins')" value="1" /> + <el-option :label="$t('operatManage.BWL.hours')" value="2" /> + </el-select> + </el-form-item> + + <el-form-item + :label="$t('operatManage.BWL.interceptionNumber')" + prop="interceptionNumber" + > + <el-input + v-model="form.interceptionNumber" + :placeholder="$t('operatManage.BWL.interceptionNumber')" + /> + </el-form-item> + <el-form-item> + <el-button @click="onSubmit" + ><i class="el-icon-search"></i> {{ + $t("operatManage.BWL.change") + }}</el-button + > + </el-form-item> + </el-form> + </div> + <div class="table_box"> + <el-table :data="tableData" stripe style="width: 100%" height="99%"> + <el-table-column + align="center" + type="index" + :label="$t('operatManage.BWL.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')" + /> + <el-table-column + align="center" + prop="IPState" + :label="$t('operatManage.BWL.IPState')" + /> + <el-table-column + align="center" + prop="largeModuleName" + :label="$t('operatManage.BWL.largeModuleName')" + /> + <el-table-column + align="center" + prop="smallModuleName" + :label="$t('operatManage.BWL.smallModuleName')" + /> + <el-table-column + align="center" + prop="resourceName" + :label="$t('operatManage.BWL.resourceName')" + /> + <el-table-column + align="center" + prop="date" + :label="$t('operatManage.BWL.date')" + /> + <el-table-column + align="center" + prop="operationType" + :label="$t('operatManage.BWL.operationType')" + /> + </el-table> + <div style="margin-top: 40px" class="pagination_box"> + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="currentPage" + :page-sizes="[10, 20, 30, 40]" + :page-size="10" + layout="total, sizes, prev, pager, next, jumper" + :total="9" + > + </el-pagination> + </div> + </div> + </el-tab-pane> + <el-tab-pane label="閰嶇疆绠$悊" name="second">閰嶇疆绠$悊</el-tab-pane> + </el-tabs> + </div> +</template> + + <script> +import MyBread from "../../components/MyBread.vue"; + +export default { + //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� + components: { + MyBread, + }, + + data() { + return { + activeName: this.$t("operatManage.BWL.blackList"), + currentPage: 1, + form: { + blackListIP: "", + IPState: this.$t("operatManage.BWL.all"), + interceptionCycle: "", + unit: this.$t("operatManage.BWL.seconds"), + 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", + }, + ], + }; + }, + methods: { + handleClick(tab, event) { + console.log(tab, event); + }, + handleSizeChange(val) { + console.log(`姣忛〉 ${val} 鏉); + }, + handleCurrentChange(val) { + console.log(`褰撳墠椤�: ${val}`); + }, + onSubmit() { + console.log("submit!"); + }, + resetForm(formName) { + this.$refs[formName].resetFields(); + }, + }, + created() {}, +}; +</script> + <style lang="less" scoped> +//@import url(); 寮曞叆鍏叡css绫� +.logLog_box { + background: rgb(240, 242, 245); + border-radius: 10px; + height: 100%; + padding: 10px; + box-sizing: border-box; + .el-input { + width: 300px; + } + .inquire { + padding: 10px; + margin-top: 20px; + background: #fff; + border-radius: 5px; + border: 1px solid rgb(202, 201, 204); + margin-bottom: 20px; + } + .table_box { + padding: 10px; + background: #fff; + border-radius: 5px; + border: 1px solid rgb(202, 201, 204); + } + .text-center { + text-align: center; + } +} +</style> + \ No newline at end of file diff --git a/src/views/maintenance/eventlogManage.vue b/src/views/maintenance/eventlogManage.vue new file mode 100644 index 0000000..276965f --- /dev/null +++ b/src/views/maintenance/eventlogManage.vue @@ -0,0 +1,306 @@ +<template> + <div class="logLog_box"> + <My-bread + :list="[ + `${$t('operatManage.operatManage')}`, + `${$t('operatManage.eventlogManage')}`, + ]" + ></My-bread> + <el-divider /> + <div class="inquire"> + <el-form ref="ruleForm" :model="form" :inline="true"> + <el-form-item :label="$t('operatManage.ELM.username')" prop="username"> + <el-input + v-model="form.username" + :placeholder="$t('operatManage.ELM.usernameInfo')" + /> + </el-form-item> + <el-form-item + :label="$t('operatManage.ELM.ownedSystem')" + prop="ownedSystem" + > + <el-select + v-model="form.ownedSystem" + :placeholder="$t('operatManage.ELM.please')" + > + <el-option :label="$t('operatManage.ELM.all')" value="all" /> + <el-option :label="$t('operatManage.ELM.one')" value="one" /> + </el-select> + </el-form-item> + <el-form-item + :label="$t('operatManage.ELM.operationType')" + prop="operationType" + > + <el-select + v-model="form.operationType" + :placeholder="$t('operatManage.ELM.please')" + > + <el-option :label="$t('operatManage.ELM.all')" value="all" /> + <el-option :label="$t('operatManage.ELM.add')" value="add" /> + <el-option :label="$t('operatManage.ELM.delete')" value="delete" /> + <el-option :label="$t('operatManage.ELM.edit')" value="edit" /> + <el-option :label="$t('operatManage.ELM.query')" value="query" /> + </el-select> + </el-form-item> + <el-form-item :label="$t('operatManage.ELM.date')" prop="date"> + <el-date-picker + v-model="form.date" + type="daterange" + align="right" + unlink-panels + :range-separator="$t('operatManage.ELM.to')" + :start-placeholder="$t('operatManage.ELM.startDate')" + :end-placeholder="$t('operatManage.ELM.endDate')" + > + </el-date-picker> + </el-form-item> + <el-form-item :label="$t('operatManage.ELM.ip')" prop="requestIp"> + <el-input v-model="form.requestIp" placeholder="璇疯緭鍏�" /> + </el-form-item> + <el-form-item> + <el-button @click="onSubmit" + ><i class="el-icon-search"></i> {{ + $t("operatManage.ELM.search") + }}</el-button + > + </el-form-item> + <el-form-item> + <el-button @click="resetForm('ruleForm')" + ><i class="el-icon-delete"></i> {{ + $t("operatManage.ELM.reset") + }}</el-button + > + </el-form-item> + </el-form> + </div> + <div class="table_box"> + <el-table :data="tableData" stripe style="width: 100%" height="99%"> + <el-table-column + align="center" + type="index" + :label="$t('operatManage.ELM.index')" + width="70px" + /> + <el-table-column + align="center" + prop="username" + :label="$t('operatManage.ELM.username')" + /> + <el-table-column + align="center" + prop="ip" + :label="$t('operatManage.ELM.ip')" + /> + <el-table-column + align="center" + prop="ownedSystem" + :label="$t('operatManage.ELM.ownedSystem')" + /> + <el-table-column + align="center" + prop="largeModuleName" + :label="$t('operatManage.ELM.largeModuleName')" + /> + <el-table-column + align="center" + prop="smallModuleName" + :label="$t('operatManage.ELM.smallModuleName')" + /> + <el-table-column + align="center" + prop="resourceName" + :label="$t('operatManage.ELM.resourceName')" + /> + <el-table-column + align="center" + prop="date" + :label="$t('operatManage.ELM.date')" + /> + <el-table-column + align="center" + prop="operationType" + :label="$t('operatManage.ELM.operationType')" + /> + </el-table> + <div style="margin-top: 40px" class="pagination_box"> + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="currentPage" + :page-sizes="[10, 20, 30, 40]" + :page-size="10" + layout="total, sizes, prev, pager, next, jumper" + :total="9" + > + </el-pagination> + </div> + </div> + </div> +</template> + +<script> +import MyBread from "../../components/MyBread.vue"; + +export default { + //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� + components: { + MyBread, + }, + + data() { + return { + currentPage: 1, + form: { + username: "", + ownedSystem: "", + requestIp: "", + operationType: "", + date: "", + }, + tableData: [ + { + username: "绠$悊鍛�", + ip: "221.182.31.12", + date: "2022-08-05", + ownedSystem: "", + largeModuleName: "杩愮淮鐩戞帶", + smallModuleName: "璧勬簮鎿嶄綔鏃ュ織", + resourceName: "", + operationType: "鏌ヨ", + }, + { + date: "2022-08-05", + username: "绠$悊鍛�", + ownedSystem: "", + largeModuleName: "杩愮淮鐩戞帶", + smallModuleName: "璧勬簮鎿嶄綔鏃ュ織", + resourceName: "", + operationType: "鏌ヨ", + ip: "221.182.31.12", + }, + { + date: "2022-08-05", + username: "绠$悊鍛�", + ownedSystem: "", + largeModuleName: "杩愮淮鐩戞帶", + smallModuleName: "璧勬簮鎿嶄綔鏃ュ織", + resourceName: "", + operationType: "鏌ヨ", + ip: "221.182.31.12", + }, + { + date: "2022-08-05", + username: "绠$悊鍛�", + ownedSystem: "", + largeModuleName: "杩愮淮鐩戞帶", + smallModuleName: "璧勬簮鎿嶄綔鏃ュ織", + resourceName: "", + operationType: "鏌ヨ", + ip: "221.182.31.12", + }, + { + date: "2022-08-05", + username: "绠$悊鍛�", + ownedSystem: "", + largeModuleName: "杩愮淮鐩戞帶", + smallModuleName: "璧勬簮鎿嶄綔鏃ュ織", + resourceName: "", + operationType: "鏌ヨ", + ip: "221.182.31.12", + }, + { + date: "2022-08-05", + username: "绠$悊鍛�", + ownedSystem: "", + largeModuleName: "杩愮淮鐩戞帶", + smallModuleName: "璧勬簮鎿嶄綔鏃ュ織", + resourceName: "", + operationType: "鏌ヨ", + ip: "221.182.31.12", + }, + { + date: "2022-08-05", + username: "绠$悊鍛�", + ownedSystem: "", + largeModuleName: "杩愮淮鐩戞帶", + smallModuleName: "璧勬簮鎿嶄綔鏃ュ織", + resourceName: "", + operationType: "鏌ヨ", + ip: "221.182.31.12", + }, + { + date: "2022-08-05", + username: "绠$悊鍛�", + ownedSystem: "", + largeModuleName: "杩愮淮鐩戞帶", + smallModuleName: "璧勬簮鎿嶄綔鏃ュ織", + resourceName: "", + operationType: "鏌ヨ", + ip: "221.182.31.12", + }, + { + date: "2022-08-05", + username: "绠$悊鍛�", + ownedSystem: "", + largeModuleName: "杩愮淮鐩戞帶", + smallModuleName: "璧勬簮鎿嶄綔鏃ュ織", + resourceName: "", + operationType: "鏌ヨ", + ip: "221.182.31.12", + }, + ], + }; + }, + methods: { + handleSizeChange(val) { + console.log(`姣忛〉 ${val} 鏉); + }, + handleCurrentChange(val) { + console.log(`褰撳墠椤�: ${val}`); + }, + onSubmit() { + console.log("submit!"); + }, + resetForm(formName) { + this.$refs[formName].resetFields(); + }, + }, + created() {}, +}; +</script> +<style lang="less" scoped> +//@import url(); 寮曞叆鍏叡css绫� +.logLog_box { + background: rgb(240, 242, 245); + border-radius: 10px; + height: 100%; + padding: 10px; + box-sizing: border-box; + .el-input { + width: 300px; + } + .inquire { + height: 110px; + overflow: auto; + padding: 10px; + margin-top: 20px; + background: #fff; + border-radius: 5px; + border: 1px solid rgb(202, 201, 204); + margin-bottom: 20px; + .el-form-item { + margin: 7px; + } + } + .table_box { + height: 65%; + padding: 10px; + background: #fff; + border-radius: 5px; + border: 1px solid rgb(202, 201, 204); + } + .text-center { + text-align: center; + } +} +</style> -- Gitblit v1.9.3