Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
szse
Overview
Overview
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
zhaochengxiang
szse
Commits
7b7154d0
Commit
7b7154d0
authored
Apr 22, 2022
by
zhaochengxiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
模型浏览
parent
c7f61c06
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
85 additions
and
54 deletions
+85
-54
constant.js
src/util/constant.js
+5
-0
index.js
src/util/index.js
+14
-0
AssetDirectory.jsx
src/view/Manage/AssetManage/Component/AssetDirectory.jsx
+1
-1
EditModel.jsx
src/view/Manage/Model/Component/EditModel.jsx
+8
-5
ModelTable.jsx
src/view/Manage/Model/Component/ModelTable.jsx
+15
-9
ModelTree.jsx
src/view/Manage/Model/Component/ModelTree.jsx
+12
-9
index.jsx
src/view/Manage/Model/index.jsx
+30
-30
No files found.
src/util/constant.js
View file @
7b7154d0
...
@@ -16,6 +16,11 @@ export const StateId = 'sid';
...
@@ -16,6 +16,11 @@ export const StateId = 'sid';
export
const
VersionId
=
'vid'
;
export
const
VersionId
=
'vid'
;
export
const
TemplateId
=
'tid'
;
export
const
TemplateId
=
'tid'
;
export
const
Holder
=
'holder'
;
export
const
Holder
=
'holder'
;
export
const
ReadOnly
=
'readOnly'
;
export
const
DataModelerRoleAdmin
=
'admin'
;
export
const
DataModelerRoleUser
=
'user'
;
export
const
DataModelerRoleReader
=
'reader'
;
//资产
//资产
export
const
AssetManageReference
=
'asset-manage'
;
export
const
AssetManageReference
=
'asset-manage'
;
...
...
src/util/index.js
View file @
7b7154d0
...
@@ -6,6 +6,8 @@ import { ExclamationCircleOutlined } from '@ant-design/icons';
...
@@ -6,6 +6,8 @@ import { ExclamationCircleOutlined } from '@ant-design/icons';
import
{
dispatchLatest
,
action
}
from
'../model'
;
import
{
dispatchLatest
,
action
}
from
'../model'
;
import
{
set_sess_state
}
from
"../model/reducer"
;
import
{
set_sess_state
}
from
"../model/reducer"
;
import
{
DataModelerRoleAdmin
,
DataModelerRoleUser
,
DataModelerRoleReader
}
from
'./constant'
;
//内网深交所环境 isSzseEnv true
//内网深交所环境 isSzseEnv true
//元曜公网环境 isSzseEnv false
//元曜公网环境 isSzseEnv false
export
const
isSzseEnv
=
false
;
export
const
isSzseEnv
=
false
;
...
@@ -381,3 +383,15 @@ export function getTextWidth(text, font='14px tabular-nums') {
...
@@ -381,3 +383,15 @@ export function getTextWidth(text, font='14px tabular-nums') {
const
metrics
=
context
.
measureText
(
text
);
const
metrics
=
context
.
measureText
(
text
);
return
metrics
.
width
;
return
metrics
.
width
;
}
}
export
function
getDataModelerRole
(
user
)
{
if
((
user
?.
roles
||
[]).
indexOf
(
'ROLE_dataModeler_admin'
)
!==
-
1
)
{
return
DataModelerRoleAdmin
;
}
else
if
((
user
?.
roles
||
[]).
indexOf
(
'ROLE_dataModeler_user'
)
!==
-
1
)
{
return
DataModelerRoleUser
;
}
else
if
((
user
?.
roles
||
[]).
indexOf
(
'ROLE_dataModeler_reader'
)
!==
-
1
)
{
return
DataModelerRoleReader
;
}
return
DataModelerRoleAdmin
;
}
src/view/Manage/AssetManage/Component/AssetDirectory.jsx
View file @
7b7154d0
...
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
...
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
import
{
Spin
,
Tooltip
,
Typography
,
Dropdown
,
Menu
}
from
'antd'
;
import
{
Spin
,
Tooltip
,
Typography
,
Dropdown
,
Menu
}
from
'antd'
;
import
{
dispatch
}
from
'../../../../model'
;
import
{
dispatch
}
from
'../../../../model'
;
import
{
AssetManageReference
,
ResourceBrowseReference
}
from
'../../../../util/constant'
;
import
{
AssetManageReference
}
from
'../../../../util/constant'
;
import
ImportElement
from
'./ImportElement'
;
import
ImportElement
from
'./ImportElement'
;
import
AttributeRelationModal
from
"./AttributeRelationModal"
;
import
AttributeRelationModal
from
"./AttributeRelationModal"
;
import
FilterElementModal
from
'./FilterElementModal'
;
import
FilterElementModal
from
'./FilterElementModal'
;
...
...
src/view/Manage/Model/Component/EditModel.jsx
View file @
7b7154d0
...
@@ -7,14 +7,14 @@ import ImportAction from './ImportAction';
...
@@ -7,14 +7,14 @@ import ImportAction from './ImportAction';
import
CatalogModal
from
'./CatalogModal'
;
import
CatalogModal
from
'./CatalogModal'
;
import
{
dispatchLatest
}
from
'../../../../model'
;
import
{
dispatchLatest
}
from
'../../../../model'
;
import
{
getQueryParam
,
showMessage
,
showNotifaction
}
from
'../../../../util'
;
import
{
getQueryParam
,
showMessage
,
showNotifaction
}
from
'../../../../util'
;
import
{
Action
,
CatalogId
,
ModelerId
,
Hints
,
ModelerData
,
PermitCheckOut
,
Editable
,
StateId
,
VersionId
,
Holder
,
DDL
}
from
'../../../../util/constant'
;
import
{
Action
,
CatalogId
,
ModelerId
,
Hints
,
ModelerData
,
PermitCheckOut
,
Editable
,
StateId
,
VersionId
,
Holder
,
DDL
,
ReadOnly
}
from
'../../../../util/constant'
;
import
HistoryAndVersionDrawer
from
'./HistoryAndVersionDrawer'
;
import
HistoryAndVersionDrawer
from
'./HistoryAndVersionDrawer'
;
import
'./EditModel.less'
;
import
'./EditModel.less'
;
const
EditModel
=
(
props
)
=>
{
const
EditModel
=
(
props
)
=>
{
const
[
actionData
,
setActionData
]
=
useState
({
action
:
''
,
catalogId
:
''
,
modelerId
:
''
,
hints
:
[],
roughModelerData
:
null
,
permitCheckOut
:
false
,
editable
:
false
,
stateId
:
''
,
versionId
:
''
,
ddl
:
''
});
const
[
actionData
,
setActionData
]
=
useState
({
action
:
''
,
catalogId
:
''
,
modelerId
:
''
,
hints
:
[],
roughModelerData
:
null
,
permitCheckOut
:
false
,
editable
:
false
,
stateId
:
''
,
versionId
:
''
,
ddl
:
''
,
readOnly
:
false
});
const
[
modelerData
,
setModelerData
]
=
useState
({});
const
[
modelerData
,
setModelerData
]
=
useState
({});
const
[
terms
,
setTerms
]
=
useState
([]);
const
[
terms
,
setTerms
]
=
useState
([]);
...
@@ -25,7 +25,7 @@ const EditModel = (props) => {
...
@@ -25,7 +25,7 @@ const EditModel = (props) => {
const
actionRef
=
useRef
(
''
);
const
actionRef
=
useRef
(
''
);
const
{
action
,
catalogId
,
modelerId
,
hints
,
roughModelerData
,
permitCheckOut
,
editable
,
stateId
,
versionId
,
holder
,
ddl
}
=
actionData
;
const
{
action
,
catalogId
,
modelerId
,
hints
,
roughModelerData
,
permitCheckOut
,
editable
,
stateId
,
versionId
,
holder
,
ddl
,
readOnly
}
=
actionData
;
const
[
form
]
=
Form
.
useForm
();
const
[
form
]
=
Form
.
useForm
();
...
@@ -41,6 +41,7 @@ const EditModel = (props) => {
...
@@ -41,6 +41,7 @@ const EditModel = (props) => {
const
_versionId
=
getQueryParam
(
VersionId
,
props
.
location
.
search
);
const
_versionId
=
getQueryParam
(
VersionId
,
props
.
location
.
search
);
const
_holder
=
getQueryParam
(
Holder
,
props
.
location
.
search
);
const
_holder
=
getQueryParam
(
Holder
,
props
.
location
.
search
);
const
_ddl
=
getQueryParam
(
DDL
,
props
.
location
.
search
);
const
_ddl
=
getQueryParam
(
DDL
,
props
.
location
.
search
);
const
_readOnly
=
getQueryParam
(
ReadOnly
,
props
.
location
.
search
);
let
_hints
=
[];
let
_hints
=
[];
if
((
_hintsStr
||
''
)
!==
''
)
{
if
((
_hintsStr
||
''
)
!==
''
)
{
...
@@ -54,7 +55,7 @@ const EditModel = (props) => {
...
@@ -54,7 +55,7 @@ const EditModel = (props) => {
judgeAttributeRepeat
(
_roughModelerData
.
easyDataModelerDataModelAttributes
);
judgeAttributeRepeat
(
_roughModelerData
.
easyDataModelerDataModelAttributes
);
}
}
setActionData
({
action
:
_action
,
catalogId
:
_catalogId
,
modelerId
:
_modelerId
,
hints
:
_hints
,
roughModelerData
:
_roughModelerData
,
permitCheckOut
:
(
_permitCheckOut
===
'true'
),
editable
:
(
_editable
===
'true'
),
stateId
:
_stateId
,
versionId
:
_versionId
,
holder
:
_holder
,
ddl
:
_ddl
});
setActionData
({
action
:
_action
,
catalogId
:
_catalogId
,
modelerId
:
_modelerId
,
hints
:
_hints
,
roughModelerData
:
_roughModelerData
,
permitCheckOut
:
(
_permitCheckOut
===
'true'
),
editable
:
(
_editable
===
'true'
),
stateId
:
_stateId
,
versionId
:
_versionId
,
holder
:
_holder
,
ddl
:
_ddl
,
readOnly
:
_readOnly
});
actionRef
.
current
=
_action
;
actionRef
.
current
=
_action
;
const
interval
=
setInterval
(()
=>
{
const
interval
=
setInterval
(()
=>
{
...
@@ -278,11 +279,13 @@ const EditModel = (props) => {
...
@@ -278,11 +279,13 @@ const EditModel = (props) => {
actionsBtn
=
(
actionsBtn
=
(
<
Space
>
<
Space
>
<
Button
type=
'primary'
onClick=
{
onHistory
}
danger
>
版本历史
</
Button
>
<
Button
type=
'primary'
onClick=
{
onHistory
}
danger
>
版本历史
</
Button
>
<
Tooltip
title=
{
editTip
}
>
{
(
readOnly
!==
'true'
)
&&
<
Tooltip
title=
{
editTip
}
>
<
Button
type=
'primary'
onClick=
{
edit
}
disabled=
{
(
stateId
===
'4'
)?
!
permitCheckOut
:
!
editable
}
danger
>
<
Button
type=
'primary'
onClick=
{
edit
}
disabled=
{
(
stateId
===
'4'
)?
!
permitCheckOut
:
!
editable
}
danger
>
编辑
编辑
</
Button
>
</
Button
>
</
Tooltip
>
</
Tooltip
>
}
</
Space
>
</
Space
>
);
);
}
else
if
(
action
===
'edit'
)
{
}
else
if
(
action
===
'edit'
)
{
...
...
src/view/Manage/Model/Component/ModelTable.jsx
View file @
7b7154d0
...
@@ -8,8 +8,8 @@ import { useContextMenu, Menu as RcMenu, Item as RcItem } from "react-contexify"
...
@@ -8,8 +8,8 @@ import { useContextMenu, Menu as RcMenu, Item as RcItem } from "react-contexify"
import
ResizeObserver
from
'rc-resize-observer'
;
import
ResizeObserver
from
'rc-resize-observer'
;
import
{
dispatch
}
from
'../../../../model'
;
import
{
dispatch
}
from
'../../../../model'
;
import
{
showMessage
,
getQueryParam
,
paginate
,
isSzseEnv
,
formatDate
}
from
'../../../../util'
;
import
{
showMessage
,
getQueryParam
,
paginate
,
isSzseEnv
,
formatDate
,
getDataModelerRole
}
from
'../../../../util'
;
import
{
AnchorId
,
AnchorTimestamp
,
Action
,
CatalogId
,
ModelerId
}
from
'../../../../util/constant'
;
import
{
AnchorId
,
AnchorTimestamp
,
Action
,
CatalogId
,
ModelerId
,
DataModelerRoleReader
}
from
'../../../../util/constant'
;
// import Tag from "../../Tag";
// import Tag from "../../Tag";
import
'./ModelTable.less'
;
import
'./ModelTable.less'
;
...
@@ -125,7 +125,7 @@ const ResizeableHeaderCell = props => {
...
@@ -125,7 +125,7 @@ const ResizeableHeaderCell = props => {
const
ModelTable
=
(
props
)
=>
{
const
ModelTable
=
(
props
)
=>
{
const
{
data
,
onChange
,
onItemAction
,
onSelect
,
onHistory
,
catalogId
,
keyword
,
onAutoCreateTable
,
offset
=
null
,
modelId
=
null
,
modelPid
=
null
,
view
,
selectModelerIds
,
onSubSelect
,
modelState
}
=
props
;
const
{
data
,
onChange
,
onItemAction
,
onSelect
,
onHistory
,
catalogId
,
keyword
,
onAutoCreateTable
,
offset
=
null
,
modelId
=
null
,
modelPid
=
null
,
view
,
selectModelerIds
,
onSubSelect
,
modelState
,
user
}
=
props
;
const
MENU_ID
=
(((
modelId
||
''
)
!==
''
)
?
`model-table-contextmenu-
${
modelId
}
`
:
'model-table-contextmenu'
);
const
MENU_ID
=
(((
modelId
||
''
)
!==
''
)
?
`model-table-contextmenu-
${
modelId
}
`
:
'model-table-contextmenu'
);
...
@@ -476,7 +476,7 @@ const ModelTable = (props) => {
...
@@ -476,7 +476,7 @@ const ModelTable = (props) => {
}
}
const
detailItem
=
(
record
)
=>
{
const
detailItem
=
(
record
)
=>
{
onItemAction
&&
onItemAction
(
record
,
'detail'
);
onItemAction
&&
onItemAction
(
record
,
'detail'
,
getDataModelerRole
(
user
)
===
DataModelerRoleReader
);
}
}
const
deployAction
=
(
record
)
=>
{
const
deployAction
=
(
record
)
=>
{
...
@@ -776,24 +776,30 @@ const ModelTable = (props) => {
...
@@ -776,24 +776,30 @@ const ModelTable = (props) => {
/>
/>
}
}
<
RcMenu
id=
{
MENU_ID
}
>
<
RcMenu
id=
{
MENU_ID
}
>
<
RcItem
id=
"edit"
disabled=
{
disableEdit
}
onClick=
{
handleItemClick
}
>
{
(
getDataModelerRole
(
user
)
!==
DataModelerRoleReader
)
&&
<
RcItem
id=
"edit"
disabled=
{
disableEdit
}
onClick=
{
handleItemClick
}
>
<
Tooltip
title=
{
editTip
}
>
<
Tooltip
title=
{
editTip
}
>
{
editMenuTitle
}
{
editMenuTitle
}
</
Tooltip
>
</
Tooltip
>
</
RcItem
>
</
RcItem
>
<
RcItem
id=
"delete"
disabled=
{
disableDelete
}
onClick=
{
handleItemClick
}
>
}
{
(
getDataModelerRole
(
user
)
!==
DataModelerRoleReader
)
&&
<
RcItem
id=
"delete"
disabled=
{
disableDelete
}
onClick=
{
handleItemClick
}
>
<
Tooltip
title=
{
deleteTip
}
>
<
Tooltip
title=
{
deleteTip
}
>
删除
删除
</
Tooltip
>
</
Tooltip
>
</
RcItem
>
</
RcItem
>
}
<
RcItem
id=
"history"
onClick=
{
handleItemClick
}
>
<
RcItem
id=
"history"
onClick=
{
handleItemClick
}
>
历史版本
历史版本
</
RcItem
>
</
RcItem
>
<
RcItem
id=
"copy"
onClick=
{
handleItemClick
}
>
{
(
getDataModelerRole
(
user
)
!==
DataModelerRoleReader
)
&&
<
RcItem
id=
"copy"
onClick=
{
handleItemClick
}
>
复制模型
复制模型
</
RcItem
>
</
RcItem
>
}
{
{
(
currentItem
?.
state
?.
supportedActions
||
[]).
length
>
0
&&
currentItem
?.
state
?.
supportedActions
.
map
((
item
,
index
)
=>
{
getDataModelerRole
(
user
)
!==
DataModelerRoleReader
&&
(
currentItem
?.
state
?.
supportedActions
||
[]).
length
>
0
&&
currentItem
?.
state
?.
supportedActions
.
map
((
item
,
index
)
=>
{
return
(
return
(
<
RcItem
id=
{
`action-${index}`
}
onClick=
{
handleItemClick
}
>
<
RcItem
id=
{
`action-${index}`
}
onClick=
{
handleItemClick
}
>
{
item
.
cnName
||
''
}
{
item
.
cnName
||
''
}
...
@@ -802,7 +808,7 @@ const ModelTable = (props) => {
...
@@ -802,7 +808,7 @@ const ModelTable = (props) => {
})
})
}
}
{
{
currentItem
?.
deployable
&&
<
RcItem
id=
'createTable'
onClick=
{
handleItemClick
}
>
getDataModelerRole
(
user
)
!==
DataModelerRoleReader
&&
currentItem
?.
deployable
&&
<
RcItem
id=
'createTable'
onClick=
{
handleItemClick
}
>
建表
建表
</
RcItem
>
</
RcItem
>
}
}
...
...
src/view/Manage/Model/Component/ModelTree.jsx
View file @
7b7154d0
import
React
,
{
useState
,
useEffect
}
from
"react"
;
import
React
,
{
useState
,
useEffect
,
useContext
}
from
"react"
;
import
{
Tooltip
,
Tree
,
Modal
,
Spin
,
Dropdown
,
Menu
,
Button
,
AutoComplete
}
from
"antd"
;
import
{
Tooltip
,
Tree
,
Modal
,
Spin
,
Dropdown
,
Menu
,
Button
,
AutoComplete
}
from
"antd"
;
import
{
PlusOutlined
,
SyncOutlined
,
ImportOutlined
,
UnorderedListOutlined
,
ReloadOutlined
}
from
'@ant-design/icons'
;
import
{
PlusOutlined
,
SyncOutlined
,
ImportOutlined
,
UnorderedListOutlined
,
ReloadOutlined
}
from
'@ant-design/icons'
;
import
classnames
from
'classnames'
;
import
classnames
from
'classnames'
;
...
@@ -6,8 +6,9 @@ import { useContextMenu, Menu as RcMenu, Item as RcItem } from "react-contexify"
...
@@ -6,8 +6,9 @@ import { useContextMenu, Menu as RcMenu, Item as RcItem } from "react-contexify"
import
UpdateTreeItemModal
from
'./UpdateTreeItemModal'
;
import
UpdateTreeItemModal
from
'./UpdateTreeItemModal'
;
import
{
dispatch
}
from
'../../../../model'
;
import
{
dispatch
}
from
'../../../../model'
;
import
{
showMessage
,
getQueryParam
,
highlightSearchContentByTerms
}
from
'../../../../util'
;
import
{
showMessage
,
getQueryParam
,
highlightSearchContentByTerms
,
getDataModelerRole
}
from
'../../../../util'
;
import
{
AnchorId
,
AnchorTimestamp
}
from
'../../../../util/constant'
;
import
{
AnchorId
,
AnchorTimestamp
,
DataModelerRoleAdmin
}
from
'../../../../util/constant'
;
import
{
AppContext
}
from
"../../../../App"
;
import
'./ModelTree.less'
;
import
'./ModelTree.less'
;
import
'react-contexify/dist/ReactContexify.css'
;
import
'react-contexify/dist/ReactContexify.css'
;
...
@@ -34,6 +35,8 @@ const ModelTree = (props) => {
...
@@ -34,6 +35,8 @@ const ModelTree = (props) => {
});
});
const
{
onSelect
,
onViewChange
,
refrence
=
''
,
importStockModel
,
keyword
}
=
props
;
const
{
onSelect
,
onViewChange
,
refrence
=
''
,
importStockModel
,
keyword
}
=
props
;
const
{
user
}
=
useContext
(
AppContext
);
const
[
loading
,
setLoading
]
=
useState
(
false
);
const
[
loading
,
setLoading
]
=
useState
(
false
);
const
[
treeData
,
setTreeData
]
=
useState
(
null
);
const
[
treeData
,
setTreeData
]
=
useState
(
null
);
const
[
item
,
setItem
]
=
useState
(
null
);
const
[
item
,
setItem
]
=
useState
(
null
);
...
@@ -500,7 +503,7 @@ const ModelTree = (props) => {
...
@@ -500,7 +503,7 @@ const ModelTree = (props) => {
borderBottom
:
"1px solid #EFEFEF"
,
borderBottom
:
"1px solid #EFEFEF"
,
height
:
57
,
height
:
57
,
alignItems
:
'center'
,
alignItems
:
'center'
,
justifyContent
:
(
viewSelectedKey
===
'dir'
)?
'space-between'
:
''
,
justifyContent
:
(
viewSelectedKey
===
'dir'
&&
getDataModelerRole
(
user
)
===
DataModelerRoleAdmin
)?
'space-between'
:
''
,
}
}
}
}
>
>
<
Dropdown
overlay=
{
exportMenu
}
placement=
"bottomLeft"
>
<
Dropdown
overlay=
{
exportMenu
}
placement=
"bottomLeft"
>
...
@@ -510,14 +513,14 @@ const ModelTree = (props) => {
...
@@ -510,14 +513,14 @@ const ModelTree = (props) => {
</
Dropdown
>
</
Dropdown
>
{
{
viewSelectedKey
===
'dir'
&&
(
(
viewSelectedKey
===
'dir'
&&
getDataModelerRole
(
user
)
===
DataModelerRoleAdmin
)
&&
(
<
Tooltip
title=
"新增目录"
className=
'ml-2'
>
<
Tooltip
title=
"新增目录"
className=
'ml-2'
>
<
PlusOutlined
className=
'default'
onClick=
{
add
}
style=
{
{
fontSize
:
16
,
cursor
:
'pointer'
}
}
/>
<
PlusOutlined
className=
'default'
onClick=
{
add
}
style=
{
{
fontSize
:
16
,
cursor
:
'pointer'
}
}
/>
</
Tooltip
>
</
Tooltip
>
)
)
}
}
{
{
viewSelectedKey
===
'dir'
&&
(
(
viewSelectedKey
===
'dir'
&&
getDataModelerRole
(
user
)
===
DataModelerRoleAdmin
)
&&
(
<
Tooltip
title=
"存量模型导入"
className=
'ml-2'
>
<
Tooltip
title=
"存量模型导入"
className=
'ml-2'
>
<
ImportOutlined
className=
'default'
onClick=
{
()
=>
{
importStockModel
&&
importStockModel
()
}
}
style=
{
{
fontSize
:
16
,
cursor
:
'pointer'
}
}
/>
<
ImportOutlined
className=
'default'
onClick=
{
()
=>
{
importStockModel
&&
importStockModel
()
}
}
style=
{
{
fontSize
:
16
,
cursor
:
'pointer'
}
}
/>
</
Tooltip
>
</
Tooltip
>
...
@@ -529,7 +532,7 @@ const ModelTree = (props) => {
...
@@ -529,7 +532,7 @@ const ModelTree = (props) => {
</
Tooltip
>
</
Tooltip
>
{
{
(
viewSelectedKey
===
'dir'
)
&&
!
isSetRootId
&&
(
(
viewSelectedKey
===
'dir'
&&
getDataModelerRole
(
user
)
===
DataModelerRoleAdmin
)
&&
!
isSetRootId
&&
(
<
Dropdown
overlay=
{
syncMenu
}
placement=
"bottomLeft"
>
<
Dropdown
overlay=
{
syncMenu
}
placement=
"bottomLeft"
>
<
Tooltip
title=
"同步目录"
>
<
Tooltip
title=
"同步目录"
>
<
SyncOutlined
className=
'default ml-2'
style=
{
{
fontSize
:
16
,
cursor
:
'pointer'
}
}
/>
<
SyncOutlined
className=
'default ml-2'
style=
{
{
fontSize
:
16
,
cursor
:
'pointer'
}
}
/>
...
@@ -539,7 +542,7 @@ const ModelTree = (props) => {
...
@@ -539,7 +542,7 @@ const ModelTree = (props) => {
}
}
{
{
(
viewSelectedKey
===
'dir'
)
&&
isSetRootId
&&
(
(
viewSelectedKey
===
'dir'
&&
getDataModelerRole
(
user
)
===
DataModelerRoleAdmin
)
&&
isSetRootId
&&
(
<
Tooltip
title=
"同步目录"
className=
'ml-2'
>
<
Tooltip
title=
"同步目录"
className=
'ml-2'
>
<
Button
type=
'text'
icon=
{
<
SyncOutlined
className=
'default'
/>
}
size=
'small'
onClick=
{
sync
}
/>
<
Button
type=
'text'
icon=
{
<
SyncOutlined
className=
'default'
/>
}
size=
'small'
onClick=
{
sync
}
/>
</
Tooltip
>
</
Tooltip
>
...
@@ -585,7 +588,7 @@ const ModelTree = (props) => {
...
@@ -585,7 +588,7 @@ const ModelTree = (props) => {
return
<
span
title=
{
nodeData
?.
remark
||
''
}
>
{
nodeData
?.
name
||
''
}
</
span
>;
return
<
span
title=
{
nodeData
?.
remark
||
''
}
>
{
nodeData
?.
name
||
''
}
</
span
>;
}
}
}
}
onRightClick=
{
({
event
,
node
})
=>
{
onRightClick=
{
({
event
,
node
})
=>
{
if
(
viewSelectedKey
===
'dir'
)
{
if
(
viewSelectedKey
===
'dir'
&&
getDataModelerRole
(
user
)
===
DataModelerRoleAdmin
)
{
setCurrentRightClickDir
(
node
);
setCurrentRightClickDir
(
node
);
displayMenu
(
event
);
displayMenu
(
event
);
}
}
...
...
src/view/Manage/Model/index.jsx
View file @
7b7154d0
...
@@ -13,9 +13,9 @@ import ExportOtherModal from './Component/ExportOtherModal';
...
@@ -13,9 +13,9 @@ import ExportOtherModal from './Component/ExportOtherModal';
import
RecatalogModal
from
'./Component/RecatalogModal'
;
import
RecatalogModal
from
'./Component/RecatalogModal'
;
import
HistoryAndVersionDrawer
from
'./Component/HistoryAndVersionDrawer'
;
import
HistoryAndVersionDrawer
from
'./Component/HistoryAndVersionDrawer'
;
import
StartFlowModal
from
'./Component/StartFlowModal'
;
import
StartFlowModal
from
'./Component/StartFlowModal'
;
import
{
showMessage
,
showNotifaction
,
inputWidth
,
DeleteTipModal
}
from
'../../../util'
;
import
{
showMessage
,
showNotifaction
,
inputWidth
,
DeleteTipModal
,
getDataModelerRole
}
from
'../../../util'
;
import
{
dispatch
,
dispatchLatestHomepage
}
from
'../../../model'
;
import
{
dispatch
,
dispatchLatestHomepage
}
from
'../../../model'
;
import
{
Action
,
CatalogId
,
ModelerId
,
Hints
,
ModelerData
,
PermitCheckOut
,
Editable
,
StateId
,
Holder
,
DDL
}
from
'../../../util/constant'
;
import
{
Action
,
CatalogId
,
ModelerId
,
Hints
,
ModelerData
,
PermitCheckOut
,
Editable
,
StateId
,
Holder
,
DDL
,
DataModelerRoleReader
,
ReadOnly
}
from
'../../../util/constant'
;
import
{
AppContext
}
from
'../../../App'
;
import
{
AppContext
}
from
'../../../App'
;
import
DebounceInput
from
'./Component/DebounceInput'
;
import
DebounceInput
from
'./Component/DebounceInput'
;
...
@@ -180,11 +180,11 @@ class Model extends React.Component {
...
@@ -180,11 +180,11 @@ class Model extends React.Component {
this
.
setState
({
selectModelerIds
:
ids
});
this
.
setState
({
selectModelerIds
:
ids
});
}
}
onTableItemAction
=
(
record
,
action
)
=>
{
onTableItemAction
=
(
record
,
action
,
readOnly
=
false
)
=>
{
this
.
setState
({
importModalAction
:
action
,
modelerId
:
record
.
id
},
()
=>
{
this
.
setState
({
importModalAction
:
action
,
modelerId
:
record
.
id
},
()
=>
{
const
{
catalogId
,
importModalAction
,
modelerId
}
=
this
.
state
;
const
{
catalogId
,
importModalAction
,
modelerId
}
=
this
.
state
;
window
.
open
(
`/data-govern/data-model-action?
${
Action
}
=
${
importModalAction
}
&
${
CatalogId
}
=
${
catalogId
}
&
${
ModelerId
}
=
${
modelerId
}
&
${
PermitCheckOut
}
=
${
record
.
permitCheckOut
||
false
}
&
${
Editable
}
=
${
record
.
editable
||
false
}
&
${
StateId
}
=
${
record
.
state
?.
id
||
''
}
&
$
{
Holder
}
=
$
{
record
.
holder
||
''
}
`);
window
.
open
(
`/data-govern/data-model-action?
${
Action
}
=
${
importModalAction
}
&
${
CatalogId
}
=
${
catalogId
}
&
${
ModelerId
}
=
${
modelerId
}
&
${
PermitCheckOut
}
=
${
record
.
permitCheckOut
||
false
}
&
${
Editable
}
=
${
record
.
editable
||
false
}
&
${
StateId
}
=
${
record
.
state
?.
id
||
''
}
&
$
{
Holder
}
=
$
{
record
.
holder
||
''
}
&
$
{
ReadOnly
}
=
$
{
readOnly
}
`);
});
});
}
}
...
@@ -435,24 +435,6 @@ class Model extends React.Component {
...
@@ -435,24 +435,6 @@ class Model extends React.Component {
render() {
render() {
const { importModalVisible, catalogId, loadingTableData, selectModelerIds, keyword, filterTableData, selectModelerNames, exportDDLModalVisible, exportOtherModalVisible, importStockWordDrawerVisible , loadingStates, modelStates, currentModelState, currentView, recatalogModalVisible, exportDDLModalReference, currentModel, offset, historyAndVersionDrawerVisible, modelerId, startFlowModalVisible, expandTree, showDeleteTip } = this.state;
const { importModalVisible, catalogId, loadingTableData, selectModelerIds, keyword, filterTableData, selectModelerNames, exportDDLModalVisible, exportOtherModalVisible, importStockWordDrawerVisible , loadingStates, modelStates, currentModelState, currentView, recatalogModalVisible, exportDDLModalReference, currentModel, offset, historyAndVersionDrawerVisible, modelerId, startFlowModalVisible, expandTree, showDeleteTip } = this.state;
const content = (
<ModelTable
loading={loadingTableData}
catalogId={catalogId}
view={currentView}
data={filterTableData}
modelState={currentModelState}
offset={offset}
keyword={keyword}
selectModelerIds={selectModelerIds}
onChange={this.onTableChange}
onSelect={this.onTableSelect}
onItemAction={this.onTableItemAction}
onAutoCreateTable={this.onAutoCreateTable}
onHistory={this.onHistory}
{...this.props} />
);
const classes = classNames('data-model', {
const classes = classNames('data-model', {
'data-model-collapse': !expandTree
'data-model-collapse': !expandTree
});
});
...
@@ -467,7 +449,9 @@ class Model extends React.Component {
...
@@ -467,7 +449,9 @@ class Model extends React.Component {
}
}
return (
return (
<div className={classes}>
<AppContext.Consumer>
{
value => <div className={classes}>
<div className='left'>
<div className='left'>
<ModelTree onViewChange={this.onViewChange} onSelect={this.onTreeSelect} importStockModel={this.importStockModel} keyword={keyword} {...this.props} />
<ModelTree onViewChange={this.onViewChange} onSelect={this.onTreeSelect} importStockModel={this.importStockModel} keyword={keyword} {...this.props} />
</div>
</div>
...
@@ -486,6 +470,8 @@ class Model extends React.Component {
...
@@ -486,6 +470,8 @@ class Model extends React.Component {
}}
}}
>
>
<Space>
<Space>
{
(getDataModelerRole(value?.user)!==DataModelerRoleReader) && <React.Fragment>
<Space>
<Space>
<Button onClick={() => { this.setState({ importModalVisible: true }); }}>新建</Button>
<Button onClick={() => { this.setState({ importModalVisible: true }); }}>新建</Button>
</Space>
</Space>
...
@@ -513,7 +499,8 @@ class Model extends React.Component {
...
@@ -513,7 +499,8 @@ class Model extends React.Component {
<Button onClick={this.onBatchDeleteBtnClick} disabled={(selectModelerIds||[]).length===0}>删除</Button>
<Button onClick={this.onBatchDeleteBtnClick} disabled={(selectModelerIds||[]).length===0}>删除</Button>
</Tooltip>
</Tooltip>
</Space>
</Space>
</React.Fragment>
}
</Space>
</Space>
<Space>
<Space>
...
@@ -552,7 +539,22 @@ class Model extends React.Component {
...
@@ -552,7 +539,22 @@ class Model extends React.Component {
</div>
</div>
<div className='p-3'>
<div className='p-3'>
<Spin spinning={loadingTableData}>
<Spin spinning={loadingTableData}>
{ content }
<ModelTable
loading={loadingTableData}
user={value?.user}
catalogId={catalogId}
view={currentView}
data={filterTableData}
modelState={currentModelState}
offset={offset}
keyword={keyword}
selectModelerIds={selectModelerIds}
onChange={this.onTableChange}
onSelect={this.onTableSelect}
onItemAction={this.onTableItemAction}
onAutoCreateTable={this.onAutoCreateTable}
onHistory={this.onHistory}
{...this.props} />
</Spin>
</Spin>
</div>
</div>
</div>
</div>
...
@@ -573,9 +575,7 @@ class Model extends React.Component {
...
@@ -573,9 +575,7 @@ class Model extends React.Component {
onSuccess={this.onImportStockWordSuccess}
onSuccess={this.onImportStockWordSuccess}
/>
/>
<AppContext.Consumer>
<ExportDDLModal
{
value => <ExportDDLModal
visible={exportDDLModalVisible}
visible={exportDDLModalVisible}
reference={exportDDLModalReference}
reference={exportDDLModalReference}
ids={(exportDDLModalReference==='exportDDL')?selectModelerIds:[currentModel.id]}
ids={(exportDDLModalReference==='exportDDL')?selectModelerIds:[currentModel.id]}
...
@@ -583,8 +583,6 @@ class Model extends React.Component {
...
@@ -583,8 +583,6 @@ class Model extends React.Component {
env={value?.env}
env={value?.env}
onCancel={this.onExportDDLModalCancel}
onCancel={this.onExportDDLModalCancel}
/>
/>
}
</AppContext.Consumer>
<ExportOtherModal
<ExportOtherModal
visible={exportOtherModalVisible}
visible={exportOtherModalVisible}
...
@@ -615,6 +613,8 @@ class Model extends React.Component {
...
@@ -615,6 +613,8 @@ class Model extends React.Component {
onCancel={this.onDeleteTipModalCancel}
onCancel={this.onDeleteTipModalCancel}
/>
/>
</div>
</div>
}
</AppContext.Consumer>
);
);
}
}
...
...
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