diff --git a/src/api/ai/aiCloudDoc/index.ts b/src/api/ai/aiCloudDoc/index.ts new file mode 100644 index 0000000..b0fc07e --- /dev/null +++ b/src/api/ai/aiCloudDoc/index.ts @@ -0,0 +1,147 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { AiCloudDoc, AiCloudDocParam } from './model'; +import { MODULES_API_URL } from '@/config/setting'; + +/** + * 分页查询AI云文档目录表 + */ +export async function pageAiCloudDoc(params: AiCloudDocParam) { + const res = await request.get>>( + MODULES_API_URL + '/ai/doc/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询AI云文档目录表列表 + */ +export async function listAiCloudDoc(params?: AiCloudDocParam) { + const res = await request.get>( + MODULES_API_URL + '/ai/doc', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加AI云文档目录表 + */ +export async function addAiCloudDoc(data: AiCloudDoc) { + const res = await request.post>( + MODULES_API_URL + '/ai/doc', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改AI云文档目录表 + */ +export async function updateAiCloudDoc(data: AiCloudDoc) { + const res = await request.put>( + MODULES_API_URL + '/ai/doc', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除AI云文档目录表 + */ +export async function removeAiCloudDoc(id?: number) { + const res = await request.delete>( + MODULES_API_URL + '/ai/doc/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除AI云文档目录表 + */ +export async function removeBatchAiCloudDoc(data: (number | undefined)[]) { + const res = await request.delete>( + MODULES_API_URL + '/ai/doc/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询AI云文档目录表 + */ +export async function getAiCloudDoc(id: number) { + const res = await request.get>( + MODULES_API_URL + '/ai/doc/' + id + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据ids查询AI云文档目录表 + */ +export async function getAiCloudDocByIds(ids: string) { + const res = await request.get>( + MODULES_API_URL + '/ai/doc/byIds/' + ids + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量添加AI云文档目录表 + */ +export async function addBatchAiCloudDoc(data: AiCloudDoc[]) { + const res = await request.post>( + MODULES_API_URL + '/ai/doc/batch', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量修改AI云文档目录表 + */ +export async function updateBatchAiCloudDoc(data: AiCloudDoc[]) { + const res = await request.put>( + MODULES_API_URL + '/ai/doc/batch', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} \ No newline at end of file diff --git a/src/api/ai/aiCloudDoc/model/index.ts b/src/api/ai/aiCloudDoc/model/index.ts new file mode 100644 index 0000000..8c474be --- /dev/null +++ b/src/api/ai/aiCloudDoc/model/index.ts @@ -0,0 +1,39 @@ +import type { PageParam } from '@/api'; + +/** + * AI云文档目录表 + */ +export interface AiCloudDoc { + // ID + id?: number; + // 云目录ID + categoryId?: string; + // 单位ID + companyId?: number; + // 上级目录ID + parentId?: number; + // 目录名称 + name?: string; + // 排序(数字越小越靠前) + sortNumber?: number; + // 状态, 0正常, 1冻结 + status?: number; + // 是否删除, 0否, 1是 + deleted?: number; + // 创建用户ID + userId?: number; + // 租户id + tenantId?: number; + // 创建时间 + createTime?: string; + // 修改时间 + updateTime?: string; +} + +/** + * AI云文档目录表搜索条件 + */ +export interface AiCloudDocParam extends PageParam { + id?: number; + keywords?: string; +} \ No newline at end of file diff --git a/src/api/ai/aiCloudFile/index.ts b/src/api/ai/aiCloudFile/index.ts new file mode 100644 index 0000000..0f98136 --- /dev/null +++ b/src/api/ai/aiCloudFile/index.ts @@ -0,0 +1,84 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { AiCloudFile, AiCloudFileParam } from './model'; +import { MODULES_API_URL } from '@/config/setting'; + +/** + * 分页查询AI云文件表 + */ +export async function pageAiCloudFile(params: AiCloudFileParam) { + const res = await request.get>>( + MODULES_API_URL + '/ai/file/page', + { params } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询AI云文件表列表 + */ +export async function listAiCloudFile(params?: AiCloudFileParam) { + const res = await request.get>( + MODULES_API_URL + '/ai/file', + { params } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 上传文件到云中心 + */ +export async function uploadFiles(docId: number, categoryId: string, files: File[]) { + const formData = new FormData(); + formData.append('docId', docId); + formData.append('categoryId', categoryId); + files.forEach(file => { + formData.append('files', file); + }); + + const res = await request.post>( + MODULES_API_URL + '/ai/file/uploadFiles', + formData, + { + headers: { + 'Content-Type': 'multipart/form-data' + } + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除AI云文件表 + */ +export async function removeAiCloudFile(id?: number) { + const res = await request.delete>( + MODULES_API_URL + '/ai/file/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询AI云文件表 + */ +export async function getAiCloudFile(id: number) { + const res = await request.get>( + MODULES_API_URL + '/ai/file/' + id + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} \ No newline at end of file diff --git a/src/api/ai/aiCloudFile/model/index.ts b/src/api/ai/aiCloudFile/model/index.ts new file mode 100644 index 0000000..f3d3a2c --- /dev/null +++ b/src/api/ai/aiCloudFile/model/index.ts @@ -0,0 +1,52 @@ +import type { PageParam } from '@/api'; + +/** + * AI云文件表 + */ +export interface AiCloudFile { + // ID + id?: number; + // 文档目录ID + docId?: number; + // 文件名 + fileName?: string; + // 文件大小(字节) + fileSize?: number; + // 文件类型 + fileType?: string; + // 工作空间ID + workspaceId?: string; + // 云文件ID + fileId?: string; + // 文件地址URL + fileUrl?: string; + // 文件扩展名 + fileExt?: string; + // 上传时间 + uploadTime?: string; + // 排序(数字越小越靠前) + sortNumber?: number; + // 状态, 0正常, 1冻结 + status?: number; + // 是否删除, 0否, 1是 + deleted?: number; + // 上传用户ID + userId?: number; + // 租户id + tenantId?: number; + // 创建时间 + createTime?: string; + // 修改时间 + updateTime?: string; +} + +/** + * AI云文件表搜索条件 + */ +export interface AiCloudFileParam extends PageParam { + id?: number; + keywords?: string; + docId?: number; + workspaceId?: number; + fileType?: string; +} \ No newline at end of file diff --git a/src/views/oa/oaCompany/components/Import2.vue b/src/views/oa/oaCompany/components/Import2.vue new file mode 100644 index 0000000..d683a86 --- /dev/null +++ b/src/views/oa/oaCompany/components/Import2.vue @@ -0,0 +1,114 @@ + + + + \ No newline at end of file diff --git a/src/views/oa/oaCompany/index.vue b/src/views/oa/oaCompany/index.vue index a997c29..34670e3 100644 --- a/src/views/oa/oaCompany/index.vue +++ b/src/views/oa/oaCompany/index.vue @@ -10,29 +10,29 @@