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
6c65ac7b
Commit
6c65ac7b
authored
Feb 22, 2022
by
zhaochengxiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
资产管理
parent
9cf34768
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
138 additions
and
28 deletions
+138
-28
assetmanage.js
src/model/assetmanage.js
+12
-0
dataassetmanager.js
src/service/dataassetmanager.js
+12
-0
AssetDirectory.jsx
src/view/Manage/AssetManage/Component/AssetDirectory.jsx
+2
-2
AssetTable.jsx
src/view/Manage/AssetManage/Component/AssetTable.jsx
+1
-0
ElementManage.jsx
src/view/Manage/AssetManage/Component/ElementManage.jsx
+17
-1
FilterElementModal.jsx
src/view/Manage/AssetManage/Component/FilterElementModal.jsx
+32
-4
UpdateDirectoryModal.jsx
...iew/Manage/AssetManage/Component/UpdateDirectoryModal.jsx
+62
-21
No files found.
src/model/assetmanage.js
View file @
6c65ac7b
...
...
@@ -13,6 +13,10 @@ export function* listElements() {
return
yield
call
(
service
.
listElements
);
}
export
function
*
listUserElements
()
{
return
yield
call
(
service
.
listUserElements
);
}
export
function
*
listCustomElements
()
{
return
yield
call
(
service
.
listCustomElements
);
}
...
...
@@ -33,6 +37,14 @@ export function* setupFilterElementIds(payload) {
return
yield
call
(
service
.
setupFilterElementIds
,
payload
);
}
export
function
*
listFilterElementIdsConfig
()
{
return
yield
call
(
service
.
listFilterElementIdsConfig
);
}
export
function
*
setupFilterElementIdsConfig
(
payload
)
{
return
yield
call
(
service
.
setupFilterElementIdsConfig
,
payload
);
}
export
function
*
addOrUpdateDataAsset
(
payload
)
{
return
yield
call
(
service
.
addOrUpdateDataAsset
,
payload
);
}
...
...
src/service/dataassetmanager.js
View file @
6c65ac7b
...
...
@@ -12,6 +12,10 @@ export function listElements() {
return
PostJSON
(
"/dataassetmanager/elementApi/listElements"
);
}
export
function
listUserElements
()
{
return
PostJSON
(
"/dataassetmanager/elementApi/listSelectedRangeElements"
);
}
export
function
listCustomElements
()
{
return
GetJSON
(
"/dataassetmanager/elementApi/listCustomElements"
);
}
...
...
@@ -32,6 +36,14 @@ export function setupFilterElementIds(payload) {
return
PostJSON
(
"/dataassetmanager/elementApi/setupFilterElementIds"
,
payload
);
}
export
function
listFilterElementIdsConfig
()
{
return
PostJSON
(
"/dataassetmanager/configApi/listFilterElementIds"
);
}
export
function
setupFilterElementIdsConfig
(
payload
)
{
return
PostJSON
(
"/dataassetmanager/configApi/setupFilterElementIds"
,
payload
);
}
export
function
addOrUpdateDataAsset
(
payload
)
{
return
PostJSON
(
"/dataassetmanager/dataAssetApi/addOrUpdateDataAsset"
,
payload
);
}
...
...
src/view/Manage/AssetManage/Component/AssetDirectory.jsx
View file @
6c65ac7b
...
...
@@ -55,9 +55,9 @@ const AssetDirectory = (props) => {
<
span
>
{
`编号: ${dir?(dir.code||''):''}`
}
</
span
>
</
Space
>
<
Tooltip
title=
{
`${dir?(dir.remark||''):''}`
}
>
<
div
className=
'textOverflow'
>
{
`描述: ${dir?(dir.
remark
||''):''}`
}
</
div
>
<
div
className=
'textOverflow'
>
{
`描述: ${dir?(dir.
desc
||''):''}`
}
</
div
>
</
Tooltip
>
<
div
>
{
`备注: `
}
</
div
>
<
div
>
{
`备注:
${dir?(dir.remarks||''):''}
`
}
</
div
>
</
div
>
<
div
className=
'flex'
...
...
src/view/Manage/AssetManage/Component/AssetTable.jsx
View file @
6c65ac7b
...
...
@@ -501,6 +501,7 @@ const AssetTable = (props) => {
{
...
props
}
/>
<
FilterElementModal
type=
{
(
reference
===
AssetManageReference
)?
'admin'
:
'user'
}
visible=
{
filterElementVisible
}
onCancel=
{
onFilterElementModalCancel
}
/>
...
...
src/view/Manage/AssetManage/Component/ElementManage.jsx
View file @
6c65ac7b
...
...
@@ -3,6 +3,8 @@ import { Space, Button } from 'antd';
import
ImportElement
from
'./ImportElement'
;
import
AttributeRelationModal
from
"./AttributeRelationModal"
;
import
FilterElementModal
from
'./FilterElementModal'
;
import
{
showNotifaction
}
from
'../../../../util'
;
const
ElementManage
=
(
props
)
=>
{
...
...
@@ -10,6 +12,7 @@ const ElementManage = (props) => {
const
[
importElementVisible
,
setImportElementVisible
]
=
useState
(
false
);
const
[
attributeRelationModalVisible
,
setAttributeRelationModalVisible
]
=
useState
(
false
);
const
[
filterElementVisible
,
setFilterElementVisible
]
=
useState
(
false
);
const
onImportElementBtnClick
=
()
=>
{
setImportElementVisible
(
true
);
...
...
@@ -19,6 +22,10 @@ const ElementManage = (props) => {
window
.
open
(
'/api/dataassetmanager/elementApi/export'
);
}
const
onFilterElementClick
=
()
=>
{
setFilterElementVisible
(
true
);
}
const
onAttributeRelationBtnClick
=
()
=>
{
setAttributeRelationModalVisible
(
true
);
}
...
...
@@ -35,6 +42,10 @@ const ElementManage = (props) => {
}
}
const
onFilterElementModalCancel
=
()
=>
{
setFilterElementVisible
(
false
);
}
const
onAttributeRelationModalCancel
=
()
=>
{
setAttributeRelationModalVisible
(
false
);
}
...
...
@@ -52,7 +63,7 @@ const ElementManage = (props) => {
<
Space
>
<
Button
onClick=
{
onImportElementBtnClick
}
>
导入要素
</
Button
>
<
Button
onClick=
{
onExportElementBtnClick
}
>
导出要素
</
Button
>
<
Button
>
要素管理
</
Button
>
<
Button
onClick=
{
onFilterElementClick
}
>
要素管理
</
Button
>
<
Button
onClick=
{
onAttributeRelationBtnClick
}
>
元数据属性关联
</
Button
>
</
Space
>
...
...
@@ -61,6 +72,11 @@ const ElementManage = (props) => {
onCancel=
{
onImportElementCancel
}
/>
<
FilterElementModal
visible=
{
filterElementVisible
}
onCancel=
{
onFilterElementModalCancel
}
/>
<
AttributeRelationModal
visible=
{
attributeRelationModalVisible
}
onCancel=
{
onAttributeRelationModalCancel
}
...
...
src/view/Manage/AssetManage/Component/FilterElementModal.jsx
View file @
6c65ac7b
...
...
@@ -5,9 +5,14 @@ import { dispatch } from '../../../../model';
import
{
requireElements
}
from
'../util'
;
import
'./FilterElementModal.less'
;
//type
//global 全局设置
//admin 管理员
//user 普通用户
const
FilterElementModal
=
(
props
)
=>
{
const
{
visible
,
onCancel
}
=
props
;
const
{
visible
,
onCancel
,
type
=
'global'
}
=
props
;
const
[
elements
,
setElements
]
=
useState
([]);
const
[
typesOfElements
,
setTypesOfElements
]
=
useState
([]);
const
[
selectedKeys
,
setSelectedKeys
]
=
useState
([]);
...
...
@@ -22,8 +27,16 @@ const FilterElementModal = (props) => {
},
[
visible
]);
const
getAllFilterElementIdsThenGetAllElements
=
()
=>
{
let
url
=
''
;
if
(
type
===
'global'
)
{
url
=
'assetmanage.listFilterElementIdsConfig'
;
}
else
{
url
=
'assetmanage.listFilterElementIds'
;
}
dispatch
({
type
:
'assetmanage.listFilterElementIds'
,
type
:
url
,
callback
:
data
=>
{
setSelectedKeys
(
data
||
[]);
getAllElements
();
...
...
@@ -32,8 +45,16 @@ const FilterElementModal = (props) => {
}
const
getAllElements
=
()
=>
{
let
url
=
''
;
if
(
type
===
'user'
)
{
url
=
'assetmanage.listUserElements'
;
}
else
{
url
=
'assetmanage.listElements'
;
}
dispatch
({
type
:
'assetmanage.listElements'
,
type
:
url
,
callback
:
data
=>
{
setElements
(
data
||
[]);
convertElements
(
data
||
[]);
...
...
@@ -93,8 +114,15 @@ const FilterElementModal = (props) => {
setConfirmLoading
(
true
);
let
url
=
''
;
if
(
type
===
'global'
)
{
url
=
'assetmanage.setupFilterElementIdsConfig'
;
}
else
{
url
=
'assetmanage.setupFilterElementIds'
;
}
dispatch
({
type
:
'assetmanage.setupFilterElementIds'
,
type
:
url
,
payload
:
{
data
:
selectedKeys
},
...
...
src/view/Manage/AssetManage/Component/UpdateDirectoryModal.jsx
View file @
6c65ac7b
import
React
,
{
useEffect
,
useState
}
from
'react'
;
import
{
Modal
,
Form
,
Input
,
Space
,
InputNumber
,
Button
,
Radio
}
from
'antd'
;
import
{
Modal
,
Form
,
Input
,
Space
,
InputNumber
,
Button
,
Radio
,
Select
}
from
'antd'
;
import
{
dispatch
}
from
'../../../../model'
;
import
{
showMessage
}
from
'../../../../util'
;
const
resourceTypes
=
[
{
key
:
'innerSource'
,
name
:
'外部资源'
},
{
key
:
'outerSource'
,
name
:
'内部资源'
},
{
key
:
'dataAsset'
,
name
:
'资产'
},
]
const
UpdateDirectoryModal
=
(
props
)
=>
{
const
{
visible
,
onCancel
,
dirId
,
action
}
=
props
;
...
...
@@ -11,13 +17,15 @@ const UpdateDirectoryModal = (props) => {
const
[
form
]
=
Form
.
useForm
();
const
[
dir
,
setDir
]
=
useState
(
null
);
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
(
false
);
const
[
isThemeAdd
,
setIsThemeAdd
]
=
useState
(
false
);
useEffect
(()
=>
{
if
(
visible
)
{
setDir
(
null
);
form
.
resetFields
();
if
((
dirId
||
''
)
!==
''
)
{
if
(
action
!==
'add'
&&
(
dirId
||
''
)
!==
''
)
{
getDirectory
();
}
}
...
...
@@ -34,11 +42,7 @@ const UpdateDirectoryModal = (props) => {
},
callback
:
data
=>
{
setDir
(
data
);
if
(
action
===
'add'
)
{
form
.
resetFields
();
}
else
{
form
.
setFieldsValue
({
code
:
data
.
code
,
name
:
data
.
name
||
''
,
order
:
data
.
order
||
''
,
remarks
:
data
.
remarks
||
''
});
}
form
.
setFieldsValue
({
code
:
data
?.
code
,
name
:
data
?.
name
||
''
,
order
:
data
?.
order
||
''
,
desc
:
data
?.
desc
||
''
,
remarks
:
data
?.
remarks
||
''
});
}
})
}
...
...
@@ -54,6 +58,7 @@ const UpdateDirectoryModal = (props) => {
code
:
row
.
code
,
name
:
row
.
name
,
order
:
row
.
order
,
desc
:
row
.
desc
,
remarks
:
row
.
remarks
,
}
};
...
...
@@ -69,6 +74,8 @@ const UpdateDirectoryModal = (props) => {
payload
=
{
...
payload
,
params
:
{
parentPath
:
dir
.
path
||
''
}};
}
else
{
payload
.
data
.
resourceType
=
row
.
resourceType
;
}
}
else
{
...
...
@@ -104,13 +111,24 @@ const UpdateDirectoryModal = (props) => {
const
onReset
=
()
=>
{
if
(
action
===
'add'
)
{
form
.
resetFields
()
setIsThemeAdd
(
false
);
form
.
resetFields
();
}
else
{
if
(
dir
===
null
)
{
showMessage
(
'warn'
,
'资产目录节点信息正在加载中...'
);
return
;
}
form
.
setFieldsValue
({
code
:
dir
.
code
,
name
:
dir
.
name
||
''
,
order
:
dir
.
order
||
''
,
remarks
:
dir
.
remarks
||
''
})
form
.
resetFields
();
}
}
const
onValuesChange
=
(
changedValues
,
allValues
)
=>
{
if
(
action
===
'add'
)
{
if
(
changedValues
.
type
===
'theme'
)
{
setIsThemeAdd
(
true
);
}
else
if
(
changedValues
.
type
===
'directory'
)
{
setIsThemeAdd
(
false
);
}
}
}
...
...
@@ -140,18 +158,35 @@ const UpdateDirectoryModal = (props) => {
</
Space
>
}
>
<
Form
{
...
formItemLayout
}
form=
{
form
}
>
<
Form
{
...
formItemLayout
}
form=
{
form
}
onValuesChange=
{
onValuesChange
}
>
{
action
===
'add'
&&
<
Form
.
Item
label=
"类型"
name=
"type"
rules=
{
[{
required
:
true
,
message
:
'必填项'
}]
}
>
<
Radio
.
Group
>
<
Radio
value=
'theme'
>
主题
</
Radio
>
<
Radio
value=
'directory'
disabled=
{
dirId
===
null
}
>
目录
</
Radio
>
</
Radio
.
Group
>
</
Form
.
Item
>
action
===
'add'
&&
<
React
.
Fragment
>
<
Form
.
Item
label=
"类型"
name=
"type"
rules=
{
[{
required
:
true
,
message
:
'必填项'
}]
}
>
<
Radio
.
Group
>
<
Radio
value=
'theme'
>
主题
</
Radio
>
<
Radio
value=
'directory'
disabled=
{
dirId
===
null
}
>
目录
</
Radio
>
</
Radio
.
Group
>
</
Form
.
Item
>
{
isThemeAdd
&&
<
Form
.
Item
label=
"资产类型"
name=
"resourceType"
rules=
{
[{
required
:
true
,
message
:
'必填项'
}]
}
>
<
Select
>
{
resourceTypes
.
map
((
item
,
index
)
=>
{
return
<
Select
.
Option
key=
{
item
.
key
}
>
{
item
.
name
}
</
Select
.
Option
>
})
}
</
Select
>
</
Form
.
Item
>
}
</
React
.
Fragment
>
}
<
Form
.
Item
label=
"编号"
...
...
@@ -186,10 +221,16 @@ const UpdateDirectoryModal = (props) => {
}
<
Form
.
Item
label=
"描述"
name=
"
remarks
"
name=
"
desc
"
>
<
Input
.
TextArea
placeholder=
"请输入描述"
autoSize=
{
{
minRows
:
4
,
maxRows
:
4
}
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
"备注"
name=
"remarks"
>
<
Input
.
TextArea
placeholder=
"请输入备注"
autoSize=
{
{
minRows
:
4
,
maxRows
:
4
}
}
/>
</
Form
.
Item
>
</
Form
>
</
Modal
>
);
...
...
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