Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
提交
打开侧边栏
com.pica.cloud.education.frontend
pica.cloud.web-education-admin
提交
c9a22f5f
提交
c9a22f5f
编写于
11月 27, 2019
作者:
zhentian.jia
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
多张页面api对接
上级
a22cb9e9
变更
7
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
741 行增加
和
434 行删除
+741
-434
filter.js
src/utils/filter.js
+56
-0
chartData.js
src/utils/learning/chartData.js
+96
-228
item-course-analysis.vue
src/views/learning/item-course-analysis.vue
+15
-4
item-data-all.vue
src/views/learning/item-data-all.vue
+428
-137
item-examination-analysis.vue
src/views/learning/item-examination-analysis.vue
+100
-38
item-learning-effect.vue
src/views/learning/item-learning-effect.vue
+27
-12
item-list.vue
src/views/learning/item-list.vue
+19
-15
未找到文件。
src/utils/filter.js
浏览文件 @
c9a22f5f
...
@@ -232,6 +232,28 @@ const vueFilter = {
...
@@ -232,6 +232,28 @@ const vueFilter = {
}
}
return
avgTime
;
return
avgTime
;
},
},
learnTimeValue
:
(
value
)
=>
{
let
s
=
parseInt
(
value
),
m
=
0
,
h
=
0
;
//秒,分,小时
if
(
s
==
NaN
){
//错误error
return
''
;
}
if
(
s
>
60
)
{
m
=
parseInt
(
s
/
60
);
s
=
parseInt
(
s
%
60
);
if
(
m
>
60
)
{
h
=
parseInt
(
m
/
60
);
m
=
parseInt
(
m
%
60
);
}
}
let
result
=
""
+
parseInt
(
s
)
+
"秒"
;
if
(
m
>
0
)
{
result
=
""
+
parseInt
(
m
)
+
"分"
+
result
;
}
if
(
h
>
0
)
{
result
=
""
+
parseInt
(
h
)
+
"小时"
+
result
;
}
return
result
;
},
getTotalTime
:
(
value
)
=>
{
getTotalTime
:
(
value
)
=>
{
let
time
=
value
+
'分钟'
;
let
time
=
value
+
'分钟'
;
return
time
;
return
time
;
...
@@ -286,5 +308,39 @@ const vueFilter = {
...
@@ -286,5 +308,39 @@ const vueFilter = {
let
rate
=
num
+
'%'
;
let
rate
=
num
+
'%'
;
return
rate
;
return
rate
;
},
},
sexValue
:
(
value
)
=>
{
if
(
value
==
1
)
{
return
'男'
;
}
else
if
(
value
==
2
)
{
return
'女'
;
}
else
if
(
value
==
0
)
{
return
'未知'
;
}
},
joinFlagValue
:
(
value
)
=>
{
if
(
value
==
1
)
{
return
'已参与'
;
}
else
if
(
value
==
2
)
{
return
'未参与'
;
}
},
finishFlagValue
:
(
value
)
=>
{
if
(
value
==
1
)
{
return
'已完成'
;
}
else
if
(
value
==
2
)
{
return
'未完成'
;
}
},
certGradeValue
:
(
value
)
=>
{
if
(
value
==
1
)
{
return
'优秀'
;
}
else
if
(
value
==
2
)
{
return
'良好'
;
}
else
if
(
value
==
3
)
{
return
'及格'
;
}
else
if
(
value
==
4
)
{
return
'不及格'
;
}
},
}
}
export
default
vueFilter
export
default
vueFilter
\ No newline at end of file
src/utils/learning/chartData.js
浏览文件 @
c9a22f5f
此差异已折叠。
点击以展开。
src/views/learning/item-course-analysis.vue
浏览文件 @
c9a22f5f
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
<el-table-column
prop=
"finishCount"
label=
"完成培训人数"
align=
"center"
></el-table-column>
<el-table-column
prop=
"finishCount"
label=
"完成培训人数"
align=
"center"
></el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
min-width=
"50"
align=
"center"
>
<el-table-column
fixed=
"right"
label=
"操作"
min-width=
"50"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"checkName(scope.row)"
type=
"text"
size=
"small"
>
查看名单
</el-button>
<el-button
class=
"button-jump"
@
click=
"checkName(scope.row)"
type=
"text"
size=
"small"
>
查看名单
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<div
slot=
"empty"
>
<div
slot=
"empty"
>
...
@@ -36,6 +36,7 @@
...
@@ -36,6 +36,7 @@
</el-table>
</el-table>
<div
class=
"pagination"
>
<div
class=
"pagination"
>
<el-pagination
<el-pagination
class=
"pagination"
background
background
@
size-change=
"handleSizeChange"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
@
current-change=
"handleCurrentChange"
...
@@ -146,10 +147,12 @@ export default {
...
@@ -146,10 +147,12 @@ export default {
originalFlag
:
vm
.
formInline
.
checked
==
false
?
0
:
1
,
originalFlag
:
vm
.
formInline
.
checked
==
false
?
0
:
1
,
regionId
:
vm
.
formInline
.
region
[
vm
.
formInline
.
region
.
length
-
1
],
regionId
:
vm
.
formInline
.
region
[
vm
.
formInline
.
region
.
length
-
1
],
timeFlag
:
vm
.
formInline
.
timeFlag
,
timeFlag
:
vm
.
formInline
.
timeFlag
,
pageNo
:
vm
.
pageNo
,
pageSize
:
vm
.
pageSize
,
};
};
// console.log("3 req", req);
// console.log("3 req", req);
openLoading
(
vm
);
openLoading
(
vm
);
vm
.
POST
(
"stats/report/course
/"
+
vm
.
pageNo
+
'/'
+
vm
.
pageSize
,
req
).
then
(
res
=>
{
vm
.
POST
(
"stats/report/course
"
,
req
).
then
(
res
=>
{
closeLoading
(
vm
);
closeLoading
(
vm
);
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
code
==
"000000"
)
{
if
(
type
!==
2
)
{
if
(
type
!==
2
)
{
...
@@ -273,8 +276,16 @@ export default {
...
@@ -273,8 +276,16 @@ export default {
}
}
.course-table
{
.course-table
{
top
:
20px
;
top
:
20px
;
padding
:
0
10px
0
10px
;
padding
:
0
;
margin-bottom
:
20px
;
width
:
95%
;
margin
:
0
auto
20px
auto
;
.button-jump
{
color
:
#449284
;
}
}
.pagination
{
margin-top
:
30px
;
margin-right
:
13px
;
}
}
}
}
</
style
>
</
style
>
\ No newline at end of file
src/views/learning/item-data-all.vue
浏览文件 @
c9a22f5f
此差异已折叠。
点击以展开。
src/views/learning/item-examination-analysis.vue
浏览文件 @
c9a22f5f
...
@@ -13,40 +13,48 @@
...
@@ -13,40 +13,48 @@
<div
class=
"spacing"
></div>
<div
class=
"spacing"
></div>
<div
class=
"chart-title"
>
完成项目考试次数情况
</div>
<div
class=
"chart-title"
>
完成项目考试次数情况
</div>
<div
class=
"chart"
id=
"examTimes"
ref=
"examTimes"
></div>
<div
class=
"chart"
id=
"examTimes"
ref=
"examTimes"
></div>
<div
class=
"chart-remarks"
>
注:本报表数据来源包括用户参加正式考试
,不包含摸底考试
。
</div>
<div
class=
"chart-remarks"
>
注:本报表数据来源包括用户参加正式考试
次数,不包含摸底考试次数
。
</div>
<div
class=
"spacing"
></div>
<div
class=
"spacing"
></div>
<div
class=
"chart-title"
>
完成项目考试分数情况
</div>
<!--
<div
class=
"chart-title"
>
完成项目考试分数情况
</div>
-->
<div
class=
"chart-title-more"
>
<p>
完成项目考试分数情况
</p>
<el-radio-group
class=
"rank-radio"
size=
"medium"
v-model=
"rankType"
@
change=
"changeRank"
>
<el-radio-button
label=
"1"
>
1分
</el-radio-button>
<el-radio-button
label=
"5"
>
5分
</el-radio-button>
<el-radio-button
label=
"10"
>
10分
</el-radio-button>
</el-radio-group>
</div>
<div
class=
"chart"
id=
"examScore"
ref=
"examScore"
></div>
<div
class=
"chart"
id=
"examScore"
ref=
"examScore"
></div>
<div
class=
"chart-remarks"
>
注:本报表数据来源包括用户参加正式考试,不包含摸底考试。
</div>
<div
class=
"spacing"
></div>
<div
class=
"spacing"
></div>
<div
class=
"table"
>
<el-table
:data=
"tableData"
border
class=
"exam-table"
>
<el-table
:data=
"tableData"
style=
"width: 100%"
border
>
<el-table-column
prop=
"examType"
label=
"类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"examType"
label=
"类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"examName"
label=
"考试名"
min-width=
"150"
align=
"center"
></el-table-column>
<el-table-column
prop=
"examName"
label=
"考试名"
min-width=
"150"
align=
"center"
></el-table-column>
<el-table-column
prop=
"doctorCount"
label=
"应参与考试人数"
align=
"center"
></el-table-column>
<el-table-column
prop=
"doctorCount"
label=
"应参与考试人数"
align=
"center"
></el-table-column>
<el-table-column
prop=
"passCount"
label=
"通过考试人数"
align=
"center"
></el-table-column>
<el-table-column
prop=
"passCount"
label=
"通过考试人数"
align=
"center"
></el-table-column>
<el-table-column
prop=
"passRate"
label=
"整体通过率"
align=
"center"
>
<el-table-column
prop=
"passRate"
label=
"整体通过率"
align=
"center"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
passRate
|
examRate
}}
</
template
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
passRate
|
examRate
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"joinCount"
label=
"参与考试人数"
align=
"center"
></el-table-column>
<el-table-column
prop=
"joinCount"
label=
"参与考试人数"
align=
"center"
></el-table-column>
<el-table-column
prop=
"joinRate"
label=
"参与通过率"
align=
"center"
>
<el-table-column
prop=
"joinRate"
label=
"参与通过率"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
joinRate
|
examRate
}}
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
joinRate
|
examRate
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"100"
>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"100"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
class=
"button-jump"
type=
"text"
size=
"small"
@
click=
"goPage(scope.row)"
>
查看名单
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"goPage(scope.row)"
>
查看名单
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<div
slot=
"empty"
>
<div
slot=
"empty"
>
<div
class=
"table-empty"
>
<div
class=
"table-empty"
>
<img
src=
"../../assets/image/no-content1.png"
/>
<img
src=
"../../assets/image/no-content1.png"
/>
<p>
没有相关数据,请重新选择查询范围
</p>
<p>
没有相关数据,请重新选择查询范围
</p>
</div>
</div>
</div>
</
el-table
>
</
div
>
</
div
>
</
el-table
>
<!-- 分页 -->
<!-- 分页 -->
<div
class=
"pagination"
>
<div
class=
"pagination"
>
<el-pagination
<el-pagination
class=
"pagination"
background
background
@
size-change=
"handleSizeChange"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
@
current-change=
"handleCurrentChange"
...
@@ -97,7 +105,8 @@ export default {
...
@@ -97,7 +105,8 @@ export default {
chart0
:
{},
chart0
:
{},
chart1
:
{}
chart1
:
{}
},
},
scoreData
:
{}
examData
:
{},
rankType
:
'1'
,
};
};
},
},
created
()
{
created
()
{
...
@@ -145,7 +154,7 @@ export default {
...
@@ -145,7 +154,7 @@ export default {
vm
.
POST
(
"stats/report/exam"
,
req
).
then
(
res
=>
{
vm
.
POST
(
"stats/report/exam"
,
req
).
then
(
res
=>
{
closeLoading
(
vm
);
closeLoading
(
vm
);
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
code
==
"000000"
)
{
vm
.
score
Data
=
res
.
data
;
vm
.
exam
Data
=
res
.
data
;
vm
.
setCardData
(
res
.
data
);
vm
.
setCardData
(
res
.
data
);
vm
.
setExamTimes
(
res
.
data
.
examTimesList
);
vm
.
setExamTimes
(
res
.
data
.
examTimesList
);
vm
.
setExamScore
(
res
.
data
.
examScoreList
);
vm
.
setExamScore
(
res
.
data
.
examScoreList
);
...
@@ -230,6 +239,16 @@ export default {
...
@@ -230,6 +239,16 @@ export default {
vm
.
echartsData
.
chart0
=
myChart
;
vm
.
echartsData
.
chart0
=
myChart
;
vm
.
updateResize
();
vm
.
updateResize
();
},
},
changeRank
(
value
)
{
console
.
log
(
value
);
if
(
value
==
'1'
)
{
vm
.
setExamScore
(
vm
.
examData
.
examScoreList
);
}
else
if
(
value
==
'5'
)
{
vm
.
setExamScore
(
vm
.
examData
.
fiveExamScoreList
);
}
else
if
(
value
==
'10'
)
{
vm
.
setExamScore
(
vm
.
examData
.
tenExamScoreList
);
}
},
setExamScore
(
data
)
{
setExamScore
(
data
)
{
let
myChart
=
echarts
.
init
(
this
.
$refs
.
examScore
);
let
myChart
=
echarts
.
init
(
this
.
$refs
.
examScore
);
let
xAxisData
=
[];
let
xAxisData
=
[];
...
@@ -356,23 +375,66 @@ export default {
...
@@ -356,23 +375,66 @@ export default {
}
}
.chart-title
{
.chart-title
{
position
:
relative
;
position
:
relative
;
margin-top
:
17
px
;
margin-top
:
30
px
;
margin-left
:
30px
;
margin-left
:
30px
;
width
:
100%
;
height
:
25px
;
height
:
60px
;
font-size
:
18px
;
font-size
:
18px
;
font-weight
:
600
;
font-weight
:
600
;
line-height
:
25px
;
line-height
:
60px
;
color
:
#000000
;
color
:
#000000
;
}
}
.chart-title-more
{
position
:
relative
;
width
:
100%
;
height
:
70px
;
p
{
position
:
relative
;
float
:
left
;
width
:
400px
;
margin-top
:
30px
;
margin-left
:
30px
;
height
:
25px
;
font-size
:
18px
;
font-weight
:
600
;
line-height
:
25px
;
color
:
#000000
;
}
.rank-radio
{
position
:
relative
;
margin
:
30px
30px
0
0
;
float
:
right
;
.el-radio-button__inner
{
padding
:
7px
29px
;
}
}
}
.chart
{
.chart
{
position
:
relative
;
position
:
relative
;
margin
:
20px
auto
0
auto
;
margin
:
0
auto
0
auto
;
width
:
860
px
;
width
:
1064
px
;
height
:
3
5
0px
;
height
:
3
8
0px
;
}
}
.chart-remarks
{
.chart-remarks
{
position
:
relative
;
position
:
relative
;
height
:
66px
;
padding
:
20px
0
30px
30px
;
font-size
:
16px
;
font-weight
:
400
;
line-height
:
16px
;
color
:
#666666
;
}
.exam-table
{
top
:
20px
;
padding
:
0
;
width
:
95%
;
margin
:
0
auto
20px
auto
;
.button-jump
{
color
:
#449284
;
}
}
.pagination
{
margin-top
:
30px
;
margin-right
:
13px
;
}
}
}
}
</
style
>
</
style
>
src/views/learning/item-learning-effect.vue
浏览文件 @
c9a22f5f
...
@@ -12,10 +12,12 @@
...
@@ -12,10 +12,12 @@
</div>
</div>
<div
class=
"spacing"
></div>
<div
class=
"spacing"
></div>
<div
class=
"chart-title"
>
不同学历完成项目前后正确率对比
</div>
<div
class=
"chart-title"
>
不同学历完成项目前后正确率对比
</div>
<div
class=
"chart"
ref=
"education"
></div>
<div
class=
"chartEdu"
ref=
"education"
></div>
<div
class=
"chart-remarks"
>
注:本报表数据来源仅仅统计同时包含摸底考和正式考的课程培训。
</div>
<div
class=
"spacing"
></div>
<div
class=
"spacing"
></div>
<div
class=
"chart-title"
>
培训前后知识点掌握情况
</div>
<div
class=
"chart-title"
>
培训前后知识点掌握情况
</div>
<div
class=
"chart"
ref=
"learning"
></div>
<div
class=
"chartLearn"
ref=
"learning"
></div>
<div
class=
"chart-remarks"
>
注:本报表数据来源仅包括有摸底考的课程培训。
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -190,21 +192,34 @@ export default {
...
@@ -190,21 +192,34 @@ export default {
}
}
.chart-title
{
.chart-title
{
position
:
relative
;
position
:
relative
;
margin-top
:
17
px
;
margin-top
:
30
px
;
margin-left
:
30px
;
margin-left
:
30px
;
width
:
100%
;
height
:
25px
;
height
:
60px
;
font-size
:
18px
;
font-size
:
18px
;
font-weight
:
600
;
font-weight
:
600
;
line-height
:
25px
;
line-height
:
60px
;
color
:
#000000
;
color
:
#000000
;
}
}
.chart
{
.chartEdu
{
position
:
relative
;
margin
:
20px
auto
0
auto
;
width
:
1064px
;
height
:
380px
;
}
.chartLearn
{
position
:
relative
;
position
:
relative
;
margin
:
20px
auto
0
auto
;
margin
:
20px
auto
0
auto
;
// width: 100%;
width
:
1064px
;
width
:
860px
;
height
:
462px
;
height
:
350px
;
}
.chart-remarks
{
position
:
relative
;
height
:
66px
;
padding
:
20px
0
30px
30px
;
font-size
:
16px
;
font-weight
:
400
;
line-height
:
16px
;
color
:
#666666
;
}
}
}
}
</
style
>
</
style
>
src/views/learning/item-list.vue
浏览文件 @
c9a22f5f
...
@@ -261,6 +261,8 @@ export default {
...
@@ -261,6 +261,8 @@ export default {
}
}
],
],
areaLen
:
1
,
areaLen
:
1
,
hospitalCnt
:
0
,
hospitalId
:
[],
};
};
},
},
computed
:
{
computed
:
{
...
@@ -285,21 +287,6 @@ export default {
...
@@ -285,21 +287,6 @@ export default {
},
},
methods
:
{
methods
:
{
getDisplay
(
type
)
{
getDisplay
(
type
)
{
// let req = {
// projectId: vm.projectId,
// projectName: vm.projectName,
// };
// openLoading(vm);
// vm.reportGET("report/portal/display", req).then(res => {
// closeLoading(vm);
// if (res.code == "000000") {
// vm.showOriginal = res.data.status;
// vm.roleType = res.data.roleType;
// vm.displayExam = res.data.existExam;
// vm.flag = res.data.flag;
// }
// });
let
reqInfo
=
{
let
reqInfo
=
{
projectId
:
vm
.
projectId
,
projectId
:
vm
.
projectId
,
};
};
...
@@ -436,6 +423,23 @@ export default {
...
@@ -436,6 +423,23 @@ export default {
vm
.
optionsRegion
=
operationData
.
setRegionOptionNew
(
vm
.
optionsRegion
=
operationData
.
setRegionOptionNew
(
res
.
data
.
list
res
.
data
.
list
);
);
// vm.gethHspitalsCnt();
vm
.
search
();
}
});
},
gethHspitalsCnt
()
{
let
req
=
{
projectId
:
vm
.
projectId
,
regionId
:
vm
.
formInline
.
region
[
vm
.
formInline
.
region
.
length
-
1
]
};
vm
.
GET
(
"stats/region/hospitals/cnt"
,
req
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
hospitalCnt
=
res
.
data
.
hospitalCnt
;
vm
.
hospitalCnt
=
1
;
if
(
vm
.
hospitalCnt
==
1
)
{
vm
.
hospitalId
[
0
]
=
res
.
data
.
list
[
0
].
hospitalId
;
}
vm
.
search
();
vm
.
search
();
}
}
});
});
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录