Browse Source

fix: 修改镜像列表搜索方式

pull/45/head
cp3hnu 1 year ago
parent
commit
b2e3d86a31
3 changed files with 22 additions and 37 deletions
  1. +2
    -2
      react-ui/src/pages/Dataset/components/ResourceList/index.tsx
  2. +10
    -24
      react-ui/src/pages/Mirror/create.tsx
  3. +10
    -11
      react-ui/src/pages/Mirror/list.tsx

+ 2
- 2
react-ui/src/pages/Dataset/components/ResourceList/index.tsx View File

@@ -78,7 +78,7 @@ function ResourceList(


// 获取数据请求 // 获取数据请求
const getDataList = async () => { const getDataList = async () => {
const reqParams = {
const params = {
page: pagination.current! - 1, page: pagination.current! - 1,
size: pagination.pageSize, size: pagination.pageSize,
[resourceConfig[resourceType].typeParamKey]: dataType, [resourceConfig[resourceType].typeParamKey]: dataType,
@@ -87,7 +87,7 @@ function ResourceList(
name: searchText !== '' ? searchText : undefined, name: searchText !== '' ? searchText : undefined,
}; };
const request = resourceConfig[resourceType].getList; const request = resourceConfig[resourceType].getList;
const [res] = await to(request(reqParams));
const [res] = await to(request(params));
if (res && res.data && res.data.content) { if (res && res.data && res.data.content) {
setDataList(res.data.content); setDataList(res.data.content);
setTotal(res.data.totalElements); setTotal(res.data.totalElements);


+ 10
- 24
react-ui/src/pages/Mirror/create.tsx View File

@@ -12,7 +12,7 @@ import { CommonTabKeys } from '@/enums';
import { createMirrorReq } from '@/services/mirror'; import { createMirrorReq } from '@/services/mirror';
import { to } from '@/utils/promise'; import { to } from '@/utils/promise';
import { getSessionItemThenRemove, mirrorNameKey } from '@/utils/sessionStorage'; import { getSessionItemThenRemove, mirrorNameKey } from '@/utils/sessionStorage';
import { getFileListFromEvent } from '@/utils/ui';
import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui';
import { useNavigate } from '@umijs/max'; import { useNavigate } from '@umijs/max';
import { Button, Col, Form, Input, Row, Upload, UploadFile, message, type UploadProps } from 'antd'; import { Button, Col, Form, Input, Row, Upload, UploadFile, message, type UploadProps } from 'antd';
import { omit } from 'lodash'; import { omit } from 'lodash';
@@ -75,30 +75,16 @@ function MirrorCreate() {
}; };
} else { } else {
const fileList = formData['fileList'] ?? []; const fileList = formData['fileList'] ?? [];
if (fileList.length === 0) {
message.error('请上传文件');
return;
if (validateUploadFiles(fileList)) {
const file = fileList[0];
params = {
...omit(formData, ['fileList', 'upload_type']),
path: file.response.data.url,
file_size: file.response.data.fileSize,
upload_type: 1,
image_type: 0,
};
} }
const file = fileList[0];
if (file.status === 'uploading') {
message.error('请等待文件上传完成');
return;
} else if (file.status === 'error') {
message.error('文件上传失败,请重新上传文件');
return;
}
if (!file.response || !file.response.data) {
message.error('文件上传失败,请重新上传文件');
return;
}

params = {
...omit(formData, ['fileList', 'upload_type']),
path: file.response.data.url,
file_size: file.response.data.fileSize,
upload_type: 1,
image_type: 0,
};
} }


const [res] = await to(createMirrorReq(params)); const [res] = await to(createMirrorReq(params));


+ 10
- 11
react-ui/src/pages/Mirror/list.tsx View File

@@ -54,6 +54,7 @@ function MirrorList() {
const [cacheState, setCacheState] = useCacheState(); const [cacheState, setCacheState] = useCacheState();
const [activeTab, setActiveTab] = useState<string>(cacheState?.activeTab ?? CommonTabKeys.Public); const [activeTab, setActiveTab] = useState<string>(cacheState?.activeTab ?? CommonTabKeys.Public);
const [searchText, setSearchText] = useState(cacheState?.searchText); const [searchText, setSearchText] = useState(cacheState?.searchText);
const [inputText, setInputText] = useState(cacheState?.searchText);
const [tableData, setTableData] = useState<MirrorData[]>([]); const [tableData, setTableData] = useState<MirrorData[]>([]);
const [total, setTotal] = useState(0); const [total, setTotal] = useState(0);
const [pagination, setPagination] = useState<TablePaginationConfig>( const [pagination, setPagination] = useState<TablePaginationConfig>(
@@ -65,11 +66,12 @@ function MirrorList() {


useEffect(() => { useEffect(() => {
getMirrorList(); getMirrorList();
}, [activeTab, pagination]);
}, [activeTab, pagination, searchText]);


// 切换 Tab,重置数据 // 切换 Tab,重置数据
const hanleTabChange: TabsProps['onChange'] = (value) => { const hanleTabChange: TabsProps['onChange'] = (value) => {
setSearchText(''); setSearchText('');
setInputText('');
setPagination({ setPagination({
current: 1, current: 1,
pageSize: 10, pageSize: 10,
@@ -78,16 +80,16 @@ function MirrorList() {
setTableData([]); setTableData([]);
setActiveTab(value); setActiveTab(value);
}; };

// 获取镜像列表 // 获取镜像列表
const getMirrorList = async (params?: Record<string, any>) => {
const reqParams = {
const getMirrorList = async () => {
const params: Record<string, any> = {
page: pagination.current! - 1, page: pagination.current! - 1,
size: pagination.pageSize, size: pagination.pageSize,
name: searchText, name: searchText,
image_type: activeTab === CommonTabKeys.Public ? 1 : 0, image_type: activeTab === CommonTabKeys.Public ? 1 : 0,
...params,
}; };
const [res] = await to(getMirrorListReq(reqParams));
const [res] = await to(getMirrorListReq(params));
if (res && res.data) { if (res && res.data) {
const { content = [], totalElements = 0 } = res.data; const { content = [], totalElements = 0 } = res.data;
setTableData(content); setTableData(content);
@@ -116,10 +118,7 @@ function MirrorList() {


// 搜索 // 搜索
const onSearch: SearchProps['onSearch'] = (value) => { const onSearch: SearchProps['onSearch'] = (value) => {
// 带参数是为了点清除时,searchText 更新不及时的问题
getMirrorList({
name: value,
});
setSearchText(value);
}; };


// 查看详情 // 查看详情
@@ -241,9 +240,9 @@ function MirrorList() {
placeholder="按数据集名称筛选" placeholder="按数据集名称筛选"
allowClear allowClear
onSearch={onSearch} onSearch={onSearch}
onChange={(e) => setSearchText(e.target.value)}
onChange={(e) => setInputText(e.target.value)}
style={{ width: 300 }} style={{ width: 300 }}
value={searchText}
value={inputText}
/> />
{activeTab === CommonTabKeys.Private && ( {activeTab === CommonTabKeys.Private && (
<Button <Button


Loading…
Cancel
Save