From 4aac1609c95a097de0e8da843a9ed2f211303d4e Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期四, 27 十月 2022 14:21:37 +0800 Subject: [PATCH] 黑白名单,系统配置,综合展示权限管理添加 --- src/api/api.js | 48 ++++- src/views/Synthesis/index.vue | 19 + src/views/maintenance/parameterConfiguration.vue | 26 +++ src/views/maintenance/tokentool.vue | 44 ++++ src/components/mapol.vue | 1 src/views/maintenance/blackwhiteList.vue | 265 +++++++++++++++++++++++++++++++- src/components/mapsdk.vue | 1 src/views/maintenance/logLog.vue | 62 +++---- 8 files changed, 395 insertions(+), 71 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index 8c9e1a5..50d4b97 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -381,6 +381,24 @@ export function blacklistSelectByPageAndCount(params) { return request.get('/blacklist/selectByPageAndCount', { params: params }); } + +//榛戠櫧鍚嶅崟娣诲姞 +export function blacklistAppend(params) { + return request.post('/blacklist/insert', params); +} +//榛戠櫧鍚嶅崟鍒犻櫎 +export function deletelacklist(params) { + return request.get('/blacklist/deletes', { params: params }); +} +//榛戠櫧鍚嶅崟淇敼 +export function updateblacklist(params) { + return request.post('/blacklist/update', params); +} +//榛戠櫧鍚嶅崟缁熻 +export function blacklistSelectCount(params) { + return request.get('/blacklist/selectCount', { params: params }); +} + //鍏冩暟鎹鐞嗗垪琛ㄨ幏鍙� export function select_meta_ByPageAndCount(params) { return request.get('/meta/selectByPageAndCount', { params: params }); @@ -416,11 +434,11 @@ export function querySitePoint(size, index, name) { return service.get( '/LFServer/SitePoint/Query?pageSize=' + - size + - '&pageIndex=' + - (index - 1) + - '&name=' + - name + size + + '&pageIndex=' + + (index - 1) + + '&name=' + + name ); } //璇锋眰绔欏満鐐规暟閲� @@ -431,11 +449,11 @@ export function queryStationSeries(size, index, name) { return service.get( '/LFServer/StationSeries/Query?pageSize=' + - size + - '&pageIndex=' + - (index - 1) + - '&name=' + - name + size + + '&pageIndex=' + + (index - 1) + + '&name=' + + name ); } //璇锋眰绠¢亾涓績绾挎暟閲� @@ -447,11 +465,11 @@ export function queryMarker(size, index, name) { return service.get( '/LFServer/Marker/Query?pageSize=' + - size + - '&pageIndex=' + - (index - 1) + - '&name=' + - name + size + + '&pageIndex=' + + (index - 1) + + '&name=' + + name ); } //璇锋眰鏍囨々鏁伴噺 diff --git a/src/components/mapol.vue b/src/components/mapol.vue index f712116..2298d63 100644 --- a/src/components/mapol.vue +++ b/src/components/mapol.vue @@ -23,6 +23,7 @@ name: '', data() { return { + centerFlag: false, isActive: true, isMenuLayer: false, }; diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue index b4ddd62..d971275 100644 --- a/src/components/mapsdk.vue +++ b/src/components/mapsdk.vue @@ -163,6 +163,7 @@ name: '', data() { return { + centerFlag: false, buffer: null, showBufferBoxDialog: false, showCoordLocalBoxDialog: false, diff --git a/src/views/Synthesis/index.vue b/src/views/Synthesis/index.vue index c588525..b16b0a7 100644 --- a/src/views/Synthesis/index.vue +++ b/src/views/Synthesis/index.vue @@ -128,27 +128,32 @@ val = '/comprehensive'; } var permsEntity = this.$store.state.permsEntity; + if (permsEntity.length == 0) { getPerms().then((res) => { if (res.code == 200) permsEntity = res.result; - this.$store.state.permsEntity = permsEntity; + for (var i = 0; i < permsEntity.length; i++) { + if (permsEntity[i].perms == val) { + this.showMenuChange(permsEntity[i], permsEntity); + } + } }); - } - - for (var i = 0; i < permsEntity.length; i++) { - if (permsEntity[i].perms == val) { - this.showMenuChange(permsEntity[i], permsEntity); + } else { + for (var i = 0; i < permsEntity.length; i++) { + if (permsEntity[i].perms == val) { + this.showMenuChange(permsEntity[i], permsEntity); + } } } }, }, mounted() { //this.messageName = this.$store.state.teNmme; - this.$bus.$on('changetool', (e) => { this.tepostmessage(e); }); }, + created() { this.getPermsMenu(); }, diff --git a/src/views/maintenance/blackwhiteList.vue b/src/views/maintenance/blackwhiteList.vue index 5d0c029..65e64f6 100644 --- a/src/views/maintenance/blackwhiteList.vue +++ b/src/views/maintenance/blackwhiteList.vue @@ -59,29 +59,42 @@ :placeholder="$t('operatManage.BWL.interceptionNumber')" /> </el-form-item> + <el-form-item> - <el-button @click="onSubmit">{{ - $t('operatManage.BWL.change') - }}</el-button> - </el-form-item> - <el-form-item> - <el-button @click="onSubmit" + <el-button ><i class="el-icon-search"></i> {{ $t('operatManage.BWL.search') }}</el-button > </el-form-item> <el-form-item> - <el-button @click="onSubmit" + <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="BTableData" stripe style="width: 100%" height="85%"> + <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" @@ -118,6 +131,22 @@ 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 @@ -172,10 +201,21 @@ }}</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 style="width: 100%" height="85%"> + <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" @@ -212,6 +252,23 @@ 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 @@ -227,12 +284,88 @@ </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'; -import { blacklistSelectByPageAndCount } from '../../api/api'; +import { + blacklistSelectByPageAndCount, + blacklistAppend, + deletelacklist, + updateblacklist, + blacklistSelectCount, +} from '../../api/api'; export default { //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� components: { @@ -241,6 +374,17 @@ data() { return { + menuStatus: { + delete: false, + insert: false, + update: false, + }, + updateFormdialog: false, + multipleSelection: [], + formLabelWidth: '100px', + insertform: {}, + editfrom: {}, + InsertFormdialog: false, activeName: 'first', currentPage: 1, form: { @@ -267,6 +411,86 @@ }; }, 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; @@ -338,11 +562,32 @@ 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() { + 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(); }, diff --git a/src/views/maintenance/logLog.vue b/src/views/maintenance/logLog.vue index f19fe1d..ce2b45a 100644 --- a/src/views/maintenance/logLog.vue +++ b/src/views/maintenance/logLog.vue @@ -9,7 +9,7 @@ <el-divider /> <div class="inquire"> <div class="herder_box"> - {{ $t("operatManage.operationLogObj.queryRegion") }} + {{ $t('operatManage.operationLogObj.queryRegion') }} </div> <el-form ref="formData1" :model="form" :inline="true"> <el-form-item @@ -31,19 +31,9 @@ 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-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 @@ -76,10 +66,10 @@ </el-form-item> <el-form-item> <el-button @click="onSubmit" icon="el-icon-search">{{ - $t("operatManage.operationLogObj.inquire") + $t('operatManage.operationLogObj.inquire') }}</el-button> <el-button @click="onEmpty('formData1')" icon="el-icon-delete">{{ - $t("operatManage.operationLogObj.empty") + $t('operatManage.operationLogObj.empty') }}</el-button> </el-form-item> </el-form> @@ -134,8 +124,8 @@ </template> <script> -import MyBread from "../../components/MyBread.vue"; -import { loginSelectByPageAndCount } from "../../api/api"; +import MyBread from '../../components/MyBread.vue'; +import { loginSelectByPageAndCount } from '../../api/api'; export default { //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� components: { @@ -145,9 +135,7 @@ data() { return { currentPage4: 1, - form: { - - }, + form: {}, tableData: [], listData: { pageIndex: 1, @@ -162,13 +150,13 @@ let data; switch (row[column.property]) { case 1: - data = "鐧诲綍"; + data = '鐧诲綍'; break; case 2: - data = "鏍¢獙"; + data = '鏍¢獙'; break; case 3: - data = "鐧诲嚭"; + data = '鐧诲嚭'; break; } return data; @@ -177,10 +165,10 @@ let data; switch (row[column.property]) { case 1: - data = "鎴愬姛"; + data = '鎴愬姛'; break; case 0: - data = "澶辫触"; + data = '澶辫触'; break; } return data; @@ -189,17 +177,17 @@ let data; switch (row[column.property]) { case 1: - data = "绠¢亾鍩虹澶ф暟鎹钩鍙�"; + data = '绠¢亾鍩虹澶ф暟鎹钩鍙�'; break; case 2: - data = "澶栭儴绯荤粺闆嗘垚"; + data = '澶栭儴绯荤粺闆嗘垚'; break; } return data; }, //鏍煎紡鍖栨椂闂� add0(m) { - return m < 10 ? "0" + m : m; + return m < 10 ? '0' + m : m; }, //鏍煎紡鍖栨椂闂� format(shijianchuo) { @@ -212,7 +200,7 @@ var mm = time.getMinutes(); var s = time.getSeconds(); return ( - y + "-" + this.add0(m) + "-" + this.add0(d) + y + '-' + this.add0(m) + '-' + this.add0(d) // " " + // this.add0(h) + // ":" + @@ -245,20 +233,28 @@ onEmpty(formData1) { this.$refs[formData1].resetFields(); //閲嶇疆琛ㄥ崟鏁版嵁 // this.form = {}; - this.form.start =null - this.form.end =null + this.form.start = null; + this.form.end = null; }, async getList() { const data = await loginSelectByPageAndCount(this.listData); if (data.code != 200) { - return this.$message.error("鍒楄〃璋冪敤澶辫触"); + return this.$message.error('鍒楄〃璋冪敤澶辫触'); } this.tableData = data.result; this.count = data.count; }, }, 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(); }, }; diff --git a/src/views/maintenance/parameterConfiguration.vue b/src/views/maintenance/parameterConfiguration.vue index f0b0ff4..e88a690 100644 --- a/src/views/maintenance/parameterConfiguration.vue +++ b/src/views/maintenance/parameterConfiguration.vue @@ -46,6 +46,7 @@ :label="$t('operatManage.sysLayOutObj.descr')" /> <el-table-column + v-if="menuStatus.update" fixed="right" :label="$t('common.operate')" width="100px" @@ -141,6 +142,11 @@ data() { return { + menuStatus: { + delete: false, + insert: false, + update: false, + }, formLabelWidth: '100px', upform: {}, EditFormdialog: false, @@ -212,8 +218,28 @@ this.tableData = data.result; this.count = 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() { + 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.getRoleTabelData(); }, }; diff --git a/src/views/maintenance/tokentool.vue b/src/views/maintenance/tokentool.vue index 1e2d131..ecfa447 100644 --- a/src/views/maintenance/tokentool.vue +++ b/src/views/maintenance/tokentool.vue @@ -47,12 +47,18 @@ <el-button icon="el-icon-delete" @click="onEmpty('formData1')">{{ $t('common.empty') }}</el-button> - <el-button @click="InsertFormdialog = true" icon="el-icon-edit">{{ - $t('common.append') - }}</el-button> - <el-button @click="delTokenData" icon="el-icon-delete">{{ - $t('common.delete') - }}</el-button> + <el-button + v-if="menuStatus.insert" + @click="InsertFormdialog = true" + icon="el-icon-edit" + >{{ $t('common.append') }}</el-button + > + <el-button + v-if="menuStatus.delete" + @click="delTokenData" + icon="el-icon-delete" + >{{ $t('common.delete') }}</el-button + > </el-form-item> </el-form> </div> @@ -137,6 +143,7 @@ $t('operatManage.tokentoolObj.renewal') }}</el-button> <el-button + v-if="menuStatus.update" @click="handleEdit(scope.$index, scope.row)" type="warning" plain @@ -321,12 +328,37 @@ pageIndex: 1, pageSize: 10, }, + menuStatus: { + delete: false, + insert: false, + update: false, + }, }; }, 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.getRoleTabelData(); }, methods: { + 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; + } + }, async delTokenData() { var std = []; for (var i in this.multipleSelection) { -- Gitblit v1.9.3