Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
api-gateway
Overview
Overview
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
API
api-gateway
Commits
037d421e
Commit
037d421e
authored
Sep 02, 2019
by
无尘
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 修改环境
parent
056802d2
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
7 additions
and
7 deletions
+7
-7
index.html
dist/index.html
+2
-2
app.b7a044e1e38b558b06303fe7490ec3a8.css
dist/static/css/app.b7a044e1e38b558b06303fe7490ec3a8.css
+0
-0
7.6e98bf19e73d647ed2c5.js
dist/static/js/7.6e98bf19e73d647ed2c5.js
+2
-2
manifest.06ec7f2ed387d521ed58.js
dist/static/js/manifest.06ec7f2ed387d521ed58.js
+2
-0
manifest.cc3146689d1a8336c83a.js
dist/static/js/manifest.cc3146689d1a8336c83a.js
+0
-2
new-env.vue
src/components/env/new-env.vue
+1
-1
No files found.
dist/index.html
View file @
037d421e
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><link
rel=
"shortcut icon"
href=
./favicon.ico
><title>
API网关管理平台
</title><link
href=
./static/css/app.2e4266c68fc37b72abc3ce1cacec3e70.css
rel=
stylesheet
></head><body
style=
"min-width: 1400px;"
><div
id=
app
></div><script
src=
//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js
></script><script>
// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();
</script><script
type=
text/javascript
src=
./static/js/manifest.cc3146689d1a8336c83a.js
></script><script
type=
text/javascript
src=
./static/js/vendor.bb8c036d7dd62f4cb37a.js
></script><script
type=
text/javascript
src=
./static/js/app.cc0428a4b2d2224416fc.js
></script></body></html>
\ No newline at end of file
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><link
rel=
"shortcut icon"
href=
./favicon.ico
><title>
API网关管理平台
</title><link
href=
./static/css/app.b7a044e1e38b558b06303fe7490ec3a8.css
rel=
stylesheet
></head><body
style=
"min-width: 1400px;"
><div
id=
app
></div><script
src=
//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js
></script><script
src=
//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js
></script><script>
// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();
</script><script
type=
text/javascript
src=
./static/js/manifest.06ec7f2ed387d521ed58.js
></script><script
type=
text/javascript
src=
./static/js/vendor.bb8c036d7dd62f4cb37a.js
></script><script
type=
text/javascript
src=
./static/js/app.cc0428a4b2d2224416fc.js
></script></body></html>
\ No newline at end of file
dist/static/css/app.
2e4266c68fc37b72abc3ce1cacec3e70
.css
→
dist/static/css/app.
b7a044e1e38b558b06303fe7490ec3a8
.css
View file @
037d421e
This source diff could not be displayed because it is too large. You can
view the blob
instead.
dist/static/js/7.
56014d62c6978a8e67fd
.js
→
dist/static/js/7.
6e98bf19e73d647ed2c5
.js
View file @
037d421e
webpackJsonp
([
7
],{
JErD
:
function
(
e
,
t
){},
UYfG
:
function
(
e
,
t
){},
ZT99
:
function
(
e
,
t
){},
iGM1
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
o
=
a
(
"319J"
),
n
=
a
(
"mvHQ"
),
i
=
a
.
n
(
n
),
s
=
a
(
"l46T"
),
r
=
a
(
"P9l9"
),
l
=
a
(
"TUB1"
),
c
=
a
(
"LlAa"
),
u
=
{
name
:
"new-env"
,
props
:{
showDialog
:{
type
:
Boolean
,
default
:
!
1
},
editRow
:{
type
:
Object
,
default
:
function
(){
return
{
sceneName
:
""
,
sceneCode
:
""
,
domainUrl
:
""
,
defaultFlag
:
!
1
}}}},
components
:{
limitInput
:
s
.
a
},
data
:
function
(){
return
{
customDialog
:
!
1
,
formData
:{
sceneName
:
""
,
sceneCode
:
""
,
domainUrl
:
""
,
defaultFlag
:
!
1
},
rules
:{
sceneName
:[{
required
:
!
0
,
message
:
"请输入环境名称"
,
trigger
:
"blur"
}],
sceneCode
:[{
required
:
!
0
,
message
:
"请输入环境code"
,
trigger
:
"blur"
}],
domainUrl
:[{
required
:
!
0
,
message
:
"请输入环境域名"
,
trigger
:
"blur"
}]}}},
methods
:{
handleClose
:
function
(
e
){
this
.
$refs
.
envForm
.
resetFields
(),
e
(),
this
.
hideDialog
()},
customCancel
:
function
(){
this
.
$refs
.
envForm
.
resetFields
(),
this
.
hideDialog
()},
hideDialog
:
function
(){
this
.
customDialog
=!
1
,
this
.
formData
.
sceneName
=
""
,
this
.
formData
.
sceneCode
=
""
,
this
.
formData
.
domainUrl
=
""
,
this
.
$emit
(
"hideDialog"
,
""
)},
customConfirm
:
function
(
e
){
var
t
=
this
;
t
.
formData
.
sceneName
=
t
.
formData
.
sceneName
?
String
(
t
.
formData
.
sceneName
).
replace
(
/
\s
+/g
,
""
):
""
,
t
.
formData
.
sceneCode
=
t
.
formData
.
sceneCode
?
String
(
t
.
formData
.
sceneCode
).
replace
(
/
\s
+/g
,
""
):
""
,
t
.
formData
.
domainUrl
=
t
.
formData
.
domainUrl
?
String
(
t
.
formData
.
domainUrl
).
replace
(
/
\s
+/g
,
""
):
""
,
t
.
$refs
[
e
].
validate
(
function
(
e
){
if
(
!
e
)
return
!
1
;
t
.
postEditData
()})},
postEditData
:
function
(){
var
e
=
this
,
t
=
{
sceneName
:
e
.
formData
.
sceneName
,
sceneCode
:
e
.
formData
.
sceneCode
,
domainUrl
:
e
.
formData
.
domainUrl
,
defaultFlag
:
e
.
formData
.
defaultFlag
?
"1"
:
"0"
};
Object
(
r
.
a
)(
e
.
editRow
.
sceneCode
?
"/gateway-manage/update-scene"
:
"/gateway-manage/create-scene"
,
t
).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
"0000"
==
a
.
code
)
return
l
.
a
.
showmsg
(
"保存成功"
,
"success"
),
void
e
.
setData
();
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
setData
:
function
(
e
){
this
.
$emit
(
"hideDialog"
,
this
.
formData
)}},
watch
:{
showDialog
:
function
(
e
,
t
){
this
.
customDialog
=
e
},
editRow
:
function
(
e
,
t
){
this
.
formData
=
JSON
.
parse
(
i
()(
e
))}},
mounted
:
function
(){
this
.
customDialog
=
this
.
showDialog
,
this
.
formData
=
JSON
.
parse
(
i
()(
this
.
editRow
))}},
d
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
directives
:[{
name
:
"show"
,
rawName
:
"v-show"
,
value
:
e
.
customDialog
,
expression
:
"customDialog"
}]},[
a
(
"el-dialog"
,{
staticClass
:
"edit-dialog"
,
attrs
:{
title
:
e
.
editRow
.
sceneCode
?
"编辑环境"
:
"新建环境"
,
visible
:
e
.
customDialog
,
width
:
"600px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
a
(
"div"
,{
staticClass
:
"edit-dialog-body"
},[
a
(
"el-form"
,{
ref
:
"envForm"
,
attrs
:{
model
:
e
.
formData
,
"label-width"
:
"94px"
,
rules
:
e
.
rules
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"环境名称:"
,
prop
:
"sceneName"
}},[
a
(
"limitInput"
,{
attrs
:{
inputWidth
:
400
,
inputValue
:
e
.
formData
.
sceneName
,
holder
:
"请输入环境名称"
,
getByType
:
"word"
,
maxLength
:
20
},
on
:{
"update:inputValue"
:
function
(
t
){
e
.
$set
(
e
.
formData
,
"sceneName"
,
t
)}}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"环境code:"
,
prop
:
"sceneCode"
}},[
a
(
"limitInput"
,{
attrs
:{
inputWidth
:
400
,
disflag
:
!!
e
.
editRow
.
sceneCode
,
inputValue
:
e
.
formData
.
sceneCode
,
holder
:
"请输入环境code"
,
getByType
:
"word"
,
maxLength
:
20
},
on
:{
"update:inputValue"
:
function
(
t
){
e
.
$set
(
e
.
formData
,
"sceneCode"
,
t
)}}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"环境域名:"
,
prop
:
"domainUrl"
}},[
a
(
"limitInput"
,{
attrs
:{
inputWidth
:
400
,
inputValue
:
e
.
formData
.
domainUrl
,
holder
:
"请输入环境域名"
,
getByType
:
"word"
,
maxLength
:
20
},
on
:{
"update:inputValue"
:
function
(
t
){
e
.
$set
(
e
.
formData
,
"domainUrl"
,
t
)}}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"默认环境:"
}},[
a
(
"el-checkbox"
,{
model
:{
value
:
e
.
formData
.
defaultFlag
,
callback
:
function
(
t
){
e
.
$set
(
e
.
formData
,
"defaultFlag"
,
t
)},
expression
:
"formData.defaultFlag"
}},[
e
.
_v
(
"设置为默认环境"
)])],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"dialog-footer"
,
staticStyle
:{
"padding-bottom"
:
"10px"
},
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
a
(
"el-button"
,{
on
:{
click
:
e
.
customCancel
}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
e
.
customConfirm
(
"envForm"
)}}},[
e
.
_v
(
e
.
_s
(
e
.
editRow
.
sceneCode
?
"保 存"
:
"新 建"
))])],
1
)])],
1
)},
staticRenderFns
:[]};
var
f
=
a
(
"VU/8"
)(
u
,
d
,
!
1
,
function
(
e
){
a
(
"JErD"
)},
"data-v-4ce6fe91"
,
null
).
exports
,
h
=
a
(
"jvWE"
),
m
=
{
name
:
"env-list"
,
data
:
function
(){
return
{
searchValue
:
""
,
tableData
:[{
sceneName
:
"测试"
,
sceneCode
:
"234"
,
domainUrl
:
"http://123.com"
,
defaultFlag
:
!
1
,
createTime
:
1564455643252
}],
showDialog
:
!
1
,
editIndex
:
""
,
editRow
:{}}},
components
:{
newEnv
:
f
},
methods
:{
editEnv
:
function
(){
this
.
showDialog
=!
0
},
hideDialog
:
function
(
e
){
if
(
!
e
)
return
this
.
editIndex
=
""
,
this
.
editRow
=
{},
this
.
showDialog
=!
1
,
!
1
;
this
.
editRow
.
sceneCode
?(
this
.
tableData
[
this
.
editIndex
].
sceneName
=
e
.
sceneName
,
this
.
tableData
[
this
.
editIndex
].
domainUrl
=
e
.
domainUrl
,
this
.
tableData
[
this
.
editIndex
].
defaultFlag
=
e
.
defaultFlag
):(
this
.
currentPage
=
1
,
this
.
getData
()),
this
.
editIndex
=
""
,
this
.
editRow
=
{},
this
.
showDialog
=!
1
,
this
.
$forceUpdate
()},
searchData
:
Object
(
h
.
a
)(
function
(
e
){
this
.
currentPage
,
this
.
getData
()},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getData
()},
handleSizeChange
:
function
(
e
){
this
.
pageSize
=
e
,
this
.
getData
()},
handleCurrentChange
:
function
(
e
){
this
.
currentPage
=
e
,
this
.
getData
()},
handleEdit
:
function
(
e
,
t
){
this
.
editIndex
=
e
,
this
.
editRow
=
t
,
this
.
showDialog
=!
0
},
handleDel
:
function
(
e
,
t
){
var
a
=
this
;
a
.
$confirm
(
"确定删除该环境?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
a
.
postDelData
(
e
,
t
)}).
catch
(
function
(){})},
postDelData
:
function
(
e
,
t
){
var
a
=
this
,
o
=
{
sceneCode
:
t
.
sceneCode
};
Object
(
r
.
a
)(
"/gateway-manage/delete-scene"
,
o
).
then
(
function
(
t
){
var
o
=
t
.
data
;
if
(
"0000"
==
o
.
code
)
return
l
.
a
.
showmsg
(
"删除成功"
,
"success"
),
void
a
.
tableData
.
splice
(
e
,
1
);
c
.
a
.
errorMsg
(
o
)}).
catch
(
function
(
e
){
a
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})},
changeEnv
:
function
(
e
,
t
){
this
.
postChangeEnv
(
e
,
t
)},
postChangeEnv
:
function
(
e
,
t
){
var
a
=
this
,
o
=
{
defaultFlag
:
t
?
"1"
:
"0"
,
sceneCode
:
e
.
sceneCode
};
Object
(
r
.
a
)(
"/gateway-manage/set-default-scene"
,
o
).
then
(
function
(
e
){
var
t
=
e
.
data
;
if
(
"0000"
==
t
.
code
)
return
l
.
a
.
showmsg
(
"设置成功"
,
"success"
),
void
a
.
getData
();
c
.
a
.
errorMsg
(
t
)}).
catch
(
function
(
e
){
a
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})},
getData
:
function
(){
var
e
=
this
;
Object
(
r
.
a
)(
"/gateway-manage/list-all-scene"
,{}).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
"0000"
==
a
.
code
)
return
a
.
result
&&
a
.
result
.
length
&&
a
.
result
.
forEach
(
function
(
e
){
e
.
defaultFlag
=
1
==
e
.
defaultFlag
}),
void
(
e
.
tableData
=
a
.
result
||
[]);
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
mounted
:
function
(){
this
.
getData
()}},
p
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,[
a
(
"div"
,{
staticClass
:
"search-wrap m-b-20 flex flex-space-between"
},[
a
(
"el-input"
,{
staticClass
:
"w-320 serach"
,
attrs
:{
clearable
:
""
,
placeholder
:
"请输入发布版本"
},
on
:{
clear
:
e
.
clearInput
},
nativeOn
:{
keyup
:
function
(
t
){
return
a
=
t
,
e
.
searchData
(
a
);
var
a
}},
model
:{
value
:
e
.
searchValue
,
callback
:
function
(
t
){
e
.
searchValue
=
t
},
expression
:
"searchValue"
}},[
a
(
"i"
,{
staticClass
:
"el-input__icon el-icon-search"
,
attrs
:{
slot
:
"prefix"
},
slot
:
"prefix"
})]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
editEnv
}},[
e
.
_v
(
"新建环境"
)])],
1
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table-wrap"
},[
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sceneName"
,
label
:
"环境名称"
,
"show-overflow-tooltip"
:
""
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"环境code"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
n "
+
e
.
_s
(
t
.
row
.
sceneCode
)
+
"
\
n "
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"环境域名"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
n "
+
e
.
_s
(
t
.
row
.
domainUrl
)
+
"
\
n "
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"默认环境"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"el-switch"
,{
attrs
:{
"active-text"
:
""
,
"inactive-text"
:
""
},
on
:{
change
:
function
(
a
){
e
.
changeEnv
(
t
.
row
,
t
.
row
.
defaultFlag
)}},
model
:{
value
:
t
.
row
.
defaultFlag
,
callback
:
function
(
a
){
e
.
$set
(
t
.
row
,
"defaultFlag"
,
a
)},
expression
:
"scope.row.defaultFlag"
}})]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"创建时间"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"div"
,{
staticClass
:
"color-606266 line-18"
},[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"timeStampToYmd"
)(
t
.
row
.
createTime
)))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"color-606266 line-18"
},[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"timeStampToHms"
)(
t
.
row
.
createTime
)))])]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
a
){
e
.
handleEdit
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"编辑"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
a
){
e
.
handleDel
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"删除"
)])]}}])})],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"new-env"
,{
attrs
:{
editRow
:
e
.
editRow
,
showDialog
:
e
.
showDialog
},
on
:{
hideDialog
:
e
.
hideDialog
}})],
1
)},
staticRenderFns
:[]};
var
g
=
a
(
"VU/8"
)(
m
,
p
,
!
1
,
function
(
e
){
a
(
"oSTL"
)},
"data-v-0c33a274"
,
null
).
exports
,
v
=
{
name
:
"env-set-list"
,
data
:
function
(){
return
{
proxyType
:
"0"
,
searchValue
:
""
,
tableData
:[],
pageSize
:
20
,
currentPage
:
1
,
totalCount
:
0
}},
methods
:{
toCreatSet
:
function
(){
this
.
$router
.
push
(
"/createEnvSet?proxyType="
+
this
.
proxyType
)},
searchData
:
Object
(
h
.
a
)(
function
(
e
){
this
.
currentPage
,
this
.
getData
()},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getData
()},
changeType
:
function
(
e
){
this
.
currentPage
=
1
,
this
.
getData
()},
handleSizeChange
:
function
(
e
){
this
.
pageSize
=
e
,
this
.
getData
()},
handleCurrentChange
:
function
(
e
){
this
.
currentPage
=
e
,
this
.
getData
()},
handleShow
:
function
(
e
,
t
){
this
.
$router
.
push
(
"/createEnvSet?envSetFlag=show&proxyType="
+
t
.
proxyType
+
"&backendProxyId="
+
t
.
backendProxyId
)},
handleEdit
:
function
(
e
,
t
){
this
.
$router
.
push
(
"/createEnvSet?envSetFlag=edit&proxyType="
+
t
.
proxyType
+
"&backendProxyId="
+
t
.
backendProxyId
)},
handleDel
:
function
(
e
,
t
){
var
a
=
this
;
a
.
$confirm
(
"确定删除该环境?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
a
.
postDelData
(
e
,
t
)}).
catch
(
function
(){})},
postDelData
:
function
(
e
,
t
){
var
a
=
this
,
o
=
{
backendProxyId
:
t
.
backendProxyId
,
requestProject
:
a
.
repProjectName
};
Object
(
r
.
a
)(
"/gateway-manage/delete-proxy"
,
o
).
then
(
function
(
t
){
var
o
=
t
.
data
;
if
(
"0000"
==
o
.
code
)
return
l
.
a
.
showmsg
(
"删除成功"
,
"success"
),
void
a
.
tableData
.
splice
(
e
,
1
);
c
.
a
.
errorMsg
(
o
)}).
catch
(
function
(
e
){
a
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})},
getData
:
function
(){
var
e
=
this
,
t
=
{
search
:
e
.
searchValue
,
pageNum
:
e
.
currentPage
,
pageSize
:
e
.
pageSize
,
proxyType
:
e
.
proxyType
};
Object
(
r
.
a
)(
"/gateway-manage/page-proxy"
,
t
).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
"0000"
==
a
.
code
)
return
e
.
tableData
=
a
.
result
.
result
||
[],
void
(
e
.
totalCount
=
a
.
result
.
totalCount
);
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
mounted
:
function
(){
this
.
getData
()}},
b
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,[
a
(
"div"
,{
staticClass
:
"search-wrap m-b-20 flex flex-space-between"
},[
a
(
"el-input"
,{
staticClass
:
"w-320"
,
attrs
:{
clearable
:
""
,
placeholder
:
"请输入配置名称/code"
},
on
:{
clear
:
e
.
clearInput
},
nativeOn
:{
keyup
:
function
(
t
){
return
a
=
t
,
e
.
searchData
(
a
);
var
a
}},
model
:{
value
:
e
.
searchValue
,
callback
:
function
(
t
){
e
.
searchValue
=
t
},
expression
:
"searchValue"
}},[
a
(
"i"
,{
staticClass
:
"el-input__icon el-icon-search"
,
attrs
:{
slot
:
"prefix"
},
slot
:
"prefix"
})]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"search-wrap-right"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
toCreatSet
}},[
e
.
_v
(
"新建配置"
)]),
e
.
_v
(
" "
),
a
(
"el-radio-group"
,{
on
:{
change
:
e
.
changeType
},
model
:{
value
:
e
.
proxyType
,
callback
:
function
(
t
){
e
.
proxyType
=
t
},
expression
:
"proxyType"
}},[
a
(
"el-radio-button"
,{
attrs
:{
label
:
"0"
}},[
e
.
_v
(
"http"
)]),
e
.
_v
(
" "
),
a
(
"el-radio-button"
,{
attrs
:{
label
:
"1"
}},[
e
.
_v
(
"dubbo"
)])],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table-wrap"
},[
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"proxyName"
,
label
:
"配置名称"
,
"show-overflow-tooltip"
:
""
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"proxyCode"
,
label
:
"配置code"
,
"show-overflow-tooltip"
:
""
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"描述"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
n "
+
e
.
_s
(
t
.
row
.
description
)
+
"
\
n "
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"创建时间"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"div"
,{
staticClass
:
"color-606266 line-18"
},[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"timeStampToYmd"
)(
t
.
row
.
createTime
)))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"color-606266 line-18"
},[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"timeStampToHms"
)(
t
.
row
.
createTime
)))])]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
a
){
e
.
handleShow
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"查看"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
a
){
e
.
handleEdit
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"编辑"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
a
){
e
.
handleDel
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"删除"
)])]}}])})],
1
),
e
.
_v
(
" "
),
e
.
totalCount
?
a
(
"div"
,{
staticClass
:
"pagination text-right m-t-14"
},[
a
(
"el-pagination"
,{
attrs
:{
small
:
""
,
"page-size"
:
e
.
pageSize
,
"current-page"
:
e
.
currentPage
,
layout
:
"prev, pager, next"
,
total
:
e
.
totalCount
},
on
:{
"size-change"
:
e
.
handleSizeChange
,
"current-change"
:
e
.
handleCurrentChange
}})],
1
):
e
.
_e
()],
1
)])},
staticRenderFns
:[]};
var
w
=
a
(
"VU/8"
)(
v
,
b
,
!
1
,
function
(
e
){
a
(
"UYfG"
)},
"data-v-f88fc532"
,
null
).
exports
,
D
=
{
name
:
"envManage"
,
components
:{
navBread
:
o
.
a
,
envList
:
g
,
envSetList
:
w
},
data
:
function
(){
return
{
navPath
:[{
name
:
"环境管理"
,
path
:
""
}],
activeName
:
"first"
}},
methods
:{
handleClick
:
function
(
e
,
t
){
console
.
log
(
e
,
t
)},
getData
:
function
(){
var
e
=
this
,
t
=
{
project
:
e
.
repProjectName
,
router
:
e
.
pathName
,
requestProject
:
e
.
repProjectName
};
Object
(
r
.
a
)(
"/haoban-manage-web/menu-detail"
,
t
).
then
(
function
(
t
){
var
a
=
t
.
data
;
1
!=
a
.
errorCode
&&
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
a
.
message
})}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
$route
:{
handler
:
function
(
e
,
t
){},
deep
:
!
0
}},
mounted
:
function
(){
this
.
$emit
(
"showTab"
,
3
),
this
.
$route
.
query
.
tabChildid
&&
(
this
.
activeName
=
this
.
$route
.
query
.
tabChildid
)}},
y
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"api-body-content border-box"
},[
a
(
"div"
,{
staticClass
:
"common-nav"
},[
a
(
"nav-bread"
,{
attrs
:{
navPath
:
e
.
navPath
}})],
1
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"api-body-main common-body-main border-box"
},[
a
(
"div"
,{
staticClass
:
"api-main-content border-box"
},[
a
(
"div"
,{
staticClass
:
"env-tab-wrap"
},[
a
(
"el-tabs"
,{
on
:{
"tab-click"
:
e
.
handleClick
},
model
:{
value
:
e
.
activeName
,
callback
:
function
(
t
){
e
.
activeName
=
t
},
expression
:
"activeName"
}},[
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"环境列表"
,
name
:
"first"
}},[
a
(
"env-list"
)],
1
),
e
.
_v
(
" "
),
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"配置列表"
,
name
:
"second"
}},[
a
(
"env-set-list"
)],
1
)],
1
)],
1
)])])])},
staticRenderFns
:[]};
var
_
=
a
(
"VU/8"
)(
D
,
y
,
!
1
,
function
(
e
){
a
(
"ZT99"
)},
"data-v-7f14fefd"
,
null
);
t
.
default
=
_
.
exports
},
oSTL
:
function
(
e
,
t
){}});
\ No newline at end of file
webpackJsonp
([
7
],{
KLiK
:
function
(
e
,
t
){},
UYfG
:
function
(
e
,
t
){},
ZT99
:
function
(
e
,
t
){},
iGM1
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
o
=
a
(
"319J"
),
n
=
a
(
"mvHQ"
),
i
=
a
.
n
(
n
),
s
=
a
(
"l46T"
),
r
=
a
(
"P9l9"
),
l
=
a
(
"TUB1"
),
c
=
a
(
"LlAa"
),
u
=
{
name
:
"new-env"
,
props
:{
showDialog
:{
type
:
Boolean
,
default
:
!
1
},
editRow
:{
type
:
Object
,
default
:
function
(){
return
{
sceneName
:
""
,
sceneCode
:
""
,
domainUrl
:
""
,
defaultFlag
:
!
1
}}}},
components
:{
limitInput
:
s
.
a
},
data
:
function
(){
return
{
customDialog
:
!
1
,
formData
:{
sceneName
:
""
,
sceneCode
:
""
,
domainUrl
:
""
,
defaultFlag
:
!
1
},
rules
:{
sceneName
:[{
required
:
!
0
,
message
:
"请输入环境名称"
,
trigger
:
"blur"
}],
sceneCode
:[{
required
:
!
0
,
message
:
"请输入环境code"
,
trigger
:
"blur"
}],
domainUrl
:[{
required
:
!
0
,
message
:
"请输入环境域名"
,
trigger
:
"blur"
}]}}},
methods
:{
handleClose
:
function
(
e
){
this
.
$refs
.
envForm
.
resetFields
(),
e
(),
this
.
hideDialog
()},
customCancel
:
function
(){
this
.
$refs
.
envForm
.
resetFields
(),
this
.
hideDialog
()},
hideDialog
:
function
(){
this
.
customDialog
=!
1
,
this
.
formData
.
sceneName
=
""
,
this
.
formData
.
sceneCode
=
""
,
this
.
formData
.
domainUrl
=
""
,
this
.
$emit
(
"hideDialog"
,
""
)},
customConfirm
:
function
(
e
){
var
t
=
this
;
t
.
formData
.
sceneName
=
t
.
formData
.
sceneName
?
String
(
t
.
formData
.
sceneName
).
replace
(
/
\s
+/g
,
""
):
""
,
t
.
formData
.
sceneCode
=
t
.
formData
.
sceneCode
?
String
(
t
.
formData
.
sceneCode
).
replace
(
/
\s
+/g
,
""
):
""
,
t
.
formData
.
domainUrl
=
t
.
formData
.
domainUrl
?
String
(
t
.
formData
.
domainUrl
).
replace
(
/
\s
+/g
,
""
):
""
,
t
.
$refs
[
e
].
validate
(
function
(
e
){
if
(
!
e
)
return
!
1
;
t
.
postEditData
()})},
postEditData
:
function
(){
var
e
=
this
,
t
=
{
sceneName
:
e
.
formData
.
sceneName
,
sceneCode
:
e
.
formData
.
sceneCode
,
domainUrl
:
e
.
formData
.
domainUrl
,
defaultFlag
:
e
.
formData
.
defaultFlag
?
"1"
:
"0"
};
Object
(
r
.
a
)(
e
.
editRow
.
sceneCode
?
"/gateway-manage/update-scene"
:
"/gateway-manage/create-scene"
,
t
).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
"0000"
==
a
.
code
)
return
l
.
a
.
showmsg
(
"保存成功"
,
"success"
),
void
e
.
setData
();
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})},
setData
:
function
(
e
){
this
.
$emit
(
"hideDialog"
,
this
.
formData
)}},
watch
:{
showDialog
:
function
(
e
,
t
){
this
.
customDialog
=
e
},
editRow
:
function
(
e
,
t
){
this
.
formData
=
JSON
.
parse
(
i
()(
e
))}},
mounted
:
function
(){
this
.
customDialog
=
this
.
showDialog
,
this
.
formData
=
JSON
.
parse
(
i
()(
this
.
editRow
))}},
d
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
directives
:[{
name
:
"show"
,
rawName
:
"v-show"
,
value
:
e
.
customDialog
,
expression
:
"customDialog"
}]},[
a
(
"el-dialog"
,{
staticClass
:
"edit-dialog"
,
attrs
:{
title
:
e
.
editRow
.
sceneCode
?
"编辑环境"
:
"新建环境"
,
visible
:
e
.
customDialog
,
width
:
"600px"
,
"before-close"
:
e
.
handleClose
},
on
:{
"update:visible"
:
function
(
t
){
e
.
customDialog
=
t
}}},[
a
(
"div"
,{
staticClass
:
"edit-dialog-body"
},[
a
(
"el-form"
,{
ref
:
"envForm"
,
attrs
:{
model
:
e
.
formData
,
"label-width"
:
"94px"
,
rules
:
e
.
rules
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"环境名称:"
,
prop
:
"sceneName"
}},[
a
(
"limitInput"
,{
attrs
:{
inputWidth
:
400
,
inputValue
:
e
.
formData
.
sceneName
,
holder
:
"请输入环境名称"
,
getByType
:
"word"
,
maxLength
:
20
},
on
:{
"update:inputValue"
:
function
(
t
){
e
.
$set
(
e
.
formData
,
"sceneName"
,
t
)}}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"环境code:"
,
prop
:
"sceneCode"
}},[
a
(
"limitInput"
,{
attrs
:{
inputWidth
:
400
,
disflag
:
!!
e
.
editRow
.
sceneCode
,
inputValue
:
e
.
formData
.
sceneCode
,
holder
:
"请输入环境code"
,
getByType
:
"word"
,
maxLength
:
20
},
on
:{
"update:inputValue"
:
function
(
t
){
e
.
$set
(
e
.
formData
,
"sceneCode"
,
t
)}}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"环境域名:"
,
prop
:
"domainUrl"
}},[
a
(
"limitInput"
,{
attrs
:{
inputWidth
:
400
,
inputValue
:
e
.
formData
.
domainUrl
,
holder
:
"请输入环境域名"
,
getByType
:
"word"
,
maxLength
:
50
},
on
:{
"update:inputValue"
:
function
(
t
){
e
.
$set
(
e
.
formData
,
"domainUrl"
,
t
)}}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"默认环境:"
}},[
a
(
"el-checkbox"
,{
model
:{
value
:
e
.
formData
.
defaultFlag
,
callback
:
function
(
t
){
e
.
$set
(
e
.
formData
,
"defaultFlag"
,
t
)},
expression
:
"formData.defaultFlag"
}},[
e
.
_v
(
"设置为默认环境"
)])],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"dialog-footer"
,
staticStyle
:{
"padding-bottom"
:
"10px"
},
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
a
(
"el-button"
,{
on
:{
click
:
e
.
customCancel
}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
e
.
customConfirm
(
"envForm"
)}}},[
e
.
_v
(
e
.
_s
(
e
.
editRow
.
sceneCode
?
"保 存"
:
"新 建"
))])],
1
)])],
1
)},
staticRenderFns
:[]};
var
f
=
a
(
"VU/8"
)(
u
,
d
,
!
1
,
function
(
e
){
a
(
"KLiK"
)},
"data-v-7ef9b82e"
,
null
).
exports
,
h
=
a
(
"jvWE"
),
m
=
{
name
:
"env-list"
,
data
:
function
(){
return
{
searchValue
:
""
,
tableData
:[{
sceneName
:
"测试"
,
sceneCode
:
"234"
,
domainUrl
:
"http://123.com"
,
defaultFlag
:
!
1
,
createTime
:
1564455643252
}],
showDialog
:
!
1
,
editIndex
:
""
,
editRow
:{}}},
components
:{
newEnv
:
f
},
methods
:{
editEnv
:
function
(){
this
.
showDialog
=!
0
},
hideDialog
:
function
(
e
){
if
(
!
e
)
return
this
.
editIndex
=
""
,
this
.
editRow
=
{},
this
.
showDialog
=!
1
,
!
1
;
this
.
editRow
.
sceneCode
?(
this
.
tableData
[
this
.
editIndex
].
sceneName
=
e
.
sceneName
,
this
.
tableData
[
this
.
editIndex
].
domainUrl
=
e
.
domainUrl
,
this
.
tableData
[
this
.
editIndex
].
defaultFlag
=
e
.
defaultFlag
):(
this
.
currentPage
=
1
,
this
.
getData
()),
this
.
editIndex
=
""
,
this
.
editRow
=
{},
this
.
showDialog
=!
1
,
this
.
$forceUpdate
()},
searchData
:
Object
(
h
.
a
)(
function
(
e
){
this
.
currentPage
,
this
.
getData
()},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getData
()},
handleSizeChange
:
function
(
e
){
this
.
pageSize
=
e
,
this
.
getData
()},
handleCurrentChange
:
function
(
e
){
this
.
currentPage
=
e
,
this
.
getData
()},
handleEdit
:
function
(
e
,
t
){
this
.
editIndex
=
e
,
this
.
editRow
=
t
,
this
.
showDialog
=!
0
},
handleDel
:
function
(
e
,
t
){
var
a
=
this
;
a
.
$confirm
(
"确定删除该环境?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
a
.
postDelData
(
e
,
t
)}).
catch
(
function
(){})},
postDelData
:
function
(
e
,
t
){
var
a
=
this
,
o
=
{
sceneCode
:
t
.
sceneCode
};
Object
(
r
.
a
)(
"/gateway-manage/delete-scene"
,
o
).
then
(
function
(
t
){
var
o
=
t
.
data
;
if
(
"0000"
==
o
.
code
)
return
l
.
a
.
showmsg
(
"删除成功"
,
"success"
),
void
a
.
tableData
.
splice
(
e
,
1
);
c
.
a
.
errorMsg
(
o
)}).
catch
(
function
(
e
){
a
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})},
changeEnv
:
function
(
e
,
t
){
this
.
postChangeEnv
(
e
,
t
)},
postChangeEnv
:
function
(
e
,
t
){
var
a
=
this
,
o
=
{
defaultFlag
:
t
?
"1"
:
"0"
,
sceneCode
:
e
.
sceneCode
};
Object
(
r
.
a
)(
"/gateway-manage/set-default-scene"
,
o
).
then
(
function
(
e
){
var
t
=
e
.
data
;
if
(
"0000"
==
t
.
code
)
return
l
.
a
.
showmsg
(
"设置成功"
,
"success"
),
void
a
.
getData
();
c
.
a
.
errorMsg
(
t
)}).
catch
(
function
(
e
){
a
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})},
getData
:
function
(){
var
e
=
this
;
Object
(
r
.
a
)(
"/gateway-manage/list-all-scene"
,{}).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
"0000"
==
a
.
code
)
return
a
.
result
&&
a
.
result
.
length
&&
a
.
result
.
forEach
(
function
(
e
){
e
.
defaultFlag
=
1
==
e
.
defaultFlag
}),
void
(
e
.
tableData
=
a
.
result
||
[]);
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
mounted
:
function
(){
this
.
getData
()}},
p
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,[
a
(
"div"
,{
staticClass
:
"search-wrap m-b-20 flex flex-space-between"
},[
a
(
"el-input"
,{
staticClass
:
"w-320 serach"
,
attrs
:{
clearable
:
""
,
placeholder
:
"请输入发布版本"
},
on
:{
clear
:
e
.
clearInput
},
nativeOn
:{
keyup
:
function
(
t
){
return
a
=
t
,
e
.
searchData
(
a
);
var
a
}},
model
:{
value
:
e
.
searchValue
,
callback
:
function
(
t
){
e
.
searchValue
=
t
},
expression
:
"searchValue"
}},[
a
(
"i"
,{
staticClass
:
"el-input__icon el-icon-search"
,
attrs
:{
slot
:
"prefix"
},
slot
:
"prefix"
})]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
editEnv
}},[
e
.
_v
(
"新建环境"
)])],
1
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table-wrap"
},[
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sceneName"
,
label
:
"环境名称"
,
"show-overflow-tooltip"
:
""
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"环境code"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
n "
+
e
.
_s
(
t
.
row
.
sceneCode
)
+
"
\
n "
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"环境域名"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
n "
+
e
.
_s
(
t
.
row
.
domainUrl
)
+
"
\
n "
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"默认环境"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"el-switch"
,{
attrs
:{
"active-text"
:
""
,
"inactive-text"
:
""
},
on
:{
change
:
function
(
a
){
e
.
changeEnv
(
t
.
row
,
t
.
row
.
defaultFlag
)}},
model
:{
value
:
t
.
row
.
defaultFlag
,
callback
:
function
(
a
){
e
.
$set
(
t
.
row
,
"defaultFlag"
,
a
)},
expression
:
"scope.row.defaultFlag"
}})]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"创建时间"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"div"
,{
staticClass
:
"color-606266 line-18"
},[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"timeStampToYmd"
)(
t
.
row
.
createTime
)))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"color-606266 line-18"
},[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"timeStampToHms"
)(
t
.
row
.
createTime
)))])]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
a
){
e
.
handleEdit
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"编辑"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
a
){
e
.
handleDel
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"删除"
)])]}}])})],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"new-env"
,{
attrs
:{
editRow
:
e
.
editRow
,
showDialog
:
e
.
showDialog
},
on
:{
hideDialog
:
e
.
hideDialog
}})],
1
)},
staticRenderFns
:[]};
var
g
=
a
(
"VU/8"
)(
m
,
p
,
!
1
,
function
(
e
){
a
(
"oSTL"
)},
"data-v-0c33a274"
,
null
).
exports
,
v
=
{
name
:
"env-set-list"
,
data
:
function
(){
return
{
proxyType
:
"0"
,
searchValue
:
""
,
tableData
:[],
pageSize
:
20
,
currentPage
:
1
,
totalCount
:
0
}},
methods
:{
toCreatSet
:
function
(){
this
.
$router
.
push
(
"/createEnvSet?proxyType="
+
this
.
proxyType
)},
searchData
:
Object
(
h
.
a
)(
function
(
e
){
this
.
currentPage
,
this
.
getData
()},
500
),
clearInput
:
function
(){
this
.
currentPage
=
1
,
this
.
getData
()},
changeType
:
function
(
e
){
this
.
currentPage
=
1
,
this
.
getData
()},
handleSizeChange
:
function
(
e
){
this
.
pageSize
=
e
,
this
.
getData
()},
handleCurrentChange
:
function
(
e
){
this
.
currentPage
=
e
,
this
.
getData
()},
handleShow
:
function
(
e
,
t
){
this
.
$router
.
push
(
"/createEnvSet?envSetFlag=show&proxyType="
+
t
.
proxyType
+
"&backendProxyId="
+
t
.
backendProxyId
)},
handleEdit
:
function
(
e
,
t
){
this
.
$router
.
push
(
"/createEnvSet?envSetFlag=edit&proxyType="
+
t
.
proxyType
+
"&backendProxyId="
+
t
.
backendProxyId
)},
handleDel
:
function
(
e
,
t
){
var
a
=
this
;
a
.
$confirm
(
"确定删除该环境?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
a
.
postDelData
(
e
,
t
)}).
catch
(
function
(){})},
postDelData
:
function
(
e
,
t
){
var
a
=
this
,
o
=
{
backendProxyId
:
t
.
backendProxyId
,
requestProject
:
a
.
repProjectName
};
Object
(
r
.
a
)(
"/gateway-manage/delete-proxy"
,
o
).
then
(
function
(
t
){
var
o
=
t
.
data
;
if
(
"0000"
==
o
.
code
)
return
l
.
a
.
showmsg
(
"删除成功"
,
"success"
),
void
a
.
tableData
.
splice
(
e
,
1
);
c
.
a
.
errorMsg
(
o
)}).
catch
(
function
(
e
){
a
.
$message
.
error
({
duration
:
1
e3
,
message
:
e
.
message
})})},
getData
:
function
(){
var
e
=
this
,
t
=
{
search
:
e
.
searchValue
,
pageNum
:
e
.
currentPage
,
pageSize
:
e
.
pageSize
,
proxyType
:
e
.
proxyType
};
Object
(
r
.
a
)(
"/gateway-manage/page-proxy"
,
t
).
then
(
function
(
t
){
var
a
=
t
.
data
;
if
(
"0000"
==
a
.
code
)
return
e
.
tableData
=
a
.
result
.
result
||
[],
void
(
e
.
totalCount
=
a
.
result
.
totalCount
);
c
.
a
.
errorMsg
(
a
)}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
mounted
:
function
(){
this
.
getData
()}},
b
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,[
a
(
"div"
,{
staticClass
:
"search-wrap m-b-20 flex flex-space-between"
},[
a
(
"el-input"
,{
staticClass
:
"w-320"
,
attrs
:{
clearable
:
""
,
placeholder
:
"请输入配置名称/code"
},
on
:{
clear
:
e
.
clearInput
},
nativeOn
:{
keyup
:
function
(
t
){
return
a
=
t
,
e
.
searchData
(
a
);
var
a
}},
model
:{
value
:
e
.
searchValue
,
callback
:
function
(
t
){
e
.
searchValue
=
t
},
expression
:
"searchValue"
}},[
a
(
"i"
,{
staticClass
:
"el-input__icon el-icon-search"
,
attrs
:{
slot
:
"prefix"
},
slot
:
"prefix"
})]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"search-wrap-right"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
toCreatSet
}},[
e
.
_v
(
"新建配置"
)]),
e
.
_v
(
" "
),
a
(
"el-radio-group"
,{
on
:{
change
:
e
.
changeType
},
model
:{
value
:
e
.
proxyType
,
callback
:
function
(
t
){
e
.
proxyType
=
t
},
expression
:
"proxyType"
}},[
a
(
"el-radio-button"
,{
attrs
:{
label
:
"0"
}},[
e
.
_v
(
"http"
)]),
e
.
_v
(
" "
),
a
(
"el-radio-button"
,{
attrs
:{
label
:
"1"
}},[
e
.
_v
(
"dubbo"
)])],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table-wrap"
},[
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"proxyName"
,
label
:
"配置名称"
,
"show-overflow-tooltip"
:
""
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"proxyCode"
,
label
:
"配置code"
,
"show-overflow-tooltip"
:
""
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"描述"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\
n "
+
e
.
_s
(
t
.
row
.
description
)
+
"
\
n "
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"创建时间"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"div"
,{
staticClass
:
"color-606266 line-18"
},[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"timeStampToYmd"
)(
t
.
row
.
createTime
)))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"color-606266 line-18"
},[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"timeStampToHms"
)(
t
.
row
.
createTime
)))])]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
"show-overflow-tooltip"
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
a
){
e
.
handleShow
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"查看"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
a
){
e
.
handleEdit
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"编辑"
)]),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
a
){
e
.
handleDel
(
t
.
$index
,
t
.
row
)}}},[
e
.
_v
(
"删除"
)])]}}])})],
1
),
e
.
_v
(
" "
),
e
.
totalCount
?
a
(
"div"
,{
staticClass
:
"pagination text-right m-t-14"
},[
a
(
"el-pagination"
,{
attrs
:{
small
:
""
,
"page-size"
:
e
.
pageSize
,
"current-page"
:
e
.
currentPage
,
layout
:
"prev, pager, next"
,
total
:
e
.
totalCount
},
on
:{
"size-change"
:
e
.
handleSizeChange
,
"current-change"
:
e
.
handleCurrentChange
}})],
1
):
e
.
_e
()],
1
)])},
staticRenderFns
:[]};
var
w
=
a
(
"VU/8"
)(
v
,
b
,
!
1
,
function
(
e
){
a
(
"UYfG"
)},
"data-v-f88fc532"
,
null
).
exports
,
D
=
{
name
:
"envManage"
,
components
:{
navBread
:
o
.
a
,
envList
:
g
,
envSetList
:
w
},
data
:
function
(){
return
{
navPath
:[{
name
:
"环境管理"
,
path
:
""
}],
activeName
:
"first"
}},
methods
:{
handleClick
:
function
(
e
,
t
){
console
.
log
(
e
,
t
)},
getData
:
function
(){
var
e
=
this
,
t
=
{
project
:
e
.
repProjectName
,
router
:
e
.
pathName
,
requestProject
:
e
.
repProjectName
};
Object
(
r
.
a
)(
"/haoban-manage-web/menu-detail"
,
t
).
then
(
function
(
t
){
var
a
=
t
.
data
;
1
!=
a
.
errorCode
&&
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
a
.
message
})}).
catch
(
function
(
t
){
e
.
$message
.
error
({
duration
:
1
e3
,
message
:
t
.
message
})})}},
watch
:{
$route
:{
handler
:
function
(
e
,
t
){},
deep
:
!
0
}},
mounted
:
function
(){
this
.
$emit
(
"showTab"
,
3
),
this
.
$route
.
query
.
tabChildid
&&
(
this
.
activeName
=
this
.
$route
.
query
.
tabChildid
)}},
y
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"api-body-content border-box"
},[
a
(
"div"
,{
staticClass
:
"common-nav"
},[
a
(
"nav-bread"
,{
attrs
:{
navPath
:
e
.
navPath
}})],
1
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"api-body-main common-body-main border-box"
},[
a
(
"div"
,{
staticClass
:
"api-main-content border-box"
},[
a
(
"div"
,{
staticClass
:
"env-tab-wrap"
},[
a
(
"el-tabs"
,{
on
:{
"tab-click"
:
e
.
handleClick
},
model
:{
value
:
e
.
activeName
,
callback
:
function
(
t
){
e
.
activeName
=
t
},
expression
:
"activeName"
}},[
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"环境列表"
,
name
:
"first"
}},[
a
(
"env-list"
)],
1
),
e
.
_v
(
" "
),
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"配置列表"
,
name
:
"second"
}},[
a
(
"env-set-list"
)],
1
)],
1
)],
1
)])])])},
staticRenderFns
:[]};
var
_
=
a
(
"VU/8"
)(
D
,
y
,
!
1
,
function
(
e
){
a
(
"ZT99"
)},
"data-v-7f14fefd"
,
null
);
t
.
default
=
_
.
exports
},
oSTL
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/manifest.06ec7f2ed387d521ed58.js
0 → 100644
View file @
037d421e
!
function
(
e
){
var
n
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
r
,
a
,
c
){
for
(
var
f
,
b
,
d
,
i
=
0
,
u
=
[];
i
<
r
.
length
;
i
++
)
b
=
r
[
i
],
t
[
b
]
&&
u
.
push
(
t
[
b
][
0
]),
t
[
b
]
=
0
;
for
(
f
in
a
)
Object
.
prototype
.
hasOwnProperty
.
call
(
a
,
f
)
&&
(
e
[
f
]
=
a
[
f
]);
for
(
n
&&
n
(
r
,
a
,
c
);
u
.
length
;)
u
.
shift
()();
if
(
c
)
for
(
i
=
0
;
i
<
c
.
length
;
i
++
)
d
=
o
(
o
.
s
=
c
[
i
]);
return
d
};
var
r
=
{},
t
=
{
21
:
0
};
function
o
(
n
){
if
(
r
[
n
])
return
r
[
n
].
exports
;
var
t
=
r
[
n
]
=
{
i
:
n
,
l
:
!
1
,
exports
:{}};
return
e
[
n
].
call
(
t
.
exports
,
t
,
t
.
exports
,
o
),
t
.
l
=!
0
,
t
.
exports
}
o
.
e
=
function
(
e
){
var
n
=
t
[
e
];
if
(
0
===
n
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
n
)
return
n
[
2
];
var
r
=
new
Promise
(
function
(
r
,
o
){
n
=
t
[
e
]
=
[
r
,
o
]});
n
[
2
]
=
r
;
var
a
=
document
.
getElementsByTagName
(
"head"
)[
0
],
c
=
document
.
createElement
(
"script"
);
c
.
type
=
"text/javascript"
,
c
.
charset
=
"utf-8"
,
c
.
async
=!
0
,
c
.
timeout
=
12
e4
,
o
.
nc
&&
c
.
setAttribute
(
"nonce"
,
o
.
nc
),
c
.
src
=
o
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"d2aeaa955782b02febee"
,
1
:
"0ebe3ead93207dc78a78"
,
2
:
"f7b40d30dd54af098711"
,
3
:
"28b429bef89c9e6ec68f"
,
4
:
"e147fece7b5af9883b95"
,
5
:
"8dade12caa32853912f4"
,
6
:
"7e47fc9750107d0d7600"
,
7
:
"6e98bf19e73d647ed2c5"
,
8
:
"6f4aba6d804414b554f1"
,
9
:
"1a44376fa612d3e18d19"
,
10
:
"638039a7b39908980436"
,
11
:
"65b3d46525bbb966f996"
,
12
:
"cb37adc4b9f63c81ace0"
,
13
:
"3f70345d9260ae04ca59"
,
14
:
"9825bb69e60b8030c230"
,
15
:
"cb7b875c24b40e9cb6e0"
,
16
:
"4da3a9b34b0474c33a18"
,
17
:
"3d53e5aa355f2b62e040"
,
18
:
"23893b252dcbd71cee7b"
}[
e
]
+
".js"
;
var
f
=
setTimeout
(
b
,
12
e4
);
function
b
(){
c
.
onerror
=
c
.
onload
=
null
,
clearTimeout
(
f
);
var
n
=
t
[
e
];
0
!==
n
&&
(
n
&&
n
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
t
[
e
]
=
void
0
)}
return
c
.
onerror
=
c
.
onload
=
b
,
a
.
appendChild
(
c
),
r
},
o
.
m
=
e
,
o
.
c
=
r
,
o
.
d
=
function
(
e
,
n
,
r
){
o
.
o
(
e
,
n
)
||
Object
.
defineProperty
(
e
,
n
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
r
})},
o
.
n
=
function
(
e
){
var
n
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
o
.
d
(
n
,
"a"
,
n
),
n
},
o
.
o
=
function
(
e
,
n
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
n
)},
o
.
p
=
"./"
,
o
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
dist/static/js/manifest.cc3146689d1a8336c83a.js
deleted
100644 → 0
View file @
056802d2
!
function
(
e
){
var
n
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
r
,
o
,
c
){
for
(
var
f
,
d
,
b
,
i
=
0
,
u
=
[];
i
<
r
.
length
;
i
++
)
d
=
r
[
i
],
t
[
d
]
&&
u
.
push
(
t
[
d
][
0
]),
t
[
d
]
=
0
;
for
(
f
in
o
)
Object
.
prototype
.
hasOwnProperty
.
call
(
o
,
f
)
&&
(
e
[
f
]
=
o
[
f
]);
for
(
n
&&
n
(
r
,
o
,
c
);
u
.
length
;)
u
.
shift
()();
if
(
c
)
for
(
i
=
0
;
i
<
c
.
length
;
i
++
)
b
=
a
(
a
.
s
=
c
[
i
]);
return
b
};
var
r
=
{},
t
=
{
21
:
0
};
function
a
(
n
){
if
(
r
[
n
])
return
r
[
n
].
exports
;
var
t
=
r
[
n
]
=
{
i
:
n
,
l
:
!
1
,
exports
:{}};
return
e
[
n
].
call
(
t
.
exports
,
t
,
t
.
exports
,
a
),
t
.
l
=!
0
,
t
.
exports
}
a
.
e
=
function
(
e
){
var
n
=
t
[
e
];
if
(
0
===
n
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
n
)
return
n
[
2
];
var
r
=
new
Promise
(
function
(
r
,
a
){
n
=
t
[
e
]
=
[
r
,
a
]});
n
[
2
]
=
r
;
var
o
=
document
.
getElementsByTagName
(
"head"
)[
0
],
c
=
document
.
createElement
(
"script"
);
c
.
type
=
"text/javascript"
,
c
.
charset
=
"utf-8"
,
c
.
async
=!
0
,
c
.
timeout
=
12
e4
,
a
.
nc
&&
c
.
setAttribute
(
"nonce"
,
a
.
nc
),
c
.
src
=
a
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"d2aeaa955782b02febee"
,
1
:
"0ebe3ead93207dc78a78"
,
2
:
"f7b40d30dd54af098711"
,
3
:
"28b429bef89c9e6ec68f"
,
4
:
"e147fece7b5af9883b95"
,
5
:
"8dade12caa32853912f4"
,
6
:
"7e47fc9750107d0d7600"
,
7
:
"56014d62c6978a8e67fd"
,
8
:
"6f4aba6d804414b554f1"
,
9
:
"1a44376fa612d3e18d19"
,
10
:
"638039a7b39908980436"
,
11
:
"65b3d46525bbb966f996"
,
12
:
"cb37adc4b9f63c81ace0"
,
13
:
"3f70345d9260ae04ca59"
,
14
:
"9825bb69e60b8030c230"
,
15
:
"cb7b875c24b40e9cb6e0"
,
16
:
"4da3a9b34b0474c33a18"
,
17
:
"3d53e5aa355f2b62e040"
,
18
:
"23893b252dcbd71cee7b"
}[
e
]
+
".js"
;
var
f
=
setTimeout
(
d
,
12
e4
);
function
d
(){
c
.
onerror
=
c
.
onload
=
null
,
clearTimeout
(
f
);
var
n
=
t
[
e
];
0
!==
n
&&
(
n
&&
n
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
t
[
e
]
=
void
0
)}
return
c
.
onerror
=
c
.
onload
=
d
,
o
.
appendChild
(
c
),
r
},
a
.
m
=
e
,
a
.
c
=
r
,
a
.
d
=
function
(
e
,
n
,
r
){
a
.
o
(
e
,
n
)
||
Object
.
defineProperty
(
e
,
n
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
r
})},
a
.
n
=
function
(
e
){
var
n
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
a
.
d
(
n
,
"a"
,
n
),
n
},
a
.
o
=
function
(
e
,
n
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
n
)},
a
.
p
=
"./"
,
a
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
src/components/env/new-env.vue
View file @
037d421e
...
...
@@ -19,7 +19,7 @@ import newEnv from '@/components/env/new-env.vue'
<limitInput
:inputWidth=
"400"
:disflag=
"editRow.sceneCode ? true : false"
:inputValue
.
sync=
"formData.sceneCode"
:holder=
"'请输入环境code'"
:getByType=
"'word'"
:maxLength=
"20"
>
</limitInput>
</el-form-item>
<el-form-item
label=
"环境域名:"
prop=
"domainUrl"
>
<limitInput
:inputWidth=
"400"
:inputValue
.
sync=
"formData.domainUrl"
:holder=
"'请输入环境域名'"
:getByType=
"'word'"
:maxLength=
"
2
0"
>
</limitInput>
<limitInput
:inputWidth=
"400"
:inputValue
.
sync=
"formData.domainUrl"
:holder=
"'请输入环境域名'"
:getByType=
"'word'"
:maxLength=
"
5
0"
>
</limitInput>
</el-form-item>
<el-form-item
label=
"默认环境:"
>
<el-checkbox
v-model=
"formData.defaultFlag"
>
设置为默认环境
</el-checkbox>
...
...
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