diff --git a/react-ui/config/config.ts b/react-ui/config/config.ts index c7228a2d..4ecf3ebd 100644 --- a/react-ui/config/config.ts +++ b/react-ui/config/config.ts @@ -108,7 +108,9 @@ export default defineConfig({ * @description 内置了 babel import 插件 * @doc https://umijs.org/docs/max/antd#antd */ - antd: {}, + antd: { + configProvider: {}, + }, /** * @name 网络请求配置 * @description 它基于 axios 和 ahooks 的 useRequest 提供了一套统一的网络请求和错误处理方案。 diff --git a/react-ui/src/assets/img/modal-select-model.png b/react-ui/src/assets/img/modal-select-model.png new file mode 100644 index 00000000..7e67ec05 Binary files /dev/null and b/react-ui/src/assets/img/modal-select-model.png differ diff --git a/react-ui/src/assets/img/tensor-board-export.png b/react-ui/src/assets/img/tensor-board-export.png new file mode 100644 index 00000000..46f296ee Binary files /dev/null and b/react-ui/src/assets/img/tensor-board-export.png differ diff --git a/react-ui/src/assets/img/tensor-board-failed.png b/react-ui/src/assets/img/tensor-board-failed.png new file mode 100644 index 00000000..e2d94392 Binary files /dev/null and b/react-ui/src/assets/img/tensor-board-failed.png differ diff --git a/react-ui/src/assets/img/tensor-board-pending.png b/react-ui/src/assets/img/tensor-board-pending.png new file mode 100644 index 00000000..f9eee3a9 Binary files /dev/null and b/react-ui/src/assets/img/tensor-board-pending.png differ diff --git a/react-ui/src/assets/img/tensor-board-running.png b/react-ui/src/assets/img/tensor-board-running.png new file mode 100644 index 00000000..7ed147ec Binary files /dev/null and b/react-ui/src/assets/img/tensor-board-running.png differ diff --git a/react-ui/src/assets/img/tensor-board-stop.png b/react-ui/src/assets/img/tensor-board-stop.png new file mode 100644 index 00000000..3a23a092 Binary files /dev/null and b/react-ui/src/assets/img/tensor-board-stop.png differ diff --git a/react-ui/src/assets/img/tensor-board-terminated.png b/react-ui/src/assets/img/tensor-board-terminated.png new file mode 100644 index 00000000..c234bba5 Binary files /dev/null and b/react-ui/src/assets/img/tensor-board-terminated.png differ diff --git a/react-ui/src/assets/img/tensor-board-unknown.png b/react-ui/src/assets/img/tensor-board-unknown.png new file mode 100644 index 00000000..843d0e5e Binary files /dev/null and b/react-ui/src/assets/img/tensor-board-unknown.png differ diff --git a/react-ui/src/components/KFModal/index.less b/react-ui/src/components/KFModal/index.less index 192ec678..40ee7df4 100644 --- a/react-ui/src/components/KFModal/index.less +++ b/react-ui/src/components/KFModal/index.less @@ -5,7 +5,7 @@ border-radius: 21px; } .ant-modal-header { - margin: 20px 0; + margin: 20px 0 30px; background-color: transparent; } .ant-modal-footer { diff --git a/react-ui/src/components/ModalTitle/index.less b/react-ui/src/components/ModalTitle/index.less index b56ecc7d..1ff70e81 100644 --- a/react-ui/src/components/ModalTitle/index.less +++ b/react-ui/src/components/ModalTitle/index.less @@ -3,6 +3,7 @@ display: flex; align-items: center; color: @kf-primary-color; + font-weight: 400; font-size: 20px; &_image { diff --git a/react-ui/src/hooks/index.ts b/react-ui/src/hooks/index.ts index d60bc345..8e0f60c6 100644 --- a/react-ui/src/hooks/index.ts +++ b/react-ui/src/hooks/index.ts @@ -37,3 +37,27 @@ export function useAntdModal(initialValue: boolean) { return [visible, open, close]; } + +type Callback = (state: T) => void; + +/** + * Generates a stateful value and a function to update it that triggers callbacks. + * + * @param initialValue - The initial value of the state. + * @return A tuple containing the current state value and a function to update the state. + */ +export function useCallbackState(initialValue: T) { + const [state, _setState] = useState(initialValue); + const callbackQueue = useRef[]>([]); + useEffect(() => { + callbackQueue.current.forEach((cb) => cb(state)); + callbackQueue.current = []; + }, [state]); + const setState = (newValue: T, callback: Callback) => { + _setState(newValue); + if (callback && typeof callback === 'function') { + callbackQueue.current.push(callback); + } + }; + return [state, setState]; +} diff --git a/react-ui/src/pages/Dataset/datasetIntro.jsx b/react-ui/src/pages/Dataset/datasetIntro.jsx index 19069507..bdc9171b 100644 --- a/react-ui/src/pages/Dataset/datasetIntro.jsx +++ b/react-ui/src/pages/Dataset/datasetIntro.jsx @@ -39,9 +39,9 @@ const Dataset = () => { return { ...form.getFieldsValue(), dataset_id: locationParams.id, - file_name: item.response.data[0].fileName, - file_size: item.response.data[0].fileSize, - url: item.response.data[0].url, + file_name: item.response.code === 200 ? item.response.data[0].fileName : null, + file_size: item.response.code === 200 ? item.response.data[0].fileSize : null, + url: item.response.code === 200 ? item.response.data[0].url : null, }; }), ); diff --git a/react-ui/src/pages/Dataset/index.jsx b/react-ui/src/pages/Dataset/index.jsx index b2aeda48..9bd15abf 100644 --- a/react-ui/src/pages/Dataset/index.jsx +++ b/react-ui/src/pages/Dataset/index.jsx @@ -1,6 +1,6 @@ import { getDatasetList } from '@/services/dataset/index.js'; import { Form, Input, Tabs } from 'antd'; -import React, { useEffect, useState } from 'react'; +import { useEffect, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import Styles from './index.less'; import PersonalData from './personalData'; @@ -9,7 +9,7 @@ const { Search } = Input; const { TabPane } = Tabs; const leftdataList = [1, 2, 3]; -const Dataset = (React.FC = () => { +const Dataset = () => { const [queryFlow, setQueryFlow] = useState({ page: 0, size: 10, @@ -52,7 +52,7 @@ const Dataset = (React.FC = () => { console.log('Failed:', errorInfo); }; useEffect(() => { - getDatasetlist(); + //getDatasetlist(); return () => {}; }, []); return ( @@ -70,5 +70,5 @@ const Dataset = (React.FC = () => { ); -}); +}; export default Dataset; diff --git a/react-ui/src/pages/Dataset/personalData.jsx b/react-ui/src/pages/Dataset/personalData.jsx index 0bc82b26..cbebbd0a 100644 --- a/react-ui/src/pages/Dataset/personalData.jsx +++ b/react-ui/src/pages/Dataset/personalData.jsx @@ -24,7 +24,16 @@ const PublicData = (React.FC = () => { onChange({ file, fileList }) { if (file.status !== 'uploading') { console.log(file, fileList); - form.setFieldsValue({ dataset_version_vos: fileList.map((item) => item.response.data[0]) }); + form.setFieldsValue({ + dataset_version_vos: fileList.map((item) => { + const data = item.response.data[0]; + return { + file_name: data.fileName, + file_size: data.fileSize, + url: data.url, + }; + }), + }); } }, defaultFileList: [], @@ -51,6 +60,7 @@ const PublicData = (React.FC = () => { const [total, setTotal] = useState(0); const [form] = Form.useForm(); const [dialogTitle, setDialogTitle] = useState('新建数据'); + const [uuid, setUuid] = useState(Date.now()); const getDatasetlist = (queryFlow) => { getDatasetList(queryFlow).then((ret) => { console.log(ret); @@ -64,6 +74,7 @@ const PublicData = (React.FC = () => { const showModal = () => { form.resetFields(); setDialogTitle('新建数据集'); + setUuid(Date.now()); setIsModalOpen(true); }; const getAssetIconList = (params) => { @@ -397,7 +408,7 @@ const PublicData = (React.FC = () => { - +