Commit 88c939b5 by zhaochengxiang

模型列表上鼠标移动到某个模型,浮窗显示该模型的结构

parent e89086ec
......@@ -262,6 +262,10 @@ export function* getDataModelByVersionId(payload) {
return yield call(datamodelerService.getDataModelByVersionId, payload);
}
export function* getDataModelDigest(payload) {
return yield call(datamodelerService.getDataModelDigest, payload);
}
export function* isSetRootDomainId() {
return yield call(datamodelerService.isSetRootDomainId);
}
......
......@@ -153,6 +153,10 @@ export function getDataModelByVersionId(payload) {
return PostJSON("/datamodeler/easyDataModelerCURD/getDataModelByVersionId", payload);
}
export function getDataModelDigest(payload) {
return GetJSON("/datamodeler/easyDataModelerCURD/getDataModelDigest", payload);
}
export function isSetRootDomainId() {
return Get("/datamodeler/easyDataModelerCURD/isSetRootDomainId");
}
......
import React, { useState, useEffect, useRef } from "react";
import { Button, Tooltip, Modal, Pagination, Table, Dropdown, Menu, Divider } from 'antd';
import { Button, Tooltip, Modal, Pagination, Table, Dropdown, Menu, Divider, Descriptions } from 'antd';
import { DownOutlined, UpOutlined } from '@ant-design/icons';
import SmoothScroll from 'smooth-scroll';
import classnames from 'classnames';
......@@ -84,9 +84,59 @@ const ModelTable = (props) => {
ellipsis: true,
sorter: true,
sortDirections: ['ascend', 'descend'],
render: (text, record, _) => {
onCell: (record, rowIndex) => {
if (!record.digest) {
dispatch({
type: 'datamodel.getDataModelDigest',
payload: {
id: record.id
},
callback: _data => {
record.digest = _data;
}
})
}
},
render: (text, record, index) => {
let _textComponent = <span>{text}</span>;
if (record.digest) {
_textComponent = <Descriptions className='model-table-descritpion' column={1} size='small'>
<Descriptions.Item label='模型名称'>
{ record.digest.name||'' }
</Descriptions.Item>
<Descriptions.Item label='中文名称'>
{ record.digest.cnName||'' }
</Descriptions.Item>
<Descriptions.Item label='描述'>
{ record.digest.remark||'' }
</Descriptions.Item>
<Descriptions.Item label='字段'>
{
(record.digest.attributeDigests||[]).map((item, index) => {
if (index > 9) return null;
return (
<Tooltip title={text||''}>
<React.Fragment key={index}>
{ (index > 0) && <br /> }
{`${item.name||''} ${item.cnName||''}`}
</React.Fragment>
)
})
}
{
(record.digest.attributeDigests||[]).length>10 && <React.Fragment>
<br />
...
</React.Fragment>
}
</Descriptions.Item>
</Descriptions>
}
return (
<Tooltip
title={_textComponent}
>
<a onClick={()=>{detailItem(record);}}>
{text||''}
</a>
......
......@@ -29,3 +29,13 @@
padding: 8px 8px !important;
}
}
.model-table-descritpion {
.yy-descriptions-row > td {
padding-bottom: 0px !important;
}
.yy-descriptions-item-label, .yy-descriptions-item-content {
color: #fff !important;
}
}
\ No newline at end of file
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