From 8bc25357d5742f07710baa7a6f1d6ac4023da3ac Mon Sep 17 00:00:00 2001 From: wangting <wangting@vci-tech.com> Date: 星期三, 25 十二月 2024 12:00:55 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue | 59 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 34 insertions(+), 25 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue index fa92987..3f19ee1 100644 --- a/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue @@ -7,7 +7,7 @@ <div style="height: calc(100vh - 195px);"> <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick"> <span slot-scope="{ node, data }" class="el-tree-node__label"> - <span style="font-size: 15px"> + <span> <i class="el-icon-user-solid"></i> {{ (node || {}).label }} </span> @@ -22,15 +22,15 @@ <basic-container v-loading="treeLoading"> <h3 style="margin: 0 0 10px 0">鍔熻兘鏉冮檺閰嶇疆</h3> <div> - <el-button icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button> - <el-button icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary" + <el-button v-if="permissionList.rightBtn" icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button> + <el-button v-if="permissionList.resetBtn" icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary" @click="clearValue">閲嶇疆 </el-button> </div> <div style="height: calc(100vh - 232px);margin-top: 10px;"> <avue-tree ref="uiTree" :data="uiTreeData" :node-key="id" :option="uiTreeOption"> <span slot-scope="{ node, data }" class="el-tree-node__label"> - <span style="font-size: 15px"> + <span> <i :class="data.icon"></i> {{ (node || {}).label }} </span> @@ -46,6 +46,7 @@ <script> import {gridRoles} from "@/api/system/role/api"; import {getSysModelAuthTreeMenuByPID, getSysModelAuth, saveRoleRight} from "@/api/authority/functionView/api" +import {mapGetters} from "vuex"; export default { name: "index", @@ -83,6 +84,15 @@ contextData: [] } }, + computed:{ + ...mapGetters(["permission"]), + permissionList() { + return { + rightBtn: this.vaildData(this.permission[this.$route.query.id].RIGHT, false), + resetBtn: this.vaildData(this.permission[this.$route.query.id].reset, false), + }; + }, + }, created() { this.getTreeList(); this.getUITree(); @@ -103,6 +113,7 @@ this.treeLoading = true; getSysModelAuth({roleId: row.oid}).then(res => { const data = res.data.data; + // console.log(data); this.$refs.uiTree.setCheckedKeys(data); this.treeLoading = false; }) @@ -118,9 +129,20 @@ this.defaultExpandKeys = ['root']; getSysModelAuthTreeMenuByPID(params).then(res => { console.log(res); - this.processChildren(res.data.data); // 澶勭悊姣忎釜鑺傜偣 + let data= [{ + attributes: {}, + checked: false, + expanded: true, + data: "root", + childType: 1, + icon: 'el-icon-s-home', + id: 'root', + name:'鍔熻兘妯″潡', + children: res.data.data + }]; + this.processChildren(data[0]); // 澶勭悊姣忎釜鑺傜偣 this.uiTreeOption.defaultExpandedKeys = this.defaultExpandKeys; - this.uiTreeData = res.data.data; + this.uiTreeData = data; this.treeLoading = false; }).catch(error => { this.treeLoading = false; @@ -130,25 +152,15 @@ processChildren(item) { if (item.children && item.children.length > 0) { item.children = item.children.map(child => { - if (child.level < 2) { - // 榛樿鏍戣妭鐐瑰睍寮�涓ゅ眰鏁堟灉 + if (!child.childType) { + // 榛樿鏍戣妭鐐瑰睍寮�,鏈�瀛愮骇涓嶅睍寮� this.defaultExpandKeys.push(child.id) } - if (child.level == 1) { - child.icon = 'el-icon-s-promotion'; - child.label = child.data.label + '锛�' + child.data.name + '锛�' - } else if (child.level == 2) { - child.icon = 'el-icon-s-order'; - child.label = child.text - } else if (child.level == 3) { - child.icon = 'el-icon-office-building'; - child.label = child.text - } else if (child.level == 4) { + child.icon = 'el-icon-s-promotion'; + if (child.childType == 1) { child.icon = 'el-icon-document'; - child.label = child.text - } else if (child.level == 5) { + } else if (child.childType == 2) { child.icon = 'el-icon-s-tools'; - child.label = child.text } this.processChildren(child); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐� return child; // 鍙繑鍥炲瓙鑺傜偣鐨� attributes @@ -158,9 +170,6 @@ saveHandler() { const selectTreeList = this.$refs.uiTree.getCheckedNodes(); const selectParentList = this.$refs.uiTree.getHalfCheckedNodes(); - - console.log(selectTreeList); - console.log(selectParentList); if (selectTreeList.length == 0) { this.$message.error("璇烽�夋嫨鍔熻兘妯″潡"); @@ -183,12 +192,12 @@ } }) const data = [...parentData,...formData]; + data.shift(); const params = { roleId: this.nodeRow.oid, roleData: data } saveRoleRight(params).then(res => { - console.log(res); if (res.data.code === 200) { this.$message.success("鎺堟潈鎴愬姛"); } -- Gitblit v1.9.3