fix bug
This commit is contained in:
@ -83,7 +83,7 @@ console.log(this.params.infoUrl)
|
||||
close() {
|
||||
this.modal.destroy();
|
||||
}
|
||||
changeIF(value: boolean) {
|
||||
changeIF(value: any) {
|
||||
console.log(value);
|
||||
console.log('54545');
|
||||
this.changeValue = true
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';
|
||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||
import { _HttpClient } from '@delon/theme';
|
||||
import { EAEnvironmentService } from '@shared';
|
||||
import { NzTreeComponent } from 'ng-zorro-antd/tree';
|
||||
import { SystemService } from '../../../services/system.service';
|
||||
@ -19,7 +19,6 @@ export class SettingMenuComponent implements OnInit, OnChanges {
|
||||
defaultCheckedKeys: any[] = [];
|
||||
functionList: any[] = [];
|
||||
allChecked = false;
|
||||
changeIFT = false;
|
||||
indeterminate = true;
|
||||
@Input() type = 'edit';
|
||||
@Input() source = '';
|
||||
@ -27,7 +26,6 @@ export class SettingMenuComponent implements OnInit, OnChanges {
|
||||
@Input() isAuthorityIdDTOList: any[] = [];
|
||||
@Input() authorityAssistId: any[] = [];
|
||||
@Input() roleId: any;
|
||||
@Output() changeIF= new EventEmitter();
|
||||
@Output() changeData = new EventEmitter();
|
||||
constructor(public service: SystemService, private cdr: ChangeDetectorRef, private envSrv: EAEnvironmentService) {}
|
||||
ngOnChanges(changes: SimpleChanges): void {
|
||||
@ -36,9 +34,9 @@ export class SettingMenuComponent implements OnInit, OnChanges {
|
||||
this.authority = this.isAuthorityIdDTOList || [];
|
||||
}
|
||||
}
|
||||
if (changes.authorityAssistId) {
|
||||
this.defaultCheckedKeys = [...this.authorityAssistId];
|
||||
}
|
||||
// if (changes.authorityAssistId) {
|
||||
// this.defaultCheckedKeys = [...this.authorityAssistId];
|
||||
// }
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@ -59,44 +57,25 @@ export class SettingMenuComponent implements OnInit, OnChanges {
|
||||
});
|
||||
}
|
||||
addAuthority(origin: { id: any; all: any }, node: { buttonInfoList: any[] }, item?: { checked: any; functionButtonId: any }) {
|
||||
console.log(origin);
|
||||
console.log(origin,node);
|
||||
|
||||
if (this.authority?.length && this.authority.filter(authItem => authItem.authorityId === origin.id).length) {
|
||||
// 判断此菜单权限是否已经存在权限列表中
|
||||
// 当前操作菜单id存在权限列表里
|
||||
this.authority.forEach(menuItem => {
|
||||
console.log(menuItem);
|
||||
console.log(item);
|
||||
|
||||
if (menuItem.authorityId === origin.id) {
|
||||
menuItem.buttonAuthorityIds = menuItem.buttonAuthorityIds || []; // 防止属性不存在,给属性指定数据类型
|
||||
if (item) {
|
||||
this.changeIF.emit(true);
|
||||
this.changeIFT = true
|
||||
// 判断此菜单下是否已有此按钮权限
|
||||
// this.againGetBtn(id, origin);
|
||||
const params = {
|
||||
id: origin.id
|
||||
};
|
||||
this.service.request(this.service.$api_getFunctionButtonInfo, params).subscribe(res => {
|
||||
if (res) {
|
||||
let origins: any = {};
|
||||
origins.buttonInfoList = res;
|
||||
origins.all = false;
|
||||
console.log(origins);
|
||||
|
||||
// 判断此菜单下是否已有此按钮权限
|
||||
this.againGetBtn(origin.id, origins);
|
||||
}
|
||||
});
|
||||
// 单选
|
||||
if (item.checked) {
|
||||
if (menuItem.buttonAuthorityIds.indexOf(item.functionButtonId) === -1) {
|
||||
// 如果该按钮在数据权限数组中不存在
|
||||
console.log('不存在');
|
||||
|
||||
menuItem.buttonAuthorityIds.push(item.functionButtonId);
|
||||
}
|
||||
} else {
|
||||
console.log('存在');
|
||||
if (menuItem.buttonAuthorityIds && menuItem.buttonAuthorityIds.length) {
|
||||
menuItem.buttonAuthorityIds.forEach((btnItem: any, index: any) => {
|
||||
if (btnItem === item.functionButtonId) {
|
||||
@ -347,20 +326,9 @@ export class SettingMenuComponent implements OnInit, OnChanges {
|
||||
}
|
||||
// 再次请求,需要判断暂存权限数组是否已有此权限
|
||||
againGetBtn(id: any, origin: any) {
|
||||
console.log(id,origin);
|
||||
|
||||
console.log(this.authority);
|
||||
console.log(this.authority.length);
|
||||
|
||||
if ((this.authority && this.authority.length !== 0)) {
|
||||
console.log('1111');
|
||||
|
||||
if (this.authority && this.authority.length === 0) {
|
||||
const buttonAuthorityIds: any = [];
|
||||
console.log(origin);
|
||||
console.log(origin.checked);
|
||||
|
||||
if (origin.checked) {
|
||||
|
||||
origin.buttonInfoList.forEach((btnItem: { functionButtonId: any; checked: boolean }) => {
|
||||
btnItem.checked = true;
|
||||
buttonAuthorityIds.push(btnItem.functionButtonId);
|
||||
@ -368,8 +336,6 @@ export class SettingMenuComponent implements OnInit, OnChanges {
|
||||
this.authority.push({ authorityId: origin.key, buttonAuthorityIds, isUpdateAuthority: 1 });
|
||||
}
|
||||
} else {
|
||||
console.log('22222');
|
||||
|
||||
if (origin.checked) {
|
||||
//菜单勾选情况下
|
||||
if (this.authority.some(item => item.authorityId === id)) {
|
||||
|
||||
Reference in New Issue
Block a user