Commit 688c802f by zhaochengxiang

资产管理

parent 3b52d2f5
......@@ -96,6 +96,12 @@ export function* existDataAsset(payload) {
export function* queryAllDirectoryAsTree() {
return yield call(service.queryAllDirectoryAsTree);
}
export function* queryResourceManageTree() {
return yield call(service.queryResourceManageTree);
}
export function* queryDataAssetManageTree() {
return yield call(service.queryDataAssetManageTree);
}
export function* queryResourceDirectoryAsTree() {
return yield call(service.queryResourceDirectoryAsTree);
}
......
......@@ -132,8 +132,16 @@ export function queryAllDirectoryAsTree() {
return GetJSON("/dataassetmanager/directoryApi/queryAllDirectoryAsTree");
}
export function queryResourceManageTree() {
return GetJSON("/dataassetmanager/resourceApi/queryResourceManageTree")
}
export function queryDataAssetManageTree() {
return GetJSON("/dataassetmanager/dataAssetApi/queryDataAssetManageTree");
}
export function queryResourceDirectoryAsTree() {
return PostJSON("/dataassetmanager/directoryApi/querySourceTypeAsTree");
return GetJSON("/dataassetmanager/directoryApi/querySourceTypeAsTree");
}
export function queryAssetDirectoryAsTree() {
......
......@@ -564,7 +564,7 @@ const AssetAction = (props) => {
key={_index}
style={{ marginBottom: (_index===sameAttributeElements.length-1)? 0 : 15 }}
>
{ (element.metadataItem==='是') ? <MetadataInfo /> : <Input disabled={element.manualMaintain==='否'} /> }
{ (element.metadataItem==='是') ? <MetadataInfo reference={reference} /> : <Input disabled={element.manualMaintain==='否'} /> }
</Form.Item>
);
})
......@@ -577,7 +577,7 @@ const AssetAction = (props) => {
return (
<Descriptions.Item label={<div className='title-common' style={{ textAlign: 'right', width: 60 }}>{item.name||''}</div>} key={index} style={{ paddingBottom: (index===sameAttributeElements.length-1)? 0 : 10 }}>
{
item.name==='资产项' ? <MetadataInfo config={false} value={item.value||''} /> : <span className='text-color'>{highlightSearchContentByTerms(item.value||'', terms)}</span>
item.name==='资产项' ? <MetadataInfo reference={reference} config={false} value={item.value||''} /> : <span className='text-color'>{highlightSearchContentByTerms(item.value||'', terms)}</span>
}
</Descriptions.Item>
);
......
......@@ -5,8 +5,9 @@ import { SettingFilled } from '@ant-design/icons'
import { highlightSearchContentByTerms, IsArr } from '../../../../util'
import { AppContext } from '../../../../App'
import { MetadataColumnTooltipTitle } from '../../AssetResourceManage/table'
import { AssetManageReference, ResourceManageReference } from '../../../../util/constant'
const MetadataInfo = ({ value = '', config = true, terms = [] }) => {
const MetadataInfo = ({ value = '', reference = AssetManageReference, config = true, terms = [] }) => {
const app = React.useContext(AppContext)
const decodeData = React.useMemo(() => {
if (value) {
......@@ -21,37 +22,81 @@ const MetadataInfo = ({ value = '', config = true, terms = [] }) => {
}, [value])
return (
<React.Fragment>
{
reference === ResourceManageReference ? <ResourceItem data={decodeData} config={config} terms={terms} /> : <AssetItem data={decodeData} config={config} terms={terms} />
}
</React.Fragment>
)
}
export default MetadataInfo
const ResourceItem = ({ data, config, terms }) => {
const app = React.useContext(AppContext)
return (
<div className='flex'>
{
(typeof decodeData === 'string') ? <span style={{ marginRight: 5 }}>
{highlightSearchContentByTerms(decodeData, terms)}
</span> : (IsArr(decodeData) ? <div className='flex' style={{ flexDirection: 'column' }}>
(typeof data === 'string') ? <span style={{ marginRight: 5 }}>
{highlightSearchContentByTerms(data, terms)}
</span> : (IsArr(data) ? <div className='flex' style={{ flexDirection: 'column' }}>
{
(decodeData??[]).map((item, index) => <span key={index}>
(data??[]).length>0 && <span>
<Tooltip
overlayClassName='tooltip-common'
title={<MetadataColumnTooltipTitle data={[item]} />}
title={<MetadataColumnTooltipTitle data={data} />}
>
<a
onClick={() => {
<a onClick={() => {
app?.setGlobalState?.({
message: 'data-govern-show-metadata-message',
data: item
data: data[0]
})
}}
style={{ marginRight: 5, marginTop: config?5:0 }}
>
{highlightSearchContentByTerms(item.enName, terms)}
{highlightSearchContentByTerms(data[0].enName, terms)}
</a>
</Tooltip>
</span>
}
</div> : null)
}
{
config && <Button type='text' icon={<SettingFilled />} onClick={() => {
app?.setGlobalState?.({
message: 'data-govern-show-metadata-list-message',
data: (typeof decodeData==='string') ? {} : item
data: (typeof data==='string') ? {} : data[0]
})
}} />
}
</div>
)
}
const AssetItem = ({ data, config, terms }) => {
return (
<div className='flex'>
{
(typeof data === 'string') ? <span style={{ marginRight: 5 }}>
{highlightSearchContentByTerms(data, terms)}
</span> : (IsArr(data) ? <div className='flex' style={{ flexDirection: 'column' }}>
{
(data??[]).map((item, index) => <span key={index}>
<Tooltip
overlayClassName='tooltip-common'
title={<MetadataColumnTooltipTitle data={[item]} />}
>
<a onClick={() => {
app?.setGlobalState?.({
message: 'data-govern-show-metadata-message',
data: item
})
}}
style={{ marginRight: 5, marginTop: config?5:0 }}
>
{highlightSearchContentByTerms(item.enName, terms)}
</a>
</Tooltip>
</span>
)
}
......@@ -60,5 +105,3 @@ const MetadataInfo = ({ value = '', config = true, terms = [] }) => {
</div>
)
}
\ No newline at end of file
export default MetadataInfo
\ No newline at end of file
......@@ -136,7 +136,7 @@ export const Basic = React.forwardRef(function ({ items, onCheck }, ref) {
const getTreeData = () => {
setLoading(true)
dispatch({
type: 'assetmanage.queryAllDirectoryAsTree',
type: 'assetmanage.queryDataAssetManageTree',
callback: data => {
setLoading(false)
const newData = (data??[]).filter(item => item.resourceType !== 'custom')
......
......@@ -172,7 +172,7 @@ const FC = (props) => {
setLoading(true)
setSelectedKey(prevSelectedKey => {
dispatch({
type: 'assetmanage.queryAllDirectoryAsTree',
type: 'assetmanage.queryDataAssetManageTree',
callback: data => {
setLoading(false)
setLoadedKeys([])
......
......@@ -136,7 +136,7 @@ export const Basic = React.forwardRef(function ({ items, onCheck }, ref) {
const getTreeData = () => {
setLoading(true)
dispatch({
type: 'assetmanage.queryResourceDirectoryAsTree',
type: 'assetmanage.queryResourceManageTree',
callback: data => {
setLoading(false)
const newData = (data??[]).filter(item => item.resourceType !== 'custom')
......
......@@ -203,7 +203,7 @@ const FC = (props) => {
setLoading(true)
setSelectedKey(prevSelectedKey => {
dispatch({
type: 'assetmanage.queryResourceDirectoryAsTree',
type: 'assetmanage.queryResourceManageTree',
callback: data => {
setLoading(false)
setLoadedKeys([])
......
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