This commit is contained in:
wangdan-fit2cloud 2023-11-21 10:56:25 +08:00
parent 8e72eb8616
commit 7ecb48434b
2 changed files with 85 additions and 48 deletions

View File

@ -1,40 +1,51 @@
<template> <template>
<div class="ai-dialog"> <div class="ai-dialog">
<div class="ai-dialog__content flex"> <el-scrollbar>
<AppAvatar class="avatar-gradient"> <div class="ai-dialog__content flex">
<img src="@/assets/icon_robot.svg" style="width: 54%" alt="" /> <AppAvatar class="avatar-gradient">
</AppAvatar> <img src="@/assets/icon_robot.svg" style="width: 54%" alt="" />
<AppAvatar> </AppAvatar>
<img src="@/assets/user-icon.svg" style="width: 54%" alt="" /> <AppAvatar>
</AppAvatar> <img src="@/assets/user-icon.svg" style="width: 54%" alt="" />
<div class="ml-8 w-full"> </AppAvatar>
<el-card shadow="always" class="dialog-card"> <div class="ml-8 w-full">
<h4>您好我是 MaxKB 智能小助手</h4> <el-card shadow="always" class="dialog-card">
<div class="mt-4"> <h4>您好我是 MaxKB 智能小助手</h4>
<el-text type="info">回答用户提出的 MaxKB 产品使用问题</el-text> <div class="mt-4">
</div> <el-text type="info">回答用户提出的 MaxKB 产品使用问题</el-text>
</el-card> </div>
<el-card shadow="always" class="dialog-card mt-12"> </el-card>
<h4>您可以尝试输入以下问题</h4> <el-card shadow="always" class="dialog-card mt-12">
<div class="mt-8"> <h4>您可以尝试输入以下问题</h4>
<el-row :gutter="20"> <div class="mt-8">
<el-col :span="12"> <el-row :gutter="20">
<el-button icon="EditPen" class="problem-button w-full"> <el-col :span="12">
DataEase支持哪些类型的数据源 <el-button icon="EditPen" class="problem-button w-full">
</el-button> DataEase支持哪些类型的数据源
</el-col> </el-button>
<el-col :span="12"> </el-col>
<el-button icon="EditPen" class="problem-button w-full"> <el-col :span="12">
DataEase支持哪些类型的数据源 <el-button icon="EditPen" class="problem-button w-full">
</el-button> DataEase支持哪些类型的数据源
</el-col> </el-button>
</el-row> </el-col>
</div> </el-row>
</el-card> </div>
</el-card>
<el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card> <el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card>
<el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card>
<el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card>
<el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card>
<el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card>
<el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card>
<el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card>
<el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card>
<el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card>
<el-card shadow="always" class="dialog-card mt-12"> XXXXXXXXX </el-card>
</div>
</div> </div>
</div> </el-scrollbar>
<div class="ai-dialog__textarea flex"> <div class="ai-dialog__textarea flex">
<el-input <el-input
v-model="inputValue" v-model="inputValue"
@ -43,7 +54,7 @@
:autosize="{ minRows: 1, maxRows: 8 }" :autosize="{ minRows: 1, maxRows: 8 }"
/> />
<div class="operate"> <div class="operate">
<el-button text class="sent-button"> <el-button text class="sent-button" disabled>
<AppIcon iconName="app-send"></AppIcon> <AppIcon iconName="app-send"></AppIcon>
</el-button> </el-button>
</div> </div>
@ -62,9 +73,12 @@ const inputValue = ref('')
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.ai-dialog { .ai-dialog {
height: 100%; // min-height: 400px;
// height: 100%;
height: calc(100% - 10px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
box-sizing: border-box;
&__content { &__content {
flex: 1; flex: 1;
.problem-button { .problem-button {
@ -89,10 +103,18 @@ const inputValue = ref('')
background-color: #ffffff; background-color: #ffffff;
border-radius: 8px; border-radius: 8px;
border: 1px solid #ffffff; border: 1px solid #ffffff;
box-sizing: border-box;
&:has(.el-textarea__inner:focus) { &:has(.el-textarea__inner:focus) {
border: 1px solid var(--el-color-primary); border: 1px solid var(--el-color-primary);
} }
:deep(.el-textarea__inner) {
border-radius: 8px !important;
box-shadow: none;
resize: none;
padding: 12px 16px;
}
.operate { .operate {
padding: 10px 12px; padding: 10px 12px;
.sent-button { .sent-button {
@ -101,12 +123,6 @@ const inputValue = ref('')
} }
} }
} }
:deep(.el-textarea__inner) {
border-radius: 8px !important;
box-shadow: none;
resize: none;
padding: 12px 16px;
}
} }
} }
</style> </style>

View File

@ -13,29 +13,50 @@
</el-radio> </el-radio>
<el-radio label="2" size="large" border class="mb-16"> <el-radio label="2" size="large" border class="mb-16">
<p>高级分段</p> <p>高级分段</p>
<el-text type="info">用户可根据文档规范自行设置分段标识符分段长度以及清洗规则 <el-text type="info"
>用户可根据文档规范自行设置分段标识符分段长度以及清洗规则
</el-text> </el-text>
<el-card shadow="never" class="card-never mt-16" v-if="radio === '2'"> <el-card shadow="never" class="card-never mt-16" v-if="radio === '2'">
<div class="set-rules__form"> <div class="set-rules__form">
<div class="form-item mb-16"> <div class="form-item mb-16">
<div class="title flex align-center mb-8"> <div class="title flex align-center mb-8">
<span style="margin-right: 4px">分段标识</span> <span style="margin-right: 4px">分段标识</span>
<el-tooltip effect="dark" content="按照所选符号先后顺序做递归分割,分割结果超出分段长度将截取至分段长度。" placement="right"> <el-tooltip
effect="dark"
content="按照所选符号先后顺序做递归分割,分割结果超出分段长度将截取至分段长度。"
placement="right"
>
<el-icon style="font-size: 16px"> <el-icon style="font-size: 16px">
<Warning /> <Warning />
</el-icon> </el-icon>
</el-tooltip> </el-tooltip>
</div> </div>
<el-select v-loading="patternLoading" v-model="form.patterns" multiple placeholder="请选择"> <el-select
<el-option v-for="item in splitPatternList" :key="item" :label="item.key" :value="item.value" v-loading="patternLoading"
multiple> v-model="form.patterns"
multiple
placeholder="请选择"
>
<el-option
v-for="item in splitPatternList"
:key="item"
:label="item.key"
:value="item.value"
multiple
>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div class="form-item mb-16"> <div class="form-item mb-16">
<div class="title mb-8">分段长度</div> <div class="title mb-8">分段长度</div>
<el-slider v-model="form.limit" show-input :show-input-controls="false" :min="50" :max="1024" /> <el-slider
v-model="form.limit"
show-input
:show-input-controls="false"
:min="50"
:max="1024"
/>
</div> </div>
<div class="form-item mb-16"> <div class="form-item mb-16">
<div class="title mb-8">自动清洗</div> <div class="title mb-8">自动清洗</div>
@ -110,7 +131,7 @@ function splitDocument() {
} }
const initSplitPatternList = () => { const initSplitPatternList = () => {
DatasetApi.listSplitPattern(patternLoading).then(ok => { DatasetApi.listSplitPattern(patternLoading).then((ok) => {
splitPatternList.value = ok.data splitPatternList.value = ok.data
}) })
} }