diff --git a/react-ui/src/assets/img/delete-icon.png b/react-ui/src/assets/img/delete-icon.png new file mode 100644 index 00000000..335b2c7f Binary files /dev/null and b/react-ui/src/assets/img/delete-icon.png differ diff --git a/react-ui/src/assets/img/more-back.png b/react-ui/src/assets/img/more-back.png new file mode 100644 index 00000000..b9956ef5 Binary files /dev/null and b/react-ui/src/assets/img/more-back.png differ diff --git a/react-ui/src/pages/Dataset/datasetIntro.jsx b/react-ui/src/pages/Dataset/datasetIntro.jsx index 4ce5615d..d83e067c 100644 --- a/react-ui/src/pages/Dataset/datasetIntro.jsx +++ b/react-ui/src/pages/Dataset/datasetIntro.jsx @@ -224,8 +224,8 @@ const Dataset = () => { {datasetDetailObj.name}
数据集 id:{datasetDetailObj.id}
-
{datasetDetailObj.data_tag || '...'}
-
{datasetDetailObj.data_type}
+
{datasetDetailObj.dataset_type_name || '...'}
+
{datasetDetailObj.dataset_tag_name || '...'}
diff --git a/react-ui/src/pages/Dataset/index.less b/react-ui/src/pages/Dataset/index.less index 8bd424d8..c1d7a116 100644 --- a/react-ui/src/pages/Dataset/index.less +++ b/react-ui/src/pages/Dataset/index.less @@ -229,6 +229,11 @@ border-color: #eaeaea; border-radius: 4px; cursor: pointer; + .dropdown{ + position: absolute; + right: 20px; + top: 15px; + } .itemText { position: absolute; top: 20px; diff --git a/react-ui/src/pages/Dataset/personalData.jsx b/react-ui/src/pages/Dataset/personalData.jsx index 2df373dd..87f1c2c8 100644 --- a/react-ui/src/pages/Dataset/personalData.jsx +++ b/react-ui/src/pages/Dataset/personalData.jsx @@ -1,14 +1,22 @@ import { getAccessToken } from '@/access'; import clock from '@/assets/img/clock.png'; import creatByImg from '@/assets/img/creatBy.png'; +import deleteIcon from '@/assets/img/delete-icon.png'; import KFIcon from '@/components/KFIcon'; -import { addDatesetAndVesion, getAssetIcon, getDatasetList } from '@/services/dataset/index.js'; +import { + addDatesetAndVesion, + deleteDataset, + getAssetIcon, + getDatasetList, +} from '@/services/dataset/index.js'; import { getDictSelectOption } from '@/services/system/dict'; +import { modalConfirm } from '@/utils/ui'; import { UploadOutlined } from '@ant-design/icons'; import { Button, Form, Input, Modal, Pagination, Radio, Select, Upload } from 'antd'; import moment from 'moment'; import React, { useEffect, useState } from 'react'; import { useNavigate } from 'react-router-dom'; + import './index.less'; import Styles from './index.less'; const { Search } = Input; @@ -277,7 +285,30 @@ const PublicData = (React.FC = () => { return (
routeToIntro(e, item)}> {item.name} + { + e.stopPropagation(); + modalConfirm({ + title: '确定删除该条数据集实例吗?', + onOk: () => { + deleteDataset(item.id).then((ret) => { + if (ret.code === 200) { + message.success('删除成功'); + getModelLists(queryFlow); + } else { + message.error(ret.msg); + } + }); + }, + }); + }} + className={Styles.dropdown} + style={{ width: '17px', marginRight: '6px' }} + src={deleteIcon} + alt="" + />
{item.description}
+
{ return (
routeToIntro(e, item)}> {item.name} + { + e.stopPropagation(); + modalConfirm({ + title: '确定删除该条数据集实例吗?', + onOk: () => { + deleteDataset(item.id).then((ret) => { + if (ret.code === 200) { + message.success('删除成功'); + getModelLists(queryFlow); + } else { + message.error(ret.msg); + } + }); + }, + }); + }} + className={Styles.dropdown} + style={{ width: '17px', marginRight: '6px' }} + src={deleteIcon} + alt="" + />
{item.description}
.ant-tabs-nav .ant-tabs-nav-list{ + margin-left: 24px; + } + .ant-drawer .ant-drawer-body{ + overflow-y: hidden; + } + .ant-tabs { + height: calc(100% - 160px); + overflow-y: auto; + } + } + +} .detailBox { display: flex; align-items: center; margin-bottom: 15px; color: #1d1d20; font-size: 15px; + padding-left: 24px; + } .allMessageItem { display: flex; diff --git a/react-ui/src/pages/Experiment/experimentText/props.jsx b/react-ui/src/pages/Experiment/experimentText/props.jsx index 32e660e2..d5ac7999 100644 --- a/react-ui/src/pages/Experiment/experimentText/props.jsx +++ b/react-ui/src/pages/Experiment/experimentText/props.jsx @@ -386,7 +386,7 @@ const Props = forwardRef(({ onParentChange }, ref) => { }, })); return ( - <> +
{ afterOpenChange={afterOpenChange} open={open} width={420} + className={Styles.experimentDrawer} destroyOnClose={true} > -
任务名称:{stagingItem.label}
+
+ 任务名称:{stagingItem.label} +
执行状态:
{
- +
); }); diff --git a/react-ui/src/pages/Experiment/index.jsx b/react-ui/src/pages/Experiment/index.jsx index d8ac8f95..69748b4e 100644 --- a/react-ui/src/pages/Experiment/index.jsx +++ b/react-ui/src/pages/Experiment/index.jsx @@ -69,6 +69,7 @@ function Experiment() { return { ...item, key: item.id }; }), ); + setTotal(res.data.totalElements); } }; @@ -82,6 +83,7 @@ function Experiment() { // 获取实验实例 const getQueryByExperiment = (val) => { getQueryByExperimentId(val).then((ret) => { + console.log(val); setExpandedRowKeys(val); if (ret && ret.data && ret.data.length > 0) { try { @@ -159,6 +161,7 @@ function Experiment() { }; const expandChange = (e, record) => { clearExperimentInTimers(); + console.log(e, record); if (record.id === expandedRowKeys) { setExpandedRowKeys(null); } else { @@ -517,6 +520,7 @@ function Experiment() { : ''}
), + onExpand: (e, a) => { expandChange(e, a); }, diff --git a/react-ui/src/pages/Model/index.less b/react-ui/src/pages/Model/index.less index 382c5bd0..db39e6b0 100644 --- a/react-ui/src/pages/Model/index.less +++ b/react-ui/src/pages/Model/index.less @@ -219,6 +219,11 @@ border-color: #eaeaea; border-radius: 4px; cursor: pointer; + .dropdown{ + position: absolute; + right: 20px; + top: 15px; + } .itemText { position: absolute; top: 20px; diff --git a/react-ui/src/pages/Model/modelIntro.jsx b/react-ui/src/pages/Model/modelIntro.jsx index 8a66ad17..b9f4f87d 100644 --- a/react-ui/src/pages/Model/modelIntro.jsx +++ b/react-ui/src/pages/Model/modelIntro.jsx @@ -222,8 +222,8 @@ const Dataset = () => { {datasetDetailObj.name}
模型 id:{datasetDetailObj.id}
-
{datasetDetailObj.data_tag || '...'}
-
{datasetDetailObj.data_type}
+
{datasetDetailObj.model_type_name || '...'}
+
{datasetDetailObj.model_tag_name || '...'}
diff --git a/react-ui/src/pages/Model/personalData.jsx b/react-ui/src/pages/Model/personalData.jsx index fb478666..9595c6f1 100644 --- a/react-ui/src/pages/Model/personalData.jsx +++ b/react-ui/src/pages/Model/personalData.jsx @@ -1,10 +1,12 @@ import { getAccessToken } from '@/access'; import clock from '@/assets/img/clock.png'; import creatByImg from '@/assets/img/creatBy.png'; +import deleteIcon from '@/assets/img/delete-icon.png'; import KFIcon from '@/components/KFIcon'; -import { addModel, getAssetIcon, getModelList } from '@/services/dataset/index.js'; +import { addModel, deleteModel, getAssetIcon, getModelList } from '@/services/dataset/index.js'; +import { modalConfirm } from '@/utils/ui'; import { UploadOutlined } from '@ant-design/icons'; -import { Button, Form, Input, Modal, Pagination, Select, Upload } from 'antd'; +import { Button, Form, Input, Modal, Pagination, Select, Upload, message } from 'antd'; import moment from 'moment'; import { useEffect, useState } from 'react'; import { useNavigate } from 'react-router-dom'; @@ -54,8 +56,8 @@ const PublicData = () => { }); const [activeType, setActiveType] = useState(null); const [activeTag, setActiveTag] = useState(null); - const [datasetTypeList, setDatasetTypeList] = useState([]); - const [datasetDirectionList, setDatasetDirectionList] = useState([]); + const [modelTypeList, setmodelTypeList] = useState([]); + const [modelDirectionList, setmodelDirectionList] = useState([]); const [isModalOpen, setIsModalOpen] = useState(false); const [datasetList, setDatasetList] = useState([]); const [total, setTotal] = useState(0); @@ -82,11 +84,11 @@ const PublicData = () => { getAssetIcon(params).then((ret) => { console.log(ret); if (ret.code == 200 && ret.data.content && ret.data.content.length > 0) { - setDatasetTypeList(ret.data.content.filter((item) => item.category_id == 3)); - setDatasetDirectionList(ret.data.content.filter((item) => item.category_id == 4)); + setmodelTypeList(ret.data.content.filter((item) => item.category_id == 3)); + setmodelDirectionList(ret.data.content.filter((item) => item.category_id == 4)); } else { - setDatasetTypeList([]); - setDatasetDirectionList([]); + setmodelTypeList([]); + setmodelDirectionList([]); } }); }; @@ -181,8 +183,8 @@ const PublicData = () => { />
模型框架
- {datasetTypeList && datasetTypeList.length > 0 - ? datasetTypeList.map((item) => { + {modelTypeList && modelTypeList.length > 0 + ? modelTypeList.map((item) => { return (
{
模型能力
- {datasetDirectionList && datasetDirectionList.length > 0 - ? datasetDirectionList.map((item) => { + {modelDirectionList && modelDirectionList.length > 0 + ? modelDirectionList.map((item) => { return (
{ {datasetList && datasetList.length > 0 ? datasetList.map((item) => { return ( -
routeToIntro(e, item)}> +
{ + routeToIntro(e, item); + }} + > {item.name} -
{item.description}
+ { + e.stopPropagation(); + modalConfirm({ + title: '确定删除该条模型实例吗?', + onOk: () => { + deleteModel(item.id).then((ret) => { + if (ret.code === 200) { + message.success('删除成功'); + getModelLists(queryFlow); + } else { + message.error(ret.msg); + } + }); + }, + }); + }} + className={Styles.dropdown} + style={{ width: '17px', marginRight: '6px' }} + src={deleteIcon} + alt="" + /> + {/* { + console.log(e); + if (e.key === 'detail') { + routeToIntro(e, item); + } else if (e.key === 'delete') { + modalConfirm({ + title: '确定删除该条模型实例吗?', + onOk: () => { + deleteModel(item.id).then((ret) => { + if (ret.code === 200) { + message.success('删除成功'); + getModelLists(queryFlow); + } else { + message.error(ret.msg); + } + }); + }, + }); + } + }, + }} + > +
+ +
+
*/} + ,
{item.description}
{ ] } > - { + return { value: item.id, label: item.name }; + })} + /> { ] } > - { + return { value: item.id, label: item.name }; + })} + /> diff --git a/react-ui/src/pages/Model/publicData.jsx b/react-ui/src/pages/Model/publicData.jsx index 17313f54..36261368 100644 --- a/react-ui/src/pages/Model/publicData.jsx +++ b/react-ui/src/pages/Model/publicData.jsx @@ -1,7 +1,9 @@ import clock from '@/assets/img/clock.png'; import creatByImg from '@/assets/img/creatBy.png'; -import { getAssetIcon, getModelList } from '@/services/dataset/index.js'; -import { Form, Input, Modal, Pagination, Radio } from 'antd'; +import deleteIcon from '@/assets/img/delete-icon.png'; +import { deleteModel, getAssetIcon, getModelList } from '@/services/dataset/index.js'; +import { modalConfirm } from '@/utils/ui'; +import { Form, Input, Modal, Pagination, Radio, message } from 'antd'; import moment from 'moment'; import { useEffect, useState } from 'react'; import { useNavigate } from 'react-router-dom'; @@ -224,8 +226,35 @@ const PublicData = () => { {datasetList && datasetList.length > 0 ? datasetList.map((item) => { return ( -
routeToIntro(e, item)}> +
{ + routeToIntro(e, item); + }} + > {item.name} + { + e.stopPropagation(); + modalConfirm({ + title: '确定删除该条模型实例吗?', + onOk: () => { + deleteModel(item.id).then((ret) => { + if (ret.code === 200) { + message.success('删除成功'); + getModelLists(queryFlow); + } else { + message.error(ret.msg); + } + }); + }, + }); + }} + className={Styles.dropdown} + style={{ width: '17px', marginRight: '6px' }} + src={deleteIcon} + alt="" + />
{item.description}