Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
inscode
NodeJS_639770
提交
830eb195
N
NodeJS_639770
项目概览
inscode
/
NodeJS_639770
与 Fork 源项目一致
Fork自
inscode / NodeJS
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
NodeJS_639770
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
830eb195
编写于
5月 22, 2024
作者:
View Design
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新搜索过程
上级
c5310fa0
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
88 addition
and
43 deletion
+88
-43
components/i/Collapse.vue
components/i/Collapse.vue
+39
-0
components/i/search/Content.vue
components/i/search/Content.vue
+49
-39
pages/search/[id].vue
pages/search/[id].vue
+0
-4
未找到文件。
components/i/Collapse.vue
0 → 100644
浏览文件 @
830eb195
<
template
>
<Transition
@
enter=
"onEnter"
@
after-enter=
"onAfterEnter"
@
before-leave=
"onBeforeLeave"
@
leave=
"onLeave"
>
<div
v-show=
"open"
class=
"flex transition-[height] overflow-hidden"
><slot
/></div>
</Transition>
</
template
>
<
script
setup
>
const
props
=
defineProps
({
open
:
{
type
:
Boolean
,
default
:
true
}
})
function
onEnter
(
_el
,
done
)
{
const
el
=
_el
el
.
style
.
height
=
'
0
'
el
.
offsetHeight
el
.
style
.
height
=
el
.
scrollHeight
+
'
px
'
el
.
addEventListener
(
'
transitionend
'
,
done
,
{
once
:
true
})
}
function
onBeforeLeave
(
_el
)
{
const
el
=
_el
el
.
style
.
height
=
el
.
scrollHeight
+
'
px
'
el
.
offsetHeight
}
function
onAfterEnter
(
_el
)
{
const
el
=
_el
el
.
style
.
height
=
'
auto
'
}
function
onLeave
(
_el
,
done
)
{
const
el
=
_el
el
.
style
.
height
=
'
0
'
el
.
addEventListener
(
'
transitionend
'
,
done
,
{
once
:
true
})
}
</
script
>
components/i/search/Content.vue
浏览文件 @
830eb195
<
template
>
<UCard
:ui=
"
{ body: { padding: 'p-4 sm:p-4' } }">
<UAccordion
:items=
"[
{}]" default-open>
<template
#default
="
{ open }">
<div
class=
"flex justify-between items-center"
>
<div
class=
"flex items-center gap-2 text-lg"
>
<UIcon
name=
"i-heroicons-sparkles-20-solid"
/>
搜索过程
</div>
<UButton
size=
"md"
color=
"gray"
variant=
"ghost"
:icon=
"open ? 'i-heroicons-chevron-up-20-solid' : 'i-heroicons-chevron-down-20-solid'"
:ui=
"
{ rounded: 'rounded-full' }"
/>
<div
class=
"flex justify-between items-center"
>
<div
class=
"flex items-center gap-2 text-lg"
>
<UIcon
name=
"i-heroicons-sparkles-20-solid"
/>
搜索过程
</div>
<UButton
size=
"md"
color=
"gray"
variant=
"ghost"
:icon=
"openCollapse ? 'i-heroicons-chevron-up-20-solid' : 'i-heroicons-chevron-down-20-solid'"
:ui=
"
{ rounded: 'rounded-full' }"
@click="handleToggleCollapse"
/>
</div>
<ICollapse
:open=
"openCollapse"
class=
"mt-2"
>
<div
class=
"flex flex-col gap-2 w-full text-gray-500 dark:text-gray-400"
>
<div
class=
"text-base flex items-center gap-1"
>
<UIcon
name=
"i-heroicons-inbox-arrow-down"
/>
理解问题
</div>
</
template
>
<
template
#item
>
<div
class=
"flex flex-col gap-2"
>
<template
v-if=
"item.desLoading"
>
<USkeleton
class=
"h-4"
/>
<USkeleton
class=
"h-4 w-2/3"
/>
</
template
>
<IMdMdc
v-else
:content=
"item.description"
/>
<
template
v-if=
"item.searchLoading !== undefined"
>
<div
class=
"text-base flex items-center gap-1"
>
<UIcon
name=
"i-heroicons-
inbox-arrow-down
"
/>
理解问题
<UIcon
name=
"i-heroicons-
magnifying-glass
"
/>
搜索项目
</div>
<template
v-if=
"item.
des
Loading"
>
<template
v-if=
"item.
search
Loading"
>
<USkeleton
class=
"h-4"
/>
<USkeleton
class=
"h-4 w-2/3"
/>
</
template
>
<IMdMdc
v-else
:content=
"item.description"
/>
<
template
v-if=
"item.searchLoading !== undefined"
>
<div
class=
"text-base flex items-center gap-1"
>
<UIcon
name=
"i-heroicons-magnifying-glass"
/>
搜索项目
</div>
<template
v-if=
"item.searchLoading"
>
<USkeleton
class=
"h-4"
/>
<USkeleton
class=
"h-4 w-2/3"
/>
</
template
>
<div
class=
"text-xs pl-5"
v-else
>
找到 {{ sourceCount }} 条来源
</div>
</template>
<div
class=
"text-base flex items-center gap-1"
v-if=
"item.ansLoading !== undefined"
>
<UIcon
name=
"i-heroicons-pencil-square"
/>
整理答案
</div>
<div
class=
"text-xs pl-5"
v-else
>
找到 {{ sourceCount }} 条来源
</div>
</template>
<div
class=
"text-base flex items-center gap-1"
v-if=
"item.ansLoading !== undefined"
>
<UIcon
name=
"i-heroicons-pencil-square"
/>
整理答案
</div>
</
template
>
</
UAccordion
>
</
div
>
</
ICollapse
>
</UCard>
<div
class=
"text-xl flex items-center space-x-1"
v-if=
"item.ansLoading !== undefined"
>
<UIcon
name=
"i-heroicons-chat-bubble-left-right-20-solid"
/>
<span>
{{ item.ansLoading ? '回答中' : '回答' }}
</span>
...
...
@@ -92,6 +88,20 @@ const props = defineProps({
}
})
const
emits
=
defineEmits
([
'
regenerate
'
])
const
openCollapse
=
ref
(
true
)
function
handleToggleCollapse
()
{
openCollapse
.
value
=
!
openCollapse
.
value
}
watch
(
()
=>
props
.
item
.
ansLoading
,
(
value
,
oldValue
)
=>
{
if
(
oldValue
===
undefined
)
{
setTimeout
(()
=>
{
openCollapse
.
value
=
false
},
500
)
}
}
)
function
handleReGenerate
()
{
emits
(
'
regenerate
'
,
props
.
index
)
}
...
...
pages/search/[id].vue
浏览文件 @
830eb195
...
...
@@ -143,9 +143,6 @@ const sourceCount = computed(() => {
return
currentData
.
source
.
length
})
let
asking
=
ref
(
false
)
const
handleClearInput
=
()
=>
{
continueQuestion
.
value
=
''
}
const
handleContinueAsk
=
(
question
)
=>
{
if
(
asking
.
value
)
return
isAutoToBottom
.
value
=
true
...
...
@@ -153,7 +150,6 @@ const handleContinueAsk = (question) => {
editIndex
.
value
=
data
.
value
.
length
createGenerateInitItem
(
question
)
generateFetchData
(
question
)
handleClearInput
()
scrollToView
()
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录