Browse Source

feat: 数据集版本添加限制

pull/132/head
cp3hnu 1 year ago
parent
commit
945e725132
6 changed files with 32 additions and 4 deletions
  1. +3
    -0
      react-ui/src/global.less
  2. +6
    -1
      react-ui/src/pages/Dataset/components/AddDatasetModal/index.tsx
  3. +6
    -1
      react-ui/src/pages/Dataset/components/AddModelModal/index.tsx
  4. +7
    -2
      react-ui/src/pages/Dataset/components/AddVersionModal/index.tsx
  5. +2
    -0
      react-ui/src/pages/Dataset/components/ResourceInfo/index.less
  6. +8
    -0
      react-ui/src/pages/Dataset/config.tsx

+ 3
- 0
react-ui/src/global.less View File

@@ -101,15 +101,18 @@ body {


::-webkit-scrollbar { ::-webkit-scrollbar {
width: 8px; width: 8px;
height: 8px;
background: transparent; background: transparent;
} }
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
width: 8px; width: 8px;
height: 8px;
background: rgba(0, 0, 0, 0.5); background: rgba(0, 0, 0, 0.5);
border-radius: 99px; border-radius: 99px;
} }
::-webkit-scrollbar-track { ::-webkit-scrollbar-track {
width: 8px; width: 8px;
height: 8px;
background: transparent; background: transparent;
} }
ul, ul,


+ 6
- 1
react-ui/src/pages/Dataset/components/AddDatasetModal/index.tsx View File

@@ -1,7 +1,7 @@
import { getAccessToken } from '@/access'; import { getAccessToken } from '@/access';
import KFIcon from '@/components/KFIcon'; import KFIcon from '@/components/KFIcon';
import KFModal from '@/components/KFModal'; import KFModal from '@/components/KFModal';
import { CategoryData, ResourceType, resourceConfig } from '@/pages/Dataset/config';
import { CategoryData, DataSource, ResourceType, resourceConfig } from '@/pages/Dataset/config';
import { addDataset } from '@/services/dataset/index.js'; import { addDataset } from '@/services/dataset/index.js';
import { to } from '@/utils/promise'; import { to } from '@/utils/promise';
import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui'; import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui';
@@ -67,6 +67,7 @@ function AddDatasetModal({ typeList, tagList, onOk, ...rest }: AddDatasetModalPr
if (validateUploadFiles(fileList)) { if (validateUploadFiles(fileList)) {
const params = { const params = {
...omit(formData, ['fileList']), ...omit(formData, ['fileList']),
dataset_source: DataSource.Create,
dataset_version_vos: fileList.map((item) => { dataset_version_vos: fileList.map((item) => {
const data = item.response?.data?.[0] ?? {}; const data = item.response?.data?.[0] ?? {};
return { return {
@@ -120,6 +121,10 @@ function AddDatasetModal({ typeList, tagList, onOk, ...rest }: AddDatasetModalPr
required: true, required: true,
message: '请输入数据集版本', message: '请输入数据集版本',
}, },
{
pattern: /^[a-zA-Z0-9._-]+$/,
message: '版本只支持字母、数字、下划线、点、横杠',
},
{ {
validator: (_rule, value) => { validator: (_rule, value) => {
if (value === 'master') { if (value === 'master') {


+ 6
- 1
react-ui/src/pages/Dataset/components/AddModelModal/index.tsx View File

@@ -1,7 +1,7 @@
import { getAccessToken } from '@/access'; import { getAccessToken } from '@/access';
import KFIcon from '@/components/KFIcon'; import KFIcon from '@/components/KFIcon';
import KFModal from '@/components/KFModal'; import KFModal from '@/components/KFModal';
import { CategoryData, ResourceType, resourceConfig } from '@/pages/Dataset/config';
import { CategoryData, DataSource, ResourceType, resourceConfig } from '@/pages/Dataset/config';
import { addModel } from '@/services/dataset/index.js'; import { addModel } from '@/services/dataset/index.js';
import { to } from '@/utils/promise'; import { to } from '@/utils/promise';
import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui'; import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui';
@@ -54,6 +54,7 @@ function AddModelModal({ typeList, tagList, onOk, ...rest }: AddModelModalProps)
if (validateUploadFiles(fileList)) { if (validateUploadFiles(fileList)) {
const params = { const params = {
...omit(formData, ['fileList']), ...omit(formData, ['fileList']),
model_source: DataSource.Create,
model_version_vos: fileList.map((item) => { model_version_vos: fileList.map((item) => {
const data = item.response?.data?.[0] ?? {}; const data = item.response?.data?.[0] ?? {};
return { return {
@@ -105,6 +106,10 @@ function AddModelModal({ typeList, tagList, onOk, ...rest }: AddModelModalProps)
required: true, required: true,
message: '请输入模型版本', message: '请输入模型版本',
}, },
{
pattern: /^[a-zA-Z0-9._-]+$/,
message: '版本只支持字母、数字、下划线、点、横杠',
},
{ {
validator: (_rule, value) => { validator: (_rule, value) => {
if (value === 'master') { if (value === 'master') {


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

@@ -1,7 +1,7 @@
import { getAccessToken } from '@/access'; import { getAccessToken } from '@/access';
import KFIcon from '@/components/KFIcon'; import KFIcon from '@/components/KFIcon';
import KFModal from '@/components/KFModal'; import KFModal from '@/components/KFModal';
import { ResourceType, resourceConfig } from '@/pages/Dataset/config';
import { DataSource, ResourceType, resourceConfig } from '@/pages/Dataset/config';
import { to } from '@/utils/promise'; import { to } from '@/utils/promise';
import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui'; import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui';
import { import {
@@ -73,6 +73,7 @@ function AddVersionModal({
identifier, identifier,
[config.filePropKey]: version_vos, [config.filePropKey]: version_vos,
...omit(formData, 'fileList'), ...omit(formData, 'fileList'),
[config.sourceParamKey]: DataSource.Create,
}; };
createDatasetVersion(params); createDatasetVersion(params);
} }
@@ -120,6 +121,10 @@ function AddVersionModal({
required: true, required: true,
message: `请输入${name}版本`, message: `请输入${name}版本`,
}, },
{
pattern: /^[a-zA-Z0-9._-]+$/,
message: '版本只支持字母、数字、下划线、点、横杠',
},
{ {
validator: (_rule, value) => { validator: (_rule, value) => {
if (value === 'master') { if (value === 'master') {
@@ -145,7 +150,7 @@ function AddVersionModal({
<Input.TextArea <Input.TextArea
placeholder="请输入版本描述" placeholder="请输入版本描述"
autoSize={{ minRows: 2, maxRows: 6 }} autoSize={{ minRows: 2, maxRows: 6 }}
maxLength={256}
maxLength={200}
showCount showCount
allowClear allowClear
/> />


+ 2
- 0
react-ui/src/pages/Dataset/components/ResourceInfo/index.less View File

@@ -16,9 +16,11 @@
color: @text-color; color: @text-color;
font-weight: 500; font-weight: 500;
font-size: 20px; font-size: 20px;
.singleLine();
} }


&__tag { &__tag {
flex: none;
padding: 4px 10px; padding: 4px 10px;
color: @primary-color; color: @primary-color;
font-size: 14px; font-size: 14px;


+ 8
- 0
react-ui/src/pages/Dataset/config.tsx View File

@@ -21,6 +21,11 @@ export enum ResourceType {
Dataset = 'Dataset', // 数据集 Dataset = 'Dataset', // 数据集
} }


export enum DataSource {
Export = 'export', // 导出
Create = 'add', // 新增
}

type ResourceTypeInfo = { type ResourceTypeInfo = {
getList: (params: any) => Promise<any>; // 获取资源列表 getList: (params: any) => Promise<any>; // 获取资源列表
getVersions: (params: any) => Promise<any>; // 获取版本列表 getVersions: (params: any) => Promise<any>; // 获取版本列表
@@ -32,6 +37,7 @@ type ResourceTypeInfo = {
typeParamKey: 'data_type' | 'model_type'; // 类型参数名称,获取资源列表接口使用 typeParamKey: 'data_type' | 'model_type'; // 类型参数名称,获取资源列表接口使用
tagParamKey: 'data_tag' | 'model_tag'; // 标签参数名称,获取资源列表接口使用 tagParamKey: 'data_tag' | 'model_tag'; // 标签参数名称,获取资源列表接口使用
filePropKey: 'dataset_version_vos' | 'model_version_vos'; // 文件列表属性 filePropKey: 'dataset_version_vos' | 'model_version_vos'; // 文件列表属性
sourceParamKey: 'dataset_source' | 'model_source'; // 来源参数名称
tabItems: TabsProps['items']; // tab 列表 tabItems: TabsProps['items']; // tab 列表
typeTitle: string; // 类型标题 typeTitle: string; // 类型标题
tagTitle: string; // 标签标题 tagTitle: string; // 标签标题
@@ -58,6 +64,7 @@ export const resourceConfig: Record<ResourceType, ResourceTypeInfo> = {
typeParamKey: 'data_type', typeParamKey: 'data_type',
tagParamKey: 'data_tag', tagParamKey: 'data_tag',
filePropKey: 'dataset_version_vos', filePropKey: 'dataset_version_vos',
sourceParamKey: 'dataset_source',
tabItems: [ tabItems: [
{ {
key: CommonTabKeys.Public, key: CommonTabKeys.Public,
@@ -93,6 +100,7 @@ export const resourceConfig: Record<ResourceType, ResourceTypeInfo> = {
typeParamKey: 'model_type', typeParamKey: 'model_type',
tagParamKey: 'model_tag', tagParamKey: 'model_tag',
filePropKey: 'model_version_vos', filePropKey: 'model_version_vos',
sourceParamKey: 'model_source',
tabItems: [ tabItems: [
{ {
key: CommonTabKeys.Public, key: CommonTabKeys.Public,


Loading…
Cancel
Save