Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
confucius
Commits
02d2181b
Commit
02d2181b
authored
Mar 30, 2022
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加统计
parent
347674db
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
951 additions
and
1 deletion
+951
-1
index.js
src/api/teacher/index.js
+67
-1
everyMonthFirst.vue
src/pages/teacher/everyMonthFirst.vue
+229
-0
everyMonthSecond.vue
src/pages/teacher/everyMonthSecond.vue
+247
-0
everyMonthTotal.vue
src/pages/teacher/everyMonthTotal.vue
+41
-0
monthTotal.vue
src/pages/teacher/monthTotal.vue
+249
-0
yearTotal.vue
src/pages/teacher/yearTotal.vue
+103
-0
routes.js
src/router/routes.js
+15
-0
No files found.
src/api/teacher/index.js
View file @
02d2181b
...
...
@@ -384,4 +384,70 @@ export function setFeedBack(data) {
method
:
'post'
,
data
})
}
\ No newline at end of file
}
/**
* 获取教师端每日统计
* @param {*} data
*/
export
function
GetTeacherDay
(
data
)
{
return
request
({
url
:
'/TeacherStatic/GetTeacherDay'
,
method
:
'post'
,
data
})
}
/**
* 获取教师端每月统计
* @param {*} data
*/
export
function
GetTeacherMonth
(
data
)
{
return
request
({
url
:
'/TeacherStatic/GetTeacherMonth'
,
method
:
'post'
,
data
})
}
/**
* 获取教师端每月成长率统计
* @param {*} data
*/
export
function
GetTeacherStaticMonthRate
(
data
)
{
return
request
({
url
:
'/TeacherStatic/GetTeacherStaticMonthRate'
,
method
:
'post'
,
data
})
}
/**
* 获取教师端每年统计
* @param {*} data
*/
export
function
GetTeacherStaticYear
(
data
)
{
return
request
({
url
:
'/TeacherStatic/GetTeacherStaticYear'
,
method
:
'post'
,
data
})
}
/**
* 获取教师端每年成长率统计
* @param {*} data
*/
export
function
GetTeacherStaticYearRate
(
data
)
{
return
request
({
url
:
'/TeacherStatic/GetTeacherStaticYearRate'
,
method
:
'post'
,
data
})
}
src/pages/teacher/everyMonthFirst.vue
0 → 100644
View file @
02d2181b
<
style
>
.Sysuser_Date
.el-input__inner
{
background
:
transparent
!important
;
border
:
0
!important
;
}
</
style
>
<
template
>
<div>
<div
class=
"col row wrap q-mb-lg"
style=
"justify-content:space-between;"
>
<div
class=
"col-3 Sysuser_Date q-mr-lg"
>
<q-field
filled
dense
>
<template
v-slot:control
>
<el-date-picker
v-model=
"msg.YearStr"
@
change=
"getList"
style=
"width:100%"
value-format=
"yyyy"
size=
"small"
type=
"year"
placeholder=
"选择年"
>
</el-date-picker>
</
template
>
</q-field>
</div>
<div>
<q-btn
color=
"accent"
class=
"q-mr-md"
size=
"sm"
icon=
"download"
style=
"margin-top:15px;"
@
click=
"downloadStudentStaticMonth"
label=
"下载"
/>
</div>
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
ref=
"table"
:loading=
"loading"
:style=
"{'height':tableHeight+'px'}"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table sticky-header-column-table no-bottom-table"
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
""
>
<
template
v-slot:bottom
>
</
template
>
</q-table>
</div>
</div>
</template>
<
script
>
import
{
GetTeacherMonth
}
from
'../../api/teacher/index'
;
import
{
EduDownLoad
}
from
"../../api/common/common"
;
export
default
{
props
:
{},
meta
:
{
title
:
"教师月度数据统计"
},
components
:
{},
data
()
{
return
{
columns
:
[{
name
:
'DateStr'
,
label
:
'日期'
,
field
:
'DateStr'
,
align
:
'left'
},
{
name
:
'StudentCount'
,
label
:
'学生人数'
,
field
:
'StudentCount'
,
align
:
'left'
},
{
name
:
'AttendClassHourScore'
,
label
:
'上课时数'
,
field
:
'AttendClassHourScore'
,
align
:
'left'
,
},
{
name
:
'OnLineInteractiveScore'
,
label
:
'线上与学生互动数'
,
field
:
'OnLineInteractiveScore'
,
align
:
'left'
,
},
{
name
:
'RenewScore'
,
label
:
'续约(含留学)'
,
field
:
'RenewScore'
,
align
:
'left'
},
{
name
:
'UpgradeScore'
,
label
:
'学生升级得分'
,
field
:
'UpgradeScore'
,
align
:
'left'
},
{
name
:
'TransScore'
,
label
:
'转介绍得分'
,
field
:
'TransScore'
,
align
:
'left'
},
{
name
:
'TrialSpeakScore'
,
label
:
'试讲得分'
,
field
:
'TrialSpeakScore'
,
align
:
'left'
},
{
name
:
'TruancyScore'
,
label
:
'学生旷课得分'
,
field
:
'TruancyScore'
,
align
:
'left'
},
{
name
:
'WithdrawsScore'
,
label
:
'学生退课得分'
,
field
:
'WithdrawsScore'
,
align
:
'left'
},
{
name
:
'ComplaintScore'
,
label
:
'学生投诉得分'
,
field
:
'ComplaintScore'
,
align
:
'left'
},
{
name
:
'TeacherBeLateScore'
,
label
:
'老师迟到早退得分'
,
field
:
'TeacherBeLateScore'
,
align
:
'left'
},
{
name
:
'N5ClassHoursScore'
,
label
:
'N5课程时数得分'
,
field
:
'N5ClassHoursScore'
,
align
:
'left'
},
{
name
:
'N4ClassHoursScore'
,
label
:
'N4课程时数得分'
,
field
:
'N4ClassHoursScore'
,
align
:
'left'
},
{
name
:
'N3ClassHoursScore'
,
label
:
'N3课程时数得分'
,
field
:
'N3ClassHoursScore'
,
align
:
'left'
},
{
name
:
'N2ClassHoursScore'
,
label
:
'N2课程时数得分'
,
field
:
'N2ClassHoursScore'
,
align
:
'left'
},
{
name
:
'N1ClassHoursScore'
,
label
:
'N1课程时数得分'
,
field
:
'N1ClassHoursScore'
,
align
:
'left'
},
{
name
:
'MiniAppPractiseScore'
,
label
:
'学生小程序刷题次数得分'
,
field
:
'MiniAppPractiseScore'
,
align
:
'left'
},
{
name
:
'MiniAppTimeScore'
,
label
:
'学生小程序刷题时间得分'
,
field
:
'MiniAppTimeScore'
,
align
:
'left'
},
{
name
:
'TotalScore'
,
label
:
'总分数'
,
field
:
'TotalScore'
,
align
:
'left'
},
{
name
:
'AvgScore'
,
label
:
'所有老师平均分数'
,
field
:
'AvgScore'
,
align
:
'left'
},
{
name
:
'ScoreGap'
,
label
:
'分数差距'
,
field
:
'ScoreGap'
,
align
:
'left'
}
],
dataList
:
[],
loading
:
false
,
myDate
:
''
,
tableHeight
:
500
,
msg
:
{
YearStr
:
''
,
rowsPerPage
:
0
},
}
},
created
()
{
setTimeout
(()
=>
{
this
.
tableHeight
=
window
.
innerHeight
-
this
.
$refs
.
table
.
$el
.
offsetTop
-
90
;
},
100
)
},
mounted
()
{
let
d
=
new
Date
();
this
.
msg
.
YearStr
=
d
.
getFullYear
().
toString
();
this
.
getList
();
},
methods
:
{
downloadStudentStaticMonth
()
{
this
.
loading
=
true
;
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
EduDownLoad
(
"/TeacherStatic/DownLoadTeacherMonth"
,
msg
,
"教师每月数据统计.xls"
,
res
=>
{
this
.
loading
=
false
;
}
);
},
//获取数据
getList
()
{
this
.
loading
=
true
;
GetTeacherMonth
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
}
})
}
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
\ No newline at end of file
src/pages/teacher/everyMonthSecond.vue
0 → 100644
View file @
02d2181b
<
style
>
.Sysuser_Date
.el-input__inner
{
background
:
transparent
!important
;
border
:
0
!important
;
}
.TotalredClass
{
color
:
red
;
}
</
style
>
<
template
>
<div>
<div
class=
"col row wrap q-mb-lg"
style=
"justify-content:space-between;"
>
<div
class=
"col-3 Sysuser_Date q-mr-lg"
>
<q-field
filled
dense
>
<template
v-slot:control
>
<el-date-picker
v-model=
"msg.YearStr"
@
change=
"getList"
style=
"width:100%"
value-format=
"yyyy"
size=
"small"
type=
"year"
placeholder=
"选择年"
>
</el-date-picker>
</
template
>
</q-field>
</div>
<div>
<q-btn
color=
"accent"
class=
"q-mr-md"
size=
"sm"
icon=
"download"
style=
"margin-top:15px;"
label=
"下载"
@
click=
"downloadStudentStaticMonthRate"
/>
</div>
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
ref=
"table"
:loading=
"loading"
:style=
"{'height':tableHeight+'px'}"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table sticky-header-column-table no-bottom-table"
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
""
>
<
template
v-slot:body-cell-JanuaryRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.JanuaryRate
<0
}"
>
{{
props
.
row
.
JanuaryRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-FebruaryRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.FebruaryRate
<0
}"
>
{{
props
.
row
.
FebruaryRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-MarchRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.MarchRate
<0
}"
>
{{
props
.
row
.
MarchRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-AprilRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.AprilRate
<0
}"
>
{{
props
.
row
.
AprilRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-MayRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.MayRate
<0
}"
>
{{
props
.
row
.
MayRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-JuneRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.JuneRate
<0
}"
>
{{
props
.
row
.
JuneRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-JulyRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.JulyRate
<0
}"
>
{{
props
.
row
.
JulyRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-AugustRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.AugustRate
<0
}"
>
{{
props
.
row
.
AugustRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-SeptemberRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.SeptemberRate
<0
}"
>
{{
props
.
row
.
SeptemberRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-OctoberRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.OctoberRate
<0
}"
>
{{
props
.
row
.
OctoberRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-NovemberRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.NovemberRate
<0
}"
>
{{
props
.
row
.
NovemberRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-DecemberRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.DecemberRate
<0
}"
>
{{
props
.
row
.
DecemberRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-AvgRate=
"props"
>
<q-td>
<span
:class=
"
{'TotalredClass':props.row.AvgRate
<0
}"
>
{{
props
.
row
.
AvgRate
}}
%
</span>
</q-td>
</
template
>
<
template
v-slot:bottom
>
</
template
>
</q-table>
</div>
</div>
</template>
<
script
>
import
{
GetTeacherStaticMonthRate
}
from
'../../api/teacher/index'
;
import
{
EduDownLoad
}
from
"../../api/common/common"
;
export
default
{
props
:
{},
meta
:
{
title
:
"教师月度数据统计"
},
components
:
{},
data
()
{
return
{
tabCheck
:
1
,
dataList
:
[],
loading
:
false
,
tableHeight
:
500
,
msg
:
{
YearStr
:
''
,
rowsPerPage
:
0
},
columns
:
[{
name
:
'ItemName'
,
label
:
'名称'
,
field
:
'ItemName'
,
align
:
'left'
},
{
name
:
'JanuaryRate'
,
label
:
'1月'
,
field
:
'JanuaryRate'
,
align
:
'left'
},
{
name
:
'FebruaryRate'
,
label
:
'2月'
,
field
:
'FebruaryRate'
,
align
:
'left'
,
},
{
name
:
'MarchRate'
,
label
:
'3月'
,
field
:
'MarchRate'
,
align
:
'left'
,
},
{
name
:
'AprilRate'
,
label
:
'4月'
,
field
:
'AprilRate'
,
align
:
'left'
},
{
name
:
'MayRate'
,
label
:
'5月'
,
field
:
'MayRate'
,
align
:
'left'
},
{
name
:
'JuneRate'
,
label
:
'6月'
,
field
:
'JuneRate'
,
align
:
'left'
},
{
name
:
'JulyRate'
,
label
:
'7月'
,
field
:
'JulyRate'
,
align
:
'left'
},
{
name
:
'AugustRate'
,
label
:
'8月'
,
field
:
'AugustRate'
,
align
:
'left'
},
{
name
:
'SeptemberRate'
,
label
:
'9月'
,
field
:
'SeptemberRate'
,
align
:
'left'
},
{
name
:
'OctoberRate'
,
label
:
'10月'
,
field
:
'OctoberRate'
,
align
:
'left'
},
{
name
:
'NovemberRate'
,
label
:
'11月'
,
field
:
'NovemberRate'
,
align
:
'left'
},
{
name
:
'DecemberRate'
,
label
:
'12月'
,
field
:
'DecemberRate'
,
align
:
'left'
},
{
name
:
'AvgRate'
,
label
:
'平均'
,
field
:
'AvgRate'
,
align
:
'left'
}
],
}
},
created
()
{
setTimeout
(()
=>
{
this
.
tableHeight
=
window
.
innerHeight
-
this
.
$refs
.
table
.
$el
.
offsetTop
-
90
;
},
100
)
},
mounted
()
{
let
d
=
new
Date
();
this
.
msg
.
YearStr
=
d
.
getFullYear
().
toString
();
this
.
getList
();
},
methods
:
{
//下载文件
downloadStudentStaticMonthRate
()
{
this
.
loading
=
true
;
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
EduDownLoad
(
"/TeacherStatic/DownLoadTeacherStaticMonthRate"
,
msg
,
"教师月成长率统计.xls"
,
res
=>
{
this
.
loading
=
false
;
}
);
},
getList
()
{
this
.
loading
=
true
;
GetTeacherStaticMonthRate
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
}
})
}
}
}
</
script
>
\ No newline at end of file
src/pages/teacher/everyMonthTotal.vue
0 → 100644
View file @
02d2181b
<
template
>
<div
class=
"page-body"
>
<q-tabs
v-model=
"tabCheck"
narrow-indicator
dense
align=
"left"
class=
"text-primary q-mb-sm"
>
<q-tab
:ripple=
"false"
:name=
"1"
label=
"月份统计"
/>
<q-tab
:ripple=
"false"
:name=
"2"
label=
"成长率"
/>
</q-tabs>
<template
v-if=
"tabCheck==1"
>
<everyMonthFirst></everyMonthFirst>
</
template
>
<
template
v-if=
"tabCheck==2"
>
<everyMonthSecond></everyMonthSecond>
</
template
>
</div>
</template>
<
script
>
import
everyMonthFirst
from
'../teacher/everyMonthFirst'
;
import
everyMonthSecond
from
'../teacher/everyMonthSecond'
;
export
default
{
props
:
{},
meta
:
{
title
:
"教师月度数据统计"
},
components
:
{
everyMonthFirst
,
everyMonthSecond
},
data
()
{
return
{
tabCheck
:
1
,
}
},
created
()
{
},
mounted
()
{},
methods
:
{
}
}
</
script
>
src/pages/teacher/monthTotal.vue
0 → 100644
View file @
02d2181b
<
style
>
.Sysuser_Date
.el-input__inner
{
background
:
transparent
!important
;
border
:
0
!important
;
}
.myTable_Zk
tbody
tr
:first-child
td
{
background
:
yellow
!important
;
}
.myTable_Zk
tbody
tr
:first-child
{
background
:
yellow
!important
;
z-index
:
1
!important
;
}
</
style
>
<
template
>
<div
class=
"page-body"
>
<div
class=
"col row wrap q-mb-lg"
style=
"justify-content:space-between;"
>
<div
class=
"col-3 Sysuser_Date q-mr-lg"
>
<q-field
filled
dense
>
<template
v-slot:control
>
<el-date-picker
v-model=
"myDate"
style=
"width:100%"
value-format=
"yyyy-MM"
@
change=
"getCheckDate()"
size=
"small"
type=
"month"
placeholder=
"选择年月"
>
</el-date-picker>
</
template
>
</q-field>
</div>
<div>
<q-btn
color=
"accent"
class=
"q-mr-md"
size=
"sm"
icon=
"download"
style=
"margin-top:15px;"
@
click=
"downloadStudentStatic"
label=
"下载"
/>
</div>
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
ref=
"table"
:loading=
"loading"
:style=
"{'height':tableHeight+'px'}"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table sticky-header-column-table no-bottom-table myTable_Zk"
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
""
>
<
template
v-slot:bottom
>
</
template
>
</q-table>
</div>
</div>
</template>
<
script
>
import
{
GetTeacherDay
}
from
'../../api/teacher/index'
;
import
{
EduDownLoad
}
from
"../../api/common/common"
;
export
default
{
props
:
{},
meta
:
{
title
:
"教师每日数据统计"
},
components
:
{},
data
()
{
return
{
columns
:
[{
name
:
'DateStr'
,
label
:
'日期'
,
field
:
'DateStr'
,
align
:
'left'
},
{
name
:
'StudentCount'
,
label
:
'学生人数'
,
field
:
'StudentCount'
,
align
:
'left'
},
{
name
:
'AttendClassHourScore'
,
label
:
'上课时数'
,
field
:
'AttendClassHourScore'
,
align
:
'left'
,
},
{
name
:
'OnLineInteractiveScore'
,
label
:
'线上与学生互动数'
,
field
:
'OnLineInteractiveScore'
,
align
:
'left'
,
},
{
name
:
'RenewScore'
,
label
:
'续约(含留学)'
,
field
:
'RenewScore'
,
align
:
'left'
},
{
name
:
'UpgradeScore'
,
label
:
'学生升级得分'
,
field
:
'UpgradeScore'
,
align
:
'left'
},
{
name
:
'TransScore'
,
label
:
'转介绍得分'
,
field
:
'TransScore'
,
align
:
'left'
},
{
name
:
'TrialSpeakScore'
,
label
:
'试讲得分'
,
field
:
'TrialSpeakScore'
,
align
:
'left'
},
{
name
:
'TruancyScore'
,
label
:
'学生旷课得分'
,
field
:
'TruancyScore'
,
align
:
'left'
},
{
name
:
'WithdrawsScore'
,
label
:
'学生退课得分'
,
field
:
'WithdrawsScore'
,
align
:
'left'
},
{
name
:
'ComplaintScore'
,
label
:
'学生投诉得分'
,
field
:
'ComplaintScore'
,
align
:
'left'
},
{
name
:
'TeacherBeLateScore'
,
label
:
'老师迟到早退得分'
,
field
:
'TeacherBeLateScore'
,
align
:
'left'
},
{
name
:
'N5ClassHoursScore'
,
label
:
'N5课程时数得分'
,
field
:
'N5ClassHoursScore'
,
align
:
'left'
},
{
name
:
'N4ClassHoursScore'
,
label
:
'N4课程时数得分'
,
field
:
'N4ClassHoursScore'
,
align
:
'left'
},
{
name
:
'N3ClassHoursScore'
,
label
:
'N3课程时数得分'
,
field
:
'N3ClassHoursScore'
,
align
:
'left'
},
{
name
:
'N2ClassHoursScore'
,
label
:
'N2课程时数得分'
,
field
:
'N2ClassHoursScore'
,
align
:
'left'
},
{
name
:
'N1ClassHoursScore'
,
label
:
'N1课程时数得分'
,
field
:
'N1ClassHoursScore'
,
align
:
'left'
},
{
name
:
'MiniAppPractiseScore'
,
label
:
'学生小程序刷题次数得分'
,
field
:
'MiniAppPractiseScore'
,
align
:
'left'
},
{
name
:
'MiniAppTimeScore'
,
label
:
'学生小程序刷题时间得分'
,
field
:
'MiniAppTimeScore'
,
align
:
'left'
},
{
name
:
'TotalScore'
,
label
:
'总分数'
,
field
:
'TotalScore'
,
align
:
'left'
},
{
name
:
'AvgScore'
,
label
:
'所有老师平均分数'
,
field
:
'AvgScore'
,
align
:
'left'
},
{
name
:
'ScoreGap'
,
label
:
'分数差距'
,
field
:
'ScoreGap'
,
align
:
'left'
}
],
dataList
:
[],
loading
:
false
,
myDate
:
''
,
tableHeight
:
500
,
msg
:
{
YearStr
:
''
,
MonthStr
:
''
,
rowsPerPage
:
0
},
}
},
created
()
{
setTimeout
(()
=>
{
this
.
tableHeight
=
window
.
innerHeight
-
this
.
$refs
.
table
.
$el
.
offsetTop
-
90
;
},
100
)
},
mounted
()
{
let
d
=
new
Date
();
this
.
msg
.
YearStr
=
d
.
getFullYear
().
toString
();
this
.
msg
.
MonthStr
=
(
d
.
getMonth
()
+
1
).
toString
();
this
.
myDate
=
this
.
msg
.
YearStr
+
'-'
+
this
.
msg
.
MonthStr
this
.
getList
();
},
methods
:
{
//下载数据
downloadStudentStatic
()
{
this
.
loading
=
true
;
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
EduDownLoad
(
"/TeacherStatic/DownLoadTeacherDay"
,
msg
,
"教师每日数据统计.xls"
,
res
=>
{
this
.
loading
=
false
;
}
);
},
getCheckDate
()
{
if
(
this
.
myDate
)
{
this
.
msg
.
YearStr
=
this
.
myDate
.
split
(
'-'
)[
0
];
this
.
msg
.
MonthStr
=
this
.
myDate
.
split
(
'-'
)[
1
];
this
.
getList
();
}
},
//获取数据
getList
()
{
this
.
loading
=
true
;
GetTeacherDay
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
}
})
}
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
\ No newline at end of file
src/pages/teacher/yearTotal.vue
0 → 100644
View file @
02d2181b
<
template
>
<div
class=
"page-body"
>
<q-tabs
v-model=
"tabCheck"
@
input=
"getList"
narrow-indicator
dense
align=
"left"
class=
"text-primary q-mb-sm"
>
<q-tab
:ripple=
"false"
:name=
"1"
label=
"年份统计"
/>
<q-tab
:ripple=
"false"
:name=
"2"
label=
"成长率"
/>
</q-tabs>
<div
class=
"col row wrap q-mb-lg"
>
<div
class=
"col-3 Sysuser_Date q-mr-lg"
style=
"display:none;"
>
<q-field
filled
dense
>
<template
v-slot:control
>
<el-date-picker
v-model=
"msg.YearStr"
@
change=
"getList"
style=
"width:100%"
value-format=
"yyyy"
size=
"small"
type=
"year"
placeholder=
"选择年"
>
</el-date-picker>
</
template
>
</q-field>
</div>
<div>
<q-btn
color=
"accent"
class=
"q-mr-md"
size=
"sm"
icon=
"download"
style=
"margin-top:15px;"
label=
"下载"
@
click=
"downloadStudentStaticYear"
/>
</div>
</div>
<yearFirst
:dataList=
"dataList"
:tabCheck=
"tabCheck"
></yearFirst>
</div>
</template>
<
script
>
import
{
EduDownLoad
}
from
"../../api/common/common"
;
import
yearFirst
from
'../sale/yearFirst'
;
import
{
GetTeacherStaticYear
,
GetTeacherStaticYearRate
}
from
'../../api/teacher/index'
;
export
default
{
props
:
{},
meta
:
{
title
:
"教师年度数据统计"
},
components
:
{
yearFirst
},
data
()
{
return
{
tabCheck
:
1
,
dataList
:
[],
msg
:
{
YearStr
:
''
,
rowsPerPage
:
0
}
}
},
created
()
{
},
mounted
()
{
let
d
=
new
Date
();
this
.
msg
.
YearStr
=
d
.
getFullYear
().
toString
();
this
.
getList
();
},
methods
:
{
//下载文件
downloadStudentStaticYear
()
{
this
.
loading
=
true
;
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
var
url
=
"/TeacherStatic/DownLoadTeacherStaticYear"
;
var
fileName
=
"教师年数据统计.xls"
;
if
(
this
.
tabCheck
==
2
)
{
url
=
"/TeacherStatic/DownLoadTeacherStaticYearRate"
;
fileName
=
"教师年成长率数据统计.xls"
;
}
EduDownLoad
(
url
,
msg
,
fileName
,
res
=>
{
this
.
loading
=
false
;
}
);
},
//获取数据
getList
()
{
if
(
this
.
tabCheck
==
1
)
{
this
.
loading
=
true
;
GetTeacherStaticYear
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
}
})
}
else
{
this
.
loading
=
true
;
GetTeacherStaticYearRate
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
}
})
}
}
}
}
</
script
>
\ No newline at end of file
src/router/routes.js
View file @
02d2181b
...
...
@@ -1391,6 +1391,21 @@ const routes = [{
component
:
()
=>
import
(
"pages/teacher/myClass"
)
},
{
path
:
"/teacher/monthTotal"
,
//教师每日数据统计
component
:
()
=>
import
(
"pages/teacher/monthTotal"
)
},
{
path
:
"/teacher/everyMonthTotal"
,
//教师月度统计
component
:
()
=>
import
(
"pages/teacher/everyMonthTotal"
)
},
{
path
:
"/teacher/yearTotal"
,
//教师年度统计
component
:
()
=>
import
(
"pages/teacher/yearTotal"
)
},
{
path
:
"/exam/examPaper"
,
//试卷管理
component
:
()
=>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment