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
sunyihao
bkunyun
Commits
84f25f7c
Commit
84f25f7c
authored
Jul 04, 2022
by
吴永生#A02208
Browse files
Options
Browse Files
Download
Plain Diff
chore: merge
parents
86284fa3
edc2859f
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
170 additions
and
51 deletions
+170
-51
index.tsx
src/components/FileSelect/index.tsx
+88
-4
MyTreeView.tsx
src/components/mui/MyTreeView.tsx
+2
-2
Tabs.tsx
src/components/mui/Tabs.tsx
+19
-11
index.module.css
src/views/MenuLayout/index.module.css
+1
-2
index.tsx
src/views/Project/ProjectData/MoveFile/index.tsx
+2
-2
index.tsx
src/views/Project/ProjectData/index.tsx
+4
-1
index.module.css
src/views/Project/ProjectJobDetail/index.module.css
+6
-2
index.tsx
src/views/Project/ProjectJobDetail/index.tsx
+17
-5
index.tsx
src/views/Project/ProjectSubmitWork/ConfigForm/index.tsx
+11
-5
index.tsx
src/views/Project/ProjectSubmitWork/index.tsx
+14
-8
index.tsx
src/views/Project/ProjectWorkbench/index.tsx
+6
-9
No files found.
src/components/FileSelect/index.tsx
View file @
84f25f7c
...
...
@@ -8,16 +8,23 @@ import MyTreeView from "@/components/mui/MyTreeView";
import
classNames
from
"classnames"
;
import
bigFolderIcon
from
"@/assets/project/bigFolderIcon.svg"
;
import
folderIcon
from
"@/assets/project/folderIcon.svg"
;
import
dataSetIcon
from
"@/assets/project/dataSetIcon.svg"
;
import
fileIcon
from
"@/assets/project/fileIcon.svg"
;
import
useMyRequest
from
"@/hooks/useMyRequest"
;
import
{
getDataFind
}
from
"@/api/project_api"
;
import
style
from
"./index.module.css"
;
import
_
from
"lodash"
;
type
FileSelectProps
=
{
open
:
boolean
;
onConfirm
:
any
;
onClose
:
any
;
type
?:
"file"
|
"dataset"
|
"path"
;
};
const
FileSelect
=
observer
((
props
:
FileSelectProps
)
=>
{
const
{
onConfirm
}
=
props
;
const
{
onConfirm
,
type
=
"path"
}
=
props
;
// const { onConfirm, type = "dataset" } = props;
const
{
currentProjectStore
}
=
useStores
();
const
projectId
=
toJS
(
currentProjectStore
.
currentProjectInfo
.
id
);
const
fileToken
=
toJS
(
currentProjectStore
.
currentProjectInfo
.
filetoken
);
...
...
@@ -25,6 +32,66 @@ const FileSelect = observer((props: FileSelectProps) => {
const
[
rootActive
,
setRootActive
]
=
useState
(
true
);
const
[
newPath
,
setNewPath
]
=
useState
(
"/"
);
// 获取某路径下的数据集
const
{
run
:
getDataFindRun
}
=
useMyRequest
(
getDataFind
,
{
onSuccess
:
(
res
:
any
)
=>
{
const
dataSetList
=
res
.
data
.
map
((
item
:
any
)
=>
{
return
{
...
item
,
type
:
"dataset"
,
dir
:
`/
${
item
.
path
}
`
,
subdirs
:
""
,
};
});
let
treeDataArr
=
_
.
cloneDeep
(
treeData
);
if
(
newPath
===
"/"
)
{
treeDataArr
=
_
.
uniqWith
([...
treeDataArr
,
...
dataSetList
],
_
.
isEqual
);
setTreeData
(
treeDataArr
);
}
else
{
let
pathArr
:
Array
<
any
>
=
newPath
.
split
(
"/"
);
pathArr
.
shift
();
let
reduceResult
=
pathArr
.
reduce
((
result
,
path
)
=>
{
if
(
Array
.
isArray
(
result
))
{
result
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
if
(
item
.
name
===
path
)
{
result
=
result
[
index
];
}
});
}
else
if
(
Array
.
isArray
(
result
.
subdirs
))
{
result
.
subdirs
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
if
(
item
.
name
===
path
)
{
result
=
result
.
subdirs
[
index
];
}
});
}
else
{
result
=
result
.
subdirs
;
}
return
result
;
},
treeDataArr
);
if
(
Array
.
isArray
(
reduceResult
.
subdirs
))
{
reduceResult
.
subdirs
=
_
.
uniqWith
(
[...
reduceResult
.
subdirs
,
...
dataSetList
],
_
.
isEqual
);
}
else
{
reduceResult
.
subdirs
=
dataSetList
;
}
treeDataArr
=
_
.
uniqWith
(
treeDataArr
,
_
.
isEqual
);
setTreeData
(
treeDataArr
);
}
},
});
useEffect
(()
=>
{
if
(
type
===
"dataset"
)
{
getDataFindRun
({
projectId
:
projectId
as
string
,
path
:
newPath
===
"/"
?
"/"
:
`
${
newPath
}
/`
,
});
}
},
[
newPath
,
getDataFindRun
,
projectId
,
type
]);
useEffect
(()
=>
{
if
(
fileToken
&&
projectId
)
{
CloudEController
.
JobOutFileDirtree
(
...
...
@@ -38,15 +105,31 @@ const FileSelect = observer((props: FileSelectProps) => {
}
else
{
setTreeData
([]);
}
if
(
type
===
"dataset"
)
{
getDataFindRun
({
projectId
:
projectId
as
string
,
path
:
"/"
,
// path: path === "/" ? "/" : `${path}/`,
});
}
});
}
},
[
projectId
,
fileToken
]);
},
[
projectId
,
fileToken
,
type
,
getDataFindRun
]);
const
renderLabel
=
(
labelNmae
:
string
)
=>
{
// const renderLabel = (labelNmae: string) => {
const
renderLabel
=
(
node
:
any
)
=>
{
return
(
<
span
className=
{
style
.
treeLabel
}
>
{
node
.
type
===
"directory"
&&
(
<
img
className=
{
style
.
labelFolderIcon
}
src=
{
folderIcon
}
alt=
""
/>
<
span
className=
{
style
.
treeLabelText
}
>
{
labelNmae
}
</
span
>
)
}
{
node
.
type
===
"dataset"
&&
(
<
img
className=
{
style
.
labelFolderIcon
}
src=
{
dataSetIcon
}
alt=
""
/>
)
}
{
node
.
type
!==
"directory"
&&
node
.
type
!==
"dataset"
&&
(
<
img
className=
{
style
.
labelFolderIcon
}
src=
{
fileIcon
}
alt=
""
/>
)
}
<
span
className=
{
style
.
treeLabelText
}
>
{
node
.
name
}
</
span
>
</
span
>
);
};
...
...
@@ -75,6 +158,7 @@ const FileSelect = observer((props: FileSelectProps) => {
open=
{
props
.
open
}
onClose=
{
props
.
onClose
}
onConfirm=
{
fileSelectOnConfirm
}
title=
{
type
}
>
<
div
className=
{
classNames
({
...
...
src/components/mui/MyTreeView.tsx
View file @
84f25f7c
...
...
@@ -15,7 +15,7 @@ type MyTreeViewProps = {
onNodeFocus
?:
(
event
:
object
,
value
:
string
)
=>
void
;
// 点击某一项的回调
onNodeSelect
?:
(
event
:
object
,
value
:
Array
<
any
>
|
string
)
=>
void
;
// 点击某一项的回调
onNodeToggle
?:
(
event
:
object
,
nodeIds
:
Array
<
any
>
)
=>
void
;
// 点击某一项的回调
renderLabel
?:
(
labelNmae
:
string
)
=>
React
.
ReactNode
;
renderLabel
?:
(
node
:
any
)
=>
React
.
ReactNode
;
treeViewSx
?:
any
;
defaultExpanded
?:
Array
<
string
>
;
idKey
?:
string
;
...
...
@@ -48,7 +48,7 @@ const MyTreeView = (props: MyTreeViewProps) => {
nodeId=
{
String
(
idFunc
?
idFunc
(
nodes
)
:
nodes
.
id
||
`${nodes.name}${index}`
)
}
label=
{
renderLabel
===
undefined
?
nodes
.
name
:
renderLabel
(
nodes
.
name
)
}
label=
{
renderLabel
===
undefined
?
nodes
.
name
:
renderLabel
(
nodes
)
}
disabled=
{
nodes
?.
disabled
?
true
:
false
}
>
{
Array
.
isArray
(
nodes
.
subdirs
)
...
...
src/components/mui/Tabs.tsx
View file @
84f25f7c
...
...
@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-05-31 10:18:13
* @LastEditors: 吴永生#A02208 yongsheng.wu@wholion.com
* @LastEditTime: 2022-07-04 20:
08:29
* @LastEditTime: 2022-07-04 20:
18:17
* @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
...
...
@@ -12,7 +12,7 @@ import { useState } from "react";
import
{
Box
}
from
"@mui/system"
;
import
Tab
from
"@mui/material/Tab"
;
import
{
TabContext
,
TabList
,
TabPanel
}
from
"@mui/lab"
;
import
{
Typography
}
from
'@mui/material'
;
import
{
Typography
}
from
"@mui/material"
;
interface
ITabList
{
label
:
string
;
...
...
@@ -20,7 +20,7 @@ interface ITabList {
component
:
JSX
.
Element
;
icon
?:
string
;
iconed
?:
string
;
hide
?:
boolean
hide
?:
boolean
;
}
interface
IProps
{
...
...
@@ -32,6 +32,7 @@ const Tabs = (props: IProps) => {
const
{
tabList
,
defaultValue
}
=
props
;
const
[
value
,
setValue
]
=
useState
(
defaultValue
||
tabList
.
filter
(
e
=>
!
e
.
hide
)[
0
].
value
);
const
onChange
=
(
val
:
string
)
=>
{
setValue
(
val
);
};
...
...
@@ -39,14 +40,21 @@ const Tabs = (props: IProps) => {
const
labelRender
=
(
item
:
ITabList
,
key
:
number
)
=>
{
return
(
<
Box
style=
{
{
display
:
"flex"
,
alignItems
:
"center"
}
}
>
{
item
.
icon
?
<
img
style=
{
{
width
:
"14px"
,
marginRight
:
"10px"
}
}
src=
{
value
===
item
.
value
?
item
.
iconed
:
item
.
icon
}
alt=
""
/>
:
""
}
<
Typography
sx=
{
{
fontSize
:
"14px"
,
fontWeight
:
'400'
}
}
>
{
item
.
label
}
</
Typography
>
{
item
.
icon
?
(
<
img
style=
{
{
width
:
"14px"
,
marginRight
:
"10px"
}
}
src=
{
value
===
item
.
value
?
item
.
iconed
:
item
.
icon
}
alt=
""
/>
)
:
(
""
)
}
<
Typography
sx=
{
{
fontSize
:
"14px"
,
fontWeight
:
"400"
}
}
>
{
item
.
label
}
</
Typography
>
</
Box
>
)
}
)
;
}
;
return
(
<
TabContext
value=
{
value
}
>
...
...
@@ -57,7 +65,7 @@ const Tabs = (props: IProps) => {
}
}
>
{
tabList
?.
map
((
item
,
key
)
=>
{
if
(
item
.
hide
)
return
""
if
(
item
.
hide
)
return
""
;
return
(
<
Tab
key=
{
key
}
...
...
src/views/MenuLayout/index.module.css
View file @
84f25f7c
...
...
@@ -13,8 +13,7 @@
.content
{
flex
:
1
;
height
:
calc
(
100vh
-
57px
);
overflow
:
hidden
;
/* ??????????? */
overflow
:
scroll
;
}
.list
{
/* background-color: red; */
...
...
src/views/Project/ProjectData/MoveFile/index.tsx
View file @
84f25f7c
...
...
@@ -301,11 +301,11 @@ const MoveFile = (props: any) => {
});
};
const
renderLabel
=
(
labelNmae
:
string
)
=>
{
const
renderLabel
=
(
node
:
any
)
=>
{
return
(
<
span
className=
{
style
.
treeLabel
}
>
<
img
className=
{
style
.
labelFolderIcon
}
src=
{
folderIcon
}
alt=
""
/>
<
span
className=
{
style
.
treeLabelText
}
>
{
labelNma
e
}
</
span
>
<
span
className=
{
style
.
treeLabelText
}
>
{
node
.
nam
e
}
</
span
>
</
span
>
);
};
...
...
src/views/Project/ProjectData/index.tsx
View file @
84f25f7c
...
...
@@ -453,7 +453,10 @@ const ProjectData = observer(() => {
// 下载文件
const
hanleDownloadFile
=
(
item
:
any
)
=>
{
const
downloadPath
=
path
===
"/"
?
"/"
:
`
${
path
}
/
${
item
.
name
}
`
;
console
.
log
(
item
);
const
downloadPath
=
path
===
"/"
?
`/
${
item
.
name
}
`
:
`
${
path
}
/
${
item
.
name
}
`
;
console
.
log
(
downloadPath
);
CloudEController
.
JobFileDownload
(
downloadPath
,
fileToken
as
string
,
...
...
src/views/Project/ProjectJobDetail/index.module.css
View file @
84f25f7c
...
...
@@ -112,6 +112,10 @@
position
:
relative
;
align-items
:
center
;
}
.taskInfoValueClick
{
cursor
:
pointer
;
color
:
rgba
(
19
,
112
,
255
,
1
);
}
.taskInfoDownload
{
color
:
rgba
(
19
,
112
,
255
,
1
);
cursor
:
pointer
;
...
...
@@ -170,7 +174,7 @@
color
:
rgba
(
19
,
112
,
255
,
1
);
}
.fullScreenBox
{
.fullScreenBox
{
position
:
absolute
;
background-color
:
#fff
;
cursor
:
pointer
;
...
...
@@ -179,6 +183,6 @@
bottom
:
24px
;
padding
:
8px
;
}
.fullScreenBox
:hover
{
.fullScreenBox
:hover
{
opacity
:
0.6
;
}
src/views/Project/ProjectJobDetail/index.tsx
View file @
84f25f7c
...
...
@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-06-21 20:03:56
* @LastEditors: 吴永生#A02208 yongsheng.wu@wholion.com
* @LastEditTime: 2022-07-04 20:
09:00
* @LastEditTime: 2022-07-04 20:
19:21
* @FilePath: /bkunyun/src/views/Project/ProjectSubmitWork/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
...
...
@@ -34,6 +34,7 @@ import Flow from "../components/Flow";
import
{
cancelWorkflowJob
,
deleteWorkflowJob
}
from
"@/api/workbench_api"
;
import
{
useMessage
}
from
"@/components/MySnackbar"
;
import
MyPopconfirm
from
"@/components/mui/MyPopconfirm"
;
import
{
storageUnitFromB
}
from
"@/utils/util"
;
import
styles
from
"./index.module.css"
;
...
...
@@ -97,7 +98,7 @@ const ProjectSubmitWork = observer(() => {
path
=
path
.
slice
(
13
);
if
(
path
)
{
navigate
(
`/product/cadd/projectData`
,
{
state
:
{
pathName
:
"path"
},
state
:
{
pathName
:
path
},
});
}
};
...
...
@@ -109,6 +110,10 @@ const ProjectSubmitWork = observer(() => {
})
},[
navigate
])
const
outputPathTransform
=
(
path
:
string
)
=>
{
path
=
path
.
slice
(
13
);
return
`ProjectData
${
path
}
`
;
};
const
getOutouts
=
(
outputs
:
any
)
=>
{
if
(
outputs
)
{
...
...
@@ -177,7 +182,9 @@ const ProjectSubmitWork = observer(() => {
if
(
Array
.
isArray
(
res
.
data
))
{
res
.
data
.
forEach
((
item1
)
=>
{
if
(
item1
.
name
===
item
.
path
.
slice
(
item
.
path
.
lastIndexOf
(
"/"
)
+
1
))
{
randerOutputs
[
index
].
size
=
item1
.
size
;
randerOutputs
[
index
].
size
=
`
${
item1
.
size
?
storageUnitFromB
(
Number
(
item1
.
size
))
:
"-"
}
`
;
setRanderOutputs
([...
randerOutputs
]);
}
});
...
...
@@ -360,12 +367,17 @@ const ProjectSubmitWork = observer(() => {
<
div
className=
{
styles
.
taskInfoLi
}
>
<
div
className=
{
styles
.
taskInfoParams
}
>
输出路径
</
div
>
<
div
className=
{
styles
.
taskInfoValue
}
className=
{
classNames
({
[
styles
.
taskInfoValue
]:
true
,
[
styles
.
taskInfoValueClick
]:
true
,
})
}
onClick=
{
()
=>
goToProjectData
(
workFlowJobInfo
?.
outputPath
as
string
)
}
>
{
workFlowJobInfo
?.
outputPath
||
"-"
}
{
workFlowJobInfo
?.
outputPath
?
outputPathTransform
(
workFlowJobInfo
?.
outputPath
)
:
"-"
}
</
div
>
</
div
>
<
div
className=
{
styles
.
taskInfoLi
}
>
...
...
src/views/Project/ProjectSubmitWork/ConfigForm/index.tsx
View file @
84f25f7c
...
...
@@ -141,7 +141,9 @@ const ConfigForm = (props: ConfigFormProps) => {
result
.
forEach
((
task
)
=>
{
let
isCheck
=
true
;
if
(
task
.
parameters
.
length
>
0
)
{
task
.
parameters
.
forEach
((
parameter
)
=>
{
task
.
parameters
.
filter
((
parameter
)
=>
parameter
.
hidden
===
false
)
.
forEach
((
parameter
)
=>
{
const
{
error
}
=
getCheckResult
(
parameter
,
parameter
.
value
);
if
(
error
)
{
isCheck
=
false
;
...
...
@@ -152,7 +154,9 @@ const ConfigForm = (props: ConfigFormProps) => {
if
(
task
.
flows
.
length
>
0
)
{
task
.
flows
.
forEach
((
flow
)
=>
{
if
(
flow
.
parameters
.
length
>
0
)
{
flow
.
parameters
.
forEach
((
parameter
)
=>
{
flow
.
parameters
.
filter
((
parameter
)
=>
parameter
.
hidden
===
false
)
.
forEach
((
parameter
)
=>
{
const
{
error
}
=
getCheckResult
(
parameter
,
parameter
.
value
);
if
(
error
)
{
isCheck
=
false
;
...
...
@@ -258,7 +262,7 @@ const ConfigForm = (props: ConfigFormProps) => {
)
}
{
parameter
.
domType
.
toLowerCase
()
===
"input"
&&
(
<
MyInput
value=
{
parameter
.
value
}
value=
{
parameter
.
value
||
""
}
onChange=
{
(
e
:
any
)
=>
handleParameterChange
(
e
,
taskId
,
parameter
.
name
||
""
)
}
...
...
@@ -449,11 +453,13 @@ const ConfigForm = (props: ConfigFormProps) => {
</
div
>
);
})
}
{
fileSelectOpen
&&
<
FileSelect
{
fileSelectOpen
&&
(
<
FileSelect
onClose=
{
handleFileSelectOnClose
}
open=
{
fileSelectOpen
}
onConfirm=
{
onFileSelectConfirm
}
/>
}
/>
)
}
</
div
>
);
};
...
...
src/views/Project/ProjectSubmitWork/index.tsx
View file @
84f25f7c
...
...
@@ -24,6 +24,7 @@ import { templateConfigJson } from "./mock";
import
{
useMessage
}
from
"@/components/MySnackbar"
;
import
{
toJS
}
from
"mobx"
;
import
{
useStores
}
from
"@/store"
;
import
moment
from
"moment"
;
import
MyPopconfirm
from
"@/components/mui/MyPopconfirm"
;
const
ProjectSubmitWork
=
()
=>
{
...
...
@@ -37,8 +38,10 @@ const ProjectSubmitWork = () => {
let
configFormRef
:
any
=
React
.
createRef
();
// 前往工作台
const
goToWorkbench
=
()
=>
{
navigate
(
"/product/cadd/projectWorkbench"
);
const
goToWorkbench
=
(
toWorkbenchList
=
false
)
=>
{
navigate
(
"/product/cadd/projectWorkbench"
,
{
state
:
{
from
:
toWorkbenchList
?
"submitWork"
:
""
},
});
};
// 返回
...
...
@@ -65,7 +68,7 @@ const ProjectSubmitWork = () => {
const
{
run
:
submitWorkFlowRun
}
=
useMyRequest
(
submitWorkFlow
,
{
onSuccess
:
(
res
)
=>
{
Message
.
success
(
"提交成功"
);
goToWorkbench
();
goToWorkbench
(
true
);
},
});
...
...
@@ -80,7 +83,9 @@ const ProjectSubmitWork = () => {
result
.
tasks
.
forEach
((
tack
)
=>
{
if
(
tack
.
id
===
taskId
)
{
let
isCheck
=
true
;
tack
.
parameters
.
forEach
((
parameter
)
=>
{
tack
.
parameters
.
filter
((
parameter
)
=>
parameter
.
hidden
===
false
)
.
forEach
((
parameter
)
=>
{
if
(
parameter
.
name
===
parameterName
)
{
parameter
.
value
=
value
;
const
checkResult
=
getCheckResult
(
parameter
,
value
);
...
...
@@ -106,7 +111,6 @@ const ProjectSubmitWork = () => {
const
{
name
,
outputPath
,
nameAndOutputPathCheck
}
=
configFormRef
.
current
.
getNameAndPath
();
if
(
!
nameAndOutputPathCheck
)
{
console
.
log
(
123
);
check
=
false
;
}
const
result
:
ITemplateConfig
=
_
.
cloneDeep
(
templateConfigInfo
);
...
...
@@ -118,8 +122,6 @@ const ProjectSubmitWork = () => {
parameter
.
error
=
checkResult
.
error
;
parameter
.
helperText
=
checkResult
.
helperText
;
if
(
checkResult
.
error
)
{
console
.
log
(
tack
);
console
.
log
(
parameter
);
check
=
false
;
}
});
...
...
@@ -205,7 +207,11 @@ const ProjectSubmitWork = () => {
<
div
className=
{
styles
.
swTemplateUpdateTimeBox
}
>
<
span
className=
{
styles
.
swHeaderLable
}
>
更新时间:
</
span
>
<
span
className=
{
styles
.
swHeaderValue
}
>
{
templateConfigInfo
?.
updateTime
}
{
templateConfigInfo
?.
updateTime
?
moment
(
templateConfigInfo
?.
updateTime
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
:
"-"
}
</
span
>
</
div
>
<
div
className=
{
styles
.
swHeaderGoback
}
></
div
>
...
...
src/views/Project/ProjectWorkbench/index.tsx
View file @
84f25f7c
...
...
@@ -2,7 +2,7 @@
* @Author: rocosen
* @Date: 2022-06-12 10:05:13
* @LastEditors: 吴永生#A02208 yongsheng.wu@wholion.com
* @LastEditTime: 2022-07-04
19:54:00
* @LastEditTime: 2022-07-04
20:23:26
* @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
...
...
@@ -10,6 +10,7 @@ import { memo, useMemo } from "react";
import
{
Box
}
from
"@mui/system"
;
import
{
observer
}
from
"mobx-react-lite"
;
import
{
useLocation
}
from
"react-router-dom"
;
import
projectImg
from
"@/assets/project/projectIconSmall.svg"
;
import
WorkbenchTemplate
from
"./workbenchTemplate"
;
import
WorkbenchList
from
"./workbenchList"
;
...
...
@@ -25,9 +26,6 @@ import List_select from "@/assets/project/workbenchList_select.svg"
const
ProjectWorkbench
=
observer
(()
=>
{
const
isPass
=
usePass
();
const
location
:
any
=
useLocation
()
const
tabList
=
useMemo
(()
=>
{
return
[
{
...
...
@@ -36,7 +34,7 @@ const ProjectWorkbench = observer(() => {
component
:
<
WorkbenchTemplate
/>,
hide
:
!
isPass
(
"PROJECT_WORKBENCH_FLOES"
),
icon
:
Template
,
iconed
:
Template_select
iconed
:
Template_select
,
},
{
label
:
"任务列表"
,
...
...
@@ -44,26 +42,25 @@ const ProjectWorkbench = observer(() => {
component
:
<
WorkbenchList
/>,
hide
:
!
isPass
(
"PROJECT_WORKBENCH_JOBS"
),
icon
:
List
,
iconed
:
List_select
iconed
:
List_select
,
},
// {
// label: "按钮组件",
// value: "MUI_BUTTON",
// component: <ButtonDemo />,
// icon: List,
// iconed: List_select
// iconed: List_select,
// },
// {
// label: "输入框组件",
// value: "MUI_INPUT",
// component: <InputDemo />,
// icon: List,
// iconed: List_select
// iconed: List_select,
// },
];
},
[
isPass
]);
return
(
<
div
style=
{
{
padding
:
24
}
}
>
<
div
style=
{
{
display
:
"flex"
,
alignItems
:
"center"
}
}
>
...
...
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