Commit 90128c52 by zhaochengxiang

模型增加分区

parent 9cdf9c4c
......@@ -86,6 +86,10 @@ export function* modelCopy(payload) {
return yield call(datamodelerService.modelCopy, payload);
}
export function* getSupportedPartitionTypes() {
return yield call(datamodelerService.getSupportedPartitionTypes);
}
export function* extractExcelContent(payload) {
return yield call(datamodelerService.extractExcelContent, payload);
}
......
......@@ -43,6 +43,10 @@ export function modelCopy(payload) {
return GetJSON("/datamodeler/easyDataModelerCURD/copy", payload);
}
export function getSupportedPartitionTypes() {
return GetJSON("/datamodeler/easyDataModelerCURD/getSupportedPartitionTypes");
}
export function extractExcelContent(payload) {
return PostFile("/datamodeler/easyDataModelerDesign/kickStart", payload);
}
......
......@@ -4,6 +4,7 @@ import { Spin } from 'antd';
import ImportActionHeader from './ImportActionHeader';
import ImportActionTable from './ImportActionTable';
import ImportActionIndex from './ImportActionIndex';
import ImportActionPartition from './ImportActionPartition';
import { dispatch } from '../../../../model';
......@@ -16,6 +17,7 @@ const ImportAction = (props) => {
const [ template, setTemplate ] = useState({});
const [ modelerData, setModelerData ] = useState(null);
const [ supportedDatatypes, setSupportedDatatypes ] = useState([]);
const [ supportedPartitionTypes, setSupportedPartitionTypes ] = useState([]);
const [ validateReports, setValidateReports ] = useState([]);
const [ loading, setLoading ] = useState(false);
......@@ -79,16 +81,7 @@ const ImportAction = (props) => {
},
callback: data => {
setLoading(false);
setModelerData(data||{});
form.setFieldsValue({
cnName: data.cnName||'',
name: data.name||'',
remark: data.remark||'',
easyDataModelerModelingConstraint: data.easyDataModelerModelingConstraint||'',
easyDataModelerModelingTemplate: data.easyDataModelerModelingTemplate||''
});
onChange && onChange(data||{});
getSupportedDatatypes();
getExtraData(data);
},
error: () => {
setLoading(false);
......@@ -108,16 +101,7 @@ const ImportAction = (props) => {
},
callback: data => {
setLoading(false);
setModelerData(data||{});
form.setFieldsValue({
cnName: data.cnName||'',
name: data.name||'',
remark: data.remark||'',
easyDataModelerModelingConstraint: data.easyDataModelerModelingConstraint||'',
easyDataModelerModelingTemplate: data.easyDataModelerModelingTemplate||''
});
onChange && onChange(data||{});
getSupportedDatatypes();
getExtraData(data);
}
})
}
......@@ -163,6 +147,7 @@ const ImportAction = (props) => {
setTemplate(data.easyDataModelerModelingTemplate||{});
onChange && onChange(data||{});
getSupportedDatatypes();
getSupportedPartitionTypes();
if (data) {
form.setFieldsValue({
......@@ -230,6 +215,15 @@ const ImportAction = (props) => {
});
}
const getSupportedPartitionTypes = () => {
dispatch({
type: 'datamodel.getSupportedPartitionTypes',
callback: data => {
setSupportedPartitionTypes(data||[]);
}
});
}
const onHeaderChange = (changedValues, allValues) => {
if (changedValues.hasOwnProperty('name') || changedValues.hasOwnProperty('cnName')) {
validateDataModel(modelerData);
......@@ -277,6 +271,17 @@ const ImportAction = (props) => {
}
}
const onPartitionChange = (data, validate=false) => {
const newModelerData = {...modelerData, partition: data};
setModelerData(newModelerData);
onChange && onChange(newModelerData);
if (validate) {
validateDataModel(newModelerData);
}
}
const getIndicesAfterTableChange = (newModelerData) => {
const newEasyDataModelerIndices = [...(newModelerData.easyDataModelerIndices||[])];
(newModelerData.easyDataModelerIndices||[]).forEach((easyDataModelerIndex, index) => {
......@@ -331,6 +336,16 @@ const ImportAction = (props) => {
editable={action!=='detail'}
terms={terms}
/>
<ImportActionPartition
modelerData={modelerData||{}}
constraint={constraint}
template={template}
validateReports={validateReports}
supportedPartitionTypes={supportedPartitionTypes}
onChange={onPartitionChange}
editable={action!=='detail'}
terms={terms}
/>
</React.Fragment>);
return (
......
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