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
a3834140
Commit
a3834140
authored
Apr 30, 2025
by
nick zheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore(知识库管理): 类型定义&&命名更换
parent
ac54e893
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
39 additions
and
29 deletions
+39
-29
columns.tsx
src/views/personal-space/personal-database/columns.tsx
+2
-2
create-database-modal.vue
...ce/personal-database/components/create-database-modal.vue
+4
-6
edit-database-modal.vue
...pace/personal-database/components/edit-database-modal.vue
+7
-6
personal-database.vue
...ws/personal-space/personal-database/personal-database.vue
+14
-13
type.d.ts
src/views/personal-space/personal-database/type.d.ts
+10
-0
personal-space.vue
src/views/personal-space/personal-space.vue
+2
-2
No files found.
src/views/personal-space/personal-database/columns.tsx
View file @
a3834140
...
@@ -10,7 +10,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
...
@@ -10,7 +10,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
key
:
'databaseName'
,
key
:
'databaseName'
,
align
:
'left'
,
align
:
'left'
,
ellipsis
:
{
ellipsis
:
{
tooltip
:
true
,
tooltip
:
{
width
:
'trigger'
}
,
},
},
width
:
210
,
width
:
210
,
fixed
:
'left'
,
fixed
:
'left'
,
...
@@ -23,7 +23,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
...
@@ -23,7 +23,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
key
:
'databaseDesc'
,
key
:
'databaseDesc'
,
align
:
'left'
,
align
:
'left'
,
ellipsis
:
{
ellipsis
:
{
tooltip
:
true
,
tooltip
:
{
width
:
'trigger'
}
,
},
},
width
:
380
,
width
:
380
,
render
(
row
:
DatabaseItemInterface
)
{
render
(
row
:
DatabaseItemInterface
)
{
...
...
src/views/personal-space/personal-database/components/create-database-modal.vue
View file @
a3834140
...
@@ -5,18 +5,16 @@ import { useI18n } from 'vue-i18n'
...
@@ -5,18 +5,16 @@ import { useI18n } from 'vue-i18n'
import
CustomModal
from
'@/components/custom-modal/custom-modal.vue'
import
CustomModal
from
'@/components/custom-modal/custom-modal.vue'
import
DatabaseDirectIcon
from
'@/assets/svgs/database-direct.svg'
import
DatabaseDirectIcon
from
'@/assets/svgs/database-direct.svg'
import
{
fetchTestConnectionDataBase
}
from
'@/apis/database'
import
{
fetchTestConnectionDataBase
}
from
'@/apis/database'
import
{
Database
Ite
mInterface
}
from
'../type.d'
import
{
Database
For
mInterface
}
from
'../type.d'
interface
Props
{
interface
Props
{
btnLoading
:
boolean
btnLoading
:
boolean
}
}
type
CreateDatabaseFormInterface
=
Omit
<
DatabaseItemInterface
,
'id'
|
'modifiedTime'
>
defineProps
<
Props
>
()
defineProps
<
Props
>
()
const
emit
=
defineEmits
<
{
const
emit
=
defineEmits
<
{
(
e
:
'confirm'
,
databaseFormData
:
Create
DatabaseFormInterface
):
void
(
e
:
'confirm'
,
databaseFormData
:
DatabaseFormInterface
):
void
}
>
()
}
>
()
const
{
t
}
=
useI18n
()
const
{
t
}
=
useI18n
()
...
@@ -26,7 +24,7 @@ const showModal = defineModel<boolean>('showModal', { required: true })
...
@@ -26,7 +24,7 @@ const showModal = defineModel<boolean>('showModal', { required: true })
const
databaseFormRef
=
ref
<
FormInst
|
null
>
(
null
)
const
databaseFormRef
=
ref
<
FormInst
|
null
>
(
null
)
const
scrollbarRef
=
useTemplateRef
<
ScrollbarInst
|
null
>
(
'scrollbarRef'
)
const
scrollbarRef
=
useTemplateRef
<
ScrollbarInst
|
null
>
(
'scrollbarRef'
)
let
databaseFormData
=
reactive
<
Create
DatabaseFormInterface
>
(
databaseFormDataFactory
())
let
databaseFormData
=
reactive
<
DatabaseFormInterface
>
(
databaseFormDataFactory
())
const
databaseFormRules
=
shallowReadonly
<
FormRules
>
({
const
databaseFormRules
=
shallowReadonly
<
FormRules
>
({
title
:
[
title
:
[
...
@@ -123,7 +121,7 @@ watchEffect(() => {
...
@@ -123,7 +121,7 @@ watchEffect(() => {
}
}
})
})
function
databaseFormDataFactory
():
Create
DatabaseFormInterface
{
function
databaseFormDataFactory
():
DatabaseFormInterface
{
return
{
return
{
title
:
''
,
title
:
''
,
desc
:
''
,
desc
:
''
,
...
...
src/views/personal-space/personal-database/components/edit-database-modal.vue
View file @
a3834140
...
@@ -3,18 +3,20 @@ import { FormInst, FormItemRule, FormRules, ScrollbarInst } from 'naive-ui'
...
@@ -3,18 +3,20 @@ import { FormInst, FormItemRule, FormRules, ScrollbarInst } from 'naive-ui'
import
{
nextTick
,
reactive
,
ref
,
shallowReadonly
,
useTemplateRef
,
watch
,
watchEffect
}
from
'vue'
import
{
nextTick
,
reactive
,
ref
,
shallowReadonly
,
useTemplateRef
,
watch
,
watchEffect
}
from
'vue'
import
{
useI18n
}
from
'vue-i18n'
import
{
useI18n
}
from
'vue-i18n'
import
CustomModal
from
'@/components/custom-modal/custom-modal.vue'
import
CustomModal
from
'@/components/custom-modal/custom-modal.vue'
import
{
Database
Ite
mInterface
}
from
'../type.d'
import
{
Database
For
mInterface
}
from
'../type.d'
import
{
fetchTestConnectionDataBase
}
from
'@/apis/database'
import
{
fetchTestConnectionDataBase
}
from
'@/apis/database'
type
DatabaseEditFormInterface
=
DatabaseFormInterface
&
{
id
:
number
}
interface
Props
{
interface
Props
{
databaseDetail
:
Database
Ite
mInterface
databaseDetail
:
Database
EditFor
mInterface
btnLoading
:
boolean
btnLoading
:
boolean
}
}
const
props
=
defineProps
<
Props
>
()
const
props
=
defineProps
<
Props
>
()
const
emit
=
defineEmits
<
{
const
emit
=
defineEmits
<
{
(
e
:
'confirm'
,
databaseFormData
:
Database
Ite
mInterface
):
void
(
e
:
'confirm'
,
databaseFormData
:
Database
EditFor
mInterface
):
void
}
>
()
}
>
()
const
{
t
}
=
useI18n
()
const
{
t
}
=
useI18n
()
...
@@ -24,7 +26,7 @@ const showModal = defineModel<boolean>('showModal', { required: true })
...
@@ -24,7 +26,7 @@ const showModal = defineModel<boolean>('showModal', { required: true })
const
databaseFormRef
=
ref
<
FormInst
|
null
>
(
null
)
const
databaseFormRef
=
ref
<
FormInst
|
null
>
(
null
)
const
scrollbarRef
=
useTemplateRef
<
ScrollbarInst
|
null
>
(
'scrollbarRef'
)
const
scrollbarRef
=
useTemplateRef
<
ScrollbarInst
|
null
>
(
'scrollbarRef'
)
let
databaseFormData
=
reactive
<
Database
Ite
mInterface
>
(
databaseFormDataFactory
())
let
databaseFormData
=
reactive
<
Database
EditFor
mInterface
>
(
databaseFormDataFactory
())
const
databaseFormRules
=
shallowReadonly
<
FormRules
>
({
const
databaseFormRules
=
shallowReadonly
<
FormRules
>
({
title
:
[
title
:
[
...
@@ -70,7 +72,7 @@ watch(
...
@@ -70,7 +72,7 @@ watch(
},
},
)
)
function
databaseFormDataFactory
():
Database
Ite
mInterface
{
function
databaseFormDataFactory
():
Database
EditFor
mInterface
{
return
{
return
{
id
:
0
,
id
:
0
,
title
:
''
,
title
:
''
,
...
@@ -81,7 +83,6 @@ function databaseFormDataFactory(): DatabaseItemInterface {
...
@@ -81,7 +83,6 @@ function databaseFormDataFactory(): DatabaseItemInterface {
dbName
:
''
,
dbName
:
''
,
dbUsername
:
''
,
dbUsername
:
''
,
dbPassword
:
''
,
dbPassword
:
''
,
modifiedTime
:
new
Date
(),
}
}
}
}
...
...
src/views/personal-space/personal-database/personal-database.vue
View file @
a3834140
...
@@ -7,10 +7,12 @@ import useTableScrollY from '@/composables/useTableScrollY'
...
@@ -7,10 +7,12 @@ import useTableScrollY from '@/composables/useTableScrollY'
import
{
usePagination
}
from
'@/composables/usePagination.ts'
import
{
usePagination
}
from
'@/composables/usePagination.ts'
import
CustomPagination
from
'@/components/custom-pagination/custom-pagination.vue'
import
CustomPagination
from
'@/components/custom-pagination/custom-pagination.vue'
import
{
createDatabaseColumn
}
from
'./columns.tsx'
import
{
createDatabaseColumn
}
from
'./columns.tsx'
import
{
DatabaseItemInterface
}
from
'./type.d'
import
{
Database
FormInterface
,
Database
ItemInterface
}
from
'./type.d'
import
EditDatabaseModal
from
'./components/edit-database-modal.vue'
import
EditDatabaseModal
from
'./components/edit-database-modal.vue'
import
{
fetchDeleteDataBaseById
,
fetchGetDataBaseList
,
handleUpdateDataBase
}
from
'@/apis/database.ts'
import
{
fetchDeleteDataBaseById
,
fetchGetDataBaseList
,
handleUpdateDataBase
}
from
'@/apis/database.ts'
type
DatabaseEditFormInterface
=
DatabaseFormInterface
&
{
id
:
number
}
const
{
t
}
=
useI18n
()
const
{
t
}
=
useI18n
()
const
databaseListTableRef
=
useTemplateRef
<
DataTableInst
>
(
'databaseListTableRef'
)
const
databaseListTableRef
=
useTemplateRef
<
DataTableInst
>
(
'databaseListTableRef'
)
...
@@ -26,7 +28,7 @@ const databaseListLoading = ref(false)
...
@@ -26,7 +28,7 @@ const databaseListLoading = ref(false)
const
showEditDatabaseModal
=
ref
(
false
)
const
showEditDatabaseModal
=
ref
(
false
)
const
updateDatabaseBtnLoading
=
ref
(
false
)
const
updateDatabaseBtnLoading
=
ref
(
false
)
const
currentEditDatabaseInfo
=
ref
<
Database
Ite
mInterface
>
({
const
currentEditDatabaseInfo
=
ref
<
Database
EditFor
mInterface
>
({
id
:
0
,
id
:
0
,
title
:
''
,
title
:
''
,
desc
:
''
,
desc
:
''
,
...
@@ -36,7 +38,6 @@ const currentEditDatabaseInfo = ref<DatabaseItemInterface>({
...
@@ -36,7 +38,6 @@ const currentEditDatabaseInfo = ref<DatabaseItemInterface>({
dbName
:
''
,
dbName
:
''
,
dbUsername
:
''
,
dbUsername
:
''
,
dbPassword
:
''
,
dbPassword
:
''
,
modifiedTime
:
new
Date
(),
})
})
const
databaseColumns
=
createDatabaseColumn
(
handleDatabaseTableAction
)
const
databaseColumns
=
createDatabaseColumn
(
handleDatabaseTableAction
)
...
@@ -81,39 +82,39 @@ async function handleSearchDatabaseList() {
...
@@ -81,39 +82,39 @@ async function handleSearchDatabaseList() {
databaseListTableRef
.
value
?.
scrollTo
({
top
:
0
,
behavior
:
'smooth'
})
databaseListTableRef
.
value
?.
scrollTo
({
top
:
0
,
behavior
:
'smooth'
})
}
}
function
handleDatabaseTableAction
(
actionType
:
string
,
d
atabase
Id
:
number
)
{
function
handleDatabaseTableAction
(
actionType
:
string
,
d
b
Id
:
number
)
{
switch
(
actionType
)
{
switch
(
actionType
)
{
case
'view'
:
case
'view'
:
handleToDatabaseDetail
(
d
atabase
Id
)
handleToDatabaseDetail
(
d
b
Id
)
break
break
case
'edit'
:
case
'edit'
:
handleShowEditDatabaseModal
(
d
atabase
Id
)
handleShowEditDatabaseModal
(
d
b
Id
)
break
break
case
'delete'
:
case
'delete'
:
handleDeleteDatabaseById
(
d
atabase
Id
)
handleDeleteDatabaseById
(
d
b
Id
)
break
break
}
}
}
}
function
handleToDatabaseDetail
(
_d
atabase
Id
:
number
)
{
function
handleToDatabaseDetail
(
_d
b
Id
:
number
)
{
// TODO
// TODO
}
}
function
handleShowEditDatabaseModal
(
d
atabase
Id
:
number
)
{
function
handleShowEditDatabaseModal
(
d
b
Id
:
number
)
{
showEditDatabaseModal
.
value
=
true
showEditDatabaseModal
.
value
=
true
databaseList
.
value
.
forEach
((
item
)
=>
{
databaseList
.
value
.
forEach
((
item
)
=>
{
if
(
item
.
id
===
d
atabase
Id
)
{
if
(
item
.
id
===
d
b
Id
)
{
currentEditDatabaseInfo
.
value
=
item
currentEditDatabaseInfo
.
value
=
item
}
}
})
})
}
}
function
handleDeleteDatabaseById
(
d
atabase
Id
:
number
)
{
function
handleDeleteDatabaseById
(
d
b
Id
:
number
)
{
window
.
$message
window
.
$message
.
ctWarning
(
''
,
t
(
'personal_space_module.knowledge_module.delete_knowledge_dialog_content'
))
.
ctWarning
(
''
,
t
(
'personal_space_module.knowledge_module.delete_knowledge_dialog_content'
))
.
then
(
async
()
=>
{
.
then
(
async
()
=>
{
const
res
=
await
fetchDeleteDataBaseById
(
d
atabase
Id
)
const
res
=
await
fetchDeleteDataBaseById
(
d
b
Id
)
if
(
res
.
code
===
0
)
{
if
(
res
.
code
===
0
)
{
if
(
databaseList
.
value
.
length
<=
1
&&
paginationData
.
pageNo
===
paginationData
.
totalPages
)
{
if
(
databaseList
.
value
.
length
<=
1
&&
paginationData
.
pageNo
===
paginationData
.
totalPages
)
{
...
@@ -125,7 +126,7 @@ function handleDeleteDatabaseById(databaseId: number) {
...
@@ -125,7 +126,7 @@ function handleDeleteDatabaseById(databaseId: number) {
})
})
}
}
async
function
handleUpdateDatabase
(
databaseData
:
Database
Ite
mInterface
)
{
async
function
handleUpdateDatabase
(
databaseData
:
Database
EditFor
mInterface
)
{
updateDatabaseBtnLoading
.
value
=
true
updateDatabaseBtnLoading
.
value
=
true
const
res
=
await
handleUpdateDataBase
(
databaseData
).
finally
(()
=>
{
const
res
=
await
handleUpdateDataBase
(
databaseData
).
finally
(()
=>
{
...
...
src/views/personal-space/personal-database/type.d.ts
View file @
a3834140
export
interface
DatabaseTableInfoItem
{
table_NAME
:
string
table_COMMENT
:
string
table_ROWS
:
number
table_COLUMN
:
number
}
export
interface
DatabaseItemInterface
{
export
interface
DatabaseItemInterface
{
id
:
number
id
:
number
title
:
string
title
:
string
...
@@ -9,4 +16,7 @@ export interface DatabaseItemInterface {
...
@@ -9,4 +16,7 @@ export interface DatabaseItemInterface {
dbUsername
:
string
dbUsername
:
string
dbPassword
:
string
dbPassword
:
string
modifiedTime
:
Date
modifiedTime
:
Date
tableInfos
:
DatabaseTableInfoItem
[]
}
}
export
type
DatabaseFormInterface
=
Omit
<
DatabaseItemInterface
,
'id'
|
'modifiedTime'
|
'tableInfos'
>
src/views/personal-space/personal-space.vue
View file @
a3834140
...
@@ -9,7 +9,7 @@ import CreateKnowledgeModal, {
...
@@ -9,7 +9,7 @@ import CreateKnowledgeModal, {
import
CreateDatabaseModal
from
'./personal-database/components/create-database-modal.vue'
import
CreateDatabaseModal
from
'./personal-database/components/create-database-modal.vue'
import
{
fetchCreateKnowledge
}
from
'@/apis/knowledge'
import
{
fetchCreateKnowledge
}
from
'@/apis/knowledge'
import
{
fetchCreateDataBase
}
from
'@/apis/database'
import
{
fetchCreateDataBase
}
from
'@/apis/database'
import
{
Database
Ite
mInterface
}
from
'./personal-database/type'
import
{
Database
For
mInterface
}
from
'./personal-database/type'
const
{
t
}
=
useI18n
()
const
{
t
}
=
useI18n
()
...
@@ -106,7 +106,7 @@ async function handleCreateKnowledgeNextStep(createKnowledgeData: KnowledgeFormD
...
@@ -106,7 +106,7 @@ async function handleCreateKnowledgeNextStep(createKnowledgeData: KnowledgeFormD
}
}
}
}
async
function
handleCreateDatabase
(
databaseData
:
Omit
<
DatabaseItemInterface
,
'id'
|
'modifiedTime'
>
)
{
async
function
handleCreateDatabase
(
databaseData
:
DatabaseFormInterface
)
{
createDatabaseBtnLoading
.
value
=
true
createDatabaseBtnLoading
.
value
=
true
const
res
=
await
fetchCreateDataBase
(
databaseData
).
finally
(()
=>
{
const
res
=
await
fetchCreateDataBase
(
databaseData
).
finally
(()
=>
{
...
...
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