Commit 785d5647 by zhaochengxiang

模型模板增加数据库类型

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