Merge branch 'dev' of github.com:jetlinks/jetlinks-ui-vue into dev

This commit is contained in:
JiangQiming 2023-03-29 21:29:46 +08:00
commit 4424b56d4c
1 changed files with 50 additions and 9 deletions

View File

@ -282,6 +282,7 @@ function menuChange(
row: tableItemType,
setButtonBool: boolean = true,
): undefined {
console.log(row, 'test');
//
if (setButtonBool) {
if (row.buttons && row.buttons.length > 0)
@ -293,16 +294,16 @@ function menuChange(
//
if (row.buttons && row.buttons.length > 0) setStatus(row, 'buttons');
else setStatus(row, 'children');
//
if (row.accessSupport && row.accessSupport.value === 'support') {
//
if (row.selectAccesses && !row.granted && !row.indeterminate)
row.selectAccesses = '';
// 'creator'
else if (!row.selectAccesses && (row.granted || row.indeterminate))
row.selectAccesses = 'creator';
}
updataAuthority(row);
// if (row.accessSupport && row.accessSupport.value === 'support') {
// //
// if (row.selectAccesses && !row.granted && !row.indeterminate)
// row.selectAccesses = '';
// // 'creator'
// else if (!row.selectAccesses && (row.granted || row.indeterminate))
// row.selectAccesses = 'creator';
// }
//
if (row.parentId) {
@ -334,6 +335,38 @@ function menuChange(
}
emits('update:selectItems', selectList); //
}
/**
* 更新权限
*/
const updataAuthority = (row: any) => {
if (row.accessSupport && row.accessSupport.value === 'support') {
//
if (row.selectAccesses && !row.granted && !row.indeterminate)
row.selectAccesses = '';
// 'creator'
else if (!row.selectAccesses && (row.granted || row.indeterminate))
row.selectAccesses = 'creator';
}
if (row.children?.length > 0) {
row.children?.forEach((item) => {
if (item.accessSupport && item.accessSupport.value === 'support') {
//
if (item.selectAccesses && !item.granted && !item.indeterminate)
item.selectAccesses = '';
// 'creator'
else if (
!item.selectAccesses &&
(item.granted || item.indeterminate)
)
item.selectAccesses = 'creator';
}
if (item.children) {
updataAuthority(item.children);
}
});
}
};
/**
* 操作权限改变事件
* @param row 触发的项
@ -376,6 +409,14 @@ function setChildrenChecked(childrens: tableItemType[], value: boolean) {
item.buttons.forEach((button) => {
button.granted = value;
});
if (item.assetAccesses?.length > 0) {
item.assetAccesses?.forEach((i) => {
if (i.supportId === 'creator') {
i.granted = true;
}
});
// console.log( item.assetAccesses);
}
item.children && setChildrenChecked(item.children, value);
});
}