Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
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
lanbaoming
jiedao-app-operator-master
Commits
0faed767
Commit
0faed767
authored
Aug 23, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator
into dev
parents
a9399d8c
15f66bff
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
155 additions
and
84 deletions
+155
-84
batchSingleApplication.js
src/api/ecw/batchSingleApplication.js
+17
-0
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+1
-1
batchSingleApplication.vue
src/views/ecw/order/batchSingleApplication.vue
+107
-64
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+24
-13
index.vue
src/views/ecw/order/warehousing/index.vue
+2
-2
index.vue
src/views/member/user/index.vue
+4
-4
No files found.
src/api/ecw/batchSingleApplication.js
View file @
0faed767
...
@@ -56,3 +56,20 @@ export function warehouseApprovalGetById(params){
...
@@ -56,3 +56,20 @@ export function warehouseApprovalGetById(params){
params
,
params
,
})
})
}
}
//调仓-查看状态
export
function
adjustApplyStatus
(
params
){
return
request
({
url
:
'
/order/order-warehouse-in/adjust-apply-status
'
,
method
:
'
get
'
,
params
})
}
//调仓-撤销
export
function
cancelAdjustApply
(
data
){
return
request
({
url
:
'
/order/order-warehouse-in/cancel-adjust-apply
'
,
method
:
'
post
'
,
data
})
}
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
0faed767
...
@@ -80,7 +80,7 @@
...
@@ -80,7 +80,7 @@
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"moveOut(scope.row)"
v-if=
"!isUnderReview && scope.row.installNum === 0"
>
移出
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"moveOut(scope.row)"
v-if=
"!isUnderReview && scope.row.installNum === 0"
>
移出
</el-button>
<
el-button
type=
"text"
size=
"small"
v-if=
"isShowSplitOrder(scope.row)"
@
click=
"handlerSplitOrder(scope.row, 'splitOrder','拆单')"
>
拆单
</el-button
>
<
!--
<el-button
type=
"text"
size=
"small"
v-if=
"isShowSplitOrder(scope.row)"
@
click=
"handlerSplitOrder(scope.row, 'splitOrder','拆单')"
>
拆单
</el-button>
--
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
...
src/views/ecw/order/batchSingleApplication.vue
View file @
0faed767
...
@@ -11,31 +11,31 @@
...
@@ -11,31 +11,31 @@
<el-table-column
label=
"订单编号"
prop=
"orderNo"
></el-table-column>
<el-table-column
label=
"订单编号"
prop=
"orderNo"
></el-table-column>
<el-table-column
label=
"唛头"
prop=
"marks"
></el-table-column>
<el-table-column
label=
"唛头"
prop=
"marks"
></el-table-column>
<el-table-column
label=
"已到箱数/总箱数"
>
<el-table-column
label=
"已到箱数/总箱数"
>
<template
v-slot
=
{row}>
<template
v-slot
=
{row}>
{{
row
.
sumQuantity
||
0
}}
/
{{
row
.
totalNum
}}
{{
row
.
sumQuantity
||
0
}}
/
{{
row
.
totalNum
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"下单统计"
>
<el-table-column
label=
"下单统计"
>
<
template
v-slot=
"{row}"
>
<
template
v-slot=
"{row}"
>
<div
v-if=
"row.costVO"
>
<div
v-if=
"row.costVO"
>
箱数:
{{
row
.
costVO
.
totalNum
}}
箱数:
{{
row
.
costVO
.
totalNum
}}
{{
row
.
costVO
.
totalVolume
}}
m³
{{
row
.
costVO
.
totalVolume
}}
m³
{{
row
.
costVO
.
totalWeight
}}
kg
{{
row
.
costVO
.
totalWeight
}}
kg
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"入仓统计"
width=
"150"
>
<el-table-column
label=
"入仓统计"
width=
"150"
>
<
template
v-slot=
"{row}"
>
<
template
v-slot=
"{row}"
>
<div>
总箱数:
{{
row
.
sumNum
||
0
}}
</div>
<div>
总箱数:
{{
row
.
sumNum
||
0
}}
</div>
<div>
体积:
{{
row
.
sumVolume
||
0
}}
CBM
</div>
<div>
体积:
{{
row
.
sumVolume
||
0
}}
CBM
</div>
<div>
重量:
{{
row
.
sumWeight
||
0
}}
KG
</div>
<div>
重量:
{{
row
.
sumWeight
||
0
}}
KG
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"入仓时间"
>
<el-table-column
label=
"入仓时间"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"运输方式"
>
<el-table-column
label=
"运输方式"
>
<
template
v-slot
=
{row}
>
<
template
v-slot
=
{row}
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"row.transportId"
></dict-tag>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"row.transportId"
></dict-tag>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
<div>
<div>
<div>
<div>
<p>
<p>
{{
row
.
consignorName
}}
{{
row
.
consignorName
}}
</p>
</p>
<p>
<p>
</p>
</p>
...
@@ -61,17 +61,17 @@
...
@@ -61,17 +61,17 @@
<
template
v-slot=
"{row}"
>
<
template
v-slot=
"{row}"
>
<div>
<div>
<p>
<p>
{{
row
.
consigneeName
}}
{{
row
.
consigneeName
}}
</p>
</p>
<p>
<p>
{{
row
.
consigneePhone
}}
{{
row
.
consigneePhone
}}
</p>
</p>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column>
<el-table-column>
<
template
v-slot=
"{row}"
>
<
template
v-slot=
"{row}"
>
<el-button
type=
"text"
v-if=
"row.inWarehouseState === 10"
>
<el-button
@
click=
"canceLtiaoCang(row)"
type=
"text"
v-if=
"row.inWarehouseState === 10"
>
取消调仓
取消调仓
</el-button>
</el-button>
</
template
>
</
template
>
...
@@ -83,7 +83,8 @@
...
@@ -83,7 +83,8 @@
</div>
</div>
<div
style=
"width: 200px;"
>
<div
style=
"width: 200px;"
>
<el-select
v-model=
"params.warehouseInId"
>
<el-select
v-model=
"params.warehouseInId"
>
<el-option
v-for=
"(item ,index) in availableWarehouse"
:value=
"item.id"
:label=
"item.titleZh"
:key=
"index"
></el-option>
<el-option
v-for=
"(item ,index) in availableWarehouse"
:value=
"item.id"
:label=
"item.titleZh"
:key=
"index"
></el-option>
</el-select>
</el-select>
</div>
</div>
</div>
</div>
...
@@ -92,10 +93,10 @@
...
@@ -92,10 +93,10 @@
审批流程
审批流程
</h1>
</h1>
<div
style=
"padding: 20px"
>
<div
style=
"padding: 20px"
>
<work-flow
xmlkey=
"warehouse_transfer"
v-model=
"params.copyUserId"
/>
<work-flow
xmlkey=
"warehouse_transfer"
v-model=
"params.copyUserId"
/>
</div>
</div>
<div
style=
"text-align: center"
>
<div
style=
"text-align: center"
>
<el-button
style=
"margin-right: 50px"
v-if=
"adjustmentBol"
>
审核中
</el-button>
<el-button
style=
"margin-right: 50px"
v-if=
"adjustmentBol"
>
审核中
</el-button>
<el-button
v-else
style=
"margin-right: 50px"
@
click=
"submit"
:disabled=
"isSubmit"
>
提交申请
</el-button>
<el-button
v-else
style=
"margin-right: 50px"
@
click=
"submit"
:disabled=
"isSubmit"
>
提交申请
</el-button>
<el-button
@
click=
"$emit('update:dialogVisible',false)"
>
取消
</el-button>
<el-button
@
click=
"$emit('update:dialogVisible',false)"
>
取消
</el-button>
</div>
</div>
...
@@ -107,6 +108,7 @@
...
@@ -107,6 +108,7 @@
<
script
>
<
script
>
import
{
DICT_TYPE
,
getDictDatas
}
from
"
@/utils/dict
"
;
import
{
DICT_TYPE
,
getDictDatas
}
from
"
@/utils/dict
"
;
import
{
import
{
adjustApplyStatus
,
cancelAdjustApply
,
ecwOrderList
,
ecwOrderList
,
orderWarehouseInAdjustApply
,
orderWarehouseInAdjustApply
,
warehouseAdjustmentList
,
warehouseAdjustmentList
,
...
@@ -116,87 +118,128 @@ import warehouseDetails from "@/views/ecw/order/components/warehouseDetails";
...
@@ -116,87 +118,128 @@ import warehouseDetails from "@/views/ecw/order/components/warehouseDetails";
import
{
getOrderPage
}
from
"
@/api/ecw/order
"
;
import
{
getOrderPage
}
from
"
@/api/ecw/order
"
;
import
workFlow
from
"
@/components/WorkFlow
"
;
import
workFlow
from
"
@/components/WorkFlow
"
;
import
Template
from
"
@/views/cms/template
"
;
import
Template
from
"
@/views/cms/template
"
;
export
default
{
export
default
{
name
:
"
batchSingleApplication
"
,
name
:
"
batchSingleApplication
"
,
props
:{
props
:
{
orderList
:
[
String
,
Number
],
orderList
:
[
String
,
Number
],
dialogVisible
:{
dialogVisible
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
false
,
default
:
false
,
}
}
},
},
components
:{
components
:
{
Template
,
Template
,
warehouseDetails
,
warehouseDetails
,
workFlow
workFlow
},
},
watch
:{
watch
:
{
dialogVisible
(
val
){
dialogVisible
(
val
)
{
if
(
val
){
if
(
val
)
{
getOrderPage
({
orderIdList
:
this
.
orderList
}).
then
(
r
=>
{
this
.
getOrderListFn
()
this
.
list
=
r
.
data
.
list
}
else
{
warehouseAdjustmentList
({
id
:
this
.
list
[
0
].
startWarehouseId
}).
then
(
r
=>
this
.
availableWarehouse
=
r
.
data
)
this
.
params
=
{
})
orderIds
:
undefined
,
warehouseInId
:
undefined
,
warehouseOutId
:
undefined
,
copyUserId
:
[],
}
}
}
}
}
},
},
computed
:{
computed
:
{
isSubmit
(){
isSubmit
()
{
let
flag
=
true
;
let
flag
=
true
;
if
(
this
.
list
.
length
===
1
&&
this
.
list
[
0
].
status
===
5
)
{
if
(
this
.
list
.
length
===
1
&&
this
.
list
[
0
].
status
===
5
)
{
flag
=
false
flag
=
false
}
else
{
}
else
{
let
l
=
this
.
list
.
map
(
e
=>
e
.
startWarehouseId
)
let
l
=
this
.
list
.
map
(
e
=>
e
.
startWarehouseId
)
if
(
this
.
list
.
every
(
e
=>
e
.
status
===
5
)
&&
[...
new
Set
(
l
)].
length
===
1
)
flag
=
false
if
(
this
.
list
.
every
(
e
=>
e
.
status
===
5
)
&&
[...
new
Set
(
l
)].
length
===
1
)
flag
=
false
}
}
return
flag
;
return
flag
;
},
},
adjustmentBol
(){
adjustmentBol
()
{
return
this
.
list
.
some
(
e
=>
e
.
inWarehouseState
===
10
)
return
this
.
list
.
some
(
e
=>
e
.
inWarehouseState
===
10
)
}
}
},
},
data
(){
data
()
{
return
{
return
{
list
:[],
list
:
[],
selectedUsers
:[],
selectedUsers
:
[],
availableWarehouse
:[],
availableWarehouse
:
[],
DICT_TYPE
,
DICT_TYPE
,
departureWarehouse
:
undefined
,
departureWarehouse
:
undefined
,
adjustment
:
undefined
,
adjustment
:
undefined
,
params
:{
params
:
{
orderIds
:
undefined
,
orderIds
:
undefined
,
warehouseInId
:
undefined
,
warehouseInId
:
undefined
,
warehouseOutId
:
undefined
,
warehouseOutId
:
undefined
,
copyUserId
:[],
copyUserId
:
[],
},
},
}
}
},
},
methods
:{
methods
:
{
submit
(){
getOrderListFn
()
{
getOrderPage
({
orderIdList
:
this
.
orderList
}).
then
(
r
=>
{
this
.
list
=
r
.
data
.
list
warehouseAdjustmentList
({
id
:
this
.
list
[
0
].
startWarehouseId
}).
then
(
r
=>
this
.
availableWarehouse
=
r
.
data
)
})
},
submit
()
{
let
p
=
this
.
list
.
map
(
e
=>
e
.
orderId
).
join
(
'
,
'
);
let
p
=
this
.
list
.
map
(
e
=>
e
.
orderId
).
join
(
'
,
'
);
this
.
params
.
orderIds
=
p
;
this
.
params
.
orderIds
=
p
;
this
.
params
.
warehouseOutId
=
this
.
list
[
0
].
startWarehouseId
;
this
.
params
.
warehouseOutId
=
this
.
list
[
0
].
startWarehouseId
;
this
.
params
.
orderNo
=
this
.
list
[
0
].
orderNo
this
.
params
.
orderNo
=
this
.
list
[
0
].
orderNo
orderWarehouseInAdjustApply
(
this
.
params
).
then
(
r
=>
{
orderWarehouseInAdjustApply
(
this
.
params
).
then
(
r
=>
{
if
(
r
.
code
===
0
)
{
if
(
r
.
code
===
0
)
{
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$message
.
success
(
'
调仓成功
'
);
this
.
$message
.
success
(
'
调仓成功
'
);
}
}
})
})
},
async
canceLtiaoCang
(
row
)
{
let
res
=
await
adjustApplyStatus
({
orderId
:
row
.
orderId
})
if
(
res
.
data
.
isBatch
)
{
this
.
$message
.
warning
(
'
批量提提交请耐心等待
'
)
}
else
{
this
.
$prompt
(
'
请问您是否要取消调仓?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
,
}).
then
((
val
)
=>
{
cancelAdjustApply
({
orderId
:
row
.
orderId
,
reason
:
val
.
value
}).
then
(
r
=>
{
if
(
r
.
code
===
0
)
{
this
.
$message
({
type
:
'
success
'
,
message
:
'
取消调仓成功!
'
});
this
.
getOrderListFn
()
}
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'
info
'
,
message
:
'
已取消
'
});
});
}
},
}
}
}
}
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
.batch-single-application
{
.batch-single-application
{
padding
:
20px
;
padding
:
20px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
.title
{
.title
{
font-weight
:
600
;
font-weight
:
600
;
text-align
:
left
;
text-align
:
left
;
}
}
}
}
.my-process-designer
{
.my-process-designer
{
height
:
calc
(
100vh
-
200px
);
height
:
calc
(
100vh
-
200px
);
}
}
...
...
src/views/ecw/order/warehousing/components/editDialog.vue
View file @
0faed767
...
@@ -25,7 +25,11 @@
...
@@ -25,7 +25,11 @@
</el-select>
</el-select>
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label=
"是否备案"
>
{{
isBeian
}}
</el-descriptions-item>
<el-descriptions-item
label=
"是否备案"
>
{{
isBeian
}}
</el-descriptions-item>
<el-descriptions-item
label=
"填单参数"
></el-descriptions-item>
<el-descriptions-item
label=
"填单参数"
>
箱数:
{{
warehousing
.
num
}}
<br>
体积:
{{
warehousing
.
volume
}}
m³
<br>
重量:
{{
warehousing
.
weight
}}
Kg
</el-descriptions-item>
</el-descriptions>
</el-descriptions>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
style=
"margin-top: 20px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
style=
"margin-top: 20px"
>
<el-form-item
label=
"材质"
>
<el-form-item
label=
"材质"
>
...
@@ -160,7 +164,13 @@ export default {
...
@@ -160,7 +164,13 @@ export default {
mounted
()
{
mounted
()
{
getProductBrankPage
({
pageSize
:
100000
}).
then
(
r
=>
{
getProductBrankPage
({
pageSize
:
100000
}).
then
(
r
=>
{
this
.
brandList
=
r
.
data
.
list
.
map
(
e
=>
{
this
.
brandList
=
[
{
"
titleZh
"
:
"
无
"
,
"
titleEn
"
:
""
,
"
id
"
:
'
0
'
},
...
r
.
data
.
list
.
map
(
e
=>
{
if
(
e
.
id
){
if
(
e
.
id
){
e
.
id
=
e
.
id
.
toString
()
e
.
id
=
e
.
id
.
toString
()
}
}
...
@@ -172,6 +182,7 @@ export default {
...
@@ -172,6 +182,7 @@ export default {
}
}
return
e
return
e
})
})
]
})
})
},
},
...
...
src/views/ecw/order/warehousing/index.vue
View file @
0faed767
...
@@ -122,7 +122,7 @@
...
@@ -122,7 +122,7 @@
<el-button
type=
"primary"
@
click=
"handleSubmit()"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit()"
>
确 定
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<el-dialog
:title=
"order.orderNo + '
转异常单
'"
center
:visible.sync=
"escapeBol"
>
<el-dialog
:title=
"order.orderNo + '
订单转异
'"
center
:visible.sync=
"escapeBol"
>
<el-form
label-position=
"top"
label-width=
"200"
>
<el-form
label-position=
"top"
label-width=
"200"
>
<el-form-item
label=
"原因类型"
>
<el-form-item
label=
"原因类型"
>
<dict-selector
v-model=
"form.manualExceptionType"
form-type=
"checkbox"
:type=
"DICT_TYPE.MANUAL_EXCEPTION_TYPE"
multiple
></dict-selector>
<dict-selector
v-model=
"form.manualExceptionType"
form-type=
"checkbox"
:type=
"DICT_TYPE.MANUAL_EXCEPTION_TYPE"
multiple
></dict-selector>
...
@@ -135,7 +135,7 @@
...
@@ -135,7 +135,7 @@
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"handleSubmit"
>
转
义
完成并入仓
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
>
转
异
完成并入仓
</el-button>
<el-button
@
click=
"escapeBol = false"
>
取消
</el-button>
<el-button
@
click=
"escapeBol = false"
>
取消
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
...
...
src/views/member/user/index.vue
View file @
0faed767
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"关键字"
prop=
"nickname"
>
<el-form-item
label=
"关键字"
prop=
"nickname"
>
<el-input
v-model=
"queryParams.
nickname
"
placeholder=
"搜索昵称、姓名、手机、Email"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.
searchKey
"
placeholder=
"搜索昵称、姓名、手机、Email"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"成交"
prop=
"mobile"
>
<el-form-item
label=
"成交"
prop=
"mobile"
>
<el-select
v-model=
"queryParams.isDeal"
>
<el-select
v-model=
"queryParams.isDeal"
>
...
@@ -84,7 +84,7 @@
...
@@ -84,7 +84,7 @@
<
/el-table-column
>
<
/el-table-column
>
<
/el-table
>
<
/el-table
>
<!--
分页组件
-->
<!--
分页组件
-->
<
pagination
v
-
show
=
"
total > 0
"
:
total
=
"
total
"
:
page
.
sync
=
"
queryParams.page
No
"
:
limit
.
sync
=
"
queryParams.pageSize
"
<
pagination
v
-
show
=
"
total > 0
"
:
total
=
"
total
"
:
page
.
sync
=
"
queryParams.page
"
:
limit
.
sync
=
"
queryParams.rows
"
@
pagination
=
"
getList
"
/>
@
pagination
=
"
getList
"
/>
<
el
-
dialog
<
el
-
dialog
title
=
"
保函/证书
"
title
=
"
保函/证书
"
...
@@ -287,8 +287,8 @@ export default {
...
@@ -287,8 +287,8 @@ export default {
dateRangeCreateTime
:
[],
dateRangeCreateTime
:
[],
// 查询参数
// 查询参数
queryParams
:
{
queryParams
:
{
page
No
:
1
,
page
:
1
,
pageSize
:
10
,
rows
:
10
,
isDeal
:
undefined
,
// 是否成交
isDeal
:
undefined
,
// 是否成交
searchKey
:
undefined
,
//关键字
searchKey
:
undefined
,
//关键字
auditStatus
:
undefined
,
//审核状态
auditStatus
:
undefined
,
//审核状态
...
...
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