Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
million
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
viitto
million
Commits
bf48eda7
Commit
bf48eda7
authored
Jan 05, 2026
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
酒店已付款 取消订单
parent
b2f20ed0
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
205 additions
and
47 deletions
+205
-47
detailHotalDida.vue
src/pages/detailHotalDida.vue
+1
-1
order.vue
src/pages/usercenter/order.vue
+105
-25
orderDetail.vue
src/pages/usercenter/order/orderDetail.vue
+99
-21
No files found.
src/pages/detailHotalDida.vue
View file @
bf48eda7
...
@@ -1144,7 +1144,6 @@ export default {
...
@@ -1144,7 +1144,6 @@ export default {
this
.
order
=
pickuporderHotal
.
find
((
x
)
=>
x
.
key
==
key
);
this
.
order
=
pickuporderHotal
.
find
((
x
)
=>
x
.
key
==
key
);
if
(
this
.
order
)
{
if
(
this
.
order
)
{
this
.
msg
.
searchroomGroup
=
this
.
order
.
order
.
msg
.
searchroomGroup
this
.
msg
.
searchroomGroup
=
this
.
order
.
order
.
msg
.
searchroomGroup
this
.
CountPeople
()
}
}
}
}
}
else
{
}
else
{
...
@@ -1160,6 +1159,7 @@ export default {
...
@@ -1160,6 +1159,7 @@ export default {
// }
// }
// }
// }
}
}
this
.
CountPeople
()
let
params
=
newVal
.
params
let
params
=
newVal
.
params
if
(
params
.
CheckInDate
){
if
(
params
.
CheckInDate
){
...
...
src/pages/usercenter/order.vue
View file @
bf48eda7
...
@@ -35,7 +35,8 @@
...
@@ -35,7 +35,8 @@
</div>
</div>
<q-card
class=
"rounded-borders q-pa-md q-mt-md"
flat
v-for=
"item in orderList"
:key=
"item.id"
>
<q-card
class=
"rounded-borders q-pa-md q-mt-md"
flat
v-for=
"(item,index) in orderList"
:key=
"item.id"
@
click=
"CommonJump('/orderinfo/'+item.orderNo,{},'blank')"
>
<div
class=
"row justify-between items-center"
>
<div
class=
"row justify-between items-center"
>
<div>
<div>
<q-chip
size=
"12px"
:class=
"[item.goodTypeEnum.bgColor,item.goodTypeEnum.color]"
square
>
{{ item.goodTypeEnum?item.goodTypeEnum.desc:'' }}
</q-chip>
<q-chip
size=
"12px"
:class=
"[item.goodTypeEnum.bgColor,item.goodTypeEnum.color]"
square
>
{{ item.goodTypeEnum?item.goodTypeEnum.desc:'' }}
</q-chip>
...
@@ -43,7 +44,7 @@
...
@@ -43,7 +44,7 @@
</div>
</div>
<div
class=
"text-grey-5 desktop-only"
>
下單日期:{{ item.createTimeStr }}
</div>
<div
class=
"text-grey-5 desktop-only"
>
下單日期:{{ item.createTimeStr }}
</div>
<div
class=
"row items-center"
>
<div
class=
"row items-center"
>
<q-btn
color=
"dark"
icon=
"iconfont iconmessage1"
label=
"联系客服"
flat
@
click=
"goCustomerServiceHandler"
class=
"q-mr-md"
/>
<q-btn
color=
"dark"
icon=
"iconfont iconmessage1"
label=
"联系客服"
flat
@
click
.
stop
=
"goCustomerServiceHandler"
class=
"q-mr-md"
/>
<q-icon
:name=
"item.orderStatusInfo.icon"
:class=
"[item.orderStatusInfo.color]"
size=
"14px"
/>
<q-icon
:name=
"item.orderStatusInfo.icon"
:class=
"[item.orderStatusInfo.color]"
size=
"14px"
/>
<span
class=
"q-ml-sm"
:class=
"[item.orderStatusInfo.color]"
>
{{ item.orderStatusInfo.desc }}
</span>
<span
class=
"q-ml-sm"
:class=
"[item.orderStatusInfo.color]"
>
{{ item.orderStatusInfo.desc }}
</span>
</div>
</div>
...
@@ -61,7 +62,7 @@
...
@@ -61,7 +62,7 @@
:style=
"{width: $q.platform.is.desktop?'150px':'80px',height:$q.platform.is.desktop?'80px':'40px'}"
:style=
"{width: $q.platform.is.desktop?'150px':'80px',height:$q.platform.is.desktop?'80px':'40px'}"
/>
/>
<div
class=
"col"
>
<div
class=
"col"
>
<div
class=
"text-body1 ellipsis cursor-pointer"
@
click=
"CommonJump('/orderinfo/'+item.orderNo,{},'blank')"
>
{{ item.goodsName }}
</div>
<div
class=
"text-body1 ellipsis cursor-pointer"
>
{{ item.goodsName }}
</div>
<div
class=
"text-grey-5"
:class=
"{'q-mt-sm':$q.platform.is.desktop}"
>
{{ item.orderMake }}
</div>
<div
class=
"text-grey-5"
:class=
"{'q-mt-sm':$q.platform.is.desktop}"
>
{{ item.orderMake }}
</div>
<div
class=
"q-mt-sm text-grey-8 f12 row items-center desktop-only"
>
<div
class=
"q-mt-sm text-grey-8 f12 row items-center desktop-only"
>
<q-icon
name=
"iconfont iconpeople1"
size=
"14px"
class=
"q-mr-sm"
/>
<q-icon
name=
"iconfont iconpeople1"
size=
"14px"
class=
"q-mr-sm"
/>
...
@@ -81,20 +82,23 @@
...
@@ -81,20 +82,23 @@
</div>
</div>
<div
class=
""
:class=
"{'q-mt-md row items-end':$q.platform.is.mobile,'q-ml-lg':$q.platform.is.desktop}"
>
<div
class=
""
:class=
"{'q-mt-md row items-end':$q.platform.is.mobile,'q-ml-lg':$q.platform.is.desktop}"
>
<div
class=
"col mobile-only text-left"
>
<div
class=
"col mobile-only text-left"
>
<q-btn
color=
"dark"
icon=
"iconfont iconmessage1"
label=
"联系客服"
flat
@
click=
"goCustomerServiceHandler"
/>
<q-btn
color=
"dark"
icon=
"iconfont iconmessage1"
label=
"联系客服"
flat
@
click
.
stop
=
"goCustomerServiceHandler"
/>
</div>
</div>
<div>
<div>
<div
class=
"text-right"
>
<div
class=
"text-right"
>
<span>
CNY
</span>
<span>
CNY
</span>
<span
class=
"text-h6 q-ml-sm"
>
{{ moneyFormat(item.totalPrice,2) }}
</span>
<span
class=
"text-h6 q-ml-sm"
>
{{ moneyFormat(item.totalPrice,2) }}
</span>
</div>
</div>
<div
class=
"q-mt-md text-right"
v-if=
"item.orderStatus==1"
>
<div
class=
"q-mt-md text-right"
v-if=
"item.orderStatus==1||
(item.goodsType==9&&item.orderStatus==2)"
>
<!-- <q-btn color="dark" dense flat class="q-px-sm" label="查看訂單" /> -->
<!-- <q-btn color="dark" dense flat class="q-px-sm" label="查看訂單" /> -->
<q-btn
color=
"primary"
dense
flat
class=
"q-px-sm"
label=
"取消訂單"
@
click=
"cancalOrder(item.orderNo)"
/>
<q-btn
color=
"primary"
dense
flat
class=
"q-px-sm"
label=
"取消訂單"
<q-btn
color=
"primary"
dense
unelevated
class=
"q-px-sm q-ml-sm"
label=
"立即支付"
@
click=
"CommonJump('/pay/'+item.orderNo,{},'blank')"
/>
:loading=
"item.cancalLoading"
@
click
.
stop=
"cancalOrder(item,item.orderNo,index)"
/>
<q-btn
v-if=
"item.orderStatus==1"
color=
"primary"
dense
unelevated
class=
"q-px-sm q-ml-sm"
label=
"立即支付"
@
click
.
stop=
"CommonJump('/pay/'+item.orderNo,{},'blank')"
/>
</div>
</div>
<div
class=
"q-mt-md text-right"
v-else
>
<div
class=
"q-mt-md text-right"
v-else
>
<q-btn
color=
"dark"
dense
flat
class=
"q-px-sm"
@
click=
"CommonJump('/orderinfo/'+item.orderNo,{},'blank')"
label=
"查看訂單"
/>
<q-btn
color=
"dark"
dense
flat
class=
"q-px-sm"
@
click
.
stop
=
"CommonJump('/orderinfo/'+item.orderNo,{},'blank')"
label=
"查看訂單"
/>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -176,25 +180,96 @@ export default {
...
@@ -176,25 +180,96 @@ export default {
this
.
getOrderList
();
this
.
getOrderList
();
},
},
methods
:
{
methods
:
{
cancalOrder
(
OrderNo
)
{
cancalOrder
(
item
,
OrderNo
,
index
)
{
this
.
$q
.
dialog
({
if
(
item
.
goodsType
!=
9
){
title
:
'取消確認'
,
this
.
$q
.
dialog
({
message
:
'訂單取消後,系統將立即釋放位置,請問是否執行?'
,
title
:
'取消確認'
,
cancel
:
true
,
message
:
'訂單取消後,系統將立即釋放位置,請問是否執行?'
,
persistent
:
true
cancel
:
true
,
}).
onOk
(()
=>
{
persistent
:
true
this
.
apipost
(
'GetCancelOrder_post'
,{
OrderNo
},
r
=>
{
}).
onOk
(()
=>
{
if
(
r
.
data
.
resultCode
==
1
){
this
.
erpCancelOrder
(
OrderNo
,
index
)
this
.
$message
.
success
(
'訂單取消成功'
)
}).
onCancel
(()
=>
{
this
.
getOrderList
()
}
else
{
this
.
$message
.
error
(
'訂單取消失敗,請重新嘗試'
)
}
})
})
}).
onCancel
(()
=>
{
}
else
{
let
cancelMsg
=
{
OrderNo
:
item
.
orderNo
,
ErpOrderId
:
item
.
erpOrderId
,
OrderTypeStr
:
"Hotel"
,
//订单类型为酒店
ConfirmID
:
""
,
Amount
:
0
,
};
// 未付款取消
if
(
item
.
orderStatus
==
1
){
this
.
DiDaCancelOrder
(
cancelMsg
,
index
)
}
else
if
(
item
.
orderStatus
==
2
){
//已付款取消
this
.
DiDaBookingCancel
(
item
,
cancelMsg
,
index
)
}
}
},
erpCancelOrder
(
OrderNo
,
index
){
this
.
orderList
[
index
].
cancalLoading
=
true
this
.
apipost
(
'GetCancelOrder_post'
,{
OrderNo
},
r
=>
{
if
(
r
.
data
.
resultCode
==
1
){
this
.
$message
.
success
(
'訂單取消成功'
)
this
.
getOrderList
()
}
else
{
this
.
$message
.
error
(
'訂單取消失敗,請重新嘗試'
)
}
this
.
orderList
[
index
].
cancalLoading
=
false
})
})
},
},
DiDaBookingCancel
(
item
,
cancelMsg
,
index
){
this
.
orderList
[
index
].
cancalLoading
=
true
this
.
apipost
(
'dmc_post_GetDiDaBookingCancel'
,{
BookingID
:
item
.
thirdOrderNo
},
r
=>
{
this
.
orderList
[
index
].
cancalLoading
=
false
if
(
r
.
data
.
resultCode
==
1
){
var
tempData
=
r
.
data
.
data
;
if
(
tempData
)
{
cancelMsg
.
ConfirmID
=
tempData
.
ConfirmID
;
cancelMsg
.
Amount
=
tempData
.
Amount
;
//有取消费用
var
tipmsg
=
`訂單取消後,系統將立即釋放位置,請問是否執行?`
if
(
tempData
.
Amount
&&
tempData
.
Amount
>
0
)
{
tipmsg
=
`取消订单将收取【
${
tempData
.
Amount
}
元】手续费,是否确认取消订单?`
}
this
.
$q
.
dialog
({
title
:
'取消確認'
,
message
:
tipmsg
,
cancel
:
true
,
persistent
:
true
}).
onOk
(()
=>
{
this
.
DiDaCancelOrder
(
cancelMsg
,
index
)
}).
onCancel
(()
=>
{
})
}
}
else
{
this
.
$message
.
error
(
'訂單取消失敗,請重新嘗試'
)
}
})
},
DiDaCancelOrder
(
postMsg
,
index
)
{
this
.
orderList
[
index
].
cancalLoading
=
true
this
.
apipost
(
"post_CancelThirdHotelOrder"
,
postMsg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
'訂單取消成功'
)
this
.
getOrderList
()
}
else
{
this
.
$message
.
error
(
'訂單取消失敗,請重新嘗試'
)
}
this
.
orderList
[
index
].
cancalLoading
=
false
},
(
err
)
=>
{
this
.
$message
.
error
(
'訂單取消失敗,請重新嘗試'
)
this
.
orderList
[
index
].
cancalLoading
=
false
}
);
},
pageChange
(
value
)
{
pageChange
(
value
)
{
this
.
current
=
value
;
this
.
current
=
value
;
this
.
getOrderList
();
this
.
getOrderList
();
...
@@ -247,10 +322,15 @@ export default {
...
@@ -247,10 +322,15 @@ export default {
const
{
count
,
pageData
,
pageCount
}
=
res
.
data
.
data
;
const
{
count
,
pageData
,
pageCount
}
=
res
.
data
.
data
;
this
.
count
=
count
;
this
.
count
=
count
;
this
.
pageCount
=
pageCount
;
this
.
pageCount
=
pageCount
;
let
arrList
=
function
(
list
){
list
.
forEach
(
x
=>
{
x
.
cancalLoading
=
false
})
}
arrList
(
pageData
)
this
.
orderList
=
pageData
;
this
.
orderList
=
pageData
;
this
.
orderList
.
forEach
(
x
=>
{
this
.
orderList
.
forEach
(
x
=>
{
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
x
.
goodTypeEnum
=
mappingListType
(
x
.
goodsType
)
console
.
log
(
x
.
goodTypeEnum
)
x
.
orderStatusInfo
=
EnumHelper
.
ParseToEnum
(
OrderStatusEnum
,
x
.
orderStatus
,
'value'
)
x
.
orderStatusInfo
=
EnumHelper
.
ParseToEnum
(
OrderStatusEnum
,
x
.
orderStatus
,
'value'
)
})
})
}
else
{
}
else
{
...
...
src/pages/usercenter/order/orderDetail.vue
View file @
bf48eda7
...
@@ -36,9 +36,12 @@
...
@@ -36,9 +36,12 @@
<!--
<q-btn
color=
"primary"
outline
dense
label=
"取消訂單"
@
click=
"cancalOrder"
class=
"q-mr-md q-px-md"
/>
<!--
<q-btn
color=
"primary"
outline
dense
label=
"取消訂單"
@
click=
"cancalOrder"
class=
"q-mr-md q-px-md"
/>
<q-btn
color=
"primary"
unelevated
dense
label=
"前往付款"
@
click=
"goPayOrder"
class=
"q-px-md"
/>
-->
<q-btn
color=
"primary"
unelevated
dense
label=
"前往付款"
@
click=
"goPayOrder"
class=
"q-px-md"
/>
-->
<div
class=
"text-right"
v-if=
"detail.OrderStatus==1"
>
<div
class=
"text-right"
v-if=
"detail.OrderStatus==1||
<q-btn
color=
"primary"
dense
outline
class=
"q-px-sm"
label=
"取消訂單"
@
click=
"cancalOrder(detail.OrderNo)"
/>
(detail.GoodsType==9&&detail.OrderStatus==2)"
>
<q-btn
color=
"primary"
dense
unelevated
class=
"q-px-sm q-ml-sm"
label=
"立即支付"
@
click=
"CommonJump('/pay/'+detail.OrderNo,
{},'blank')" />
<q-btn
color=
"primary"
dense
outline
class=
"q-px-sm"
label=
"取消訂單"
:loading=
"cancalLoading"
@
click=
"cancalOrder()"
/>
<q-btn
v-if=
"detail.OrderStatus==1"
color=
"primary"
dense
unelevated
class=
"q-px-sm q-ml-sm"
label=
"立即支付"
@
click=
"CommonJump('/pay/'+detail.OrderNo,
{},'blank')" />
</div>
</div>
<!--
<div
class=
"text-right"
v-else
>
<!--
<div
class=
"text-right"
v-else
>
<q-btn
color=
"dark"
dense
flat
class=
"q-px-sm"
@
click=
"CommonJump('/orderinfo/'+orderNo,
{},'blank')" label="查看訂單" />
<q-btn
color=
"dark"
dense
flat
class=
"q-px-sm"
@
click=
"CommonJump('/orderinfo/'+orderNo,
{},'blank')" label="查看訂單" />
...
@@ -55,6 +58,7 @@
...
@@ -55,6 +58,7 @@
class=
"rounded-borders q-mr-md"
class=
"rounded-borders q-mr-md"
spinner-color=
"grey-2"
spinner-color=
"grey-2"
style=
"width: 150px"
style=
"width: 150px"
:ratio=
"16/9"
/>
/>
<div
class=
"col"
>
<div
class=
"col"
>
<div
class=
"text-body1 ellipsis"
>
{{
detail
.
GoodsName
}}
</div>
<div
class=
"text-body1 ellipsis"
>
{{
detail
.
GoodsName
}}
</div>
...
@@ -142,6 +146,7 @@ data() {
...
@@ -142,6 +146,7 @@ data() {
iconColor
:
''
,
iconColor
:
''
,
orderNo
:
''
,
orderNo
:
''
,
loading
:
true
,
loading
:
true
,
cancalLoading
:
false
,
}
}
},
},
created
()
{},
created
()
{},
...
@@ -154,28 +159,100 @@ mounted() {
...
@@ -154,28 +159,100 @@ mounted() {
}
}
},
},
methods
:
{
methods
:
{
goPayOrder
()
{
goPayOrder
()
{
this
.
CommonJump
(
'/pay/'
+
this
.
orderNo
)
this
.
CommonJump
(
'/pay/'
+
this
.
orderNo
)
},
},
cancalOrder
()
{
cancalOrder
()
{
this
.
$q
.
dialog
({
if
(
this
.
detail
.
GoodsType
!=
9
){
title
:
'取消確認'
,
this
.
$q
.
dialog
({
message
:
'訂單取消後,系統將立即釋放位置,請問是否執行?'
,
title
:
'取消確認'
,
cancel
:
true
,
message
:
'訂單取消後,系統將立即釋放位置,請問是否執行?'
,
persistent
:
true
cancel
:
true
,
}).
onOk
(()
=>
{
persistent
:
true
this
.
apipost
(
'GetCancelOrder_post'
,{
OrderNo
:
this
.
orderNo
},
r
=>
{
}).
onOk
(()
=>
{
if
(
r
.
data
.
resultCode
==
1
){
this
.
erpCancelOrder
()
this
.
$message
.
success
(
'訂單取消成功'
)
}).
onCancel
(()
=>
{
window
.
location
.
reload
()
}
else
{
this
.
$message
.
error
(
'訂單取消失敗,請重新嘗試'
)
}
})
})
}).
onCancel
(()
=>
{
}
else
{
let
cancelMsg
=
{
OrderNo
:
this
.
detail
.
OrderNo
,
ErpOrderId
:
this
.
detail
.
ErpOrderId
,
OrderTypeStr
:
"Hotel"
,
//订单类型为酒店
ConfirmID
:
""
,
Amount
:
0
,
};
// 未付款取消
if
(
this
.
detail
.
OrderStatus
==
1
){
this
.
DiDaCancelOrder
(
cancelMsg
)
}
else
if
(
this
.
detail
.
OrderStatus
==
2
){
//已付款取消
this
.
DiDaBookingCancel
(
cancelMsg
)
}
}
},
erpCancelOrder
()
{
this
.
cancalLoading
=
true
this
.
apipost
(
'GetCancelOrder_post'
,{
OrderNo
:
this
.
orderNo
},
r
=>
{
if
(
r
.
data
.
resultCode
==
1
){
this
.
$message
.
success
(
'訂單取消成功'
)
window
.
location
.
reload
()
}
else
{
this
.
$message
.
error
(
'訂單取消失敗,請重新嘗試'
)
}
this
.
cancalLoading
=
false
})
})
},
},
DiDaBookingCancel
(
cancelMsg
){
this
.
cancalLoading
=
true
this
.
apipost
(
'dmc_post_GetDiDaBookingCancel'
,{
BookingID
:
this
.
detail
.
ThirdOrderNo
},
r
=>
{
this
.
cancalLoading
=
false
if
(
r
.
data
.
resultCode
==
1
){
var
tempData
=
r
.
data
.
data
;
if
(
tempData
)
{
cancelMsg
.
ConfirmID
=
tempData
.
ConfirmID
;
cancelMsg
.
Amount
=
tempData
.
Amount
;
//有取消费用
var
tipmsg
=
`訂單取消後,系統將立即釋放位置,請問是否執行?`
if
(
tempData
.
Amount
&&
tempData
.
Amount
>
0
)
{
tipmsg
=
`取消订单将收取【
${
tempData
.
Amount
}
元】手续费,是否确认取消订单?`
}
this
.
$q
.
dialog
({
title
:
'取消確認'
,
message
:
tipmsg
,
cancel
:
true
,
persistent
:
true
}).
onOk
(()
=>
{
console
.
log
(
cancelMsg
,
'----获取手续费接口'
)
this
.
DiDaCancelOrder
(
cancelMsg
)
}).
onCancel
(()
=>
{
})
}
}
else
{
this
.
$message
.
error
(
'訂單取消失敗,請重新嘗試'
)
}
})
},
DiDaCancelOrder
(
postMsg
)
{
this
.
cancalLoading
=
true
console
.
log
(
postMsg
,
'----取消接口'
)
this
.
apipost
(
"post_CancelThirdHotelOrder"
,
postMsg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
'訂單取消成功'
)
window
.
location
.
reload
()
}
else
{
this
.
$message
.
error
(
'訂單取消失敗,請重新嘗試'
)
}
this
.
cancalLoading
=
false
},
(
err
)
=>
{
this
.
$message
.
error
(
'訂單取消失敗,請重新嘗試'
)
this
.
cancalLoading
=
false
}
);
},
goHomeHandler
(){
goHomeHandler
(){
this
.
loading
=
false
this
.
loading
=
false
setTimeout
(()
=>
{
setTimeout
(()
=>
{
...
@@ -189,6 +266,7 @@ methods: {
...
@@ -189,6 +266,7 @@ methods: {
},
},
(
res
)
=>
{
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
this
.
detail
=
res
.
data
.
data
this
.
detail
=
res
.
data
.
data
this
.
orderIcon
=
[
""
,
"icontime1"
,
"iconsuccess"
,
"iconsuccess"
,
"icontishi"
][
this
.
detail
.
OrderStatus
]
this
.
orderIcon
=
[
""
,
"icontime1"
,
"iconsuccess"
,
"iconsuccess"
,
"icontishi"
][
this
.
detail
.
OrderStatus
]
this
.
iconColor
=
[
""
,
"blue"
,
"blue"
,
"green"
,
"grey"
][
this
.
detail
.
OrderStatus
]
this
.
iconColor
=
[
""
,
"blue"
,
"blue"
,
"green"
,
"grey"
][
this
.
detail
.
OrderStatus
]
...
...
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