| @@ -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, | ||||
| @@ -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') { | ||||
| @@ -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') { | ||||
| @@ -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 | ||||
| /> | /> | ||||
| @@ -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; | ||||
| @@ -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, | ||||