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/maintenance/menuSettings.vue | 145 +++++++++++++++++++++++++++++------------------- 1 files changed, 87 insertions(+), 58 deletions(-) diff --git a/src/views/maintenance/menuSettings.vue b/src/views/maintenance/menuSettings.vue index ff86f67..f34517f 100644 --- a/src/views/maintenance/menuSettings.vue +++ b/src/views/maintenance/menuSettings.vue @@ -23,6 +23,7 @@ <span>{{ node.label }}</span> <span class="btnBox"> <el-button + v-if="menuStatus.insert" type="text" size="mini" @click="() => append(node, data)" @@ -30,6 +31,7 @@ <i class="el-icon-circle-plus"></i> </el-button> <el-button + v-if="menuStatus.delete" type="text" size="mini" @click="() => remove(node, data)" @@ -99,7 +101,7 @@ <el-form-item label="澶囨敞" :label-width="formLabelWidth"> <el-input v-model="itemdetail.bak" autocomplete="off"></el-input> </el-form-item> - <div class="btnBox"> + <div class="btnBox" v-if="menuStatus.update"> <el-button type="primary" @click="updMenu('itemdetail')" >淇濆瓨</el-button > @@ -179,7 +181,7 @@ </template> <script> -import MyBread from "../../components/MyBread.vue"; +import MyBread from '../../components/MyBread.vue'; import { queryMenuTree, updateMenuTree, @@ -187,7 +189,7 @@ queryMaxId, insertMenu, deleteMenu, -} from "../../api/api"; +} from '../../api/api'; export default { //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� components: { @@ -195,9 +197,14 @@ }, data() { return { + menuStatus: { + delete: false, + insert: false, + update: false, + }, defaultProps: { - children: "children", - label: "cnName", + children: 'children', + label: 'cnName', }, fullscreenLoading: false, oriData: [], //鍘熷鏍戞暟鎹� @@ -205,53 +212,53 @@ old_dirDat: [], //el鏍戞暟鎹�(鎷栧姩鍓�) newData: [], //鎷栧姩鍚庡師濮嬫暟鎹� itemdetail: { - cnName: "", - enName: "", + cnName: '', + enName: '', icon: null, isShow: null, perms: null, - url: "", + url: '', type: null, - bak: "", + bak: '', }, - backUpData: "", - formLabelWidth: "130px", - delChildID: "", + backUpData: '', + formLabelWidth: '130px', + delChildID: '', delChildIDs: [], dialogFormVisible: false, ruleForm: { level: null, orderNum: null, pid: null, - enName: "", - cnName: "", - icon: "", + enName: '', + cnName: '', + icon: '', isShow: null, - url: "", + url: '', perms: null, type: null, - bak: "", + bak: '', }, rules: { enName: [ - { required: true, message: "璇疯緭鍏ヨ嫳鏂囧悕绉�", trigger: "blur" }, + { required: true, message: '璇疯緭鍏ヨ嫳鏂囧悕绉�', trigger: 'blur' }, ], cnName: [ - { required: true, message: "璇疯緭鍏ヤ腑鏂囧悕绉�", trigger: "blur" }, + { required: true, message: '璇疯緭鍏ヤ腑鏂囧悕绉�', trigger: 'blur' }, ], isShow: [ { required: true, - message: "璇烽�夋嫨鏄惁鏄剧ず", - trigger: "change", + message: '璇烽�夋嫨鏄惁鏄剧ず', + trigger: 'change', }, ], type: [ { required: true, - message: "璇烽�夋嫨鑺傜偣绫诲瀷", - trigger: "change", + message: '璇烽�夋嫨鑺傜偣绫诲瀷', + trigger: 'change', }, ], }, @@ -260,25 +267,25 @@ options1: [ { value: 0, - label: "闅愯棌", + label: '闅愯棌', }, { value: 1, - label: "鏄剧ず", + label: '鏄剧ず', }, ], options2: [ { value: 0, - label: "鏍圭洰褰�", + label: '鏍圭洰褰�', }, { value: 1, - label: "鑿滃崟", + label: '鑿滃崟', }, { value: 2, - label: "鎸夐挳", + label: '鎸夐挳', }, ], }; @@ -295,7 +302,7 @@ this.oriData = res.result; this.newData = res.result; } else { - console.log("鎺ュ彛鎶ラ敊"); + console.log('鎺ュ彛鎶ラ敊'); } }); }, @@ -304,7 +311,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; // 杩斿洖涓�绾ц彍鍗� }); }, @@ -332,8 +339,8 @@ this.fullscreenLoading = false; if (res.code == 200) { this.$message({ - message: "娣诲姞鎴愬姛", - type: "success", + message: '娣诲姞鎴愬姛', + type: 'success', }); this.getMenuTree(); this.itemdetail = {}; @@ -345,7 +352,7 @@ }) .catch((res) => { this.itemdetail = {}; - this.$message.error("娣诲姞澶辫触"); + this.$message.error('娣诲姞澶辫触'); this.fullscreenLoading = false; console.log(res); }); @@ -357,10 +364,10 @@ }); }, remove(node, data) { - this.$confirm("姝ゆ搷浣滃皢鍒犻櫎璇ヨ妭鐐�, 鏄惁缁х画?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", + this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ヨ妭鐐�, 鏄惁缁х画?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', }) .then(() => { //鍏勫紵閲嶆柊鎺掑簭 @@ -381,25 +388,25 @@ .then((res) => { if (res[0].code == 200 && res[1].code == 200) { this.$message({ - type: "success", - message: "鍒犻櫎鎴愬姛!", + type: 'success', + message: '鍒犻櫎鎴愬姛!', }); this.getMenuTree(); this.itemdetail = {}; } else if (res[0].code == 200) { this.getMenuTree(); - this.$message.error("鍒犻櫎鎴愬姛锛屼綅缃皟鏁村け璐�"); + this.$message.error('鍒犻櫎鎴愬姛锛屼綅缃皟鏁村け璐�'); } else if (res[1].code == 200) { this.getMenuTree(); - this.$message.error("鍒犻櫎澶辫触,浣嶇疆璋冩暣鎴愬姛"); + this.$message.error('鍒犻櫎澶辫触,浣嶇疆璋冩暣鎴愬姛'); } else { - this.$message.error("鍒犻櫎澶辫触"); + this.$message.error('鍒犻櫎澶辫触'); } }) .catch(() => { this.$message({ - type: "error", - message: "鍒犻櫎澶辫触", + type: 'error', + message: '鍒犻櫎澶辫触', }); }); @@ -407,7 +414,7 @@ this.delChildIDs = []; }) .catch(() => { - this.$message("宸插彇娑堝垹闄�"); + this.$message('宸插彇娑堝垹闄�'); }); }, traverseArr(obj) { @@ -435,21 +442,21 @@ this.old_dirDat = JSON.parse(JSON.stringify(this.menuList)); //灏嗗浠界殑dir閲嶆柊璧嬪�� }, handleDrop(draggingNode, dropNode, dropType, ev) { - this.$confirm("姝ゆ搷浣滃皢淇濆瓨鐩綍鏇存敼, 鏄惁缁х画?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", + this.$confirm('姝ゆ搷浣滃皢淇濆瓨鐩綍鏇存敼, 鏄惁缁х画?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', }) .then(() => { //鐖惰妭鐐� - let data = dropType != "inner" ? dropNode.parent.data : dropNode.data; + let data = dropType != 'inner' ? dropNode.parent.data : dropNode.data; // 鐖惰妭鐐逛腑鍏ㄩ儴瀛愯妭鐐� let nodeData = - dropNode.level == 1 && dropType != "inner" ? data : data.children; + dropNode.level == 1 && dropType != 'inner' ? data : data.children; //鍙樻洿鑺傜偣 // console.log(nodeData); nodeData.forEach((item, i) => { - if (dropType != "inner") { + if (dropType != 'inner') { if (draggingNode.data.pid === dropNode.data.pid) { item.pid = item.pid; } else { @@ -474,8 +481,8 @@ }) .catch(() => { this.$message({ - type: "info", - message: "宸插彇娑堟洿鏀�", + type: 'info', + message: '宸插彇娑堟洿鏀�', }); this.menuList = this.old_dirDat; //灏嗗浠界殑dir閲嶆柊璧嬪�� }); @@ -492,11 +499,11 @@ this.getMenuTree(); return; } else { - alert("璋冩暣澶辫触锛岃閲嶈瘯锛�"); + alert('璋冩暣澶辫触锛岃閲嶈瘯锛�'); } }) .catch(() => { - alert("淇敼澶辫触锛岃閲嶈瘯锛�"); + alert('淇敼澶辫触锛岃閲嶈瘯锛�'); }); }, handleNodeClick(data) { @@ -522,7 +529,7 @@ }, 500); }) .catch((res) => { - alert("淇敼澶辫触锛岃閲嶈瘯锛�"); + alert('淇敼澶辫触锛岃閲嶈瘯锛�'); this.fullscreenLoading = false; }); } else { @@ -533,14 +540,36 @@ }, reset(formName) { this.$refs[formName].resetFields(); - if (this.backUpData != "") { + if (this.backUpData != '') { this.itemdetail = JSON.parse(this.backUpData); + } + }, + 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; } }, }, mounted() { this.getMenuTree(); }, + 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 lang="less" scoped> -- Gitblit v1.9.3