Commit 6ed5e34c by zhaochengxiang

通知模型详情

parent a482be21
......@@ -516,6 +516,14 @@ export function* searchModelBySearchProperties(payload) {
return yield call(datamodelerService.searchModelBySearchProperties, payload)
}
export function* getNoticeDataModelById(payload) {
return yield call(datamodelerService.getNoticeDataModelById, payload)
}
export function* getNoticeDataModelByVersionId(payload) {
return yield call(datamodelerService.getNoticeDataModelByVersionId, payload)
}
export function* getCompareJobList() {
return yield call(datamodelerService.getCompareJobList)
}
......
......@@ -468,6 +468,14 @@ export function searchModelBySearchProperties(payload) {
return PostJSON("/datamodeler/easyDataModelerCURD/searchEasyDataModelerDataModelsByModelSearchProperties", payload);
}
export function getNoticeDataModelById(payload) {
return GetJSON("/datamodeler/easyDataModelerCURD/getNoticeDataModelById", payload)
}
export function getNoticeDataModelByVersionId(payload) {
return GetJSON("/datamodeler/easyDataModelerCURD/getNoticeDataModelByVersionId", payload)
}
/* compare */
export function getCompareJobList() {
return GetJSON("/datamodeler/easyDataModelModelCompareJob/listAll")
......
......@@ -9,6 +9,8 @@ export const CatalogId = 'cid';
export const BranchId = 'branchId';
export const ModelerId = 'mid';
export const ModelerMergeId = 'mergeId';
export const NoticeModelerId = 'noticeModelerId';
export const NoticeModelerLatestVersionId = 'noticeModelerLatestVersionId';
export const LogicId = 'logicId';
export const Hints = 'hints';
export const ModelerData = 'mdata';
......
......@@ -8,7 +8,7 @@ import LocalStorage from 'local-storage';
import { dispatchLatest, action } from '../model';
import { set_sess_state } from "../model/reducer";
import { DataModelerRoleAdmin, DataModelerRoleUser, DataModelerRoleReader, AssetManageReference, AssetBrowseReference, ResourceBrowseReference, AssetRecycleReference, ResourceManageReference, ModelerId, Action } from './constant';
import { DataModelerRoleAdmin, DataModelerRoleUser, DataModelerRoleReader, AssetManageReference, AssetBrowseReference, ResourceBrowseReference, AssetRecycleReference, ResourceManageReference, ModelerId, Action, NoticeModelerId, NoticeModelerLatestVersionId } from './constant';
//内网深交所环境 isSzseEnv true
//元曜公网环境 isSzseEnv false
......@@ -570,4 +570,12 @@ export function openMetadataDetail(id) {
export function openModelDetail(id) {
window.open(`/data-govern/data-model-action?${Action}=detail&${ModelerId}=${id}`);
}
export function openNoticeDataModelById(id, versionId) {
window.open(`/data-govern/data-model-action?${Action}=detail&${ModelerId}=${id}&${NoticeModelerId}=${id}&${NoticeModelerLatestVersionId}=${versionId}`);
}
export function openNoticeDataModelByVersionId(id) {
window.open(`/data-govern/data-model-action?${Action}=detail&${ModelerId}=${id}&${NoticeModelerId}=${id}`);
}
\ No newline at end of file
......@@ -10,7 +10,7 @@ import ImportAction from './ImportAction';
import CatalogModal from './CatalogModal';
import { dispatchLatest, dispatch } from '../../../../model';
import { getQueryParam, isSzseEnv, showMessage, showNotifaction } from '../../../../util';
import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, VersionId, DDL, ReadOnly, BranchId, ApprovalId, ApprovalType, TaskId, LogicId, ModelerMergeId, IsConflict } from '../../../../util/constant';
import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, VersionId, DDL, ReadOnly, BranchId, ApprovalId, ApprovalType, TaskId, LogicId, ModelerMergeId, IsConflict, NoticeModelerId, NoticeModelerLatestVersionId } from '../../../../util/constant';
import HistoryAndVersionDrawer from './HistoryAndVersionDrawer';
import { EditModelContext } from './ContextManage';
import EditInherited from './EditInherited';
......@@ -24,8 +24,7 @@ import MetadataCompare from './metadata-compare';
import './EditModel.less';
const EditModel = (props) => {
const [ actionData, setActionData ] = useState({ action: '', catalogId: '', modelerId: '', hints: [], roughModelerData: null, permitCheckOut: false, editable: false, stateId: '', versionId: '', ddl: '', readOnly: false, branchId: '', approvalId: '', approvalType: '', taskId: '', logicId: '', mergeId: '', isConflict: false });
const [ actionData, setActionData ] = useState({ action: '', catalogId: '', modelerId: '', hints: [], roughModelerData: null, permitCheckOut: false, editable: false, stateId: '', versionId: '', ddl: '', readOnly: false, branchId: '', approvalId: '', approvalType: '', taskId: '', logicId: '', mergeId: '', isConflict: false, noticeModelerId: '', noticeModelerLatestVersionId: '' });
const [ modelerData, setModelerData ] = useState({});
const [ terms, setTerms ] = useState([]);
......@@ -56,7 +55,7 @@ const EditModel = (props) => {
const attrIsEditingRef = useRef(false);
const indexIsEditingRef = useRef(false);
const { action, catalogId, modelerId, hints, roughModelerData, permitCheckOut, editable, stateId, versionId, ddl, readOnly, branchId, approvalId, approvalType, taskId, logicId, mergeId, isConflict } = actionData;
const { action, catalogId, modelerId, hints, roughModelerData, permitCheckOut, editable, stateId, versionId, ddl, readOnly, branchId, approvalId, approvalType, taskId, logicId, mergeId, isConflict, noticeModelerId, noticeModelerLatestVersionId } = actionData;
const [form] = Form.useForm();
const [modal, contextHolder] = Modal.useModal()
......@@ -81,6 +80,8 @@ const EditModel = (props) => {
const _logicId = getQueryParam(LogicId, props.location.search)
const _mergeId = getQueryParam(ModelerMergeId, props.location.search)
const _isConflict = getQueryParam(IsConflict, props.location.search)
const _noticeModelerId = getQueryParam(NoticeModelerId, props.location.search)
const _noticeModelerLatestVersionId = getQueryParam(NoticeModelerLatestVersionId, props.location.search)
if (_logicId) {
_action = 'add'
......@@ -98,7 +99,7 @@ const EditModel = (props) => {
judgeAttributeRepeat(_roughModelerData.easyDataModelerDataModelAttributes);
}
setActionData({ action: _action, catalogId: _catalogId, modelerId: _modelerId, hints: _hints, roughModelerData: _roughModelerData, permitCheckOut: (_permitCheckOut==='true'), editable: (_editable==='true'), stateId: _stateId, versionId: _versionId, ddl: _ddl, readOnly: _readOnly, branchId: _branchId, approvalId: _approvalId, approvalType: _approvalType, taskId: _taskId, logicId: _logicId, mergeId: _mergeId, isConflict: (_isConflict==='true') });
setActionData({ action: _action, catalogId: _catalogId, modelerId: _modelerId, hints: _hints, roughModelerData: _roughModelerData, permitCheckOut: (_permitCheckOut==='true'), editable: (_editable==='true'), stateId: _stateId, versionId: _versionId, ddl: _ddl, readOnly: _readOnly, branchId: _branchId, approvalId: _approvalId, approvalType: _approvalType, taskId: _taskId, logicId: _logicId, mergeId: _mergeId, isConflict: (_isConflict==='true'), noticeModelerId: _noticeModelerId, noticeModelerLatestVersionId: _noticeModelerLatestVersionId });
actionRef.current = _action;
if (_approvalId) {
......@@ -286,7 +287,7 @@ const EditModel = (props) => {
const _action = getQueryParam(Action, props.location.search);
setActionData({ ...actionData, ...{ action: (_action==='flow')?'flow':'detail', modelerId: data.id||'', stateId: data?.state?.id||'', permitCheckOut: data?.permitCheckOut||false, editable: data?.editable||false, isConflict: false } });
setActionData({ ...actionData, ...{ action: (_action==='flow')?'flow':'detail', modelerId: data.id||'', stateId: data?.state?.id||'', permitCheckOut: data?.permitCheckOut||false, editable: data?.editable||false, isConflict: false, branchId: data?.branch?.id } });
actionRef.current = (_action==='flow')?'flow':'detail';
LocalStorage.set('modelId', data.id||'');
......@@ -750,6 +751,8 @@ const EditModel = (props) => {
approvalModelId={currentApprovalModelId} approvalId={approvalId}
logicId={logicId}
mergeId={mergeId}
noticeModelerId={noticeModelerId}
noticeModelerLatestVersionId={noticeModelerLatestVersionId}
height={containerHeight}
onChange={onActionChange}
{...props}
......
......@@ -19,7 +19,7 @@ import './ImportAction.less'
export const importActionSubject = new Subject()
const ImportAction = React.forwardRef((props, ref) => {
const { action, hints, onChange, form, modelerId, terms, ddl, roughModelerData, versionId, permitCheckOut, catalogId, branchId, approvalModelId, approvalId, logicId, reference = '', height, mergeId } = props;
const { action, hints, onChange, form, modelerId, terms, ddl, roughModelerData, versionId, permitCheckOut, catalogId, branchId, approvalModelId, approvalId, logicId, reference = '', height, mergeId, noticeModelerId, noticeModelerLatestVersionId } = props;
const [ constraints, setConstraints ] = useState([]);
const [ constraint, setConstraint ] = useState({});
......@@ -326,7 +326,22 @@ const ImportAction = React.forwardRef((props, ref) => {
if (_action === 'flow') {
params.ignoreNamespace = true;
}
}
} else if (action === 'detail') {
if (noticeModelerId) {
if (noticeModelerLatestVersionId) {
type = 'datamodel.getNoticeDataModelById'
params = {
easyDataModelerDataModelId: noticeModelerId,
operationDataModelLatestVersionId: noticeModelerLatestVersionId
}
} else {
type = 'datamodel.getNoticeDataModelByVersionId'
params = {
easyDataModelerDataModelId: noticeModelerId,
}
}
}
}
dispatch({
type,
......
import React from 'react'
import { Spin, Tooltip, Typography } from 'antd'
import { getQueryParam, isSzseEnv, openModelDetail } from "../../../util"
import { getQueryParam, isSzseEnv, openModelDetail, openNoticeDataModelById, openNoticeDataModelByVersionId } from "../../../util"
import Table from '../../../util/Component/Table'
import { ModelNameColumn } from '../Model/Component/ModelTable'
import { dispatch } from '../../../model'
......@@ -29,7 +29,7 @@ const FC = (props) => {
{
title: '模型名称',
dataIndex: 'masterDataModelName',
render:(text, record, index)=> <ModelNameColumn text={text} record={record} detailItem={() => { openModelDetail(record.easyDataModelerDataModelId) }} />
render:(text, record, index)=> <ModelNameColumn text={text} record={record} detailItem={() => { openNoticeDataModelByVersionId(record.masterEasyDataModelerDataModelId) }} />
},
{
title: '中文名称',
......@@ -49,7 +49,13 @@ const FC = (props) => {
title: '冲突的分支',
dataIndex: 'conflictDataModelName',
render:(text, record, index)=> <Tooltip title={text}>
<Typography.Text>{`${record.conflictBranch?.name}/${text}`}</Typography.Text>
<Typography.Text>
<a onClick={() => {
openNoticeDataModelByVersionId(record.conflictEasyDataModelerDataModelId)
}}>
{`${record.conflictBranch?.name}/${text}`}
</a>
</Typography.Text>
</Tooltip>
},
{
......@@ -95,7 +101,7 @@ const FC = (props) => {
{
title: '模型名称',
dataIndex: 'masterDataModelName',
render:(text, record, index)=> <ModelNameColumn text={text} record={record} detailItem={() => { openModelDetail(record.easyDataModelerDataModelId) }} />
render:(text, record, index)=> <ModelNameColumn text={text} record={record} detailItem={() => { openModelDetail(record.masterEasyDataModelerDataModelId) }} />
},
{
title: '中文名称',
......@@ -115,7 +121,13 @@ const FC = (props) => {
title: '提交评审的分支',
dataIndex: 'operationDataModelName',
render:(text, record, index)=> <Tooltip title={text}>
<Typography.Text>{`${record.operationBranch?.name}/${text}`}</Typography.Text>
<Typography.Text>
<a onClick={() => {
openNoticeDataModelById(record.operationEasyDataModelerDataModelId, record.operationDataModelLatestVersionId)
}}>
{`${record.operationBranch?.name}/${text}`}
</a>
</Typography.Text>
</Tooltip>
},
{
......@@ -129,7 +141,13 @@ const FC = (props) => {
title: '冲突的分支',
dataIndex: 'conflictDataModelName',
render:(text, record, index)=> <Tooltip title={text}>
<Typography.Text>{`${record.conflictBranch?.name}/${text}`}</Typography.Text>
<Typography.Text>
<a onClick={() => {
openNoticeDataModelByVersionId(record.conflictEasyDataModelerDataModelId)
}}>
{`${record.conflictBranch?.name}/${text}`}
</a>
</Typography.Text>
</Tooltip>
},
]
......@@ -167,7 +185,7 @@ const FC = (props) => {
<Spin spinning={loading}>
<div className='p-5' style={{ height: '100%' }}>
<div className='flex mb-3'>
<h4>{data?.sceneType?.name}</h4>
<h3>{data?.sceneType?.name}</h3>
</div>
<Table
columns={cols??[]}
......
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