mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-14 20:41:15 +08:00
Merge branch 'feature/v1.2' into 'main'
Feature/v1.2 See merge request apipark/APIPark!74
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
|
||||
import { TransferProps, TreeDataNode, Tree, Spin, Input } from "antd";
|
||||
import { TransferProps, TreeDataNode, Tree, Spin, Input, Empty } from "antd";
|
||||
import { DataNode } from "antd/es/tree";
|
||||
import { Ref, forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
|
||||
import { ApartmentOutlined, LoadingOutlined, UserOutlined } from "@ant-design/icons";
|
||||
@@ -149,10 +149,9 @@ const generateTree = (
|
||||
return (
|
||||
<div ref={parentRef}>
|
||||
<Spin indicator={<LoadingOutlined style={{ fontSize: 24 }} spin />} spinning={loading} className=''>
|
||||
<Input placeholder={searchPlaceholder} onChange={(e)=>setSearchWord(e.target.value)} value={searchWord} />
|
||||
<Tree
|
||||
<Input className="mb-[10px]" placeholder={searchPlaceholder} onChange={(e)=>setSearchWord(e.target.value)} value={searchWord} />
|
||||
<>{ translatedDataSource && translatedDataSource.length > 0 ? <Tree
|
||||
checkable
|
||||
className="mt-[10px]"
|
||||
expandedKeys={expandedKeys}
|
||||
checkedKeys={targetKeys}
|
||||
selectable={false}
|
||||
@@ -163,7 +162,7 @@ const generateTree = (
|
||||
blockNode
|
||||
showIcon
|
||||
/>
|
||||
|
||||
: <Empty image={Empty.PRESENTED_IMAGE_SIMPLE}/> }</>
|
||||
</Spin>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -20,7 +20,7 @@ import WithPermission from "@common/components/aoplatform/WithPermission.tsx";
|
||||
import { $t } from "@common/locales/index.ts";
|
||||
|
||||
export const getDepartmentWithMember = (department:(DepartmentListItem & {type?:'department'|'member'})[],departmentMap:Map<string, (MemberItem & {type:'department'|'member'})[]>) : (DepartmentWithMemberItem | undefined)[] =>{
|
||||
return department.map((x:DepartmentListItem & {type?:'department'|'member'})=>{
|
||||
return department?.map((x:DepartmentListItem & {type?:'department'|'member'})=>{
|
||||
const res = ({
|
||||
...x,
|
||||
key:x.id,
|
||||
@@ -28,7 +28,7 @@ export const getDepartmentWithMember = (department:(DepartmentListItem & {type?:
|
||||
type: x.type || 'department',
|
||||
children:((x.type === 'member' || (!x.children||x.children.length === 0 )&& (!departmentMap.get(x.id) || departmentMap.get(x.id)!.length === 0))? undefined : [...(x.children && x.children.length > 0 ? getDepartmentWithMember(x.children,departmentMap) : []),...departmentMap.get(x.id) || []])
|
||||
});
|
||||
return res}).filter(node=>node.type === 'member' ||( node.children && node.children.length > 0))
|
||||
return res})?.filter(node=>node.type === 'member' ||( node.children && node.children.length > 0)) || []
|
||||
}
|
||||
|
||||
export const addMemberToDepartment = (departmentMap: Map<string, (MemberItem & {type:'department'|'member'})[]>, departmentId: string, member: MemberItem) => {
|
||||
@@ -84,6 +84,7 @@ const TeamInsideMember:FC = ()=>{
|
||||
addMemberToDepartment(departmentMap, '_withoutDepartment', member);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
const finalData = departmentResponse.data.department
|
||||
? [
|
||||
@@ -93,7 +94,7 @@ const TeamInsideMember:FC = ()=>{
|
||||
name: departmentResponse.data.department.name,
|
||||
title:departmentResponse.data.department.name,
|
||||
children: [
|
||||
...getDepartmentWithMember(departmentResponse.data.department.children, departmentMap),
|
||||
...getDepartmentWithMember(departmentResponse.data.department?.children || [], departmentMap),
|
||||
...departmentMap.get('_withoutDepartment') || []
|
||||
]
|
||||
}
|
||||
@@ -116,7 +117,6 @@ const TeamInsideMember:FC = ()=>{
|
||||
setAllMemberSelectedDepartIds((pre)=>[...pre, topDepartmentId])
|
||||
}
|
||||
|
||||
|
||||
return {data:finalData, success: true}
|
||||
}).catch(()=>({data:[], success:false}))
|
||||
}
|
||||
@@ -218,7 +218,6 @@ const TeamInsideMember:FC = ()=>{
|
||||
|
||||
|
||||
const changeMemberInfo = (value:string[],entity:TeamMemberTableListItem )=>{
|
||||
//console.log(value)
|
||||
return new Promise((resolve, reject) => {
|
||||
fetchData<BasicResponse<null>>(`team/member/role`, {method: 'PUT',eoBody:({roles:value, users:[entity.user.id]}), eoParams: {team:teamId}}).then(response => {
|
||||
const {code, msg} = response
|
||||
|
||||
Reference in New Issue
Block a user