Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
epidemic
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
史锦峰
epidemic
Commits
a48c15db
Commit
a48c15db
authored
Feb 16, 2020
by
sjf1256754123
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://139.9.163.126/gitlab/jinfeng/epidemic
parents
7af2e713
c352f13f
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
106 additions
and
328 deletions
+106
-328
fillIn.vue
pages/fillIn/fillIn.vue
+67
-319
fillInDay.vue
pages/fillInDay/fillInDay.vue
+39
-9
No files found.
pages/fillIn/fillIn.vue
View file @
a48c15db
...
...
@@ -5,8 +5,8 @@
<template
v-if=
"item.type == 'radio'"
>
<view
class=
"margin-top padding sict-label"
:key=
"item.value"
v-show=
"!item.hidden"
>
<view
v-show=
"!item.hidden"
>
<span
style=
"color:red;display: inline-block; vertical-align:inherit;margin-right:4upx"
v-if=
"item.required"
>
*
</span>
{{
index
+
1
}}
、
{{
item
.
label
}}
<span
style=
"color:red;display: inline-block; vertical-align:inherit;margin-right:4upx"
:style=
"
{opacity: item.required ? 1 : 0}"
>*
</span>
{{
item
.
label
}}
</view>
<view
class=
"text-right sict-value"
v-show=
"!item.hidden"
>
<radio-group
@
change=
"showChange($event,item)"
>
...
...
@@ -24,7 +24,7 @@
<
template
v-else-if=
"item.type == 'picker'"
>
<view
class=
"cu-form-group margin-top padding-rl"
v-show=
"!item.hidden"
:key=
"item.value"
>
<view
:class=
"item.titleClass"
><span
style=
"color:red;display: inline-block; vertical-align:inherit;margin-right:4upx"
v-if=
"item.required"
>
*
</span>
{{
index
+
1
}}
、
{{
item
.
label
}}
</view>
:style=
"
{opacity: item.required ? 1 : 0}">*
</span>
{{
item
.
label
}}
</view>
<picker
@
change=
"updatePickerVal($event,item)"
range-key=
"label"
mode=
"selector"
:value=
"form[item.value]"
:range=
"item.opts"
>
<view
class=
"picker"
>
{{
form
[
item
.
value
]?
form
[
item
.
value
]:
'
请选择
'
}}
...
...
@@ -36,7 +36,7 @@
<
template
v-else-if=
"item.type == 'pickerMore'"
>
<view
class=
"margin-top"
:key=
"index"
>
<uni-collapse>
<uni-collapse-item
:title=
"i
ndex+1 +'、' + i
tem.label"
:open=
"true"
:required=
"item.required"
>
<uni-collapse-item
:title=
"item.label"
:open=
"true"
:required=
"item.required"
>
<view
class=
"padding-lr"
>
<view
class=
"uni-list"
>
<checkbox-group
@
change=
"showChange($event,item)"
>
...
...
@@ -60,8 +60,8 @@
<
template
v-else-if=
"item.type == 'date'"
>
<view
class=
"cu-form-group margin-top padding-rl"
v-show=
"!item.hidden"
:key=
"item.value"
>
<view
:class=
"item.titleClass"
><span
style=
"color:red;display: inline-block; vertical-align:inherit;margin-right:4upx"
v-if=
"item.required"
>
*
</span>
{{
index
+
1
}}
、
{{
item
.
label
}}
</view>
<picker
mode=
"date"
:value=
"
date
"
start=
"2015-09-01"
end=
"2020-09-01"
@
change=
"updatePickerVal($event,item)"
>
:style=
"
{opacity: item.required ? 1 : 0}">*
</span>
{{
item
.
label
}}
</view>
<picker
mode=
"date"
:value=
"
form[item.value]
"
start=
"2015-09-01"
end=
"2020-09-01"
@
change=
"updatePickerVal($event,item)"
>
<view
class=
"picker"
>
{{
form
[
item
.
value
]?
form
[
item
.
value
]:
'
请选择
'
}}
</view>
...
...
@@ -71,8 +71,8 @@
<
template
v-else-if=
"item.type == 'input'"
>
<view
class=
"cu-form-group margin-top padding-rl"
:key=
"item.value"
v-show=
"!item.hidden"
>
<view
:class=
"item.titleClass"
>
<span
style=
"color:red;display: inline-block; vertical-align:inherit;margin-right:4upx"
v-if=
"item.required
"
>
*
</span>
{{
i
ndex
+
1
}}
、
{{
i
tem
.
label
}}
</view>
<span
style=
"color:red;display: inline-block; vertical-align:inherit;margin-right:4upx"
:style=
"
{opacity: item.required ? 1 : 0}
">*
</span>
{{
item
.
label
}}
</view>
<input
class=
"text-right"
:placeholder=
"item.placeholder"
:type=
"item.controType"
:value=
"form[item.value]"
name=
"input"
@
input=
"updateInputVal($event,item.value)"
@
blur=
"inputBlur($event,item)"
></input>
</view>
...
...
@@ -98,14 +98,14 @@
</view>
</template>
<view
class=
"cu-form-group margin-top-sm"
>
<view
class=
"cu-form-group margin-top-sm"
v-show=
"!isRead"
>
<view
class=
"uni-padding-wrap uni-common-mt"
>
<view
class=
"padding-top padding-bottom"
>
<checkbox-group
@
click=
"openModal"
>
<label>
<checkbox
value=
"A"
:checked=
"form.agree ==
'1'
"
class=
"fl"
style=
"margin-top:4upx"
/>
<checkbox
value=
"A"
:checked=
"form.agree ==
1
"
class=
"fl"
style=
"margin-top:4upx"
/>
<view
style=
"padding-left:60upx;padding-top:6upx"
>
我已阅读
理解并同意知情同意书内容
我已阅读
并认可
<span
style=
"color:#0081FF"
@
click.stop=
"modalName = true"
>
《知情同意书》
</span>
,承诺如实填报。
</view>
</label>
</checkbox-group>
...
...
@@ -124,16 +124,17 @@
</view>
<view
class=
"padding-xl green-word"
>
<div
class=
"text-left"
>
<p>
根据中华人民共和国国家卫生健康委员会2020年第1号公告要求以及《国际卫生条例(2005)》、《中华人民共和国传染病防治法》等有关法律规定,并按照国务院常务会议提出的“分类有序复工复产”和上海疫情防控办及市政府《关于进一步落实各项疫情防控措施的通告》的相关要求,为做好新型冠状病毒感染的肺炎疫情防控工作,保障广大人民群众生命健康,现面向使用本系统的所有用户,特告知如下:
</p>
<p
class=
"content"
>
根据中华人民共和国国家卫生健康委员会2020年第1号公告要求以及《国际卫生条例(2005)》、《中华人民共和国传染病防治法》等有关法律规定,并按照国务院常务会议提出的“分类有序复工复产”和上海疫情防控办及市政府《关于进一步落实各项疫情防控措施的通告》的相关要求,为做好新型冠状病毒感染的肺炎疫情防控工作,保障广大人民群众生命健康,现面向使用本系统的所有用户,特告知如下:
</p>
<p>
</p>
<p>
本系统将对所有注册使用的用户信息进行记录,必要时将与执法部门进行信息对接,请积极配合并确保所填信息真实、有效。如若有任何瞒报情况被查出,将被有关部门依法追究法律责任并被列为失信人员,敬请配合。
</p>
<p>
另本人承诺:同意将本系统的个人信息数据经脱敏后用于防疫工作开展以及相关科学研究等。
</p>
<p
class=
"content"
>
本系统将对所有注册使用的用户信息进行记录,必要时将与执法部门进行信息对接,请积极配合并确保所填信息真实、有效。如若有任何瞒报情况被查出,将被有关部门依法追究法律责任并被列为失信人员,敬请配合。
</p>
<p>
</p>
<p
class=
"content"
>
另本人承诺:同意将本系统的个人信息数据经脱敏后用于防疫工作开展以及相关科学研究等。
</p>
</div>
<button
@
click=
"modalName = ''"
class=
"cu-btn block bg-blue margin-tb-sm lg"
>
我知道了
</button>
</view>
</view>
</view>
<view
class=
"padding"
>
<view
class=
"padding"
v-show=
"!isRead"
>
<button
form-type=
"submit"
class=
"cu-btn block bg-blue margin-tb-sm lg"
>
提 交
</button>
</view>
</form>
...
...
@@ -152,294 +153,7 @@
data
()
{
return
{
modalName
:
false
,
id
:
''
,
radio
:
[],
shanghaiList
:
[{
label
:
'
是否离沪
'
,
required
:
true
,
value
:
'
left
'
,
titleClass
:
'
title
'
,
type
:
'
picker
'
,
opts
:
[{
value
:
'
a
'
,
label
:
'
是
'
},
{
value
:
'
b
'
,
label
:
'
否
'
}]
},
{
label
:
'
离沪原因
'
,
required
:
true
,
value
:
'
leftReason
'
,
titleClass
:
'
title
'
,
type
:
'
picker
'
,
opts
:
[{
value
:
'
a
'
,
label
:
'
探亲
'
},
{
value
:
'
b
'
,
label
:
'
出差
'
},
{
value
:
'
b
'
,
label
:
'
旅游
'
},
{
value
:
'
b
'
,
label
:
'
其他
'
}]
},
{
label
:
'
离沪出发日期
'
,
required
:
true
,
value
:
'
leftDate
'
,
titleClass
:
'
title
'
,
type
:
'
date
'
,
},
{
label
:
'
离沪方式
'
,
required
:
true
,
value
:
'
leftVehicle
'
,
titleClass
:
'
title
'
,
type
:
'
date
'
,
opts
:
[{
value
:
'
a
'
,
label
:
'
火车
'
},
{
value
:
'
飞机
'
,
label
:
'
否
'
},
{
value
:
'
客车
'
,
label
:
'
否
'
},
{
value
:
'
自驾
'
,
label
:
'
否
'
}]
},
{
label
:
'
离沪车次/航班
'
,
required
:
true
,
value
:
'
leftVehicleNum
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入地址
'
,
type
:
'
input
'
,
},
{
label
:
'
离沪到达日期
'
,
required
:
true
,
value
:
'
leftReachDate
'
,
titleClass
:
'
title
'
,
type
:
'
date
'
,
},
{
label
:
'
离沪目的地
'
,
required
:
true
,
value
:
'
leftTarget
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入地址
'
,
type
:
'
input
'
,
},
{
label
:
'
离沪具体地址
'
,
required
:
true
,
value
:
'
leftAddress
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入地址
'
,
type
:
'
input
'
,
},
{
label
:
'
离沪同行者姓名(没有填无)
'
,
required
:
true
,
value
:
'
leftDependentNames
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入
'
,
type
:
'
input
'
,
},
{
label
:
'
离沪同行者联系方式(没有填无)
'
,
required
:
true
,
value
:
'
leftDependentPhones
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入
'
,
type
:
'
input
'
,
},
{
label
:
'
是否返沪
'
,
required
:
true
,
value
:
'
backed
'
,
titleClass
:
'
title
'
,
type
:
'
picker
'
,
opts
:
[{
value
:
'
a
'
,
label
:
'
是
'
},
{
value
:
'
b
'
,
label
:
'
否
'
}]
},
{
label
:
'
返沪出发地
'
,
required
:
true
,
value
:
'
backFrom
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入
'
,
type
:
'
input
'
,
},
{
label
:
'
返沪出发日期
'
,
required
:
true
,
value
:
'
backDate
'
,
titleClass
:
'
title
'
,
type
:
'
date
'
,
},
{
label
:
'
返沪方式
'
,
required
:
true
,
value
:
'
backVehicle
'
,
titleClass
:
'
title
'
,
type
:
'
picker
'
,
opts
:
[{
value
:
'
a
'
,
label
:
'
火车
'
},
{
value
:
'
飞机
'
,
label
:
'
否
'
},
{
value
:
'
客车
'
,
label
:
'
否
'
},
{
value
:
'
自驾
'
,
label
:
'
否
'
}]
},
{
label
:
'
返沪车次/航班
'
,
required
:
true
,
value
:
'
backVehicleNum
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入地址
'
,
type
:
'
input
'
,
},
{
label
:
'
返沪到达日期
'
,
required
:
true
,
value
:
'
backReachedDate
'
,
titleClass
:
'
title
'
,
type
:
'
date
'
,
},
{
label
:
'
返沪同行者姓名(没有填无)
'
,
required
:
true
,
value
:
'
backDependentNames
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入
'
,
type
:
'
input
'
,
},
{
label
:
'
返沪同行者联系方式(没有填无)
'
,
required
:
true
,
value
:
'
backDependentPhones
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入
'
,
type
:
'
input
'
,
},
{
label
:
'
当前状况
'
,
required
:
true
,
value
:
'
currentStatus
'
,
titleClass
:
'
title
'
,
type
:
'
picker
'
,
opts
:
[{
value
:
'
a
'
,
label
:
'
已经确诊
'
},
{
value
:
'
b
'
,
label
:
'
疑似诊断
'
},
{
value
:
'
b
'
,
label
:
'
亲密接触者
'
},
{
value
:
'
b
'
,
label
:
'
正在接受集中医学观察
'
},
{
value
:
'
b
'
,
label
:
'
居家观察
'
},
{
value
:
'
b
'
,
label
:
'
已解除集中医学观察
'
},
{
value
:
'
b
'
,
label
:
'
无上述情况
'
}]
},
{
label
:
'
症状
'
,
required
:
true
,
value
:
'
symptom
'
,
titleClass
:
'
title
'
,
type
:
'
pickerMore
'
,
opts
:
[{
value
:
'
发热
'
,
label
:
'
发热
'
},
{
value
:
'
咳嗽
'
,
label
:
'
咳嗽
'
},
{
value
:
'
流涕
'
,
label
:
'
流涕
'
},
{
value
:
'
咽痛
'
,
label
:
'
咽痛
'
},
{
value
:
'
咳痰
'
,
label
:
'
咳痰
'
},
{
value
:
'
胸痛
'
,
label
:
'
胸痛
'
},
{
value
:
'
肌肉酸痛/关节痛
'
,
label
:
'
肌肉酸痛/关节痛
'
},
{
value
:
'
气促
'
,
label
:
'
气促
'
},
{
value
:
'
腹泻
'
,
label
:
'
腹泻
'
},
{
value
:
'
无上述症状
'
,
label
:
'
无上述症状
'
}]
},
{
label
:
'
湖北接触史
'
,
required
:
true
,
value
:
'
relativesGastricCount
'
,
titleClass
:
'
title
'
,
type
:
'
picker
'
,
opts
:
[{
value
:
'
a
'
,
label
:
'
已经确诊
'
},
{
value
:
'
b
'
,
label
:
'
疑似诊断
'
},
{
value
:
'
b
'
,
label
:
'
亲密接触者
'
},
{
value
:
'
b
'
,
label
:
'
正在接受集中医学观察
'
},
{
value
:
'
b
'
,
label
:
'
居家观察
'
},
{
value
:
'
b
'
,
label
:
'
已解除集中医学观察
'
},
{
value
:
'
b
'
,
label
:
'
无上述情况
'
}]
}
],
isRead
:
false
,
list
:
[{
label
:
'
单位名称
'
,
required
:
true
,
...
...
@@ -449,14 +163,14 @@
opts
:
[]
},
{
label
:
'
所在部门
'
,
label
:
'
所在部门
(选填)
'
,
value
:
'
department
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入所在部门
'
,
type
:
'
input
'
,
},
{
label
:
'
职务
'
,
label
:
'
职务
(选填)
'
,
value
:
'
position
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入职务
'
,
...
...
@@ -475,7 +189,7 @@
required
:
true
,
value
:
'
phone
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入
联系方式
'
,
placeholder
:
'
请输入
11位数字手机号
'
,
type
:
'
input
'
,
validator
:
validate
.
isPhone
},
...
...
@@ -1312,7 +1026,7 @@
required
:
true
,
value
:
'
householdAddress
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入户籍地址
'
,
placeholder
:
'
例:**路**号**小区**号楼**室
'
,
type
:
'
input
'
,
num
:
8
,
hidden
:
true
,
...
...
@@ -1322,7 +1036,7 @@
required
:
true
,
value
:
'
residenceAddress
'
,
titleClass
:
'
title
'
,
placeholder
:
'
请输入地址
'
,
placeholder
:
'
例:**路**号**小区**号楼**室
'
,
type
:
'
input
'
,
},
{
...
...
@@ -1856,7 +1570,7 @@
hidden
:
true
},
{
label
:
'
症状
'
,
label
:
'
当日
症状
'
,
required
:
true
,
value
:
'
symptom
'
,
titleClass
:
'
title
'
,
...
...
@@ -1914,14 +1628,14 @@
onLoad
(
option
)
{
this
.
getOrg
()
this
.
getInfo
()
},
methods
:
{
openModal
()
{
if
(
!
this
.
form
.
agree
)
{
this
.
form
.
agree
=
'
1
'
this
.
modalName
=
true
this
.
form
.
agree
=
1
}
else
{
this
.
form
.
agree
=
0
}
...
...
@@ -1951,8 +1665,40 @@
})
},
// 获取信息
getInfo
(
id
)
{
getInfo
()
{
this
.
$http
.
get
(
`/sict-ncov/report`
,
this
.
form
).
then
(
res
=>
{
const
d
=
res
.
data
if
(
d
.
code
==
1
)
{
this
.
isRead
=
true
const
data
=
d
.
object
.
reportContent
||
{}
this
.
form
=
data
// 赋值
for
(
let
k
in
data
)
{
const
val
=
data
[
k
]
if
(
val
)
{
const
item
=
this
.
list
.
find
(
child
=>
child
.
value
==
k
)
if
(
item
)
{
this
.
showChange
({
value
:
val
},
item
)
if
(
item
.
type
==
"
pickerMore
"
)
{
console
.
log
(
1
,
22
)
item
.
opts
.
forEach
(
opt
=>
{
val
.
split
(
'
,
'
).
forEach
(
v
=>
{
if
(
v
===
opt
.
label
)
{
console
.
log
(
opt
)
this
.
$set
(
opt
,
'
checked
'
,
true
)
}
})
})
}
}
}
}
}
})
},
// 更新复选框绑定的表单内容
checkboxChange
(
index
,
obj
,
item
)
{
...
...
@@ -1992,7 +1738,7 @@
const
prop
=
item
.
value
const
type
=
item
.
type
if
(
type
===
'
radio
'
)
{
const
val
=
evt
.
target
.
value
const
val
=
evt
.
value
||
evt
.
target
.
value
this
.
$set
(
this
.
form
,
prop
,
val
)
for
(
let
i
=
0
;
i
<
this
.
list
.
length
;
i
++
)
{
const
current
=
this
.
list
[
i
]
...
...
@@ -2010,7 +1756,7 @@
}
// 复选框展示和隐藏
if
(
type
===
'
pickerMore
'
)
{
let
val
=
evt
.
detail
.
value
;
let
val
=
evt
.
value
||
evt
.
detail
.
value
;
const
showList
=
item
.
showList
if
(
showList
&&
showList
.
length
>
0
)
{
showList
.
forEach
(
item
=>
{
...
...
@@ -2027,7 +1773,7 @@
}
if
(
type
===
'
picker
'
)
{
let
val
=
item
.
opts
[
evt
.
detail
.
value
].
value
;
let
val
=
evt
.
value
||
item
.
opts
[
evt
.
detail
.
value
].
value
;
for
(
let
i
=
0
;
i
<
this
.
list
.
length
;
i
++
)
{
const
current
=
this
.
list
[
i
]
if
(
current
.
value
==
prop
&&
current
.
show
)
{
...
...
@@ -2107,7 +1853,7 @@
flag
=
false
uni
.
showToast
({
icon
:
'
none
'
,
title
:
`
第
${
i
+
1
}
项
${
this
.
list
[
i
].
label
}
未填写`
title
:
`
${
this
.
list
[
i
].
label
}
未填写`
})
break
}
...
...
@@ -2115,7 +1861,7 @@
flag
=
false
uni
.
showToast
({
icon
:
'
none
'
,
title
:
`
第
${
i
+
1
}
项
${
this
.
list
[
i
].
label
}
填写错误`
title
:
`
${
this
.
list
[
i
].
label
}
填写错误`
})
break
}
...
...
@@ -2185,7 +1931,9 @@
}
}
}
.content
{
text-indent
:
20px
;
}
uni-radio-group
{
border
:
2upx
solid
#d3d3d3
;
border-radius
:
8upx
;
...
...
pages/fillInDay/fillInDay.vue
View file @
a48c15db
<
template
>
<view
class=
"questionnaire"
>
<form
@
submit=
"formSubmit"
>
...
...
@@ -395,7 +394,7 @@
hidden
:
true
},
{
label
:
'
症状
'
,
label
:
'
当日
症状
'
,
required
:
true
,
value
:
'
symptom
'
,
titleClass
:
'
title
'
,
...
...
@@ -668,7 +667,38 @@
}
},
onLoad
(
option
)
{},
onLoad
(
option
)
{
// 获取信息
this
.
$http
.
post
(
`/sict-ncov/report`
,
this
.
form
).
then
(
res
=>
{
console
.
log
(
res
)
})
const
data
=
{
currentStatus
:
'
亲密接触者
'
}
for
(
let
k
in
data
)
{
const
val
=
data
[
k
]
if
(
val
)
{
const
item
=
this
.
list
.
find
(
child
=>
child
.
value
==
k
)
if
(
item
)
{
this
.
showChange
({
value
:
val
},
item
)
if
(
item
.
type
==
"
pickerMore
"
)
{
console
.
log
(
1
,
22
)
item
.
opts
.
forEach
(
opt
=>
{
val
.
split
(
'
,
'
).
forEach
(
v
=>
{
if
(
v
===
opt
.
label
)
{
console
.
log
(
opt
)
this
.
$set
(
opt
,
'
checked
'
,
true
)
}
})
})
}
}
}
}
},
methods
:
{
...
...
@@ -710,7 +740,7 @@
const
prop
=
item
.
value
const
type
=
item
.
type
if
(
type
===
'
radio
'
)
{
const
val
=
evt
.
target
.
value
const
val
=
evt
.
value
||
evt
.
target
.
value
this
.
$set
(
this
.
form
,
prop
,
val
)
for
(
let
i
=
0
;
i
<
this
.
list
.
length
;
i
++
)
{
const
current
=
this
.
list
[
i
]
...
...
@@ -727,7 +757,7 @@
}
// 复选框展示和隐藏
if
(
type
===
'
pickerMore
'
)
{
let
val
=
evt
.
detail
.
value
;
let
val
=
evt
.
value
||
evt
.
detail
.
value
;
const
showList
=
item
.
showList
if
(
showList
&&
showList
.
length
>
0
)
{
showList
.
forEach
(
item
=>
{
...
...
@@ -799,7 +829,7 @@
uni
.
navigateBack
()
uni
.
showToast
({
icon
:
'
success
'
,
title
:
'
提交成功
'
title
:
'
提交成功
'
})
}
else
{
uni
.
showToast
({
...
...
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