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
You need to sign in or sign up before continuing.
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
key
:
'databaseName'
,
align
:
'left'
,
ellipsis
:
{
tooltip
:
true
,
tooltip
:
{
width
:
'trigger'
}
,
},
width
:
210
,
fixed
:
'left'
,
...
...
@@ -23,7 +23,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
key
:
'databaseDesc'
,
align
:
'left'
,
ellipsis
:
{
tooltip
:
true
,
tooltip
:
{
width
:
'trigger'
}
,
},
width
:
380
,
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'
import
CustomModal
from
'@/components/custom-modal/custom-modal.vue'
import
DatabaseDirectIcon
from
'@/assets/svgs/database-direct.svg'
import
{
fetchTestConnectionDataBase
}
from
'@/apis/database'
import
{
Database
Ite
mInterface
}
from
'../type.d'
import
{
Database
For
mInterface
}
from
'../type.d'
interface
Props
{
btnLoading
:
boolean
}
type
CreateDatabaseFormInterface
=
Omit
<
DatabaseItemInterface
,
'id'
|
'modifiedTime'
>
defineProps
<
Props
>
()
const
emit
=
defineEmits
<
{
(
e
:
'confirm'
,
databaseFormData
:
Create
DatabaseFormInterface
):
void
(
e
:
'confirm'
,
databaseFormData
:
DatabaseFormInterface
):
void
}
>
()
const
{
t
}
=
useI18n
()
...
...
@@ -26,7 +24,7 @@ const showModal = defineModel<boolean>('showModal', { required: true })
const
databaseFormRef
=
ref
<
FormInst
|
null
>
(
null
)
const
scrollbarRef
=
useTemplateRef
<
ScrollbarInst
|
null
>
(
'scrollbarRef'
)
let
databaseFormData
=
reactive
<
Create
DatabaseFormInterface
>
(
databaseFormDataFactory
())
let
databaseFormData
=
reactive
<
DatabaseFormInterface
>
(
databaseFormDataFactory
())
const
databaseFormRules
=
shallowReadonly
<
FormRules
>
({
title
:
[
...
...
@@ -123,7 +121,7 @@ watchEffect(() => {
}
})
function
databaseFormDataFactory
():
Create
DatabaseFormInterface
{
function
databaseFormDataFactory
():
DatabaseFormInterface
{
return
{
title
:
''
,
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'
import
{
nextTick
,
reactive
,
ref
,
shallowReadonly
,
useTemplateRef
,
watch
,
watchEffect
}
from
'vue'
import
{
useI18n
}
from
'vue-i18n'
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'
type
DatabaseEditFormInterface
=
DatabaseFormInterface
&
{
id
:
number
}
interface
Props
{
databaseDetail
:
Database
Ite
mInterface
databaseDetail
:
Database
EditFor
mInterface
btnLoading
:
boolean
}
const
props
=
defineProps
<
Props
>
()
const
emit
=
defineEmits
<
{
(
e
:
'confirm'
,
databaseFormData
:
Database
Ite
mInterface
):
void
(
e
:
'confirm'
,
databaseFormData
:
Database
EditFor
mInterface
):
void
}
>
()
const
{
t
}
=
useI18n
()
...
...
@@ -24,7 +26,7 @@ const showModal = defineModel<boolean>('showModal', { required: true })
const
databaseFormRef
=
ref
<
FormInst
|
null
>
(
null
)
const
scrollbarRef
=
useTemplateRef
<
ScrollbarInst
|
null
>
(
'scrollbarRef'
)
let
databaseFormData
=
reactive
<
Database
Ite
mInterface
>
(
databaseFormDataFactory
())
let
databaseFormData
=
reactive
<
Database
EditFor
mInterface
>
(
databaseFormDataFactory
())
const
databaseFormRules
=
shallowReadonly
<
FormRules
>
({
title
:
[
...
...
@@ -70,7 +72,7 @@ watch(
},
)
function
databaseFormDataFactory
():
Database
Ite
mInterface
{
function
databaseFormDataFactory
():
Database
EditFor
mInterface
{
return
{
id
:
0
,
title
:
''
,
...
...
@@ -81,7 +83,6 @@ function databaseFormDataFactory(): DatabaseItemInterface {
dbName
:
''
,
dbUsername
:
''
,
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'
import
{
usePagination
}
from
'@/composables/usePagination.ts'
import
CustomPagination
from
'@/components/custom-pagination/custom-pagination.vue'
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
{
fetchDeleteDataBaseById
,
fetchGetDataBaseList
,
handleUpdateDataBase
}
from
'@/apis/database.ts'
type
DatabaseEditFormInterface
=
DatabaseFormInterface
&
{
id
:
number
}
const
{
t
}
=
useI18n
()
const
databaseListTableRef
=
useTemplateRef
<
DataTableInst
>
(
'databaseListTableRef'
)
...
...
@@ -26,7 +28,7 @@ const databaseListLoading = ref(false)
const
showEditDatabaseModal
=
ref
(
false
)
const
updateDatabaseBtnLoading
=
ref
(
false
)
const
currentEditDatabaseInfo
=
ref
<
Database
Ite
mInterface
>
({
const
currentEditDatabaseInfo
=
ref
<
Database
EditFor
mInterface
>
({
id
:
0
,
title
:
''
,
desc
:
''
,
...
...
@@ -36,7 +38,6 @@ const currentEditDatabaseInfo = ref<DatabaseItemInterface>({
dbName
:
''
,
dbUsername
:
''
,
dbPassword
:
''
,
modifiedTime
:
new
Date
(),
})
const
databaseColumns
=
createDatabaseColumn
(
handleDatabaseTableAction
)
...
...
@@ -81,39 +82,39 @@ async function handleSearchDatabaseList() {
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
)
{
case
'view'
:
handleToDatabaseDetail
(
d
atabase
Id
)
handleToDatabaseDetail
(
d
b
Id
)
break
case
'edit'
:
handleShowEditDatabaseModal
(
d
atabase
Id
)
handleShowEditDatabaseModal
(
d
b
Id
)
break
case
'delete'
:
handleDeleteDatabaseById
(
d
atabase
Id
)
handleDeleteDatabaseById
(
d
b
Id
)
break
}
}
function
handleToDatabaseDetail
(
_d
atabase
Id
:
number
)
{
function
handleToDatabaseDetail
(
_d
b
Id
:
number
)
{
// TODO
}
function
handleShowEditDatabaseModal
(
d
atabase
Id
:
number
)
{
function
handleShowEditDatabaseModal
(
d
b
Id
:
number
)
{
showEditDatabaseModal
.
value
=
true
databaseList
.
value
.
forEach
((
item
)
=>
{
if
(
item
.
id
===
d
atabase
Id
)
{
if
(
item
.
id
===
d
b
Id
)
{
currentEditDatabaseInfo
.
value
=
item
}
})
}
function
handleDeleteDatabaseById
(
d
atabase
Id
:
number
)
{
function
handleDeleteDatabaseById
(
d
b
Id
:
number
)
{
window
.
$message
.
ctWarning
(
''
,
t
(
'personal_space_module.knowledge_module.delete_knowledge_dialog_content'
))
.
then
(
async
()
=>
{
const
res
=
await
fetchDeleteDataBaseById
(
d
atabase
Id
)
const
res
=
await
fetchDeleteDataBaseById
(
d
b
Id
)
if
(
res
.
code
===
0
)
{
if
(
databaseList
.
value
.
length
<=
1
&&
paginationData
.
pageNo
===
paginationData
.
totalPages
)
{
...
...
@@ -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
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
{
id
:
number
title
:
string
...
...
@@ -9,4 +16,7 @@ export interface DatabaseItemInterface {
dbUsername
:
string
dbPassword
:
string
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, {
import
CreateDatabaseModal
from
'./personal-database/components/create-database-modal.vue'
import
{
fetchCreateKnowledge
}
from
'@/apis/knowledge'
import
{
fetchCreateDataBase
}
from
'@/apis/database'
import
{
Database
Ite
mInterface
}
from
'./personal-database/type'
import
{
Database
For
mInterface
}
from
'./personal-database/type'
const
{
t
}
=
useI18n
()
...
...
@@ -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
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