diff --git a/ui/src/assets/hit-test-empty.png b/ui/src/assets/hit-test-empty.png index 83a2c9a06..c25303859 100644 Binary files a/ui/src/assets/hit-test-empty.png and b/ui/src/assets/hit-test-empty.png differ 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, })