Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
e6875468
Commit
e6875468
authored
1 year ago
by
沈良进
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
1808caf4
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
276 additions
and
241 deletions
+276
-241
Login2019.vue
src/components/Login2019.vue
+8
-0
saleRnk.vue
src/components/SalesModule/saleRnk.vue
+230
-177
automaticLogin.vue
src/components/automaticLogin.vue
+19
-27
clientProtocol.vue
src/components/clientProtocol.vue
+0
-17
config.js
src/router/config.js
+18
-17
index.js
src/store/actions/index.js
+0
-1
initNimSDK.js
src/store/actions/initNimSDK.js
+1
-2
No files found.
src/components/Login2019.vue
View file @
e6875468
...
...
@@ -268,6 +268,13 @@
components
:
{
'my-carousel'
:
Carousel
},
watch
:{
'$route'
:
function
(
old
,
newval
)
{
console
.
log
(
"old"
,
old
);
console
.
log
(
"newval"
,
newval
);
}
},
methods
:
{
//初始化数据
initData
()
{
...
...
@@ -488,6 +495,7 @@
this
.
getGroup
()
},
created
()
{
let
autoLogin
=
localStorage
.
autoLogin
?
JSON
.
parse
(
localStorage
.
autoLogin
)
:
null
this
.
userInfo
.
name
=
autoLogin
?
autoLogin
.
acc
:
''
this
.
userInfo
.
password
=
autoLogin
?
autoLogin
.
pwd
:
''
...
...
This diff is collapsed.
Click to expand it.
src/components/SalesModule/saleRnk.vue
View file @
e6875468
<
style
>
.saleRankDialog
{}
.saleRankDialog
.top
{
height
:
340px
;
background
:
url(../../assets/img/saleRank/bg.png)
}
.saleRankDialog
.top
.top_info
{
display
:
flex
;
justify-content
:
center
;
padding-top
:
40px
;
}
.saleRankDialog
.top
.top_info
.head
,
.saleRankDialog
.bottom
._item
.head
{
width
:
80px
;
height
:
80px
;
border
:
2px
solid
#F9DA49
;
border-radius
:
50%
;
position
:
relative
;
}
.saleRankDialog
.top
.top_info
.head
>
.head_img
,
.saleRankDialog
.bottom
._item
.head
>
.head_img
{
width
:
76px
;
height
:
76px
;
border-radius
:
50%
;
}
.saleRankDialog
.top
.top_info
.head
>
.head_guan
,
.saleRankDialog
.bottom
._item
.head
>
.head_guan
{
position
:
absolute
;
left
:
-15px
;
top
:
-24px
;
}
.saleRankDialog
.bottom
._item
.head
{
width
:
40px
;
height
:
40px
;
}
.saleRankDialog
.bottom
._item
.head
>
.head_img
{
width
:
36px
;
height
:
36px
;
}
.saleRankDialog
.bottom
._item
.head
>
.head_guan
{
left
:
-8px
;
top
:
-12px
;
}
.saleRankDialog
.bottom
._item
.head.num_two
{
border-color
:
#BDC8DB
;
}
.saleRankDialog
.bottom
._item
.head.num_tree
{
border-color
:
#BAA3A3
;
}
.saleRankDialog
.top
{
color
:
#FFFFFF
;
font-size
:
14px
;
text-align
:
center
;
}
.saleRankDialog
.top
._name
{
margin-top
:
13px
}
.saleRankDialog
.top
._rank
{
color
:
#FFFFFF
;
font-size
:
30px
;
margin-top
:
20px
}
.saleRankDialog
.top
.top_money
{
padding
:
25px
0
;
}
.saleRankDialog
.top
.top_money
._num
{
color
:
#F1A131
;
font-size
:
24px
;
margin-top
:
5px
;
}
.saleRankDialog
.top
.top_money
.left
{
border-right
:
2px
solid
rgba
(
233
,
233
,
233
,
.5
);
}
.saleRankDialog
.top
.top_money
.right
{
border-left
:
2px
solid
rgba
(
233
,
233
,
233
,
.5
);
}
.saleRankDialog
.bottom
{
padding
:
0
30px
;
background-color
:
white
;
}
.saleRankDialog
.bottom
._time
{
text-align
:
center
;
padding
:
20px
0
;
}
.saleRankDialog
.bottom
._item
._item_left
{
display
:
flex
;
align-items
:
center
;
}
.saleRankDialog
.bottom
._time
._time_num
{
display
:
inline-block
;
text-align
:
center
;
line-height
:
24px
;
width
:
30px
;
height
:
24px
;
background
:
linear-gradient
(
-30deg
,
rgba
(
79
,
169
,
255
,
1
),
rgba
(
71
,
121
,
255
,
1
));
color
:
white
;
}
.saleRankDialog
.bottom
._item
{
padding
:
15px
0
;
border-top
:
1px
solid
#F0F0F0
;
display
:
flex
;
align-items
:
center
;
}
.saleRankDialog
.bottom
._item
._jiangpai
{
height
:
26px
;
display
:
inline-block
;
margin-right
:
18px
;
}
.saleRankDialog
.bottom
._item
._name
{
color
:
#666666
;
padding-left
:
20px
;
}
.saleRankDialog
.bottom
._item
._money
{
float
:
right
;
color
:
#F1A131
;
font-size
:
16px
;
flex
:
2
;
text-align
:
right
;
}
.saleRankDialog
.bottom
._company
{
font-size
:
12px
;
color
:
#888888
;
padding
:
15px
;
border-top
:
1px
solid
#F0F0F0
;
}
.saleRankDialog
.bottom
._company
span
{
color
:
#333333
;
display
:
inline-block
;
margin-left
:
20px
;
}
.saleRankDialog
.history
>
div
{
background-color
:
#D0D0D0
;
color
:
#E95252
;
text-align
:
center
;
height
:
60px
;
line-height
:
60px
;
}
.saleRankDialog
.history
>
div
span
{
cursor
:
pointer
;
}
.saleRankDialog
{}
.saleRankDialog
.top
{
height
:
340px
;
background
:
url(../../assets/img/saleRank/bg.png)
}
.saleRankDialog
.top
.top_info
{
display
:
flex
;
justify-content
:
center
;
padding-top
:
40px
;
}
.saleRankDialog
.top
.top_info
.head
,
.saleRankDialog
.bottom
._item
.head
{
width
:
80px
;
height
:
80px
;
border
:
2px
solid
#F9DA49
;
border-radius
:
50%
;
position
:
relative
;
}
.saleRankDialog
.top
.top_info
.head
>
.head_img
,
.saleRankDialog
.bottom
._item
.head
>
.head_img
{
width
:
76px
;
height
:
76px
;
border-radius
:
50%
;
}
.saleRankDialog
.top
.top_info
.head
>
.head_guan
,
.saleRankDialog
.bottom
._item
.head
>
.head_guan
{
position
:
absolute
;
left
:
-15px
;
top
:
-24px
;
}
.saleRankDialog
.bottom
._item
.head
{
width
:
40px
;
height
:
40px
;
}
.saleRankDialog
.bottom
._item
.head
>
.head_img
{
width
:
36px
;
height
:
36px
;
}
.saleRankDialog
.bottom
._item
.head
>
.head_guan
{
left
:
-8px
;
top
:
-12px
;
}
.saleRankDialog
.bottom
._item
.head.num_two
{
border-color
:
#BDC8DB
;
}
.saleRankDialog
.bottom
._item
.head.num_tree
{
border-color
:
#BAA3A3
;
}
.saleRankDialog
.top
{
color
:
#FFFFFF
;
font-size
:
14px
;
text-align
:
center
;
}
.saleRankDialog
.top
._name
{
margin-top
:
13px
}
.saleRankDialog
.top
._rank
{
color
:
#FFFFFF
;
font-size
:
30px
;
margin-top
:
20px
}
.saleRankDialog
.top
.top_money
{
padding
:
25px
0
;
}
.saleRankDialog
.top
.top_money
._num
{
color
:
#F1A131
;
font-size
:
24px
;
margin-top
:
5px
;
}
.saleRankDialog
.top
.top_money
.left
{
border-right
:
2px
solid
rgba
(
233
,
233
,
233
,
.5
);
}
.saleRankDialog
.top
.top_money
.right
{
border-left
:
2px
solid
rgba
(
233
,
233
,
233
,
.5
);
}
.saleRankDialog
.bottom
{
padding
:
0
30px
;
background-color
:
white
;
}
.saleRankDialog
.bottom
._time
{
text-align
:
center
;
padding
:
20px
0
;
}
.saleRankDialog
.bottom
._item
._item_left
{
display
:
flex
;
align-items
:
center
;
}
.saleRankDialog
.bottom
._time
._time_num
{
display
:
inline-block
;
text-align
:
center
;
line-height
:
24px
;
width
:
30px
;
height
:
24px
;
background
:
linear-gradient
(
-30deg
,
rgba
(
79
,
169
,
255
,
1
),
rgba
(
71
,
121
,
255
,
1
));
color
:
white
;
}
.saleRankDialog
.bottom
._item
{
padding
:
15px
0
;
border-top
:
1px
solid
#F0F0F0
;
display
:
flex
;
align-items
:
center
;
}
.saleRankDialog
.bottom
._item
._jiangpai
{
height
:
26px
;
display
:
inline-block
;
margin-right
:
18px
;
}
.saleRankDialog
.bottom
._item
._name
{
color
:
#666666
;
padding-left
:
20px
;
}
.saleRankDialog
.bottom
._item
._money
{
float
:
right
;
color
:
#F1A131
;
font-size
:
16px
;
flex
:
2
;
text-align
:
right
;
}
.saleRankDialog
.bottom
._company
{
font-size
:
12px
;
color
:
#888888
;
padding
:
15px
;
border-top
:
1px
solid
#F0F0F0
;
}
.saleRankDialog
.bottom
._company
span
{
color
:
#333333
;
display
:
inline-block
;
margin-left
:
20px
;
}
.saleRankDialog
.history
>
div
{
background-color
:
#D0D0D0
;
color
:
#E95252
;
text-align
:
center
;
height
:
60px
;
line-height
:
60px
;
}
.saleRankDialog
.history
>
div
span
{
cursor
:
pointer
;
}
</
style
>
<
template
>
<el-row
class=
"saleRankDialog"
>
<el-row
class=
"top"
>
<div
class=
"top_info"
>
<div
class=
"head"
>
<img
class=
"head_img"
:src=
"detail.List[0].EmployeeImg"
alt=
""
>
<img
class=
"head_guan"
src=
"../../assets/img/saleRank/diyitou.png"
alt=
""
>
</div>
<div
class=
"head"
>
<template
v-if=
"detail.List&&detail.List.length>0&&detail.List[0].EmployeeImg"
>
<img
class=
"head_img"
:src=
"detail.List[0].EmployeeImg"
alt=
""
>
</
template
>
<img
class=
"head_guan"
src=
"../../assets/img/saleRank/diyitou.png"
alt=
""
>
</div>
</div>
<p
class=
"_name"
>
{{
detail
.
List
[
0
].
EmployeeName
}}
(
{{
detail
.
List
[
0
].
BranchName
}}
)
</p>
<p
class=
"_name"
>
<
template
v-if=
"detail.List&&detail.List.length>0"
>
{{
detail
.
List
[
0
].
EmployeeName
}}
(
{{
detail
.
List
[
0
].
BranchName
}}
)
</
template
>
</p>
<p
class=
"_rank"
>
小组赛第1名
</p>
<el-row
class=
"top_money"
>
<el-col
:span=
"12"
class=
"left"
>
<div>
<p>
本期数据值
</p>
<p
class=
"_num"
>
¥
{{
moneyFormat
(
detail
.
List
[
0
].
WeekTotalPrice
)
}}
</p>
<p
class=
"_num"
>
<
template
v-if=
"detail.List&&detail.List.length>0"
>
¥
{{
moneyFormat
(
detail
.
List
[
0
].
WeekTotalPrice
)
}}
</
template
>
</p>
</div>
</el-col>
<el-col
:span=
"12"
class=
"right"
>
<div>
<p>
累计数据值
</p>
<p
class=
"_num"
>
¥
{{
moneyFormat
(
detail
.
List
[
0
].
TotalPrice
)
}}
</p>
<p
class=
"_num"
>
<
template
v-if=
"detail.List&&detail.List.length>0"
>
¥
{{
moneyFormat
(
detail
.
List
[
0
].
TotalPrice
)
}}
</
template
></p>
</div>
</el-col>
</el-row>
</el-row>
<el-row
class=
"bottom"
>
<el-row
class=
"_time"
>
<p>
销售排名时间:
<span
class=
"_time_num"
>
{{
detail
.
StartDateMonth
}}
</span>
月
<span
class=
"_time_num"
>
{{
detail
.
StartDateDay
}}
</span>
日 -
<span
class=
"_time_num"
>
{{
detail
.
EndDateMonth
}}
</span>
月
<span
class=
"_time_num"
>
{{
detail
.
EndDateDay
}}
</span>
日
</p>
<p>
销售排名时间:
<span
class=
"_time_num"
>
{{detail.StartDateMonth}}
</span>
月
<span
class=
"_time_num"
>
{{detail.StartDateDay}}
</span>
日 -
<span
class=
"_time_num"
>
{{detail.EndDateMonth}}
</span>
月
<span
class=
"_time_num"
>
{{detail.EndDateDay}}
</span>
日
</p>
</el-row>
<
template
v-for=
"(item, index) in detail.List"
v-if=
"index !== 0"
>
<el-row
class=
"_item"
>
<div
class=
"_item_left"
>
<img
class=
"_jiangpai"
:src=
"jiangpai[index-1].p"
alt=
""
>
<div
class=
"head"
:class=
"
{'num_two': index === 1, 'num_tree': index === 2}">
<img
class=
"head_img"
:src=
"item.EmployeeImg"
alt=
""
>
<img
class=
"head_img"
:src=
"item.EmployeeImg"
alt=
""
>
<img
v-if=
"index
<
3
"
class=
"head_guan"
:src=
"jiangpai[index-1].g"
alt=
""
>
</div>
</div>
<p
class=
"_name"
>
{{
item
.
EmployeeName
}}
(
{{
item
.
BranchName
}}
)
</p>
</div>
<p
class=
"_money"
>
¥
{{
moneyFormat
(
item
.
WeekTotalPrice
)
}}
</p>
...
...
@@ -197,37 +245,42 @@
</el-row>
</template>
<
script
>
export
default
{
props
:[
'detail'
],
data
(){
return
{
list
:
[
1
,
2
,
3
,
4
],
jiangpai
:
[
{
p
:
require
(
'../../assets/img/saleRank/jiangpai2.png'
),
g
:
require
(
'../../assets/img/saleRank/diertou.png'
)
},
{
p
:
require
(
'../../assets/img/saleRank/jiangpai3.png'
),
g
:
require
(
'../../assets/img/saleRank/disantou.png'
)
},
{
p
:
require
(
'../../assets/img/saleRank/jiangpai4.png'
),
},
{
p
:
require
(
'../../assets/img/saleRank/jiangpai5.png'
),
},
]
}
},
mounted
(){
},
methods
:{
goUrl
:
function
(
path
)
{
this
.
$router
.
push
({
name
:
path
,
query
:{
tab
:
'往期排行'
}})
this
.
$emit
(
'closeChangeMachie'
)
export
default
{
props
:
[
'detail'
],
data
()
{
return
{
list
:
[
1
,
2
,
3
,
4
],
jiangpai
:
[{
p
:
require
(
'../../assets/img/saleRank/jiangpai2.png'
),
g
:
require
(
'../../assets/img/saleRank/diertou.png'
)
},
{
p
:
require
(
'../../assets/img/saleRank/jiangpai3.png'
),
g
:
require
(
'../../assets/img/saleRank/disantou.png'
)
},
{
p
:
require
(
'../../assets/img/saleRank/jiangpai4.png'
),
},
{
p
:
require
(
'../../assets/img/saleRank/jiangpai5.png'
),
},
]
}
},
mounted
()
{
},
methods
:
{
goUrl
:
function
(
path
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
tab
:
'往期排行'
}
})
this
.
$emit
(
'closeChangeMachie'
)
}
}
}
}
</
script
>
This diff is collapsed.
Click to expand it.
src/components/automaticLogin.vue
View file @
e6875468
<
style
>
@import
"../assets/css/login2019.css"
;
.Autologin
{
.Autologin
{
position
:
fixed
;
left
:
0
;
top
:
0
;
right
:
0
;
bottom
:
0
;
/* transform: translate(-50%,-50%); */
background
:
url('../assets/img/login/load.gif')
no-repeat
center
;
background-size
:
350px
auto
;
}
...
...
@@ -15,7 +14,6 @@
<div>
<div
class=
"Autologin"
>
<div
class=
"gifContent"
>
</div>
</div>
</div>
...
...
@@ -25,38 +23,38 @@
data
()
{
return
{
loading
:
false
,
msg
:{},
msg
:
{},
userInfo
:
{
name
:
""
,
password
:
""
,
Domain
:
""
},
crmOrderObj
:{},
obj
:{}
crmOrderObj
:
{},
obj
:
{}
}
},
components
:
{
},
mounted
()
{
},
created
()
{
if
(
this
.
$route
.
query
)
{
let
param
=
JSON
.
parse
(
this
.
$route
.
query
.
data
)
;
this
.
obj
.
token
=
this
.
$route
.
query
.
token
;
if
(
param
)
{
this
.
obj
.
parameter
=
param
[
0
]
if
(
this
.
$route
.
query
)
{
let
param
=
JSON
.
parse
(
this
.
$route
.
query
.
data
);
this
.
obj
.
token
=
this
.
$route
.
query
.
token
;
if
(
param
)
{
this
.
obj
.
parameter
=
param
[
0
]
localStorage
.
crmuserInfo
=
JSON
.
stringify
(
this
.
obj
);
}
}
if
(
!
this
.
getLocalStorage
())
{
if
(
!
this
.
getLocalStorage
())
{
this
.
autoLogin
()
}
else
{
}
else
{
var
data
=
JSON
.
parse
(
localStorage
.
crmuserInfo
)
this
.
$router
.
push
({
path
:
data
.
parameter
.
path
,
query
:{
query
:
{
crmOrderObj
:
JSON
.
stringify
(
data
.
parameter
),
Type
:
data
.
parameter
.
type
}
...
...
@@ -64,7 +62,7 @@
}
},
methods
:
{
autoLogin
(){
autoLogin
()
{
this
.
apipostLogin
(
"admin_get_GetErpAutoLoginInfo"
,
this
.
msg
,
...
...
@@ -78,30 +76,26 @@
localStorage
.
userInfo
=
userJson
;
let
firstTire
=
[]
userData
.
UserMenu
.
forEach
(
x
=>
{
if
(
x
.
MenuUrl
!=
'/'
&&
x
.
MenuUrl
!=
''
)
{
if
(
x
.
MenuUrl
!=
'/'
&&
x
.
MenuUrl
!=
''
)
{
firstTire
.
push
(
x
.
MenuName
)
}
else
{
x
.
MenuUrl
=
''
;
x
.
MenuUrl
=
''
;
firstTire
.
push
(
x
.
MenuName
);
}
})
//UserMenu
// this.$cookie.set("account", this.userInfo.name);
this
.
$cookie
.
set
(
"EmployeeId"
,
userData
.
EmployeeId
);
this
.
$cookie
.
set
(
"RB_Branch_id"
,
userData
.
RB_Branch_id
);
this
.
$cookie
.
set
(
"RB_Group_id"
,
userData
.
RB_Group_id
);
localStorage
.
menu
=
JSON
.
stringify
(
firstTire
)
this
.
loginState
=
0
;
var
data
=
JSON
.
parse
(
localStorage
.
crmuserInfo
)
this
.
$router
.
push
({
path
:
data
.
parameter
.
path
,
query
:{
query
:
{
crmOrderObj
:
JSON
.
stringify
(
data
.
parameter
),
Type
:
data
.
parameter
.
type
}
});
}
else
{
this
.
$notify
.
error
({
title
:
"提示"
,
...
...
@@ -116,7 +110,5 @@
);
}
},
}
</
script
>
</
script
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/components/clientProtocol.vue
View file @
e6875468
...
...
@@ -247,19 +247,6 @@
font-weight
:
bold
;
}
.CliSignDiv
{
position
:
fixed
;
border
:
1px
solid
#d1d1d1
;
width
:
100%
;
background-color
:
#fff
;
z-index
:
999
;
margin
:
auto
;
display
:
block
;
z-index
:
-999
;
}
.TopFixed
{
z-index
:
100
;
}
...
...
@@ -715,10 +702,6 @@
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
;
this
.
msg
.
GuestId
=
this
.
$route
.
query
.
GuestId
;
this
.
msg
.
ProtocolId
=
this
.
$route
.
query
.
ProtocolId
;
try
{
var
cHeight
=
document
.
getElementsByClassName
(
"CliSignDiv"
)[
0
];
cHeight
.
style
.
height
=
900
+
'px'
;
}
catch
(
error
)
{}
this
.
getList
();
}
};
...
...
This diff is collapsed.
Click to expand it.
src/router/config.js
View file @
e6875468
// import login from '../components/Login'
import
login
from
'../components/Login2019'
import
index
from
'../components/index'
import
clientConfirm
from
'../components/clientConfirm'
import
clientConfirmRB
from
'../components/clientConfirmRB'
import
clientProtocol
from
'../components/clientProtocol'
import
SignName
from
'../components/SignName'
import
supplierLogin
from
'../components/SupplierLogin'
import
supplierIndex
from
'../components/SupplierIndex'
...
...
@@ -5865,6 +5865,22 @@ export default {
name
:
'clientConfirmRB'
,
component
:
clientConfirmRB
},
{
path
:
'/discountProtocol'
,
//价格保密协议
name
:
'discountProtocol'
,
component
:
resolve
=>
require
([
'@/components/discountProtocol'
],
resolve
),
meta
:
{
title
:
'价格保密协议'
}
},
{
path
:
'/clientProtocol'
,
//价格保密协议签订
name
:
'clientProtocol'
,
component
:
clientProtocol
,
meta
:
{
title
:
'价格保密协议签订'
}
},
{
path
:
'/SignName'
,
name
:
'SignName'
,
...
...
@@ -5894,22 +5910,7 @@ export default {
title
:
'日本线电子合同'
}
},
{
path
:
'/discountProtocol'
,
//价格保密协议
name
:
'discountProtocol'
,
component
:
resolve
=>
require
([
'@/components/discountProtocol'
],
resolve
),
meta
:
{
title
:
'价格保密协议'
}
},
{
path
:
'/clientProtocol'
,
//价格保密协议签订
name
:
'clientProtocol'
,
component
:
resolve
=>
require
([
'@/components/clientProtocol'
],
resolve
),
meta
:
{
title
:
'价格保密协议签订'
}
},
{
path
:
'/SingleContract'
,
//单项合同
name
:
'SingleContract'
,
...
...
This diff is collapsed.
Click to expand it.
src/store/actions/index.js
View file @
e6875468
...
...
@@ -93,7 +93,6 @@ export default {
if
(
state
.
nim
)
{
state
.
nim
.
disconnect
()
}
//pageUtil.turnPage('', 'login')
},
// 初始化 重新连接SDK
...
...
This diff is collapsed.
Click to expand it.
src/store/actions/initNimSDK.js
View file @
e6875468
...
...
@@ -41,8 +41,7 @@ export function initNimSDK ({ state, commit, dispatch }, loginInfo) {
}
},
onerror
:
function
onError
(
event
)
{
// alert(JSON.stringify(event))
//location.href = config.loginUrl
},
onwillreconnect
:
function
onWillReconnect
()
{
...
...
This diff is collapsed.
Click to expand it.
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