Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
提交
议题看板
打开侧边栏
jingqi.liu
pica.cloud.web-education-admin
提交
c21a601a
提交
c21a601a
编写于
5月 07, 2019
作者:
zhentian.jia
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
项目列表页面
上级
1a32970d
变更
6
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
356 行增加
和
0 行删除
+356
-0
router.js
src/router/router.js
+4
-0
operation.js
src/utils/operation.js
+18
-0
slidebar.vue
src/views/layout/slidebar.vue
+11
-0
course-analysis.vue
src/views/learning/course-analysis.vue
+79
-0
crowd-analysis.vue
src/views/learning/crowd-analysis.vue
+55
-0
item-list.vue
src/views/learning/item-list.vue
+189
-0
未找到文件。
src/router/router.js
浏览文件 @
c21a601a
...
@@ -8,6 +8,7 @@ const createComponent = r => require.ensure([], () => r(require('../views/educat
...
@@ -8,6 +8,7 @@ const createComponent = r => require.ensure([], () => r(require('../views/educat
const
roleManager
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/system/role.vue'
)),
'role'
)
const
roleManager
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/system/role.vue'
)),
'role'
)
const
addManager
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/add-manager.vue'
)),
'add-manager'
)
const
addManager
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/add-manager.vue'
)),
'add-manager'
)
const
itemRole
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/system/item-role.vue'
)),
'item-role'
)
const
itemRole
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/system/item-role.vue'
)),
'item-role'
)
const
itemList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/learning/item-list.vue'
)),
'item-list'
)
export
default
[{
export
default
[{
path
:
'/'
,
path
:
'/'
,
...
@@ -43,6 +44,9 @@ export default [{
...
@@ -43,6 +44,9 @@ export default [{
},{
},{
path
:
'/item-role'
,
path
:
'/item-role'
,
component
:
itemRole
component
:
itemRole
},{
path
:
'/item-list'
,
component
:
itemList
},
},
]
]
}]
}]
\ No newline at end of file
src/utils/operation.js
浏览文件 @
c21a601a
...
@@ -273,3 +273,21 @@ export function getEcologySelect (data) {
...
@@ -273,3 +273,21 @@ export function getEcologySelect (data) {
}
}
return
ecologyist
;
return
ecologyist
;
}
}
export
function
getRegionOption
()
{
let
option
=
[{
value
:
'zhejiang'
,
label
:
'浙江'
,
children
:
[{
value
:
'hangzhou'
,
label
:
'杭州'
,
children
:
[{
value
:
'xihu'
,
label
:
'西湖区'
},
{
value
:
'donghu'
,
label
:
'东湖区'
}]
}]
}];
return
option
;
}
\ No newline at end of file
src/views/layout/slidebar.vue
浏览文件 @
c21a601a
...
@@ -69,6 +69,17 @@ export default {
...
@@ -69,6 +69,17 @@ export default {
index
:
'role'
index
:
'role'
}
}
]
]
},{
title
:
'学期报告'
,
icon
:
'el-icon-menu'
,
index
:
'learning'
,
subs
:
[
{
title
:
'项目列表'
,
icon
:
'el-icon-setting'
,
index
:
'item-list'
},
]
}
}
]
]
}
}
...
...
src/views/learning/course-analysis.vue
0 → 100644
浏览文件 @
c21a601a
<
template
>
<div
class=
"course-analysis-wrap"
>
<div
v-for=
"(item , index) in cardData"
:key=
"index"
class=
""
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"title"
>
<span
class=
"weight"
>
{{
item
.
title
}}
</span>
</div>
<div
class=
"box-content"
>
<span
class=
"weight"
>
{{
item
.
num
}}
</span>
{{
item
.
unit
}}
</div>
</el-card>
</div>
</div>
</
template
>
<
script
>
import
{
create
}
from
"domain"
;
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
let
vm
=
null
;
export
default
{
props
:
{
formInline
:
{
type
:
Object
},
},
data
()
{
return
{
cardData
:
[
{
title
:
'项目所有课程数'
,
num
:
9
,
unit
:
'门课程'
,
},{
title
:
'项目所有课程总时长'
,
num
:
500
,
unit
:
'分钟'
,
},{
title
:
'项目人均学习时长'
,
num
:
265
,
unit
:
'分钟'
,
}
]
}
},
// computed: {
// ...mapGetters([
// "_token",
// ])
// },
created
()
{
vm
=
this
;
},
methods
:
{
},
}
</
script
>
<
style
lang=
"scss"
>
.course-analysis-wrap
{
.component-content
{
background
:
#fff
;
padding
:
10px
;
.weight
{
font-weight
:
bold
;
}
.title
:after
{
clear
:
both
}
.box-card
{
width
:
240px
;
margin-right
:
30px
;
float
:
left
;
.box-content
{
text-align
:
center
;
height
:
40px
;
}
}
}
}
</
style
>
\ No newline at end of file
src/views/learning/crowd-analysis.vue
0 → 100644
浏览文件 @
c21a601a
<
template
>
<div
class=
"crowd-analysis-wrap"
>
<div>
{{
formInline
.
date
}}
</div>
</div>
</
template
>
<
script
>
import
BreadCrumb
from
"../../components/breadcrumb.vue"
;
import
{
create
}
from
"domain"
;
import
{
mapGetters
}
from
'vuex'
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
*
as
commonUtil
from
"../../utils/utils"
;
let
vm
=
null
;
export
default
{
components
:
{
BreadCrumb
},
props
:
{
formInline
:
{
type
:
Object
},
},
data
()
{
return
{
}
},
// computed: {
// ...mapGetters([
// "_token",
// ])
// },
created
()
{
vm
=
this
;
console
.
log
(
'formInline:'
,
this
.
formInline
);
},
mounted
:
function
()
{
commonUtil
.
resizeHeight
();
},
methods
:
{
},
}
</
script
>
<
style
lang=
"scss"
>
.crowd-analysis-wrap
{
.component-content
{
background
:
#fff
;
padding
:
10px
;
.header-title
{
padding
:
10px
12px
;
font-size
:
12px
;
color
:
#449284
;
border-bottom
:
1px
solid
#efefef
;
}
}
}
</
style
>
\ No newline at end of file
src/views/learning/item-list.vue
0 → 100644
浏览文件 @
c21a601a
<
template
>
<div
class=
"course-analysis-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
></bread-crumb>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<el-row
:gutter=
"30"
class=
"row"
type=
"flex"
style=
"margin-top: 10px;"
>
<el-form
ref=
"formInline"
:model=
"formInline"
label-width=
"75px"
style=
"width:100%;"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"选择地区:"
>
<el-cascader
:options=
"optionsRegion"
v-model=
"formInline.region"
@
change=
"handleChange"
>
</el-cascader>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"选择日期:"
>
<el-date-picker
v-model=
"formInline.date"
size=
"small"
type=
"daterange"
placeholder=
"请选择开始时间"
range-separator=
"~"
value-format=
"yyyy-MM-dd 00:00:00"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"8"
style=
"padding:0;text-align:right;padding-right:15px;"
>
<el-button
type=
"default"
size=
"small"
@
click=
"reset"
>
重置
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"search"
style=
"margin-left:0;"
>
查询
</el-button>
</el-col>
</el-form>
</el-row>
<el-row>
<el-col
:span=
"5"
>
<el-form
ref=
"formInline"
:model=
"formInline"
label-width=
"75px"
style=
"width:100%;"
>
<el-form-item
label=
"选择机构:"
>
<el-select
size=
"small"
v-model=
"formInline.organization"
placeholder=
"请选择发布状态"
@
change=
"changeOrganization"
>
<el-option
v-for=
"item in organizationList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-form>
</el-col>
</el-row>
<div
class=
"choose"
>
{{
chooseOrganization
}}
</div>
<div
class=
"button-group"
>
<el-button
type=
"default"
size=
"small"
@
click=
"exportExcel"
>
导出Excel
</el-button>
<el-button
type=
"default"
size=
"small"
@
click=
"update"
>
修改范围
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"release"
>
发布报告
</el-button>
</div>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"参与情况"
name=
"first"
>
</el-tab-pane>
<el-tab-pane
label=
"人群分析"
name=
"second"
>
<crowd-analysis
:formInline=
"formInline"
>
</crowd-analysis>
</el-tab-pane>
<el-tab-pane
label=
"课程分析"
name=
"third"
>
<course-analysis
:formInline=
"formInline"
>
</course-analysis>
</el-tab-pane>
<el-tab-pane
label=
"考试分析"
name=
"fourth"
>
</el-tab-pane>
<el-tab-pane
label=
"学习效果分析"
name=
"fifth"
>
</el-tab-pane>
</el-tabs>
</div>
</div>
</
template
>
<
script
>
import
BreadCrumb
from
"../../components/breadcrumb.vue"
;
import
CourseAnalysis
from
"./course-analysis.vue"
;
import
CrowdAnalysis
from
"./crowd-analysis.vue"
;
import
{
create
}
from
"domain"
;
import
{
mapGetters
}
from
'vuex'
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
*
as
commonUtil
from
"../../utils/utils"
;
import
*
as
operationData
from
"../../utils/operation"
;
let
vm
=
null
;
export
default
{
components
:
{
BreadCrumb
,
CourseAnalysis
,
CrowdAnalysis
},
data
()
{
return
{
curmbFirst
:
"学情报告"
,
curmbSecond
:
"项目列表"
,
organizationList
:
[
{
label
:
'西湖区第二人民医院'
,
value
:
'1'
,
},
{
label
:
'杭州市中医院'
,
value
:
'2'
,
}
],
chooseOrganization
:
''
,
optionsRegion
:
[],
formInline
:
{
region
:
[],
date
:
''
,
organization
:
''
,
},
activeName
:
'second'
,
}
},
computed
:
{
...
mapGetters
([
"_token"
,
// "idType",
// "masterAdministratorFlag"
])
},
created
()
{
vm
=
this
;
this
.
getRegionOption
();
},
mounted
:
function
()
{
commonUtil
.
resizeHeight
();
},
methods
:
{
handleClick
(
tab
,
event
)
{
console
.
log
(
tab
,
event
);
},
handleChange
(
value
)
{
console
.
log
(
value
);
},
changeOrganization
(
value
)
{
for
(
let
i
=
0
;
i
<
this
.
organizationList
.
length
;
i
++
)
{
if
(
value
==
this
.
organizationList
[
i
].
value
)
{
this
.
chooseOrganization
=
this
.
organizationList
[
i
].
label
;
}
}
},
getRegionOption
()
{
this
.
optionsRegion
=
operationData
.
getRegionOption
();
},
search
()
{
},
reset
()
{
},
exportExcel
()
{
},
update
()
{
},
release
()
{
},
},
}
</
script
>
<
style
lang=
"scss"
>
.course-analysis-wrap
{
.component-content
{
background
:
#fff
;
padding
:
10px
;
.header-title
{
padding
:
10px
12px
;
font-size
:
12px
;
color
:
#449284
;
border-bottom
:
1px
solid
#efefef
;
}
.button-group
{
// position: absolute;
// right: 100px;
float
:
right
;
margin-right
:
20px
;
}
.choose
{
font-size
:
12px
;
margin-bottom
:
20px
;
}
.el-tabs__item.is-active
{
color
:
#409EFF
;
}
}
}
</
style
>
\ No newline at end of file
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录