feat: AI 智能查询改为可拖拽缩放的非模态浮窗并支持多行输入

- 统计面板与收支记录的 AI 智能查询由模态弹窗改为非模态浮窗,窗口打开时可继续操作主界面,无遮罩且不自动聚焦
- 新增通用浮窗组件 FloatingPanel,支持标题栏拖拽与右下角缩放,位置尺寸按页面持久化到 localStorage
- 新增 AiQueryWindow 组件,输入由单行改为多行文本域,Enter 换行、Ctrl/Cmd+Enter 提交
- 历史记录聚焦时以浮层展示并可按输入过滤,忽略大小写去重、最多保留 200 条
- 提交查询后不关闭窗口,移除取消按钮,统一由右上角关闭按钮关闭
- 修复示例下拉层级低于浮窗被遮挡的问题,并在打开窗口时重置加载状态,避免按钮一直显示加载中
- 补充 close 与 ai.query.submitHint 的中文、英文、日文三语文案
This commit is contained in:
2026-09-21 23:03:53 +08:00
parent f390246528
commit be7e27805d
5 changed files with 589 additions and 163 deletions
+2
View File
@@ -11,6 +11,7 @@ export default {
common: {
confirm: { zh: '确定', en: 'Confirm', ja: '確認' },
cancel: { zh: '取消', en: 'Cancel', ja: 'キャンセル' },
close: { zh: '关闭', en: 'Close', ja: '閉じる' },
delete: { zh: '删除', en: 'Delete', ja: '削除' },
edit: { zh: '编辑', en: 'Edit', ja: '編集' },
operation: { zh: '操作', en: 'Actions', ja: '操作' },
@@ -794,6 +795,7 @@ export default {
hint: { zh: '用自然语言描述查询条件,AI 会解析为筛选条件并搜索。', en: 'Describe the query in natural language; AI will turn it into filters and search.', ja: '自然言語で検索条件を説明すると、AI がフィルターに変換して検索します。' },
emptyInput: { zh: '请输入查询内容', en: 'Please enter a query', ja: '検索内容を入力してください' },
clearHistory: { zh: '清空历史', en: 'Clear history', ja: '履歴をクリア' },
submitHint: { zh: 'Ctrl + Enter 提交', en: 'Ctrl + Enter to submit', ja: 'Ctrl + Enter で送信' },
failed: { zh: 'AI 查询解析失败', en: 'Failed to parse the query', ja: 'AI 検索の解析に失敗しました' },
resultTitle: { zh: 'AI 解析结果', en: 'AI Query Result', ja: 'AI 解析結果' },
apply: { zh: '应用筛选', en: 'Apply filters', ja: 'フィルターを適用' },