From 747fab6a9879e2fc482e0b36b1c19ba2cbf77147 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Mon, 25 Aug 2025 16:04:24 +0800 Subject: [PATCH] feat: Terminology Management --- frontend/src/api/professional.ts | 11 + frontend/src/components/layout/Menu.vue | 2 + frontend/src/i18n/en.json | 18 + frontend/src/i18n/zh-CN.json | 18 + frontend/src/router/index.ts | 7 + frontend/src/style.less | 5 + .../src/views/system/appearance/Person.vue | 18 +- .../src/views/system/professional/index.vue | 773 ++++++++++++++++++ 8 files changed, 842 insertions(+), 10 deletions(-) create mode 100644 frontend/src/api/professional.ts create mode 100644 frontend/src/views/system/professional/index.vue diff --git a/frontend/src/api/professional.ts b/frontend/src/api/professional.ts new file mode 100644 index 00000000..5b934e7e --- /dev/null +++ b/frontend/src/api/professional.ts @@ -0,0 +1,11 @@ +import { request } from '@/utils/request' + +export const professionalApi = { + getList: (pageNum: any, pageSize: any, params: any) => + request.get(`/system/terminology/page/${pageNum}/${pageSize}`, { + params, + }), + updateEmbedded: (data: any) => request.put('/system/terminology', data), + deleteEmbedded: (params: any) => request.delete('/system/terminology', { data: params }), + getOne: (id: any) => request.get(`/system/terminology/${id}`), +} diff --git a/frontend/src/components/layout/Menu.vue b/frontend/src/components/layout/Menu.vue index 8991599c..dcd7e891 100644 --- a/frontend/src/components/layout/Menu.vue +++ b/frontend/src/components/layout/Menu.vue @@ -49,6 +49,7 @@ const routerList = computed(() => { !route.path.includes('embeddedPage') && !route.path.includes('canvas') && !route.path.includes('member') && + !route.path.includes('professional') && !route.path.includes('permission') && !route.path.includes('preview') && route.path !== '/login' && @@ -92,6 +93,7 @@ const routerList = computed(() => { .ed-sub-menu.is-active { .ed-sub-menu__title { + background-color: #fff !important; color: var(--ed-color-primary) !important; } } diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json index d7fe7d15..4a96e499 100644 --- a/frontend/src/i18n/en.json +++ b/frontend/src/i18n/en.json @@ -5,6 +5,24 @@ "Dashboard": "Dashboard", "AI Model Configuration": "AI Model Configuration" }, + "professional": { + "editing_terminology": "Editing Terminology", + "professional_terminology": "Professional Terminology", + "term_name": "Term Name", + "term_description": "Term Description", + "search_term": "Search Term", + "no_term": "No Term", + "create_new_term": "Create New Term", + "export_all": "Export All", + "professional_term_details": "Professional Term Details", + "business_term": "Business Term", + "synonyms": "Synonyms", + "all_236_terms": "Export all {msg} terms?", + "export": "Export", + "selected_2_terms": "Delete the selected {msg} terms?", + "selected_2_terms_de": "Export the selected {msg} terms?", + "the_term_gmv": "Delete the term: {msg}?" + }, "common": { "zoom_in": "Zoom in", "zoom_out": "Zoom out", diff --git a/frontend/src/i18n/zh-CN.json b/frontend/src/i18n/zh-CN.json index ef9eff09..fedf5dd5 100644 --- a/frontend/src/i18n/zh-CN.json +++ b/frontend/src/i18n/zh-CN.json @@ -5,6 +5,24 @@ "Dashboard": "仪表盘", "AI Model Configuration": "模型配置" }, + "professional": { + "editing_terminology": "编辑术语", + "professional_terminology": "专业术语", + "term_name": "术语名称", + "term_description": "术语描述", + "search_term": "搜索术语", + "no_term": "暂无术语", + "create_new_term": "新建术语", + "export_all": "全部导出", + "professional_term_details": "专业术语详情", + "business_term": "业务术语", + "synonyms": "同义词", + "all_236_terms": "是否导出全部 {msg} 条术语?", + "export": "导出", + "selected_2_terms": "是否删除选中的 {msg} 条术语?", + "selected_2_terms_de": "是否导出选中的 {msg} 条术语?", + "the_term_gmv": "是否删除术语:{msg}?" + }, "common": { "zoom_in": "放大", "zoom_out": "缩小", diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index a2a5004a..7e91bc7b 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -15,6 +15,7 @@ import assistantTest from '@/views/system/embedded/Test.vue' import assistant from '@/views/embedded/index.vue' import EmbeddedPage from '@/views/embedded/page.vue' import Member from '@/views/system/member/index.vue' +import Professional from '@/views/system/professional/index.vue' import Appearance from '@/views/system/appearance/index.vue' import Permission from '@/views/system/permission/index.vue' import User from '@/views/system/user/User.vue' @@ -105,6 +106,12 @@ export const routes = [ component: Permission, meta: { title: t('workspace.permission_configuration') }, }, + { + path: '/set/professional', + name: 'professional', + component: Professional, + meta: { title: t('professional.professional_terminology') }, + }, ], }, { diff --git a/frontend/src/style.less b/frontend/src/style.less index 428d6945..8063232c 100644 --- a/frontend/src/style.less +++ b/frontend/src/style.less @@ -357,3 +357,8 @@ strong { .ed-checkbox { --ed-checkbox-font-weight: 400 !important; } + +.ed-form-item__label.ed-form-item__label.ed-form-item__label { + height: 22px; + line-height: 22px; +} diff --git a/frontend/src/views/system/appearance/Person.vue b/frontend/src/views/system/appearance/Person.vue index 732435f3..57fb6c6c 100644 --- a/frontend/src/views/system/appearance/Person.vue +++ b/frontend/src/views/system/appearance/Person.vue @@ -1,6 +1,6 @@ + + + + +