Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mr-julyedu
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
baiguangyao
mr-julyedu
Commits
b3a70193
Commit
b3a70193
authored
Oct 18, 2019
by
xuzhenghua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
定金
parent
467789ad
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1202 additions
and
17 deletions
+1202
-17
src/components/detail/btnstatus/index.js
+1
-1
src/components/expand/share.js
+544
-16
src/components/expand/share.scss
+657
-0
No files found.
src/components/detail/btnstatus/index.js
View file @
b3a70193
...
@@ -251,7 +251,7 @@ class BtnStatus extends Component {
...
@@ -251,7 +251,7 @@ class BtnStatus extends Component {
if
(
!
uid
)
{
if
(
!
uid
)
{
this
.
props
.
history
.
push
(
'/passport/login'
)
this
.
props
.
history
.
push
(
'/passport/login'
)
}
else
{
}
else
{
if
(
type
==
2
){
if
(
type
==
1
){
this
.
props
.
history
.
push
(
this
.
props
.
history
.
push
(
'/course/smallOrder'
,
'/course/smallOrder'
,
{
{
...
...
src/components/expand/share.js
View file @
b3a70193
import
React
,
{
Component
}
from
'react'
import
React
,
{
Component
}
from
'react'
import
'./
callback
.scss'
import
'./
share
.scss'
import
{
http
,
getParam
}
from
'@/utils'
import
{
http
,
getParam
,
browser
}
from
'@/utils'
import
{
Toast
}
from
'antd-mobile'
import
{
Toast
}
from
'antd-mobile'
import
{
connect
}
from
"react-redux"
;
import
{
connect
}
from
"react-redux"
;
import
{
Link
}
from
"react-router-dom"
;
class
ExpandShare
extends
Component
{
class
ExpandShare
extends
Component
{
state
=
{
state
=
{
isShow
:
false
,
//活动规则
step
:
0
,
// 区分弹窗
data
:
''
,
//膨胀券相关
courseList
:
[],
// 预售课程列表
isshowMore
:
true
,
// 是否显示查看更多
pageCount
:
1
,
// 页码
helpData
:
''
,
// 帮助好友助力数据
list
:
[
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
],
}
}
componentDidMount
()
{
componentDidMount
()
{
this
.
getIndexData
()
this
.
getListorData
()
this
.
getCourseList
(
1
,
6
)
}
}
// 获取膨胀券相关
// 获取膨胀券相关
get
Index
Data
=
()
=>
{
get
Listor
Data
=
()
=>
{
http
.
post
(
`
${
API
[
'base-api'
]}
/m/deposit/coupon`
,
{
order_id
:
getParam
(
'order_id'
)}
).
then
((
res
)
=>
{
http
.
get
(
`
${
API
[
'base-api'
]}
/sys/help_list/
${
getParam
(
'deposit_code'
)}
`
).
then
((
res
)
=>
{
if
(
res
.
data
.
errno
==
200
)
{
const
{
data
,
errno
,
msg
}
=
res
.
data
const
{
data
}
=
res
.
data
if
(
errno
==
200
)
{
this
.
setState
({
this
.
setState
({
data
:
data
,
data
:
data
})
})
}
else
{
}
else
{
Toast
.
info
(
res
.
data
.
msg
,
2
)
Toast
.
info
(
msg
,
2
)
}
}
})
})
}
}
// 邀请好友助力
// 获取课程列表
invitation
=
(
url
)
=>
{
getCourseList
=
(
page
,
num
)
=>
{
alert
(
url
)
const
_this
=
this
http
.
get
(
`
${
API
[
'base-api'
]}
/anniversary2019/pre_course/
${
page
}
/
${
num
}
`
).
then
((
res
)
=>
{
const
{
data
,
errno
,
msg
}
=
res
.
data
if
(
errno
==
200
)
{
if
(
data
.
length
===
0
)
{
_this
.
setState
({
isshowMore
:
false
})
}
else
{
let
arr
=
[]
data
.
forEach
(
function
(
item
,
index
)
{
arr
.
push
(
item
)
_this
.
setState
({
courseList
:
arr
,
isshowMore
:
true
})
})
}
}
else
{
Toast
.
info
(
msg
,
2
)
}
})
}
// 获取更多课程
getMoreCourseList
=
()
=>
{
const
_this
=
this
alert
(
2
)
_this
.
setState
({
pageCount
:
_this
.
state
.
pageCount
+
1
})
_this
.
getCourseList
(
_this
.
state
.
pageCount
,
6
)
}
// 立即付定金
expandPaydj
=
(
courseId
)
=>
{
const
{
user
,
history
}
=
this
.
props
;
const
{
user
,
history
}
=
this
.
props
;
const
uid
=
user
&&
user
.
data
&&
user
.
data
.
uid
;
const
uid
=
user
&&
user
.
data
&&
user
.
data
.
uid
;
if
(
!
uid
)
{
if
(
!
uid
)
{
this
.
props
.
history
.
push
(
'/passport/login'
)
this
.
props
.
history
.
push
(
'/passport/login'
)
}
else
{
}
else
{
window
.
location
.
href
=
url
this
.
props
.
history
.
push
(
'/course/smallOrder'
,
{
id
:
courseId
,
isexpand
:
1
,
sourcenum
:
1
}
)
}
}
}
}
// 立即付尾款
expandPaywk
=
(
courseId
,
time
)
=>
{
const
{
user
,
history
}
=
this
.
props
;
const
uid
=
user
&&
user
.
data
&&
user
.
data
.
uid
;
if
(
!
uid
)
{
this
.
props
.
history
.
push
(
'/passport/login'
)
}
else
{
let
timeStamp
=
Date
.
parse
(
new
Date
())
/
1000
;
if
(
timeStamp
>=
time
)
{
this
.
props
.
history
.
push
(
'/expandorder'
,
{
id
:
courseId
,
sourcenum
:
1
}
)
}
else
{
Toast
.
info
(
"付尾款时间将在"
+
info
.
final_start_time
+
"开启"
,
2
);
}
}
}
// 去学习
tostudy
=
(
courseId
)
=>
{
this
.
props
.
history
.
push
(
`/getDetail?id=
${
courseId
}
`
)
}
// 显示活动规则
showRule
=
()
=>
{
this
.
setState
({
isShow
:
true
,
step
:
1
})
}
// 邀请好友
share
=
()
=>
{
const
{
user
,
history
}
=
this
.
props
;
const
uid
=
user
&&
user
.
data
&&
user
.
data
.
uid
;
if
(
!
uid
)
{
this
.
props
.
history
.
push
(
'/passport/login'
)
}
else
{
this
.
setState
({
isShow
:
true
,
step
:
0
})
}
}
// 帮好友助力
helpFriend
=
(
id
)
=>
{
const
{
user
,
history
}
=
this
.
props
;
const
uid
=
user
&&
user
.
data
&&
user
.
data
.
uid
;
if
(
!
uid
)
{
this
.
props
.
history
.
push
(
'/passport/login'
)
}
else
{
http
.
post
(
`
${
API
[
'base-api'
]}
/sys/help/
${
id
}
`
).
then
((
res
)
=>
{
const
{
data
,
errno
,
msg
}
=
res
.
data
if
(
errno
==
200
)
{
this
.
setState
({
isShow
:
true
,
step
:
2
,
helpData
:
data
})
}
else
if
(
errno
===
17018
||
errno
===
17020
)
{
this
.
setState
({
isShow
:
true
,
step
:
4
})
}
else
{
Toast
.
info
(
msg
,
2
)
}
})
}
}
// 结束助力
isendExpand
=
()
=>
{
const
{
user
,
history
}
=
this
.
props
;
const
uid
=
user
&&
user
.
data
&&
user
.
data
.
uid
;
if
(
!
uid
)
{
this
.
props
.
history
.
push
(
'/passport/login'
)
}
else
{
this
.
setState
({
isShow
:
true
,
step
:
3
})
}
}
// 关闭弹窗
close
=
()
=>
{
this
.
setState
({
isShow
:
false
})
}
render
()
{
render
()
{
let
data
=
this
.
state
.
data
const
{
isShow
,
step
,
data
,
list
,
courseList
,
isshowMore
}
=
this
.
state
return
(
return
(
<
div
className
=
"callback-box"
>
<
div
className
=
"expand-box"
>
qqqqq
<
div
className
=
"banner"
>
<
img
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_717/m/zl-banner.png"
alt
=
""
/>
<
span
onClick
=
{()
=>
this
.
showRule
()}
/
>
<
/div
>
<
div
className
=
"all-contnet"
>
<
div
className
=
"content"
>
{
/*进度||膨胀券*/
}
{
<
ExpansionStatus
data
=
{
data
}
list
=
{
list
}
/
>
}
{
/*button*/
}
{
<
ButtonStatus
data
=
{
data
}
share
=
{
this
.
share
}
helpFriend
=
{
this
.
helpFriend
}
isendExpand
=
{
this
.
isendExpand
}
/
>
}
<
/div
>
{
/*好友助力列表*/
}
{
(
data
.
oneself
===
1
||
data
.
help_list
&&
data
.
help_list
.
length
!==
0
)
&&
<
FriendList
data
=
{
data
}
/
>
}
{
/*预售课程列表*/
}
{
<
CourseList
data
=
{
courseList
}
isshowMore
=
{
isshowMore
}
getMoreCourseList
=
{
this
.
getMoreCourseList
}
expandPaydj
=
{
this
.
expandPaydj
}
expandPaywk
=
{
this
.
expandPaywk
}
tostudy
=
{
this
.
tostudy
}
/
>
}
<
/div
>
{
isShow
&&
<
div
className
=
'mbc-box'
>
{
step
===
0
&&
<
ShareBox
close
=
{
this
.
close
}
share
=
{
this
.
share
}
data
=
{
data
}
/
>
}
{
step
===
1
&&
<
ActiveRule
/>
}
{
step
===
2
&&
<
AssistanceSuccess
share
=
{
this
.
share
}
helpData
=
{
helpData
}
/
>
}
{
step
===
3
&&
<
AssistanceErron
close
=
{
this
.
close
}
/
>
}
{
step
===
4
&&
<
AssistanceErron
close
=
{
this
.
close
}
/
>
}
{
(
step
===
1
||
step
===
2
)
&&
<
img
className
=
"close"
onClick
=
{()
=>
this
.
close
()}
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/Public/img/guanbi_icon.png"
alt
=
""
/>
}
<
/div
>
}
<
/div
>
<
/div
>
)
)
}
}
}
}
// 活动规则
function
ActiveRule
()
{
return
(
<
div
className
=
'content active-rule'
>
<
div
className
=
"title"
>
活动规则
<
/div
>
<
p
>
1
、本活动期间,可以助力
1
位好友不同课程发起的膨胀,但是只能为同一好友;
<
/p
>
<
p
>
2
、好友发起膨胀后,可以随时终止膨胀;
<
/p
>
<
p
>
3
、膨胀券膨胀完成后,以优惠券形式发放到参与活动的账号(包括所有助力好友),该膨胀券为全场通用券,可在购买任一课程后进行抵扣(包括已付定金课程);
<
/p
>
<
p
>
4
、如有疑问,可联系七月在线客服微信:
julyedukefu
;
<
/p
>
<
p
>*
本活动最终解释权归七月在线所有
<
/p
>
<
/div
>
)
}
// 邀请好友 分享弹窗
function
ShareBox
(
props
)
{
const
{
close
,
data
}
=
props
return
(
<
div
className
=
'content'
>
<
div
onClick
=
{()
=>
close
()}
className
=
"fiexd"
><
/div
>
<
div
className
=
"share-box"
>
{
browser
.
isWeixin
&&
<
img
src
=
"//julyedu-cdn.oss-cn-beijing.aliyuncs.com/share/throw_icon.png"
alt
=
""
/>
}
<
p
>
邀请好友助力
<
/p
>
<
p
>
膨胀券翻倍膨胀,
{
data
.
start_amount
}
元变
{
data
.
limit_amount
}
元!
<
/p
>
<
span
>
送助力好友
{
data
.
limit_amount
}
元
<
/span
>
<
/div
>
<
/div
>
)
}
//助力成功弹窗
function
AssistanceSuccess
(
props
)
{
const
{
helpData
,
share
}
=
props
return
(
<
div
className
=
'content assistance-success'
>
<
div
className
=
"title"
>
助力成功
<
/div
>
<
p
className
=
"add-price"
>
<
img
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_717/m/add-money.png"
alt
=
""
/>
+
{
helpData
.
help_amount
}
<
/p
>
<
p
className
=
"all-price"
>
<
span
>
{
helpData
.
sale_amount
}
<
/span>
元
<
/p
>
<
p
className
=
"assistance-tip"
>
感谢你的助力,你们离
{
data
.
limit_amount
}
元又更近了哦!
<
br
/>
可以邀请其他小伙伴一起助力~
<
/p
>
<
button
onClick
=
{()
=>
share
()}
>
邀请更多好友拿
{
data
.
limit_amount
}
元
<
/button
>
<
/div
>
)
}
// 助力失败弹窗
function
AssistanceErron
(
props
)
{
const
{
close
}
=
props
return
(
<
div
className
=
"content assistance-erron"
>
<
div
className
=
"title"
>
温馨提示
<
/div
>
<
p
>
很遗憾~
<
/p
>
<
p
>
你已经帮别的好友助过力了,
<
/p
>
<
p
>
不能再帮这位好友助力!
<
/p
>
<
button
onClick
=
{()
=>
close
()}
>
知道了
<
/button
>
<
/div
>
)
}
// 判断是否结束膨胀
function
ExpansionStatus
(
props
)
{
const
{
data
,
list
}
=
props
//is_end: 0 判断活动是否结束 0否1是
// is_end_expansion: 0,是否是自己结束膨胀 0否1是
if
(
data
.
is_end
===
0
&&
data
.
is_end_expansion
===
0
)
{
return
(
<
ProgressData
data
=
{
data
}
/
>
)
}
else
{
return
(
<
EndExpansion
data
=
{
data
}
list
=
{
list
}
/
>
)
}
}
// 没有结束膨胀的情况
function
ProgressData
(
props
)
{
const
data
=
props
.
data
return
(
<
div
>
<
div
className
=
"user-mess"
>
<
img
src
=
{
data
.
avatar_file
}
alt
=
"user"
/>
帮我助力,送你
{
data
.
limit_amount
}
元
<
/div
>
<
div
className
=
"progress-box"
>
<
div
className
=
"progress-base"
>
<
span
className
=
"progress-active"
style
=
{{
width
:
(
data
.
amount
-
data
.
start_amount
)
/
data
.
limit_amount
*
100
+
'%'
}}
>
<
span
className
=
"ending"
>
<
span
className
=
"tip"
>
{
data
.
amount
}
元
<
i
/><
/span
>
<
/span
>
<
/span
>
<
/div
>
<
div
className
=
"progress-price"
>
<
span
>
{
data
.
start_amount
}
元
<
/span
>
<
span
>
{
data
.
limit_amount
}
元
<
/span
>
<
/div
>
<
/div
>
{
data
.
help_list
.
length
===
0
&&
<
div
className
=
"help-mess no"
>
还没有好友为
{
data
.
oneself
===
1
?
'你'
:
'Ta'
}
助力哦~
<
/div
>
}
{
data
.
help_list
.
length
>
0
&&
<
div
className
=
"help-mess has"
>
已有
<
span
className
=
"FF19A0"
>
{
data
.
help_list
.
length
}
<
/span>位好友助力</
div
>
}
<
/div
>
)
}
// 结束膨胀的情况
function
EndExpansion
(
props
)
{
const
data
=
props
.
data
const
list
=
props
.
list
return
(
<
div
className
=
'coupon-box'
>
<
div
className
=
"coupon"
>
<
p
className
=
"coupon-name"
>
红包膨胀优惠券
<
/p
>
<
p
className
=
"coupon-price"
><
span
>
{
data
.
amount
}
<
/span>元</
p
>
<
p
className
=
"coupon-time"
>
有效期至:
{
data
.
expire_time
}
<
/p
>
<
/div
>
<
div
className
=
"tip"
>
<
ul
>
{
list
.
map
((
item
,
index
)
=>
{
return
(
<
li
key
=
{
index
}
/
>
)
})
}
<
/ul
>
全场通用
<
/div
>
<
p
className
=
"over-mess"
>
该礼券已成功发放至账户
<
/p
>
<
p
className
=
"over-mess"
>
可在七月在线
pc
/
app
-
我的
-
优惠券查看
<
/p
>
<
/div
>
)
}
// 按钮
function
ButtonStatus
(
props
)
{
const
{
data
,
share
,
helpFriend
,
isendExpand
}
=
props
// data.oneself 判断是否是自己 0帮好友助力 1自己
// data.is_help 是否已经帮好友助力 0 未助力 1已助力
// data.s_end: 0 判断活动是否结束 0否1是
// data.is_end_expansion: 0,是否是自己结束膨胀 0否1是
return
(
<
div
>
{
data
.
is_end
===
0
&&
<
div
className
=
'btns'
>
{
data
.
oneself
===
1
&&
data
.
is_end_expansion
===
0
&&
<
button
className
=
"active"
onClick
=
{()
=>
share
()}
>
邀请好友助力
<
/button
>
}
{
data
.
oneself
===
1
&&
data
.
is_end_expansion
===
1
&&
data
.
start_amount
!==
data
.
limit_amount
&&
<
button
className
=
"over"
>
您已结束膨胀
<
/button
>
}
{
data
.
oneself
===
1
&&
data
.
is_end_expansion
===
1
&&
data
.
start_amount
===
data
.
limit_amount
&&
<
button
className
=
"over"
>
达到膨胀上限,快去使用吧
<
/button
>
}
{
data
.
oneself
===
0
&&
data
.
is_help
===
0
&&
data
.
is_end_expansio
===
0
&&
<
button
className
=
"active"
onClick
=
{()
=>
helpFriend
(
data
.
id
)}
>
帮
ta
助力
<
/button
>
}
{
data
.
oneself
===
0
&&
data
.
is_help
===
1
&&
data
.
is_end_expansio
===
0
&&
<
button
className
=
"active"
onClick
=
{()
=>
share
()}
>
邀请更多好友拿
{
data
.
limit_amount
}
元
<
/button
>
}
{
data
.
oneself
===
0
&&
data
.
is_end_expansio
===
1
&&
data
.
start_amount
===
data
.
limit_amount
&&
<
button
className
=
"over"
>
达到膨胀上限,快去使用吧
<
/button
>
}
{
data
.
oneself
===
0
&&
data
.
is_end_expansio
===
1
&&
data
.
start_amount
!==
data
.
limit_amount
&&
<
button
className
=
"over"
>
你的好友已结束助力
<
/button
>
}
<
/div
>
}
{
data
.
is_end
===
1
&&
<
div
className
=
"btns"
>
<
button
className
=
"over"
>
活动已结束
<
/button
>
<
/div
>
}
{
data
.
is_end
===
0
&&
data
.
is_end_expansion
===
0
&&
data
.
oneself
===
1
&&
<
div
className
=
"overBtn"
>
<
p
onClick
=
{()
=>
isendExpand
()}
>
结束助力使用礼券
<
/p
>
<
/div
>
}
<
/div
>
)
}
// 好友助力列表
function
FriendList
(
props
)
{
const
data
=
props
.
data
return
(
<
div
className
=
"friend-list"
>
<
p
className
=
"title"
>
<
img
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_717/m/expand-right.png"
alt
=
""
/>
<
span
>
好友助力
<
/span
>
<
img
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_717/m/expand-left.png"
alt
=
""
/>
<
/p
>
{
data
.
help_list
.
length
===
0
&&
<
div
className
=
"null-list"
>
<
p
className
=
"tips first-tips"
>
还没有好友为你助力
,
<
/p
>
<
p
className
=
"tips"
>
赶紧去邀请好友吧!
<
/p
>
<
/div
>
}
{
data
.
help_list
.
length
>
0
&&
<
div
className
=
"all-list"
>
<
p
className
=
"friend-status"
><
span
className
=
"FF19A0"
>
{
data
.
help_list
.
length
}
<
/span>位好友共助力<spa
n
className
=
"FF19A0"
>
{
data
.
amount
-
data
.
start_amount
}
<
/span>元</
p
>
<
ul
className
=
"all-list-box"
>
{
data
.
help_list
.
map
((
item
,
index
)
=>
{
return
(
<
li
className
=
"item"
key
=
{
index
}
>
<
img
className
=
"avait"
src
=
{
item
.
avatar
}
alt
=
""
/>
<
span
className
=
"time"
>
助力时间:
{
item
.
add_time
}
<
/span
>
<
span
className
=
"zlprice FF19A0"
>
{
item
.
amount
}
元
<
/span
>
<
/li
>
)
})
}
<
/ul
>
<
/div
>
}
<
/div
>
)
}
//预售课程
function
CourseList
(
props
)
{
const
{
data
,
isshowMore
,
getMoreCourseList
,
expandPaydj
,
expandPaywk
,
tostudy
}
=
props
return
(
<
div
className
=
"advance-sale-course"
>
<
p
className
=
"title"
>
<
img
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_717/m/expand-right.png"
alt
=
""
/>
<
span
>
预售课程
<
/span
>
<
img
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_717/m/expand-left.png"
alt
=
""
/>
<
/p
>
<
div
className
=
"course-list"
>
<
ul
>
{
data
.
map
((
item
,
index
)
=>
{
return
(
<
li
className
=
"course-item"
key
=
{
index
}
>
<
a
href
=
{
`/getDetail?id=
${
item
.
course_id
}
`
}
>
<
img
className
=
"course-img"
src
=
{
item
.
image_name
}
alt
=
""
/>
<
/a
>
<
p
className
=
"old-price"
>
原价
:
<
span
>
¥
{
item
.
price
}
<
/span></
p
>
<
p
className
=
"handsel"
>
定金¥
{
item
.
deposit_amount
}
,可抵扣¥
{
item
.
deduction_amount
}
<
/p
>
<
div
className
=
"btn"
>
{
item
.
is_buy
===
0
&&
<
a
className
=
"to-expand-buy1"
onClick
=
{()
=>
expandPaydj
(
item
.
course_id
)}
>
立即付定金
<
/a
>
}
{
item
.
is_buy
===
1
&&
<
a
className
=
"to-expand-buy2"
onClick
=
{()
=>
expandPaywk
(
item
.
course_id
,
item
.
update_time
)}
>
立即付尾款
<
/a
>
}
{
item
.
is_buy
===
2
&&
<
button
className
=
"to-study"
onClick
=
{()
=>
tostudy
(
item
.
course_id
)}
>
开始学习
<
/button
>
}
<
/div
>
<
/li
>
)
})
}
<
/ul
>
<
/div
>
{
isshowMore
&&
<
div
className
=
"more"
>
<
div
onClick
=
{()
=>
getMoreCourseList
()}
>
查看更多
<
img
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_717/m/expand-btm.png"
alt
=
""
/>
<
/div
>
<
/div
>
}
<
/div
>
)
}
export
default
connect
(
export
default
connect
(
state
=>
({
state
=>
({
user
:
state
.
user
user
:
state
.
user
...
...
src/components/expand/share.scss
View file @
b3a70193
.expand-box
{
width
:
100%
;
height
:
100%
;
position
:
relative
;
.banner
{
width
:
100%
;
height
:
323px
;
position
:
relative
;
z-index
:
1
;
span
{
position
:
absolute
;
top
:
48px
;
right
:
22px
;
width
:
30px
;
height
:
83px
;
}
}
.all-contnet
{
position
:
absolute
;
top
:
180px
;
width
:
100%
;
background-color
:
#f5f5f5
;
.content
{
position
:
relative
;
z-index
:
2
;
background-color
:
#fff
;
width
:
355px
;
box-shadow
:
0
3px
6px
0
rgba
(
0
,
0
,
0
,
.06
);
padding
:
17px
19px
;
border-radius
:
8px
8px
4px
4px
;
margin-left
:
10px
;
.user-mess
{
text-align
:
left
;
color
:
#111
;
font-size
:
14px
;
img
{
width
:
24px
;
height
:
24px
;
border-radius
:
50%
;
vertical-align
:
middle
;
margin-right
:
9px
;
}
}
.progress-box
{
margin-top
:
50px
;
.progress-base
{
width
:
318px
;
height
:
8px
;
line-height
:
8px
;
background-color
:
#DCDCDC
;
border-radius
:
4px
;
text-align
:
left
;
.progress-active
{
display
:
inline-block
;
height
:
100%
;
border-radius
:
4px
;
background-color
:
#FF19A0
;
padding-left
:
10px
;
position
:
relative
;
.ending
{
display
:
inline-block
;
width
:
14px
;
height
:
14px
;
border-radius
:
50%
;
background-color
:
#fff
;
position
:
absolute
;
right
:
0
;
top
:
-3px
;
border
:
3px
solid
#FF19A0
;
.tip
{
display
:
inline-block
;
width
:
55px
;
height
:
20px
;
line-height
:
21px
;
background-color
:
#FF19A0
;
border-radius
:
3px
;
position
:
absolute
;
top
:
-30px
;
left
:
-23px
;
text-align
:
center
;
color
:
#fff
;
i
{
display
:
inline-block
;
width
:
6px
;
height
:
6px
;
background-color
:
#FF19A0
;
transform
:
rotate
(
45deg
);
position
:
absolute
;
bottom
:
-3px
;
left
:
50%
;
margin-left
:
-3px
;
}
}
}
}
}
.progress-price
{
width
:
100%
;
display
:
flex
;
justify-content
:
space-between
;
color
:
#FF19A0
;
font-size
:
14px
;
margin-top
:
3px
;
}
}
.help-mess
{
font-size
:
15px
;
margin-top
:
10px
;
text-align
:
center
;
}
.no
{
color
:
#666
;
}
.has
{
color
:
#000011
;
}
.coupon-box
{
.coupon
{
background-color
:
#8361FE
;
width
:
316px
;
height
:
85px
;
border-radius
:
3px
3px
0
0
;
padding
:
10px
12px
;
color
:
#fff
;
p
{
width
:
100%
;
text-align
:
center
;
font-size
:
12px
;
}
.coupon-name
{
text-align
:
left
;
font-size
:
14px
;
height
:
16px
;
line-height
:
16px
;
}
.coupon-price
{
height
:
28px
;
line-height
:
28px
;
span
{
font-size
:
26px
;
}
}
}
.tip
{
width
:
316px
;
height
:
33px
;
padding-left
:
12px
;
text-align
:
left
;
font-size
:
12px
;
color
:
#666
;
line-height
:
33px
;
background-color
:
#fff
;
box-shadow
:
0
6px
12px
0
rgba
(
131
,
97
,
254
,
0
.1
);
border-radius
:
0
0
3px
3px
;
position
:
relative
;
margin-bottom
:
16px
;
ul
{
position
:
absolute
;
top
:
-5px
;
left
:
0
;
width
:
100%
;
display
:
flex
;
justify-content
:
space-around
;
li
{
width
:
10px
;
height
:
10px
;
border-radius
:
50%
;
background-color
:
#fff
;
}
}
}
.over-mess
{
text-align
:
center
;
font-size
:
12px
;
color
:
#333
;
}
}
.btns
{
button
{
width
:
318px
;
height
:
44px
;
border-radius
:
22px
;
box-shadow
:
0
6px
12px
0
rgba
(
131
,
97
,
254
,
0
.1
);
color
:
#fff
;
font-size
:
16px
;
border
:
none
;
}
.active
{
margin-top
:
25px
;
background-color
:
#8361FE
;
}
.over
{
margin-top
:
15px
;
background-color
:
#CCCCCC
;
}
}
.overBtn
{
width
:
100%
;
margin-top
:
15px
;
font-size
:
14px
;
color
:
#666
;
text-decoration
:
underline
;
}
}
.friend-list
{
width
:
100%
;
margin-top
:
12px
;
padding
:
17px
28px
24px
28px
;
background-color
:
#fff
;
.title
{
font-size
:
18px
;
color
:
#111
;
font-weight
:
500
;
text-align
:
center
;
margin
:
0
5px
;
img
{
width
:
59px
;
height
:
11px
;
vertical-align
:
middle
;
}
}
.null-list
{
text-align
:
center
;
margin-bottom
:
20px
;
.tips
{
font-size
:
15px
;
color
:
#999
;
margin-top
:
5px
;
}
.first-tips
{
margin-top
:
35px
;
}
}
.all-list
{
margin-top
:
10px
;
.friend-status
{
font-size
:
14px
;
color
:
#333
;
}
.all-list-box
{
margin-top
:
7px
;
width
:
100%
;
.item
{
margin-top
:
15px
;
height
:
24px
;
line-height
:
24px
;
text-align
:
left
;
font-size
:
14px
;
.avait
{
width
:
24px
;
height
:
24px
;
border-radius
:
50%
;
vertical-align
:
middle
;
}
.time
{
margin-left
:
26px
;
}
.zlprice
{
float
:
right
;
}
}
}
}
}
.advance-sale-course
{
width
:
100%
;
margin-top
:
12px
;
background-color
:
#fff
;
padding
:
15px
10px
20px
10px
;
.title
{
text-align
:
center
;
font-size
:
18px
;
color
:
#111
;
font-weight
:
500
;
img
{
width
:
59px
;
height
:
11px
;
vertical-align
:
middle
;
}
}
.course-list
{
margin-top
:
15px
;
ul
{
display
:
flex
;
justify-content
:
space-between
;
flex-direction
:
row
;
flex-wrap
:
wrap
;
.course-item
{
width
:
48
.4%
;
background-color
:
#fff
;
padding-bottom
:
14px
;
box-shadow
:
0
3px
6px
0
rgba
(
0
,
0
,
0
,
.06
);
border-radius
:
2px
;
margin-bottom
:
10px
;
text-align
:
left
;
margin-top
:
0
;
.course-img
{
width
:
100%
;
height
:
124px
;
border-radius
:
2px
;
}
.old-price
{
margin-top
:
8px
;
font-size
:
12px
;
color
:
#999
;
padding-left
:
10px
;
span
{
font-size
:
15px
;
color
:
#FF3131
;
}
}
.handsel
{
margin-top
:
5px
;
font-size
:
12px
;
color
:
#666
;
padding-left
:
10px
;
}
.btn
{
width
:
100%
;
padding
:
0
10px
;
margin-top
:
12px
;
button
{
width
:
100%
;
height
:
27px
;
border-radius
:
2px
;
font-size
:
12px
;
color
:
#fff
;
border
:
none
;
}
.to-expand-buy1
,
.to-expand-buy2
{
display
:
inline-block
;
width
:
100%
;
text-align
:
center
;
height
:
27px
;
line-height
:
27px
;
border-radius
:
2px
;
font-size
:
12px
;
color
:
#fff
;
}
.to-expand-buy1
{
background-color
:
#8361FE
;
}
.to-expand-buy2
{
background-color
:
#FF4000
;
}
.to-study
{
background-color
:
#0099FF
;
}
}
}
}
}
.more
{
font-size
:
14px
;
color
:
#666
;
height
:
56px
;
line-height
:
56px
;
text-align
:
center
;
div
{
width
:
130px
;
margin
:
auto
;
}
img
{
width
:
13px
;
height
:
12px
;
margin-left
:
8px
;
margin-top
:
-3px
;
vertical-align
:
middle
;
}
}
}
}
.mbc-box
{
position
:
fixed
;
top
:
0
;
bottom
:
0
;
left
:
0
;
right
:
0
;
background
:
rgba
(
0
,
0
,
0
,
.6
);
z-index
:
3
;
.content
{
border-radius
:
8px
;
background-color
:
#fff
;
margin
:
0
auto
24px
auto
;
width
:
300px
;
.title
{
text-align
:
center
;
font-size
:
21px
;
color
:
#333
;
font-weight
:
600
;
}
}
.active-rule
{
margin-top
:
122px
;
padding
:
20px
;
p
{
text-align
:
left
;
font-size
:
14px
;
color
:
#666
;
margin-top
:
15px
;
}
}
.fiexd
{
position
:
fixed
;
top
:
0
;
bottom
:
0
;
right
:
0
;
left
:
0
;
}
.share-box
{
padding
:
17px
0
20px
0
;
margin-top
:
100px
;
text-align
:
center
;
position
:
relative
;
img
{
position
:
absolute
;
width
:
60px
;
height
:
44px
;
right
:
0
;
top
:
-48px
;
}
p
{
color
:
#333
;
font-size
:
15px
;
margin-bottom
:
10px
;
height
:
17px
;
line-height
:
17px
;
}
span
{
display
:
inline-block
;
color
:
#999
;
font-size
:
12px
;
margin-top
:
10px
;
height
:
14px
;
line-height
:
14px
;
}
}
.assistance-success
{
margin-top
:
197px
;
text-align
:
center
;
padding
:
20px
0
;
.add-price
{
margin-top
:
10px
;
color
:
#FF3131
;
font-size
:
12px
;
img
{
width
:
8px
;
height
:
12px
;
vertical-align
:
text-top
;
}
}
.all-price
{
margin-top
:
10px
;
color
:
#FF3131
;
font-size
:
12px
;
span
{
font-size
:
30px
;
}
}
.assistance-tip
{
margin-top
:
10px
;
color
:
#999
;
font-size
:
14px
;
}
button
{
width
:
225px
;
height
:
36px
;
background-color
:
#8361FE
;
box-shadow
:
0
6px
12px
0
rgba
(
131
,
97
,
254
,
.1
);
border-radius
:
18px
;
color
:
#fff
;
font-size
:
15px
;
margin-top
:
20px
;
}
}
.assistance-erron
{
margin-top
:
220px
;
text-align
:
center
;
padding
:
20px
0
;
.title
{
margin-bottom
:
15px
;
}
p
{
color
:
#666
;
font-size
:
14px
;
margin-top
:
8px
;
}
button
{
margin-top
:
15px
;
width
:
146px
;
height
:
33px
;
background-color
:
#8361FE
;
border-radius
:
17px
;
color
:
#fff
;
font-size
:
15px
;
}
}
.end-expand
{
padding-top
:
20px
;
height
:
184px
;
margin-top
:
197px
;
text-align
:
center
;
position
:
relative
;
.end-expand-toast
{
color
:
#202426
;
font-size
:
15px
;
font-weight
:
400
;
}
.areYouSure
{
margin-top
:
18px
;
color
:
#666
;
font-size
:
15px
;
}
.end-expand-mess
{
margin-top
:
22px
;
color
:
#999
;
font-size
:
12px
;
}
.buttons
{
position
:
absolute
;
bottom
:
0
;
width
:
100%
;
height
:
40px
;
border-top
:
1px
solid
#DDD
;
button
{
width
:
148px
;
height
:
100%
;
font-size
:
15px
;
background
:
#fff
;
border
:
none
;
}
:nth-child
(
1
)
{
border-right
:
1px
solid
#DDD
;
color
:
#333
;
border-radius
:
0
0
0
8px
;
}
:nth-child
(
2
)
{
color
:
#0099FF
;
border-radius
:
0
0
8px
0
;
}
}
}
.close
{
width
:
30px
;
height
:
30px
;
position
:
absolute
;
left
:
50%
;
margin-left
:
-15px
;
}
}
}
\ No newline at end of file
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