Commit e660b9f5 authored by nick zheng's avatar nick zheng

chore(数据库): 更新参数定义

parent 54997e8b
...@@ -15,7 +15,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str ...@@ -15,7 +15,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
width: 210, width: 210,
fixed: 'left', fixed: 'left',
render(row: DatabaseItemInterface) { render(row: DatabaseItemInterface) {
return row.databaseName || '--' return row.title || '--'
}, },
}, },
{ {
...@@ -27,7 +27,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str ...@@ -27,7 +27,7 @@ export function createDatabaseColumn(handleDatabaseTableAction: (actionType: str
}, },
width: 380, width: 380,
render(row: DatabaseItemInterface) { render(row: DatabaseItemInterface) {
return row.databaseDesc || '--' return row.desc || '--'
}, },
}, },
{ {
......
...@@ -10,20 +10,20 @@ const databaseFormRef = ref<FormInst | null>(null) ...@@ -10,20 +10,20 @@ const databaseFormRef = ref<FormInst | null>(null)
const scrollbarRef = useTemplateRef<ScrollbarInst | null>('scrollbarRef') const scrollbarRef = useTemplateRef<ScrollbarInst | null>('scrollbarRef')
const databaseFormData = reactive({ const databaseFormData = reactive({
name: '', title: '',
databaseDesc: '', desc: '',
databaseSourceType: 'MySQL', dbType: 'MYSQL',
databaseHost: '', dbHost: '',
databasePort: '', dbPort: '',
databaseName: '', dbName: '',
databaseUserName: '', dbUserName: '',
databasePassword: '', dbPassword: '',
}) })
const databaseFormRules = shallowReadonly<FormRules>({ const databaseFormRules = shallowReadonly<FormRules>({
name: [ title: [
{ {
key: 'name', key: 'title',
required: true, required: true,
validator: (_rule: FormItemRule, value: string) => { validator: (_rule: FormItemRule, value: string) => {
const pattern = /^[\u4e00-\u9fa5a-zA-Z0-9_\-\\.]+$/ const pattern = /^[\u4e00-\u9fa5a-zA-Z0-9_\-\\.]+$/
...@@ -39,12 +39,12 @@ const databaseFormRules = shallowReadonly<FormRules>({ ...@@ -39,12 +39,12 @@ const databaseFormRules = shallowReadonly<FormRules>({
trigger: 'blur', trigger: 'blur',
}, },
], ],
databaseSourceType: [{ required: true, message: '请选择数据源类型', trigger: 'blur' }], dbType: [{ required: true, message: '请选择数据源类型', trigger: 'blur' }],
databaseHost: [{ required: true, message: '请输入IP地址或域名', trigger: 'blur' }], dbHost: [{ required: true, message: '请输入IP地址或域名', trigger: 'blur' }],
databasePort: [{ required: true, message: '请输入端口号', trigger: 'blur' }], dbPort: [{ required: true, message: '请输入端口号', trigger: 'blur' }],
databaseName: [{ required: true, message: '请输入数据库名', trigger: 'blur' }], dbName: [{ required: true, message: '请输入数据库名', trigger: 'blur' }],
databaseUserName: [{ required: true, message: '请输入用户名', trigger: 'blur' }], dbUserName: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
databasePassword: [{ required: true, message: '请输入密码', trigger: 'blur' }], dbPassword: [{ required: true, message: '请输入密码', trigger: 'blur' }],
}) })
const databaseTypeList = readonly([ const databaseTypeList = readonly([
...@@ -78,7 +78,7 @@ function handleConnectDatabase() { ...@@ -78,7 +78,7 @@ function handleConnectDatabase() {
} }
}, },
(rule) => { (rule) => {
return rule?.key !== 'name' return rule?.key !== 'title'
}, },
) )
} }
...@@ -113,10 +113,10 @@ function handleCreateDatabase() { ...@@ -113,10 +113,10 @@ function handleCreateDatabase() {
<span>{{ databaseTypeItem.name }}</span> <span>{{ databaseTypeItem.name }}</span>
</div> </div>
</n-form-item> </n-form-item>
<n-form-item label="数据库名称" path="name" :feedback-style="{ fontSize: '13px' }"> <n-form-item label="数据库名称" path="title" :feedback-style="{ fontSize: '13px' }">
<div class="flex w-full flex-col"> <div class="flex w-full flex-col">
<n-input <n-input
v-model:value="databaseFormData.name" v-model:value="databaseFormData.title"
placeholder="请输入数据库名称" placeholder="请输入数据库名称"
show-count show-count
:maxlength="50" :maxlength="50"
...@@ -129,7 +129,7 @@ function handleCreateDatabase() { ...@@ -129,7 +129,7 @@ function handleCreateDatabase() {
<n-form-item label="数据库描述"> <n-form-item label="数据库描述">
<n-input <n-input
v-model:value="databaseFormData.databaseDesc" v-model:value="databaseFormData.desc"
placeholder="请输入数据库描述,此描述仅用于区分不同数据库,不会影响数据库调用" placeholder="请输入数据库描述,此描述仅用于区分不同数据库,不会影响数据库调用"
show-count show-count
:maxlength="100" :maxlength="100"
...@@ -140,38 +140,38 @@ function handleCreateDatabase() { ...@@ -140,38 +140,38 @@ function handleCreateDatabase() {
<h3 class="font-family-medium mb-4 text-[18px]">数据源信息</h3> <h3 class="font-family-medium mb-4 text-[18px]">数据源信息</h3>
<n-form-item label="数据源类型" path="databaseSourceType" :feedback-style="{ fontSize: '13px' }"> <n-form-item label="数据源类型" path="dbType" :feedback-style="{ fontSize: '13px' }">
<n-select <n-select
v-model:value="databaseFormData.databaseSourceType" v-model:value="databaseFormData.dbType"
placeholder="请选择数据源类型" placeholder="请选择数据源类型"
:options="databaseSourceTypeOptions" :options="databaseSourceTypeOptions"
/> />
</n-form-item> </n-form-item>
<n-form-item label="数据库地址host" path="databaseHost" :feedback-style="{ fontSize: '13px' }"> <n-form-item label="数据库地址host" path="dbHost" :feedback-style="{ fontSize: '13px' }">
<div class="flex w-full flex-col"> <div class="flex w-full flex-col">
<n-input v-model:value="databaseFormData.databaseHost" placeholder="请输入IP地址或域名" /> <n-input v-model:value="databaseFormData.dbHost" placeholder="请输入IP地址或域名" />
<span class="mt-1 px-2.5 text-[13px] text-[#6F77FF]"> <span class="mt-1 px-2.5 text-[13px] text-[#6F77FF]">
输入的数据源Host必须是公网地址,以百度云GaiaDB数据库为例,请参考文档进行配置 输入的数据源Host必须是公网地址,以百度云GaiaDB数据库为例,请参考文档进行配置
</span> </span>
</div> </div>
</n-form-item> </n-form-item>
<n-form-item label="端口号" path="databasePort" :feedback-style="{ fontSize: '13px' }"> <n-form-item label="端口号" path="dbPort" :feedback-style="{ fontSize: '13px' }">
<n-input v-model:value="databaseFormData.databasePort" placeholder="请输入端口号" /> <n-input v-model:value="databaseFormData.dbPort" placeholder="请输入端口号" />
</n-form-item> </n-form-item>
<n-form-item label="数据库名" path="databaseName" :feedback-style="{ fontSize: '13px' }"> <n-form-item label="数据库名" path="dbName" :feedback-style="{ fontSize: '13px' }">
<n-input v-model:value="databaseFormData.databaseName" placeholder="请输入数据库名" /> <n-input v-model:value="databaseFormData.dbName" placeholder="请输入数据库名" />
</n-form-item> </n-form-item>
<n-form-item label="用户名" path="databaseUserName" :feedback-style="{ fontSize: '13px' }"> <n-form-item label="用户名" path="dbUserName" :feedback-style="{ fontSize: '13px' }">
<n-input v-model:value="databaseFormData.databaseUserName" placeholder="请输入用户名" /> <n-input v-model:value="databaseFormData.dbUserName" placeholder="请输入用户名" />
</n-form-item> </n-form-item>
<n-form-item label="密码" path="databasePassword" :feedback-style="{ fontSize: '13px' }"> <n-form-item label="密码" path="dbPassword" :feedback-style="{ fontSize: '13px' }">
<n-input <n-input
v-model:value="databaseFormData.databasePassword" v-model:value="databaseFormData.dbPassword"
type="password" type="password"
show-password-on="click" show-password-on="click"
placeholder="请输入密码" placeholder="请输入密码"
......
...@@ -9,18 +9,19 @@ const databaseFormRef = ref<FormInst | null>(null) ...@@ -9,18 +9,19 @@ const databaseFormRef = ref<FormInst | null>(null)
const scrollbarRef = useTemplateRef<ScrollbarInst | null>('scrollbarRef') const scrollbarRef = useTemplateRef<ScrollbarInst | null>('scrollbarRef')
const databaseFormData = reactive({ const databaseFormData = reactive({
databaseName: 'test', title: 'test',
databaseDesc: '', desc: '',
databaseSourceType: 'MySQL', dbType: 'MySQL',
databaseHost: '125.88.205.65', dbHost: '125.88.205.65',
databasePort: '8080', dbPort: '8080',
databaseUserName: 'root', dbName: 'xxxx',
databasePassword: '88888', dbUserName: 'root',
dbPassword: '88888',
}) })
const databaseFormRules = shallowReadonly<FormRules>({ const databaseFormRules = shallowReadonly<FormRules>({
databaseName: [{ required: true, message: '请输入数据库名称', trigger: 'blur' }], title: [{ required: true, message: '请输入数据库名称', trigger: 'blur' }],
databasePassword: [{ required: true, message: '请输入密码', trigger: 'blur' }], dbPassword: [{ required: true, message: '请输入密码', trigger: 'blur' }],
}) })
const isConnectDatabaseSuccess = ref(false) const isConnectDatabaseSuccess = ref(false)
...@@ -38,7 +39,7 @@ function handleConnectDatabase() { ...@@ -38,7 +39,7 @@ function handleConnectDatabase() {
} }
}, },
(rule) => { (rule) => {
return rule?.key !== 'name' return rule?.key !== 'title'
}, },
) )
} }
...@@ -49,10 +50,10 @@ function handleConnectDatabase() { ...@@ -49,10 +50,10 @@ function handleConnectDatabase() {
<template #content> <template #content>
<n-scrollbar ref="scrollbarRef" style="max-height: 550px"> <n-scrollbar ref="scrollbarRef" style="max-height: 550px">
<n-form ref="databaseFormRef" :model="databaseFormData" :rules="databaseFormRules"> <n-form ref="databaseFormRef" :model="databaseFormData" :rules="databaseFormRules">
<n-form-item label="数据库名称" path="databaseName" :feedback-style="{ fontSize: '13px' }"> <n-form-item label="数据库名称" path="title" :feedback-style="{ fontSize: '13px' }">
<div class="flex w-full flex-col"> <div class="flex w-full flex-col">
<n-input <n-input
v-model:value="databaseFormData.databaseName" v-model:value="databaseFormData.title"
placeholder="请输入数据库名称" placeholder="请输入数据库名称"
show-count show-count
:maxlength="50" :maxlength="50"
...@@ -65,7 +66,7 @@ function handleConnectDatabase() { ...@@ -65,7 +66,7 @@ function handleConnectDatabase() {
<n-form-item label="数据库描述"> <n-form-item label="数据库描述">
<n-input <n-input
v-model:value="databaseFormData.databaseDesc" v-model:value="databaseFormData.desc"
placeholder="请输入数据库描述,此描述仅用于区分不同数据库,不会影响数据库调用" placeholder="请输入数据库描述,此描述仅用于区分不同数据库,不会影响数据库调用"
show-count show-count
:maxlength="100" :maxlength="100"
...@@ -78,37 +79,37 @@ function handleConnectDatabase() { ...@@ -78,37 +79,37 @@ function handleConnectDatabase() {
<n-form-item label="数据源类型" show-require-mark :feedback-style="{ fontSize: '13px' }"> <n-form-item label="数据源类型" show-require-mark :feedback-style="{ fontSize: '13px' }">
<div class="rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"> <div class="rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]">
{{ databaseFormData.databaseSourceType }} {{ databaseFormData.dbType }}
</div> </div>
</n-form-item> </n-form-item>
<n-form-item label="数据库地址host" show-require-mark :feedback-style="{ fontSize: '13px' }"> <n-form-item label="数据库地址host" show-require-mark :feedback-style="{ fontSize: '13px' }">
<div class="rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"> <div class="rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]">
{{ databaseFormData.databaseHost }} {{ databaseFormData.dbHost }}
</div> </div>
</n-form-item> </n-form-item>
<n-form-item label="端口号" show-require-mark :feedback-style="{ fontSize: '13px' }"> <n-form-item label="端口号" show-require-mark :feedback-style="{ fontSize: '13px' }">
<div class="rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"> <div class="rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]">
{{ databaseFormData.databasePort }} {{ databaseFormData.dbPort }}
</div> </div>
</n-form-item> </n-form-item>
<n-form-item label="数据库名称" show-require-mark :feedback-style="{ fontSize: '13px' }"> <n-form-item label="数据库名称" show-require-mark :feedback-style="{ fontSize: '13px' }">
<div class="rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"> <div class="rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]">
{{ databaseFormData.databaseName }} {{ databaseFormData.dbName }}
</div> </div>
</n-form-item> </n-form-item>
<n-form-item label="用户名" show-require-mark :feedback-style="{ fontSize: '13px' }"> <n-form-item label="用户名" show-require-mark :feedback-style="{ fontSize: '13px' }">
<div class="rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]"> <div class="rounded-theme flex h-[32px] w-full items-center bg-[#FAFAFA] px-[14px]">
{{ databaseFormData.databaseUserName }} {{ databaseFormData.dbUserName }}
</div> </div>
</n-form-item> </n-form-item>
<n-form-item label="密码" path="databasePassword" :feedback-style="{ fontSize: '13px' }"> <n-form-item label="密码" path="dbPassword" :feedback-style="{ fontSize: '13px' }">
<n-input <n-input
v-model:value="databaseFormData.databasePassword" v-model:value="databaseFormData.dbPassword"
type="password" type="password"
show-password-on="click" show-password-on="click"
placeholder="请输入密码" placeholder="请输入密码"
......
...@@ -20,14 +20,14 @@ const showEditDatabaseModal = ref(false) ...@@ -20,14 +20,14 @@ const showEditDatabaseModal = ref(false)
const databaseList = ref<DatabaseItemInterface[]>([ const databaseList = ref<DatabaseItemInterface[]>([
{ {
id: 1, id: 1,
databaseName: '数据库1', title: '数据库1',
databaseDesc: '描述1', desc: '描述1',
updateTime: new Date(), updateTime: new Date(),
}, },
{ {
id: 2, id: 2,
databaseName: '数据库2', title: '数据库2',
databaseDesc: '描述2', desc: '描述2',
updateTime: new Date(), updateTime: new Date(),
}, },
]) ])
......
export interface DatabaseItemInterface { export interface DatabaseItemInterface {
id: number id: number
databaseName: string title: string
databaseDesc: string desc: string
updateTime: Date updateTime: Date
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment