From 0e78245bfb4b6e3fc2427e077f325ba59c0a2c09 Mon Sep 17 00:00:00 2001 From: wangdan-fit2cloud Date: Fri, 1 Aug 2025 17:05:32 +0800 Subject: [PATCH] perf: Style optimization and some icon updates --- ui/src/assets/hit-test-empty.png | Bin 4827 -> 4380 bytes .../operation-button/LogOperationButton.vue | 45 +++++--- ui/src/components/ai-chat/index.vue | 2 +- ui/src/components/app-icon/index.ts | 63 +++++++++++ .../items/MultiSelectConstructor.vue | 48 ++++---- .../items/RadioCardConstructor.vue | 48 ++++---- .../constructor/items/RadioRowConstructor.vue | 36 +++--- .../items/SingleSelectConstructor.vue | 48 ++++---- .../items/complex/ArrayObjectCard.vue | 8 +- ui/src/components/folder-tree/index.vue | 12 +- ui/src/components/markdown/MdRenderer.vue | 4 +- ui/src/components/read-write/index.vue | 16 +-- .../components/workspace-dropdown/index.vue | 62 +++++++---- ui/src/layout/layout-header/SystemHeader.vue | 19 +++- .../layout-header/avatar/APIKeyDialog.vue | 18 ++- ui/src/styles/element-plus.scss | 20 +++- .../component/APIKeyDialog.vue | 2 +- .../XPackDisplaySettingDialog.vue | 2 +- .../component/PublishHistory.vue | 4 +- ui/src/views/application-workflow/index.vue | 2 +- ui/src/views/application/index.vue | 9 +- .../chat-log/component/EditMarkDialog.vue | 8 +- ui/src/views/chat/component/HistoryPanel.vue | 26 ++--- ui/src/views/document/index.vue | 10 +- .../views/document/upload/UploadComponent.vue | 2 +- .../component/KnowledgeListContainer.vue | 23 ++-- .../knowledge/component/ParagraphList.vue | 47 ++++---- .../model/component/CreateModelDialog.vue | 6 +- ui/src/views/model/component/ModelCard.vue | 10 +- .../model/component/ParamSettingDialog.vue | 6 +- .../paragraph/component/ParagraphCard.vue | 91 ++++++++------- .../paragraph/component/ParagraphDialog.vue | 2 +- ui/src/views/paragraph/index.vue | 6 + ui/src/views/problem/index.vue | 2 +- .../system-chat-user/chat-user/index.vue | 8 +- ui/src/views/system-chat-user/group/index.vue | 44 ++++---- .../ApplicationResourceIndex.vue | 29 +++-- .../KnowledgeResourceIndex.vue | 35 +++--- .../ModelResourceIndex.vue | 4 +- .../ToolResourceIndex.vue | 26 ++--- .../system-setting/authentication/index.vue | 10 +- ui/src/views/system-setting/email/index.vue | 7 +- ui/src/views/system-setting/theme/index.vue | 99 ++++++++--------- .../role/component/MemberFormContent.vue | 87 ++++++++++----- ui/src/views/system/role/index.vue | 27 +++-- ui/src/views/system/user-manage/index.vue | 105 ++++++------------ ui/src/views/system/workspace/index.vue | 20 ++-- ui/src/views/tool/ToolFormDrawer.vue | 41 ++++--- .../tool/component/ToolListContainer.vue | 30 ++--- ui/src/workflow/common/NodeContainer.vue | 2 +- .../component/ApiInputFieldTable.vue | 8 +- .../component/UserInputFieldTable.vue | 10 +- .../workflow/nodes/condition-node/index.vue | 2 +- ui/src/workflow/nodes/form-node/index.vue | 24 ++-- ui/src/workflow/nodes/question-node/index.vue | 1 - ui/src/workflow/nodes/reranker-node/index.vue | 2 +- ui/src/workflow/nodes/tool-node/index.vue | 14 +-- .../nodes/variable-assign-node/index.vue | 33 +++--- 58 files changed, 745 insertions(+), 630 deletions(-) diff --git a/ui/src/assets/hit-test-empty.png b/ui/src/assets/hit-test-empty.png index 83a2c9a06e57f5aa627a4b25a7e69892ff8bb25f..c25303859cb69f75f0bd03706ddd49d797133854 100644 GIT binary patch literal 4380 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 KYgHg^Ui=S!N$+6* diff --git a/ui/src/components/ai-chat/component/operation-button/LogOperationButton.vue b/ui/src/components/ai-chat/component/operation-button/LogOperationButton.vue index d1622f124..59ddfd4f6 100644 --- a/ui/src/components/ai-chat/component/operation-button/LogOperationButton.vue +++ b/ui/src/components/ai-chat/component/operation-button/LogOperationButton.vue @@ -8,7 +8,12 @@
- + @@ -33,7 +38,7 @@ placement="top" > - + @@ -54,7 +59,13 @@ - +
@@ -70,20 +81,20 @@ import { MsgError } from '@/utils/message' import { t } from '@/locales' const route = useRoute() const { - params: { id } + params: { id }, } = route as any const props = defineProps({ data: { type: Object, - default: () => {} + default: () => {}, }, applicationId: { type: String, - default: '' + default: '', }, tts: Boolean, - tts_type: String + tts_type: String, }) const emit = defineEmits(['update:data']) @@ -135,12 +146,9 @@ function markdownToPlainText(md: string) { } function removeFormRander(text: string) { - return text - .replace(/[\s\S]*?<\/form_rander>/g, '') - .trim() + return text.replace(/[\s\S]*?<\/form_rander>/g, '').trim() } - const playAnswerText = (text: string) => { if (!text) { text = t('chat.tip.answerMessage') @@ -165,7 +173,8 @@ const playAnswerTextPart = () => { } if (audioList.value[currentAudioIndex.value].includes(' { currentAudioIndex.value += 1 @@ -176,7 +185,10 @@ const playAnswerTextPart = () => { if (audioList.value[currentAudioIndex.value] !== utterance.value?.text) { window.speechSynthesis.cancel() } - if (window.speechSynthesis.paused && audioList.value[currentAudioIndex.value] === utterance.value?.text) { + if ( + window.speechSynthesis.paused && + audioList.value[currentAudioIndex.value] === utterance.value?.text + ) { window.speechSynthesis.resume() return } @@ -200,7 +212,11 @@ const playAnswerTextPart = () => { return } applicationApi - .postTextToSpeech((props.applicationId as string) || (id as string), { text: audioList.value[currentAudioIndex.value] }, loading) + .postTextToSpeech( + (props.applicationId as string) || (id as string), + { text: audioList.value[currentAudioIndex.value] }, + loading, + ) .then(async (res: any) => { if (res.type === 'application/json') { const text = await res.text() @@ -252,7 +268,6 @@ const pausePlayAnswerText = () => { } } - function refreshMark() { buttonData.value.improve_paragraph_id_list = [] emit('update:data', buttonData.value) diff --git a/ui/src/components/ai-chat/index.vue b/ui/src/components/ai-chat/index.vue index a3d707134..8d6f8eced 100644 --- a/ui/src/components/ai-chat/index.vue +++ b/ui/src/components/ai-chat/index.vue @@ -85,7 +85,7 @@ class="user-input-button mb-8" @click="toggleUserInput" > - + {{ userInputTitle || $t('chat.userInput') }} diff --git a/ui/src/components/app-icon/index.ts b/ui/src/components/app-icon/index.ts index dfb08dbc5..d9cf580ce 100644 --- a/ui/src/components/app-icon/index.ts +++ b/ui/src/components/app-icon/index.ts @@ -263,6 +263,69 @@ export const iconMap: any = { ]) }, }, + 'app-edit': { + iconReader: () => { + return h('i', [ + h( + 'svg', + { + style: { height: '100%', width: '100%' }, + viewBox: '0 0 1024 1024', + version: '1.1', + xmlns: 'http://www.w3.org/2000/svg', + }, + [ + h('path', { + d: 'M524.032 239.701333l85.973333 85.973334 63.786667-63.829334-86.314667-86.784-63.445333 64.64z m25.685333 146.346667l-85.418666-85.418667-292.266667 297.984v0.128l82.56 82.56h0.170667l294.954666-295.253333z m199.68-77.226667l0.256 0.256L290.730667 768H128a42.666667 42.666667 0 0 1-42.666667-42.666667v-162.730666l443.306667-446.72-0.426667-0.426667 30.08-30.037333a42.666667 42.666667 0 0 1 60.330667 0l0.085333 0.042666 146.517334 147.328a42.666667 42.666667 0 0 1-0.085334 60.245334l-15.786666 15.786666zM106.666667 853.333333h810.666666a21.333333 21.333333 0 0 1 21.333334 21.333334v42.666666a21.333333 21.333333 0 0 1-21.333334 21.333334h-810.666666a21.333333 21.333333 0 0 1-21.333334-21.333334v-42.666666a21.333333 21.333333 0 0 1 21.333334-21.333334z', + fill: 'currentColor', + }), + ], + ), + ]) + }, + }, + 'app-delete': { + iconReader: () => { + return h('i', [ + h( + 'svg', + { + style: { height: '100%', width: '100%' }, + viewBox: '0 0 1024 1024', + version: '1.1', + xmlns: 'http://www.w3.org/2000/svg', + }, + [ + h('path', { + d: 'M341.333333 170.666667V128a42.666667 42.666667 0 0 1 42.666667-42.666667h256a42.666667 42.666667 0 0 1 42.666667 42.666667v42.666667h228.650666c9.514667 0 12.970667 0.981333 16.426667 2.858666a19.370667 19.370667 0 0 1 8.106667 8.064c1.834667 3.456 2.816 6.912 2.816 16.426667v30.634667c0 9.514667-0.981333 12.970667-2.858667 16.426666a19.370667 19.370667 0 0 1-8.064 8.106667c-3.456 1.834667-6.912 2.816-16.426667 2.816H853.333333v640a42.666667 42.666667 0 0 1-42.666666 42.666667H213.333333a42.666667 42.666667 0 0 1-42.666666-42.666667V256H112.682667c-9.514667 0-12.970667-0.981333-16.426667-2.858667a19.370667 19.370667 0 0 1-8.106667-8.064C86.357333 241.621333 85.333333 238.165333 85.333333 228.693333v-30.634666c0-9.514667 0.981333-12.970667 2.858667-16.426667a19.370667 19.370667 0 0 1 8.064-8.106667C99.712 171.690667 103.168 170.666667 112.64 170.666667H341.333333zM256 256v597.333333h512V256H256z m149.333333 85.333333h42.666667a21.333333 21.333333 0 0 1 21.333333 21.333334v384a21.333333 21.333333 0 0 1-21.333333 21.333333h-42.666667a21.333333 21.333333 0 0 1-21.333333-21.333333v-384a21.333333 21.333333 0 0 1 21.333333-21.333334z m170.666667 0h42.666667a21.333333 21.333333 0 0 1 21.333333 21.333334v384a21.333333 21.333333 0 0 1-21.333333 21.333333h-42.666667a21.333333 21.333333 0 0 1-21.333333-21.333333v-384a21.333333 21.333333 0 0 1 21.333333-21.333334z', + fill: 'currentColor', + }), + ], + ), + ]) + }, + }, + 'app-more': { + iconReader: () => { + return h('i', [ + h( + 'svg', + { + style: { height: '100%', width: '100%' }, + viewBox: '0 0 1024 1024', + version: '1.1', + xmlns: 'http://www.w3.org/2000/svg', + }, + [ + h('path', { + d: 'M768 448h85.333333a21.248 21.248 0 0 1 21.333334 21.333333v85.333334a21.248 21.248 0 0 1-21.333334 21.333333h-85.333333a21.333333 21.333333 0 0 1-21.333333-21.333333v-85.333334a21.248 21.248 0 0 1 21.333333-21.333333z m-597.333333 0h85.333333a21.290667 21.290667 0 0 1 21.333333 21.333333v85.333334a21.333333 21.333333 0 0 1-21.333333 21.333333H170.666667a21.290667 21.290667 0 0 1-21.333334-21.333333v-85.333334a21.333333 21.333333 0 0 1 21.333334-21.333333z m298.666666 0h85.333334a21.248 21.248 0 0 1 21.333333 21.333333v85.333334a21.248 21.248 0 0 1-21.333333 21.333333h-85.333334a21.333333 21.333333 0 0 1-21.333333-21.333333v-85.333334a21.248 21.248 0 0 1 21.333333-21.333333z', + fill: 'currentColor', + }), + ], + ), + ]) + }, + }, // 动态加载的图标 ...dynamicIcons, } diff --git a/ui/src/components/dynamics-form/constructor/items/MultiSelectConstructor.vue b/ui/src/components/dynamics-form/constructor/items/MultiSelectConstructor.vue index 8dc7a186d..5ff808668 100644 --- a/ui/src/components/dynamics-form/constructor/items/MultiSelectConstructor.vue +++ b/ui/src/components/dynamics-form/constructor/items/MultiSelectConstructor.vue @@ -16,10 +16,10 @@
{{ $t('dynamicsForm.tag.label') }} -
- {{ $t('dynamicsForm.Select.label') }} + +
+ {{ $t('dynamicsForm.Select.label') }} + -
- -
+ +
+ + + +
-
+ /> + + +
- - - + + + @@ -96,7 +104,7 @@ const formValue = computed({ }, get: () => { return props.modelValue - } + }, }) const addOption = () => { @@ -119,7 +127,7 @@ const getData = () => { show_default_value: formValue.value.show_default_value, text_field: 'label', value_field: 'value', - option_list: formValue.value.option_list + option_list: formValue.value.option_list, } } const rander = (form_data: any) => { diff --git a/ui/src/components/dynamics-form/constructor/items/RadioCardConstructor.vue b/ui/src/components/dynamics-form/constructor/items/RadioCardConstructor.vue index 51ca7ca29..f52f7caf8 100644 --- a/ui/src/components/dynamics-form/constructor/items/RadioCardConstructor.vue +++ b/ui/src/components/dynamics-form/constructor/items/RadioCardConstructor.vue @@ -17,10 +17,10 @@
{{ $t('dynamicsForm.tag.label') }} -
- {{ $t('dynamicsForm.Select.label') }} + +
+ {{ $t('dynamicsForm.Select.label') }} + -
- -
+ +
+ + + +
-
+ /> + + +
- - - + + + @@ -87,7 +95,7 @@ const formValue = computed({ }, get: () => { return props.modelValue - } + }, }) const addOption = () => { @@ -112,7 +120,7 @@ const getData = () => { show_default_value: formValue.value.show_default_value, text_field: 'label', value_field: 'value', - option_list: formValue.value.option_list + option_list: formValue.value.option_list, } } const rander = (form_data: any) => { diff --git a/ui/src/components/dynamics-form/constructor/items/RadioRowConstructor.vue b/ui/src/components/dynamics-form/constructor/items/RadioRowConstructor.vue index 0b91d6acd..f193ab2d3 100644 --- a/ui/src/components/dynamics-form/constructor/items/RadioRowConstructor.vue +++ b/ui/src/components/dynamics-form/constructor/items/RadioRowConstructor.vue @@ -29,25 +29,26 @@ :gutter="10" class="mb-8" > -
+ +
-
+ /> + + +
-
+ /> + + +
- - - + + + @@ -90,7 +96,7 @@ const formValue = computed({ }, get: () => { return props.modelValue - } + }, }) const addOption = () => { @@ -114,7 +120,7 @@ const getData = () => { default_value: formValue.value.default_value, text_field: 'label', value_field: 'value', - option_list: formValue.value.option_list + option_list: formValue.value.option_list, } } const rander = (form_data: any) => { diff --git a/ui/src/components/dynamics-form/constructor/items/SingleSelectConstructor.vue b/ui/src/components/dynamics-form/constructor/items/SingleSelectConstructor.vue index eb671ee84..2131edf35 100644 --- a/ui/src/components/dynamics-form/constructor/items/SingleSelectConstructor.vue +++ b/ui/src/components/dynamics-form/constructor/items/SingleSelectConstructor.vue @@ -13,10 +13,10 @@ -
- {{ $t('dynamicsForm.tag.label') }} + +
+ {{ $t('dynamicsForm.tag.label') }} +
{{ $t('dynamicsForm.Select.label') }} @@ -29,23 +29,26 @@ :gutter="10" class="mb-8" > -
- -
+ +
+ + + +
-
+ /> + + +
- - - + + + @@ -89,7 +97,7 @@ const formValue = computed({ }, get: () => { return props.modelValue - } + }, }) const addOption = () => { @@ -112,7 +120,7 @@ const getData = () => { show_default_value: formValue.value.show_default_value, text_field: 'label', value_field: 'value', - option_list: formValue.value.option_list + option_list: formValue.value.option_list, } } const rander = (form_data: any) => { diff --git a/ui/src/components/dynamics-form/items/complex/ArrayObjectCard.vue b/ui/src/components/dynamics-form/items/complex/ArrayObjectCard.vue index b621af0b9..49d09b158 100644 --- a/ui/src/components/dynamics-form/items/complex/ArrayObjectCard.vue +++ b/ui/src/components/dynamics-form/items/complex/ArrayObjectCard.vue @@ -16,7 +16,7 @@ > - + @@ -66,7 +66,7 @@ const _data = computed>({ }, set(value) { emit('update:modelValue', value) - } + }, }) const props_info = computed(() => { @@ -110,7 +110,7 @@ const other = computed(() => { defineExpose({ validate, - field: props.field + field: props.field, })