Commit 6549fc48 by zhaochengxiang

元数据关联资产

parent 102c26d9
......@@ -326,6 +326,10 @@ export function* getTemplates() {
return yield call(service.getTemplates)
}
export function* getMetadataTemplates(payload) {
return yield call(service.getMetadataTemplates, payload)
}
export function* checkAdmin() {
return yield call(service.checkAdmin)
}
......
......@@ -332,6 +332,10 @@ export function getTemplates() {
return GetJSON("/dataassetmanager/elementTemplateApi/listSupportTemplates")
}
export function getMetadataTemplates(payload) {
return GetJSON("/dataassetmanager/elementTemplateApi/listSupportElementTemplatesByMetadataIdPath", payload)
}
export function checkAdmin() {
return Post("/dataassetmanager/dataAssetApi/checkCurrentUserIsAdmin")
}
......
......@@ -83,6 +83,8 @@ const AssetManageTree = (props) => {
useEffect(() => {
if (reference === AssetManageReference) {
getTemplates()
} else if (reference === AssetMountReference && (metadataIds??[]).length > 0) {
getMetadataTemplates()
} else {
getAllDirectoryAsTree(false)
}
......@@ -160,6 +162,28 @@ const AssetManageTree = (props) => {
})
}
const getMetadataTemplates = () => {
setLoadingTemplates(true)
dispatch({
type: 'assetmanage.getMetadataTemplates',
payload: {
metadataIdPath: metadataIds[0]
},
callback: data => {
setLoadingTemplates(false)
setTemplates(data)
if ((data??[]).length > 0) {
setTemplateType(data[0].type)
LocalStorage.set(`templateType-${appId}`, data[0].type)
getAllDirectoryAsTree(true)
}
},
error: () => {
setLoadingTemplates(false)
}
})
}
const getDataAssetLocationThenGetTreeData = () => {
setLoading(true);
dispatch({
......@@ -271,37 +295,15 @@ const AssetManageTree = (props) => {
}
}
if ((metadataIds??[]).length > 0) {
dispatch({
type: 'assetmanage.queryDirectoryTreeAndElementTemplateByMetadataId',
payload: {
metadataIdPath: metadataIds[0]
},
callback: data => {
disposeData(data?.jsonNodes)
setMetadataRelatedTemplate(data?.elementTemplate)
},
error: () => {
setLoading(false);
}
});
} else {
let url = '';
if (reference === AssetManageReference || reference === AssetMountReference) {
url = 'assetmanage.queryAllDirectoryAsTree';
}
dispatch({
type: url,
type: 'assetmanage.queryAllDirectoryAsTree',
callback: data => {
disposeData(data)
},
error: () => {
setLoading(false);
}
});
}
})
}
const treeDirectoryChanged = (did) => {
......@@ -826,16 +828,36 @@ const AssetManageTree = (props) => {
</div>
)}
bordered={false}
bodyStyle={{ padding: '10px 15px' }}
bodyStyle={{ padding: (reference===AssetMountReference)?0:'10px 15px' }}
headStyle={{ padding: 0 }}
style={{ width: '100%' }}
>
<Spin spinning={loading}>
{
(metadataIds??[]).length > 0 && <Descriptions>
<Descriptions.Item label='资产类型'>{metadataRelatedTemplate?.name}</Descriptions.Item>
</Descriptions>
(metadataIds??[]).length>0 && <div className='mb-3'>
<Select
loading={loadingTemplates}
size='small'
value={currentTemplateType}
onChange={(val) => {
setTemplateType(val)
LocalStorage.set(`templateType-${appId}`, val);
setCurrentDirId();
onSelect?.(null, null);
setTimeout(() => {
onSelect?.('', '');
getAllDirectoryAsTree(true)
}, 100)
}}
style={{ width: 100 }}
>
{
(templates??[]).map((item, index) => <Select.Option key={index} value={item.type}>{item.name}</Select.Option>)
}
</Select>
</div>
}
<Spin spinning={loading}>
<AutoComplete
allowClear
value={keyword}
......
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