Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
bkunyun
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
bkunyun
Commits
d7e61257
Commit
d7e61257
authored
Sep 15, 2022
by
chenshouchao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 项目数据表格替换
parent
fa73ee41
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
68 deletions
+44
-68
index.tsx
src/views/Project/ProjectData/DeleteDialog/index.tsx
+2
-2
index.tsx
src/views/Project/ProjectData/MoveFile/index.tsx
+7
-5
index.tsx
src/views/Project/ProjectData/index.tsx
+35
-61
No files found.
src/views/Project/ProjectData/DeleteDialog/index.tsx
View file @
d7e61257
...
...
@@ -49,8 +49,8 @@ const DeleteDialog = (props: IDeleteFileProps) => {
if
(
currentOperateFile
)
{
return
[
currentOperateFile
];
}
else
{
return
s
howList
.
filter
((
item
:
any
)
=>
{
return
s
electIds
.
indexOf
(
item
.
name
)
!==
-
1
;
return
s
electIds
.
map
((
item
)
=>
{
return
s
howList
[
item
]
;
});
}
},
[
currentOperateFile
,
selectIds
,
showList
]);
...
...
src/views/Project/ProjectData/MoveFile/index.tsx
View file @
d7e61257
...
...
@@ -102,9 +102,11 @@ const MoveFile = (props: IMoveFileProps) => {
moveFolderArr
=
[];
}
}
else
{
moveFolderArr
=
showList
.
filter
((
item
:
any
)
=>
{
return
selectIds
.
indexOf
(
item
.
name
)
!==
-
1
&&
item
.
type
===
"directory"
;
});
moveFolderArr
=
selectIds
.
map
((
item
)
=>
{
return
showList
[
item
];
})
.
filter
((
item
)
=>
item
.
type
===
"directory"
);
}
pathArr
=
moveFolderArr
.
map
((
item
:
any
)
=>
{
return
path
===
"/"
?
`/
${
item
.
name
}
`
:
`
${
path
}
/
${
item
.
name
}
`
;
...
...
@@ -147,8 +149,8 @@ const MoveFile = (props: IMoveFileProps) => {
if
(
currentOperateFile
)
{
return
[
currentOperateFile
];
}
else
{
return
s
howList
.
filter
((
item
:
any
)
=>
{
return
s
electIds
.
indexOf
(
item
.
name
)
!==
-
1
;
return
s
electIds
.
map
((
item
)
=>
{
return
s
howList
[
item
]
;
});
}
},
[
currentOperateFile
,
selectIds
,
showList
]);
...
...
src/views/Project/ProjectData/index.tsx
View file @
d7e61257
...
...
@@ -2,12 +2,11 @@ import React, { useState, useCallback, useEffect, useMemo } from "react";
import
style
from
"./index.module.css"
;
import
classnames
from
"classnames"
;
import
{
IconButton
}
from
"@mui/material"
;
import
MyTable
from
"@/components/mui/MyTable"
;
import
MyTable
from
"@/components/mui/MyTable
New
"
;
import
dataSetIcon
from
"@/assets/project/dataSetIcon.svg"
;
import
refresh
from
"@/assets/project/refresh.svg"
;
import
fileIcon
from
"@/assets/project/fileIcon.svg"
;
import
folderIcon
from
"@/assets/project/folderIcon.svg"
;
import
noFile
from
"@/assets/project/noFile.svg"
;
import
AddFolder
from
"./AddFolder"
;
import
MoveFile
from
"./MoveFile"
;
import
DeleteDialog
from
"./DeleteDialog"
;
...
...
@@ -73,6 +72,11 @@ const ProjectData = observer(() => {
setPath
(
locationInfo
?.
pathName
||
"/"
);
},
[
location
]);
// 切换文件数据集时情况勾选项
useEffect
(()
=>
{
setSelectIds
([]);
},
[
activeTab
]);
// 列表展示的数据
const
showList
=
useMemo
(()
=>
{
if
(
activeTab
===
"file"
)
{
...
...
@@ -86,12 +90,24 @@ const ProjectData = observer(() => {
fileList
.
push
(
item
);
}
});
return
[...
folderList
,
...
fileList
];
let
arr
=
[...
folderList
,
...
fileList
];
return
arr
.
map
((
item
,
index
)
=>
{
return
{
...
item
,
id
:
index
,
};
});
}
else
{
const
folderList
=
list
.
filter
((
item
:
any
)
=>
{
return
item
.
type
===
"directory"
;
});
return
[...
folderList
,
...
dataSetList
];
let
arr
=
[...
folderList
,
...
dataSetList
];
return
arr
.
map
((
item
,
index
)
=>
{
return
{
...
item
,
id
:
index
,
};
});
}
},
[
list
,
dataSetList
,
activeTab
]);
...
...
@@ -256,45 +272,17 @@ const ProjectData = observer(() => {
};
// table配置
const
versionsHeadCells
=
useMemo
(()
=>
{
if
(
showCheckBox
)
{
return
[
{
id
:
"checkbox"
},
{
id
:
"name"
,
numeric
:
false
,
label
:
"名称"
,
width
:
"25%"
},
{
id
:
"size"
,
numeric
:
false
,
label
:
"大小"
,
width
:
"25%"
,
sort
:
true
},
{
id
:
"mtime"
,
numeric
:
false
,
label
:
"创建时间"
,
width
:
"25%"
,
sort
:
true
,
},
{
id
:
"caozuo"
,
numeric
:
false
,
label
:
"操作"
,
width
:
"25%"
},
];
}
else
{
return
[
{
id
:
"name"
,
numeric
:
false
,
label
:
"名称"
,
width
:
"25%"
},
{
id
:
"size"
,
numeric
:
false
,
label
:
"大小"
,
width
:
"25%"
,
sort
:
true
},
{
id
:
"mtime"
,
numeric
:
false
,
label
:
"创建时间"
,
width
:
"25%"
,
sort
:
true
,
},
{
id
:
"caozuo"
,
numeric
:
false
,
label
:
"操作"
,
width
:
"25%"
},
];
}
},
[
showCheckBox
]);
// 点击复选框
const
hanldeCheckbox
=
(
e
:
any
)
=>
{
const
selectarr
=
e
.
map
((
item
:
any
)
=>
{
let
andIndex
=
item
.
indexOf
(
"&index="
);
return
item
.
slice
(
5
,
andIndex
);
});
setSelectIds
(
selectarr
);
};
const
versionsHeadCells
=
[
{
id
:
"name"
,
label
:
"名称"
},
{
id
:
"size"
,
label
:
"大小"
,
width
:
200
},
{
id
:
"mtime"
,
numeric
:
false
,
label
:
"创建时间"
,
width
:
200
,
},
{
id
:
"caozuo"
,
label
:
"操作"
,
width
:
200
},
];
// 文件夹下钻
const
handleViewFolders
=
(
item
:
any
)
=>
{
...
...
@@ -312,7 +300,6 @@ const ProjectData = observer(() => {
// 查看数据集
const
handleSeeDataset
=
(
item
:
any
)
=>
{
console
.
log
(
item
);
setSeeDatasetName
(
item
.
name
);
setShowSeeDataset
(
true
);
};
...
...
@@ -594,31 +581,19 @@ const ProjectData = observer(() => {
</
div
>
</
div
>
<
MyTable
footer=
{
false
}
rowHover=
{
true
}
onRef=
{
tableRef
}
stickyHeader=
{
true
}
initSelected=
{
selectIds
}
fixedHead=
{
true
}
hasCheckbox=
{
showCheckBox
}
headCells=
{
versionsHeadCells
}
rowsPerPage=
{
"99"
}
checkboxData=
{
(
e
:
any
)
=>
{
hanldeCheckbox
(
e
);
}
}
selectItems=
{
selectIds
}
setSelectItems=
{
setSelectIds
}
rows=
{
showList
.
map
((
item
:
any
,
index
:
number
)
=>
({
...
item
,
id
:
`name=${item.name}&index=${index}`
,
name
:
renderName
(
item
),
size
:
renderSize
(
item
),
mtime
:
renderMtime
(
item
),
caozuo
:
renderButtons
(
item
),
}))
}
/>
{
showList
.
length
===
0
&&
(
<
div
className=
{
style
.
noDataBox
}
>
<
img
className=
{
style
.
noDataImg
}
src=
{
noFile
}
alt=
""
/>
<
span
className=
{
style
.
noDataText
}
>
暂无数据
</
span
>
</
div
>
)
}
</
div
>
{
selectIds
.
length
>
0
&&
(
<
div
className=
{
style
.
projectDataStickyBox
}
>
...
...
@@ -635,7 +610,6 @@ const ProjectData = observer(() => {
/>
<
MyButton
text=
{
`批量移动 (${selectIds.length})`
}
// color="neutral"
variant=
"contained"
style=
{
{
marginRight
:
"24px"
}
}
onClick=
{
()
=>
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment