Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
Y
year-end-activitiy
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.foundation.frontend
year-end-activitiy
提交
9a9e14d1
提交
9a9e14d1
编写于
12月 02, 2019
作者:
chengxiang.li
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
年终活动二期主页代码开发更新
上级
ce74cfd9
变更
8
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
216 行增加
和
61 行删除
+216
-61
award-02-pic.png
assets/img/stageTwo/award-02-pic.png
+0
-0
award-03-pic.png
assets/img/stageTwo/award-03-pic.png
+0
-0
award-04-pic.png
assets/img/stageTwo/award-04-pic.png
+0
-0
default-login-icon.png
assets/img/stageTwo/default-login-icon.png
+0
-0
stage-02-text.png
assets/img/stageTwo/stage-02-text.png
+0
-0
stage-03-text.png
assets/img/stageTwo/stage-03-text.png
+0
-0
stage-04-text.png
assets/img/stageTwo/stage-04-text.png
+0
-0
in-activity.vue
pages/in-activity.vue
+216
-61
未找到文件。
assets/img/stageTwo/award-02-pic.png
0 → 100644
浏览文件 @
9a9e14d1
15.1 KB
assets/img/stageTwo/award-03-pic.png
0 → 100644
浏览文件 @
9a9e14d1
14.9 KB
assets/img/stageTwo/award-04-pic.png
0 → 100644
浏览文件 @
9a9e14d1
15.6 KB
assets/img/stageTwo/
no
t-login-icon.png
→
assets/img/stageTwo/
defaul
t-login-icon.png
浏览文件 @
9a9e14d1
文件已移动
assets/img/stageTwo/stage-02-text.png
0 → 100644
浏览文件 @
9a9e14d1
4.5 KB
assets/img/stageTwo/stage-03-text.png
0 → 100644
浏览文件 @
9a9e14d1
4.5 KB
assets/img/stageTwo/stage-04-text.png
0 → 100644
浏览文件 @
9a9e14d1
4.6 KB
pages/in-activity.vue
浏览文件 @
9a9e14d1
...
...
@@ -19,7 +19,7 @@
<p
class=
"date"
>
12月27至30日
</p>
</li>
-->
<li
v-for=
"
item in stageDateList"
:class=
"
"
>
<li
v-for=
"
(item, index) in stageDateList"
:class=
"returnStageClass(item, index)
"
>
<p
class=
"title"
>
{{
item
.
title
}}
</p>
<p
class=
"date"
>
{{
item
.
date
}}
</p>
</li>
...
...
@@ -28,16 +28,16 @@
<div
class=
"big-bg-wrap"
>
<div
class=
"award-wrap"
>
<div
class=
"stage-rule"
>
<img
class=
"stage-text"
src=
"../assets/img/stageTwo/stage-01-text.png
"
alt=
""
>
<img
class=
"stage-text"
:src=
"returnStageText()
"
alt=
""
>
<img
class=
"rule-btn"
src=
"../assets/img/stageTwo/rule-btn.png"
alt=
""
@
click=
"handleRuleBtnClick"
>
</div>
<img
class=
"reward-pic"
src=
"../assets/img/stageTwo/award-01-pic.png
"
alt=
""
>
<img
class=
"reward-pic"
:src=
"returnAwardPic()
"
alt=
""
>
</div>
<!-- 未登录 -->
<div
v-if=
"!isLogin"
class=
"not-login-wrap"
>
<img
class=
"gold-coin"
src=
"../assets/img/stageTwo/gold-coin.png"
alt=
""
>
<img
class=
"head-icon"
src=
"../assets/img/stageTwo/
no
t-login-icon.png"
alt=
""
>
<img
class=
"head-icon"
src=
"../assets/img/stageTwo/
defaul
t-login-icon.png"
alt=
""
>
<div
class=
"content-info"
>
<p
class=
"not-login-text"
>
您还未登录
</p>
<p
class=
"tips"
>
登录并加入机构参加活动
</p>
...
...
@@ -48,9 +48,10 @@
<!-- 已登录,但没有加入机构 -->
<div
v-if=
"isLogin && !isJoin"
class=
"not-login-wrap "
>
<img
class=
"gold-coin"
src=
"../assets/img/stageTwo/gold-coin.png"
alt=
""
>
<img
class=
"head-icon"
src=
"../assets/img/stageTwo/not-login-icon.png"
alt=
""
>
<img
class=
"head-icon"
v-if=
"doctorInfo.avatarImageUrl"
:src=
"doctorInfo.avatarImageUrl"
alt=
""
>
<img
class=
"head-icon"
v-else
src=
"../assets/img/stageTwo/default-login-icon.png"
alt=
""
>
<div
class=
"content-info"
>
<p
class=
"not-login-text"
>
{{
appUserInfo
.
userName
}}
</p>
<p
class=
"not-login-text"
>
{{
doctorInfo
.
name
}}
</p>
<p
class=
"tips"
>
尚未加入一个机构
</p>
</div>
<div
class=
"go-login login-but-nojoin"
@
click=
"goToJoin"
>
加入机构
<img
src=
"../assets/img/stageTwo/right-icon-small.png"
alt=
""
></div>
...
...
@@ -62,11 +63,12 @@
<img
class=
"gold-coin"
src=
"../assets/img/stageTwo/gold-coin.png"
alt=
""
>
<div
class=
"basic-info"
>
<div
class=
"head-icon"
>
<img
src=
"../assets/img/stageTwo/default-doctor-icon.png"
alt=
""
>
<img
v-if=
"doctorInfo.avatarImageUrl"
:src=
"doctorInfo.avatarImageUrl"
alt=
""
>
<img
v-else
src=
"../assets/img/stageTwo/default-login-icon.png"
alt=
""
>
</div>
<div
class=
"name-info"
>
<p
class=
"name"
>
召唤
</p>
<p
class=
"company"
>
上海复旦大学附属中山医院
</p>
<p
class=
"name"
>
{{
doctorInfo
.
name
}}
</p>
<p
class=
"company"
>
{{
doctorInfo
.
hospital
}}
</p>
</div>
<div
@
click=
"goToUserDetail"
class=
"detail"
>
个人明细
<img
src=
"../assets/img/stageTwo/right-icon-small.png"
alt=
""
></div>
</div>
...
...
@@ -112,19 +114,43 @@
<p
class=
"invite-tips"
>
每邀请1位医生好友领取课程,+20勤奋分 +20云鹊豆
</p>
<div
class=
"invite-list-wrap"
>
<ul
class=
"invite-list"
>
<!-- 已邀请的 -->
<li
v-for=
"item in inviteList"
>
<img
@
click=
"eachDoctorClick"
v-if=
"item.avatarImageUrl"
class=
"doctor-icon"
:src=
"item.avatarImageUrl"
alt=
""
>
<img
@
click=
"eachDoctorClick"
v-else
class=
"doctor-icon"
src=
"../assets/img/stageTwo/default-doctor-icon.png"
alt=
""
>
<p
class=
"text"
>
{{
item
.
doctorName
?
item
.
doctorName
:
item
.
mobile
}}
</p>
</li>
<!-- 未邀请的 -->
<template
v-if=
"inviteList && inviteList.length
<
4
"
>
<li
v-for=
"item in notInviteShowList"
>
<template
v-if=
"!isLogin || !isJoin"
>
<li>
<div
class=
"add-btn"
@
click=
"eachDoctorClick"
>
<img
src=
"../assets/img/stageTwo/add-pic-icon.png"
alt=
""
>
</div>
</li>
<li>
<div
class=
"add-btn"
@
click=
"eachDoctorClick"
>
<img
src=
"../assets/img/stageTwo/add-pic-icon.png"
alt=
""
>
</div>
</li>
<li>
<div
class=
"add-btn"
@
click=
"eachDoctorClick"
>
<img
src=
"../assets/img/stageTwo/add-pic-icon.png"
alt=
""
>
</div>
</li>
<li>
<div
class=
"add-btn"
@
click=
"eachDoctorClick"
>
<img
src=
"../assets/img/stageTwo/add-pic-icon.png"
alt=
""
>
</div>
</li>
</
template
>
<
template
v-if=
"isLogin && isJoin"
>
<!-- 已邀请的 -->
<li
v-for=
"item in inviteList"
>
<img
@
click=
"eachDoctorClick"
v-if=
"item.avatarImageUrl"
class=
"doctor-icon"
:src=
"item.avatarImageUrl"
alt=
""
>
<img
@
click=
"eachDoctorClick"
v-else
class=
"doctor-icon"
src=
"../assets/img/stageTwo/default-doctor-icon.png"
alt=
""
>
<p
class=
"text"
>
{{
item
.
doctorName
?
item
.
doctorName
:
item
.
mobile
}}
</p>
</li>
<!-- 未邀请的 -->
<template
v-if=
"inviteList && inviteList.length
<
4
"
>
<li
v-for=
"item in notInviteShowList"
>
<div
class=
"add-btn"
@
click=
"eachDoctorClick"
>
<img
src=
"../assets/img/stageTwo/add-pic-icon.png"
alt=
""
>
</div>
</li>
</
template
>
</template>
<!-- 查看更多 -->
<li>
...
...
@@ -209,20 +235,26 @@
<
script
>
import
{
getInviteList
}
from
'@/service/activityMainpage'
;
import
{
checkHospitalStatus
}
from
'@/service'
;
import
{
Toast
}
from
'vant'
;
const
cookies
=
require
(
'cookie-universal'
)();
let
vm
=
null
;
export
default
{
data
()
{
return
{
// isFirstFresh: true
,
serverTime
:
''
,
isLogin
:
false
,
// 是否 已登录
isJoin
:
true
,
// 是否 已加入机构 默认为false
isJoin
:
false
,
// 是否 已加入机构 默认为false
joinStatus
:
3
,
// 1-已加入机构 2-机构在审核中状态 3-未加入机构
currentStage
:
0
,
// 当前处于第几阶段 0表示不在四个阶段里,1-4表示对应阶段
stageDateList
:
[
{
date
:
'12月16至19日'
,
beginDate
:
'2019
-12-16'
,
endDate
:
'2019-12-1
9'
,
title
:
'高血压学习'
},
{
date
:
'12月20至23日'
,
beginDate
:
'2019
-12-20'
,
endDate
:
'2019-12-23
'
,
title
:
'糖尿病学习'
},
{
date
:
'12月24至26日'
,
beginDate
:
'2019
-12-24'
,
endDate
:
'2019-12-26'
,
title
:
'中医科
学习'
},
{
date
:
'12月27至29日'
,
beginDate
:
'2019
-12-27'
,
endDate
:
'2019-12-2
9'
,
title
:
'全科学习'
},
{
date
:
'12月16至19日'
,
beginDate
:
'2019
/12/16 00:00:00'
,
endDate
:
'2019/12/19 23:59:5
9'
,
title
:
'高血压学习'
},
{
date
:
'12月20至23日'
,
beginDate
:
'2019
/12/20 00:00:00'
,
endDate
:
'2019/12/23 23:59:59
'
,
title
:
'糖尿病学习'
},
{
date
:
'12月24至26日'
,
beginDate
:
'2019
/12/24 00:00:00'
,
endDate
:
'2019/12/26 23:59:59'
,
title
:
'中医
学习'
},
{
date
:
'12月27至29日'
,
beginDate
:
'2019
/12/27 00:00:00'
,
endDate
:
'2019/12/29 23:59:5
9'
,
title
:
'全科学习'
},
],
appUserInfo
:
{
...
...
@@ -235,6 +267,9 @@
},
doctorInfo
:
{
name
:
''
,
// 接口返回用户名字或者手机号带遮掩
hospital
:
''
,
// 机构名称
avatarImageUrl
:
''
,
// 头像URL
userDayScore
:
'1000'
,
// 用户当日勤奋分
userDayRank
:
'5'
,
// 用户当日排名
hospitalScore
:
'6000'
,
// 机构累计勤奋分
...
...
@@ -269,58 +304,90 @@
// if(){
// }else{
// return '../assets/img/stageTwo/
no
t-login-icon.png';
// return '../assets/img/stageTwo/
defaul
t-login-icon.png';
// }
// },
// 顶部类似tab的显示逻辑
topDateStatus
(
item
)
{
// 获取当前时间? 前端自己获取,还是 有个接口来返回服务器时间
let
currentTime
=
new
Date
().
getTime
();
let
beginDate
=
item
.
beginDate
.
split
(
'-'
);
let
endDate
=
item
.
endDate
.
split
(
'-'
);
let
beginTime
=
new
Date
(
beginDate
[
0
],
beginDate
[
1
],
beginDate
[
2
]).
getTime
();
let
endTime
=
new
Date
(
endDate
[
0
],
endDate
[
1
],
endDate
[
2
]).
getTime
();
if
(
currentTime
<
beginTime
){
return
''
;
}
},
// topDateStatus(item) {
// },
},
created
()
{
vm
=
this
;
// 取服务器时间,切换不同时间段的显示
vm
.
getServerTime
();
},
mounted
()
{
vm
.
$rocNative
.
appInit
();
vm
.
getUserInfo
();
vm
.
getUserInfo
();
// 判断是否登录
// if (process.client) {
// window.__refresh = function(params) {
// vm.isFirstFresh = false;
// }
// }
if
(
process
.
client
)
{
window
.
__refresh
=
function
(
params
)
{
vm
.
getUserInfo
();
// 判断是否登录
}
}
},
methods
:
{
// 获取服务器时间
getServerTime
()
{
// 调取接口获取服务器时间
let
serverTime
=
11111
;
},
returnStageText
()
{
if
(
vm
.
currentStage
==
0
){
return
''
;
}
else
{
return
require
(
`../assets/img/stageTwo/stage-0
${
vm
.
currentStage
}
-text.png`
);
}
},
returnAwardPic
()
{
if
(
vm
.
currentStage
==
0
){
return
''
;
}
else
{
return
require
(
`../assets/img/stageTwo/award-0
${
vm
.
currentStage
}
-pic.png`
)
}
},
returnStageClass
(
item
,
index
){
// 返回顶部四个时间进度条状态
// debugger;
// 获取当前服务器时间 获取失败则用本地时间
let
currentTime
=
1577030400000
;
let
beginTime
=
new
Date
(
item
.
beginDate
).
getTime
();
let
endTime
=
new
Date
(
item
.
endDate
).
getTime
();
let
status
=
''
;
if
(
currentTime
<
beginTime
){
// 未开始
status
=
''
;
}
else
if
(
(
currentTime
==
beginTime
)
||
(
beginTime
<
currentTime
&&
currentTime
<
endTime
)
||
(
currentTime
==
endTime
)
){
// 活动中
status
=
'active'
;
vm
.
currentStage
=
index
+
1
;
}
else
{
// 已结束
status
=
'over'
;
};
return
status
;
},
// 判断用户是否登录?
getUserInfo
()
{
vm
.
$rocNative
.
getUserInfo
()
.
then
(
params
=>
{
// _seft.userToken = params.userToken; // 存到store里
if
(
params
&&
params
.
userToken
){
cookies
.
set
(
'token'
,
params
.
userToken
)
}
alert
(
JSON
.
stringify
(
params
));
if
(
params
&&
params
.
userMobile
){
if
(
params
&&
params
.
userMobile
){
// 已登录 (有手机号表示 已登录,无手机号表示 未登录)
vm
.
isLogin
=
true
;
vm
.
appUserInfo
=
params
;
alert
(
'已经获取了 登录token了'
)
// 登录且加入机构才获取医生邀请了的列表 ?????????????????? 还是 已登录就获取,不论是否加入机构?
vm
.
loginCallback
();
}
else
{
// alert('没获取到登录信息!!!')
}
else
{
// 未登录
vm
.
isLogin
=
false
;
}
});
},
...
...
@@ -331,6 +398,50 @@
},
// 登陆ok后 回调: 获取邀请的医生列表等。。
loginCallback
()
{
vm
.
getUserActivityInfo
();
vm
.
goToCheckJoin
();
},
getUserActivityInfo
()
{
// 获取用户及参加活动的具体信息
// 请求接口
vm
.
doctorInfo
=
{
name
:
'云鹊医'
,
// 接口返回用户名字或者手机号带遮掩
hospital
:
'上海协和医院'
,
// 机构名称
avatarImageUrl
:
'https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1575272062&di=90feeb5bbc9d7f7122f74be154c6f69c&src=http://b-ssl.duitang.com/uploads/item/201709/06/20170906180625_YNysd.jpeg'
,
// 头像URL
userDayScore
:
'111'
,
// 用户当日勤奋分
userDayRank
:
'222'
,
// 用户当日排名
hospitalScore
:
'333'
,
// 机构累计勤奋分
hospitalRank
:
'444'
,
// 机构累计排名
userTotalBonus
:
'555'
,
// 个人累计获得云鹊豆
hospitalLevelScore
:
[
111
,
222
,
333
],
// 三阶段达标分值, 数组返回
targetRequiredScore
:
'99'
,
// 再获得多少分 // 再获得10勤奋分即可上升到前10名获得欧姆龙温度计
targetRank
:
'3'
,
// 上升到多少名
};
},
goToCheckJoin
()
{
// 检查是否加入结构
checkHospitalStatus
(
vm
.
appUserInfo
.
userToken
).
then
(
res
=>
{
alert
(
'jiandddddd'
)
alert
(
JSON
.
stringify
(
res
))
if
(
res
&&
res
.
code
==
'000000'
){
const
status
=
res
.
data
.
status
;
// const status = 15; // test。。。。。。。。。。。。。。。。。
alert
(
'是否加入机构'
);
alert
(
status
)
if
(
status
&&
status
==
1
)
{
// 机构状态正常
vm
.
isJoin
=
true
;
vm
.
joinStatus
=
1
;
vm
.
handleGetInviteList
();
//登录且已加入机构才获取医生邀请了的列表
}
else
if
(
status
&&
status
==
15
)
{
// 15创建机构审核中
vm
.
isJoin
=
false
;
vm
.
joinStatus
=
2
;
}
else
{
// 除了1,15 都是未加入机构
vm
.
isJoin
=
false
;
vm
.
joinStatus
=
3
;
}
}
else
{
vm
.
$toast
(
res
.
message
);
}
});
},
handleGetInviteList
()
{
let
token
=
'5463439BE4444FF8BC47CC4575E9D550'
;
// 开发时用这个调用数据
// let token = vm.appUserInfo.userToken; // 正式上线 用这个!!!!
getInviteList
(
token
).
then
(
res
=>
{
...
...
@@ -357,6 +468,8 @@
vm
.
inviteList
=
[];
}
}
else
{
vm
.
$toast
(
res
.
message
);
}
})
},
...
...
@@ -366,15 +479,54 @@
},
// 去登录
goToLogin
()
{
console
.
log
(
'去登录...'
);
alert
(
'去登录...'
);
vm
.
appLogin
();
},
// 去加入机构
goToJoin
()
{
console
.
log
(
'去加入机构...'
)
alert
(
'去加入机构...'
)
// 用户点击【加入机构】,继续判断用户是否有创建机构在审核状态,若有,则弹出弹窗提示。若无则跳转加入机构页面
if
(
vm
.
joinStatus
==
2
){
// 机构审核中
alert
(
'去机构审核中。。。。'
)
this
.
$dialog
.
confirm
({
title
:
'提醒'
,
message
:
`抱歉,您创建的机构【
${
vm
.
doctorInfo
.
hospital
}
】正在审核中,审核通过后可参与活动<br/><br/>如有疑问可联系客:<span>400-920-8877</span><br/>(周一至周五9:00-18:00)`
,
confirmButtonText
:
'查看进度'
,
cancelButtonText
:
'我知道了'
,
className
:
'remind-success'
,
}).
then
(()
=>
{
this
.
checkVersion
(()
=>
{
if
(
this
.
$rocNative
.
isAndroid
)
{
this
.
$rocNative
.
setNeedClearUrl
({
url
:
'year_end_ssr'
});
}
this
.
$rocNative
.
gotoInstitutionalReview
({
url
:
window
.
location
.
href
});
});
});
}
else
if
(
vm
.
joinStatus
==
3
){
// 未加入机构
alert
(
'未加入机构。。。。。'
)
this
.
checkVersion
(()
=>
{
if
(
this
.
$rocNative
.
isAndroid
)
{
this
.
$rocNative
.
setNeedClearUrl
({
url
:
'year_end_ssr'
});
}
this
.
$rocNative
.
gotoActivityHospital
({
url
:
window
.
location
.
href
});
})
}
},
checkVersion
(
callback
){
this
.
$rocNative
.
getAppVersionCode
().
then
(
res
=>
{
const
appVersion
=
parseFloat
(
res
.
versionCode
.
replace
(
/
\.
/g
,
''
));
if
(
appVersion
>=
317
){
callback
();
}
else
{
this
.
$dialog
.
alert
({
message
:
'当前app版本过低,请升级版本后继续操作'
,
className
:
'version-toast'
});
}
});
},
handleLoginCheck
(
cb
)
{
if
(
!
this
.
isLogin
){
// 未登录 >>> 去登录
this
.
goToLogin
();
...
...
@@ -387,20 +539,20 @@
// 跳转至 个人明细
goToUserDetail
()
{
console
.
log
(
'跳转至 个人明细'
)
alert
(
'跳转至 个人明细'
)
},
// 查看个人榜单
goToUserBoard
()
{
console
.
log
(
'跳转至 个人榜单'
)
alert
(
'跳转至 个人榜单'
)
},
// 查看机构榜单
goToOrganBoard
()
{
console
.
log
(
'跳转至 机构榜单'
)
alert
(
'跳转至 机构榜单'
)
},
// 云鹊豆中心
goToBeanCenter
()
{
console
.
log
(
'云鹊豆中心'
)
alert
(
'云鹊豆中心'
)
},
// “邀请医生好友学课程” 列表中的每一个医生点击事件
...
...
@@ -411,7 +563,7 @@
// 去每个li医生详情页 ??????
goToDoctorPage
()
{
//“被邀请的用户模块“点击逻辑,点击用户头像、“+“或者查看更多,都跳转至邀请详情页
console
.
log
(
'去邀请详情页....'
)
alert
(
'去邀请详情页....'
)
},
...
...
@@ -422,7 +574,7 @@
},
// 跳转至 “查看更多” 页面
seeInviteMore
()
{
console
.
log
(
'去查看更多页面...'
);
alert
(
'去查看更多页面...'
);
},
// 去邀请 按钮
...
...
@@ -464,4 +616,7 @@
<
style
lang=
"less"
>
@import '../assets/style/in-activity.less';
</
style
>
<
style
lang=
"less"
>
@import '../assets/style/revant.less';
</
style
>
\ No newline at end of file
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录