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
You need to sign in or sign up before continuing.
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