Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
corporate-culture-qd
Overview
Overview
Details
Activity
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
王立鹏
corporate-culture-qd
Commits
6f7a565b
Commit
6f7a565b
authored
Apr 07, 2026
by
lijiabin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【需求 20520】 feat: 所有活动都不开放仓库
parent
cf3e0b43
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
229 additions
and
202 deletions
+229
-202
index.vue
src/layoutCulture/index.vue
+2
-0
index.vue
src/views/homePage/index.vue
+74
-57
selfActivity.vue
src/views/userPage/components/selfActivity.vue
+153
-145
No files found.
src/layoutCulture/index.vue
View file @
6f7a565b
...
@@ -56,6 +56,7 @@
...
@@ -56,6 +56,7 @@
</RewardButton>
</RewardButton>
<div
<div
v-if=
"!isWareHouse"
class=
"group flex items-center cursor-pointer px-2 py-1 sm:px-3 sm:py-2 rounded-lg transition-all duration-200 hover:shadow-lg hover:bg-white/60"
class=
"group flex items-center cursor-pointer px-2 py-1 sm:px-3 sm:py-2 rounded-lg transition-all duration-200 hover:shadow-lg hover:bg-white/60"
@
click=
"router.push('/auction')"
@
click=
"router.push('/auction')"
>
>
...
@@ -175,6 +176,7 @@ const userStore = useUserStore()
...
@@ -175,6 +176,7 @@ const userStore = useUserStore()
const
activityStore
=
useActivityStore
()
const
activityStore
=
useActivityStore
()
const
{
userInfo
}
=
storeToRefs
(
userStore
)
const
{
userInfo
}
=
storeToRefs
(
userStore
)
const
isWareHouse
=
userInfo
.
value
.
address
.
includes
(
'仓库'
)
const
router
=
useRouter
()
const
router
=
useRouter
()
const
route
=
useRoute
()
const
route
=
useRoute
()
...
...
src/views/homePage/index.vue
View file @
6f7a565b
...
@@ -298,73 +298,87 @@
...
@@ -298,73 +298,87 @@
</transition>
</transition>
</div>
</div>
</div>
</div>
<!-- 每日抽奖 -->
<template
v-if=
"!isWareHouse"
>
<div
v-if=
"lotteryPrizesDetail"
class=
"lottery-container common-box rounded-lg bg-#FFF7E6"
>
<!-- 每日抽奖 -->
<div
class=
"flex items-center gap-2 mb-3"
>
<div
class=
"w-1 h-4 bg-gradient-to-b from-amber-400 to-orange-400 rounded-full"
></div>
<h1
class=
"text-sm sm:text-base font-bold"
>
每日抽奖
</h1>
</div>
<div
<div
class=
"flex items-center gap-3 min-w-0 p-3 rounded-lg bg-white/60 border border-amber-100"
v-if=
"lotteryPrizesDetail"
class=
"lottery-container common-box rounded-lg bg-#FFF7E6"
>
>
<el-image
<div
class=
"flex items-center gap-2 mb-3"
>
class=
"w-18 h-18 rounded-lg flex-shrink-0 shadow-sm"
<div
class=
"w-1 h-4 bg-gradient-to-b from-amber-400 to-orange-400 rounded-full"
></div>
:src=
"lotteryPrizesDetail.prizesImg"
<h1
class=
"text-sm sm:text-base font-bold"
>
每日抽奖
</h1>
fit=
"cover"
:preview-src-list=
"[lotteryPrizesDetail.prizesImg]"
/>
<div
class=
"flex flex-col min-w-0 gap-1"
>
<div
class=
"font-semibold text-sm truncate"
>
{{
lotteryPrizesDetail
.
prizesName
}}
</div>
<div
class=
"text-12px text-gray-500 flex items-center gap-1"
>
<svg-icon
name=
"small_coin"
size=
"14"
/>
<span>
{{
lotteryPrizesDetail
.
registrationFee
}}
YA币
</span>
</div>
<div
class=
"text-12px text-gray-400"
>
今日
{{
lotteryPrizesDetail
.
number
}}
人参与
</div>
</div>
</div>
</div>
<div
v-if=
"lotteryPrizesDetail.winner"
class=
"text-xs text-amber-600 mt-2 px-1 truncate"
>
<div
昨日中奖:
{{
lotteryPrizesDetail
.
winner
}}
class=
"flex items-center gap-3 min-w-0 p-3 rounded-lg bg-white/60 border border-amber-100"
</div>
<div
class=
"flex justify-center items-center mt-3"
>
<el-button
v-if=
"!lotteryPrizesDetail.isJoin"
class=
"w-full! border-none! transition-all duration-200 text-xs sm:text-sm bg-[linear-gradient(to_right,#FFD06A_0%,#FFB143_100%)]! text-#333! shadow-[0px_1px_8px_0_rgba(255,173,91,0.25)] hover:-translate-y-0.5 hover:shadow-[0px_4px_10px_0_rgba(255,173,91,0.4)] active:translate-y-0"
type=
"primary"
@
click=
"handleLottery"
>
>
<svg-icon
name=
"daily_lottery"
size=
"18"
class=
"mr-1"
/>
<el-image
参与抽奖
class=
"w-18 h-18 rounded-lg flex-shrink-0 shadow-sm"
</el-button>
:src=
"lotteryPrizesDetail.prizesImg"
fit=
"cover"
:preview-src-list=
"[lotteryPrizesDetail.prizesImg]"
/>
<div
class=
"flex flex-col min-w-0 gap-1"
>
<div
class=
"font-semibold text-sm truncate"
>
{{
lotteryPrizesDetail
.
prizesName
}}
</div>
<div
class=
"text-12px text-gray-500 flex items-center gap-1"
>
<svg-icon
name=
"small_coin"
size=
"14"
/>
<span>
{{
lotteryPrizesDetail
.
registrationFee
}}
YA币
</span>
</div>
<div
class=
"text-12px text-gray-400"
>
今日
{{
lotteryPrizesDetail
.
number
}}
人参与
</div>
</div>
</div>
<div
<div
v-
else
v-
if=
"lotteryPrizesDetail.winner"
class=
"
w-full text-center py-2 rounded-md bg-amber-50 border border-amber-200 border-dashed text-amber-400 text-xs sm:text-sm
"
class=
"
text-xs text-amber-600 mt-2 px-1 truncate
"
>
>
✓ 今日已参与
昨日中奖:
{{
lotteryPrizesDetail
.
winner
}}
</div>
</div>
</div>
</div>
<!-- 大转盘 -->
<div
class=
"flex justify-center items-center mt-3"
>
<div
<el-button
v-if=
"wheelConfig?.isActivityActive"
v-if=
"!lotteryPrizesDetail.isJoin"
class=
"lottery-container common-box rounded-lg bg-#F5F0FF"
class=
"w-full! border-none! transition-all duration-200 text-xs sm:text-sm bg-[linear-gradient(to_right,#FFD06A_0%,#FFB143_100%)]! text-#333! shadow-[0px_1px_8px_0_rgba(255,173,91,0.25)] hover:-translate-y-0.5 hover:shadow-[0px_4px_10px_0_rgba(255,173,91,0.4)] active:translate-y-0"
>
type=
"primary"
<div
class=
"flex items-center gap-2 xl:mb-4"
>
@
click=
"handleLottery"
<div
class=
"w-1 h-4 bg-gradient-to-b from-violet-500 to-purple-500 rounded-full"
></div>
>
<h1
class=
"text-sm sm:text-base font-bold"
>
大转盘
</h1>
<svg-icon
name=
"daily_lottery"
size=
"18"
class=
"mr-1"
/>
</div>
参与抽奖
<div
class=
"flex justify-center"
>
</el-button>
<LuckyWheelContainer
:wheelConfig=
"wheelConfig"
/>
<div
v-else
class=
"w-full text-center py-2 rounded-md bg-amber-50 border border-amber-200 border-dashed text-amber-400 text-xs sm:text-sm"
>
✓ 今日已参与
</div>
</div>
</div>
</div>
<div
class=
"flex items-center justify-center text-sm text-gray-500 xl:mt-4 px-1 truncate"
>
每次抽奖
{{
wheelConfig
?.
costYaCoin
}}
YA币
<!-- 大转盘 -->
<div
v-if=
"wheelConfig?.isActivityActive"
class=
"lottery-container common-box rounded-lg bg-#F5F0FF"
>
<div
class=
"flex items-center gap-2 xl:mb-4"
>
<div
class=
"w-1 h-4 bg-gradient-to-b from-violet-500 to-purple-500 rounded-full"
></div>
<h1
class=
"text-sm sm:text-base font-bold"
>
大转盘
</h1>
</div>
<div
class=
"flex justify-center"
>
<LuckyWheelContainer
:wheelConfig=
"wheelConfig"
/>
</div>
<div
class=
"flex items-center justify-center text-sm text-gray-500 xl:mt-4 px-1 truncate"
>
每次抽奖
{{
wheelConfig
?.
costYaCoin
}}
YA币
</div>
</div>
</div>
</
div
>
</
template
>
</div>
</div>
</div>
</div>
...
@@ -410,8 +424,11 @@ import { useBreakpoints, breakpointsTailwind } from '@vueuse/core'
...
@@ -410,8 +424,11 @@ import { useBreakpoints, breakpointsTailwind } from '@vueuse/core'
import
LuckyWheelContainer
from
'@/components/common/LuckyWheelContainer/index.vue'
import
LuckyWheelContainer
from
'@/components/common/LuckyWheelContainer/index.vue'
import
{
RewardButtonEnum
}
from
'@/constants'
import
{
RewardButtonEnum
}
from
'@/constants'
import
RewardButton
from
'@/components/common/RewardButton/index.vue'
import
RewardButton
from
'@/components/common/RewardButton/index.vue'
import
{
useTourStore
}
from
'@/stores'
import
{
useTourStore
,
useUserStore
}
from
'@/stores'
const
userStore
=
useUserStore
()
const
{
userInfo
}
=
storeToRefs
(
userStore
)
const
isWareHouse
=
userInfo
.
value
.
address
.
includes
(
'仓库'
)
const
tourStore
=
useTourStore
()
const
tourStore
=
useTourStore
()
const
{
shouldShowAskTabTour
}
=
storeToRefs
(
tourStore
)
const
{
shouldShowAskTabTour
}
=
storeToRefs
(
tourStore
)
const
breakpoints
=
useBreakpoints
(
breakpointsTailwind
)
const
breakpoints
=
useBreakpoints
(
breakpointsTailwind
)
...
...
src/views/userPage/components/selfActivity.vue
View file @
6f7a565b
...
@@ -88,161 +88,169 @@ const EmptyComp = () => (
...
@@ -88,161 +88,169 @@ const EmptyComp = () => (
<
/div
>
<
/div
>
)
)
const
activityTypeListOptions
=
[
const
activityTypeListOptions
:
{
{
label
:
string
label
:
'限时竞拍'
,
value
:
ActivityTypeEnum
value
:
ActivityTypeEnum
.
AUCTION
,
component
:
()
=>
VNode
component
:
()
=>
(
refresh
:
()
=>
void
<>
}[]
=
[]
<
div
class
=
"flex justify-end"
>
<
p
class
=
"text-gray-500 text-sm mb-1 flex items-center gap-1"
>
if
(
!
isWareHouse
)
{
<
el
-
icon
>
activityTypeListOptions
.
push
(
<
IEpInfoFilled
/>
...[
<
/el-icon
>
{
页面仅展示竞拍成功的记录
label
:
'限时竞拍'
,
<
/p
>
value
:
ActivityTypeEnum
.
AUCTION
,
<
/div
>
component
:
()
=>
(
{
!
list1
.
value
.
length
?
(
<
EmptyComp
/>
)
:
(
<>
<>
<
div
class
=
"space-y-4"
>
<
div
class
=
"flex justify-end"
>
<
el
-
table
height
=
"500"
data
=
{
list1
.
value
}
stripe
border
loading
=
{
loading1
.
value
}
>
<
p
class
=
"text-gray-500 text-sm mb-1 flex items-center gap-1"
>
<
el
-
table
-
column
prop
=
"name"
label
=
"名称"
/>
<
el
-
icon
>
<
el
-
table
-
column
prop
=
"startingPrice"
label
=
"起拍价"
/>
<
IEpInfoFilled
/>
<
el
-
table
-
column
prop
=
"bidPrice"
label
=
"支出YA币"
/>
<
/el-icon
>
<
/el-table
>
页面仅展示竞拍成功的记录
<
/div
>
<
/p
>
<
div
class
=
"flex items-center justify-end px-6 py-4 border-t border-gray-200"
>
<
div
class
=
"pagination-wrapper bg-white rounded-lg shadow-sm border border-gray-100 p-2"
>
<
el
-
pagination
v
-
model
:
current
-
page
=
{
searchParams1
.
value
.
current
}
v
-
model
:
page
-
size
=
{
searchParams1
.
value
.
size
}
onSizeChange
=
{
changePageSize1
}
onCurrentChange
=
{
goToPage1
}
page
-
sizes
=
{[
10
,
20
,
30
,
40
]}
layout
=
"prev, pager, next, jumper, total"
total
=
{
total1
.
value
}
class
=
"custom-pagination"
/>
<
/div
>
<
/div
>
<
/div
>
{
!
list1
.
value
.
length
?
(
<
EmptyComp
/>
)
:
(
<>
<
div
class
=
"space-y-4"
>
<
el
-
table
height
=
"500"
data
=
{
list1
.
value
}
stripe
border
loading
=
{
loading1
.
value
}
>
<
el
-
table
-
column
prop
=
"name"
label
=
"名称"
/>
<
el
-
table
-
column
prop
=
"startingPrice"
label
=
"起拍价"
/>
<
el
-
table
-
column
prop
=
"bidPrice"
label
=
"支出YA币"
/>
<
/el-table
>
<
/div
>
<
div
class
=
"flex items-center justify-end px-6 py-4 border-t border-gray-200"
>
<
div
class
=
"pagination-wrapper bg-white rounded-lg shadow-sm border border-gray-100 p-2"
>
<
el
-
pagination
v
-
model
:
current
-
page
=
{
searchParams1
.
value
.
current
}
v
-
model
:
page
-
size
=
{
searchParams1
.
value
.
size
}
onSizeChange
=
{
changePageSize1
}
onCurrentChange
=
{
goToPage1
}
page
-
sizes
=
{[
10
,
20
,
30
,
40
]}
layout
=
"prev, pager, next, jumper, total"
total
=
{
total1
.
value
}
class
=
"custom-pagination"
/>
<
/div
>
<
/div
>
<
/
>
)}
<
/
>
<
/
>
)}
),
<
/
>
refresh
:
()
=>
refresh1
(),
),
},
refresh
:
()
=>
refresh1
(),
{
},
label
:
'每日抽奖'
,
{
value
:
ActivityTypeEnum
.
DAILY_LOTTERY
,
label
:
'每日抽奖'
,
component
:
()
=>
(
value
:
ActivityTypeEnum
.
DAILY_LOTTERY
,
component
:
()
=>
(
<>
{
!
list2
.
value
.
length
?
(
<
EmptyComp
/>
)
:
(
<>
<>
<
div
class
=
"space-y-4"
>
{
!
list2
.
value
.
length
?
(
<
el
-
table
height
=
"500"
data
=
{
list2
.
value
}
stripe
border
loading
=
{
loading2
.
value
}
>
<
EmptyComp
/>
<
el
-
table
-
column
prop
=
"prizeName"
label
=
"名称"
/>
)
:
(
<
el
-
table
-
column
prop
=
"activityDateRange"
label
=
"参与时间"
/>
<>
<
el
-
table
-
column
prop
=
"isLotteryDone"
label
=
"是否开奖"
>
<
div
class
=
"space-y-4"
>
{({
row
}:
{
row
:
UserLotteryRecordItemDto
})
=>
(
<
el
-
table
height
=
"500"
data
=
{
list2
.
value
}
stripe
border
loading
=
{
loading2
.
value
}
>
<
div
>
{
row
.
isLotteryDone
?
<
span
>
是
<
/span> : <span>否</
span
>
}
<
/div
>
<
el
-
table
-
column
prop
=
"prizeName"
label
=
"名称"
/>
)}
<
el
-
table
-
column
prop
=
"activityDateRange"
label
=
"参与时间"
/>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"isLotteryDone"
label
=
"是否开奖"
>
<
el
-
table
-
column
prop
=
"isWin"
label
=
"是否中奖"
>
{({
row
}:
{
row
:
UserLotteryRecordItemDto
})
=>
(
{({
row
}:
{
row
:
UserLotteryRecordItemDto
})
=>
(
<
div
>
{
row
.
isLotteryDone
?
<
span
>
是
<
/span> : <span>否</
span
>
}
<
/div
>
<
div
>
{
row
.
isLotteryDone
?
(
row
.
isWin
?
(
<
span
class
=
"text-green-500"
>
是
<
/span
>
)
:
(
<
span
class
=
"text-red-500"
>
否
<
/span
>
)
)
:
(
'暂未开奖'
)}
)}
<
/div
>
<
/el-table-column
>
)}
<
el
-
table
-
column
prop
=
"isWin"
label
=
"是否中奖"
>
<
/el-table-column
>
{({
row
}:
{
row
:
UserLotteryRecordItemDto
})
=>
(
<
/el-table
>
<
div
>
<
/div
>
{
row
.
isLotteryDone
?
(
<
div
class
=
"flex items-center justify-end px-6 py-4 border-t border-gray-200"
>
row
.
isWin
?
(
<
div
class
=
"pagination-wrapper bg-white rounded-lg shadow-sm border border-gray-100 p-2"
>
<
span
class
=
"text-green-500"
>
是
<
/span
>
<
el
-
pagination
)
:
(
v
-
model
:
current
-
page
=
{
searchParams2
.
value
.
current
}
<
span
class
=
"text-red-500"
>
否
<
/span
>
v
-
model
:
page
-
size
=
{
searchParams2
.
value
.
size
}
)
onSizeChange
=
{
changePageSize2
}
)
:
(
onCurrentChange
=
{
goToPage2
}
'暂未开奖'
page
-
sizes
=
{[
10
,
20
,
30
,
40
]}
)}
layout
=
"prev, pager, next, jumper, total"
<
/div
>
total
=
{
total2
.
value
}
)}
class
=
"custom-pagination"
<
/el-table-column
>
/>
<
/el-table
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"flex items-center justify-end px-6 py-4 border-t border-gray-200"
>
<
div
class
=
"pagination-wrapper bg-white rounded-lg shadow-sm border border-gray-100 p-2"
>
<
el
-
pagination
v
-
model
:
current
-
page
=
{
searchParams2
.
value
.
current
}
v
-
model
:
page
-
size
=
{
searchParams2
.
value
.
size
}
onSizeChange
=
{
changePageSize2
}
onCurrentChange
=
{
goToPage2
}
page
-
sizes
=
{[
10
,
20
,
30
,
40
]}
layout
=
"prev, pager, next, jumper, total"
total
=
{
total2
.
value
}
class
=
"custom-pagination"
/>
<
/div
>
<
/div
>
<
/
>
)}
<
/
>
<
/
>
)}
),
<
/
>
refresh
:
()
=>
refresh2
(),
),
},
refresh
:
()
=>
refresh2
(),
{
},
label
:
'大转盘'
,
]
value
:
ActivityTypeEnum
.
WHEEL
,
component
:
()
=>
(
if
(
!
isWareHouse
)
{
activityTypeListOptions
.
push
({
label
:
'大转盘'
,
value
:
ActivityTypeEnum
.
WHEEL
,
component
:
()
=>
(
<>
{
!
list3
.
value
.
length
?
(
<
EmptyComp
/>
)
:
(
<>
<>
<
div
class
=
"space-y-4"
>
{
!
list3
.
value
.
length
?
(
<
el
-
table
height
=
"500"
data
=
{
list3
.
value
}
stripe
border
loading
=
{
loading3
.
value
}
>
<
EmptyComp
/>
<
el
-
table
-
column
prop
=
"prizeName"
label
=
"名称"
>
)
:
(
{({
row
}:
{
row
:
UserWheelRecordItemDto
})
=>
(
<>
<
div
>
{
row
.
prizeName
??
`谢谢参与(
${
row
.
blessingText
}
)`
}
<
/div
>
<
div
class
=
"space-y-4"
>
)}
<
el
-
table
height
=
"500"
data
=
{
list3
.
value
}
stripe
border
loading
=
{
loading3
.
value
}
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"prizeName"
label
=
"名称"
>
<
el
-
table
-
column
prop
=
"createdAtStr"
label
=
"参与时间"
/>
{({
row
}:
{
row
:
UserWheelRecordItemDto
})
=>
(
<
el
-
table
-
column
prop
=
"isLotteryDone"
label
=
"是否中奖"
>
<
div
>
{
row
.
prizeName
??
`谢谢参与(
${
row
.
blessingText
}
)`
}
<
/div
>
{({
row
}:
{
row
:
UserWheelRecordItemDto
})
=>
(
<
div
>
{
row
.
isWin
?
(
<
span
class
=
"text-green-500"
>
是
<
/span
>
)
:
(
<
span
class
=
"text-red-500"
>
否
<
/span
>
)}
)}
<
/div
>
<
/el-table-column
>
)}
<
el
-
table
-
column
prop
=
"createdAtStr"
label
=
"参与时间"
/>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"isLotteryDone"
label
=
"是否中奖"
>
<
/el-table
>
{({
row
}:
{
row
:
UserWheelRecordItemDto
})
=>
(
<
/div
>
<
div
>
<
div
class
=
"flex items-center justify-end px-6 py-4 border-t border-gray-200"
>
{
row
.
isWin
?
(
<
div
class
=
"pagination-wrapper bg-white rounded-lg shadow-sm border border-gray-100 p-2"
>
<
span
class
=
"text-green-500"
>
是
<
/span
>
<
el
-
pagination
)
:
(
v
-
model
:
current
-
page
=
{
searchParams3
.
value
.
current
}
<
span
class
=
"text-red-500"
>
否
<
/span
>
v
-
model
:
page
-
size
=
{
searchParams3
.
value
.
size
}
)}
onSizeChange
=
{
changePageSize3
}
<
/div
>
onCurrentChange
=
{
goToPage3
}
)}
page
-
sizes
=
{[
10
,
20
,
30
,
40
]}
<
/el-table-column
>
layout
=
"prev, pager, next, jumper, total"
<
/el-table
>
total
=
{
total3
.
value
}
<
/div
>
class
=
"custom-pagination"
<
div
class
=
"flex items-center justify-end px-6 py-4 border-t border-gray-200"
>
/>
<
div
class
=
"pagination-wrapper bg-white rounded-lg shadow-sm border border-gray-100 p-2"
>
<
/div
>
<
el
-
pagination
<
/div
>
v
-
model
:
current
-
page
=
{
searchParams3
.
value
.
current
}
v
-
model
:
page
-
size
=
{
searchParams3
.
value
.
size
}
onSizeChange
=
{
changePageSize3
}
onCurrentChange
=
{
goToPage3
}
page
-
sizes
=
{[
10
,
20
,
30
,
40
]}
layout
=
"prev, pager, next, jumper, total"
total
=
{
total3
.
value
}
class
=
"custom-pagination"
/>
<
/div
>
<
/div
>
<
/
>
)}
<
/
>
<
/
>
)
}
)
,
<
/
>
refresh
:
()
=>
refresh3
(),
)
,
}
,
refresh
:
()
=>
refresh3
()
,
]
,
}
)
)
}
}
const
tab
=
ref
(
activityTypeListOptions
[
0
]
!
.
value
)
const
tab
=
ref
(
activityTypeListOptions
[
0
]
?.
value
||
ActivityTypeEnum
.
AUCTION
)
const
toggleTab
=
()
=>
{
const
toggleTab
=
()
=>
{
refresh
()
refresh
()
...
...
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