fix: style

pull/148/head
xingyu4j 2025-06-18 09:27:12 +08:00
parent 39d9e394c3
commit 56b4751be1
8 changed files with 26 additions and 30 deletions

View File

@ -306,17 +306,13 @@ onMounted(async () => {
<template>
<Layout.Sider
width="260px"
class="!bg-primary-foreground conversation-container relative flex h-full flex-col justify-between overflow-hidden py-2.5 pb-0 pt-2.5"
width="280px"
class="!bg-primary-foreground conversation-container relative flex h-full flex-col justify-between overflow-hidden p-4"
>
<Drawer />
<!-- 左顶部对话 -->
<div class="flex h-full flex-col">
<Button
class="btn-new-conversation h-9 w-full"
type="primary"
@click="createConversation"
>
<Button class="h-9 w-full" type="primary" @click="createConversation">
<IconifyIcon icon="lucide:plus" class="mr-1" />
新建对话
</Button>
@ -324,7 +320,7 @@ onMounted(async () => {
<Input
v-model:value="searchName"
size="large"
class="search-input mt-5"
class="search-input mt-4"
placeholder="搜索历史记录"
@keyup="searchConversation"
>
@ -334,7 +330,7 @@ onMounted(async () => {
</Input>
<!-- 左中间对话列表 -->
<div class="conversation-list mt-2.5 flex-1 overflow-auto">
<div class="conversation-list mt-2 flex-1 overflow-auto">
<!-- 情况一加载中 -->
<Empty v-if="loading" description="." v-loading="loading" />
@ -346,7 +342,7 @@ onMounted(async () => {
>
<div
v-if="conversationMap[conversationKey].length > 0"
class="conversation-item classify-title pt-2.5"
class="conversation-item classify-title pt-2"
>
<b class="mx-1">
{{ conversationKey }}
@ -362,7 +358,7 @@ onMounted(async () => {
class="conversation-item mt-1"
>
<div
class="conversation flex cursor-pointer flex-row items-center justify-between rounded-lg px-2.5 leading-10"
class="conversation flex cursor-pointer flex-row items-center justify-between rounded-lg px-2 leading-10"
:class="[
conversation.id === activeConversationId ? 'bg-gray-100' : '',
]"
@ -374,7 +370,7 @@ onMounted(async () => {
/>
<SvgGptIcon v-else class="size-8" />
<span
class="max-w-36 overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-1 text-sm font-normal text-gray-600"
class="max-w-36 overflow-hidden text-ellipsis whitespace-nowrap p-2 text-sm font-normal text-gray-600"
>
{{ conversation.title }}
</span>
@ -424,7 +420,7 @@ onMounted(async () => {
<!-- 左底部工具栏 -->
<div
class="tool-box absolute bottom-0 left-0 right-0 flex items-center justify-between bg-gray-50 px-5 leading-9 text-gray-400 shadow-sm"
class="absolute bottom-1 left-0 right-0 mb-4 flex items-center justify-between bg-gray-50 px-5 leading-9 text-gray-400 shadow-sm"
>
<div
class="flex cursor-pointer items-center text-gray-400"

View File

@ -506,7 +506,7 @@ onMounted(async () => {
/>
<!-- 右侧详情部分 -->
<Layout class="ml-4 bg-white">
<Layout class="mx-4 bg-white">
<Layout.Header
class="flex items-center justify-between !bg-gray-50 shadow-none"
>
@ -572,7 +572,7 @@ onMounted(async () => {
class="my-5 mb-5 mt-2 flex flex-col rounded-xl border border-gray-200 px-2 py-2.5"
>
<textarea
class="box-border h-20 resize-none overflow-auto border-none px-0 py-0.5 focus:outline-none"
class="box-border h-24 resize-none overflow-auto border-none px-0 py-1 focus:outline-none"
v-model="prompt"
@keydown="handleSendByKeydown"
@input="handlePromptInput"

View File

@ -73,6 +73,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
search: true,
},
} as VxeTableGridOptions<AiChatConversationApi.ChatConversationVO>,
separator: false,
});
onMounted(async () => {
//

View File

@ -70,6 +70,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
search: true,
},
} as VxeTableGridOptions<AiChatConversationApi.ChatConversationVO>,
separator: false,
});
onMounted(async () => {
//

View File

@ -80,28 +80,28 @@ onMounted(async () => {
</div>
<div class="flex">
<Button
class="m-0 p-2.5"
class="m-0 p-2"
type="text"
@click="handleButtonClick('download', detail)"
>
<IconifyIcon icon="lucide:download" />
</Button>
<Button
class="m-0 p-2.5"
class="m-0 p-2"
type="text"
@click="handleButtonClick('regeneration', detail)"
>
<IconifyIcon icon="lucide:refresh-cw" />
</Button>
<Button
class="m-0 p-2.5"
class="m-0 p-2"
type="text"
@click="handleButtonClick('delete', detail)"
>
<IconifyIcon icon="lucide:trash" />
</Button>
<Button
class="m-0 p-2.5"
class="m-0 p-2"
type="text"
@click="handleButtonClick('more', detail)"
>

View File

@ -123,7 +123,7 @@ defineExpose({ settingValues });
<div>
<b>随机热词</b>
</div>
<Space wrap class="mt-4 flex flex-col flex-wrap justify-start">
<Space wrap class="mt-4 flex flex-wrap justify-start">
<Button
shape="round"
class="m-0"

View File

@ -91,19 +91,17 @@ onMounted(() => {
<template>
<Page auto-content-height>
<div class="flex w-full gap-4">
<Card class="min-w-300 flex-1">
<Card class="w-3/4 flex-1">
<div class="mb-15">
<h3
class="m-0 mb-2 text-lg font-semibold leading-none tracking-tight"
>
<h3 class="m-2 text-lg font-semibold leading-none tracking-tight">
召回测试
</h3>
<div class="text-sm text-gray-500">
<div class="m-2 text-sm text-gray-500">
根据给定的查询文本测试召回效果
</div>
</div>
<div>
<div class="relative mb-2">
<div class="relative m-2">
<Textarea
v-model:value="queryParams.content"
:rows="8"
@ -113,7 +111,7 @@ onMounted(() => {
{{ queryParams.content?.length }} / 200
</div>
</div>
<div class="mb-2 flex items-center">
<div class="m-2 flex items-center">
<span class="w-16 text-gray-500">topK:</span>
<InputNumber
v-model:value="queryParams.topK"
@ -122,7 +120,7 @@ onMounted(() => {
class="w-full"
/>
</div>
<div class="mb-2 flex items-center">
<div class="m-2 flex items-center">
<span class="w-16 text-gray-500">相似度:</span>
<InputNumber
v-model:value="queryParams.similarityThreshold"
@ -176,7 +174,7 @@ onMounted(() => {
class="mb-10 overflow-hidden whitespace-pre-wrap rounded bg-gray-50 p-10 text-sm transition-all duration-100"
:class="{
'max-h-50 line-clamp-2': !segment.expanded,
'max-h-500': segment.expanded,
'max-h-[1500px]': segment.expanded,
}"
>
{{ segment.content }}

View File

@ -204,7 +204,7 @@ watch(
/>
</template>
<template #header-right-1>
<TenantDropdown class="w-30 mr-2" />
<TenantDropdown class="mr-2 w-44" />
</template>
<template #extra>
<AuthenticationLoginExpiredModal