From a8676365f63b01195bebb5dbbc348e9a36563eeb Mon Sep 17 00:00:00 2001 From: baiqi Date: Fri, 2 Feb 2024 10:11:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=85=A8=E5=B1=80):=20=E9=83=A8=E5=88=86?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E8=B0=83=E6=95=B4&bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/public/templates/user_import_cn.xlsx | Bin 0 -> 8891 bytes .../{user_import.xlsx => user_import_en.xlsx} | Bin frontend/src/api/http/index.ts | 2 +- .../modules/case-management/featureCase.ts | 10 +- .../api/modules/project-management/project.ts | 2 +- .../project-management/projectMember.ts | 10 + frontend/src/api/modules/setting/user.ts | 7 +- .../requrls/case-management/featureCase.ts | 2 - .../project-management/projectMember.ts | 1 + frontend/src/assets/style/arco-reset.less | 11 + .../business/ms-batch-form/index.vue | 9 + .../components/business/ms-cascader/index.vue | 53 +- .../business/ms-case-associate/index.vue | 4 +- .../src/components/business/ms-menu/index.vue | 32 +- .../ms-params-input/paramsInputGroup.vue | 2 +- .../ms-personal-drawer/components/apiKey.vue | 2 +- .../components/baseInfo.vue | 19 +- .../business/ms-personal-drawer/index.vue | 22 +- .../ms-personal-drawer/locale/en-US.ts | 3 +- .../ms-personal-drawer/locale/zh-CN.ts | 5 +- .../components/business/ms-select/index.tsx | 203 +++-- .../business/ms-thumbnail-card/index.vue | 2 +- .../components/business/ms-top-menu/index.vue | 2 +- .../components/business/ms-transfer/index.vue | 28 +- .../business/ms-transfer/locale/en-US.ts | 5 + .../business/ms-transfer/locale/zh-CN.ts | 5 + .../src/components/business/ms-tree/index.vue | 26 +- .../src/components/pure/message-box/list.vue | 3 - .../pure/ms-advance-filter/index.vue | 4 +- .../src/components/pure/ms-card/index.vue | 53 +- .../components/pure/ms-description/index.vue | 27 +- .../src/components/pure/ms-drawer/index.vue | 2 +- .../src/components/pure/ms-list/index.vue | 3 + .../pure/ms-rich-text/MsRichText.vue | 9 + .../extensions/mention/suggestion.ts | 16 +- .../components/pure/ms-table/base-table.vue | 20 +- .../src/components/pure/ms-tag/ms-tag.vue | 3 +- .../components/pure/ms-upload/fileList.vue | 258 +++--- .../src/components/pure/ms-upload/iconMap.ts | 13 +- .../src/components/pure/ms-upload/index.vue | 17 +- .../components/pure/ms-upload/locale/en-US.ts | 1 + .../components/pure/ms-upload/locale/zh-CN.ts | 1 + frontend/src/components/pure/navbar/index.vue | 102 +-- frontend/src/config/fileManagement.ts | 12 + frontend/src/hooks/useSelect.ts | 42 +- frontend/src/layout/default-layout.vue | 2 +- frontend/src/locale/en-US/common.ts | 1 + frontend/src/locale/en-US/settings.ts | 1 + frontend/src/locale/zh-CN/common.ts | 1 + frontend/src/locale/zh-CN/settings.ts | 3 +- frontend/src/models/projectManagement/file.ts | 3 +- frontend/src/models/setting/user.ts | 5 + frontend/src/router/routes/modules/apiTest.ts | 10 + .../routes/modules/projectManagement.ts | 4 +- frontend/src/store/modules/app/index.ts | 20 +- frontend/src/store/modules/app/types.ts | 3 +- frontend/src/store/modules/user/index.ts | 11 +- frontend/src/utils/index.ts | 2 - .../api-test/components/apiMethodName.vue | 11 +- .../api-test/components/apiMethodSelect.vue | 38 + .../views/api-test/components/apiStatus.vue | 52 ++ .../{debug => }/components/popConfirm.vue | 2 +- .../api-test/debug/components/debug/index.vue | 14 +- .../api-test/debug/components/moduleTree.vue | 6 +- .../src/views/api-test/debug/locale/zh-CN.ts | 2 +- .../api-test/management/components/import.vue | 409 +++++++++ .../management/components/management/api.vue | 821 ++++++++++++++++++ .../management/components/management/case.vue | 0 .../management/components/management/doc.vue | 0 .../components/management/index.vue | 38 + .../management/components/management/mock.vue | 0 .../management/components/moduleTree.vue | 446 ++++++++++ .../src/views/api-test/management/index.vue | 74 ++ .../views/api-test/management/locale/en-US.ts | 1 + .../views/api-test/management/locale/zh-CN.ts | 75 ++ .../components/associatedFileDrawer.vue | 2 +- .../tabDemand/platformDemandDrawer.vue | 2 +- .../case-management/caseReview/caseDetail.vue | 129 +-- .../components/create/associateDrawer.vue | 3 +- .../components/detail/caseTable.vue | 199 ++--- .../components/index/reviewTable.vue | 47 +- .../caseReview/components/reviewForm.vue | 112 +++ .../case-management/caseReview/detail.vue | 17 +- .../caseReview/locale/en-US.ts | 2 +- .../caseReview/locale/zh-CN.ts | 4 +- .../src/views/login/components/login-form.vue | 2 +- .../components/fileDetailDrawer.vue | 66 +- .../fileManagement/components/popConfirm.vue | 2 +- .../fileManagement/components/rightBox.vue | 57 +- .../fileManagement/locale/en-US.ts | 13 +- .../fileManagement/locale/zh-CN.ts | 13 +- .../components/messageList.vue | 233 ++--- .../components/robotList.vue | 13 +- .../messageManagement/locale/en-US.ts | 7 +- .../messageManagement/locale/zh-CN.ts | 8 +- .../projectVersion/index.vue | 34 +- .../setting/organization/member/index.vue | 2 +- .../project/components/addProjectModal.vue | 1 + .../system/config/components/authConfig.vue | 2 +- .../src/views/setting/system/config/index.vue | 2 +- .../system/log/components/logCards.vue | 7 +- .../components/addProjectModal.vue | 3 + .../setting/system/resourcePool/detail.vue | 30 +- .../setting/system/resourcePool/index.vue | 16 +- .../system/user/components/batchModal.vue | 10 +- .../src/views/setting/system/user/index.vue | 300 +++++-- .../views/setting/system/user/locale/en-US.ts | 19 +- .../views/setting/system/user/locale/zh-CN.ts | 23 +- 108 files changed, 3554 insertions(+), 934 deletions(-) create mode 100644 frontend/public/templates/user_import_cn.xlsx rename frontend/public/templates/{user_import.xlsx => user_import_en.xlsx} (100%) create mode 100644 frontend/src/components/business/ms-transfer/locale/en-US.ts create mode 100644 frontend/src/components/business/ms-transfer/locale/zh-CN.ts create mode 100644 frontend/src/config/fileManagement.ts create mode 100644 frontend/src/views/api-test/components/apiMethodSelect.vue create mode 100644 frontend/src/views/api-test/components/apiStatus.vue rename frontend/src/views/api-test/{debug => }/components/popConfirm.vue (98%) create mode 100644 frontend/src/views/api-test/management/components/import.vue create mode 100644 frontend/src/views/api-test/management/components/management/api.vue create mode 100644 frontend/src/views/api-test/management/components/management/case.vue create mode 100644 frontend/src/views/api-test/management/components/management/doc.vue create mode 100644 frontend/src/views/api-test/management/components/management/index.vue create mode 100644 frontend/src/views/api-test/management/components/management/mock.vue create mode 100644 frontend/src/views/api-test/management/components/moduleTree.vue create mode 100644 frontend/src/views/api-test/management/index.vue create mode 100644 frontend/src/views/api-test/management/locale/en-US.ts create mode 100644 frontend/src/views/api-test/management/locale/zh-CN.ts create mode 100644 frontend/src/views/case-management/caseReview/components/reviewForm.vue diff --git a/frontend/public/templates/user_import_cn.xlsx b/frontend/public/templates/user_import_cn.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..9b6d1509e8ffcebf9211e41e05d885ecc4265528 GIT binary patch literal 8891 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 literal 0 HcmV?d00001 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 @@