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> &nbsp;{{
                   $t('operatManage.BWL.search')
                 }}</el-button
               >
             </el-form-item>
             <el-form-item>
-              <el-button @click="onSubmit"
+              <el-button
                 ><i class="el-icon-delete"></i> &nbsp;{{
                   $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