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
3ee40a06
Commit
3ee40a06
authored
Aug 23, 2021
by
黎博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
c1240313
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
130 additions
and
15 deletions
+130
-15
k8s.js
src/api/k8s.js
+9
-0
index.js
src/router/index.js
+1
-0
DevEnv.vue
src/views/docker/DevEnv.vue
+57
-5
ProConfig.vue
src/views/docker/ProConfig.vue
+5
-5
TestEnv.vue
src/views/docker/TestEnv.vue
+58
-5
No files found.
src/api/k8s.js
View file @
3ee40a06
...
@@ -125,3 +125,12 @@ export function getDockerProjectDetail(queryInfo) {
...
@@ -125,3 +125,12 @@ export function getDockerProjectDetail(queryInfo) {
params
:
queryInfo
params
:
queryInfo
})
})
}
}
// 同步MQ
export
function
syncMq
(
data
)
{
return
request
({
url
:
'
/k8s/sync/mq
'
,
method
:
'
post
'
,
data
})
}
src/router/index.js
View file @
3ee40a06
...
@@ -40,6 +40,7 @@ import role from '../views/user/role'
...
@@ -40,6 +40,7 @@ import role from '../views/user/role'
import
permission
from
'
../views/user/permission
'
import
permission
from
'
../views/user/permission
'
// 添加发送短信功能(2021-08-16)
// 添加发送短信功能(2021-08-16)
import
sendMessage
from
'
../views/effect/SendMessage
'
import
sendMessage
from
'
../views/effect/SendMessage
'
// 迁移容器平台
import
TestEnv
from
'
../views/docker/TestEnv
'
import
TestEnv
from
'
../views/docker/TestEnv
'
import
DevEnv
from
'
../views/docker/DevEnv
'
import
DevEnv
from
'
../views/docker/DevEnv
'
import
EnvDetail
from
'
../views/docker/EnvDetail
'
import
EnvDetail
from
'
../views/docker/EnvDetail
'
...
...
src/views/docker/DevEnv.vue
View file @
3ee40a06
...
@@ -22,21 +22,41 @@
...
@@ -22,21 +22,41 @@
<el-table-column
prop=
"owner"
label=
"所有者"
width=
"120"
/>
<el-table-column
prop=
"owner"
label=
"所有者"
width=
"120"
/>
<el-table-column
prop=
"operation"
label=
"操作"
>
<el-table-column
prop=
"operation"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"
syncMySQL
(scope.row.name)"
>
同步线上MySQL
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"
handleSyncMysql
(scope.row.name)"
>
同步线上MySQL
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"
syncMQ
(scope.row.name)"
>
同步线上MQ
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"
handleMqSync
(scope.row.name)"
>
同步线上MQ
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
</div>
<!-- 同步MQ对话框 -->
<el-dialog
title=
"同步MQ"
:visible.sync=
"mqSyncDialogVisible"
width=
"50%"
:before-close=
"handleClose"
>
<el-form
ref=
"mqDataForm"
label-position=
"left"
label-width=
"130px"
style=
"width: 95%; margin-left:20px;"
>
<el-form-item
label=
"Namespace名称"
>
<el-input
v-model=
"namespace"
:disabled=
"true"
/>
</el-form-item>
<el-form-item
label=
"服务地址"
>
<el-input
v-model=
"mqUrl"
:disabled=
"true"
/>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"mqSyncDialogVisible = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"syncMQ()"
>
开始同步
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getNamespaceList
}
from
'
@/api/k8s
'
import
{
getNamespaceList
,
getServiceDetail
,
syncMq
}
from
'
@/api/k8s
'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
tableData
:
[]
tableData
:
[],
mqSyncDialogVisible
:
false
,
mqDataForm
:
{},
namespace
:
''
,
mqUrl
:
''
}
}
},
},
methods
:
{
methods
:
{
...
@@ -56,7 +76,39 @@ export default {
...
@@ -56,7 +76,39 @@ export default {
path
:
`/docker/env`
path
:
`/docker/env`
})
})
},
},
syncMySQL
()
{}
handleSyncMysql
()
{
this
.
$router
.
push
(
'
/effect/database
'
)
},
// 打开MQ同步对话框
handleMqSync
(
name
)
{
this
.
namespace
=
name
getServiceDetail
({
namespace
:
this
.
namespace
,
serviceType
:
'
base
'
,
serviceName
:
'
rabbitmq
'
}).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
!=
null
)
{
this
.
mqUrl
=
resp
.
data
.
data
.
lanIp
+
'
:
'
+
resp
.
data
.
data
.
portMappings
[
1
].
nodePort
}
else
{
return
this
.
$message
.
error
(
'
当前环境没有MQ!
'
)
}
})
this
.
mqSyncDialogVisible
=
true
},
// 同步MQ
syncMQ
()
{
var
formdata
=
new
FormData
()
formdata
.
set
(
'
host
'
,
this
.
mqUrl
)
syncMq
(
formdata
).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
mqSyncDialogVisible
=
false
return
this
.
$message
.
success
(
'
同步成功!
'
)
}
else
{
return
this
.
$message
.
error
(
'
同步失败!
'
)
}
})
}
},
},
created
()
{
created
()
{
this
.
getNamespaceList
()
this
.
getNamespaceList
()
...
...
src/views/docker/ProConfig.vue
View file @
3ee40a06
...
@@ -89,7 +89,7 @@
...
@@ -89,7 +89,7 @@
<!-- 分页 -->
<!-- 分页 -->
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page.sync=
"listQuery.pageNum"
:page-sizes=
"[10, 20, 50, 100, 200, 300]"
:page-size=
"listQuery.pageSize"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
></el-pagination>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page.sync=
"listQuery.pageNum"
:page-sizes=
"[10, 20, 50, 100, 200, 300]"
:page-size=
"listQuery.pageSize"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
></el-pagination>
<el-dialog
title=
"xx对话框
"
:visible.sync=
"dialogFormVisible"
>
<el-dialog
:title=
"dialogName
"
:visible.sync=
"dialogFormVisible"
>
<el-form
ref=
"dataForm"
:rules=
"rules"
:model=
"temp"
label-position=
"left"
label-width=
"115px"
style=
"width: 90%; margin-left:40px;"
>
<el-form
ref=
"dataForm"
:rules=
"rules"
:model=
"temp"
label-position=
"left"
label-width=
"115px"
style=
"width: 90%; margin-left:40px;"
>
<el-form-item
label=
"类型"
prop=
"projectType"
>
<el-form-item
label=
"类型"
prop=
"projectType"
>
<el-select
v-model=
"temp.projectType"
class=
"filter-item"
placeholder=
"Please select"
>
<el-select
v-model=
"temp.projectType"
class=
"filter-item"
placeholder=
"Please select"
>
...
@@ -227,10 +227,7 @@ export default {
...
@@ -227,10 +227,7 @@ export default {
dialogFormVisible
:
false
,
dialogFormVisible
:
false
,
dialogDeleteVisible
:
false
,
dialogDeleteVisible
:
false
,
dialogStatus
:
''
,
dialogStatus
:
''
,
textMap
:
{
dialogName
:
''
,
update
:
'
Edit
'
,
create
:
'
Create
'
},
proconfigs
:
[],
proconfigs
:
[],
disabled
:
undefined
,
disabled
:
undefined
,
rules
:
{
rules
:
{
...
@@ -275,6 +272,7 @@ export default {
...
@@ -275,6 +272,7 @@ export default {
},
},
// 打开新建项目对话框
// 打开新建项目对话框
handleCreate
()
{
handleCreate
()
{
this
.
dialogName
=
'
新建项目
'
this
.
temp
=
{}
this
.
temp
=
{}
this
.
dialogFormVisible
=
true
this
.
dialogFormVisible
=
true
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
@@ -283,6 +281,7 @@ export default {
...
@@ -283,6 +281,7 @@ export default {
},
},
// 打开更新项目对话框
// 打开更新项目对话框
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
this
.
dialogName
=
'
编辑项目
'
this
.
temp
=
Object
.
assign
({},
row
)
this
.
temp
=
Object
.
assign
({},
row
)
this
.
dialogFormVisible
=
true
this
.
dialogFormVisible
=
true
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
@@ -298,6 +297,7 @@ export default {
...
@@ -298,6 +297,7 @@ export default {
addDockerProject
(
this
.
temp
).
then
(
resp
=>
{
addDockerProject
(
this
.
temp
).
then
(
resp
=>
{
if
(
resp
.
data
.
data
===
true
)
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
dialogFormVisible
=
false
this
.
dialogFormVisible
=
false
this
.
getProjectList
()
return
this
.
$message
.
success
(
'
创建成功!
'
)
return
this
.
$message
.
success
(
'
创建成功!
'
)
}
else
{
}
else
{
return
this
.
$message
.
error
(
'
创建失败!
'
)
return
this
.
$message
.
error
(
'
创建失败!
'
)
...
...
src/views/docker/TestEnv.vue
View file @
3ee40a06
...
@@ -22,21 +22,41 @@
...
@@ -22,21 +22,41 @@
<el-table-column
prop=
"owner"
label=
"所有者"
width=
"120"
/>
<el-table-column
prop=
"owner"
label=
"所有者"
width=
"120"
/>
<el-table-column
prop=
"operation"
label=
"操作"
>
<el-table-column
prop=
"operation"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"
syncMySQL
(scope.row.name)"
>
同步线上MySQL
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"
handleSyncMysql
(scope.row.name)"
>
同步线上MySQL
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"
syncMQ
(scope.row.name)"
>
同步线上MQ
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"
handleMqSync
(scope.row.name)"
>
同步线上MQ
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
</div>
<!-- 同步MQ对话框 -->
<el-dialog
title=
"同步MQ"
:visible.sync=
"mqSyncDialogVisible"
width=
"50%"
:before-close=
"handleClose"
>
<el-form
ref=
"mqDataForm"
label-position=
"left"
label-width=
"130px"
style=
"width: 95%; margin-left:20px;"
>
<el-form-item
label=
"Namespace名称"
>
<el-input
v-model=
"namespace"
:disabled=
"true"
/>
</el-form-item>
<el-form-item
label=
"服务地址"
>
<el-input
v-model=
"mqUrl"
:disabled=
"true"
/>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"mqSyncDialogVisible = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"syncMQ()"
>
开始同步
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getNamespaceList
}
from
'
@/api/k8s
'
import
{
getNamespaceList
,
getServiceDetail
,
syncMq
}
from
'
@/api/k8s
'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
tableData
:
[]
tableData
:
[],
mqSyncDialogVisible
:
false
,
mqDataForm
:
{},
namespace
:
''
,
mqUrl
:
''
}
}
},
},
methods
:
{
methods
:
{
...
@@ -58,7 +78,40 @@ export default {
...
@@ -58,7 +78,40 @@ export default {
// 强制刷新整个页面
// 强制刷新整个页面
this
.
$router
.
go
(
0
)
this
.
$router
.
go
(
0
)
},
},
syncMySQL
()
{}
// 跳转到数据库同步页面
handleSyncMysql
()
{
this
.
$router
.
push
(
'
/effect/database
'
)
},
// 打开MQ同步对话框
handleMqSync
(
name
)
{
this
.
namespace
=
name
getServiceDetail
({
namespace
:
this
.
namespace
,
serviceType
:
'
base
'
,
serviceName
:
'
rabbitmq
'
}).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
!=
null
)
{
this
.
mqUrl
=
resp
.
data
.
data
.
lanIp
+
'
:
'
+
resp
.
data
.
data
.
portMappings
[
1
].
nodePort
}
else
{
return
this
.
$message
.
error
(
'
当前环境没有MQ!
'
)
}
})
this
.
mqSyncDialogVisible
=
true
},
// 同步MQ
syncMQ
()
{
var
formdata
=
new
FormData
()
formdata
.
set
(
'
host
'
,
this
.
mqUrl
)
syncMq
(
formdata
).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
mqSyncDialogVisible
=
false
return
this
.
$message
.
success
(
'
同步成功!
'
)
}
else
{
return
this
.
$message
.
error
(
'
同步失败!
'
)
}
})
}
},
},
created
()
{
created
()
{
this
.
getNamespaceList
()
this
.
getNamespaceList
()
...
...
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