Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qahome-diamond
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
qahome-diamond
Commits
57a72942
Commit
57a72942
authored
Mar 27, 2019
by
智勇
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'kewei' into 'master'
Kewei See merge request !9
parents
99d616dd
a73756a8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
144 additions
and
20 deletions
+144
-20
docker.js
src/api/docker.js
+31
-0
sync.vue
src/views/dbconfig/sync.vue
+5
-2
envDetail.vue
src/views/docker/envDetail.vue
+108
-18
No files found.
src/api/docker.js
View file @
57a72942
...
@@ -85,3 +85,34 @@ export function fetchServiceInstance(data) {
...
@@ -85,3 +85,34 @@ export function fetchServiceInstance(data) {
data
data
})
})
}
}
export
function
flushRedis
(
query
)
{
return
request
({
url
:
'
/docker/flush_redis
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
reloadMq
(
data
)
{
return
request
({
url
:
'
/docker/reload_mq
'
,
method
:
'
data
'
,
data
})
}
export
function
ingressHost
(
query
)
{
return
request
({
url
:
'
/k8s/ingress
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
modifyIngressHost
(
data
)
{
return
request
({
url
:
'
/k8s/ingress/modify
'
,
method
:
'
post
'
,
data
})
}
src/views/dbconfig/sync.vue
View file @
57a72942
...
@@ -3,12 +3,12 @@
...
@@ -3,12 +3,12 @@
<div
class=
"app-container"
style=
"width:1000px; margin:0 auto;"
>
<div
class=
"app-container"
style=
"width:1000px; margin:0 auto;"
>
<el-form
ref=
"dataForm"
:inline=
"true"
:rules=
"rules"
:model=
"temp"
label-width=
"150px"
style=
"margin-bottom:15px"
>
<el-form
ref=
"dataForm"
:inline=
"true"
:rules=
"rules"
:model=
"temp"
label-width=
"150px"
style=
"margin-bottom:15px"
>
<el-form-item
label=
"Namespace"
prop=
"namespace"
>
<el-form-item
label=
"Namespace"
prop=
"namespace"
>
<el-select
:disabled=
"disableBool"
v-model=
"temp.namespace"
style=
"width:310px"
placeholder=
"要同步数据库的环境"
>
<el-select
v-model=
"temp.namespace"
style=
"width:310px"
placeholder=
"要同步数据库的环境"
clearable
>
<el-option
v-for=
"item in namespaces"
:value=
"item"
:label=
"item"
:key=
"item"
/>
<el-option
v-for=
"item in namespaces"
:value=
"item"
:label=
"item"
:key=
"item"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"数据库名称"
prop=
"dbname"
>
<el-form-item
label=
"数据库名称"
prop=
"dbname"
>
<el-select
:disabled=
"disableBool"
v-model=
"temp.dbname"
placeholder=
"要同步表结构及配置数据的数据库名称"
style=
"width:310px"
>
<el-select
:disabled=
"disableBool"
v-model=
"temp.dbname"
clearable
placeholder=
"要同步表结构及配置数据的数据库名称"
style=
"width:310px"
>
<el-option
v-for=
"item in dbnames"
:value=
"item"
:label=
"item"
:key=
"item"
/>
<el-option
v-for=
"item in dbnames"
:value=
"item"
:label=
"item"
:key=
"item"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -60,6 +60,8 @@ export default {
...
@@ -60,6 +60,8 @@ export default {
dbname
:
undefined
,
dbname
:
undefined
,
dbnames
:
[],
dbnames
:
[],
temp
:
{
temp
:
{
namespace
:
''
,
dbname
:
''
,
not_delete_business_data
:
true
,
not_delete_business_data
:
true
,
use_cache
:
true
use_cache
:
true
},
},
...
@@ -75,6 +77,7 @@ export default {
...
@@ -75,6 +77,7 @@ export default {
watch
:
{
watch
:
{
},
},
created
()
{
created
()
{
this
.
temp
.
namespace
=
this
.
$route
.
query
.
namespace
===
undefined
?
''
:
this
.
$route
.
query
.
namespace
this
.
getNamespace
()
this
.
getNamespace
()
this
.
getDBName
()
this
.
getDBName
()
},
},
...
...
src/views/docker/envDetail.vue
View file @
57a72942
...
@@ -12,9 +12,9 @@
...
@@ -12,9 +12,9 @@
更多操作
更多操作
</el-button>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item>
从线上同步DB
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"syncDb"
>
从线上同步DB
</el-dropdown-item>
<el-dropdown-item>
从线上同步MQ
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"syncMq"
>
从线上同步MQ
</el-dropdown-item>
<el-dropdown-item>
清理Redis缓存
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"clearRedis"
>
清理Redis缓存
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
</div>
</div>
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
</el-button>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
@
click.native=
"getServiceDetails(scope.row)"
>
详细信息
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"getServiceDetails(scope.row)"
>
详细信息
</el-dropdown-item>
<el-dropdown-item>
重置服务
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"restartService(scope.row)"
>
重置服务
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
</
template
>
</
template
>
...
@@ -65,7 +65,7 @@
...
@@ -65,7 +65,7 @@
<svg-icon
icon-class=
"service"
/>
<svg-icon
icon-class=
"service"
/>
{{ item._id }}服务
{{ item._id }}服务
<div
style=
"float: right"
>
<div
style=
"float: right"
>
<el-button
type=
"warning"
size=
"mini"
round
@
click=
"getRepository(item._id)"
>
新增服务
</el-button>
<el-button
type=
"warning"
size=
"mini"
round
@
click=
"getRepository(item._id
,item
)"
>
新增服务
</el-button>
<el-button
type=
"warning"
size=
"mini"
round
@
click=
"refresh"
>
刷新状态
</el-button>
<el-button
type=
"warning"
size=
"mini"
round
@
click=
"refresh"
>
刷新状态
</el-button>
</div>
</div>
</div>
</div>
...
@@ -111,12 +111,26 @@
...
@@ -111,12 +111,26 @@
点击
点击
</el-button>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
@
click.native=
"getServiceDetails(scope.row)"
><svg-icon
icon-class=
"detail"
/>
<el-dropdown-item
@
click.native=
"getServiceDetails(scope.row)"
>
详细信息
</el-dropdown-item>
<svg-icon
icon-class=
"detail"
/>
<el-dropdown-item
@
click.native=
"updateService(scope.row)"
><svg-icon
icon-class=
"f5"
/>
更新服务
</el-dropdown-item>
详细信息
<el-dropdown-item
@
click.native=
"updateDomain(scope.row)"
><svg-icon
icon-class=
"doamin"
/>
更新域名
</el-dropdown-item>
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"restartService(scope.row)"
><svg-icon
icon-class=
"restart"
/>
重置服务
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"updateService(scope.row)"
>
<el-dropdown-item
style=
"color: red"
@
click.native=
"deleteService(scope.row) "
><svg-icon
icon-class=
"delete"
/>
删除服务
</el-dropdown-item>
<svg-icon
icon-class=
"f5"
/>
更新服务
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"updateDomain(scope.row)"
>
<svg-icon
icon-class=
"doamin"
/>
更新域名
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"restartService(scope.row)"
>
<svg-icon
icon-class=
"restart"
/>
重置服务
</el-dropdown-item>
<el-dropdown-item
style=
"color: red"
@
click.native=
"deleteService(scope.row) "
>
<svg-icon
icon-class=
"delete"
/>
删除服务
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
</
template
>
</
template
>
...
@@ -217,6 +231,17 @@
...
@@ -217,6 +231,17 @@
<el-button
type=
"primary"
@
click=
"centerDialogVisible = false"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"centerDialogVisible = false"
>
确 定
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
<el-dialog
:visible.sync=
"dialogHost"
title=
"更新域名"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
>
<el-form-item
label=
"域名"
prop=
"host"
>
<el-input
v-model=
"form.host"
autocomplete=
"off"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"resetForm('form')"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitHost('form')"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
...
@@ -230,7 +255,10 @@ import {
...
@@ -230,7 +255,10 @@ import {
modifyCluService
,
modifyCluService
,
fetchServiceInstance
,
fetchServiceInstance
,
deleteClusterService
,
deleteClusterService
,
redeployClusterService
redeployClusterService
,
flushRedis
,
modifyIngressHost
,
ingressHost
}
from
'
@/api/docker
'
}
from
'
@/api/docker
'
import
JsonEditor
from
'
@/components/JsonEditor
'
import
JsonEditor
from
'
@/components/JsonEditor
'
...
@@ -252,6 +280,7 @@ export default {
...
@@ -252,6 +280,7 @@ export default {
type
:
''
,
type
:
''
,
value
:
null
,
value
:
null
,
images
:
null
,
images
:
null
,
ingressName
:
null
,
dialogVisible
:
false
,
dialogVisible
:
false
,
title
:
'
添加服务
'
,
title
:
'
添加服务
'
,
formInline
:
{
formInline
:
{
...
@@ -259,7 +288,16 @@ export default {
...
@@ -259,7 +288,16 @@ export default {
region
:
''
region
:
''
},
},
updateDialog
:
false
,
updateDialog
:
false
,
rename
:
''
rename
:
''
,
form
:
{
host
:
''
},
rules
:
{
host
:
[
{
required
:
true
,
message
:
'
请输入更新的域名信息
'
,
trigger
:
'
blur
'
}
]
},
dialogHost
:
false
}
}
},
},
created
()
{
created
()
{
...
@@ -283,7 +321,7 @@ export default {
...
@@ -283,7 +321,7 @@ export default {
type
:
'
success
'
type
:
'
success
'
})
})
},
},
getRepository
(
type
)
{
getRepository
(
type
,
item
)
{
this
.
type
=
type
this
.
type
=
type
this
.
reponame
=
''
this
.
reponame
=
''
this
.
tagName
=
''
this
.
tagName
=
''
...
@@ -293,6 +331,7 @@ export default {
...
@@ -293,6 +331,7 @@ export default {
this
.
options
=
res
.
data
.
data
.
repoInfo
this
.
options
=
res
.
data
.
data
.
repoInfo
this
.
server
=
res
.
data
.
data
.
server
this
.
server
=
res
.
data
.
data
.
server
})
})
// fetchHost({ system_name: 'xjd-ui', namespace: this.namespace }).then(res => { console.log(res) })
this
.
dialogVisible
=
true
this
.
dialogVisible
=
true
},
},
getTag
()
{
getTag
()
{
...
@@ -329,8 +368,12 @@ export default {
...
@@ -329,8 +368,12 @@ export default {
}
}
})
})
},
},
handleDetail
()
{
handleDetail
(
data
)
{
alert
(
'
暂未开发
'
)
ingressHost
({
namespace
:
data
.
namespace
,
serviceName
:
data
.
serviceName
}).
then
(
res
=>
{
// console.log(res.data.data.body.spec.rules[0].host)
const
url
=
res
.
data
.
data
.
body
.
spec
.
rules
[
0
].
host
window
.
open
(
`http://
${
url
}
/`
,
'
_blank
'
)
})
},
},
getServiceDetails
(
value
)
{
getServiceDetails
(
value
)
{
fetchServiceDetails
({
serviceName
:
value
.
serviceName
,
namespace
:
value
.
namespace
}).
then
(
res
=>
{
fetchServiceDetails
({
serviceName
:
value
.
serviceName
,
namespace
:
value
.
namespace
}).
then
(
res
=>
{
...
@@ -338,6 +381,30 @@ export default {
...
@@ -338,6 +381,30 @@ export default {
this
.
value
=
res
.
data
.
data
.
service
this
.
value
=
res
.
data
.
data
.
service
})
})
},
},
submitHost
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
modifyIngressHost
({
namespace
:
this
.
namespace
,
serviceName
:
this
.
ingressName
,
host
:
this
.
form
.
host
}).
then
(
res
=>
{
this
.
$message
({
message
:
'
域名更新成功
'
,
type
:
'
success
'
})
this
.
dialogHost
=
false
})
}
else
{
console
.
log
(
'
error submit!!
'
)
return
false
}
})
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
()
this
.
dialogHost
=
false
},
updateService
(
value
)
{
updateService
(
value
)
{
this
.
tagName
=
''
this
.
tagName
=
''
this
.
updateDialog
=
true
this
.
updateDialog
=
true
...
@@ -387,8 +454,31 @@ export default {
...
@@ -387,8 +454,31 @@ export default {
}
}
})
})
},
},
updateDomain
()
{
syncDb
()
{
alert
(
'
更新域名
'
)
this
.
$router
.
push
({
path
:
'
/dbsync
'
,
query
:
{
namespace
:
this
.
namespace
}
})
},
syncMq
()
{
alert
(
'
同步mq
'
)
},
clearRedis
()
{
flushRedis
({
namespace
:
this
.
namespace
}).
then
(
res
=>
{
this
.
$message
({
message
:
'
清理redis缓存成功
'
,
type
:
'
success
'
})
})
},
updateDomain
(
data
)
{
this
.
dialogHost
=
true
this
.
form
.
host
=
''
this
.
ingressName
=
data
.
serviceName
ingressHost
({
namespace
:
data
.
namespace
,
serviceName
:
data
.
serviceName
}).
then
(
res
=>
{
// console.log(res.data.data.body.spec.rules[0].host)
this
.
form
.
host
=
res
.
data
.
data
.
body
.
spec
.
rules
[
0
].
host
})
},
},
deleteService
(
data
)
{
deleteService
(
data
)
{
this
.
$confirm
(
'
此操作将永久此服务, 是否继续?
'
,
'
提示
'
,
{
this
.
$confirm
(
'
此操作将永久此服务, 是否继续?
'
,
'
提示
'
,
{
...
...
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