| @@ -101,15 +101,18 @@ body { | |||
| ::-webkit-scrollbar { | |||
| width: 8px; | |||
| height: 8px; | |||
| background: transparent; | |||
| } | |||
| ::-webkit-scrollbar-thumb { | |||
| width: 8px; | |||
| height: 8px; | |||
| background: rgba(0, 0, 0, 0.5); | |||
| border-radius: 99px; | |||
| } | |||
| ::-webkit-scrollbar-track { | |||
| width: 8px; | |||
| height: 8px; | |||
| background: transparent; | |||
| } | |||
| ul, | |||
| @@ -1,7 +1,7 @@ | |||
| import { getAccessToken } from '@/access'; | |||
| import KFIcon from '@/components/KFIcon'; | |||
| 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 { to } from '@/utils/promise'; | |||
| import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui'; | |||
| @@ -67,6 +67,7 @@ function AddDatasetModal({ typeList, tagList, onOk, ...rest }: AddDatasetModalPr | |||
| if (validateUploadFiles(fileList)) { | |||
| const params = { | |||
| ...omit(formData, ['fileList']), | |||
| dataset_source: DataSource.Create, | |||
| dataset_version_vos: fileList.map((item) => { | |||
| const data = item.response?.data?.[0] ?? {}; | |||
| return { | |||
| @@ -120,6 +121,10 @@ function AddDatasetModal({ typeList, tagList, onOk, ...rest }: AddDatasetModalPr | |||
| required: true, | |||
| message: '请输入数据集版本', | |||
| }, | |||
| { | |||
| pattern: /^[a-zA-Z0-9._-]+$/, | |||
| message: '版本只支持字母、数字、下划线、点、横杠', | |||
| }, | |||
| { | |||
| validator: (_rule, value) => { | |||
| if (value === 'master') { | |||
| @@ -1,7 +1,7 @@ | |||
| import { getAccessToken } from '@/access'; | |||
| import KFIcon from '@/components/KFIcon'; | |||
| 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 { to } from '@/utils/promise'; | |||
| import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui'; | |||
| @@ -54,6 +54,7 @@ function AddModelModal({ typeList, tagList, onOk, ...rest }: AddModelModalProps) | |||
| if (validateUploadFiles(fileList)) { | |||
| const params = { | |||
| ...omit(formData, ['fileList']), | |||
| model_source: DataSource.Create, | |||
| model_version_vos: fileList.map((item) => { | |||
| const data = item.response?.data?.[0] ?? {}; | |||
| return { | |||
| @@ -105,6 +106,10 @@ function AddModelModal({ typeList, tagList, onOk, ...rest }: AddModelModalProps) | |||
| required: true, | |||
| message: '请输入模型版本', | |||
| }, | |||
| { | |||
| pattern: /^[a-zA-Z0-9._-]+$/, | |||
| message: '版本只支持字母、数字、下划线、点、横杠', | |||
| }, | |||
| { | |||
| validator: (_rule, value) => { | |||
| if (value === 'master') { | |||
| @@ -1,7 +1,7 @@ | |||
| import { getAccessToken } from '@/access'; | |||
| import KFIcon from '@/components/KFIcon'; | |||
| 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 { getFileListFromEvent, validateUploadFiles } from '@/utils/ui'; | |||
| import { | |||
| @@ -73,6 +73,7 @@ function AddVersionModal({ | |||
| identifier, | |||
| [config.filePropKey]: version_vos, | |||
| ...omit(formData, 'fileList'), | |||
| [config.sourceParamKey]: DataSource.Create, | |||
| }; | |||
| createDatasetVersion(params); | |||
| } | |||
| @@ -120,6 +121,10 @@ function AddVersionModal({ | |||
| required: true, | |||
| message: `请输入${name}版本`, | |||
| }, | |||
| { | |||
| pattern: /^[a-zA-Z0-9._-]+$/, | |||
| message: '版本只支持字母、数字、下划线、点、横杠', | |||
| }, | |||
| { | |||
| validator: (_rule, value) => { | |||
| if (value === 'master') { | |||
| @@ -145,7 +150,7 @@ function AddVersionModal({ | |||
| <Input.TextArea | |||
| placeholder="请输入版本描述" | |||
| autoSize={{ minRows: 2, maxRows: 6 }} | |||
| maxLength={256} | |||
| maxLength={200} | |||
| showCount | |||
| allowClear | |||
| /> | |||
| @@ -16,9 +16,11 @@ | |||
| color: @text-color; | |||
| font-weight: 500; | |||
| font-size: 20px; | |||
| .singleLine(); | |||
| } | |||
| &__tag { | |||
| flex: none; | |||
| padding: 4px 10px; | |||
| color: @primary-color; | |||
| font-size: 14px; | |||
| @@ -21,6 +21,11 @@ export enum ResourceType { | |||
| Dataset = 'Dataset', // 数据集 | |||
| } | |||
| export enum DataSource { | |||
| Export = 'export', // 导出 | |||
| Create = 'add', // 新增 | |||
| } | |||
| type ResourceTypeInfo = { | |||
| getList: (params: any) => Promise<any>; // 获取资源列表 | |||
| getVersions: (params: any) => Promise<any>; // 获取版本列表 | |||
| @@ -32,6 +37,7 @@ type ResourceTypeInfo = { | |||
| typeParamKey: 'data_type' | 'model_type'; // 类型参数名称,获取资源列表接口使用 | |||
| tagParamKey: 'data_tag' | 'model_tag'; // 标签参数名称,获取资源列表接口使用 | |||
| filePropKey: 'dataset_version_vos' | 'model_version_vos'; // 文件列表属性 | |||
| sourceParamKey: 'dataset_source' | 'model_source'; // 来源参数名称 | |||
| tabItems: TabsProps['items']; // tab 列表 | |||
| typeTitle: string; // 类型标题 | |||
| tagTitle: string; // 标签标题 | |||
| @@ -58,6 +64,7 @@ export const resourceConfig: Record<ResourceType, ResourceTypeInfo> = { | |||
| typeParamKey: 'data_type', | |||
| tagParamKey: 'data_tag', | |||
| filePropKey: 'dataset_version_vos', | |||
| sourceParamKey: 'dataset_source', | |||
| tabItems: [ | |||
| { | |||
| key: CommonTabKeys.Public, | |||
| @@ -93,6 +100,7 @@ export const resourceConfig: Record<ResourceType, ResourceTypeInfo> = { | |||
| typeParamKey: 'model_type', | |||
| tagParamKey: 'model_tag', | |||
| filePropKey: 'model_version_vos', | |||
| sourceParamKey: 'model_source', | |||
| tabItems: [ | |||
| { | |||
| key: CommonTabKeys.Public, | |||