Commit 8338d076 by zhaochengxiang

模型关联元数据

parent e8f0f6b9
...@@ -734,4 +734,8 @@ export function* getOwner(payload) { ...@@ -734,4 +734,8 @@ export function* getOwner(payload) {
export function* setOwner(payload) { export function* setOwner(payload) {
return yield call(datamodelerService.setOwner, payload) return yield call(datamodelerService.setOwner, payload)
}
export function* findAssociationMetadataByModelId(payload) {
return yield call(datamodelerService.findAssociationMetadataByModelId, payload)
} }
\ No newline at end of file
...@@ -684,4 +684,9 @@ export function getOwner(payload) { ...@@ -684,4 +684,9 @@ export function getOwner(payload) {
export function setOwner(payload) { export function setOwner(payload) {
return PostJSON("/datamodeler/easyDataModelerCooperation/setDataModelOwner", payload) return PostJSON("/datamodeler/easyDataModelerCooperation/setDataModelOwner", payload)
}
//模型和元数据关联
export function findAssociationMetadataByModelId(payload) {
return GetJSON("/datamodeler/easyDataModelerMetadataAssociation/findAssociationByModelId", payload)
} }
\ No newline at end of file
...@@ -564,8 +564,8 @@ export function isChromeVersionLessThan80() { ...@@ -564,8 +564,8 @@ export function isChromeVersionLessThan80() {
return false; return false;
} }
export function openMetadataDetail(id, name) { export function openMetadataDetail(id) {
window.open(`/center-home/metadetail?mid=${encodeURIComponent(id)}&action=metadetail&type=detail&manager=false&activekey=1&name=${encodeURIComponent(name||'')}`); window.open(`/center-home/metadetail?mid=${encodeURIComponent(id)}&action=metadetail&type=detail&manager=false&activekey=1`);
} }
export function openModelDetail(id) { export function openModelDetail(id) {
......
...@@ -109,7 +109,7 @@ const FC = (props) => { ...@@ -109,7 +109,7 @@ const FC = (props) => {
</Form> </Form>
) : ( ) : (
<Descriptions column={3}> <Descriptions column={3}>
<Descriptions.Item label={<div style={{ textAlign: 'right', width: 85 }} >维护历史</div>} > <Descriptions.Item label={<div style={{ textAlign: 'right', width: 106 }} >维护历史</div>} >
<div style={{ maxHeight: 70, overflow: 'auto' }}> <div style={{ maxHeight: 70, overflow: 'auto' }}>
{ {
(maintenanceRecords||[]).map((record, index) => { (maintenanceRecords||[]).map((record, index) => {
......
...@@ -4,8 +4,10 @@ import { DownOutlined, UpOutlined, QuestionCircleOutlined } from '@ant-design/ic ...@@ -4,8 +4,10 @@ import { DownOutlined, UpOutlined, QuestionCircleOutlined } from '@ant-design/ic
import { Action, ModelerId, PermitCheckOut, Editable, StateId, ReadOnly } from '../../../../util/constant' import { Action, ModelerId, PermitCheckOut, Editable, StateId, ReadOnly } from '../../../../util/constant'
import { importActionSubject } from "./ImportAction" import { importActionSubject } from "./ImportAction"
import { dispatch } from '../../../../model';
import './ImportActionHeader.less' import './ImportActionHeader.less'
import { openMetadataDetail } from "../../../../util"
export const inheritanceHistoricalType = 'historical' export const inheritanceHistoricalType = 'historical'
export const inheritanceZipperType = 'zipper' export const inheritanceZipperType = 'zipper'
...@@ -14,6 +16,7 @@ const FC = (props) => { ...@@ -14,6 +16,7 @@ const FC = (props) => {
const { modelerData, action } = props const { modelerData, action } = props
const [isCollapse, setCollapse] = React.useState(true) const [isCollapse, setCollapse] = React.useState(true)
const [relationModelerDatas, setRelationModelerDatas] = React.useState([]) const [relationModelerDatas, setRelationModelerDatas] = React.useState([])
const [associationMetadata, setMetadata] = React.useState()
React.useEffect(() => { React.useEffect(() => {
const $importActionSubject = importActionSubject.subscribe((props) => { const $importActionSubject = importActionSubject.subscribe((props) => {
...@@ -28,6 +31,10 @@ const FC = (props) => { ...@@ -28,6 +31,10 @@ const FC = (props) => {
}, [action]) }, [action])
React.useEffect(() => { React.useEffect(() => {
if (modelerData?.id) {
getAssociationMetadata()
}
if (modelerData?.inheritedFromEasyDataModelerDataModel) { if (modelerData?.inheritedFromEasyDataModelerDataModel) {
const newRelationModelerDatas = []; const newRelationModelerDatas = [];
...@@ -54,6 +61,18 @@ const FC = (props) => { ...@@ -54,6 +61,18 @@ const FC = (props) => {
//eslint-disable-next-line react-hooks/exhaustive-deps //eslint-disable-next-line react-hooks/exhaustive-deps
}, [modelerData]) }, [modelerData])
const getAssociationMetadata = () => {
dispatch({
type: 'datamodel.findAssociationMetadataByModelId',
payload: {
easyDataModelerDataModelId: modelerData?.id,
},
callback: data => {
setMetadata(data)
}
})
}
return ( return (
<div className='model-import-action-relation'> <div className='model-import-action-relation'>
<Space> <Space>
...@@ -77,7 +96,23 @@ const FC = (props) => { ...@@ -77,7 +96,23 @@ const FC = (props) => {
!isCollapse && <Descriptions className='mt-3' column={3}> !isCollapse && <Descriptions className='mt-3' column={3}>
<Descriptions.Item <Descriptions.Item
label={ label={
<div style={{ textAlign: 'right', width: 100 }}> <div style={{ textAlign: 'right', width: 106 }}>
元数据
</div>}
>
<span>
{
!associationMetadata?.metadataPath ? '暂无信息' : <a className='mr-3' onClick={() => {
openMetadataDetail(associationMetadata?.metadataId)
}}>
{associationMetadata?.metadataPath}
</a>
}
</span>
</Descriptions.Item>
<Descriptions.Item
label={
<div style={{ textAlign: 'right', width: 106 }}>
历史存储形式 历史存储形式
</div>} </div>}
> >
......
...@@ -150,7 +150,7 @@ const FC = (props) => { ...@@ -150,7 +150,7 @@ const FC = (props) => {
id id
}, },
callback: data => { callback: data => {
openMetadataDetail(data?._id, name) openMetadataDetail(data?._id)
} }
}) })
} else { } else {
......
...@@ -204,7 +204,7 @@ const PerfectMatch = ({ item }) => { ...@@ -204,7 +204,7 @@ const PerfectMatch = ({ item }) => {
<Tooltip title={record.metadataName}> <Tooltip title={record.metadataName}>
<Typography.Text ellipsis={true}> <Typography.Text ellipsis={true}>
<a onClick={() => { <a onClick={() => {
openMetadataDetail(record.metadataId, record.metadataName) openMetadataDetail(record.metadataId)
}}> }}>
{ record.metadataName } { record.metadataName }
</a> </a>
...@@ -485,7 +485,7 @@ const PartialMatch = ({ item }) => { ...@@ -485,7 +485,7 @@ const PartialMatch = ({ item }) => {
<Tooltip title={record.metadataName}> <Tooltip title={record.metadataName}>
<Typography.Text ellipsis={true}> <Typography.Text ellipsis={true}>
<a onClick={() => { <a onClick={() => {
openMetadataDetail(record.metadataId, record.metadataName) openMetadataDetail(record.metadataId)
}}> }}>
{ record.metadataName } { record.metadataName }
</a> </a>
...@@ -765,7 +765,7 @@ const NotMatch = ({ item }) => { ...@@ -765,7 +765,7 @@ const NotMatch = ({ item }) => {
<Tooltip title={record.metadataName}> <Tooltip title={record.metadataName}>
<Typography.Text ellipsis={true}> <Typography.Text ellipsis={true}>
<a onClick={() => { <a onClick={() => {
openMetadataDetail(record.metadataId, record.metadataName) openMetadataDetail(record.metadataId)
}}> }}>
{ record.metadataName } { record.metadataName }
</a> </a>
......
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