From 62ae55ae397b7997b147a7b946f7ad5f1c78a45d Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期三, 26 十月 2022 19:34:33 +0800
Subject: [PATCH] 综合展示,系统管理,授权管理,专题图,资料馆添加权限配置

---
 src/views/userManage/userInfoManage.vue |  283 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 160 insertions(+), 123 deletions(-)

diff --git a/src/views/userManage/userInfoManage.vue b/src/views/userManage/userInfoManage.vue
index 21a9559..d307805 100644
--- a/src/views/userManage/userInfoManage.vue
+++ b/src/views/userManage/userInfoManage.vue
@@ -35,29 +35,37 @@
         <el-form-item>
           <el-button @click="queryInfo()"
             ><i class="el-icon-search"></i> &nbsp;{{
-              $t("operatManage.ELM.search")
+              $t('operatManage.ELM.search')
             }}</el-button
           >
         </el-form-item>
         <el-form-item>
           <el-button @click="resetInfo('queryForm')"
             ><i class="el-icon-delete"></i>&nbsp;{{
-              $t("operatManage.ELM.reset")
+              $t('operatManage.ELM.reset')
             }}</el-button
           >
         </el-form-item>
         <br />
         <el-form-item>
-          <el-button type="success" size="small" @click="showAddDialog"
+          <el-button
+            v-if="menuStatus.insert"
+            type="success"
+            size="small"
+            @click="showAddDialog"
             ><i class="el-icon-plus"></i>&nbsp;{{
-              $t("common.append")
+              $t('common.append')
             }}</el-button
           >
         </el-form-item>
         <el-form-item>
-          <el-button type="danger" size="small" @click="deleteUserInfo"
+          <el-button
+            v-if="menuStatus.delete"
+            type="danger"
+            size="small"
+            @click="deleteUserInfo"
             ><i class="el-icon-delete"></i>&nbsp;{{
-              $t("common.delete")
+              $t('common.delete')
             }}</el-button
           >
         </el-form-item>
@@ -182,6 +190,7 @@
           :label="$t('common.operate')"
           width="80px"
           fixed="right"
+          v-if="menuStatus.update"
         >
           <template slot-scope="scope">
             <!-- <el-button type="primary" size="small">淇敼</el-button> -->
@@ -189,7 +198,7 @@
               type="warning"
               @click="editInfo(scope.row)"
               size="mini"
-              >{{ $t("common.edit") }}</el-button
+              >{{ $t('common.edit') }}</el-button
             >
           </template>
         </el-table-column>
@@ -448,8 +457,8 @@
 
 <script>
 var encrypt = new JSEncrypt();
-import { mapActions } from "vuex";
-import MyBread from "../../components/MyBread.vue";
+import { mapActions } from 'vuex';
+import MyBread from '../../components/MyBread.vue';
 import {
   queryDepTree,
   queryPageUser,
@@ -458,7 +467,7 @@
   updateUser,
   updatePwd,
   selectByUserid,
-} from "../../api/api";
+} from '../../api/api';
 export default {
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
   components: {
@@ -466,132 +475,137 @@
   },
   data() {
     let validName = (rule, value, callback) => {
-      if (value === "" || value === null || value === undefined) {
-        return callback(new Error("璇疯緭鍏ュ瘑鐮�"));
+      if (value === '' || value === null || value === undefined) {
+        return callback(new Error('璇疯緭鍏ュ瘑鐮�'));
       } else {
         callback();
       }
     };
     let validatePass = (rule, value, callback) => {
-      if (value === "" || value === undefined) {
-        callback(new Error("璇峰啀娆¤緭鍏ュ瘑鐮�"));
+      if (value === '' || value === undefined) {
+        callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�'));
       } else if (value !== this.editForm.pwd) {
-        callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
+        callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
       } else {
         callback();
       }
     };
     let resetPass = (rule, value, callback) => {
-      if (value === "" || value === undefined) {
-        callback(new Error("璇峰啀娆¤緭鍏ュ瘑鐮�"));
+      if (value === '' || value === undefined) {
+        callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�'));
       } else if (value !== this.pwdForm.newPwd) {
-        callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
+        callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
       } else {
         callback();
       }
     };
     return {
+      menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+      },
       isNewUser: false,
       currentPage: 1,
       pageSize: 10,
       pageIndex: 1,
       defaultProps: {
-        children: "children",
-        label: "name",
+        children: 'children',
+        label: 'name',
       },
       queryForm: {
-        uname: "",
+        uname: '',
         depid: null,
-        depName: "",
+        depName: '',
       },
       tableData: [],
       fullscreenLoading: false,
       count: 0,
-      formLabelWidth: "100px",
+      formLabelWidth: '100px',
       dialogFormVisible: false,
-      initialForm: "",
-      behavior: "",
+      initialForm: '',
+      behavior: '',
       multipleSelection: [],
       resetPwd: false,
       editForm: {
-        uid: "",
-        uname: "",
-        oldPwd: "",
-        pwd: "",
-        checkPass: "",
+        uid: '',
+        uname: '',
+        oldPwd: '',
+        pwd: '',
+        checkPass: '',
         sex: null,
-        natives: "",
+        natives: '',
         depid: null,
-        idcard: "",
-        job: "",
-        edu: "",
-        addr: "",
-        email: "",
-        contact: "",
+        idcard: '',
+        job: '',
+        edu: '',
+        addr: '',
+        email: '',
+        contact: '',
         status: null,
-        bak: "",
-        salt: "",
+        bak: '',
+        salt: '',
       },
       pwdForm: {
-        adminPwd: "",
-        newPwd: "",
-        checkPwd: "",
+        adminPwd: '',
+        newPwd: '',
+        checkPwd: '',
         ids: [],
       },
       treeOptions: [],
       statusOpt: [
         {
           value: 0,
-          label: "姝e父",
+          label: '姝e父',
         },
         {
           value: 1,
-          label: "绂佺敤",
+          label: '绂佺敤',
         },
         {
           value: 2,
-          label: "鍒犻櫎",
+          label: '鍒犻櫎',
         },
         {
           value: 3,
-          label: "鐢宠",
+          label: '鐢宠',
         },
         {
           value: 4,
-          label: "鎷掓壒",
+          label: '鎷掓壒',
         },
       ],
       depList: [],
       sexOpt: [
         {
           value: 0,
-          label: "濂�",
+          label: '濂�',
         },
         {
           value: 1,
-          label: "鐢�",
+          label: '鐢�',
         },
         {
           value: -1,
-          label: "鏈煡",
+          label: '鏈煡',
         },
       ],
       rules: {
         uid: [
-          { required: true, validator: validName, trigger: "blur" },
+          { required: true, validator: validName, trigger: 'blur' },
           {
-            trigger: "blur",
+            trigger: 'blur',
             validator: (rule, value, callback) => {
               var reg = new RegExp(/^[a-zA-Z0-9_]{0,15}$/); //瀛楃涓叉鍒欒〃杈惧紡 4鍒�14浣嶏紙瀛楁瘝锛屾暟瀛楋紝涓嬪垝绾匡紝鍑忓彿锛�
               if (!reg.test(value)) {
                 callback(
-                  new Error("璐﹀彿蹇呴』鐢卞瓧姣嶏紝鏁板瓧鎴栦笅鍒掔嚎,闀垮害涓嶅緱瓒呰繃16浣�")
+                  new Error('璐﹀彿蹇呴』鐢卞瓧姣嶏紝鏁板瓧鎴栦笅鍒掔嚎,闀垮害涓嶅緱瓒呰繃16浣�')
                 );
               } else {
                 selectByUserid({ uid: value }).then((res) => {
                   if (res.result != null) {
                     this.isNewUser = false;
-                    callback(new Error("璐﹀彿宸插瓨鍦�"));
+                    callback(new Error('璐﹀彿宸插瓨鍦�'));
                   } else {
                     this.isNewUser = true;
                     callback();
@@ -604,16 +618,16 @@
         pwd: [
           {
             required: true,
-            message: "璇疯緭鍏ュ瘑鐮�",
+            message: '璇疯緭鍏ュ瘑鐮�',
             transform: (value) => value,
-            trigger: "blur",
+            trigger: 'blur',
           },
           {
-            type: "string",
-            message: "璇疯緭鍏ヤ笉鍖呭惈绌烘牸鐨勫瓧绗�",
-            trigger: "blur",
+            type: 'string',
+            message: '璇疯緭鍏ヤ笉鍖呭惈绌烘牸鐨勫瓧绗�',
+            trigger: 'blur',
             transform(value) {
-              if (value && value.indexOf(" ") === -1) {
+              if (value && value.indexOf(' ') === -1) {
                 return value;
               } else {
                 return false;
@@ -621,14 +635,14 @@
             },
           },
           {
-            trigger: "blur",
+            trigger: 'blur',
             validator: (rule, value, callback) => {
-              var regex = new RegExp("");
+              var regex = new RegExp('');
               var passwordreg =
                 /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{8,20}$/;
               if (!passwordreg.test(value)) {
                 callback(
-                  new Error("瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�8-20浣�")
+                  new Error('瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�8-20浣�')
                 );
               } else {
                 callback();
@@ -637,21 +651,21 @@
           },
         ],
         checkPass: [
-          { required: true, validator: validatePass, trigger: "blur" },
+          { required: true, validator: validatePass, trigger: 'blur' },
         ],
-        adminPwd: [{ validator: validName, trigger: "blur" }],
+        adminPwd: [{ validator: validName, trigger: 'blur' }],
         newPwd: [
           {
-            message: "璇疯緭鍏ュ瘑鐮�",
+            message: '璇疯緭鍏ュ瘑鐮�',
             transform: (value) => value,
-            trigger: "blur",
+            trigger: 'blur',
           },
           {
-            type: "string",
-            message: "璇疯緭鍏ヤ笉鍖呭惈绌烘牸鐨勫瓧绗�",
-            trigger: "blur",
+            type: 'string',
+            message: '璇疯緭鍏ヤ笉鍖呭惈绌烘牸鐨勫瓧绗�',
+            trigger: 'blur',
             transform(value) {
-              if (value && value.indexOf(" ") === -1) {
+              if (value && value.indexOf(' ') === -1) {
                 return value;
               } else {
                 return false;
@@ -659,14 +673,14 @@
             },
           },
           {
-            trigger: "blur",
+            trigger: 'blur',
             validator: (rule, value, callback) => {
-              var regex = new RegExp("");
+              var regex = new RegExp('');
               var passwordreg =
                 /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{8,20}$/;
               if (!passwordreg.test(value)) {
                 callback(
-                  new Error("瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�8-20浣�")
+                  new Error('瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�8-20浣�')
                 );
               } else {
                 callback();
@@ -674,12 +688,12 @@
             },
           },
         ],
-        checkPwd: [{ validator: resetPass, trigger: "blur" }],
+        checkPwd: [{ validator: resetPass, trigger: 'blur' }],
       },
     };
   },
   methods: {
-    ...mapActions(["login", "getpublickey"]),
+    ...mapActions(['login', 'getpublickey']),
     getUserInfo(params) {
       queryDepTree()
         .then((res) => {
@@ -717,7 +731,7 @@
       return cloneData.filter((father) => {
         // 寰幆鎵�鏈夐」
         let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁
-        branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
+        branchArr.length > 0 ? (father.children = branchArr) : ''; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
         return father.pid == 0; // 杩斿洖涓�绾ц彍鍗�
       });
     },
@@ -738,7 +752,7 @@
           this.tableData = res.result;
           this.count = res.count;
         } else {
-          console.log("鏌ヨ鎺ュ彛鎶ラ敊");
+          console.log('鏌ヨ鎺ュ彛鎶ラ敊');
           this.$notify.error({
             title: res.code,
             message: res.result,
@@ -752,7 +766,7 @@
     },
     //鏂板鎸夐挳
     showAddDialog() {
-      this.behavior = "鏂板鐢ㄦ埛";
+      this.behavior = '鏂板鐢ㄦ埛';
       this.editForm = {};
       this.dialogFormVisible = true;
     },
@@ -778,8 +792,8 @@
                 if (res.code == 200) {
                   this.getUserInfo(1, 10);
                   this.$message({
-                    message: "娣诲姞鎴愬姛",
-                    type: "success",
+                    message: '娣诲姞鎴愬姛',
+                    type: 'success',
                   });
                   this.editForm = {};
                   this.dialogFormVisible = false;
@@ -787,21 +801,21 @@
               }, 500);
             })
             .catch((res) => {
-              alert("淇敼澶辫触锛岃閲嶈瘯锛�");
+              alert('淇敼澶辫触锛岃閲嶈瘯锛�');
               this.fullscreenLoading = false;
             });
         } else {
-          console.log("error submit!!");
+          console.log('error submit!!');
           return false;
         }
       });
     },
     //鍒犻櫎鎸夐挳
     deleteUserInfo() {
-      this.$confirm("姝ゆ搷浣滃皢鍒犻櫎宸查�変腑鐨勭敤鎴�, 鏄惁缁х画?", "鎻愮ず", {
-        confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
-        type: "warning",
+      this.$confirm('姝ゆ搷浣滃皢鍒犻櫎宸查�変腑鐨勭敤鎴�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning',
       })
         .then(() => {
           var std = [];
@@ -812,22 +826,22 @@
             .then((res) => {
               if (res.code == 200) {
                 this.$message({
-                  type: "success",
-                  message: "鍒犻櫎鎴愬姛!",
+                  type: 'success',
+                  message: '鍒犻櫎鎴愬姛!',
                 });
                 this.multipleSelection = [];
                 this.getUserInfo(1, 10);
               } else {
-                this.$message.error("鍒犻櫎澶辫触");
+                this.$message.error('鍒犻櫎澶辫触');
               }
             })
             .catch(() => {
-              this.$message.error("鍒犻櫎澶辫触");
+              this.$message.error('鍒犻櫎澶辫触');
               this.multipleSelection = [];
             });
         })
         .catch(() => {
-          this.$message("宸插彇娑堝垹闄�");
+          this.$message('宸插彇娑堝垹闄�');
         });
     },
     //閲嶇疆瀵嗙爜
@@ -837,7 +851,7 @@
         std.push(this.multipleSelection[i].id);
       }
       if (std.length == 0) {
-        alert("璇峰厛閫夋嫨鐢ㄦ埛");
+        alert('璇峰厛閫夋嫨鐢ㄦ埛');
         return;
       }
       this.pwdForm.ids = std;
@@ -864,13 +878,13 @@
                 if (res.code == 200) {
                   this.getUserInfo(1, 10);
                   this.$message({
-                    message: "淇敼鎴愬姛",
-                    type: "success",
+                    message: '淇敼鎴愬姛',
+                    type: 'success',
                   });
                   this.pwdForm = {
-                    adminPwd: "",
-                    newPwd: "",
-                    checkPwd: "",
+                    adminPwd: '',
+                    newPwd: '',
+                    checkPwd: '',
                     ids: [],
                   };
                   this.multipleSelection = [];
@@ -879,7 +893,7 @@
               }, 500);
             })
             .catch((res) => {
-              alert("淇敼澶辫触锛岃閲嶈瘯锛�");
+              alert('淇敼澶辫触锛岃閲嶈瘯锛�');
               this.fullscreenLoading = false;
             });
         } else {
@@ -891,9 +905,9 @@
     editInfo(row) {
       delete row.updateTime;
       delete row.updateUser;
-      row.pwd = "";
+      row.pwd = '';
       this.initialForm = JSON.stringify(row);
-      this.behavior = "淇敼淇℃伅";
+      this.behavior = '淇敼淇℃伅';
       this.editForm = JSON.parse(JSON.stringify(row));
       this.dialogFormVisible = true;
     },
@@ -903,31 +917,31 @@
     },
     //鍏抽棴寮瑰嚭妗�
     handleClose(done) {
-      this.$confirm("纭鍏抽棴锛�")
+      this.$confirm('纭鍏抽棴锛�')
         .then((_) => {
           this.editForm = {
-            uid: "",
-            uname: "",
-            oldPwd: "",
-            pwd: "",
-            checkPass: "",
+            uid: '',
+            uname: '',
+            oldPwd: '',
+            pwd: '',
+            checkPass: '',
             sex: null,
-            natives: "",
+            natives: '',
             depid: null,
-            idcard: "",
-            job: "",
-            edu: "",
-            addr: "",
-            email: "",
-            contact: "",
+            idcard: '',
+            job: '',
+            edu: '',
+            addr: '',
+            email: '',
+            contact: '',
             status: null,
-            bak: "",
-            salt: "",
+            bak: '',
+            salt: '',
           };
           this.pwdForm = {
-            adminPwd: "",
-            newPwd: "",
-            checkPwd: "",
+            adminPwd: '',
+            newPwd: '',
+            checkPwd: '',
             ids: [],
           };
 
@@ -953,8 +967,8 @@
                 if (res.code == 200) {
                   this.getUserInfo(1, 10);
                   this.$message({
-                    message: "淇敼鎴愬姛",
-                    type: "success",
+                    message: '淇敼鎴愬姛',
+                    type: 'success',
                   });
                   this.editForm = {};
                   this.dialogFormVisible = false;
@@ -962,11 +976,11 @@
               }, 500);
             })
             .catch((res) => {
-              alert("淇敼澶辫触锛岃閲嶈瘯锛�");
+              alert('淇敼澶辫触锛岃閲嶈瘯锛�');
               this.fullscreenLoading = false;
             });
         } else {
-          console.log("error submit!!");
+          console.log('error submit!!');
           return false;
         }
       });
@@ -991,11 +1005,34 @@
       this.currentPage = val;
       this.queryInfo();
     },
+    showPermsMenu(res) {
+      console.log(res.tag);
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
+      }
+    },
   },
   mounted() {
     this.getUserInfo(1, 10);
     this.getpublickey();
   },
+  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]);
+      }
+    }
+  },
 };
 </script>
 <style>

--
Gitblit v1.9.3