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
754ce335
Commit
754ce335
authored
Sep 23, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
820790b2
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
720 additions
and
499 deletions
+720
-499
classPlan.vue
src/pages/stuMan/classPlan.vue
+283
-198
teachTable.vue
src/pages/teacher/components/teachTable.vue
+194
-155
teacherSchedule.vue
src/pages/teacher/teacherSchedule.vue
+236
-144
routes.js
src/router/routes.js
+7
-2
No files found.
src/pages/stuMan/classPlan.vue
View file @
754ce335
...
...
@@ -2,84 +2,164 @@
<div
class=
"page-body MainPlan xg"
>
<div
class=
"col row wrap q-col-gutter-md"
>
<div
class=
"col-2 flex"
>
<el-select
v-model=
"msg.TeacherId"
style=
"width:100%;"
placeholder=
"教师"
size=
"small"
@
change=
"getPlanList()"
>
<el-option
v-for=
"item in TeacherList"
:key=
"item.TeacherName"
:label=
"item.TeacherName"
:value=
"item.TId"
>
<el-select
v-model=
"msg.TeacherId"
style=
"width: 100%"
placeholder=
"教师"
size=
"small"
@
change=
"getPlanList()"
>
<el-option
v-for=
"item in TeacherList"
:key=
"item.TeacherName"
:label=
"item.TeacherName"
:value=
"item.TId"
>
</el-option>
<div
slot=
"prefix"
class=
"full-height flex items-center"
style=
"color:#000;padding-right:10px"
>
<div
slot=
"prefix"
class=
"full-height flex items-center"
style=
"color: #000; padding-right: 10px"
>
教师:
</div>
</el-select>
</div>
<div
class=
"col-2"
>
<el-select
v-model=
"msg.ClassRoomId"
style=
"width:100%;"
placeholder=
"教室"
size=
"small"
@
change=
"getTypeWay()"
>
<el-option
v-for=
"item in ClassRoomList"
:key=
"item.RoomName"
:label=
"item.RoomName"
:value=
"item.RoomId"
>
<el-select
v-model=
"msg.ClassRoomId"
style=
"width: 100%"
placeholder=
"教室"
size=
"small"
@
change=
"getTypeWay()"
>
<el-option
v-for=
"item in ClassRoomList"
:key=
"item.RoomName"
:label=
"item.RoomName"
:value=
"item.RoomId"
>
</el-option>
<div
slot=
"prefix"
class=
"full-height flex items-center"
style=
"color:#000;padding-right:10px"
>
<div
slot=
"prefix"
class=
"full-height flex items-center"
style=
"color: #000; padding-right: 10px"
>
教室:
</div>
</el-select>
</div>
<div
class=
"col-2"
style=
"width:13%"
>
<el-date-picker
v-model=
"msg.StartTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"开始日期"
size=
"small"
style=
"width:100%;"
@
change=
"getTypeWay()"
:picker-options=
"picker"
:clearable=
"false"
>
<div
class=
"col-2"
style=
"width: 13%"
>
<el-date-picker
v-model=
"msg.StartTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"开始日期"
size=
"small"
style=
"width: 100%"
@
change=
"getTypeWay()"
:picker-options=
"picker"
:clearable=
"false"
>
</el-date-picker>
</div>
<div
class=
"col-2"
style=
"width:13%"
>
<el-date-picker
v-model=
"msg.EndTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"结束日期"
size=
"small"
style=
"width:100%;"
@
change=
"getTypeWay()"
clear-icon=
"iconfont icon-guanbi"
:picker-options=
"pickerEnd"
>
<div
class=
"col-2"
style=
"width: 13%"
>
<el-date-picker
v-model=
"msg.EndTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"结束日期"
size=
"small"
style=
"width: 100%"
@
change=
"getTypeWay()"
clear-icon=
"iconfont icon-guanbi"
:picker-options=
"pickerEnd"
>
</el-date-picker>
</div>
<div
class=
"col-1"
style=
"width:10%"
>
<el-select
v-model=
"msg.ClassType"
style=
"width:100%;"
placeholder=
"类型"
size=
"small"
@
change=
"getTypeWay()"
>
<el-option
:key=
"0"
label=
"全部"
:value=
"0"
>
</el-option>
<el-option
:key=
"1"
label=
"正常"
:value=
"1"
>
</el-option>
<el-option
:key=
"2"
label=
"试听课"
:value=
"2"
>
</el-option>
<div
slot=
"prefix"
class=
"full-height flex items-center"
style=
"color:#000;padding-right:10px"
>
<div
class=
"col-1"
style=
"width: 10%"
>
<el-select
v-model=
"msg.ClassType"
style=
"width: 100%"
placeholder=
"类型"
size=
"small"
@
change=
"getTypeWay()"
>
<el-option
:key=
"0"
label=
"全部"
:value=
"0"
>
</el-option>
<el-option
:key=
"1"
label=
"正常"
:value=
"1"
>
</el-option>
<el-option
:key=
"2"
label=
"试听课"
:value=
"2"
>
</el-option>
<div
slot=
"prefix"
class=
"full-height flex items-center"
style=
"color: #000; padding-right: 10px"
>
状态:
</div>
</el-select>
</div>
<div
class=
"col-3"
style=
"width:30%"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
style=
"margin-top:2px;"
@
click=
"exchangeType"
:label=
"typeName"
/>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
label=
"下载计划"
@
click=
"downLoadPlan()"
/>
<q-btn
color=
"negative"
size=
"sm"
label=
"调课申请"
@
click=
"openForm"
></q-btn>
<div
class=
"col-3"
style=
"width: 30%"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
style=
"margin-top: 2px"
@
click=
"exchangeType"
:label=
"typeName"
/>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
label=
"下载计划"
@
click=
"downLoadPlan()"
/>
<q-btn
color=
"negative"
size=
"sm"
label=
"调课申请"
@
click=
"openForm"
></q-btn>
</div>
</div>
<classmateForm
:dataList=
"dataList"
v-if=
"commonType==1"
></classmateForm>
<change-class-form
v-if=
"persistent"
@
close=
"closeSaveForm"
@
success=
"refreshPage"
></change-class-form>
<teachTable
v-if=
"commonType==2"
:tableData=
"tableData"
:PageCount=
"PageCount"
:setMsg=
"tabMsg"
:showCZ=
"false"
@
getChange=
"getChange"
></teachTable>
<classmateForm
:dataList=
"dataList"
v-if=
"commonType == 1"
></classmateForm>
<change-class-form
v-if=
"persistent"
@
close=
"closeSaveForm"
@
success=
"refreshPage"
></change-class-form>
<teachTable
v-if=
"commonType == 2"
:tableData=
"tableData"
:PageCount=
"PageCount"
:setMsg=
"tabMsg"
:showCZ=
"false"
@
getChange=
"getChange"
></teachTable>
</div>
</
template
>
<
script
>
import
{
import
{
getTeacherDropDownList
,
queryClassRoomList
}
from
'../../api/school/index'
import
{
queryClassRoomList
,
}
from
"../../api/school/index"
;
import
{
GetClassPlanStatistical
,
GetClassPlanStatisticalPage
}
from
'../../api/teacher/index'
;
import
{
EduDownLoad
,
}
from
'../../api/common/common'
;
import
classmateForm
from
'../../components/course/classmate-form'
;
import
teachTable
from
'../teacher/components/teachTable'
;
import
changeClassForm
from
'../../components/teacher/changeClassForm.vue'
GetClassPlanStatisticalPage
,
}
from
"../../api/teacher/index"
;
import
{
EduDownLoad
}
from
"../../api/common/common"
;
import
classmateForm
from
"../../components/course/classmate-form"
;
import
teachTable
from
"../teacher/components/teachTable"
;
import
changeClassForm
from
"../../components/teacher/changeClassForm.vue"
;
export
default
{
export
default
{
meta
:
{
title
:
"教师课表"
title
:
"教师课表"
,
},
components
:
{
classmateForm
,
teachTable
,
changeClassForm
changeClassForm
,
},
data
()
{
return
{
...
...
@@ -87,29 +167,29 @@
TeacherList
:
[],
//教师团队
ClassRoomList
:
[],
//
StartTime
:
""
,
EndTime
:
''
,
EndTime
:
""
,
TeacherId
:
0
,
ClassRoomId
:
0
,
dataList
:
{},
activeNames
:
[
1
],
msg
:
{
StartTime
:
""
,
EndTime
:
''
,
EndTime
:
""
,
TeacherId
:
0
,
ClassRoomId
:
0
,
ClassType
:
0
,
},
commonType
:
1
,
//1日历模式 2列表模式
typeName
:
'列表模式'
,
typeName
:
"列表模式"
,
tabMsg
:
{
PageIndex
:
1
,
PageSize
:
12
,
rowsPerPage
:
12
,
StartTime
:
''
,
EndTime
:
''
,
StartTime
:
""
,
EndTime
:
""
,
TeacherId
:
0
,
ClassRoomId
:
0
,
ClassType
:
0
ClassType
:
0
,
},
tableData
:
[],
//表格数据
PageCount
:
0
,
...
...
@@ -121,18 +201,18 @@
// }else{
// return time.getTime()
<
Date
.
now
()
-
8.64e7
// }
}
},
},
pickerEnd
:
{
disabledDate
:
(
time
)
=>
{
let
startTime
=
this
.
msg
.
StartTime
let
startTime
=
this
.
msg
.
StartTime
;
if
(
startTime
)
{
return
time
.
getTime
()
<=
new
Date
(
startTime
).
getTime
()
-
8.64e7
return
time
.
getTime
()
<=
new
Date
(
startTime
).
getTime
()
-
8.64e7
;
}
else
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
}
}
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
}
},
},
};
},
created
()
{
...
...
@@ -140,10 +220,16 @@
this
.
msg
.
ClassType
=
this
.
$route
.
query
.
ClassType
;
}
let
date
=
new
Date
();
let
today
=
date
.
getFullYear
()
+
'-'
+
(
date
.
getMonth
()
<
9
?
'0'
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
)
+
'-'
+
(
date
.
getDate
()
<
10
?
'0'
+
date
.
getDate
()
:
date
.
getDate
())
this
.
msg
.
StartTime
=
today
this
.
tabMsg
.
StartTime
=
today
let
today
=
date
.
getFullYear
()
+
"-"
+
(
date
.
getMonth
()
<
9
?
"0"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
)
+
"-"
+
(
date
.
getDate
()
<
10
?
"0"
+
date
.
getDate
()
:
date
.
getDate
());
this
.
msg
.
StartTime
=
today
;
this
.
tabMsg
.
StartTime
=
today
;
this
.
getClassRoomList
();
},
mounted
()
{
...
...
@@ -151,62 +237,63 @@
this
.
getPlanList
();
},
methods
:
{
downLoadPlan
()
{
//导出
downLoadPlan
()
{
//导出
var
newMsg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
EduDownLoad
(
"/Class/DownLoadClassPlan"
,
newMsg
,
"老师上课计划.xls"
)
EduDownLoad
(
"/Class/DownLoadClassPlan"
,
newMsg
,
"老师上课计划.xls"
);
},
refreshPage
()
{
this
.
getPlanList
();
},
openForm
()
{
this
.
persistent
=
true
this
.
persistent
=
true
;
},
closeSaveForm
()
{
this
.
persistent
=
false
this
.
persistent
=
false
;
},
// 获取校区教室导航列表
getPlanList
()
{
GetClassPlanStatistical
(
this
.
msg
).
then
(
res
=>
{
GetClassPlanStatistical
(
this
.
msg
).
then
((
res
)
=>
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
}
})
});
},
//获取教师下拉
GetTeacherList
()
{
getTeacherDropDownList
({}).
then
(
res
=>
{
getTeacherDropDownList
({}).
then
((
res
)
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList
=
res
.
Data
;
var
obj
=
{
TeacherName
:
'请选择'
,
TId
:
0
}
TeacherName
:
"请选择"
,
TId
:
0
,
};
this
.
TeacherList
.
unshift
(
obj
);
}
})
});
},
//获取教室下拉
getClassRoomList
()
{
queryClassRoomList
({}).
then
(
res
=>
{
queryClassRoomList
({}).
then
((
res
)
=>
{
if
(
res
.
Code
==
1
)
{
this
.
ClassRoomList
=
res
.
Data
;
var
obj
=
{
RoomName
:
'请选择'
,
RoomId
:
0
}
RoomName
:
"请选择"
,
RoomId
:
0
,
};
this
.
ClassRoomList
.
unshift
(
obj
);
}
})
});
},
exchangeType
()
{
if
(
this
.
commonType
==
1
)
{
this
.
commonType
=
2
this
.
typeName
=
'日历模式'
this
.
getTableList
()
this
.
commonType
=
2
;
this
.
typeName
=
"日历模式"
;
this
.
getTableList
();
}
else
{
this
.
commonType
=
1
;
this
.
typeName
=
'列表模式'
this
.
getPlanList
()
this
.
typeName
=
"列表模式"
;
this
.
getPlanList
();
}
},
getTableList
()
{
...
...
@@ -214,31 +301,29 @@
this
.
tabMsg
.
EndTime
=
this
.
msg
.
EndTime
;
this
.
tabMsg
.
ClassRoomId
=
this
.
msg
.
ClassRoomId
;
this
.
tabMsg
.
ClassType
=
this
.
msg
.
ClassType
;
GetClassPlanStatisticalPage
(
this
.
tabMsg
).
then
(
res
=>
{
GetClassPlanStatisticalPage
(
this
.
tabMsg
).
then
((
res
)
=>
{
if
(
res
.
Code
==
1
)
{
this
.
tableData
=
res
.
Data
.
PageData
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
}
})
});
},
getChange
(
val
)
{
this
.
tabMsg
.
PageIndex
=
val
;
this
.
getTableList
()
this
.
getTableList
();
},
getTypeWay
()
{
if
(
this
.
commonType
==
2
)
{
this
.
getTableList
()
this
.
getTableList
();
}
else
{
this
.
getPlanList
()
}
}
this
.
getPlanList
();
}
};
},
},
};
</
script
>
<
style
lang=
"scss"
>
.xg
.el-input--prefix
.el-input__inner
{
.xg
.el-input--prefix
.el-input__inner
{
padding-left
:
50px
;
}
}
</
style
>
src/pages/teacher/components/teachTable.vue
View file @
754ce335
<
template
>
<div
style=
"padding:20px 0"
>
<div
style=
"padding:
20px 0"
>
<div
class=
"page-content"
>
<q-table
:pagination=
"setMsg"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table sticky-right-column-table"
separator=
"none"
:data=
"tableData"
:columns=
"showCZ?columns:columns2"
row-key=
"name"
>
<q-table
:pagination=
"setMsg"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table sticky-right-column-table"
separator=
"none"
:data=
"tableData"
:columns=
"showCZ ? columns : columns2"
row-key=
"name"
>
<template
v-slot:body-cell-GuestList=
"props"
>
<q-td
auto-width
:props=
"props"
>
<span
v-for=
"(item,index) in props.row.GuestList"
style=
"margin-right:5px;"
>
{{
item
.
GuestName
}}
<span
v-for=
"(item, index) in props.row.GuestList"
style=
"margin-right: 5px"
>
{{
item
.
GuestName
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-StartTime=
"props"
>
<q-td
auto-width
:props=
"props"
>
{{
props
.
row
.
StartTime
}}
-
{{
props
.
row
.
EndTime
}}
{{
props
.
row
.
StartTime
}}
-
{{
props
.
row
.
EndTime
}}
</q-td>
</
template
>
<
template
v-slot:body-cell-TotalPlanNum=
"props"
>
<q-td>
{{
props
.
row
.
Ranks
}}
/
{{
props
.
row
.
TotalPlanNum
}}
</q-td>
<q-td>
{{
props
.
row
.
Ranks
}}
/
{{
props
.
row
.
TotalPlanNum
}}
</q-td>
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-view"
v-if=
"props.row.ClassType==1"
color=
"accent"
style=
"font-weight:400"
label=
"课程回顾"
@
click=
"goCourseRecord(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-view"
v-if=
"props.row.ClassType == 1"
color=
"accent"
style=
"font-weight: 400"
label=
"课程回顾"
@
click=
"goCourseRecord(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-view"
v-if=
"props.row.ClassType == 1"
color=
"accent"
style=
"font-weight: 400"
label=
"课程反馈"
@
click=
"goFeedBack(props.row)"
/>
</q-td>
</
template
>
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"PageIndex"
color=
"primary"
:max=
"PageCount"
:input=
"true"
@
input=
"changePage"
/>
<q-pagination
class=
"full-width justify-end"
v-model=
"PageIndex"
color=
"primary"
:max=
"PageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</q-table>
</div>
</div>
</template>
<
script
>
export
default
{
export
default
{
props
:
{
setMsg
:
{
type
:
Object
,
default
:
null
default
:
null
,
},
tableData
:
{
type
:
Array
,
default
:
null
default
:
null
,
},
PageCount
:
{
type
:
Number
,
default
:
null
default
:
null
,
},
showCZ
:{
//是否显示操作栏
Type
:
Boolean
,
default
:
true
}
showCZ
:
{
//是否显示操作栏
Type
:
Boolean
,
default
:
true
,
},
meta
:
{
title
:
"我的课表"
},
components
:
{
meta
:
{
title
:
"我的课表"
,
},
components
:
{},
data
()
{
return
{
columns
:
[{
name
:
'ClassDate'
,
label
:
'日期'
,
field
:
'ClassDate'
,
align
:
'left'
},
{
name
:
'StartTime'
,
label
:
'上课时间'
,
field
:
'StartTime'
,
align
:
'left'
},
{
name
:
'ClassName'
,
label
:
'班级'
,
field
:
'ClassName'
,
align
:
'left'
columns
:
[
{
name
:
"ClassDate"
,
label
:
"日期"
,
field
:
"ClassDate"
,
align
:
"left"
,
},
{
name
:
'CourseName'
,
label
:
'课程名称'
,
field
:
'CourseName'
,
align
:
'left'
,
name
:
"StartTime"
,
label
:
"上课时间"
,
field
:
"StartTime"
,
align
:
"left"
,
},
{
name
:
'GuestList'
,
label
:
'学员名称'
,
field
:
'GuestList'
,
align
:
'left'
name
:
"ClassName"
,
label
:
"班级"
,
field
:
"ClassName"
,
align
:
"left"
,
},
{
name
:
'TeacherName'
,
label
:
'教师'
,
field
:
'TeacherName'
,
align
:
'left'
name
:
"CourseName"
,
label
:
"课程名称"
,
field
:
"CourseName"
,
align
:
"left"
,
},
{
name
:
'TotalPlanNum'
,
label
:
'课程进度'
,
field
:
'TotalPlanNum'
,
align
:
'left'
name
:
"GuestList"
,
label
:
"学员名称"
,
field
:
"GuestList"
,
align
:
"left"
,
},
{
name
:
'optioned'
,
label
:
'操作'
,
field
:
'Id'
}
name
:
"TeacherName"
,
label
:
"教师"
,
field
:
"TeacherName"
,
align
:
"left"
,
},
{
name
:
"TotalPlanNum"
,
label
:
"课程进度"
,
field
:
"TotalPlanNum"
,
align
:
"left"
,
},
{
name
:
"optioned"
,
label
:
"操作"
,
field
:
"Id"
,
},
],
columns2
:
[{
name
:
'ClassDate'
,
label
:
'日期'
,
field
:
'ClassDate'
,
align
:
'left'
},
{
name
:
'StartTime'
,
label
:
'上课时间'
,
field
:
'StartTime'
,
align
:
'left'
},
{
name
:
'ClassName'
,
label
:
'班级'
,
field
:
'ClassName'
,
align
:
'left'
columns2
:
[
{
name
:
"ClassDate"
,
label
:
"日期"
,
field
:
"ClassDate"
,
align
:
"left"
,
},
{
name
:
'CourseName'
,
label
:
'课程名称'
,
field
:
'CourseName'
,
align
:
'left'
,
name
:
"StartTime"
,
label
:
"上课时间"
,
field
:
"StartTime"
,
align
:
"left"
,
},
{
name
:
'GuestList'
,
label
:
'学员名称'
,
field
:
'GuestList'
,
align
:
'left'
name
:
"ClassName"
,
label
:
"班级"
,
field
:
"ClassName"
,
align
:
"left"
,
},
{
name
:
'TeacherName'
,
label
:
'教师'
,
field
:
'TeacherName'
,
align
:
'left'
name
:
"CourseName"
,
label
:
"课程名称"
,
field
:
"CourseName"
,
align
:
"left"
,
},
{
name
:
'TotalPlanNum'
,
label
:
'课程进度'
,
field
:
'TotalPlanNum'
,
align
:
'left'
name
:
"GuestList"
,
label
:
"学员名称"
,
field
:
"GuestList"
,
align
:
"left"
,
},
{
name
:
"TeacherName"
,
label
:
"教师"
,
field
:
"TeacherName"
,
align
:
"left"
,
},
{
name
:
"TotalPlanNum"
,
label
:
"课程进度"
,
field
:
"TotalPlanNum"
,
align
:
"left"
,
},
],
tabMsg
:
{
PageIndex
:
1
,
PageSize
:
15
,
rowsPerPage
:
15
,
StartTime
:
''
,
EndTime
:
''
,
StartTime
:
""
,
EndTime
:
""
,
TeacherId
:
0
,
ClassRoomId
:
0
,
ClassType
:
0
},
PageIndex
:
1
}
},
created
()
{
ClassType
:
0
,
},
mounted
()
{
PageIndex
:
1
,
};
},
created
()
{},
mounted
()
{},
methods
:
{
//翻页
changePage
(
val
)
{
this
.
PageIndex
=
val
;
this
.
$emit
(
'getChange'
,
this
.
PageIndex
);
this
.
$emit
(
"getChange"
,
this
.
PageIndex
);
},
//跳转到课程回顾
goCourseRecord
(
item
)
{
this
.
OpenNewUrl
(
"../../classroom/courseInfo"
,
{
id
:
item
.
Id
id
:
item
.
Id
,
});
},
//跳转到课程反馈
goFeedBack
(
item
)
{
this
.
OpenNewUrl
(
"/teacher/feedBackList"
,
{
id
:
item
.
Id
,
});
}
}
}
},
},
};
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
@import
url('~assets/css/table.sass')
</
style
>
src/pages/teacher/teacherSchedule.vue
View file @
754ce335
<
template
>
<div
class=
"page-body MainPlan"
>
<div
class=
"page-body MainPlan
xg
"
>
<div
class=
"col row wrap q-col-gutter-md"
>
<div
class=
"col-2"
>
<el-select
v-model=
"msg.ClassRoomId"
style=
"width:100%;"
placeholder=
"教室"
size=
"small"
@
change=
"getTypeWay()"
>
<el-option
v-for=
"item in ClassRoomList"
:key=
"item.RoomName"
:label=
"item.RoomName"
:value=
"item.RoomId"
>
<el-select
v-model=
"msg.ClassRoomId"
style=
"width: 100%"
placeholder=
"教室"
size=
"small"
@
change=
"getTypeWay()"
>
<el-option
v-for=
"item in ClassRoomList"
:key=
"item.RoomName"
:label=
"item.RoomName"
:value=
"item.RoomId"
>
</el-option>
<div
slot=
"prefix"
class=
"full-height flex items-center"
style=
"color: #000; padding-right: 10px"
>
教室:
</div>
</el-select>
</div>
<div
class=
"col-2"
>
<el-date-picker
v-model=
"msg.StartTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"开始日期"
size=
"small"
style=
"width:100%;"
@
change=
"getTypeWay()"
clear-icon=
"iconfont icon-guanbi"
>
<el-date-picker
v-model=
"msg.StartTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"开始日期"
size=
"small"
style=
"width: 100%"
@
change=
"getTypeWay()"
clear-icon=
"iconfont icon-guanbi"
>
</el-date-picker>
</div>
<div
class=
"col-2"
>
<el-date-picker
v-model=
"msg.EndTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"结束日期"
size=
"small"
style=
"width:100%;"
@
change=
"getTypeWay()"
clear-icon=
"iconfont icon-guanbi"
>
<el-date-picker
v-model=
"msg.EndTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"结束日期"
size=
"small"
style=
"width: 100%"
@
change=
"getTypeWay()"
clear-icon=
"iconfont icon-guanbi"
>
</el-date-picker>
</div>
<div
class=
"col-2"
>
<el-select
v-model=
"msg.ClassType"
style=
"width:100%;"
placeholder=
"类型"
size=
"small"
@
change=
"getTypeWay()"
>
<el-option
:key=
"0"
label=
"全部"
:value=
"0"
>
</el-option>
<el-option
:key=
"1"
label=
"正常"
:value=
"1"
>
</el-option>
<el-option
:key=
"2"
label=
"试听课"
:value=
"2"
>
</el-option>
<el-select
v-model=
"msg.ClassType"
style=
"width: 100%"
placeholder=
"类型"
size=
"small"
@
change=
"getTypeWay()"
>
<el-option
:key=
"0"
label=
"全部"
:value=
"0"
>
</el-option>
<el-option
:key=
"1"
label=
"正常"
:value=
"1"
>
</el-option>
<el-option
:key=
"2"
label=
"试听课"
:value=
"2"
>
</el-option>
<div
slot=
"prefix"
class=
"full-height flex items-center"
style=
"color: #000; padding-right: 10px"
>
状态:
</div>
</el-select>
</div>
<div
class=
"col-2"
>
<el-select
v-model=
"msg.FeedBackStatus"
style=
"width: 100%"
placeholder=
"反馈"
size=
"small"
@
change=
"getTypeWay()"
>
<el-option
:key=
"-1"
label=
"不限"
:value=
"-1"
>
</el-option>
<el-option
:key=
"0"
label=
"未反馈"
:value=
"0"
>
</el-option>
<el-option
:key=
"1"
label=
"部分"
:value=
"1"
>
</el-option>
<el-option
:key=
"2"
label=
"已反馈"
:value=
"2"
>
</el-option>
<div
slot=
"prefix"
class=
"full-height flex items-center"
style=
"color: #000; padding-right: 10px"
>
反馈:
</div>
</el-select>
</div>
<div
class=
"col-4"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
style=
"margin-top:2px;"
@
click=
"exchangeType"
:label=
"typeName"
/>
<q-btn
color=
"negative"
size=
"sm"
label=
"调课申请"
@
click=
"openForm"
></q-btn>
<div
class=
"col-2"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
style=
"margin-top: 2px"
@
click=
"exchangeType"
:label=
"typeName"
/>
<q-btn
color=
"negative"
size=
"sm"
label=
"调课申请"
@
click=
"openForm"
></q-btn>
</div>
</div>
<classmateForm
:dataList=
"dataList"
v-if=
"commonType==1"
></classmateForm>
<change-class-form
v-if=
"persistent"
@
close=
"closeSaveForm"
@
success=
"refreshPage"
></change-class-form>
<teachTable
v-if=
"commonType==2"
:tableData=
"tableData"
:PageCount=
"PageCount"
:setMsg=
"tabMsg"
@
getChange=
"getChange"
></teachTable>
<classmateForm
:dataList=
"dataList"
v-if=
"commonType == 1"
></classmateForm>
<change-class-form
v-if=
"persistent"
@
close=
"closeSaveForm"
@
success=
"refreshPage"
></change-class-form>
<teachTable
v-if=
"commonType == 2"
:tableData=
"tableData"
:PageCount=
"PageCount"
:setMsg=
"tabMsg"
@
getChange=
"getChange"
></teachTable>
</div>
</
template
>
<
script
>
import
{
import
{
getTeacherDropDownList
,
queryClassRoomList
}
from
'../../api/school/index'
import
{
queryClassRoomList
,
}
from
"../../api/school/index"
;
import
{
GetClassPlanStatistical
,
GetClassPlanStatisticalPage
}
from
'../../api/teacher/index'
;
import
classmateForm
from
'../teacher/components/classmate-form'
;
import
teachTable
from
'../teacher/components/teachTable'
;
import
changeClassForm
from
'../../components/teacher/changeClassForm.vue'
export
default
{
GetClassPlanStatisticalPage
,
}
from
"../../api/teacher/index"
;
import
classmateForm
from
"../teacher/components/classmate-form"
;
import
teachTable
from
"../teacher/components/teachTable"
;
import
changeClassForm
from
"../../components/teacher/changeClassForm.vue"
;
export
default
{
meta
:
{
title
:
"我的课表"
title
:
"我的课表"
,
},
components
:
{
classmateForm
,
teachTable
,
changeClassForm
changeClassForm
,
},
data
()
{
return
{
persistent
:
false
,
persistent
:
false
,
TeacherList
:
[],
//教师团队
ClassRoomList
:
[],
//
StartTime
:
""
,
EndTime
:
''
,
EndTime
:
""
,
TeacherId
:
0
,
ClassRoomId
:
0
,
dataList
:
{},
activeNames
:
[
1
],
msg
:
{
StartTime
:
""
,
EndTime
:
''
,
EndTime
:
""
,
TeacherId
:
0
,
ClassRoomId
:
0
,
ClassType
:
0
,
FeedBackStatus
:
0
,
//反馈状态 0-未反馈,1-部分,2-已反馈
},
commonType
:
1
,
//1日历模式 2列表模式
typeName
:
'列表模式'
,
tabMsg
:
{
PageIndex
:
1
,
PageSize
:
12
,
commonType
:
1
,
//1日历模式 2列表模式
typeName
:
"列表模式"
,
tabMsg
:
{
PageIndex
:
1
,
PageSize
:
12
,
rowsPerPage
:
12
,
StartTime
:
''
,
EndTime
:
''
,
TeacherId
:
0
,
ClassRoomId
:
0
,
ClassType
:
0
},
tableData
:
[],
//表格数据
PageCount
:
0
StartTime
:
""
,
EndTime
:
""
,
TeacherId
:
0
,
ClassRoomId
:
0
,
ClassType
:
0
,
},
tableData
:
[],
//表格数据
PageCount
:
0
,
};
},
created
()
{
...
...
@@ -107,73 +195,77 @@
this
.
getPlanList
();
},
methods
:
{
refreshPage
()
{
refreshPage
()
{
this
.
getPlanList
();
},
openForm
()
{
this
.
persistent
=
true
this
.
persistent
=
true
;
},
closeSaveForm
()
{
this
.
persistent
=
false
this
.
persistent
=
false
;
},
// 获取校区教室导航列表
getPlanList
()
{
GetClassPlanStatistical
(
this
.
msg
).
then
(
res
=>
{
GetClassPlanStatistical
(
this
.
msg
)
.
then
((
res
)
=>
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
}
}).
catch
(()
=>
{
})
.
catch
(()
=>
{});
},
//获取教室下拉
getClassRoomList
()
{
queryClassRoomList
({}).
then
(
res
=>
{
queryClassRoomList
({}).
then
((
res
)
=>
{
if
(
res
.
Code
==
1
)
{
this
.
ClassRoomList
=
res
.
Data
;
var
obj
=
{
RoomName
:
'请选择'
,
RoomId
:
0
}
RoomName
:
"请选择"
,
RoomId
:
0
,
};
this
.
ClassRoomList
.
unshift
(
obj
);
}
})
});
},
exchangeType
()
{
if
(
this
.
commonType
==
1
)
{
this
.
commonType
=
2
this
.
typeName
=
'日历模式'
this
.
getTableList
()
}
else
{
this
.
commonType
=
1
;
this
.
typeName
=
'列表模式'
this
.
getPlanList
()
exchangeType
()
{
if
(
this
.
commonType
==
1
)
{
this
.
commonType
=
2
;
this
.
typeName
=
"日历模式"
;
this
.
getTableList
();
}
else
{
this
.
commonType
=
1
;
this
.
typeName
=
"列表模式"
;
this
.
getPlanList
();
}
},
getTableList
()
{
getTableList
()
{
this
.
tabMsg
.
StartTime
=
this
.
msg
.
StartTime
;
this
.
tabMsg
.
EndTime
=
this
.
msg
.
EndTime
;
this
.
tabMsg
.
ClassRoomId
=
this
.
msg
.
ClassRoomId
;
this
.
tabMsg
.
ClassType
=
this
.
msg
.
ClassType
;
GetClassPlanStatisticalPage
(
this
.
tabMsg
).
then
(
res
=>
{
GetClassPlanStatisticalPage
(
this
.
tabMsg
).
then
((
res
)
=>
{
if
(
res
.
Code
==
1
)
{
this
.
tableData
=
res
.
Data
.
PageData
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
}
})
});
},
getChange
(
val
)
{
this
.
tabMsg
.
PageIndex
=
val
;
this
.
getTableList
()
this
.
getTableList
();
},
getTypeWay
(){
if
(
this
.
commonType
==
2
){
this
.
getTableList
()
}
else
{
this
.
getPlanList
()
}
}
getTypeWay
()
{
if
(
this
.
commonType
==
2
)
{
this
.
getTableList
();
}
else
{
this
.
getPlanList
();
}
};
},
},
};
</
script
>
<
style
lang=
"scss"
>
.xg
.el-input--prefix
.el-input__inner
{
padding-left
:
50px
;
}
</
style
>
src/router/routes.js
View file @
754ce335
...
...
@@ -1047,6 +1047,11 @@ const routes = [{
component
:
()
=>
import
(
"pages/classroom/courseInfo"
)
},
{
path
:
"/teacher/feedBackList"
,
//教室本次上课反馈
component
:
()
=>
import
(
"pages/teacher/feedBackList"
)
},
{
path
:
"/teacher/myClass"
,
//我的班级
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