Commit 785d5647 by zhaochengxiang

模型模板增加数据库类型

parent dc78860b
...@@ -706,7 +706,7 @@ const ImportActionHeader = (props) => { ...@@ -706,7 +706,7 @@ const ImportActionHeader = (props) => {
{ {
editable ? <TemplateSelect editable ? <TemplateSelect
modelerData={modelerData} modelerData={modelerData}
templates={templates} templates={(templates??[]).filter(item=>item.dbType===modelerData?.dbType)}
onChange={onTemplateChange} onChange={onTemplateChange}
/> : <span className='word-wrap'>{modelerData?.tableType}</span> /> : <span className='word-wrap'>{modelerData?.tableType}</span>
} }
...@@ -790,6 +790,12 @@ const TemplateSelect = ({ value = '', modelerData = undefined, templates = [], o ...@@ -790,6 +790,12 @@ const TemplateSelect = ({ value = '', modelerData = undefined, templates = [], o
} }
}, [modelerData]) }, [modelerData])
useEffect(() => {
if (modelerData?.dbType && modelerData?.easyDataModelerModelingTemplate?.dbType && modelerData?.dbType !== modelerData?.easyDataModelerModelingTemplate?.dbType) {
onChange?.('');
}
}, [modelerData])
return ( return (
<span style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}> <span style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
{ {
......
...@@ -21,7 +21,7 @@ const VersionCompareHeader = (props) => { ...@@ -21,7 +21,7 @@ const VersionCompareHeader = (props) => {
if (direction==='left' && (data?.left?.tableValue||[]).length>index) { if (direction==='left' && (data?.left?.tableValue||[]).length>index) {
columnValue = data?.left?.tableValue[index]; columnValue = data?.left?.tableValue[index];
} else if (direction==='right' && (data?.left?.tableValue||[]).length>index) { } else if (direction==='right' && (data?.left?.tableValue||[]).length>index) {
columnValue = data?.left?.tableValue[index]; columnValue = data?.right?.tableValue[index];
} }
let stateClassName = ''; let stateClassName = '';
......
...@@ -297,7 +297,7 @@ class ModelComponet extends React.Component { ...@@ -297,7 +297,7 @@ class ModelComponet extends React.Component {
this.props.modal?.confirm({ this.props.modal?.confirm({
title: '提示', title: '提示',
content: '您确定要删除这些模型吗?', content: '是否确认删除选中内容',
onOk: () => { onOk: () => {
dispatch({ dispatch({
type: 'datamodel.deleteDataModels', type: 'datamodel.deleteDataModels',
...@@ -310,7 +310,11 @@ class ModelComponet extends React.Component { ...@@ -310,7 +310,11 @@ class ModelComponet extends React.Component {
this.onTableChange(); this.onTableChange();
this.setState({ selectModelerIds: [] }); this.setState({ selectModelerIds: [] });
if (tip) { if (tip) {
showMessage((tip==='删除成功')?'success':'warn', tip) if (tip === '删除成功') {
showMessage('success', '删除成功')
} else {
showMessage('warn', '存在非草稿态模型无法删除')
}
} }
} }
}) })
......
...@@ -100,6 +100,8 @@ const TemplateAction = (props) => { ...@@ -100,6 +100,8 @@ const TemplateAction = (props) => {
setTabKey(`${Number(tabKey)+1}`); setTabKey(`${Number(tabKey)+1}`);
} }
console.log('templateData', templateData)
return ( return (
<Spin spinning={loading}> <Spin spinning={loading}>
<Tabs activeKey={tabKey} onChange={onTabChange}> <Tabs activeKey={tabKey} onChange={onTabChange}>
...@@ -108,6 +110,11 @@ const TemplateAction = (props) => { ...@@ -108,6 +110,11 @@ const TemplateAction = (props) => {
form={form} form={form}
editable={action!=='detail'} editable={action!=='detail'}
templateData={templateData||{}} templateData={templateData||{}}
onChange={(val) => {
const newTemplateData = {...templateData, ...val};
setTemplateData(newTemplateData);
onChange && onChange(newTemplateData);
}}
/> />
</TabPane> </TabPane>
<TabPane <TabPane
......
import React from 'react'; import React from 'react';
import { Form, Input, Row, Col, Descriptions } from 'antd'; import { Form, Input, Row, Col, Descriptions, Select } from 'antd';
import { dispatch } from '../../../../model';
const { TextArea } = Input; const { TextArea } = Input;
const TemplateActionHeader = (props) => { const TemplateActionHeader = (props) => {
const { editable, form, templateData } = props; const { editable, form, templateData, onChange } = props;
const [loadingDbTypes, setLoadingDbTypes] = React.useState(false);
const [dbTypes, setDbTypes] = React.useState();
React.useEffect(() => {
getDbTypes()
}, [])
const getDbTypes = () => {
setLoadingDbTypes(true)
dispatch({
type: 'datamodel.getDbTypes',
callback: data => {
setLoadingDbTypes(false)
setDbTypes(data)
},
error: () => {
setLoadingDbTypes(false)
}
})
}
const formItemLayout = { const formItemLayout = {
labelCol: { labelCol: {
...@@ -17,13 +40,36 @@ const TemplateActionHeader = (props) => { ...@@ -17,13 +40,36 @@ const TemplateActionHeader = (props) => {
}, },
}; };
const onValuesChange = (changedValues, allValues) => {
onChange && onChange(allValues)
}
return ( return (
<>
{
editable ? ( editable ? (
<Form <Form
form={form} form={form}
{...formItemLayout} {...formItemLayout}
onValuesChange={onValuesChange}
style={{ overflow: 'hidden' }}
> >
<Row> <Row gutter={10}>
<Col span={12}>
<Form.Item
label='数据库类型'
name="dbType"
rules={[{ required: true, message: '请选择数据库类型!' }]}
>
{
!templateData?.id ? <Select loading={loadingDbTypes}>
{ dbTypes?.map(item => <Select.Option key={item} value={item}>{item}</Select.Option>) }
</Select> : <span className='word-wrap'>
{templateData?.dbType}
</span>
}
</Form.Item>
</Col>
<Col span={12}> <Col span={12}>
<Form.Item <Form.Item
label="中文名称" label="中文名称"
...@@ -44,8 +90,6 @@ const TemplateActionHeader = (props) => { ...@@ -44,8 +90,6 @@ const TemplateActionHeader = (props) => {
<Input /> <Input />
</Form.Item> </Form.Item>
</Col> </Col>
</Row>
<Row>
<Col span={12}> <Col span={12}>
<Form.Item <Form.Item
label="描述" label="描述"
...@@ -60,11 +104,14 @@ const TemplateActionHeader = (props) => { ...@@ -60,11 +104,14 @@ const TemplateActionHeader = (props) => {
</Form> </Form>
) : ( ) : (
<Descriptions column={2}> <Descriptions column={2}>
<Descriptions.Item label="数据库类型">{templateData.dbType||''}</Descriptions.Item>
<Descriptions.Item label="中文名称">{templateData.cnName||''}</Descriptions.Item> <Descriptions.Item label="中文名称">{templateData.cnName||''}</Descriptions.Item>
<Descriptions.Item label="英文名称">{templateData.name||''}</Descriptions.Item> <Descriptions.Item label="英文名称">{templateData.name||''}</Descriptions.Item>
<Descriptions.Item label="描述">{templateData.remark||''}</Descriptions.Item> <Descriptions.Item label="描述">{templateData.remark||''}</Descriptions.Item>
</Descriptions> </Descriptions>
) )
}
</>
) )
} }
......
...@@ -69,8 +69,9 @@ const TemplateCURD = (props) => { ...@@ -69,8 +69,9 @@ const TemplateCURD = (props) => {
{ {
title: '更新时间', title: '更新时间',
dataIndex: 'modifiedTs', dataIndex: 'modifiedTs',
width: 120, width: 160,
ellipsis: true, ellipsis: true,
render: (_, record) => record.modifiedTs ? new Date(record.modifiedTs).toLocaleString() : ''
}, },
{ {
title: '操作', title: '操作',
......
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