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> {{ - $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> {{ - $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> {{ - $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> {{ - $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