chore(deps): update electron to ^40.8.5 and reorder devDependencies

feat(home): add task operation dialog and improve UI interactions

- Add TaskOperationDialog component to home page and connect via event emitter
- Enhance ChatBox "智能问数" button with hover styles and cursor pointer
- Improve ChatInputArea button hover states and cursor styling
- Fix selector logic in fg_trace.js to handle date column bounds checking
- Reorder package.json dependencies for consistency
This commit is contained in:
duanshuwen
2026-04-06 21:03:31 +08:00
parent 6615d11dd6
commit 6062120105
7 changed files with 6429 additions and 31 deletions

View File

@@ -55,7 +55,7 @@
<div class="flex flex-col gap-3" :class="isGuidePage ? 'mt-16' : 'mt-4'">
<div class="inline-flex items-center justify-center w-[108px]
px-3 py-1.5 rounded-2xl border border-[#E5E8EE]
text-[13px] text-[#333]">
text-[13px] text-[#333] cursor-pointer hover:bg-[#2B7FFF] hover:text-[#fff] hover:border-[#2B7FFF]">
智能问数
</div>
<ChatInputArea v-model="inputMessage" :isSendingMessage="isSendingMessage" @send="onGuideSend"

View File

@@ -1,24 +1,21 @@
<template>
<div class="h-[174px] bg-white rounded-lg border border-[#eef2f6] shadow-[0_1px_0_rgba(0,0,0,0.03)] p-4 mt-2 flex flex-col justify-between">
<textarea
rows="2"
placeholder="给我发布或者布置任务"
class="flex-1 resize-none outline-none text-sm"
:value="modelValue"
@input="onInput"
@keydown.enter="onKeydownEnter"
/>
<div
class="h-[174px] bg-white rounded-lg border border-[#eef2f6] shadow-[0_1px_0_rgba(0,0,0,0.03)] p-4 mt-2 flex flex-col justify-between">
<textarea rows="2" placeholder="给我发布或者布置任务" class="flex-1 resize-none outline-none text-sm" :value="modelValue"
@input="onInput" @keydown.enter="onKeydownEnter" />
<div class="flex justify-between items-end">
<button @click="onAttach">
<RiLink />
</button>
<button class="w-12 h-12 bg-[#F5F7FA] px-2.5 py-1.5 rounded-md flex items-center justify-center" @click="onSend">
<RiStopFill v-if="isSendingMessage" />
<RiSendPlaneFill v-else />
</button>
</div>
<div class="flex justify-between items-end">
<button class="cursor-pointer hover:text-[#2B7FFF]" @click="onAttach">
<RiLink />
</button>
<button
class="w-12 h-12 bg-[#F5F7FA] px-2.5 py-1.5 rounded-md flex items-center justify-center cursor-pointer hover:bg-[#2B7FFF] hover:text-[#fff]"
@click="onSend">
<RiStopFill v-if="isSendingMessage" />
<RiSendPlaneFill v-else />
</button>
</div>
</div>
</template>
<script setup lang="ts">

View File

@@ -7,19 +7,28 @@
</div>
<TaskList />
</div>
<TaskOperationDialog ref="taskOperationDialog" />
</layout>
</template>
<script setup lang="ts">
import TaskList from '@src/components/TaskList/index.vue'
import TaskOperationDialog from './components/TaskOperationDialog.vue'
import ChatHistory from './ChatHistory.vue'
import ChatBox from './ChatBox.vue'
import { ref } from 'vue'
import emitter from '@src/utils/emitter'
/// 是否显示引导页
const guide = ref(true)
/// 选择的历史会话ID
const selectedConversationId = ref('')
/// 任务操作弹窗实例
const taskOperationDialog = ref()
/// 处理新对话事件切换到引导页并清空选中的历史会话ID
const handleNewChat = () => {
guide.value = true;
@@ -32,4 +41,7 @@ const handleSelectChat = (conversationId: string) => {
selectedConversationId.value = conversationId;
};
emitter.on('OPERATION_CHANNEL', (item) => {
taskOperationDialog.value?.open(item)
})
</script>