From 6d279e10194646139fb63bf8fddded84dfbc4777 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期日, 19 一月 2025 13:56:08 +0800 Subject: [PATCH] 剩余操作 --- src/components/chat/smallChat/ChatInput.vue | 57 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 9 deletions(-) diff --git a/src/components/chat/smallChat/ChatInput.vue b/src/components/chat/smallChat/ChatInput.vue index 7e78a9f..1b4f9e3 100644 --- a/src/components/chat/smallChat/ChatInput.vue +++ b/src/components/chat/smallChat/ChatInput.vue @@ -1,7 +1,15 @@ <template> <div class="playInput !w-full hl_input rounded-[22px] input-border input-shadow"> - <div class="set-input"> - <!-- @input="inputText" --> + <div class="set-input flex items-center"> + <!-- 娣诲姞鍘嗗彶璁板綍鎸夐挳 --> + <el-tooltip placement="top" content="鍘嗗彶璁板綍"> + <div class="history-btn ml-2 mr-2 cursor-pointer text-gray-400 hover:text-gray-600" @click="toggleHistory"> + <el-icon :class="{ 'text-blue-500': showHistory }" class="text-[27px]"> + <Clock /> + </el-icon> + </div> + </el-tooltip> + <el-input ref="inputRef" class="question-input relative align-bottom set-inputAnswer" @@ -12,9 +20,9 @@ v-elInputFocus show-word-limit v-model="inputText" - placeholder="鍦ㄨ繖閲岃緭鍏ユ偍鐨勯棶棰樺紑濮嬪拰AI瀵硅瘽" + placeholder="璇疯緭鍏ユ搷浣�" clearable - @keyup.enter="emits('sendClick')" + @keydown.enter="handleEnterPress" > </el-input> </div> @@ -53,32 +61,63 @@ </template> <script setup lang="ts" name="ChatInput"> -import { onMounted } from 'vue'; -import { Logger } from '/@/model/logger/Logger'; -import { agentStreamByPost } from '/@/api/ai/chat'; +import { Clock } from '@element-plus/icons-vue'; const inputText = defineModel('modelValue', { type: String, default: '', }); + const props = defineProps({ isTalking: { type: Boolean, default: false, }, + showHistory: { + type: Boolean, + default: false, + }, }); -const emits = defineEmits(['sendClick', 'stopGenClick']); + +const emits = defineEmits(['sendClick', 'stopGenClick', 'toggleHistory']); + +// 澶勭悊鍥炶溅浜嬩欢 +const handleEnterPress = (e: KeyboardEvent) => { + // 濡傛灉鎸変綇浜� shift 閿紝鍒欏厑璁告崲琛� + if (e.shiftKey) { + return; + } + // 鍚﹀垯鍙戦�佹秷鎭� + e.preventDefault(); // 闃绘榛樿鐨勬崲琛岃涓� + if (inputText.value.trim()) { + emits('sendClick'); + } +}; const clearTextarea = () => { inputText.value = ''; }; - +// 澶勭悊鍘嗗彶璁板綍鏄剧ず/闅愯棌 +const toggleHistory = () => { + emits('toggleHistory'); +}; </script> + <style scoped lang="scss"> @use './chatInput.scss'; .playInput { --y-padding: 7px; --x-padding: 14px; } + +.history-btn { + padding: 4px; + border-radius: 4px; + transition: all 0.3s; + + &:hover { + background-color: rgba(0, 0, 0, 0.05); + } +} </style> -- Gitblit v1.9.3