【解决todo】AI 角色仓库,增加全部分类筛选

This commit is contained in:
cherishsince
2024-05-21 18:20:45 +08:00
parent 0803e33d1d
commit c06de8095e
2 changed files with 13 additions and 14 deletions

View File

@@ -1,8 +1,8 @@
<template> <template>
<div class="category-list"> <div class="category-list">
<div class="category" v-for="category in categoryList" :key="category"> <div class="category" v-for="(category) in categoryList" :key="category">
<el-button plain v-if="category !== active" @click="handleCategoryClick(category)">{{ category }}</el-button> <el-button plain round size="small" v-if="category !== active" @click="handleCategoryClick(category)">{{ category }}</el-button>
<el-button plain type="primary" v-else @click="handleCategoryClick(category)">{{ category }}</el-button> <el-button plain round size="small" v-else type="primary" @click="handleCategoryClick(category)">{{ category }}</el-button>
</div> </div>
</div> </div>
</template> </template>
@@ -17,7 +17,8 @@ defineProps({
}, },
active: { active: {
type: String, type: String,
required: false required: false,
default: '全部'
} }
}) })

View File

@@ -83,7 +83,7 @@ const myRoleList = ref<ChatRoleVO[]>([]) // my 分页大小
const publicPageNo = ref<number>(1) // public 分页下标 const publicPageNo = ref<number>(1) // public 分页下标
const publicPageSize = ref<number>(50) // public 分页大小 const publicPageSize = ref<number>(50) // public 分页大小
const publicRoleList = ref<ChatRoleVO[]>([]) // public 分页大小 const publicRoleList = ref<ChatRoleVO[]>([]) // public 分页大小
const activeCategory = ref<string>('') // 选择中的分类 const activeCategory = ref<string>('全部') // 选择中的分类
const categoryList = ref<string[]>([]) // 角色分类类别 const categoryList = ref<string[]>([]) // 角色分类类别
/** 添加/修改操作 */ /** 添加/修改操作 */
const formRef = ref() const formRef = ref()
@@ -101,14 +101,12 @@ const getMyRole = async (append?: boolean) => {
const params: ChatRolePageReqVO = { const params: ChatRolePageReqVO = {
pageNo: myPageNo.value, pageNo: myPageNo.value,
pageSize: myPageSize.value, pageSize: myPageSize.value,
category: activeCategory.value,
name: search.value, name: search.value,
publicStatus: false publicStatus: false
} }
const {total, list} = await ChatRoleApi.getMyPage(params) const {total, list} = await ChatRoleApi.getMyPage(params)
if (append) { if (append) {
myRoleList.value.push.apply(myRoleList.value, list) myRoleList.value.push.apply(myRoleList.value, list)
console.log('myRoleList.value.push', myRoleList.value)
} else { } else {
myRoleList.value = list myRoleList.value = list
} }
@@ -119,7 +117,7 @@ const getPublicRole = async (append?: boolean) => {
const params: ChatRolePageReqVO = { const params: ChatRolePageReqVO = {
pageNo: publicPageNo.value, pageNo: publicPageNo.value,
pageSize: publicPageSize.value, pageSize: publicPageSize.value,
category: activeCategory.value, category: activeCategory.value === '全部' ? '' : activeCategory.value,
name: search.value, name: search.value,
publicStatus: true publicStatus: true
} }
@@ -144,16 +142,16 @@ const getActiveTabsRole = async () => {
// 获取角色分类列表 // 获取角色分类列表
const getRoleCategoryList = async () => { const getRoleCategoryList = async () => {
categoryList.value = await ChatRoleApi.getCategoryList() const res = await ChatRoleApi.getCategoryList()
const defaultRole = ['全部']
categoryList.value = [...defaultRole, ...res]
} }
// 处理分类点击 // 处理分类点击
const handlerCategoryClick = async (category: string) => { const handlerCategoryClick = async (category: string) => {
if (activeCategory.value === category) { // 切换选择的分类
activeCategory.value = '' activeCategory.value = category
} else { // 筛选
activeCategory.value = category
}
await getActiveTabsRole() await getActiveTabsRole()
} }