diff --git a/frontend/public/templates/user_import_cn.xlsx b/frontend/public/templates/user_import_cn.xlsx new file mode 100644 index 0000000000..9b6d1509e8 Binary files /dev/null and b/frontend/public/templates/user_import_cn.xlsx differ diff --git a/frontend/public/templates/user_import.xlsx b/frontend/public/templates/user_import_en.xlsx similarity index 100% rename from frontend/public/templates/user_import.xlsx rename to frontend/public/templates/user_import_en.xlsx diff --git a/frontend/src/api/http/index.ts b/frontend/src/api/http/index.ts index 5b14c907ac..2bbf7c2fee 100644 --- a/frontend/src/api/http/index.ts +++ b/frontend/src/api/http/index.ts @@ -183,7 +183,7 @@ function createAxios(opt?: Partial) { // authenticationScheme: 'Bearer', authenticationScheme: '', baseURL: `${window.location.origin}/${import.meta.env.VITE_API_BASE_URL as string}`, - timeout: 60 * 1000, + timeout: 120 * 1000, headers: { 'Content-Type': ContentTypeEnum.JSON }, // 如果是form-data格式 // headers: { 'Content-Type': ContentTypeEnum.FORM_URLENCODED }, diff --git a/frontend/src/api/modules/case-management/featureCase.ts b/frontend/src/api/modules/case-management/featureCase.ts index acf3d67c6b..a3cb580e73 100644 --- a/frontend/src/api/modules/case-management/featureCase.ts +++ b/frontend/src/api/modules/case-management/featureCase.ts @@ -1,4 +1,3 @@ -import { MsFileItem } from '@/components/pure/ms-upload/types'; import { CommentItem, CommentParams } from '@/components/business/ms-comment/types'; import MSR from '@/api/http/index'; @@ -53,7 +52,6 @@ import { GetRecycleCaseListUrl, GetRecycleCaseModulesCountUrl, GetReviewCommentListUrl, - GetReviewerListUrl, GetSearchCustomFieldsUrl, GetThirdDemandUrl, getTransferTreeUrl, @@ -86,7 +84,6 @@ import type { CreateOrUpdateModule, DeleteCaseType, DemandItem, - DetailCase, DragCase, ImportExcelType, ModulesTreeType, @@ -95,7 +92,7 @@ import type { UpdateModule, } from '@/models/caseManagement/featureCase'; import type { CommonList, MoveModules, TableQueryParams } from '@/models/common'; -import type { UserListItem } from '@/models/setting/user'; + // 获取模块树 export function getCaseModuleTree(params: TableQueryParams) { return MSR.get({ url: `${GetCaseModuleTreeUrl}/${params.projectId}` }); @@ -311,11 +308,6 @@ export function getDetailCaseReviewPage(data: TableQueryParams) { return MSR.post>({ url: GetDetailCaseReviewUrl, data }); } -// 获取评审人列表 -export function getReviewerList(projectId: string, keyword: string) { - return MSR.get({ url: `${GetReviewerListUrl}/${projectId}`, params: { keyword } }); -} - // 用例接口用例分页列表 export function getPublicLinkCaseList(data: TableQueryParams) { return MSR.post>({ url: GetAssociationPublicCasePageUrl, data }); diff --git a/frontend/src/api/modules/project-management/project.ts b/frontend/src/api/modules/project-management/project.ts index ffa6ee0ef5..b95c93f6a3 100644 --- a/frontend/src/api/modules/project-management/project.ts +++ b/frontend/src/api/modules/project-management/project.ts @@ -4,7 +4,7 @@ import { ProjectListUrl, ProjectSwitchUrl } from '@/api/requrls/project-manageme import type { ProjectListItem } from '@/models/setting/project'; export function getProjectList(organizationId: string) { - return MSR.get({ url: ProjectListUrl, params: organizationId }); + return MSR.get({ url: ProjectListUrl, params: organizationId }, { ignoreCancelToken: true }); } export function switchProject(data: { projectId: string; userId: string }) { diff --git a/frontend/src/api/modules/project-management/projectMember.ts b/frontend/src/api/modules/project-management/projectMember.ts index a87d8efa1d..27c872134d 100644 --- a/frontend/src/api/modules/project-management/projectMember.ts +++ b/frontend/src/api/modules/project-management/projectMember.ts @@ -5,11 +5,13 @@ import { BatchRemoveMemberUrl, EditProjectMemberUrl, GetProjectMemberListUrl, + ProjectMemberCommentOptions, ProjectMemberOptions, ProjectUserGroupUrl, RemoveProjectMemberUrl, } from '@/api/requrls/project-management/projectMember'; +import { ReviewUserItem } from '@/models/caseManagement/caseReview'; import type { CommonList, TableQueryParams } from '@/models/common'; import type { ActionProjectMember, ProjectMemberItem } from '@/models/projectManagement/projectAndPermission'; @@ -50,3 +52,11 @@ export function getProjectUserGroup(projectId: string) { export function getProjectMemberOptions(projectId: string, keyword?: string) { return MSR.get({ url: `${ProjectMemberOptions}/${projectId}`, params: { keyword } }); } + +// 项目成员-@成员下拉选项 +export function getProjectMemberCommentOptions(projectId: string, keyword?: string) { + return MSR.get({ + url: `${ProjectMemberCommentOptions}/${projectId}`, + params: { keyword }, + }); +} diff --git a/frontend/src/api/modules/setting/user.ts b/frontend/src/api/modules/setting/user.ts index b27a0cac8e..f77436da6f 100644 --- a/frontend/src/api/modules/setting/user.ts +++ b/frontend/src/api/modules/setting/user.ts @@ -22,6 +22,7 @@ import type { CommonList, TableQueryParams } from '@/models/common'; import type { BatchAddParams, CreateUserParams, + CreateUserResult, DeleteUserParams, ImportResult, ImportUserParams, @@ -35,6 +36,8 @@ import type { UserListItem, } from '@/models/setting/user'; +import { Result } from '#/axios'; + // 获取用户列表 export function getUserList(data: TableQueryParams) { return MSR.post>({ url: GetUserListUrl, data }); @@ -42,7 +45,7 @@ export function getUserList(data: TableQueryParams) { // 批量创建用户 export function batchCreateUser(data: CreateUserParams) { - return MSR.post({ url: CreateUserUrl, data }); + return MSR.post({ url: CreateUserUrl, data }); } // 更新用户信息 @@ -68,7 +71,7 @@ export function deleteUserInfo(data: DeleteUserParams) { // 导入用户 export function importUserInfo(data: ImportUserParams) { - return MSR.uploadFile({ url: ImportUserUrl }, data); + return MSR.uploadFile>({ url: ImportUserUrl }, data); } // 获取系统用户组 diff --git a/frontend/src/api/requrls/case-management/featureCase.ts b/frontend/src/api/requrls/case-management/featureCase.ts index cbcbf7de1f..026c91583e 100644 --- a/frontend/src/api/requrls/case-management/featureCase.ts +++ b/frontend/src/api/requrls/case-management/featureCase.ts @@ -104,8 +104,6 @@ export const UpdateCommentItemUrl = '/functional/case/comment/update'; export const DeleteCommentItemUrl = '/functional/case/comment/delete'; // 获取详情用例评审 export const GetDetailCaseReviewUrl = '/functional/case/review/page'; -// 获取有权限的评审人 -export const GetReviewerListUrl = '/case/review/user-option'; // 获取用例详情弹窗关联用例接口用例 export const GetAssociationPublicCasePageUrl = '/functional/case/test/associate/case/page'; // 获取接口测试接口模块数量 diff --git a/frontend/src/api/requrls/project-management/projectMember.ts b/frontend/src/api/requrls/project-management/projectMember.ts index e2ca60a91c..b1da9cf9e1 100644 --- a/frontend/src/api/requrls/project-management/projectMember.ts +++ b/frontend/src/api/requrls/project-management/projectMember.ts @@ -6,3 +6,4 @@ export const RemoveProjectMemberUrl = '/project/member/remove'; export const BatchAddUserGroup = '/project/member/add-role'; export const ProjectUserGroupUrl = '/project/member/get-role/option'; export const ProjectMemberOptions = '/project/member/get-member/option'; +export const ProjectMemberCommentOptions = '/project/member/comment/user-option'; // 项目成员-@成员下拉列表 diff --git a/frontend/src/assets/style/arco-reset.less b/frontend/src/assets/style/arco-reset.less index 6e38e16e1c..473a417e30 100644 --- a/frontend/src/assets/style/arco-reset.less +++ b/frontend/src/assets/style/arco-reset.less @@ -213,6 +213,9 @@ .btn-outline-danger-active(); .btn-outline-danger-disabled(); } +.arco-btn-size-mini { + line-height: 16px; +} /** 输入框,选择器,文本域 **/ .arco-select { @@ -311,6 +314,14 @@ } } } +.arco-input-suffix { + .arco-icon-hover { + .arco-icon-eye-invisible, + .arco-icon-eye { + color: var(--color-text-brand); + } + } +} .arco-textarea { .ms-scroll-bar(); diff --git a/frontend/src/components/business/ms-batch-form/index.vue b/frontend/src/components/business/ms-batch-form/index.vue index f73ae3f2ce..cbc918c226 100644 --- a/frontend/src/components/business/ms-batch-form/index.vue +++ b/frontend/src/components/business/ms-batch-form/index.vue @@ -126,6 +126,7 @@ />
- +
{{ getInputLabel(data) }}
@@ -64,7 +64,7 @@