Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-platform-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
QA
qa-platform-ui
Commits
e2bbb527
Commit
e2bbb527
authored
Jun 22, 2021
by
晓彤
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交同数据库功能
parent
b633c278
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
182 additions
and
11 deletions
+182
-11
effect.js
src/api/effect.js
+24
-0
index.js
src/router/index.js
+17
-10
InterfaceList.vue
src/views/auto/InterfaceList.vue
+0
-1
SynDatabase.vue
src/views/effect/SynDatabase.vue
+135
-0
menu.json
src/views/layout/leftAside/menu.json
+6
-0
No files found.
src/api/effect.js
View file @
e2bbb527
...
...
@@ -63,3 +63,27 @@ export function clearData(dataInfo) {
params
:
dataInfo
})
}
// 获取数据库列表
export
function
getDataBaseList
(
dataInfo
)
{
return
holmesRequest
({
url
:
'
/dbsync/dbs
'
,
method
:
'
get
'
,
params
:
dataInfo
})
}
// 根据数据库获取表信息
export
function
getTableByDataBase
(
dataInfo
)
{
return
holmesRequest
({
url
:
'
/dbsync/tables
'
,
method
:
'
get
'
,
params
:
dataInfo
})
}
// 同步数据库
export
function
synDataBase
(
dataInfo
)
{
return
holmesRequest
({
url
:
'
/dbsync/one
'
,
method
:
'
get
'
,
params
:
dataInfo
})
}
src/router/index.js
View file @
e2bbb527
...
...
@@ -31,6 +31,8 @@ import RepayCallback from '../views/vcc/RepayCallback'
// 添加报告页面
import
ReportList
from
'
../views/auto/ReportList
'
import
ReportDetail
from
'
../views/auto/ReportDetail
'
// 添加同步数据库功能
import
SynDatabase
from
'
../views/effect/SynDatabase
'
const
originalPush
=
Router
.
prototype
.
push
Router
.
prototype
.
push
=
function
push
(
location
)
{
...
...
@@ -55,8 +57,8 @@ const router = new Router({
// component: Login
// },
{
'
path
'
:
'
/home
'
,
'
redirect
'
:
'
/main
'
,
path
:
'
/home
'
,
redirect
:
'
/main
'
,
component
:
Home
,
children
:
[
{
...
...
@@ -152,39 +154,44 @@ const router = new Router({
component
:
EditScene
},
{
'
path
'
:
'
/jira/notify
'
,
path
:
'
/jira/notify
'
,
component
:
JiraNotify
},
{
'
path
'
:
'
/vcc/risk
'
,
path
:
'
/vcc/risk
'
,
component
:
RiskControl
},
{
'
path
'
:
'
/effect/clearcache
'
,
path
:
'
/effect/clearcache
'
,
component
:
ClearCache
},
{
'
path
'
:
'
/effect/cleardata
'
,
path
:
'
/effect/cleardata
'
,
component
:
ClearData
},
{
'
path
'
:
'
/vcc/repaycallback
'
,
path
:
'
/vcc/repaycallback
'
,
component
:
RepayCallback
},
// 添加报告
{
'
path
'
:
'
/auto/ReportList
'
,
path
:
'
/auto/ReportList
'
,
name
:
ReportList
,
component
:
ReportList
},
{
'
path
'
:
'
/auto/ReportDetail
'
,
path
:
'
/auto/ReportDetail
'
,
name
:
ReportDetail
,
component
:
ReportDetail
},
// 添加同步数据库
{
path
:
'
/effect/SynDatabase
'
,
name
:
SynDatabase
,
component
:
SynDatabase
}
]
}
]
})
export
default
router
src/views/auto/InterfaceList.vue
View file @
e2bbb527
...
...
@@ -27,7 +27,6 @@
<!-- <el-table-column prop="method" label="请求方式" width="100px"></el-table-column> -->
<!-- <el-table-column prop="paramType" label="参数类型" width="80px"></el-table-column> -->
<el-table-column
prop=
"createTime"
label=
"创建时间"
width=
"200px"
></el-table-column>
<!-- <el-table-column prop="updateTime" label="修改时间" width="200px"></el-table-column> -->
<el-table-column
label=
"操作"
>
<slot
slot-scope=
"scope"
>
<el-button
type=
"warning"
icon=
"el-icon-edit"
@
click=
"editInterfaceFrom(scope.row)"
>
编辑
</el-button>
...
...
src/views/effect/SynDatabase.vue
0 → 100644
View file @
e2bbb527
<
template
>
<div>
<el-card>
<!--
<span>
同步数据库操作
</span>
-->
<el-form
ref=
"databaseFromRef"
:rules=
"rules"
:model=
"databaseFrom"
label-width=
"90px"
>
<el-form-item
label=
"环 境:"
prop=
"namespace"
>
<el-select
v-model=
"databaseFrom.namespace"
placeholder=
"请选择环境"
style=
"width:280px"
>
<el-option
v-for=
"item in namespaceList"
:key=
"item.key"
:label=
"item.desc"
:value=
"item.key"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"库 名:"
prop=
"dataBaseName"
>
<el-select
v-model=
"databaseFrom.dataBaseName"
placeholder=
"请选择环境"
style=
"width:280px"
@
change=
"selectChange"
clearable
>
<el-option
v-for=
"item in dataBaseList"
:key=
"item"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"表 名:"
>
<el-select
v-model=
"databaseFrom.tableName"
placeholder=
"请选择环境"
style=
"width:280px"
>
<el-option
v-for=
"item in tableList"
:key=
"item"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"synBtn"
style=
"margin-left:80px"
>
开始同步
</el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</
template
>
<
script
>
import
{
getNamespaceList
}
from
'
@/api/getXyqbData
'
import
{
getDataBaseList
,
getTableByDataBase
,
synDataBase
}
from
'
@/api/effect
'
export
default
{
data
()
{
return
{
databaseFrom
:
{
namespace
:
''
,
dataBaseName
:
''
,
tableName
:
''
},
namespaceList
:
[],
dataBaseList
:
[],
tableList
:
[],
paramsFrom
:
{
namespace
:
''
,
dbName
:
''
,
tableName
:
''
},
rules
:
{
namespace
:
[
{
required
:
true
,
message
:
'
环境不能为空!
'
,
trigger
:
'
blur
'
}
],
dataBaseName
:
[
{
required
:
true
,
message
:
'
库名描述不能为空!
'
,
trigger
:
'
blur
'
}
]
},
loadingOptions
:
{
text
:
'
数据同步中,请耐心等待
'
,
lock
:
true
,
spinner
:
'
el-icon-loading
'
,
background
:
'
rgba(0,0,0,0.7)
'
}
}
},
created
()
{
this
.
getNamespaceList
()
this
.
getDataBaseList
()
},
methods
:
{
// 环境列表
getNamespaceList
()
{
getNamespaceList
().
then
((
resp
)
=>
{
this
.
namespaceList
=
resp
.
data
.
data
})
},
// 获取数据库列表
getDataBaseList
()
{
getDataBaseList
().
then
((
resp
)
=>
{
// console.log('返回值信息', resp)
this
.
dataBaseList
=
resp
.
data
.
data
})
},
// 下拉框选择
selectChange
(
e
)
{
// 根据数据库获取表信息
getTableByDataBase
({
dbName
:
e
}).
then
((
resp
)
=>
{
this
.
tableList
=
resp
.
data
.
data
})
},
// 同步数据库按钮
synBtn
()
{
this
.
paramsFrom
.
namespace
=
this
.
databaseFrom
.
namespace
this
.
paramsFrom
.
dbName
=
this
.
databaseFrom
.
dataBaseName
this
.
paramsFrom
.
tableName
=
this
.
databaseFrom
.
tableName
// this.paramsFrom.namespace = 'fe'
// this.paramsFrom.dbName = 'msg'
// this.paramsFrom.tableName = 'all'
// console.log('参数信息', this.paramsFrom)
this
.
$refs
.
databaseFromRef
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
return
false
}
else
{
const
Lloading
=
this
.
$loading
.
service
(
this
.
loadingOptions
)
synDataBase
(
this
.
paramsFrom
).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
.
code
===
'
0000
'
)
{
Lloading
.
close
()
this
.
$message
.
success
(
'
数据同步成功!
'
)
}
else
{
Lloading
.
close
()
this
.
$message
.
error
(
resp
.
data
.
data
.
msg
)
}
})
}
})
}
}
}
</
script
>
src/views/layout/leftAside/menu.json
View file @
e2bbb527
...
...
@@ -103,6 +103,12 @@
"title"
:
"数据清理"
,
"icon"
:
"iconfont icon-Memcached"
,
"path"
:
"/effect/cleardata"
},
{
"id"
:
6
,
"title"
:
"同步数据库"
,
"icon"
:
"iconfont icon-cached"
,
"path"
:
"/effect/SynDatabase"
}
]
},
...
...
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