Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-fe
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
poc
poc-fe
Commits
074484ef
Commit
074484ef
authored
Sep 05, 2025
by
tyyin lan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 个人空间知识库新增过滤
parent
2edde7ad
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
54 additions
and
13 deletions
+54
-13
knowledge.ts
src/apis/knowledge.ts
+7
-2
associated-knowledge-modal.vue
...g/agent-setting/components/associated-knowledge-modal.vue
+9
-3
columns.tsx
src/views/personal-space/personal-knowledge/columns.tsx
+10
-3
personal-knowledge.vue
.../personal-space/personal-knowledge/personal-knowledge.vue
+27
-5
types.d.ts
src/views/personal-space/personal-knowledge/types.d.ts
+1
-0
No files found.
src/apis/knowledge.ts
View file @
074484ef
...
@@ -8,8 +8,13 @@ import qs from 'qs'
...
@@ -8,8 +8,13 @@ import qs from 'qs'
* @query search 搜索值
* @query search 搜索值
* @returns 获取知识库列表
* @returns 获取知识库列表
*/
*/
export
function
fetchGetKnowledgeList
<
T
>
(
trainStatus
:
string
,
search
:
string
,
payload
:
object
)
{
export
function
fetchGetKnowledgeList
<
T
>
(
return
request
.
post
<
T
>
(
`/knowledgeRest/getKnowledgeList.json?trainStatus=
${
trainStatus
}
&search=
${
search
}
`
,
payload
)
params
:
{
trainStatus
:
string
;
search
:
string
;
knowledgeOwner
?:
string
},
payload
:
object
,
)
{
return
request
.
post
<
T
>
(
'/knowledgeRest/getKnowledgeList.json'
,
payload
,
{
params
,
})
}
}
/**
/**
...
...
src/views/personal-space/personal-app-setting/components/agent-config/agent-setting/components/associated-knowledge-modal.vue
View file @
074484ef
...
@@ -100,9 +100,15 @@ async function handleGetKnowledgeList() {
...
@@ -100,9 +100,15 @@ async function handleGetKnowledgeList() {
paginationData
.
pageSize
=
999999
paginationData
.
pageSize
=
999999
knowledgeListLoading
.
value
=
true
knowledgeListLoading
.
value
=
true
const
res
=
await
fetchGetKnowledgeList
<
KnowledgeItem
[]
>
(
TrainStatus
.
COMPLETE
,
searchKnowledgeInputValue
.
value
,
{
const
res
=
await
fetchGetKnowledgeList
<
KnowledgeItem
[]
>
(
{
trainStatus
:
TrainStatus
.
COMPLETE
,
search
:
searchKnowledgeInputValue
.
value
,
},
{
pagingInfo
:
paginationData
,
pagingInfo
:
paginationData
,
})
},
)
if
(
res
.
code
===
0
)
{
if
(
res
.
code
===
0
)
{
knowledgeList
.
value
=
res
.
data
knowledgeList
.
value
=
res
.
data
...
...
src/views/personal-space/personal-knowledge/columns.tsx
View file @
074484ef
...
@@ -8,6 +8,7 @@ const t = i18n.global.t
...
@@ -8,6 +8,7 @@ const t = i18n.global.t
export
function
createKnowledgeColumn
(
export
function
createKnowledgeColumn
(
handleKnowledgeTableAction
:
(
actionType
:
string
,
knowledgeId
:
number
,
KnowledgeItem
?:
KnowledgeItem
)
=>
void
,
handleKnowledgeTableAction
:
(
actionType
:
string
,
knowledgeId
:
number
,
KnowledgeItem
?:
KnowledgeItem
)
=>
void
,
currentUserMemberId
?:
string
|
number
|
null
,
)
{
)
{
return
[
return
[
{
{
...
@@ -81,10 +82,12 @@ export function createKnowledgeColumn(
...
@@ -81,10 +82,12 @@ export function createKnowledgeColumn(
},
},
width
:
150
,
width
:
150
,
render
(
row
:
KnowledgeItem
)
{
render
(
row
:
KnowledgeItem
)
{
const
isOwner
=
String
(
currentUserMemberId
||
''
)
===
String
(
row
.
memberId
||
''
)
return
(
return
(
<
NSwitch
<
NSwitch
value=
{
row
.
isOpen
===
'Y'
}
value=
{
row
.
isOpen
===
'Y'
}
onUpdateValue=
{
()
=>
handleKnowledgeTableAction
(
'updateOpen'
,
row
.
id
,
row
)
}
disabled=
{
!
isOwner
}
onUpdateValue=
{
isOwner
?
()
=>
handleKnowledgeTableAction
(
'updateOpen'
,
row
.
id
,
row
)
:
undefined
}
/>
/>
)
)
},
},
...
@@ -99,6 +102,10 @@ export function createKnowledgeColumn(
...
@@ -99,6 +102,10 @@ export function createKnowledgeColumn(
width
:
190
,
width
:
190
,
fixed
:
'right'
,
fixed
:
'right'
,
render
(
row
:
KnowledgeItem
)
{
render
(
row
:
KnowledgeItem
)
{
const
isOwner
=
String
(
currentUserMemberId
||
''
)
===
String
(
row
.
memberId
||
''
)
const
deleteClassName
=
isOwner
?
'text-error-font-color mr-5 cursor-pointer hover:opacity-80'
:
'text-gray-font-color pointer-events-none mr-5 cursor-not-allowed'
return
(
return
(
<
div
>
<
div
>
<
span
<
span
...
@@ -108,8 +115,8 @@ export function createKnowledgeColumn(
...
@@ -108,8 +115,8 @@ export function createKnowledgeColumn(
{
t
(
'common_module.data_table_module.view'
)
}
{
t
(
'common_module.data_table_module.view'
)
}
</
span
>
</
span
>
<
span
<
span
className=
'text-error-font-color mr-5 cursor-pointer hover:opacity-80'
className=
{
deleteClassName
}
onClick=
{
()
=>
handleKnowledgeTableAction
(
'delete'
,
row
.
id
)
}
onClick=
{
isOwner
?
()
=>
handleKnowledgeTableAction
(
'delete'
,
row
.
id
)
:
undefined
}
>
>
{
t
(
'common_module.data_table_module.delete'
)
}
{
t
(
'common_module.data_table_module.delete'
)
}
</
span
>
</
span
>
...
...
src/views/personal-space/personal-knowledge/personal-knowledge.vue
View file @
074484ef
...
@@ -10,6 +10,7 @@ import CustomPagination from '@/components/custom-pagination/custom-pagination.v
...
@@ -10,6 +10,7 @@ import CustomPagination from '@/components/custom-pagination/custom-pagination.v
import
useTableScrollY
from
'@/composables/useTableScrollY.ts'
import
useTableScrollY
from
'@/composables/useTableScrollY.ts'
import
{
usePagination
}
from
'@/composables/usePagination.ts'
import
{
usePagination
}
from
'@/composables/usePagination.ts'
import
{
fetchDelKnowledgeById
,
fetchEnableKnowledgeInfo
,
fetchGetKnowledgeList
}
from
'@/apis/knowledge.ts'
import
{
fetchDelKnowledgeById
,
fetchEnableKnowledgeInfo
,
fetchGetKnowledgeList
}
from
'@/apis/knowledge.ts'
import
{
useUserStore
}
from
'@/store/modules/user'
const
{
t
}
=
useI18n
()
const
{
t
}
=
useI18n
()
...
@@ -20,13 +21,15 @@ const knowledgeListTableRef = useTemplateRef<DataTableInst>('knowledgeListTableR
...
@@ -20,13 +21,15 @@ const knowledgeListTableRef = useTemplateRef<DataTableInst>('knowledgeListTableR
const
{
pageContentWrapRef
,
tableContentY
}
=
useTableScrollY
(
48
+
32
+
16
+
16
+
28
)
const
{
pageContentWrapRef
,
tableContentY
}
=
useTableScrollY
(
48
+
32
+
16
+
16
+
28
)
const
{
paginationData
,
handlePageNoChange
,
handlePageSizeChange
}
=
usePagination
()
const
{
paginationData
,
handlePageNoChange
,
handlePageSizeChange
}
=
usePagination
()
const
knowledgeColumns
=
createKnowledgeColumn
(
handleClickKnowledgeTableAction
)
const
userStore
=
useUserStore
()
const
knowledgeColumns
=
createKnowledgeColumn
(
handleClickKnowledgeTableAction
,
userStore
.
userInfo
.
memberId
)
const
knowledgeListTableLoading
=
ref
(
false
)
const
knowledgeListTableLoading
=
ref
(
false
)
const
knowledgeList
=
ref
<
KnowledgeItem
[]
>
([])
const
knowledgeList
=
ref
<
KnowledgeItem
[]
>
([])
const
searchKnowledgeInputValue
=
ref
(
''
)
const
searchKnowledgeInputValue
=
ref
(
''
)
const
isSearchEmptyList
=
ref
(
false
)
const
isSearchEmptyList
=
ref
(
false
)
const
knowledgeOwnerValue
=
ref
<
'全部'
|
'集团'
|
'部门'
|
'个人'
>
(
'全部'
)
const
isLoadingPagination
=
computed
(()
=>
{
const
isLoadingPagination
=
computed
(()
=>
{
return
tableContentY
.
value
>
0
return
tableContentY
.
value
>
0
...
@@ -41,6 +44,12 @@ watch([() => paginationData.pageNo, () => paginationData.pageSize], () => {
...
@@ -41,6 +44,12 @@ watch([() => paginationData.pageNo, () => paginationData.pageSize], () => {
knowledgeListTableRef
.
value
?.
scrollTo
({
top
:
0
,
behavior
:
'smooth'
})
knowledgeListTableRef
.
value
?.
scrollTo
({
top
:
0
,
behavior
:
'smooth'
})
})
})
watch
(
knowledgeOwnerValue
,
()
=>
{
paginationData
.
pageNo
=
1
handleGetKnowledgeList
()
knowledgeListTableRef
.
value
?.
scrollTo
({
top
:
0
,
behavior
:
'smooth'
})
})
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
await
handleGetKnowledgeList
()
await
handleGetKnowledgeList
()
})
})
...
@@ -48,9 +57,16 @@ onMounted(async () => {
...
@@ -48,9 +57,16 @@ onMounted(async () => {
async
function
handleGetKnowledgeList
()
{
async
function
handleGetKnowledgeList
()
{
knowledgeListTableLoading
.
value
=
true
knowledgeListTableLoading
.
value
=
true
const
res
=
await
fetchGetKnowledgeList
<
KnowledgeItem
[]
>
(
''
,
searchKnowledgeInputValue
.
value
,
{
const
res
=
await
fetchGetKnowledgeList
<
KnowledgeItem
[]
>
(
{
trainStatus
:
''
,
search
:
searchKnowledgeInputValue
.
value
,
knowledgeOwner
:
knowledgeOwnerValue
.
value
===
'全部'
?
''
:
knowledgeOwnerValue
.
value
,
},
{
pagingInfo
:
paginationData
,
pagingInfo
:
paginationData
,
})
},
)
if
(
res
.
code
===
0
)
{
if
(
res
.
code
===
0
)
{
knowledgeList
.
value
=
res
.
data
knowledgeList
.
value
=
res
.
data
...
@@ -112,7 +128,13 @@ function handleSearchKnowledge() {
...
@@ -112,7 +128,13 @@ function handleSearchKnowledge() {
<
template
>
<
template
>
<div
ref=
"pageContentWrapRef"
class=
"h-full"
>
<div
ref=
"pageContentWrapRef"
class=
"h-full"
>
<div
class=
"mb-4 flex justify-end"
>
<div
class=
"mb-4 flex items-center justify-between"
>
<NRadioGroup
v-model:value=
"knowledgeOwnerValue"
size=
"small"
>
<NRadioButton
value=
"全部"
>
全部
</NRadioButton>
<NRadioButton
value=
"集团"
>
集团
</NRadioButton>
<NRadioButton
value=
"部门"
>
部门
</NRadioButton>
<NRadioButton
value=
"个人"
>
个人
</NRadioButton>
</NRadioGroup>
<NInput
<NInput
v-model:value=
"searchKnowledgeInputValue"
v-model:value=
"searchKnowledgeInputValue"
:placeholder=
"t('personal_space_module.knowledge_module.search_knowledge_placeholder')"
:placeholder=
"t('personal_space_module.knowledge_module.search_knowledge_placeholder')"
...
...
src/views/personal-space/personal-knowledge/types.d.ts
View file @
074484ef
...
@@ -15,6 +15,7 @@ export interface KnowledgeItem {
...
@@ -15,6 +15,7 @@ export interface KnowledgeItem {
isOpen
:
'Y'
|
'N'
isOpen
:
'Y'
|
'N'
createdTime
:
Date
createdTime
:
Date
documentInfos
:
KnowledgeDocumentItem
[]
documentInfos
:
KnowledgeDocumentItem
[]
memberId
:
string
}
}
export
interface
SegmentationConfigInterface
{
export
interface
SegmentationConfigInterface
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment