Commit 2abd7859 by zhaochengxiang

模型使用drawer

parent 1ed4ab9b
...@@ -21,7 +21,7 @@ const ImportAction = (props) => { ...@@ -21,7 +21,7 @@ const ImportAction = (props) => {
useEffect(() =>{ useEffect(() =>{
if ((action||'')==='' || (action==='add'&&(hints||[]).length===0&&(ddl||'').length===0)&&(modelerId||'')==='') return; if ((action||'')==='' || (action==='add'&&(hints||[]).length===0&&(ddl||'').length===0&&(modelerId||'')==='')) return;
//初始化form状态 //初始化form状态
if (action==='add'||action==='edit') { if (action==='add'||action==='edit') {
...@@ -155,7 +155,7 @@ const ImportAction = (props) => { ...@@ -155,7 +155,7 @@ const ImportAction = (props) => {
onChange && onChange(data||{}); onChange && onChange(data||{});
getSupportedDatatypes(); getSupportedDatatypes();
if ((action==='add'&&(modelerId||''!=='')) || action==='edit') { if ((action==='add'&&((modelerId||'')!=='')) || action==='edit') {
form.setFieldsValue({ form.setFieldsValue({
cnName: data.cnName||'', cnName: data.cnName||'',
name: data.name||'', name: data.name||'',
......
...@@ -418,14 +418,6 @@ const ImportActionTable = (props) => { ...@@ -418,14 +418,6 @@ const ImportActionTable = (props) => {
setSuggests([]); setSuggests([]);
}; };
const onEnglishSuggestChange = (e) => {
form.setFieldsValue({
name: englishSuggests[e.target.value]
});
setEnglishSuggests([]);
}
const columns = [ const columns = [
{ {
title: '序号', title: '序号',
......
...@@ -255,7 +255,7 @@ const ModelTable = (props) => { ...@@ -255,7 +255,7 @@ const ModelTable = (props) => {
rowSelection={rowSelection} rowSelection={rowSelection}
columns={columns} columns={columns}
rowKey={'id'} rowKey={'id'}
dataSource={data} dataSource={data||[]}
pagination={false} pagination={false}
options={{ options={{
density: true, density: true,
......
...@@ -73,7 +73,7 @@ const TemplateAction = (props) => { ...@@ -73,7 +73,7 @@ const TemplateAction = (props) => {
} }
return ( return (
<> <React.Fragment>
<TemplateActionHeader <TemplateActionHeader
form={form} form={form}
editable={action!=='detail'} editable={action!=='detail'}
...@@ -86,7 +86,7 @@ const TemplateAction = (props) => { ...@@ -86,7 +86,7 @@ const TemplateAction = (props) => {
onChange={onTableChange} onChange={onTableChange}
editable={action!=='detail'} editable={action!=='detail'}
/> />
</> </React.Fragment>
); );
}; };
......
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react';
import { Table, Space, Button, Tooltip, Modal, Form } from 'antd'; import { Table, Space, Button, Tooltip, Modal, Form, Drawer } from 'antd';
import { EditOutlined, ReconciliationOutlined, DeleteOutlined } from '@ant-design/icons'; import { EditOutlined, ReconciliationOutlined, DeleteOutlined } from '@ant-design/icons';
import TemplateAction from './TemplateAction'; import TemplateAction from './TemplateAction';
import { dispatch, dispatchLatest } from '../../../../model'; import { dispatch, dispatchLatest } from '../../../../model';
import { showMessage } from '../../../../util'; import { showMessage } from '../../../../util';
import './TemplateCURDModal.less'; const TemplateCURDDrawer = (props) => {
const TemplateCURDModal = (props) => {
const { visible, onCancel } = props; const { visible, onCancel } = props;
const [ templates, setTemplates ] = useState([]); const [ templates, setTemplates ] = useState([]);
...@@ -138,6 +136,7 @@ const TemplateCURDModal = (props) => { ...@@ -138,6 +136,7 @@ const TemplateCURDModal = (props) => {
} }
const cancel = () => { const cancel = () => {
console.log('cancel');
reset(); reset();
onCancel && onCancel(false); onCancel && onCancel(false);
} }
...@@ -198,62 +197,66 @@ const TemplateCURDModal = (props) => { ...@@ -198,62 +197,66 @@ const TemplateCURDModal = (props) => {
} }
} }
let footer = null; let actionComponent = null;
if (step === 0) { if (step === 0) {
footer = [ actionComponent = (
<Button <Button
key="0" type="primary"
onClick={cancel} onClick={onAddClick}
style={{ marginLeft: 'auto' }}
> >
取消 新增模版
</Button>, </Button>
] )
} else if (step === 1) { } else if (step === 1) {
if (action === 'detail') { if (action === 'detail') {
footer = [ actionComponent = (
<Button <Button
key="0" key="0"
onClick={prev} onClick={prev}
style={{ marginLeft: 'auto' }}
> >
返回 返回
</Button>, </Button>
] )
} else { } else {
footer = [ actionComponent = (
<Button <Space
key="0" style={{ marginLeft: 'auto' }}
onClick={prev}
> >
返回 <Button
</Button>, key="0"
<Button onClick={prev}
key="1" >
type="primary" 返回
loading={confirmLoading} </Button>,
onClick={save} <Button
> key="1"
保存 type="primary"
</Button> loading={confirmLoading}
] onClick={save}
>
保存
</Button>
</Space>
)
} }
} }
return ( return (
<Modal <Drawer
forceRender
className='template-curd-modal'
visible={visible}
title={title} title={title}
width={1300} visible={visible}
maskClosable={false} width={1000}
onCancel={cancel} closable={true}
footer={footer} onClose={() => {
cancel();
}}
> >
{ {
step === 0 && <> step === 0 && <React.Fragment>
<div className='d-flex mb-3' style={{ alignItems: 'center' }}> <div className='d-flex mb-3' style={{ alignItems: 'center' }}>
<Button type="primary" onClick={onAddClick} style={{ marginLeft: 'auto' }} >新增模版</Button> {actionComponent}
</div> </div>
<Table <Table
loading={loading} loading={loading}
...@@ -263,19 +266,24 @@ const TemplateCURDModal = (props) => { ...@@ -263,19 +266,24 @@ const TemplateCURDModal = (props) => {
pagination={false} pagination={false}
sticky sticky
/> />
</> </React.Fragment>
} }
{ {
step === 1 && <TemplateAction step === 1 && <React.Fragment>
onChange={onActionChange} <div className='d-flex mb-3' style={{ alignItems: 'center' }}>
action={action} {actionComponent}
id={currentTemplate.id} </div>
form={form} <TemplateAction
/> onChange={onActionChange}
action={action}
id={currentTemplate.id}
form={form}
/>
</React.Fragment>
} }
{ contextHolder } { contextHolder }
</Modal> </Drawer>
); );
} }
export default TemplateCURDModal; export default TemplateCURDDrawer;
\ No newline at end of file \ No newline at end of file
.template-curd-modal {
.yy-table {
max-height: 600px !important;
overflow: auto !important;
}
}
\ No newline at end of file
...@@ -5,7 +5,7 @@ import copy from "copy-to-clipboard"; ...@@ -5,7 +5,7 @@ import copy from "copy-to-clipboard";
import ModelTree from './Component/ModelTree'; import ModelTree from './Component/ModelTree';
import ModelTable from './Component/ModelTable'; import ModelTable from './Component/ModelTable';
import WordTemplateModal from './Component/WordTemplateModal'; import WordTemplateModal from './Component/WordTemplateModal';
import TemplateCURDModal from './Component/TemplateCURDModal'; import TemplateCURDDrawer from './Component/TemplateCURDDrawer';
import ConstraintDetailDrawer from './Component/ConstraintDetailDrawer'; import ConstraintDetailDrawer from './Component/ConstraintDetailDrawer';
import ImportModal from './Component/ImportModal'; import ImportModal from './Component/ImportModal';
import ImportWordModal from './Component/ImportWordModal'; import ImportWordModal from './Component/ImportWordModal';
...@@ -22,7 +22,7 @@ class Model extends React.Component { ...@@ -22,7 +22,7 @@ class Model extends React.Component {
super(); super();
this.state = { this.state = {
wordTemplateModalVisible: false, wordTemplateModalVisible: false,
templateCURDModalVisible: false, templateCURDDrawerVisible: false,
constraintDetailDrawerVisible: false, constraintDetailDrawerVisible: false,
importModalVisible: false, importModalVisible: false,
importWordModalVisible: false, importWordModalVisible: false,
...@@ -149,7 +149,7 @@ class Model extends React.Component { ...@@ -149,7 +149,7 @@ class Model extends React.Component {
} }
onTemplateCURDClick = () => { onTemplateCURDClick = () => {
this.setState({ templateCURDModalVisible: true }); this.setState({ templateCURDDrawerVisible: true });
} }
onConstraintDetailClick = () => { onConstraintDetailClick = () => {
...@@ -196,7 +196,7 @@ class Model extends React.Component { ...@@ -196,7 +196,7 @@ class Model extends React.Component {
} }
onImportModelBtnClick = () => { onImportModelBtnClick = () => {
const { catalogId, importModalAction, selectModelerIds } = this.state; const { catalogId, selectModelerIds } = this.state;
if (!catalogId || catalogId==='') { if (!catalogId || catalogId==='') {
showMessage('info', '请先选择目录'); showMessage('info', '请先选择目录');
return; return;
...@@ -302,8 +302,8 @@ class Model extends React.Component { ...@@ -302,8 +302,8 @@ class Model extends React.Component {
this.setState({ wordTemplateModalVisible: false }); this.setState({ wordTemplateModalVisible: false });
} }
onTemplateCURDModalCancel = (refresh = false) => { onTemplateCURDDrawerCancel = (refresh = false) => {
this.setState({ templateCURDModalVisible: false }); this.setState({ templateCURDDrawerVisible: false });
refresh && this.onTableChange(); refresh && this.onTableChange();
} }
...@@ -312,7 +312,7 @@ class Model extends React.Component { ...@@ -312,7 +312,7 @@ class Model extends React.Component {
} }
onImportModalCancel = (hints = []) => { onImportModalCancel = (hints = []) => {
const { catalogId, importModalAction, modelerId } = this.state; const { catalogId, importModalAction } = this.state;
this.setState({ importModalVisible: false }, () => { this.setState({ importModalVisible: false }, () => {
if ((hints||[]).length > 0) { if ((hints||[]).length > 0) {
...@@ -333,7 +333,7 @@ class Model extends React.Component { ...@@ -333,7 +333,7 @@ class Model extends React.Component {
} }
render() { render() {
const { importModalVisible, catalogId, loadingTableData, selectModelerIds, keyword, filterTableData, selectModelerNames, importModalAddMode, exportErwinLoading, exportDDLModalVisible, templateCURDModalVisible, wordTemplateModalVisible, constraintDetailDrawerVisible, importWordModalVisible, loadingStates, modelStates, currentModelState, currentView } = this.state; const { importModalVisible, catalogId, loadingTableData, selectModelerIds, keyword, filterTableData, selectModelerNames, importModalAddMode, exportErwinLoading, exportDDLModalVisible, templateCURDDrawerVisible, wordTemplateModalVisible, constraintDetailDrawerVisible, importWordModalVisible, loadingStates, modelStates, currentModelState, currentView } = this.state;
const content = ( const content = (
<ModelTable loading={loadingTableData} catalogId={catalogId} data={filterTableData} view={currentView} loadingStates={loadingStates} modelStates={modelStates} currentModelState={currentModelState} keyword={keyword} onChange={this.onTableChange} onSelect={this.onTableSelect} onItemAction={this.onTableItemAction} onModelStateChange={this.onModelStateChange} onSearchInputChange={this.onSearchInputChange} {...this.props} /> <ModelTable loading={loadingTableData} catalogId={catalogId} data={filterTableData} view={currentView} loadingStates={loadingStates} modelStates={modelStates} currentModelState={currentModelState} keyword={keyword} onChange={this.onTableChange} onSelect={this.onTableSelect} onItemAction={this.onTableItemAction} onModelStateChange={this.onModelStateChange} onSearchInputChange={this.onSearchInputChange} {...this.props} />
...@@ -402,9 +402,9 @@ class Model extends React.Component { ...@@ -402,9 +402,9 @@ class Model extends React.Component {
onCancel={this.onWordTemplateCURDModalCancel} onCancel={this.onWordTemplateCURDModalCancel}
/> />
<TemplateCURDModal <TemplateCURDDrawer
visible={templateCURDModalVisible} visible={templateCURDDrawerVisible}
onCancel={this.onTemplateCURDModalCancel} onCancel={this.onTemplateCURDDrawerCancel}
/> />
<ConstraintDetailDrawer <ConstraintDetailDrawer
......
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