Commit 483018e8 by zhaochengxiang

版本回退

parent b1019481
...@@ -206,6 +206,10 @@ export function* getCheckoutDataModel(payload) { ...@@ -206,6 +206,10 @@ export function* getCheckoutDataModel(payload) {
return yield call(datamodelerService.getCheckoutDataModel, payload); return yield call(datamodelerService.getCheckoutDataModel, payload);
} }
export function* dataModelRollback(payload) {
return yield call(datamodelerService.dataModelRollback, payload);
}
export function* getDataModelLocation(payload) { export function* getDataModelLocation(payload) {
return yield call(datamodelerService.getDataModelLocation, payload); return yield call(datamodelerService.getDataModelLocation, payload);
} }
......
...@@ -197,6 +197,10 @@ export function getCheckoutDataModel(payload) { ...@@ -197,6 +197,10 @@ export function getCheckoutDataModel(payload) {
return GetJSON("/shandatamodeler/easyDataModelerCURD/getCheckoutDataModel", payload); return GetJSON("/shandatamodeler/easyDataModelerCURD/getCheckoutDataModel", payload);
} }
export function dataModelRollback(payload) {
return PostJSON("/shandatamodeler/easyDataModelerCURD/reset", payload);
}
export function ddlGenerators() { export function ddlGenerators() {
return GetJSON("/shandatamodeler/easyDataModelerExport/ddlGenerators"); return GetJSON("/shandatamodeler/easyDataModelerExport/ddlGenerators");
} }
......
import React, { useState, useEffect, useRef } from 'react'; import React, { useState, useEffect, useRef } from 'react';
import { Form, Button, Space, Tooltip } from 'antd'; import { Form, Button, Space, Tooltip, Modal } from 'antd';
import LocalStorage from 'local-storage'; import LocalStorage from 'local-storage';
import { useMount, useUnmount } from 'ahooks'; import { useMount, useUnmount } from 'ahooks';
import ImportAction from './ImportAction'; import ImportAction from './ImportAction';
import CatalogModal from './CatalogModal'; import CatalogModal from './CatalogModal';
import { dispatchLatest } from '../../../../model'; import { dispatchLatest, dispatch } from '../../../../model';
import { getQueryParam, showMessage, showNotifaction } from '../../../../util'; import { getQueryParam, showMessage, showNotifaction } from '../../../../util';
import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, VersionId, Holder, DDL, ReadOnly } from '../../../../util/constant'; import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, VersionId, Holder, DDL, ReadOnly } from '../../../../util/constant';
import HistoryAndVersionDrawer from './HistoryAndVersionDrawer'; import HistoryAndVersionDrawer from './HistoryAndVersionDrawer';
...@@ -35,6 +35,7 @@ const EditModel = (props) => { ...@@ -35,6 +35,7 @@ const EditModel = (props) => {
const { action, catalogId, modelerId, hints, roughModelerData, permitCheckOut, editable, stateId, versionId, holder, ddl, readOnly } = actionData; const { action, catalogId, modelerId, hints, roughModelerData, permitCheckOut, editable, stateId, versionId, holder, ddl, readOnly } = actionData;
const [form] = Form.useForm(); const [form] = Form.useForm();
const [modal, contextHolder] = Modal.useModal()
const importActionRef = useRef(undefined); const importActionRef = useRef(undefined);
useEffect(() => { useEffect(() => {
...@@ -261,6 +262,32 @@ const EditModel = (props) => { ...@@ -261,6 +262,32 @@ const EditModel = (props) => {
setHistoryAndVersionDrawerVisible(false); setHistoryAndVersionDrawerVisible(false);
} }
const onRollback = () => {
modal.confirm({
title: '提示',
content: '确定将该版本创建为新的草稿吗?',
onOk: () => {
setConfirmLoading(true);
dispatch({
type: 'datamodel.dataModelRollback',
payload: {
params: {
easyDataModelerDataModelId: modelerId,
modelVersionId: versionId,
}
},
callback: data => {
setConfirmLoading(false);
showMessage('success', '版本回退成功')
},
error: () => {
setConfirmLoading(false);
}
})
}
})
}
const attrIsEditingFunction = (value) => { const attrIsEditingFunction = (value) => {
attrIsEditingRef.current = value; attrIsEditingRef.current = value;
} }
...@@ -430,6 +457,14 @@ const EditModel = (props) => { ...@@ -430,6 +457,14 @@ const EditModel = (props) => {
} }
</Space> </Space>
); );
} else if (action === 'detail-version') {
actionsBtn = (
<Space>
<Button type='primary' danger onClick={onRollback} >
回退到该版本
</Button>
</Space>
)
} }
return ( return (
...@@ -469,6 +504,7 @@ const EditModel = (props) => { ...@@ -469,6 +504,7 @@ const EditModel = (props) => {
} }
}} }}
/> />
{contextHolder}
</div> </div>
</EditModelContext.Provider> </EditModelContext.Provider>
); );
......
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