perf: 样式调整
This commit is contained in:
@ -1,25 +1,24 @@
|
||||
<template>
|
||||
<div>
|
||||
<span class="back-wap" @click="goChatIndex"> <icon-left /> 返回空间 </span>
|
||||
<div class="px-4px">
|
||||
<div class="back-wap cursor-pointer mb-20px" @click="goChatIndex">
|
||||
<icon-left size="16" class="color-#737478 mr-4px" />
|
||||
<span class="cs">返回空间</span>
|
||||
</div>
|
||||
<div class="workflow-container">
|
||||
<div class="left-wap" v-if="isCollapsed == false">
|
||||
<div class="header">
|
||||
<div class="image-body">
|
||||
<img :src="cozeInfo?.image_url" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="left-wap mr-24px" v-if="isCollapsed == false">
|
||||
<img :src="cozeInfo?.image_url" class="w-full h-160px rounded-8px object-contain w-100% mb-15px bg-#F0EDFF" />
|
||||
<div class="content mb-15px">
|
||||
<div class="title-body">
|
||||
<div class="text">{{ cozeInfo?.name }}</div>
|
||||
<div class="tag-body">
|
||||
<div class="text mr-4px">{{ cozeInfo?.name }}</div>
|
||||
<div class="tag-body">
|
||||
<div class="">
|
||||
<img class="status-icon" :src="chatbotIcon" />
|
||||
<SvgIcon size="12" name="svg-chatbot" class="color-#6D4CFE" />
|
||||
</div>
|
||||
<div class="text">对话式</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="use-body">
|
||||
<div class="num">{{ cozeInfo?.views }}</div>
|
||||
<div class="use-body flex items-center">
|
||||
<div class="num mr-2px">{{ formatNumberShow({ value: cozeInfo?.views, showExactValue: true }) }}</div>
|
||||
<div class="text">次使用</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -34,7 +33,7 @@
|
||||
<div class="header">
|
||||
<div class="body">
|
||||
<div class="">
|
||||
<div class="toggle-btn" @click="toggleCollapse">
|
||||
<div class="toggle-btn cursor-pointer" @click="toggleCollapse">
|
||||
<a-tooltip :content="isCollapsed ? '展开' : '折叠'">
|
||||
<img class="status-icon" :src="isCollapsed ? menuUnfold : menuFold" />
|
||||
</a-tooltip>
|
||||
@ -54,8 +53,7 @@ import { getChatAgent } from '@/api/all/agent';
|
||||
import { useRouter } from 'vue-router';
|
||||
import menuFold from '@/assets/svg/menu-fold.svg';
|
||||
import menuUnfold from '@/assets/svg/menu-unfold.svg';
|
||||
import workflow from '@/assets/svg/workflow.svg';
|
||||
import chatbotIcon from '@/assets/svg/chatbot.svg';
|
||||
import { formatNumberShow } from "@/utils/tools"
|
||||
|
||||
const router = useRouter();
|
||||
|
||||
|
||||
@ -1,29 +1,28 @@
|
||||
.cs {
|
||||
color: #3C4043;
|
||||
font-family: $font-family-regular;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 22px;
|
||||
}
|
||||
.back-wap {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin-bottom: 20px;
|
||||
padding-left: 24px;
|
||||
padding-right: 24px;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.workflow-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding-left: 24px;
|
||||
padding-right: 24px;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
gap: 24px;
|
||||
display: inline-flex;
|
||||
|
||||
.left-wap {
|
||||
width: 360px;
|
||||
align-self: stretch;
|
||||
background: var(--BG-100, #F7F8FA);
|
||||
overflow: hidden;
|
||||
border-radius: 8px;
|
||||
flex-direction: column;
|
||||
@ -31,37 +30,35 @@
|
||||
align-items: flex-start;
|
||||
display: inline-flex;
|
||||
|
||||
.header {
|
||||
align-self: stretch;
|
||||
height: 160px;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
display: flex;
|
||||
// .header {
|
||||
// align-self: stretch;
|
||||
// height: 160px;
|
||||
// flex-direction: column;
|
||||
// justify-content: center;
|
||||
// align-items: center;
|
||||
// gap: 10px;
|
||||
// display: flex;
|
||||
|
||||
.image-body {
|
||||
align-self: stretch;
|
||||
flex: 1 1 0;
|
||||
position: relative;
|
||||
background: #FFEDED;
|
||||
overflow: hidden;
|
||||
border-radius: 8px;
|
||||
// .image-body {
|
||||
// align-self: stretch;
|
||||
// flex: 1 1 0;
|
||||
// position: relative;
|
||||
// background: #FFEDED;
|
||||
// overflow: hidden;
|
||||
// border-radius: 8px;
|
||||
|
||||
img {
|
||||
width: 408.90px;
|
||||
height: 218px;
|
||||
left: -24.45px;
|
||||
top: -29px;
|
||||
position: absolute
|
||||
}
|
||||
}
|
||||
}
|
||||
// img {
|
||||
// width: 408.90px;
|
||||
// height: 218px;
|
||||
// left: -24.45px;
|
||||
// top: -29px;
|
||||
// position: absolute
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
.content {
|
||||
align-self: stretch;
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
display: inline-flex;
|
||||
@ -78,7 +75,7 @@
|
||||
flex-direction: column;
|
||||
color: var(--Text-1, #211F24);
|
||||
font-size: 18px;
|
||||
font-family: Alibaba PuHuiTi;
|
||||
font-family: $font-family-medium;
|
||||
font-weight: 400;
|
||||
line-height: 26px;
|
||||
word-wrap: break-word;
|
||||
@ -99,7 +96,7 @@
|
||||
.text {
|
||||
color: var(--Functional-Red-6, #6D4CFE);
|
||||
font-size: 12px;
|
||||
font-family: Alibaba PuHuiTi;
|
||||
font-family: $font-family-medium;
|
||||
font-weight: 400;
|
||||
line-height: 20px;
|
||||
word-wrap: break-word
|
||||
@ -109,29 +106,20 @@
|
||||
}
|
||||
|
||||
.use-body {
|
||||
width: 79px;
|
||||
height: 24px;
|
||||
position: relative;
|
||||
|
||||
.num {
|
||||
left: 20px;
|
||||
top: 0px;
|
||||
position: absolute;
|
||||
color: var(--Text-2, #3C4043);
|
||||
font-size: 16px;
|
||||
font-family: Alibaba PuHuiTi;
|
||||
font-family: $font-family-manrope-medium;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
word-wrap: break-word
|
||||
}
|
||||
|
||||
.text {
|
||||
left: 43px;
|
||||
top: 3px;
|
||||
position: absolute;
|
||||
color: var(--Text-3, #737478);
|
||||
font-size: 12px;
|
||||
font-family: Alibaba PuHuiTi;
|
||||
font-family: $font-family-regular;
|
||||
font-weight: 400;
|
||||
line-height: 20px;
|
||||
word-wrap: break-word;
|
||||
@ -152,7 +140,7 @@
|
||||
align-self: stretch;
|
||||
color: var(--Text-2, #3C4043);
|
||||
font-size: 14px;
|
||||
font-family: Alibaba PuHuiTi;
|
||||
font-family: $font-family-regular;
|
||||
font-weight: 400;
|
||||
line-height: 22px;
|
||||
word-wrap: break-word;
|
||||
|
||||
@ -1,19 +1,19 @@
|
||||
<template>
|
||||
<div class="agent-wrap">
|
||||
<div class="agent-wrap relative">
|
||||
<a-input
|
||||
style="float: right;"
|
||||
v-model="query.name"
|
||||
@blur="getData()"
|
||||
placeholder="搜索智能体"
|
||||
size="medium"
|
||||
size="large"
|
||||
allow-clear
|
||||
class="absolute right-0 top-0 !w-400px"
|
||||
>
|
||||
<template #prefix>
|
||||
<icon-search />
|
||||
</template>
|
||||
</a-input>
|
||||
<div v-for="(item, index) in list" :key="index">
|
||||
<span class="span-title">{{ item.name }}</span>
|
||||
<p class="span-title mb-16px">{{ item.name }}</p>
|
||||
<a-row class="grid-demo " :gutter="24" v-if="item.agent_products.length > 0">
|
||||
<a-col :xs="24"
|
||||
:sm="12"
|
||||
@ -22,17 +22,14 @@
|
||||
:xl="6"
|
||||
:xxl="4"
|
||||
v-for="(product, k) in item.agent_products">
|
||||
<div class="card-container" @click="goDetail(product?.type, product?.id)">
|
||||
<div class="card-image-container">
|
||||
<div class="card-container cursor-pointer" @click="goDetail(product?.type, product?.id)">
|
||||
<img
|
||||
class="card-image"
|
||||
class="card-image h-120px object-contain w-100% mb-8px bg-#F0EDFF"
|
||||
:src="product?.icon_url"
|
||||
style="width: 100%; height: 100%; object-fit: cover;"
|
||||
/>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<div class="card-title">{{ product?.name }}</div>
|
||||
<div class="card-description">{{ product?.description }}</div>
|
||||
<div class="card-title mb-4px">{{ product?.name }}</div>
|
||||
<div class="card-description mb-8px">{{ product?.description }}</div>
|
||||
</div>
|
||||
|
||||
<div class="card-footer">
|
||||
@ -41,15 +38,17 @@
|
||||
:style="{ background: product.type === 1 ? 'var(--Functional-Blue-1, #F0EDFF)' : 'var(--Functional-Red-1, #FFE9E7)' }"
|
||||
data-size="mini-20px"
|
||||
>
|
||||
<img
|
||||
class="status-icon"
|
||||
:src="product.type === 2 ? workflowIcon : chatbotIcon"
|
||||
<SvgIcon
|
||||
size="12"
|
||||
:class="product.type === 2 ? 'color-#F64B31' : 'color-#6D4CFE'"
|
||||
class="mr-4px"
|
||||
:name="product.type === 2 ? 'svg-workflow' : 'svg-chatbot'"
|
||||
alt="状态图标"
|
||||
/>
|
||||
<div class="status-text">{{ product.type === 1 ? '对话式' : '工作流' }}</div>
|
||||
</div>
|
||||
<div class="usage-info">
|
||||
<div class="usage-count">{{ product.views }}</div>
|
||||
<div class="usage-count mr-2px">{{ formatNumberShow({ value: product?.views, showExactValue: true }) }}</div>
|
||||
<div class="usage-label">次使用</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -65,8 +64,8 @@
|
||||
<script setup lang="ts">
|
||||
import { useRouter } from 'vue-router';
|
||||
import { getAgentList } from '@/api/all/agent';
|
||||
import workflowIcon from '@/assets/svg/workflow.svg';
|
||||
import chatbotIcon from '@/assets/svg/chatbot.svg';
|
||||
import { formatNumberShow } from "@/utils/tools"
|
||||
|
||||
const router = useRouter();
|
||||
|
||||
const list = ref([]);
|
||||
|
||||
@ -1,20 +1,22 @@
|
||||
.agent-wrap {
|
||||
padding: 24px;
|
||||
border-radius: 4px;
|
||||
|
||||
.ant-card-cover img {
|
||||
height: 150px;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.grid-demo {
|
||||
&:not(:last-child) {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
}
|
||||
.span-title {
|
||||
color: var(--Text-2, #3C4043);
|
||||
font-size: 16px;
|
||||
font-family: Alibaba PuHuiTi;
|
||||
font-family: $font-family-medium;
|
||||
font-weight: 400;
|
||||
line-height: 44px;
|
||||
line-height: 24px;
|
||||
word-wrap: break-word;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.card-container {
|
||||
@ -30,24 +32,12 @@
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 8px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.card-image-container {
|
||||
width: 99%;
|
||||
height: 150px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.card-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 7px;
|
||||
object-fit: cover;
|
||||
border-top-left-radius: 8px;
|
||||
border-top-right-radius: 8px;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
@ -74,7 +64,7 @@
|
||||
.card-title {
|
||||
color: var(--Text-1, #211f24);
|
||||
font-size: 16px;
|
||||
font-family: Alibaba PuHuiTi;
|
||||
font-family: $font-family-medium;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
word-wrap: break-word;
|
||||
@ -83,24 +73,12 @@
|
||||
.card-description {
|
||||
color: var(--Text-3, #737478);
|
||||
font-size: 14px;
|
||||
font-family: Alibaba PuHuiTi;
|
||||
font-family: $font-family-regular;
|
||||
font-weight: 400;
|
||||
line-height: 22px;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
:deep(.arco-input-wrapper) {
|
||||
border-radius: 4px;
|
||||
border-color: #d7d7d9;
|
||||
background-color: #fff;
|
||||
height: 35px;
|
||||
width: 400px;
|
||||
|
||||
&:focus-within,
|
||||
&.arco-input-focus {
|
||||
background-color: var(--color-bg-2);
|
||||
border-color: rgb(var(--primary-6));
|
||||
box-shadow: 0 0 0 0 var(--color-primary-light-2);
|
||||
}
|
||||
|
||||
&.arco-textarea-wrapper {
|
||||
height: 60px;
|
||||
@ -123,13 +101,10 @@
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
|
||||
.status-icon {
|
||||
height: 12px;
|
||||
}
|
||||
|
||||
.status-text {
|
||||
font-size: 12px;
|
||||
font-family: 'Alibaba PuHuiTi', sans-serif;
|
||||
font-family: $font-family-medium;
|
||||
font-weight: 400;
|
||||
line-height: 20px;
|
||||
}
|
||||
@ -151,16 +126,18 @@
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
gap: 2px;
|
||||
|
||||
.usage-count,
|
||||
.usage-label {
|
||||
color: var(--Text-3, #737478);
|
||||
font-size: 12px;
|
||||
font-family: 'HarmonyOS Sans SC', sans-serif;
|
||||
font-family: $font-family-regular;
|
||||
font-weight: 400;
|
||||
line-height: 20px;
|
||||
}
|
||||
.usage-count {
|
||||
font-family: $font-family-manrope-regular;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { defineProps } from 'vue';
|
||||
import workflow from '@/assets/svg/workflow.svg';
|
||||
import workflow from '@/assets/svg/svg-workflow.svg';
|
||||
|
||||
const props = defineProps({
|
||||
cozeInfo: {
|
||||
|
||||
@ -78,7 +78,7 @@ import { marked } from 'marked';
|
||||
import DOMPurify from 'dompurify';
|
||||
import menuFold from '@/assets/svg/menu-fold.svg';
|
||||
import menuUnfold from '@/assets/svg/menu-unfold.svg';
|
||||
import workflow from '@/assets/svg/workflow.svg';
|
||||
import workflow from '@/assets/svg/svg-workflow.svg';
|
||||
|
||||
const formFields = ref({});
|
||||
const history = ref([]);
|
||||
|
||||
Reference in New Issue
Block a user