Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-professional-exam
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Culm
pica-professional-exam
提交
ef8a9652
提交
ef8a9652
编写于
12月 20, 2019
作者:
huangwensu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
详情页接口联调
上级
efe1b623
变更
8
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
361 行增加
和
291 行删除
+361
-291
basic-info.vue
src/components/cme/basic-info.vue
+56
-6
cme-step.vue
src/components/cme/cme-step.vue
+30
-1
item-intro.vue
src/components/cme/item-intro.vue
+6
-4
item-leader.vue
src/components/cme/item-leader.vue
+15
-10
learn-know.vue
src/components/cme/learn-know.vue
+7
-3
teacter-intro.vue
src/components/cme/teacter-intro.vue
+11
-13
common-description.vue
src/components/common/common-description.vue
+53
-95
merge-detail.vue
src/views/merge-detail.vue
+183
-159
未找到文件。
src/components/cme/basic-info.vue
浏览文件 @
ef8a9652
...
...
@@ -3,29 +3,57 @@
<div
class=
"basic-title"
>
基本信息
</div>
<div
class=
"content"
>
<span>
项目名称
</span>
<span>
GWKX-20180326-42843
</span>
<span>
{{
projectNo
}}
</span>
</div>
<div
class=
"content"
>
<span>
学习收获
</span>
<span>
国家级Ⅰ类 3
学分
</span>
<span>
{{
level
}}
{{
credit
}}
学分
</span>
</div>
<div
class=
"content"
>
<span>
申请范围
</span>
<span>
河北省 石家庄
</span>
<span>
{{
scope
}}
</span>
</div>
<div
class=
"content remind"
v-if=
"remind"
>
<span>
{{
remind
}}
</span>
</div>
<div
class=
"content"
>
<span>
起止时间
</span>
<span>
2020.03.01至2020.12.3
</span>
<span>
{{
startDate
}}
至
{{
endDate
}}
</span>
</div>
<div
class=
"content"
>
<span>
发起机构
</span>
<span>
云鹊医
</span>
<span>
{{
organName
}}
</span>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
projectNo
:
{
default
:
"GWKX-20180326-42843"
},
credit
:
{
default
:
"3"
},
level
:
{
default
:
"国家级Ⅰ类"
},
scope
:
{
default
:
"河北省 石家庄"
},
startDate
:
{
default
:
"2020.03.01"
},
endDate
:
{
default
:
"2020.12.3"
},
organName
:
{
default
:
"云鹊医"
},
remind
:
{
default
:
""
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
@@ -55,5 +83,27 @@ export default {
color
:
#676869
;
}
}
.content.remind
{
span
{
display
:
inline-block
;
padding
:
px2rem
(
5px
)
px2rem
(
10px
);
margin-left
:
px2rem
(
78px
);
font-size
:
px2rem
(
14px
);
color
:
#FB5B52
;
background
:
#FCEEED
;
border-radius
:
px2rem
(
4px
);
}
span
:after
{
content
:
""
;
position
:
absolute
;
left
:
px2rem
(
105px
);
bottom
:
px2rem
(
70px
);
width
:
0
;
height
:
0
;
border-width
:
0
px2rem
(
8px
)
px2rem
(
8px
);
border-style
:
solid
;
border-color
:
transparent
transparent
#FCEEED
;
}
}
}
</
style
>
\ No newline at end of file
src/components/cme/cme-step.vue
浏览文件 @
ef8a9652
...
...
@@ -27,14 +27,43 @@
</
template
>
<
script
>
export
default
{
props
:
{
currentProgress
:
{
type
:
Number
,
default
:
0
}
},
data
()
{
return
{
step1
:
false
,
step2
:
tru
e
,
step2
:
fals
e
,
step3
:
false
,
step4
:
false
}
},
created
()
{
if
(
this
.
currentProgress
==
1
)
{
// 项目学习
this
.
step1
=
true
;
this
.
step2
=
false
;
this
.
step3
=
false
;
this
.
step4
=
false
;
}
else
if
(
this
.
currentProgress
==
2
)
{
// 申请学分
this
.
step1
=
false
;
this
.
step2
=
true
;
this
.
step3
=
false
;
this
.
step4
=
false
;
}
else
if
(
this
.
currentProgress
==
3
)
{
// 学分审核
this
.
step1
=
false
;
this
.
step2
=
false
;
this
.
step3
=
true
;
this
.
step4
=
false
;
}
else
if
(
this
.
currentProgress
==
4
)
{
// 申请成功
this
.
step1
=
false
;
this
.
step2
=
false
;
this
.
step3
=
false
;
this
.
step4
=
true
;
}
},
methods
:
{
// 立即申请
applyFor
()
{
...
...
src/components/cme/item-intro.vue
浏览文件 @
ef8a9652
...
...
@@ -13,16 +13,18 @@
</
template
>
<
script
>
export
default
{
props
:
{
textContent
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{
textContent
:
'《健康中国2030规划纲要》提出“以全科医生为重点,加强基层人才队伍建设”。基层全科医生囿于传统固有的书本型以及经验型思维模式,习惯接受临床上习惯接受临床上习惯接受临床上。'
,
newText
:
''
,
btnText
:
'详情'
,
allTextFlag
:
false
}
},
created
()
{
},
mounted
()
{
if
(
this
.
textContent
.
length
>
69
)
{
...
...
src/components/cme/item-leader.vue
浏览文件 @
ef8a9652
...
...
@@ -2,11 +2,11 @@
<div
class=
"item-leader-container"
>
<div
class=
"basic-title"
>
项目负责人
</div>
<div
class=
"leader-info"
>
<img
src=
"../../images/video-cover.png
"
/>
<img
:src=
"projectLeader.appImageUrl
"
/>
<div
class=
"leader-text"
>
<span>
王荣英
</span>
<span>
主任医师 教授 硕士生导师
</span>
<div
class=
"address"
>
河北医科大学第二医院
</div>
<span>
{{
projectLeader
.
name
}}
</span>
<span>
{{
projectLeader
.
title
}}
</span>
<div
class=
"address"
>
{{
projectLeader
.
hospital
}}
</div>
</div>
</div>
<div
class=
"content"
>
...
...
@@ -21,9 +21,14 @@
</
template
>
<
script
>
export
default
{
props
:
{
projectLeader
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{
textContent
:
'全科医疗科主任,主任医师,教授,博士学位,硕士生导师,河北省医学会全科医学分会委员。主要专业特长:常见病、多发病的诊治、预防、康复常见病、多发病的诊治、预防'
,
newText
:
''
,
btnText
:
'详情'
,
allTextFlag
:
false
...
...
@@ -33,20 +38,20 @@ export default {
},
mounted
()
{
if
(
this
.
textContent
.
length
>
66
)
{
this
.
newText
=
this
.
textContent
.
slice
(
0
,
66
)
+
"..."
;
if
(
this
.
projectLeader
.
info
.
length
>
66
)
{
this
.
newText
=
this
.
projectLeader
.
info
.
slice
(
0
,
66
)
+
"..."
;
}
else
{
this
.
newText
=
this
.
textContent
;
this
.
newText
=
this
.
projectLeader
.
info
;
}
},
methods
:
{
allText
()
{
if
(
!
this
.
allTextFlag
)
{
this
.
newText
=
this
.
textContent
;
this
.
newText
=
this
.
projectLeader
.
info
;
this
.
btnText
=
'收起'
;
this
.
allTextFlag
=
true
;
}
else
{
this
.
newText
=
this
.
textContent
.
slice
(
0
,
66
)
+
"..."
;;
this
.
newText
=
this
.
projectLeader
.
info
.
slice
(
0
,
66
)
+
"..."
;;
this
.
btnText
=
'详情'
;
this
.
allTextFlag
=
false
;
}
...
...
src/components/cme/learn-know.vue
浏览文件 @
ef8a9652
...
...
@@ -2,14 +2,18 @@
<div
class=
"learn-know-container"
>
<div
class=
"basic-title"
>
学习须知
</div>
<div
class=
"content"
>
<span>
1、必须在该项目页内学完所有课程,平台其它栏目课程进度不计入本项目;
</span>
<span>
2、该项目每一章节课程必须按顺序学完并参与考试,且首次学习不允许跳过、快进等;学习时长均需达到80%及以上,考试成绩均在80分及以上判定为通过。
</span>
<span>
{{
mustKnow
}}
</span>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
mustKnow
:
{
type
:
String
,
default
:
''
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
src/components/cme/teacter-intro.vue
浏览文件 @
ef8a9652
<
template
>
<div
class=
"teacter-intro-container"
>
<div
class=
"basic-title"
>
讲师介绍
</div>
<div
class=
"leader-info"
>
<img
src=
"../../images/video-cover.png
"
/>
<div
class=
"leader-info"
v-for=
"(item,index) in doctorList"
:key=
"index"
>
<img
:src=
"item.appImageUrl
"
/>
<div
class=
"leader-text"
>
<span>
王荣英
</span>
<span>
主任医师 教授 硕士生导师
</span>
<div
class=
"address"
>
河北医科大学第二医院
</div>
</div>
</div>
<div
class=
"leader-info"
>
<img
src=
"../../images/video-cover.png"
/>
<div
class=
"leader-text"
>
<span>
王荣英
</span>
<span>
主任医师 教授 硕士生导师
</span>
<div
class=
"address"
>
河北医科大学第二医院
</div>
<span>
{{
item
.
name
}}
</span>
<span>
{{
item
.
title
}}
</span>
<div
class=
"address"
>
{{
item
.
hospital
}}
</div>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
doctorList
:
{
type
:
Array
,
default
:
()
=>
[]
}
},
data
()
{
return
{
...
...
src/components/common/common-description.vue
浏览文件 @
ef8a9652
<
template
>
<div>
<div
class=
"desc-title"
v-show=
"isShowTitle"
>
<span>
{{
descTitl
e
}}
</span>
<div
class=
"desc-container"
>
<div
class=
"desc-title"
>
<span>
{{
projectNam
e
}}
</span>
</div>
<div
class=
"desc-detail"
>
<span
class=
"desc_text"
v-html=
"message"
></span>
<!--
<CommonSpliteLine></CommonSpliteLine>
-->
<!--
<div
class=
"split-line"
></div>
-->
<!--
<div
class=
"desc_text_tp"
@
click=
"showDesc()"
>
<span
v-show=
"!isShowFlag"
>
显示全部
</span>
<span
v-show=
"isShowFlag"
>
收起
</span>
</div>
-->
<span
class=
"desc_text"
v-if=
"studyNum && subject"
>
{{
studyNum
}}
人已学/
{{
subject
}}
</span>
</div>
</div>
</
template
>
...
...
@@ -20,81 +14,62 @@ export default {
name
:
"common-description"
,
data
()
{
return
{
isShowFlag
:
false
};
},
computed
:
{
CommonSpliteLine
},
props
:
{
isShowTitle
:
{
type
:
Boolean
,
default
:
true
},
descTitle
:
{
projectName
:
{
type
:
String
,
default
:
""
default
:
"
全科医学诊疗思维与实务项目
"
},
value
:
{
studyNum
:
{
type
:
Number
,
default
:
28000
},
subject
:
{
type
:
String
,
default
:
""
default
:
"
全科医学
"
}
},
created
()
{},
mounted
()
{},
computed
:
{
message
:
function
()
{
// return this.isShowFlag
// ? '
<
span
style
=
"color: red;"
>
简介
<
/span>' + this.valu
e
// : '
<
span
style
=
"color: red;"
>
简介
<
/span>'
+
// this.value.slice(0, 34) +
// "...";
let
shortMsg
=
this
.
value
||
""
;
if
(
shortMsg
.
length
>
63
)
{
shortMsg
=
this
.
value
.
slice
(
0
,
63
)
+
"..."
;
}
return
this
.
isShowFlag
?
this
.
value
:
shortMsg
;
mounted
()
{
if
(
this
.
studyNum
>
1000
&&
this
.
studyNum
<
10000
)
{
this
.
studyNum
=
this
.
studyNum
/
1000
+
'k'
;
}
else
if
(
this
.
studyNum
>
10000
)
{
this
.
studyNum
=
this
.
studyNum
/
10000
+
'w'
;
}
},
methods
:
{
showDesc
()
{
this
.
isShowFlag
=
!
this
.
isShowFlag
;
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"../../style/mixin"
;
.desc-title
{
.desc-container
{
padding
:
px2rem
(
20px
)
px2rem
(
15px
);
.desc-title
{
display
:
flex
;
padding
:
px2rem
(
15px
);
padding-bottom
:
0px
;
line-height
:
px2rem
(
22px
);
font-weight
:
700
;
color
:
rgba
(
51
,
51
,
51
,
1
);
span
{
font-family
:
"PingFangSC-Medium"
,
"PingFangSC"
,
"Microsoft Yahei"
;
font-size
:
px2rem
(
18px
);
font-weight
:
700
;
color
:
#333333
;
}
}
.desc-detail
{
}
.desc-detail
{
display
:
flex
;
position
:
relative
;
word-break
:
normal
;
margin-bottom
:
px2rem
(
40px
);
//
margin-bottom: px2rem(40px);
// height: px2rem(60px);
}
.display-none
{
position
:
fixed
;
top
:
0
;
visibility
:
hidden
;
}
.desc_text
{
padding
:
px2rem
(
15px
);
.desc_text
{
padding-top
:
px2rem
(
6px
);
font-size
:
px2rem
(
14
px
);
color
:
#99999
9
;
font-size
:
px2rem
(
13
px
);
color
:
#67686
9
;
line-height
:
px2rem
(
25px
);
letter-spacing
:
1px
;
word-wrap
:
break-word
;
...
...
@@ -103,26 +78,9 @@ export default {
text-align
:
justify
;
flex-direction
:
row
;
flex-wrap
:
wrap
;
}
}
}
.desc_text_tp
{
position
:
absolute
;
left
:
0
;
bottom
:
px2rem
(
-30px
);
// left: 50%;
// transform: translateX(px2rem(-32px));
width
:
100%
;
text-align
:
center
;
font-size
:
px2rem
(
16px
);
font-weight
:
700
;
color
:
#cccccc
;
// border-top: 1px solid #f1f1f1;
}
.split-line
{
display
:
flex
;
width
:
92%
;
position
:
absolute
;
left
:
4%
;
bottom
:
px2rem
(
0px
);
border-bottom
:
0
.5px
solid
#f1f1f1
;
}
</
style
>
src/views/merge-detail.vue
浏览文件 @
ef8a9652
...
...
@@ -16,15 +16,19 @@
<!-- banner图片 -->
<div
v-if=
"bannerType == 1"
class=
"page-content-img-container"
>
<img
class=
"banner-img"
:src=
"attachmentUrl"
>
<img
v-show=
"p
S
tatus == 1"
class=
"banner-img-1"
src=
"../images/status-join.png"
>
<img
v-show=
"p
S
tatus == 5"
class=
"banner-img-5"
src=
"../images/status-keep-on.png"
>
<img
v-show=
"p
S
tatus == 10"
class=
"banner-img-10"
src=
"../images/status-end.png"
>
<img
v-show=
"p
roject.s
tatus == 1"
class=
"banner-img-1"
src=
"../images/status-join.png"
>
<img
v-show=
"p
roject.s
tatus == 5"
class=
"banner-img-5"
src=
"../images/status-keep-on.png"
>
<img
v-show=
"p
roject.s
tatus == 10"
class=
"banner-img-10"
src=
"../images/status-end.png"
>
</div>
<!-- banner视频 -->
<CommonTcPlayer
v-if=
"bannerType == 2"
style=
"flex"
:options=
"videoOptions"
></CommonTcPlayer>
<!-- 项目标题 -->
<CommonDescription
:descTitle=
"projectName"
:value=
"projectIntro"
></CommonDescription>
<CommonDescription
:projectName=
"project.projectName"
:studyNum=
"project.studyNum"
:subject=
"project.subject"
/>
<!-- 步骤条 -->
<CmeStep></CmeStep>
<CmeStep
:currentProgress=
"project.currentProgress"
></CmeStep>
<!-- 简介和目录 -->
<div
class=
"intro-catalogue-container"
>
<div
id=
"content-title"
class=
"title"
:class=
"
{'fixed-title': fixedFlag}">
...
...
@@ -32,18 +36,25 @@
<span
:class=
"
{'focus': !tabFlag}" @click="jumpCatalogue">目录
</span>
</div>
<div
id=
"intro-content"
class=
"intro-content"
>
<BasicInfo></BasicInfo>
<LearnKnow></LearnKnow>
<BasicInfo
:projectNo=
"project.projectNo"
:credit=
"project.credit"
:level=
"project.level"
:scope=
"project.scope"
:startDate=
"project.startDate"
:endDate=
"project.endDate"
:organName=
"project.organName"
:remind=
"project.remind"
/>
<LearnKnow
:mustKnow=
"project.mustKnow"
></LearnKnow>
<CommonSpliteLine></CommonSpliteLine>
<ItemIntro></ItemIntro>
<ItemLeader></ItemLeader>
<TeacterIntro></TeacterIntro>
<ItemIntro
:textContent=
"project.projectIntro"
></ItemIntro>
<ItemLeader
:projectLeader=
"projectLeader"
></ItemLeader>
<TeacterIntro
:doctorList=
"doctorList"
></TeacterIntro>
</div>
<CommonSpliteLine></CommonSpliteLine>
<div
id=
"catalogue-content"
class=
"catalogue-content"
>
<div
class=
"catalogue-title"
>
目录
</div>
<CellListDetail
v-if=
"visibleFlag == 1"
:projectComponent=
"projectComponentDTOS"
:paramData=
"contentList"
:moduleName=
"moduleName"
...
...
@@ -52,9 +63,6 @@
:courseRequire=
"courseRequire"
/>
</div>
</div>
<!--
<CertShow
v-if=
"projectStatus === 2"
></CertShow>
-->
<!--
<NoPermContent
v-if=
"visibleFlag == 2"
></NoPermContent>
-->
</div>
<Loading
v-show=
"showLoading"
/>
...
...
@@ -86,17 +94,37 @@ import vueFilters from '@/utils/filter';
export
default
{
data
()
{
return
{
tabFlag
:
true
,
fixedFlag
:
false
,
tabFlag
:
true
,
// 显示目录还是简介
fixedFlag
:
false
,
// 目录和简介是否固定
project
:
{
credit
:
""
,
// 学分
level
:
""
,
// 项目等级
scope
:
""
,
// 申请范围
remind
:
""
,
// 在不在范围提醒
startDate
:
""
,
// 开始时间
endDate
:
""
,
// 结束时间
organName
:
""
,
// 发起机构
projectName
:
""
,
// 项目名称
projectNo
:
""
,
// 项目编号
currentProgress
:
0
,
// 项目进度
projectIntro
:
""
,
// 项目介绍
mustKnow
:
''
,
// 学习须知
studyNum
:
0
,
// 学习人数
studyProgress
:
0
,
// 学习进度
subject
:
""
,
// 学科
status
:
0
,
// 项目状态 1是参加中 5是进行中 10是已结束
},
projectLeader
:
{},
doctorList
:
[],
from
:
"inner"
,
isBlack
:
false
,
showLoading
:
false
,
projectId
:
1
,
componentId
:
1
,
moduleId
:
1
,
//
componentId: 1,
//
moduleId: 1,
contentList
:
[],
moduleName
:
""
,
bannerType
:
1
,
bannerType
:
1
,
// 1 图片 2视频
videoOptions
:
{
mp4
:
""
,
// mp4: "https://pica-pro.oss-cn-shanghai.aliyuncs.com/2019/03/05/movie.mp4",
...
...
@@ -108,10 +136,7 @@ export default {
width
:
"415"
,
//视频的显示宽度,请尽量使用视频分辨率宽度
height
:
"210"
//视频的显示高度,请尽量使用视频分辨率高度
},
projectStatus
:
1
,
//1没有获得证书 2是获得全部证书
pStatus
:
0
,
// 项目状态 1是参加中 5是进行中 10是已结束
projectIntro
:
""
,
projectName
:
""
,
//projectStatus: 1, //1没有获得证书 2是获得全部证书
attachmentUrl
:
require
(
"../images/banner-default.png"
),
bgColor
:
"none"
,
navTitle
:
"项目详情"
,
...
...
@@ -119,11 +144,9 @@ export default {
isShowNavbar
:
true
,
isFixNavbar
:
true
,
pointStyle
:
"activity"
,
descTitle
:
"规定从何处开始选取。如果是负数"
,
projectComponentDTOS
:
[],
actionList
:
[],
detailNum
:
0
,
visibleFlag
:
0
,
courseRequire
:
0
,
clientType
:
0
};
...
...
@@ -154,7 +177,7 @@ export default {
let
_this
=
this
;
this
.
from
=
this
.
$route
.
query
.
from
||
this
.
from
||
"native"
;
this
.
projectId
=
this
.
$route
.
query
.
id
;
this
.
componentId
=
this
.
$route
.
query
.
componentId
;
//
this.componentId = this.$route.query.componentId;
this
.
moduleId
=
this
.
$route
.
query
.
moduleId
;
this
.
moduleName
=
this
.
$route
.
query
.
moduleName
;
this
.
courseRequire
=
this
.
$route
.
query
.
courseRequire
;
...
...
@@ -195,6 +218,28 @@ export default {
__funcName
:
"__getUserInfo64Comp"
});
},
scrollFun
()
{
let
scrollTop
=
document
.
body
.
scrollTop
||
document
.
documentElement
.
scrollTop
;
const
catalogue
=
document
.
getElementById
(
'catalogue-content'
);
const
h
=
catalogue
.
offsetTop
-
600
;
if
(
scrollTop
>
20
)
{
this
.
isBlack
=
true
;
this
.
bgColor
=
"#fff"
;
}
else
{
this
.
isBlack
=
false
;
this
.
bgColor
=
"none"
;
}
if
(
scrollTop
>
300
)
{
this
.
fixedFlag
=
true
;
}
else
{
this
.
fixedFlag
=
false
;
}
if
(
scrollTop
>
h
)
{
this
.
tabFlag
=
false
;
}
else
{
this
.
tabFlag
=
true
;
}
},
// 锚点到简介
jumpIntro
()
{
this
.
tabFlag
=
true
;
...
...
@@ -216,32 +261,30 @@ export default {
this
.
isBlack
=
true
;
this
.
bgColor
=
"#fff"
;
},
//
获取单个模块信息
getComponentInfoById
(
componentId
)
{
//
token是否失效校验
checkToken
(
)
{
let
_this
=
this
;
let
param
=
{
componentId
:
componentId
,
token
:
_this
.
userInfo
.
userToken
,
setEntry
:
true
setEntry
:
true
,
};
this
.
GET
(
"
portal/portalApp/component
"
,
param
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
_this
.
attachmentUrl
=
res
.
data
.
imageUrl
;
_this
.
projectIntro
=
res
.
data
.
introduce
;
_this
.
projectName
=
res
.
data
.
name
;
this
.
GET
(
"
campaign/admin/task/checkToken
"
,
param
).
then
(
res
=>
{
if
(
res
.
code
!==
'000000'
)
{
//未登录 跳转登录页
console
.
log
(
'跳登录'
)
;
rocNative
.
gotoLogin
()
;
}
});
},
// 获取单个项目信息
getCoopInfo
(
projectId
)
{
// 获取项目详情
getProjectParticularsV2
()
{
let
_this
=
this
;
let
param
=
{
portalProjectId
:
projectId
,
token
:
_this
.
userInfo
.
userToken
,
token
:
_this
.
userInfo
.
userToken
||
'AAA613F74B7A4746AEE8354458FF4896'
,
setEntry
:
true
};
this
.
GET
(
"portal/portalApp/queryProjectParticulars"
,
param
).
then
(
res
=>
{
// _this.showLoading = true;
this
.
NEW_GET
(
`cme/project/
${
_this
.
projectId
}
/info`
,
param
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
// 先设置视频URL再显示视频组件 ------------ BEGIN
if
(
res
.
data
.
attachmentType
==
2
)
{
...
...
@@ -255,60 +298,16 @@ export default {
}
// 先设置视频URL再显示视频组件 ------------ END
_this
.
projectIntro
=
res
.
data
.
projectIntro
;
_this
.
projectName
=
res
.
data
.
projectName
;
_this
.
pStatus
=
res
.
data
.
status
;
}
});
},
setContent
(
data
)
{
let
list
=
data
;
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
let
len
=
vueFilters
.
strLength
(
list
[
i
].
name
);
let
certificate
=
list
[
i
].
certificateFlag
;
if
(
len
>
30
&&
certificate
==
2
)
{
list
[
i
].
height
=
"2"
;
}
else
if
(
len
>
30
&&
certificate
!=
2
)
{
list
[
i
].
height
=
2
;
}
else
if
(
len
<=
30
&&
certificate
==
2
)
{
list
[
i
].
height
=
"1"
;
}
else
if
(
len
<=
30
&&
certificate
!=
2
)
{
list
[
i
].
height
=
1
;
}
}
console
.
log
(
'contentList!'
,
list
);
return
list
;
},
// 获取内容列表
getContentList
(
moduleId
)
{
let
_this
=
this
;
let
param
=
{
moduleId
:
_this
.
moduleId
,
token
:
_this
.
userInfo
.
userToken
,
setEntry
:
true
,
projectId
:
_this
.
projectId
,
};
_this
.
showLoading
=
true
;
this
.
GET
(
"portal/portalApp/contentList"
,
param
).
then
(
res
=>
{
// _this.showLoading = false;
if
(
res
.
code
==
"000000"
)
{
_this
.
contentList
=
_this
.
setContent
(
res
.
data
.
contentList
);
_this
.
project
=
res
.
data
;
_this
.
projectLeader
=
res
.
data
.
projectLeader
;
_this
.
doctorList
=
res
.
data
.
doctorList
;
//_this.projectStatus = res.data.projectStatus;
_this
.
projectComponentDTOS
=
_this
.
setListData
(
res
.
data
.
projectComponentDTOS
);
}
//_this.showLoading = false;
});
},
getHight
(
data
)
{
let
len
=
vueFilters
.
strLength
(
data
.
name
);
let
certificate
=
data
.
certificateFlag
;
if
(
len
>
30
&&
certificate
==
2
)
{
return
"2"
;
}
else
if
(
len
>
30
&&
certificate
!=
2
)
{
return
2
;
}
else
if
(
len
<=
30
&&
certificate
==
2
)
{
return
"1"
;
}
else
if
(
len
<=
30
&&
certificate
!=
2
)
{
return
1
;
}
},
setListData
(
data
)
{
let
_this
=
this
;
let
list
=
data
;
...
...
@@ -339,75 +338,100 @@ export default {
// list[0].portalModuleDTOS[3].contentList[1].certificateFlag = 2;
return
list
;
},
checkToken
(
)
{
let
_this
=
this
;
let
param
=
{
token
:
_this
.
userInfo
.
userToken
,
setEntry
:
true
,
}
;
this
.
GET
(
"campaign/admin/task/checkToken"
,
param
).
then
(
res
=>
{
if
(
res
.
code
!==
'000000'
)
{
//未登录 跳转登录页
console
.
log
(
'跳登录'
);
rocNative
.
gotoLogin
()
;
getHight
(
data
)
{
let
len
=
vueFilters
.
strLength
(
data
.
name
)
;
let
certificate
=
data
.
certificateFlag
;
if
(
len
>
30
&&
certificate
==
2
)
{
return
"2"
;
}
else
if
(
len
>
30
&&
certificate
!=
2
)
{
return
2
;
}
else
if
(
len
<=
30
&&
certificate
==
2
)
{
return
"1"
;
}
else
if
(
len
<=
30
&&
certificate
!=
2
)
{
return
1
;
}
});
},
getProjectParticularsV2
()
{
let
_this
=
this
;
let
param
=
{
token
:
_this
.
userInfo
.
userToken
||
'AAA613F74B7A4746AEE8354458FF4896'
,
setEntry
:
true
,
portalProjectId
:
_this
.
projectId
||
164
,
};
_this
.
showLoading
=
true
;
this
.
NEW_GET
(
"portal/portalApp/queryProjectParticularsV2"
,
param
).
then
(
res
=>
{
// _this.showLoading = false;
if
(
res
.
code
==
"000000"
)
{
_this
.
visibleFlag
=
res
.
data
.
learnableFlag
;
// 先设置视频URL再显示视频组件 ------------ BEGIN
if
(
res
.
data
.
attachmentType
==
2
)
{
_this
.
videoOptions
.
mp4
=
res
.
data
.
attachmentUrl
;
}
else
{
_this
.
attachmentUrl
=
res
.
data
.
attachmentUrl
;
}
_this
.
bannerType
=
res
.
data
.
attachmentType
;
if
(
_this
.
bannerType
==
2
)
{
_this
.
clientType
=
__isWeb
?
1
:
__isAndroid
?
2
:
3
;
}
// 先设置视频URL再显示视频组件 ------------ END
// 获取单个模块信息
// getComponentInfoById(componentId) {
// let _this = this;
// let param = {
// componentId: componentId,
// token: _this.userInfo.userToken,
// setEntry: true
// };
// this.GET("portal/portalApp/component", param).then(res => {
// if (res.code == "000000") {
// _this.attachmentUrl = res.data.imageUrl;
// _this.projectIntro = res.data.introduce;
// _this.projectName = res.data.name;
// }
// });
// },
// 获取单个项目信息
// getCoopInfo(projectId) {
// let _this = this;
// let param = {
// portalProjectId: projectId,
// token: _this.userInfo.userToken,
// setEntry: true
// };
// this.GET("portal/portalApp/queryProjectParticulars", param).then(res => {
// if (res.code == "000000") {
// // 先设置视频URL再显示视频组件 ------------ BEGIN
// if (res.data.attachmentType == 2) {
// _this.videoOptions.mp4 = res.data.attachmentUrl;
// } else {
// _this.attachmentUrl = res.data.attachmentUrl;
// }
// _this.bannerType = res.data.attachmentType;
// if(_this.bannerType == 2) {
// _this.clientType = __isWeb ? 1 : __isAndroid ? 2 : 3;
// }
// // 先设置视频URL再显示视频组件 ------------ END
// _this.projectIntro = res.data.projectIntro;
// _this.projectName = res.data.projectName;
// _this.pStatus = res.data.status;
// }
// });
// },
// setContent(data) {
// let list = data;
// for(let i=0;i
<
list
.
length
;
i
++
)
{
// let len = vueFilters.strLength(list[i].name);
// let certificate = list[i].certificateFlag;
// if(len > 30 && certificate == 2) {
// list[i].height = "2";
// } else if (len > 30 && certificate != 2) {
// list[i].height = 2;
// } else if (len
<=
30
&&
certificate
==
2
)
{
// list[i].height = "1";
// } else if(len
<=
30
&&
certificate
!=
2
)
{
// list[i].height = 1;
// }
// }
// console.log('contentList!',list);
// return list;
// },
// 获取内容列表
// getContentList(moduleId) {
// let _this = this;
// let param = {
// moduleId: _this.moduleId,
// token: _this.userInfo.userToken,
// setEntry: true,
// projectId: _this.projectId,
// };
// _this.showLoading = true;
// this.GET("portal/portalApp/contentList", param).then(res => {
// // _this.showLoading = false;
// if (res.code == "000000") {
// _this.contentList = _this.setContent(res.data.contentList);
// }
// });
// },
_this
.
projectIntro
=
res
.
data
.
projectIntro
;
_this
.
projectName
=
res
.
data
.
projectName
;
_this
.
pStatus
=
res
.
data
.
status
;
_this
.
projectStatus
=
res
.
data
.
projectStatus
;
_this
.
projectComponentDTOS
=
_this
.
setListData
(
res
.
data
.
projectComponentDTOS
);
}
_this
.
showLoading
=
false
;
});
},
scrollFun
()
{
let
scrollTop
=
document
.
body
.
scrollTop
||
document
.
documentElement
.
scrollTop
;
const
catalogue
=
document
.
getElementById
(
'catalogue-content'
);
const
h
=
catalogue
.
offsetTop
-
600
;
if
(
scrollTop
>
20
)
{
this
.
isBlack
=
true
;
this
.
bgColor
=
"#fff"
;
}
else
{
this
.
isBlack
=
false
;
this
.
bgColor
=
"none"
;
}
if
(
scrollTop
>
300
)
{
this
.
fixedFlag
=
true
;
}
else
{
this
.
fixedFlag
=
false
;
}
if
(
scrollTop
>
h
)
{
this
.
tabFlag
=
false
;
}
else
{
this
.
tabFlag
=
true
;
}
},
}
};
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录