|
@@ -71,7 +71,7 @@ const CustomPerm = ({ onConfirm }) => {
|
|
|
children: item.children,
|
|
children: item.children,
|
|
|
isDepartment: item.isDepartment
|
|
isDepartment: item.isDepartment
|
|
|
})
|
|
})
|
|
|
- item.children?.length && flatten(item.children)
|
|
|
|
|
|
|
+ if (item.children?.length) flatten(item.children)
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -103,13 +103,13 @@ const CustomPerm = ({ onConfirm }) => {
|
|
|
setState({ ...state, leftTargetId: targetNode.key })
|
|
setState({ ...state, leftTargetId: targetNode.key })
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- isEmpty(value) && setState({ ...state, leftTargetId: null })
|
|
|
|
|
|
|
+ if (isEmpty(value)) setState({ ...state, leftTargetId: null })
|
|
|
} else {
|
|
} else {
|
|
|
if (!isEmpty(value) && !isNullOrUnDef(targetNode)) {
|
|
if (!isEmpty(value) && !isNullOrUnDef(targetNode)) {
|
|
|
setState({ ...state, rightTargetId: targetNode.key })
|
|
setState({ ...state, rightTargetId: targetNode.key })
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- isEmpty(value) && setState({ ...state, rightTargetId: null })
|
|
|
|
|
|
|
+ if (isEmpty(value)) setState({ ...state, rightTargetId: null })
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -283,7 +283,7 @@ const CustomPerm = ({ onConfirm }) => {
|
|
|
treeKeys
|
|
treeKeys
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
- isDepartment &&
|
|
|
|
|
|
|
+ if (isDepartment) {
|
|
|
itemIsChecked(onItemSelectAll)(
|
|
itemIsChecked(onItemSelectAll)(
|
|
|
state.transferDataSource.filter(item => item.parentId === key),
|
|
state.transferDataSource.filter(item => item.parentId === key),
|
|
|
checkedKeys,
|
|
checkedKeys,
|
|
@@ -292,7 +292,9 @@ const CustomPerm = ({ onConfirm }) => {
|
|
|
.filter(item => item.parentId === key)
|
|
.filter(item => item.parentId === key)
|
|
|
.map(item => item.key)
|
|
.map(item => item.key)
|
|
|
)
|
|
)
|
|
|
- !isDepartment && onItemSelect(key, !isChecked(checkedKeys, key))
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ onItemSelect(key, !isChecked(checkedKeys, key))
|
|
|
|
|
+ }
|
|
|
}}
|
|
}}
|
|
|
/>
|
|
/>
|
|
|
) : null
|
|
) : null
|
|
@@ -304,21 +306,23 @@ const CustomPerm = ({ onConfirm }) => {
|
|
|
<Tree
|
|
<Tree
|
|
|
blockNode={true}
|
|
blockNode={true}
|
|
|
height={state.height}
|
|
height={state.height}
|
|
|
- treeData={
|
|
|
|
|
|
|
+ treeData={generateTree(
|
|
|
state.rightTargetId
|
|
state.rightTargetId
|
|
|
- ? state.targetKeys.filter(item => item === state.rightTargetId)
|
|
|
|
|
- : state.targetKeys
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ ? state.transferDataSource
|
|
|
|
|
+ .filter(item => state.targetKeys?.includes(item.key))
|
|
|
|
|
+ .filter(item => item === state.rightTargetId)
|
|
|
|
|
+ : state.transferDataSource.filter(item =>
|
|
|
|
|
+ state.targetKeys?.includes(item.key)
|
|
|
|
|
+ )
|
|
|
|
|
+ )}
|
|
|
titleRender={item => (
|
|
titleRender={item => (
|
|
|
<li className="ant-transfer-list-content-item">
|
|
<li className="ant-transfer-list-content-item">
|
|
|
- <span className="ant-transfer-list-content-item-text">
|
|
|
|
|
- {state.transferDataSource.find(i => i.key === item)?.title}
|
|
|
|
|
- </span>
|
|
|
|
|
|
|
+ <span className="ant-transfer-list-content-item-text">{item.title}</span>
|
|
|
<span
|
|
<span
|
|
|
className="text-hex-d9d9d9 hover:text-hex-886ab5 transition-colors duration-300"
|
|
className="text-hex-d9d9d9 hover:text-hex-886ab5 transition-colors duration-300"
|
|
|
onClick={() => {
|
|
onClick={() => {
|
|
|
- const currKeys = state.targetKeys.filter(i => i !== item)
|
|
|
|
|
- handleUnCheckItem(state.treeKeys, item, { targetKeys: currKeys })
|
|
|
|
|
|
|
+ const currKeys = state.targetKeys.filter(i => i !== item.key)
|
|
|
|
|
+ handleUnCheckItem(state.treeKeys, item.key, { targetKeys: currKeys })
|
|
|
}}>
|
|
}}>
|
|
|
<DeleteOutlined />
|
|
<DeleteOutlined />
|
|
|
</span>
|
|
</span>
|