Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform-ui
Project
Project
Details
Activity
Releases
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
youjj
cloud-platform-ui
Commits
0622e540
Commit
0622e540
authored
Jul 26, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'base-modify' of
http://113.105.137.151:22280/youjj/cloud-platform-ui
into base-modify
parents
318591a4
7f3f4c8c
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
994 additions
and
209 deletions
+994
-209
activityManagement.js
src/api/activityManagement.js
+25
-2
modalManagement.js
src/api/appManagement/modalManagement.js
+48
-0
selectedActivities.js
src/api/appManagement/selectedActivities.js
+61
-0
index.js
src/api/base_info/constant/index.js
+1
-1
dateUtils.js
src/utils/dateUtils.js
+9
-1
activityList.vue
src/views/activityManagement/activityList.vue
+358
-65
index.vue
src/views/admin/user/index.vue
+43
-18
index.vue
src/views/appManagement/modalManagement/index.vue
+177
-53
index.vue
src/views/appManagement/selectedActivities/index.vue
+173
-52
generalSetting.vue
src/views/baseInfo/generalSetting.vue
+96
-15
cunponManagement.vue
src/views/cunponManagements/cunponManagement.vue
+3
-2
No files found.
src/api/activityManagement.js
View file @
0622e540
...
@@ -7,7 +7,30 @@ import fetch from 'utils/fetch';
...
@@ -7,7 +7,30 @@ import fetch from 'utils/fetch';
export
function
activityList
(
query
)
{
export
function
activityList
(
query
)
{
return
fetch
({
return
fetch
({
url
:
'/api/activity/management/activity/findAll'
,
url
:
'/api/activity/management/activity/findAll'
,
method
:
'
ge
t'
,
method
:
'
pos
t'
,
params
:
query
data
:
query
});
});
}
}
/**
* 获取弹窗管理列表某一条数据
* @param query
*/
export
function
getObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/management/getOne/'
+
id
,
method
:
'Get'
})
}
/**
* 编辑某一条数据
* @param query
*/
export
function
editObj
(
data
)
{
return
fetch
({
url
:
'/api/activity/management/update'
,
method
:
'put'
,
data
:
data
})
}
\ No newline at end of file
src/api/appManagement/modalManagement.js
View file @
0622e540
...
@@ -11,3 +11,51 @@ export function getModalList(query) {
...
@@ -11,3 +11,51 @@ export function getModalList(query) {
data
:
query
data
:
query
});
});
}
}
/**
* 弹窗管理--添加
* @param query
*/
export
function
addObj
(
obj
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage'
,
method
:
'post'
,
data
:
obj
});
}
/**
* 获取弹窗管理列表某一条数据
* @param query
*/
export
function
getObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage/manage/getOne/'
+
id
,
method
:
'Get'
})
}
/**
* 编辑某一条数据,上下架
* @param query
*/
export
function
editObj
(
data
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage/'
+
data
.
id
,
method
:
'put'
,
data
:
data
})
}
/**
* 删除数据
* @param query
*/
export
function
delObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage/'
+
id
,
method
:
'delete'
,
})
}
src/api/appManagement/selectedActivities.js
0 → 100644
View file @
0622e540
import
fetch
from
'utils/fetch'
;
/**
* 获取列表
* @param query
*/
export
function
getActivityList
(
query
)
{
return
fetch
({
url
:
'/api/activity/homeActivities/manage/activity/findAll'
,
method
:
'POST'
,
data
:
query
});
}
/**
* 获取弹窗管理列表某一条数据
* @param query
*/
export
function
getObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/homeActivities/manage/activity/getOne/'
+
id
,
method
:
'Get'
})
}
/**
* 弹窗管理--添加
* @param query
*/
export
function
addObj
(
obj
)
{
return
fetch
({
url
:
'/api/activity/homeActivities'
,
method
:
'post'
,
data
:
obj
});
}
/**
* 编辑某一条数据,上下架
* @param query
*/
export
function
editObj
(
data
)
{
return
fetch
({
url
:
'/api/activity/homeActivities/'
+
data
.
id
,
method
:
'put'
,
data
:
data
})
}
/**
* 删除数据
* @param query
*/
export
function
delObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/homeActivities/manage/activity/deleteOne/'
+
id
,
method
:
'delete'
,
})
}
src/api/base_info/constant/index.js
View file @
0622e540
...
@@ -30,7 +30,7 @@ function loadFromServer(type) {
...
@@ -30,7 +30,7 @@ function loadFromServer(type) {
$
.
ajax
({
$
.
ajax
({
type
:
'get'
,
type
:
'get'
,
// url: process.env.BASE_API + '/vehicle/constant/type/' + type,
// url: process.env.BASE_API + '/vehicle/constant/type/' + type,
url
:
process
.
env
.
BASE_API
+
'vehicle/area/findAll'
,
url
:
process
.
env
.
BASE_API
+
'
/
vehicle/area/findAll'
,
async
:
false
,
async
:
false
,
headers
:
{
headers
:
{
Authorization
:
headerAuthorization
Authorization
:
headerAuthorization
...
...
src/utils/dateUtils.js
View file @
0622e540
...
@@ -75,6 +75,14 @@ export function getCurrentMonth() {
...
@@ -75,6 +75,14 @@ export function getCurrentMonth() {
return
formatDate
(
today
,
'MM'
);
return
formatDate
(
today
,
'MM'
);
}
}
/**
* 返回yyyy-MM-dd
* */
export
function
getYMD_hm
(
timestamp
)
{
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return
formatDate
(
date
,
'yyyy-MM-dd hh:mm'
);
}
/**
/**
* 返回yyyy-MM-dd
* 返回yyyy-MM-dd
* */
* */
...
...
src/views/activityManagement/activityList.vue
View file @
0622e540
This diff is collapsed.
Click to expand it.
src/views/admin/user/index.vue
View file @
0622e540
...
@@ -81,7 +81,7 @@
...
@@ -81,7 +81,7 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属角色"
prop=
"members"
>
<el-form-item
label=
"所属角色"
prop=
"members"
>
<el-select
v-model=
"form.members"
multiple
filterable
placeholder=
"请选择"
:loading=
"loading"
:remote-method=
"remoteGroupsMethod"
remote
@
change=
"changeMembers"
>
<el-select
v-model=
"form.members"
multiple
filterable
placeholder=
"请选择"
:loading=
"loading"
:remote-method=
"remoteGroupsMethod"
remote
>
<el-option
<el-option
v-for=
"item in myGroups"
v-for=
"item in myGroups"
:key=
"item.id"
:key=
"item.id"
...
@@ -154,9 +154,10 @@ export default {
...
@@ -154,9 +154,10 @@ export default {
password
:
undefined
,
password
:
undefined
,
passwordEdit
:
undefined
,
passwordEdit
:
undefined
,
description
:
undefined
,
description
:
undefined
,
dataLimit
:
[],
dataLimit
:
[],
//数据权限
members
:
[],
members
:
[],
},
},
editCompanyId
:
undefined
,
//编辑时公司id
baranchQuery
:
{
baranchQuery
:
{
zoneId
:
null
zoneId
:
null
},
},
...
@@ -346,6 +347,7 @@ export default {
...
@@ -346,6 +347,7 @@ export default {
.
then
(
res
=>
{
.
then
(
res
=>
{
this
.
allBranchCompany
=
res
.
data
;
this
.
allBranchCompany
=
res
.
data
;
getObj
(
row
.
id
).
then
(
response
=>
{
getObj
(
row
.
id
).
then
(
response
=>
{
this
.
editCompanyId
=
response
.
data
.
companyId
,
//所属分公司id
this
.
form
.
username
=
response
.
data
.
username
,
this
.
form
.
username
=
response
.
data
.
username
,
this
.
form
.
name
=
response
.
data
.
name
,
this
.
form
.
name
=
response
.
data
.
name
,
this
.
form
.
sex
=
response
.
data
.
sex
,
this
.
form
.
sex
=
response
.
data
.
sex
,
...
@@ -393,9 +395,9 @@ export default {
...
@@ -393,9 +395,9 @@ export default {
this
.
dialogStatus
=
'update'
;
this
.
dialogStatus
=
'update'
;
}
}
},
},
changeMembers
(){
debugger
//
changeMembers(){debugger
this
.
$set
(
this
.
form
,
"members"
,
this
.
form
.
members
)
//
this.$set(this.form, "members", this.form.members)
},
//
},
handleDelete
(
row
)
{
handleDelete
(
row
)
{
this
.
$confirm
(
'此操作将永久删除, 是否继续?'
,
'提示'
,
{
this
.
$confirm
(
'此操作将永久删除, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
...
@@ -494,24 +496,47 @@ export default {
...
@@ -494,24 +496,47 @@ export default {
this
.
form
.
zoneId
=
item
;
this
.
form
.
zoneId
=
item
;
this
.
form
.
companyId
=
undefined
;
//片区修改后所属公司联动
this
.
form
.
companyId
=
undefined
;
//片区修改后所属公司联动
this
.
baranchQuery
.
zoneId
=
item
;
this
.
baranchQuery
.
zoneId
=
item
;
if
(
this
.
baranchQuery
.
zoneId
){
getAllBranchCompanyByZoneId
(
this
.
baranchQuery
)
getAllBranchCompanyByZoneId
(
this
.
baranchQuery
)
.
then
(
response
=>
{
.
then
(
response
=>
{
debugger
this
.
allBranchCompany
=
response
.
data
;
this
.
allBranchCompany
=
response
.
data
;
if
(
this
.
editCompanyId
){
this
.
form
.
companyId
=
this
.
editCompanyId
;
this
.
editCompanyId
=
undefined
;
}
})
})
}
},
},
resetTemp
()
{
resetTemp
()
{
this
.
editCompanyId
=
undefined
;
this
.
form
=
{
this
.
form
=
{
username
:
undefined
,
username
:
undefined
,
name
:
undefined
,
name
:
undefined
,
sex
:
'男'
,
sex
:
'男'
,
zoneId
:
undefined
,
status
:
1
,
passwordEdit
:
undefined
,
zoneId
:
undefined
,
//所属片区
companyId
:
undefined
,
companyId
:
undefined
,
//所属分公司id
password
:
""
,
companyName
:
""
,
//所属公司
state2
:
''
,
password
:
undefined
,
passwordEdit
:
undefined
,
description
:
undefined
,
description
:
undefined
,
dataLimit
:
undefined
,
dataLimit
:
[],
//数据权限
members
:
[],
members
:
[],
};
};
// this.form = {
// username: undefined,
// name: undefined,
// status: 1,
// sex: '男',
// zoneId: undefined,
// passwordEdit:undefined,
// companyId: undefined,
// password: "",
// description: undefined,
// dataLimit: [],
// members: [],
// };
},
},
// initGroups() {
// initGroups() {
// getUsers(this.groupId).then(response => {
// getUsers(this.groupId).then(response => {
...
...
src/views/appManagement/modalManagement/index.vue
View file @
0622e540
This diff is collapsed.
Click to expand it.
src/views/appManagement/selectedActivities/index.vue
View file @
0622e540
This diff is collapsed.
Click to expand it.
src/views/baseInfo/generalSetting.vue
View file @
0622e540
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</div>
</div>
<!-- banner modal弹窗 -->
<!-- banner modal弹窗 -->
<el-dialog
:title=
"modalTitle"
:visible
.
sync=
"dialogVisible"
:before-close=
"handleDialogClose"
>
<el-dialog
:title=
"modalTitle"
:visible
.
sync=
"dialogVisible"
:before-close=
"handleDialogClose"
>
<el-form
:model=
"dialogFrom"
:rules=
"rules"
ref=
"dialogFrom"
label-width=
"
9
0px"
>
<el-form
:model=
"dialogFrom"
:rules=
"rules"
ref=
"dialogFrom"
label-width=
"
13
0px"
>
<el-form-item
label=
"标题"
prop=
"title"
>
<el-form-item
label=
"标题"
prop=
"title"
>
<el-input
v-model=
"dialogFrom.title"
placeholder=
"请输入标题"
></el-input>
<el-input
v-model=
"dialogFrom.title"
placeholder=
"请输入标题"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -59,8 +59,8 @@
...
@@ -59,8 +59,8 @@
</el-form-item>
</el-form-item>
<el-row
v-if=
"dialogFrom.type==88"
>
<el-row
v-if=
"dialogFrom.type==88"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"
提现金额"
prop=
"a
mount"
>
<el-form-item
label=
"
最低提现金额"
prop=
"minA
mount"
>
<el-input
v-model=
"dialogFrom.
amount"
placeholder=
"请输入
提现金额"
></el-input>
<el-input
v-model=
"dialogFrom.
minAmount"
placeholder=
"请输入最低
提现金额"
></el-input>
<span
style=
"color:#bfcbd9;"
>
钱包余额,最低提现额度,达到此金额后才能提现
</span>
<span
style=
"color:#bfcbd9;"
>
钱包余额,最低提现额度,达到此金额后才能提现
</span>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -73,6 +73,42 @@
...
@@ -73,6 +73,42 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
<el-row
v-if=
"dialogFrom.type==88"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"月额度"
prop=
"amountOfMonth"
>
<el-input
v-model=
"dialogFrom.amountOfMonth"
placeholder=
"请输入月额度"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
v-if=
"dialogFrom.type==88"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"日额度"
prop=
"amountOfDay"
>
<el-input
v-model=
"dialogFrom.amountOfDay"
placeholder=
"请输入日额度"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
v-if=
"dialogFrom.type==88"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"最多提现次数(月)"
prop=
"maxNumberOfMonth"
>
<el-input
v-model=
"dialogFrom.maxNumberOfMonth"
placeholder=
"请输入最多提现次数(月)"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
v-if=
"dialogFrom.type==88"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"最多提现次数(日)"
prop=
"maxNumberOfDay"
>
<el-input
v-model=
"dialogFrom.maxNumberOfDay"
placeholder=
"请输入最多提现次数(日)"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
v-if=
"dialogFrom.type==88"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"提现方式"
prop=
"withdrawWay"
>
<el-radio
v-model=
"dialogFrom.withdrawWay"
label=
"1"
>
线上
</el-radio>
<el-radio
v-model=
"dialogFrom.withdrawWay"
label=
"2"
>
线下
</el-radio>
</el-form-item>
</el-col>
</el-row>
<el-tabs
v-model=
"activeName2"
type=
"card"
>
<el-tabs
v-model=
"activeName2"
type=
"card"
>
<el-tab-pane
label=
"详情"
name=
"first"
>
<el-tab-pane
label=
"详情"
name=
"first"
>
...
@@ -178,8 +214,13 @@
...
@@ -178,8 +214,13 @@
title
:
""
,
title
:
""
,
type
:
undefined
,
type
:
undefined
,
value
:
""
,
value
:
""
,
amount
:
100
,
minAmount
:
100
,
proceduReates
:
0.001
proceduReates
:
0.001
,
amountOfMonth
:
''
,
amountOfDay
:
''
,
maxNumberOfMonth
:
''
,
maxNumberOfDay
:
''
,
withdrawWay
:
1
},
},
rules
:
{
rules
:
{
title
:
{
title
:
{
...
@@ -196,9 +237,29 @@
...
@@ -196,9 +237,29 @@
required
:
true
,
required
:
true
,
message
:
'请输入提现手续费'
,
message
:
'请输入提现手续费'
,
},
},
a
mount
:
{
minA
mount
:
{
required
:
true
,
required
:
true
,
message
:
'请输入最低提现金额'
,
message
:
'请输入最低提现金额'
,
},
amountOfMonth
:
{
required
:
true
,
message
:
'请输入月额度'
,
},
amountOfDay
:
{
required
:
true
,
message
:
'请输入日额度'
,
},
maxNumberOfMonth
:
{
required
:
true
,
message
:
'请输入最多提现次数(月)'
,
},
maxNumberOfDay
:
{
required
:
true
,
message
:
'请输入最多提现次数(日)'
,
},
withdrawWay
:
{
required
:
true
,
message
:
'请选择提现方式'
,
}
}
},
},
list
:
null
,
list
:
null
,
...
@@ -283,8 +344,13 @@
...
@@ -283,8 +344,13 @@
title
:
""
,
title
:
""
,
type
:
undefined
,
type
:
undefined
,
value
:
""
,
value
:
""
,
amount
:
100
,
minAmount
:
100
,
proceduReates
:
0.001
proceduReates
:
0.001
,
amountOfMonth
:
''
,
amountOfDay
:
''
,
maxNumberOfMonth
:
''
,
maxNumberOfDay
:
''
,
withdrawWay
:
1
};
};
this
.
activeName2
=
""
;
this
.
activeName2
=
""
;
},
},
...
@@ -310,14 +376,19 @@
...
@@ -310,14 +376,19 @@
if
(
item
.
type
==
88
){
if
(
item
.
type
==
88
){
//提现规则
//提现规则
item
.
params
=
JSON
.
parse
(
item
.
params
);
item
.
params
=
JSON
.
parse
(
item
.
params
);
item
.
amount
=
item
.
params
.
a
mount
;
item
.
minAmount
=
item
.
params
.
minA
mount
;
item
.
proceduReates
=
item
.
params
.
proceduReates
;
item
.
proceduReates
=
item
.
params
.
proceduReates
;
item
.
amountOfMonth
=
item
.
params
.
amountOfMonth
;
item
.
amountOfDay
=
item
.
params
.
amountOfDay
;
item
.
maxNumberOfMonth
=
item
.
params
.
maxNumberOfMonth
;
item
.
maxNumberOfDay
=
item
.
params
.
maxNumberOfDay
;
item
.
withdrawWay
=
item
.
params
.
withdrawWay
;
}
}
});
});
listRs
=
response
.
data
.
rows
;
listRs
=
response
.
data
.
rows
;
totalCountRs
=
response
.
data
.
total
;
totalCountRs
=
response
.
data
.
total
;
}
debugger
}
// "{"
a
mount":"11","proceduReates":"0.02"}"
// "{"
minA
mount":"11","proceduReates":"0.02"}"
this
.
listLoading
=
false
;
this
.
listLoading
=
false
;
this
.
list
=
listRs
;
this
.
list
=
listRs
;
this
.
total
=
totalCountRs
;
this
.
total
=
totalCountRs
;
...
@@ -338,8 +409,13 @@
...
@@ -338,8 +409,13 @@
if
(
this
.
dialogFrom
.
type
==
88
){
if
(
this
.
dialogFrom
.
type
==
88
){
//提现规则
//提现规则
let
p
=
{
let
p
=
{
amount
:
this
.
dialogFrom
.
amount
,
minAmount
:
this
.
dialogFrom
.
minAmount
,
proceduReates
:
this
.
dialogFrom
.
proceduReates
proceduReates
:
this
.
dialogFrom
.
proceduReates
,
amountOfMonth
:
this
.
dialogFrom
.
amountOfMonth
,
amountOfDay
:
this
.
dialogFrom
.
amountOfDay
,
maxNumberOfMonth
:
this
.
dialogFrom
.
maxNumberOfMonth
,
maxNumberOfDay
:
this
.
dialogFrom
.
maxNumberOfDay
,
withdrawWay
:
this
.
dialogFrom
.
withdrawWay
};
};
params
.
params
=
JSON
.
stringify
(
p
);
params
.
params
=
JSON
.
stringify
(
p
);
}
}
...
@@ -383,8 +459,13 @@
...
@@ -383,8 +459,13 @@
if
(
this
.
dialogFrom
.
type
==
88
){
if
(
this
.
dialogFrom
.
type
==
88
){
//提现规则
//提现规则
let
p
=
{
let
p
=
{
amount
:
this
.
dialogFrom
.
amount
,
minAmount
:
this
.
dialogFrom
.
minAmount
,
proceduReates
:
this
.
dialogFrom
.
proceduReates
proceduReates
:
this
.
dialogFrom
.
proceduReates
,
amountOfMonth
:
this
.
dialogFrom
.
amountOfMonth
,
amountOfDay
:
this
.
dialogFrom
.
amountOfDay
,
maxNumberOfMonth
:
this
.
dialogFrom
.
maxNumberOfMonth
,
maxNumberOfDay
:
this
.
dialogFrom
.
maxNumberOfDay
,
withdrawWay
:
this
.
dialogFrom
.
withdrawWay
};
};
params
.
params
=
JSON
.
stringify
(
p
);
params
.
params
=
JSON
.
stringify
(
p
);
}
}
...
...
src/views/cunponManagements/cunponManagement.vue
View file @
0622e540
...
@@ -6,12 +6,13 @@
...
@@ -6,12 +6,13 @@
<el-row>
<el-row>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"标题"
>
<el-form-item
label=
"标题"
>
<el-input
v-model
.
number=
"listQuery.title"
placeholder=
"请输入
姓名
"
></el-input>
<el-input
v-model
.
number=
"listQuery.title"
placeholder=
"请输入
标题
"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item>
<el-form-item>
<el-select
class=
"filter-item"
v-model=
"listQuery.channel"
placeholder=
"类型"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.channel"
placeholder=
"类型"
>
<el-option
key=
""
label=
"全部"
value=
""
>
</el-option>
<el-option
v-for=
"(item,index) in channelType"
:key=
"index"
:label=
"item.val"
:value=
"item.id"
>
</el-option>
<el-option
v-for=
"(item,index) in channelType"
:key=
"index"
:label=
"item.val"
:value=
"item.id"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -349,7 +350,7 @@
...
@@ -349,7 +350,7 @@
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
20
,
title
:
''
,
//标题
title
:
''
,
//标题
channel
:
0
,
//状态
channel
:
''
,
//状态
},
},
inline
:
true
,
inline
:
true
,
tableKey
:
0
,
tableKey
:
0
,
...
...
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