Commit 6efbcfe3 authored by chenshouchao's avatar chenshouchao

Merge branch 'feat-20220608-projectdata' into 'release'

cn- fix: 移动文件时同路径文件置灰计算错误修复

See merge request !63
parents e4a2d9c8 cb906073
......@@ -3,6 +3,7 @@ import React, {
useImperativeHandle,
useCallback,
useMemo,
useEffect,
} from "react";
import style from "./index.module.css";
......@@ -33,6 +34,12 @@ const MoveFile = (props: any) => {
},
});
const [newPath, setNewPath] = useState("/");
const [rootActive, setRootActive] = useState(true);
const [moveFileSubmitloading, setMoveFileSubmitloading] = useState(false);
const [treeData, setTreeData] = useState<any>([]);
let moveFileDialogRef: any = React.createRef();
const { run: getDataFileMovePackageRun } = useMyRequest(
getDataFileMovePackage,
{
......@@ -43,31 +50,7 @@ const MoveFile = (props: any) => {
);
// 要移动的文件夹 之后用来隐藏文件夹树中同路径的文件夹
const moveFolderPathArr = useMemo(() => {
let moveFolderArr: any = [];
let pathArr = [];
if (currentOperateFile) {
if (currentOperateFile.type === "directory") {
moveFolderArr = [currentOperateFile];
} else {
moveFolderArr = [];
}
} else {
moveFolderArr = showList.filter((item: any) => {
return selectIds.indexOf(item.name) !== -1 && item.type === "directory";
});
}
pathArr = moveFolderArr.map((item: any) => {
return path === "/" ? `/${item.name}` : `${path}/${item.name}`;
});
return pathArr;
}, [selectIds, showList, currentOperateFile, path]);
const [newPath, setNewPath] = useState("/");
const [rootActive, setRootActive] = useState(true);
const [moveFileSubmitloading, setMoveFileSubmitloading] = useState(false);
const [treeData, setTreeData] = useState<any>([]);
const [moveFolderPathArr, setMoveFolderPathArr] = useState<Array<string>>([]);
const getTree = useCallback(() => {
if (fileToken && projectId) {
......@@ -79,7 +62,7 @@ const MoveFile = (props: any) => {
)?.then((res) => {
if (Array.isArray(res.data)) {
let arr = res.data;
const deleteRepeatFolder = (folderTree: any) => {
const disabledRepeatFolder = (folderTree: any) => {
folderTree.forEach((item: any, index: number) => {
if (
moveFolderPathArr.indexOf(
......@@ -91,12 +74,12 @@ const MoveFile = (props: any) => {
} else {
item.disabled = false;
if (item.subdirs.length > 0) {
deleteRepeatFolder(item.subdirs);
disabledRepeatFolder(item.subdirs);
}
}
});
};
deleteRepeatFolder(arr);
disabledRepeatFolder(arr);
setTreeData(arr);
} else {
setTreeData([]);
......@@ -105,12 +88,35 @@ const MoveFile = (props: any) => {
}
}, [fileToken, projectId, moveFolderPathArr]);
let moveFileDialogRef: any = React.createRef();
useEffect(() => {
let moveFolderArr: any = [];
let pathArr = [];
if (currentOperateFile) {
if (currentOperateFile.type === "directory") {
moveFolderArr = [currentOperateFile];
} else {
moveFolderArr = [];
}
} else {
moveFolderArr = showList.filter((item: any) => {
return selectIds.indexOf(item.name) !== -1 && item.type === "directory";
});
}
pathArr = moveFolderArr.map((item: any) => {
return path === "/" ? `/${item.name}` : `${path}/${item.name}`;
});
setMoveFolderPathArr(pathArr);
}, [selectIds, showList, currentOperateFile, path]);
useEffect(() => {
if (moveFolderPathArr.length > 0) {
getTree();
}
}, [moveFolderPathArr, getTree]);
const showDialog = () => {
moveFileDialogRef.current.handleClickOpen();
setTreeData([]);
getTree();
};
useImperativeHandle(props.onRef, () => {
......
......@@ -89,7 +89,7 @@ const ProjectData = observer(() => {
useEffect(() => {
const locationInfo: any = location?.state;
setPath(locationInfo?.pathName || "");
setPath(locationInfo?.pathName || "/");
}, [location]);
// 列表展示的数据
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment