Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-cooperation-cme
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.education.frontend
pica-cooperation-cme
提交
9b7fface
提交
9b7fface
编写于
12月 23, 2019
作者:
huangwensu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
详情页面接口调试
上级
ffa57138
变更
8
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
118 行增加
和
68 行删除
+118
-68
cell-list-detail.vue
src/components/business/cell-list-detail.vue
+6
-6
basic-info.vue
src/components/cme/basic-info.vue
+24
-12
cme-step.vue
src/components/cme/cme-step.vue
+6
-2
item-intro.vue
src/components/cme/item-intro.vue
+4
-5
item-leader.vue
src/components/cme/item-leader.vue
+6
-10
common-description.vue
src/components/common/common-description.vue
+14
-9
mixins.js
src/utils/mixins.js
+1
-1
merge-detail.vue
src/views/merge-detail.vue
+57
-23
未找到文件。
src/components/business/cell-list-detail.vue
浏览文件 @
9b7fface
...
...
@@ -6,12 +6,12 @@
v-for=
"(component , index) in projectComponent"
:key=
"index"
>
<!--
<CommonTitle
:fontWeight=
"500"
:title=
"component.name"
:isShowCert=
"true"
:isShowExplain=
"true"
@
showDialog=
"showDialog(component.introduce)"
></CommonTitle>
-->
<
MergeTitle
:fontWeight=
"500"
:title=
"component.name"
:isShowCert=
"component.status"
:isShowExplain=
"true"
@
showDialog=
"showDialog(component.introduce)"
></MergeTitle
>
<
!--
<MergeTitle
:fontWeight=
"500"
:title=
"component.name"
:isShowCert=
"component.status"
:isShowExplain=
"true"
@
showDialog=
"showDialog(component.introduce)"
></MergeTitle>
--
>
<van-collapse
v-model=
"activeNames"
@
change=
"changeCollapse"
>
<van-collapse-item
v-for=
"(portalModule
, index) in component.portalModuleDTOS"
v-for=
"(portalModule, index) in component.portalModuleDTOS"
:key=
"index"
:title=
"portalModule.moduleName | shortName(19)"
:title=
"
(parseInt(index) + 1) + '.' +
portalModule.moduleName | shortName(19)"
:name=
"portalModule.expandKey"
:value=
"portalModule.value"
:disabled=
"portalModule.disabled"
...
...
@@ -45,10 +45,10 @@
<!--
<img
v-show=
"item.status == 13"
class=
"text-action-dh"
src=
"../../images/icon-dh.png"
>
-->
{{
getActionText
(
item
.
status
)
}}
</span>
<div
class=
"connect-line"
<
!--
<
div
class=
"connect-line"
:class=
"
{'len1': item.height === 1, 'len2': item.height === '1','len3': item.height === 2, 'len4': item.height === '2', 'line-complete': index+1
<
portalModule
.
contentList
.
length
&&
portalModule
.
contentList
[
index
+
1
].
useFlag =
=
1
}"
v-if=
"index+1
<
portalModule
.
contentList
.
length
&&
portalModule
.
contentList
[
index
].
templetId =
=
portalModule
.
contentList
[
index
+
1
].
templetId
"
>
</div>
</div>
-->
<div
class=
"foot-line"
v-if=
"index+1
<
portalModule
.
contentList
.
length
&&
portalModule
.
contentList
[
index
].
templetId =
=
portalModule
.
contentList
[
index
+
1
].
templetId
"
>
</div>
...
...
@@ -451,7 +451,7 @@ export default {
.cell-container
{
display
:
flex
;
flex-direction
:
column
;
margin
:
px2rem
(
20px
)
px2rem
(
15px
)
px2rem
(
-28px
)
px2rem
(
15
px
);
margin
:
px2rem
(
20px
)
px2rem
(
0px
)
px2rem
(
-28px
)
px2rem
(
0
px
);
&
-item
{
position
:
relative
;
display
:
flex
;
...
...
src/components/cme/basic-info.vue
浏览文件 @
9b7fface
...
...
@@ -7,13 +7,13 @@
</div>
<div
class=
"content"
>
<span>
学习收获
</span>
<span>
{{
level
}}
{{
credit
}}
学分
</span>
<span>
{{
level
}}
{{
credit
}}
</span>
</div>
<div
class=
"content"
>
<span>
申请范围
</span>
<span>
{{
scope
}}
</span>
</div>
<div
class=
"
content
remind"
v-if=
"remind"
>
<div
class=
"remind"
v-if=
"remind"
>
<span>
{{
remind
}}
</span>
</div>
<div
class=
"content"
>
...
...
@@ -30,27 +30,35 @@
export
default
{
props
:
{
projectNo
:
{
type
:
String
,
default
:
"GWKX-20180326-42843"
},
credit
:
{
default
:
"3"
type
:
String
,
default
:
""
},
level
:
{
default
:
"国家级Ⅰ类"
type
:
String
,
default
:
""
},
scope
:
{
default
:
"河北省 石家庄"
type
:
String
,
default
:
""
},
startDate
:
{
default
:
"2020.03.01"
type
:
String
,
default
:
""
},
endDate
:
{
default
:
"2020.12.3"
type
:
String
,
default
:
""
},
organName
:
{
default
:
"云鹊医"
type
:
String
,
default
:
""
},
remind
:
{
type
:
String
,
default
:
""
}
}
...
...
@@ -70,7 +78,8 @@ export default {
}
.content
{
margin-top
:
px2rem
(
16px
);
line-height
:
px2rem
(
14px
);
height
:
px2rem
(
16px
);
line-height
:
px2rem
(
0px
);
span
{
display
:
inline-block
;
font-size
:
px2rem
(
14px
);
...
...
@@ -83,8 +92,11 @@ export default {
color
:
#676869
;
}
}
.content.remind
{
.remind
{
line-height
:
px2rem
(
14px
);
margin-top
:
px2rem
(
10px
);
span
{
position
:
relative
;
display
:
inline-block
;
padding
:
px2rem
(
5px
)
px2rem
(
10px
);
margin-left
:
px2rem
(
78px
);
...
...
@@ -96,8 +108,8 @@ export default {
span
:after
{
content
:
""
;
position
:
absolute
;
left
:
px2rem
(
10
5
px
);
bottom
:
px2rem
(
7
0px
);
left
:
px2rem
(
10px
);
bottom
:
px2rem
(
2
0px
);
width
:
0
;
height
:
0
;
border-width
:
0
px2rem
(
8px
)
px2rem
(
8px
);
...
...
src/components/cme/cme-step.vue
浏览文件 @
9b7fface
<
template
>
<div
class=
"step-content"
>
<p
class=
"step-text step1-text"
v-if=
"step1"
>
学习进度
10%
</p>
<p
class=
"step-text step1-text"
v-if=
"step1"
>
学习进度
{{
studyProgress
}}
</p>
<div
class=
"step-item"
>
<span
:class=
"
{'actived': step1 || step2 || step3 || step4}">1
</span>
<p
:class=
"
{'actived': step1 || step2 || step3 || step4}">项目学习
</p>
...
...
@@ -31,6 +31,10 @@ export default {
currentProgress
:
{
type
:
Number
,
default
:
0
},
studyProgress
:
{
type
:
String
,
default
:
"0%"
}
},
data
()
{
...
...
@@ -67,7 +71,7 @@ export default {
methods
:
{
// 立即申请
applyFor
()
{
this
.
$emit
(
"applicationCredit"
);
},
verifyResult
()
{
...
...
src/components/cme/item-intro.vue
浏览文件 @
9b7fface
...
...
@@ -21,14 +21,13 @@ export default {
},
data
()
{
return
{
newText
:
''
,
btnText
:
'详情'
,
allTextFlag
:
false
}
},
mounted
()
{
if
(
this
.
textContent
.
length
>
69
)
{
this
.
newText
=
this
.
textContent
.
slice
(
0
,
69
)
+
"..."
;
computed
:
{
newText
:
function
(
)
{
return
this
.
textContent
.
length
>
69
?
this
.
textContent
.
slice
(
0
,
69
)
+
"..."
:
this
.
textContent
;
}
},
methods
:
{
...
...
@@ -38,7 +37,7 @@ export default {
this
.
btnText
=
'收起'
;
this
.
allTextFlag
=
true
;
}
else
{
this
.
newText
=
this
.
textContent
.
slice
(
0
,
69
)
+
"..."
;
this
.
newText
=
this
.
textContent
.
length
>
69
?
this
.
textContent
.
slice
(
0
,
69
)
+
"..."
:
this
.
textContent
;
this
.
btnText
=
'详情'
;
this
.
allTextFlag
=
false
;
}
...
...
src/components/cme/item-leader.vue
浏览文件 @
9b7fface
...
...
@@ -29,19 +29,15 @@ export default {
},
data
()
{
return
{
newText
:
''
,
btnText
:
'详情'
,
allTextFlag
:
false
}
},
created
()
{
},
mounted
()
{
if
(
this
.
projectLeader
.
info
.
length
>
66
)
{
this
.
newText
=
this
.
projectLeader
.
info
.
slice
(
0
,
66
)
+
"..."
;
}
else
{
this
.
newText
=
this
.
projectLeader
.
info
;
computed
:
{
newText
:
function
()
{
if
(
this
.
projectLeader
.
info
)
{
return
this
.
projectLeader
.
info
.
length
>
66
?
this
.
projectLeader
.
info
.
slice
(
0
,
66
)
+
"..."
:
this
.
projectLeader
.
info
;
}
}
},
methods
:
{
...
...
@@ -51,7 +47,7 @@ export default {
this
.
btnText
=
'收起'
;
this
.
allTextFlag
=
true
;
}
else
{
this
.
newText
=
this
.
projectLeader
.
info
.
slice
(
0
,
66
)
+
"..."
;
;
this
.
newText
=
this
.
projectLeader
.
info
.
length
>
66
?
this
.
projectLeader
.
info
.
slice
(
0
,
66
)
+
"..."
:
this
.
projectLeader
.
info
;
this
.
btnText
=
'详情'
;
this
.
allTextFlag
=
false
;
}
...
...
src/components/common/common-description.vue
浏览文件 @
9b7fface
...
...
@@ -4,7 +4,7 @@
<span>
{{
projectName
}}
</span>
</div>
<div
class=
"desc-detail"
>
<span
class=
"desc_text"
v-if=
"studyNum && subject"
>
{{
s
tudyNum
}}
人已学/
{{
subject
}}
</span>
<span
class=
"desc_text"
v-if=
"studyNum && subject"
>
{{
newS
tudyNum
}}
人已学/
{{
subject
}}
</span>
</div>
</div>
</
template
>
...
...
@@ -20,24 +20,29 @@ export default {
props
:
{
projectName
:
{
type
:
String
,
default
:
"
全科医学诊疗思维与实务项目
"
default
:
""
},
studyNum
:
{
type
:
Number
,
default
:
2800
0
default
:
0
},
subject
:
{
type
:
String
,
default
:
"全科医学"
default
:
""
}
},
computed
:
{
newStudyNum
:
function
()
{
if
(
this
.
studyNum
>
1000
&&
this
.
studyNum
<
10000
)
{
return
(
this
.
studyNum
/
1000
+
'k'
);
}
else
if
(
this
.
studyNum
>
10000
)
{
return
(
this
.
studyNum
/
10000
+
'w'
);
}
}
},
created
()
{},
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
:
{
...
...
src/utils/mixins.js
浏览文件 @
9b7fface
...
...
@@ -152,7 +152,7 @@ module.exports = {
},
// 通用POST请求
NEW_POST
(
api
,
para
,
callback
)
{
NEW_POST
(
api
,
para
,
callback
)
{
// para.token = para.token || this.token || '00175A13D70D4234822D90AC3C74202C'
return
fetch
({
url
:
getBaseUrl
(
api
),
...
...
src/views/merge-detail.vue
浏览文件 @
9b7fface
...
...
@@ -28,7 +28,10 @@
:studyNum=
"project.studyNum"
:subject=
"project.subject"
/>
<!-- 步骤条 -->
<CmeStep
:currentProgress=
"project.currentProgress"
></CmeStep>
<CmeStep
:currentProgress=
"project.currentProgress"
:studyProgress=
"project.studyProgress"
@
applicationCredit=
"applicationCredit"
/>
<!-- 简介和目录 -->
<div
class=
"intro-catalogue-container"
>
<div
id=
"content-title"
class=
"title"
:class=
"
{'fixed-title': fixedFlag}">
...
...
@@ -65,6 +68,10 @@
</div>
</div>
<Loading
v-show=
"showLoading"
/>
<CommonDialog
:isShowDialog=
"isShowDialog"
:confirmBtnText=
"confirmBtnText"
:content=
"dialogContent"
></CommonDialog>
</div>
</
template
>
...
...
@@ -87,17 +94,22 @@ import LearnKnow from "@/components/cme/learn-know";
import
ItemIntro
from
"@/components/cme/item-intro"
;
import
ItemLeader
from
"@/components/cme/item-leader"
;
import
TeacterIntro
from
"@/components/cme/teacter-intro"
;
import
CommonDialog
from
"@/components/cme/common-dialog"
;
import
{
mapGetters
,
mapActions
}
from
"vuex"
;
import
vueFilters
from
'@/utils/filter'
;
export
default
{
data
()
{
return
{
dialogContent
:
""
,
// 弹框内容
confirmBtnText
:
""
,
// 弹框按钮
isShowDialog
:
false
,
tabFlag
:
true
,
// 显示目录还是简介
fixedFlag
:
false
,
// 目录和简介是否固定
project
:
{
credit
:
""
,
// 学分
creditId
:
0
,
// 学分Id
level
:
""
,
// 项目等级
scope
:
""
,
// 申请范围
remind
:
""
,
// 在不在范围提醒
...
...
@@ -110,7 +122,7 @@ export default {
projectIntro
:
""
,
// 项目介绍
mustKnow
:
''
,
// 学习须知
studyNum
:
0
,
// 学习人数
studyProgress
:
0
,
// 学习进度
studyProgress
:
"0%"
,
// 学习进度
subject
:
""
,
// 学科
status
:
0
,
// 项目状态 1是参加中 5是进行中 10是已结束
},
...
...
@@ -127,10 +139,6 @@ export default {
bannerType
:
1
,
// 1 图片 2视频
videoOptions
:
{
mp4
:
""
,
// mp4: "https://pica-pro.oss-cn-shanghai.aliyuncs.com/2019/03/05/movie.mp4",
// "mp4": "http://1258717429.vod2.myqcloud.com/24a74910vodcq1258717429/7c37c18f5285890786204547811/9BFIyaoXYAcA.mp4",
// "m3u8": "http://2157.liveplay.myqcloud.com/2157_358535a.m3u8",
// "flv": "http://2157.liveplay.myqcloud.com/live/2157_358535a.flv", //增加了一个flv的播放地址,用于PC平台的播放 请替换成实际可用的播放地址
autoplay
:
false
,
//iOS下safari浏览器,以及大部分移动端浏览器是不开放视频自动播放这个能力的
coverpic
:
require
(
"../images/video-cover.png"
),
width
:
"415"
,
//视频的显示宽度,请尽量使用视频分辨率宽度
...
...
@@ -155,12 +163,7 @@ export default {
CommonNavbar
,
CommonDescription
,
CommonSpliteLine
,
// CommonTitle,
// CertShow,
// CellListItem,
CellListDetail
,
// NoPermContent,
// CommonBannerVideo,
Loading
,
CommonTcPlayer
,
CmeStep
,
...
...
@@ -168,7 +171,8 @@ export default {
LearnKnow
,
ItemIntro
,
ItemLeader
,
TeacterIntro
TeacterIntro
,
CommonDialog
},
computed
:
{
...
mapGetters
([
"userInfo"
])
...
...
@@ -176,15 +180,13 @@ export default {
created
()
{
let
_this
=
this
;
this
.
from
=
this
.
$route
.
query
.
from
||
this
.
from
||
"native"
;
this
.
projectId
=
this
.
$route
.
query
.
id
;
this
.
projectId
=
this
.
$route
.
query
.
id
||
1
;
//this.componentId = this.$route.query.componentId;
this
.
moduleId
=
this
.
$route
.
query
.
moduleId
;
this
.
moduleName
=
this
.
$route
.
query
.
moduleName
;
this
.
courseRequire
=
this
.
$route
.
query
.
courseRequire
;
window
.
__getUserInfo64Comp
=
function
(
param
)
{
// alert('__getUserInfo64Comp');
// console.log('__getUserInfo64Comp');
_this
.
token
=
param
.
userToken
;
_this
.
setUserInfo
(
param
);
_this
.
checkToken
();
...
...
@@ -197,8 +199,6 @@ export default {
}
// alert('mounted __before');
window
.
__refresh
=
function
()
{
// alert('mounted __refresh');
// console.log('mounted __refresh');
// _this.getProjectParticularsV2();
_this
.
getUserInfo
();
};
...
...
@@ -240,6 +240,35 @@ export default {
this
.
tabFlag
=
true
;
}
},
// 立即申请学分(判断是否加入机构,是否为认证用户,是否在申请范围内)
applicationCredit
()
{
let
_this
=
this
;
let
param
=
{
id
:
_this
.
projectId
,
creditId
:
_this
.
project
.
creditId
||
1
,
token
:
_this
.
userInfo
.
userToken
||
'AAA613F74B7A4746AEE8354458FF4896'
,
setEntry
:
true
};
_this
.
NEW_POST
(
"cme/credit/applyCheck"
,
param
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
data
==
"219004"
)
{
// 未加入机构
this
.
dialogContent
=
"您暂未加入机构,加入机构后且认证身份后可申请学分"
;
this
.
confirmBtnText
=
"加入机构"
;
this
.
isShowDialog
=
true
;
}
else
if
(
res
.
data
==
"219005"
)
{
// 未身份认证
this
.
dialogContent
=
"您暂未认证身份,完成认证身份后可申请学分"
;
this
.
confirmBtnText
=
"去认证"
;
this
.
isShowDialog
=
true
;
}
else
if
(
res
.
data
==
"219006"
)
{
// 不在申请范围
this
.
dialogContent
=
"您的所属机构不在可申请范围(河北石家庄内)"
;
this
.
confirmBtnText
=
"我知道了"
;
this
.
isShowDialog
=
true
;
}
else
{
}
}
});
},
// 锚点到简介
jumpIntro
()
{
this
.
tabFlag
=
true
;
...
...
@@ -301,6 +330,11 @@ export default {
_this
.
project
=
res
.
data
;
_this
.
projectLeader
=
res
.
data
.
projectLeader
;
_this
.
doctorList
=
res
.
data
.
doctorList
;
if
(
_this
.
project
.
currentProgress
==
2
)
{
this
.
dialogContent
=
"恭喜您已经完成该项目学习及考试,快去申请学分吧"
;
this
.
confirmBtnText
=
"立即申请"
;
this
.
isShowDialog
=
true
;
}
//_this.projectStatus = res.data.projectStatus;
_this
.
projectComponentDTOS
=
_this
.
setListData
(
res
.
data
.
projectComponentDTOS
);
...
...
@@ -486,19 +520,19 @@ export default {
padding-right
:
px2rem
(
35px
);
}
span
.focus
{
color
:
#373839
;
position
:
relative
;
color
:
#373839
;
}
span
.focus
:after
{
content
:
""
;
position
:
absolute
;
left
:
px2rem
(
7px
);
bottom
:
px2rem
(
-1
0
px
);
bottom
:
px2rem
(
-1
4
px
);
background
:
#449284
;
border
:
1px
solid
#449284
;
// border-bottom: px2rem(1px)
solid #449284;
width
:
px2rem
(
10px
);
height
:
px2rem
(
2
px
);
height
:
px2rem
(
3
px
);
border-radius
:
px2rem
(
3px
);
}
}
.title.fixed-title
{
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录