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..5fb5e093 100644 --- a/react-ui/src/pages/Dataset/datasetIntro.jsx +++ b/react-ui/src/pages/Dataset/datasetIntro.jsx @@ -59,16 +59,18 @@ const Dataset = () => { const locationParams = useParams(); //新版本获取路由参数接口 const [wordList, setWordList] = useState([]); const [activeTabKey, setActiveTabKey] = useState('1'); + const [uuid, setUuid] = useState(Date.now()); const getDatasetByDetail = () => { getDatasetById(locationParams.id).then((ret) => { console.log(ret); setDatasetDetailObj(ret.data); }); }; + // 获取数据集版本 const getDatasetVersionList = () => { getDatasetVersionsById(locationParams.id).then((ret) => { console.log(ret); - if (ret.data && ret.data.length > 0) { + if (ret && ret.data && ret.data.length > 0) { setVersionList( ret.data.map((item) => { return { @@ -77,6 +79,8 @@ const Dataset = () => { }; }), ); + setVersion(ret.data[0]); + getDatasetVersions({ version: ret.data[0], dataset_id: locationParams.id }); } }); }; @@ -90,6 +94,7 @@ const Dataset = () => { form.setFieldsValue({ name: datasetDetailObj.name }); setDialogTitle('创建新版本'); + setUuid(Date.now()); setIsModalOpen(true); }; const handleCancel = () => { @@ -109,9 +114,7 @@ const Dataset = () => { onOk: () => { deleteDatasetVersion({ dataset_id: locationParams.id, version }).then((ret) => { - setVersion(null); getDatasetVersionList(); - getDatasetVersions({ version, dataset_id: locationParams.id }); message.success('删除成功'); }); }, @@ -124,6 +127,7 @@ const Dataset = () => { message.success('创建成功'); }); }; + // 获取版本下的文件列表 const getDatasetVersions = (params) => { getDatasetVersionIdList(params).then((res) => { setWordList(res?.data?.content ?? []); @@ -368,7 +372,7 @@ const Dataset = () => { }, ]} > - +