Commit 370db5ea by zhaochengxiang

模型目录支持上移下移

parent 9b32e18d
...@@ -54,6 +54,10 @@ export function* refreshDataModelCatalog() { ...@@ -54,6 +54,10 @@ export function* refreshDataModelCatalog() {
return yield call(datamodelerService.refreshDataModelCatalog); return yield call(datamodelerService.refreshDataModelCatalog);
} }
export function* upDownModelCatalog(payload) {
return yield call(datamodelerService.upDownModelCatalog, payload);
}
export function* loadDataModelStateCatalog() { export function* loadDataModelStateCatalog() {
return yield call(datamodelerService.loadDataModelStateCatalog); return yield call(datamodelerService.loadDataModelStateCatalog);
} }
......
...@@ -20,6 +20,10 @@ export function deleteDataModelCatalog(payload) { ...@@ -20,6 +20,10 @@ export function deleteDataModelCatalog(payload) {
return PostJSON("/datamodeler/easyDataModelerCURD/deleteDataModelCatalog", payload); return PostJSON("/datamodeler/easyDataModelerCURD/deleteDataModelCatalog", payload);
} }
export function upDownModelCatalog(payload) {
return GetJSON("/datamodeler/easyDataModelerCURD/upDownModelCatalog", payload);
}
//绑定模型和模型目录 //绑定模型和模型目录
export function bindCatalogDataModel(payload) { export function bindCatalogDataModel(payload) {
return PostJSON("/datamodeler/easyDataModelerCURD/catalogDataModel", payload); return PostJSON("/datamodeler/easyDataModelerCURD/catalogDataModel", payload);
......
import React, { useState, useEffect, useRef } from "react"; import React, { useState, useEffect, useRef } from "react";
import { Tooltip, Tree, Modal, Spin, Dropdown, Menu, Button } from "antd"; import { Tooltip, Tree, Modal, Spin, Dropdown, Menu, Button } from "antd";
import { PlusOutlined, EditOutlined, SyncOutlined, DeleteOutlined, ImportOutlined, UnorderedListOutlined, ReloadOutlined } from '@ant-design/icons'; import { PlusOutlined, EditOutlined, SyncOutlined, DeleteOutlined, ImportOutlined, UnorderedListOutlined, ReloadOutlined, ArrowUpOutlined, ArrowDownOutlined } from '@ant-design/icons';
import classnames from 'classnames'; import classnames from 'classnames';
import UpdateTreeItemModal from './UpdateTreeItemModal'; import UpdateTreeItemModal from './UpdateTreeItemModal';
...@@ -325,6 +325,30 @@ const ModelTree = (props) => { ...@@ -325,6 +325,30 @@ const ModelTree = (props) => {
getDirTreeData('', null, 'load'); getDirTreeData('', null, 'load');
} }
const moveNode = (steps) => {
if (!item) {
showMessage('info', '请先选择目录');
return;
}
setLoading(true);
dispatch({
type: 'datamodel.upDownModelCatalog',
payload: {
modelCatalogId: item.id,
steps
},
callback: () => {
showMessage('success', (steps===-1)?'上移目录成功':'下移目录成功');
setItem(null);
getDirTreeData();
},
error: () => {
setLoading(false);
}
});
}
const deleteNode = () => { const deleteNode = () => {
if (!item) { if (!item) {
showMessage('info', '请先选择目录'); showMessage('info', '请先选择目录');
...@@ -417,35 +441,35 @@ const ModelTree = (props) => { ...@@ -417,35 +441,35 @@ const ModelTree = (props) => {
{ {
viewSelectedKey==='dir' && ( viewSelectedKey==='dir' && (
<Tooltip title="新增目录" className='ml-4'> <Tooltip title="新增目录" className='ml-2'>
<PlusOutlined onClick={add} style={{ fontSize:16,cursor:'pointer' }} /> <PlusOutlined onClick={add} style={{ fontSize:16,cursor:'pointer' }} />
</Tooltip> </Tooltip>
) )
} }
{ {
viewSelectedKey==='dir' && ( viewSelectedKey==='dir' && (
<Tooltip title="修改目录" className='ml-4'> <Tooltip title="修改目录" className='ml-2'>
<EditOutlined onClick={update} style={{ fontSize:16,cursor:'pointer' }} /> <EditOutlined onClick={update} style={{ fontSize:16,cursor:'pointer' }} />
</Tooltip> </Tooltip>
) )
} }
{ {
viewSelectedKey==='dir' && ( viewSelectedKey==='dir' && (
<Tooltip title="存量模型导入" className='ml-4'> <Tooltip title="存量模型导入" className='ml-2'>
<ImportOutlined onClick={() => { importStockModel && importStockModel() }} style={{ fontSize:16,cursor:'pointer' }} /> <ImportOutlined onClick={() => { importStockModel && importStockModel() }} style={{ fontSize:16,cursor:'pointer' }} />
</Tooltip> </Tooltip>
) )
} }
<Tooltip title="刷新目录" className='ml-4'> <Tooltip title="刷新目录" className='ml-2'>
<Button type='text' icon={<ReloadOutlined />} size='small' onClick={refresh} /> <Button type='text' icon={<ReloadOutlined />} size='small' onClick={refresh} />
</Tooltip> </Tooltip>
{ {
(viewSelectedKey==='dir') && !isSetRootId && ( (viewSelectedKey==='dir') && !isSetRootId && (
<Dropdown overlay={syncMenu} placement="bottomLeft"> <Dropdown overlay={syncMenu} placement="bottomLeft">
<Tooltip title="同步目录" className='ml-4'> <Tooltip title="同步目录" className='ml-2'>
<SyncOutlined className='ml-4' style={{ fontSize:16,cursor:'pointer' }} /> <SyncOutlined className='ml-2' style={{ fontSize:16,cursor:'pointer' }} />
</Tooltip> </Tooltip>
</Dropdown> </Dropdown>
) )
...@@ -453,7 +477,7 @@ const ModelTree = (props) => { ...@@ -453,7 +477,7 @@ const ModelTree = (props) => {
{ {
(viewSelectedKey==='dir') && isSetRootId && ( (viewSelectedKey==='dir') && isSetRootId && (
<Tooltip title="同步目录" className='ml-4'> <Tooltip title="同步目录" className='ml-2'>
<Button type='text' icon={<SyncOutlined />} size='small' onClick={sync} /> <Button type='text' icon={<SyncOutlined />} size='small' onClick={sync} />
</Tooltip> </Tooltip>
) )
...@@ -461,11 +485,27 @@ const ModelTree = (props) => { ...@@ -461,11 +485,27 @@ const ModelTree = (props) => {
{ {
viewSelectedKey==='dir' && ( viewSelectedKey==='dir' && (
<Tooltip title="删除目录" className='ml-4'> <Tooltip title="上移目录" className='ml-2'>
<DeleteOutlined onClick={deleteNode} style={{ fontSize:16,cursor:'pointer' }} /> <ArrowUpOutlined onClick={() => { moveNode(-1); }} style={{ fontSize:16,cursor:'pointer' }} />
</Tooltip>
)
}
{
viewSelectedKey==='dir' && (
<Tooltip title="下移目录" className='ml-2'>
<ArrowDownOutlined onClick={() => { moveNode(1); }} style={{ fontSize:16,cursor:'pointer' }} />
</Tooltip> </Tooltip>
) )
} }
{
viewSelectedKey==='dir' && (
<Tooltip title="删除目录" className='ml-2'>
<DeleteOutlined onClick={deleteNode} style={{ fontSize:16,cursor:'pointer' }} />
</Tooltip>
)
}
</div> </div>
} }
<div className='p-3'> <div className='p-3'>
......
...@@ -35,11 +35,11 @@ class UpdateTreeItemForm extends React.Component { ...@@ -35,11 +35,11 @@ class UpdateTreeItemForm extends React.Component {
const formItemLayout = { const formItemLayout = {
labelCol: { labelCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 8 }, sm: { span: 6 },
}, },
wrapperCol: { wrapperCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 16 }, sm: { span: 18 },
}, },
}; };
...@@ -70,12 +70,6 @@ class UpdateTreeItemForm extends React.Component { ...@@ -70,12 +70,6 @@ class UpdateTreeItemForm extends React.Component {
> >
<Input /> <Input />
</Form.Item> </Form.Item>
<Form.Item
label="权重"
name="weight"
>
<InputNumber min={0} />
</Form.Item>
</Form> </Form>
); );
} }
...@@ -98,9 +92,9 @@ const UpdateTreeItemModal = (props) => { ...@@ -98,9 +92,9 @@ const UpdateTreeItemModal = (props) => {
form.setFields([{ name: 'name', errors: [] }, { name: 'remark', errors: [] }]); form.setFields([{ name: 'name', errors: [] }, { name: 'remark', errors: [] }]);
if (type === 'add') { if (type === 'add') {
form.setFieldsValue({ action: _action, name: '', remark: '', weight: 0 }); form.setFieldsValue({ action: _action, name: '', remark: '' });
} else { } else {
form.setFieldsValue({ action: '', name: item?item.name:'', remark: item?item.remark:'', weight: item?item.weight:0 }); form.setFieldsValue({ action: '', name: item?item.name:'', remark: item?item.remark:'' });
} }
} }
//eslint-disable-next-line react-hooks/exhaustive-deps //eslint-disable-next-line react-hooks/exhaustive-deps
...@@ -118,14 +112,12 @@ const UpdateTreeItemModal = (props) => { ...@@ -118,14 +112,12 @@ const UpdateTreeItemModal = (props) => {
payload = { payload = {
name: values.name||'', name: values.name||'',
remark: values.remark||'', remark: values.remark||'',
weight: values.weight||0,
parentId: rootId parentId: rootId
}; };
} else if (type === 'add') { } else if (type === 'add') {
payload = { payload = {
name: values.name||'', name: values.name||'',
remark: values.remark||'', remark: values.remark||'',
weight: values.weight||0,
parentId: item.id parentId: item.id
}; };
} else { } else {
...@@ -133,7 +125,6 @@ const UpdateTreeItemModal = (props) => { ...@@ -133,7 +125,6 @@ const UpdateTreeItemModal = (props) => {
...item, ...item,
name: values.name||'', name: values.name||'',
remark: values.remark||'', remark: values.remark||'',
weight: values.weight||0,
} }
} }
......
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