Commit 52d461d5 by zhaochengxiang

元数据关联资源

parent 0867498b
...@@ -8,7 +8,7 @@ import { $hostParams, ContextPath } from './util'; ...@@ -8,7 +8,7 @@ import { $hostParams, ContextPath } from './util';
import loadable from "./util/loadable"; import loadable from "./util/loadable";
import { AssetMountReference } from './util/constant'; import { AssetMountReference } from './util/constant';
import { Basic as AssetResourceTree } from './view/Manage/AssetResourceManage/change-catalog';
export const AppContext = React.createContext(); export const AppContext = React.createContext();
const Signin = loadable(()=> import('./view/Signin')); const Signin = loadable(()=> import('./view/Signin'));
...@@ -16,6 +16,7 @@ const Home = loadable(()=> import('./view/Home')); ...@@ -16,6 +16,7 @@ const Home = loadable(()=> import('./view/Home'));
const Manage = loadable(()=> import('./view/Manage')); const Manage = loadable(()=> import('./view/Manage'));
const Model = loadable(()=> import('./view/Manage/Model')); const Model = loadable(()=> import('./view/Manage/Model'));
const ModelConfig = loadable(()=> import('./view/Manage/ModelConfig')); const ModelConfig = loadable(()=> import('./view/Manage/ModelConfig'));
const AssetResourceManage = loadable(()=> import('./view/Manage/AssetResourceManage'));
const AssetManage = loadable(()=> import('./view/Manage/AssetManage')); const AssetManage = loadable(()=> import('./view/Manage/AssetManage'));
const AssetResourceBrowse = loadable(()=> import('./view/Manage/AssetResourceBrowse')); const AssetResourceBrowse = loadable(()=> import('./view/Manage/AssetResourceBrowse'));
const AssetBrowse = loadable(()=> import('./view/Manage/AssetBrowse')); const AssetBrowse = loadable(()=> import('./view/Manage/AssetBrowse'));
...@@ -28,7 +29,6 @@ const AssetDetail = loadable(()=> import('./view/Manage/AssetManage/Component/As ...@@ -28,7 +29,6 @@ const AssetDetail = loadable(()=> import('./view/Manage/AssetManage/Component/As
const ImportAction = loadable(()=> import('./view/Manage/Model/Component/ImportAction')); const ImportAction = loadable(()=> import('./view/Manage/Model/Component/ImportAction'));
const EditModel = loadable(()=> import('./view/Manage/Model/Component/EditModel')); const EditModel = loadable(()=> import('./view/Manage/Model/Component/EditModel'));
const EditTemplate = loadable(()=> import('./view/Manage/ModelConfig/Component/EditTemplate')); const EditTemplate = loadable(()=> import('./view/Manage/ModelConfig/Component/EditTemplate'));
const AssetTree = loadable(()=> import('./view/Manage/AssetManage/Component/AssetManageTree'));
const DataMasterDefine = loadable(()=> import('./view/Manage/DataMaster/Define')); const DataMasterDefine = loadable(()=> import('./view/Manage/DataMaster/Define'));
const DataMasterManage = loadable(()=> import('./view/Manage/DataMaster/Manage')); const DataMasterManage = loadable(()=> import('./view/Manage/DataMaster/Manage'));
const MetadataHarvester = loadable(() => import('./view/Manage/MetadataHarvester')); const MetadataHarvester = loadable(() => import('./view/Manage/MetadataHarvester'));
...@@ -103,10 +103,9 @@ export class App extends React.Component { ...@@ -103,10 +103,9 @@ export class App extends React.Component {
); );
} }
if (message === 'showAssetTree') { if (message === 'showAssetResourceTree') {
return ( return (
<AssetTree <AssetResourceTree
reference={AssetMountReference}
checkable={true} checkable={true}
onCheck={(values) => { onCheck={(values) => {
hostParams.callback&&hostParams.callback(values); hostParams.callback&&hostParams.callback(values);
...@@ -157,6 +156,7 @@ export class App extends React.Component { ...@@ -157,6 +156,7 @@ export class App extends React.Component {
<Route path={'/center-home/menu/datasource-manage'} component={DatasourceManage} exact /> <Route path={'/center-home/menu/datasource-manage'} component={DatasourceManage} exact />
<Route path={'/center-home/menu/data-model'} component={Model} exact /> <Route path={'/center-home/menu/data-model'} component={Model} exact />
<Route path={'/center-home/menu/model-config'} component={ModelConfig} exact /> <Route path={'/center-home/menu/model-config'} component={ModelConfig} exact />
<Route path={'/center-home/menu/asset-resource-manage'} component={AssetResourceManage} exact />
<Route path={'/center-home/menu/asset-manage'} component={AssetManage} exact /> <Route path={'/center-home/menu/asset-manage'} component={AssetManage} exact />
<Route path={'/center-home/menu/asset-resource-browse'} component={AssetResourceBrowse} exact /> <Route path={'/center-home/menu/asset-resource-browse'} component={AssetResourceBrowse} exact />
<Route path={'/center-home/menu/asset-browse'} component={AssetBrowse} exact /> <Route path={'/center-home/menu/asset-browse'} component={AssetBrowse} exact />
......
...@@ -178,9 +178,12 @@ const AssetManageTree = (props) => { ...@@ -178,9 +178,12 @@ const AssetManageTree = (props) => {
} }
let url = ''; let url = '';
if (reference === AssetManageReference || reference === AssetMountReference) { if (reference === AssetManageReference) {
url = 'assetmanage.queryAllDirectoryAsTree'; url = 'assetmanage.queryAllDirectoryAsTree';
} }
if (reference === AssetMountReference) {
url = 'assetmanage.queryResourceDirectoryAsTree';
}
dispatch({ dispatch({
type: url, type: url,
......
...@@ -78,7 +78,7 @@ const FC = (props) => { ...@@ -78,7 +78,7 @@ const FC = (props) => {
export default FC export default FC
const Basic = React.forwardRef(function ({ items }, ref) { export const Basic = React.forwardRef(function ({ items, onCheck }, ref) {
const [data, setData] = React.useState() const [data, setData] = React.useState()
const [dataList, setDataList] = React.useState() const [dataList, setDataList] = React.useState()
const [loading, setLoading] = React.useState(false) const [loading, setLoading] = React.useState(false)
...@@ -139,13 +139,14 @@ const Basic = React.forwardRef(function ({ items }, ref) { ...@@ -139,13 +139,14 @@ const Basic = React.forwardRef(function ({ items }, ref) {
type: 'assetmanage.queryResourceDirectoryAsTree', type: 'assetmanage.queryResourceDirectoryAsTree',
callback: data => { callback: data => {
setLoading(false) setLoading(false)
setData(data) const newData = (data??[]).filter(item => item.resourceType !== 'resource')
if ((data??[]).length > 0) { setData(newData)
if ((newData??[]).length > 0) {
const newDataList = [] const newDataList = []
generateList(data, newDataList) generateList(newData, newDataList)
setDataList(newDataList) setDataList(newDataList)
const firstNode = data[0] const firstNode = newData[0]
setExpandedKeys([firstNode.nodeId]) setExpandedKeys([firstNode.nodeId])
setAutoExpandParent(true) setAutoExpandParent(true)
} }
...@@ -172,12 +173,12 @@ const Basic = React.forwardRef(function ({ items }, ref) { ...@@ -172,12 +173,12 @@ const Basic = React.forwardRef(function ({ items }, ref) {
if (e.checked) { if (e.checked) {
const index = (dataList??[]).findIndex(item => item.nodeId === e.node?.key) const index = (dataList??[]).findIndex(item => item.nodeId === e.node?.key)
if (index !== -1) { if (index !== -1) {
const currentRootNodeId = dataList[index].rootNodeId const currentSubjectNodeId = dataList[index].subjectNodeId
const filterChecktedKeys = newCheckedKeys.filter(key => { const filterChecktedKeys = newCheckedKeys.filter(key => {
if (key !== e.node?.key) { if (key !== e.node?.key) {
const index = (dataList??[]).findIndex(item => item.nodeId === key) const index = (dataList??[]).findIndex(item => item.nodeId === key)
if (index !== -1) { if (index !== -1) {
return (dataList[index].rootNodeId !== currentRootNodeId) return (dataList[index].subjectNodeId !== currentSubjectNodeId)
} else { } else {
return false return false
} }
...@@ -187,9 +188,11 @@ const Basic = React.forwardRef(function ({ items }, ref) { ...@@ -187,9 +188,11 @@ const Basic = React.forwardRef(function ({ items }, ref) {
}) })
setCheckedKeys(filterChecktedKeys) setCheckedKeys(filterChecktedKeys)
onCheck?.(filterChecktedKeys)
} }
} else { } else {
setCheckedKeys(newCheckedKeys) setCheckedKeys(newCheckedKeys)
onCheck?.(newCheckedKeys)
} }
} }
......
...@@ -22,7 +22,7 @@ const FC = (props) => { ...@@ -22,7 +22,7 @@ const FC = (props) => {
type: 'assetmanage.checkResources', type: 'assetmanage.checkResources',
payload: { payload: {
params: { params: {
resourceIds: (items??[]).filter(item => (item.allowButtons??[]).findIndex(item => item==='check') !== -1).map(item => item.id).toString(), resourceIds: (items??[]).map(item => item.id).toString(),
status: rows.status status: rows.status
}, },
}, },
......
...@@ -14,13 +14,14 @@ import CustomNode from '../AssetManage/Component/CustomDirectoryModal' ...@@ -14,13 +14,14 @@ import CustomNode from '../AssetManage/Component/CustomDirectoryModal'
import './tree.less' import './tree.less'
import { ResourceManageReference } from '../../../util/constant'; import { ResourceManageReference } from '../../../util/constant';
export const generateList = (data, list, path = null, rootNodeId = null) => { //subjectNodeId 主题id
export const generateList = (data, list, path = null, subjectNodeId = null) => {
for (const node of data??[]) { for (const node of data??[]) {
if (node.resourceType !== 'custom') { if (node.resourceType !== 'custom') {
const newPath = path?`${path}/${node.text}`:node.text const newPath = path?`${path}/${node.text}`:node.text
list.push({...node, key: node.nodeId, value: newPath, rootNodeId: rootNodeId??node.nodeId}) list.push({...node, key: node.nodeId, value: newPath, subjectNodeId: node.level===2 ?node.nodeId:subjectNodeId})
if (node.children) { if (node.children) {
generateList(node.children, list, newPath, rootNodeId??node.nodeId) generateList(node.children, list, newPath, node.level===2?node.nodeId:subjectNodeId)
} }
} }
} }
......
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