From 86bbd528b45050c9a260f5032f579a045a1b4d27 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 23 十月 2024 21:30:00 +0800
Subject: [PATCH] 日志联调上传
---
Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/UIDialog.vue | 110 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 84 insertions(+), 26 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/UIDialog.vue b/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/UIDialog.vue
index 255cce2..4b92d8d 100644
--- a/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/UIDialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/UIDialog.vue
@@ -8,8 +8,9 @@
:destroy-on-close="true"
:close-on-click-modal="false"
@close="cancelDialog">
+ <el-container style="height: 550px">
<el-aside>
- <basic-container>
+ <basic-container style="height: 500px">
<avue-tree ref="tree" :data="treeData" :option="treeOption" @node-click="nodeClick">
<span slot-scope="{ node, data }" class="el-tree-node__label">
<span style="font-size: 15px">
@@ -22,17 +23,21 @@
</el-aside>
<el-main>
- <basic-container>
- <avue-tree ref="uiTree" :data="uiTreeData" :option="uiTreeOption">
+ <basic-container style="height: 500px">
+ <h3 style="margin: 0">妯″潡鏉冮檺閰嶇疆</h3>
+ <div style="height: 445px;">
+ <avue-tree ref="uiTree" :data="uiTreeData" :option="uiTreeOption">
<span slot-scope="{ node, data }" class="el-tree-node__label">
- <span style="font-size: 15px">
- <i class="el-icon-user-solid"></i>
+ <span style="font-size: 15px">
+ <i :class="data.icon"></i>
{{ (node || {}).label }}
</span>
</span>
- </avue-tree>
+ </avue-tree>
+ </div>
</basic-container>
</el-main>
+ </el-container>
<div class="dialog-footer avue-dialog__footer">
<el-button type="primary" plain size="small" @click="submitDialog" >鎺堟潈</el-button>
<el-button type="primary" plain size="small" @click="clearValue" >閲嶇疆</el-button>
@@ -58,7 +63,6 @@
type:'',//涓氬姟绫诲瀷
context:'',//UI涓婁笅鏂嘽ode
treeOption: {
- height: '500px',
menu: false,
addBtn: false,
props: {
@@ -69,13 +73,17 @@
},
nodeRow: {},
treeData: [],
+ defaultExpandKeys:[],
uiTreeOption: {
- height: '500px',
+ nodeKey:'oid',
+ checkOnClickNode:true,
+ defaultExpandedKeys:this.defaultExpandKeys,
+ multiple: true,
menu: false,
addBtn: false,
filter:false,
props: {
- label: 'name',
+ label: 'label',
value: 'oid',
children: 'children'
}
@@ -89,7 +97,7 @@
this.context=context;
this.dialog.showDialog = true;
this.getTreeList()
-
+ this.uiTreeData=[];
},
cancelDialog() {
this.dialog.loading = false;
@@ -105,31 +113,81 @@
})
},
// 瑙掕壊鐐瑰嚮
- nodeClick(row) {
+ nodeClick(row,node) {
this.nodeRow = row;
-
const loading = this.$loading({});
- getUIAuthor().then(res => {
- this.uiTreeData = res.data.data;
+ const params = {
+ 'conditionMap[roleId]': this.nodeRow.oid,
+ 'conditionMap[type]': this.type,
+ 'conditionMap[context]': this.context
+ }
+ this.defaultExpandKeys=['root'];
+ getUIAuthor(params).then(res => {
+ this.processChildren(res.data.data[0]); // 澶勭悊姣忎釜鑺傜偣
+ this.uiTreeOption.defaultExpandedKeys=this.defaultExpandKeys;
+ this.uiTreeData = [{
+ attributes: {},
+ checked: false,
+ expanded: true,
+ data: "root",
+ level: 0,
+ icon: 'el-icon-s-home',
+ oid: res.data.data[0].oid,
+ label: res.data.data[0].text,
+ children: res.data.data[0].children
+ }];
loading.close();
- }).catch(error=>{
+ }).catch(error => {
loading.close();
})
},
+ //澶勭悊鏍�
+ processChildren(item) {
+ if (item.children && item.children.length > 0) {
+ item.children = item.children.map(child => {
+ if(child.level<4){
+ this.defaultExpandKeys.push(child.oid)
+ }
+ 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-document';
+ child.label=child.text
+ }else if(child.level==5){
+ child.icon='el-icon-s-tools';
+ child.label=child.text
+ }
+ this.processChildren(child); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐�
+ return child; // 鍙繑鍥炲瓙鑺傜偣鐨� attributes
+ });
+ }
+ },
submitDialog() {
- this.$refs.form.validate((valid) => {
- if (valid) {
- const formData={}
- authorizedUI(formData).then(res => {
- if (res.data.success) {
- this.$message.success("淇濆瓨鎴愬姛");
- this.cancelDialog();
- }
- });
- } else {
- return false;
+ const selectTreeList = this.$refs.uiTree.getCheckedNodes();
+ if (selectTreeList.length == 0) {
+ this.$message.error("璇烽�夋嫨鍔熻兘妯″潡");
+ return;
+ }
+ const formData = {
+ roleId: this.nodeRow.oid,
+ type: this.type,
+ context: this.context,
+ selectTreeList: selectTreeList
+ }
+ authorizedUI(formData).then(res => {
+ if (res.data.success) {
+ this.$message.success("鎺堟潈鎴愬姛");
+ this.cancelDialog();
}
});
+
},
clearValue(){
this.$refs.uiTree.setCheckedNodes([])
--
Gitblit v1.9.3