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
53cf405f
Commit
53cf405f
authored
Jul 07, 2021
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增教师
parent
d6f2a37e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
912 additions
and
65 deletions
+912
-65
index.js
src/api/teacher/index.js
+25
-0
classinfo-form.vue
src/components/course/classinfo-form.vue
+12
-3
classstu-form.vue
src/components/course/classstu-form.vue
+61
-51
lesson-form.vue
src/components/course/lesson-form.vue
+9
-1
record-form.vue
src/components/course/record-form.vue
+10
-1
orderlist.vue
src/components/sale/orderlist.vue
+10
-2
classManage.vue
src/pages/course/classManage.vue
+2
-2
classorder.vue
src/pages/course/classorder.vue
+10
-2
paymentDetail.vue
src/pages/course/paymentDetail.vue
+6
-2
myClass.vue
src/pages/teacher/myClass.vue
+501
-0
teachMonthLessonCost.vue
src/pages/teacher/teachMonthLessonCost.vue
+256
-0
routes.js
src/router/routes.js
+10
-1
No files found.
src/api/teacher/index.js
0 → 100644
View file @
53cf405f
import
request
from
'../../utils/request'
/**
* 获取课程分页列表
* @param {JSON参数} data
*/
export
function
GetClassPageList
(
data
)
{
return
request
({
url
:
'/TeacherClass/GetClassPageList'
,
method
:
'post'
,
data
})
}
/**
* 获取课程分页列表
* @param {JSON参数} data
*/
export
function
GetClassMonthStatistics
(
data
)
{
return
request
({
url
:
'/TeacherClass/GetClassMonthStatistics'
,
method
:
'post'
,
data
})
}
src/components/course/classinfo-form.vue
View file @
53cf405f
...
...
@@ -90,13 +90,13 @@
<q-tab
:ripple=
"false"
name=
"fourth"
label=
"班级日志"
/>
</q-tabs>
<div
v-if=
"tabCheck=='first'"
style=
"margin:0 15px;"
>
<classstuForm
:seting-obj=
"setingObj"
></classstuForm>
<classstuForm
:seting-obj=
"setingObj"
:isShowMyBtn=
"isShowMyBtn"
></classstuForm>
</div>
<div
v-if=
"tabCheck=='second'"
>
<lessForm
:seting-obj=
"setingObj"
></lessForm>
<lessForm
:seting-obj=
"setingObj"
:isShowMyBtn=
"isShowMyBtn"
></lessForm>
</div>
<div
v-if=
"tabCheck=='third'"
>
<recordForm
:seting-obj=
"setingObj"
></recordForm>
<recordForm
:seting-obj=
"setingObj"
:isShowMyBtn=
"isShowMyBtn"
></recordForm>
</div>
<div
v-if=
"tabCheck=='fourth'"
>
<classlogForm
:seting-obj=
"setingObj"
></classlogForm>
...
...
@@ -122,6 +122,10 @@
setingObj
:
{
type
:
Object
,
default
:
null
},
isShowEditBtn
:{
type
:
Number
,
default
:
null
}
},
components
:
{
...
...
@@ -136,6 +140,7 @@
tabCheck
:
'first'
,
//默认选第一个
loading
:
false
,
classObj
:{},
isShowMyBtn
:
0
}
},
created
()
{
...
...
@@ -151,6 +156,10 @@
},
mounted
()
{
// this.queryClassInfo();
console
.
log
(
this
.
isShowEditBtn
,
'this.isShowEditBtn'
);
if
(
this
.
isShowEditBtn
==
1
){
this
.
isShowMyBtn
=
1
}
},
methods
:
{
queryClassInfo
()
{
...
...
src/components/course/classstu-form.vue
View file @
53cf405f
<
template
>
<div>
<div
style=
"text-align:right;"
>
<q-btn
outline
color=
"black"
label=
"退课"
@
click=
"dropClass()"
size=
"12px"
style=
"margin-right:20px;"
>
<q-popup-proxy>
<q-banner
v-if=
"isShowDropPop"
>
<div
class=
"dropClassDialog"
>
<div
style=
"margin:10px 0 15px 0;"
>
退课
</div>
</div>
<q-input
square
filled
v-model=
"dropMsg.DropOutRemark"
borderless
label=
"退课原因"
ref=
"reason"
type=
"textarea"
counter
:rules=
"[val => !!val || '请填写退课原因']"
maxlength=
"200"
/>
<div
class=
"drop_NameDown"
>
<q-chip
v-for=
"(item,index) in selectedStudent"
:key=
"index"
>
<q-avatar
rounded
size=
"sm"
v-if=
"item.UserIcon"
>
<img
:src=
"item.UserIcon"
/>
</q-avatar>
<q-avatar
rounded
size=
"sm"
color=
"teal-10"
text-color=
"white"
v-if=
"!item.UserIcon"
>
{{
item
.
GuestName
[
0
]
}}
</q-avatar>
{{
item
.
GuestName
}}
</q-chip>
</div>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"isShowDropPop=false"
/>
<q-btn
label=
"确认"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"saveDrop()"
/>
</q-card-actions>
</q-banner>
</q-popup-proxy>
</q-btn>
<q-btn
color=
"primary"
class=
"q-mr-md"
size=
"12px"
icon=
"add"
label=
"邀请新学员"
@
click=
"ishowInvit=true"
>
<q-popup-proxy>
<q-banner
v-if=
"ishowInvit"
>
<div
class=
"dropClassDialog"
>
<div
style=
"margin:10px 0 15px 0;"
>
邀请新学员
</div>
</div>
<div
class=
"drop_NameDown"
>
<q-select
filled
stack-label
use-input
input-debounce=
"0"
option-value=
"StuId"
option-label=
"StuName"
v-model=
"checkedStudent"
:options=
"InvitationList"
label=
"选择学员"
:dense=
"false"
emit-value
map-options
@
filter=
"filterFn"
>
<template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
未找到相关数据
</q-item-section>
</q-item>
</
template
>
</q-select>
</div>
<q-card-actions
align=
"right"
class=
"bg-white"
style=
"margin-top:20px;"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"ishowInvit=false"
/>
<q-btn
label=
"确认"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"saveStudent()"
/>
</q-card-actions>
</q-banner>
</q-popup-proxy>
</q-btn>
<template
v-if=
"isShowBtn"
>
<q-btn
outline
color=
"black"
label=
"退课"
@
click=
"dropClass()"
size=
"12px"
style=
"margin-right:20px;"
>
<q-popup-proxy>
<q-banner
v-if=
"isShowDropPop"
>
<div
class=
"dropClassDialog"
>
<div
style=
"margin:10px 0 15px 0;"
>
退课
</div>
</div>
<q-input
square
filled
v-model=
"dropMsg.DropOutRemark"
borderless
label=
"退课原因"
ref=
"reason"
type=
"textarea"
counter
:rules=
"[val => !!val || '请填写退课原因']"
maxlength=
"200"
/>
<div
class=
"drop_NameDown"
>
<q-chip
v-for=
"(item,index) in selectedStudent"
:key=
"index"
>
<q-avatar
rounded
size=
"sm"
v-if=
"item.UserIcon"
>
<img
:src=
"item.UserIcon"
/>
</q-avatar>
<q-avatar
rounded
size=
"sm"
color=
"teal-10"
text-color=
"white"
v-if=
"!item.UserIcon"
>
{{
item
.
GuestName
[
0
]
}}
</q-avatar>
{{
item
.
GuestName
}}
</q-chip>
</div>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"isShowDropPop=false"
/>
<q-btn
label=
"确认"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"saveDrop()"
/>
</q-card-actions>
</q-banner>
</q-popup-proxy>
</q-btn>
<q-btn
color=
"primary"
class=
"q-mr-md"
size=
"12px"
icon=
"add"
label=
"邀请新学员"
@
click=
"ishowInvit=true"
>
<q-popup-proxy>
<q-banner
v-if=
"ishowInvit"
>
<div
class=
"dropClassDialog"
>
<div
style=
"margin:10px 0 15px 0;"
>
邀请新学员
</div>
</div>
<div
class=
"drop_NameDown"
>
<q-select
filled
stack-label
use-input
input-debounce=
"0"
option-value=
"StuId"
option-label=
"StuName"
v-model=
"checkedStudent"
:options=
"InvitationList"
label=
"选择学员"
:dense=
"false"
emit-value
map-options
@
filter=
"filterFn"
>
<template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
未找到相关数据
</q-item-section>
</q-item>
</
template
>
</q-select>
</div>
<q-card-actions
align=
"right"
class=
"bg-white"
style=
"margin-top:20px;"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"ishowInvit=false"
/>
<q-btn
label=
"确认"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"saveStudent()"
/>
</q-card-actions>
</q-banner>
</q-popup-proxy>
</q-btn>
</template>
</div>
<q-table
:loading=
"loading"
no-data-label=
"暂无相关数据"
style=
"margin-bottom:80px;"
flat
selection=
"multiple"
:selected
.
sync=
"selectedStudent"
class=
"sticky-column-table"
separator=
"none"
title=
"学员信息"
:data=
"studentList"
...
...
@@ -104,6 +106,10 @@
setingObj
:
{
type
:
Object
,
default
:
null
},
isShowMyBtn
:
{
type
:
Number
,
default
:
null
}
},
data
()
{
...
...
@@ -191,12 +197,16 @@
InvitationList
:
[],
//学员下拉数据
AllInvitationList
:
[],
checkedStudent
:
''
,
//选择学员
isShowBtn
:
true
}
},
created
()
{
},
mounted
()
{
if
(
this
.
isShowMyBtn
==
1
){
this
.
isShowBtn
=
false
;
}
this
.
getStudentData
();
this
.
getStudentList
();
},
...
...
src/components/course/lesson-form.vue
View file @
53cf405f
...
...
@@ -199,7 +199,7 @@
</el-radio-group>
</div>
<div>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"新增日程"
@
click=
"addNew()"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"新增日程"
v-if=
"isShowBtn"
@
click=
"addNew()"
>
<q-popup-proxy>
<q-banner
v-if=
"isShowMenu"
>
<div
class=
"calenderDialog"
>
...
...
@@ -632,6 +632,10 @@
setingObj
:
{
type
:
Object
,
default
:
null
},
isShowMyBtn
:
{
type
:
Number
,
default
:
null
}
},
name
:
"calendar"
,
...
...
@@ -761,12 +765,16 @@
align
:
'center'
}
],
isShowBtn
:
true
}
},
created
()
{
if
(
this
.
setingObj
&&
this
.
setingObj
.
ClassId
)
{
this
.
addMsg
.
ClassId
=
this
.
setingObj
.
ClassId
;
}
if
(
this
.
isShowMyBtn
==
1
){
this
.
isShowBtn
=
false
;
}
},
mounted
()
{
var
d
=
new
Date
();
...
...
src/components/course/record-form.vue
View file @
53cf405f
...
...
@@ -101,7 +101,7 @@
<el-radio-button
:label=
"2"
>
时间轴模式
</el-radio-button>
</el-radio-group>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
v-if=
"isShowBtn"
>
<q-select
filled
stack-label
option-value=
"TId"
@
input=
"changeRecord()"
option-label=
"TeacherName"
v-model=
"TeacherId"
ref=
"Teacher_Id"
:options=
"TeacherList"
label=
"关联教师"
:dense=
"false"
class=
"col-6"
emit-value
map-options
/>
...
...
@@ -209,6 +209,10 @@
setingObj
:
{
type
:
Object
,
default
:
null
},
isShowMyBtn
:
{
type
:
Number
,
default
:
null
}
},
components
:
{
...
...
@@ -260,6 +264,7 @@
}
],
checkType
:
1
,
//默认列表模式
isShowBtn
:
true
}
},
created
()
{
...
...
@@ -267,6 +272,10 @@
},
mounted
()
{
this
.
TeacherId
=
this
.
setingObj
.
Teacher_Id
;
if
(
this
.
isShowMyBtn
==
1
){
this
.
isShowBtn
=
false
;
}
this
.
getRecord
();
this
.
GetTeacherList
();
},
...
...
src/components/sale/orderlist.vue
View file @
53cf405f
...
...
@@ -195,7 +195,7 @@
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"editOrder(item)"
/>
</
template
>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
v-if=
"AuthorityObj.isShowMore"
label=
"更多"
style=
"margin-left:10px;"
>
<q-list>
<q-item
clickable
v-close-popup
>
<q-item-section
@
click=
"gostudent(item)"
>
...
...
@@ -767,7 +767,7 @@
<myOrder-form
v-if=
"isShowmyorderForm"
:save-obj=
"myorderObjOption"
@
close=
"closeMOSaveForm"
></myOrder-form>
<!--班级详情-->
<classinfo-form
v-if=
"isShowClassInfo"
:seting-obj=
"classObjOption"
@
close=
"closeClass"
@
success=
"refreshOrder"
>
<classinfo-form
v-if=
"isShowClassInfo"
:seting-obj=
"classObjOption"
:isShowEditBtn=
"isShowEditBtn"
@
close=
"closeClass"
@
success=
"refreshOrder"
>
</classinfo-form>
<!--退课申请-->
...
...
@@ -852,6 +852,10 @@
modityOrderType
:
{
type
:
Number
,
default
:
0
,
//1-销售修改,2-OP修改,3-总经理修改
},
isShowEditBtn
:{
type
:
Number
,
default
:
null
}
},
data
()
{
...
...
@@ -892,6 +896,7 @@
isShowRenewClass
:
false
,
//是否显示续课按钮
isShowContract
:
true
,
//是否显示合同
isShowEdit
:
true
,
//是否显示修改订单按钮
isShowMore
:
true
//是否显示更多下拉按钮
},
isShowEduForm
:
false
,
//是否显示新增修改合同弹窗
...
...
@@ -991,6 +996,9 @@
if
(
this
.
authObj
.
isShowEdit
!=
null
&&
!
this
.
authObj
.
isShowEdit
)
{
this
.
AuthorityObj
.
isShowEdit
=
this
.
authObj
.
isShowEdit
;
}
if
(
this
.
authObj
.
isShowMore
!=
null
&&
!
this
.
authObj
.
isShowMore
){
this
.
AuthorityObj
.
isShowMore
=
this
.
authObj
.
isShowMore
}
}
},
//关闭报价单
...
...
src/pages/course/classManage.vue
View file @
53cf405f
...
...
@@ -308,7 +308,7 @@
ClassStatus
:
0
,
//班级状态
TeacherName
:
''
,
//带班老师
CourseName
:
''
,
//学习课程
School_Id
:
0
,
//关联校区
School_Id
:
-
1
,
//关联校区
},
//班级状态
classStatusList
:
[],
...
...
@@ -438,7 +438,7 @@
tempArray
=
[];
}
tempArray
.
unshift
({
SId
:
0
,
SId
:
-
1
,
SName
:
"不限"
})
this
.
schoolList
=
tempArray
;
...
...
src/pages/course/classorder.vue
View file @
53cf405f
...
...
@@ -23,7 +23,7 @@
</div>
</div>
<div
class=
"page-content"
>
<orderlist
:dataList=
"dataList"
ref=
"orderL"
:authObj=
"authObj"
:modityOrderType=
"2"
:cancelList=
"CancelList"
<orderlist
:dataList=
"dataList"
ref=
"orderL"
:authObj=
"authObj"
:
isShowEditBtn=
"isShowEditBtn"
:
modityOrderType=
"2"
:cancelList=
"CancelList"
@
success=
"refreshClassOrder"
></orderlist>
</div>
</div>
...
...
@@ -57,7 +57,10 @@
isShowManagerRemark
:
true
,
//显示总经理备注
isShowCommissionEdit
:
true
,
//显示修改提成按钮
isShowRewardEdit
:
true
,
//显示修改额外提成按钮
}
isShowEdit
:
true
,
//显示修改按钮
isShowMore
:
true
//显示更多下拉
},
isShowEditBtn
:
0
}
},
created
()
{
...
...
@@ -65,6 +68,11 @@
this
.
ClassId
=
this
.
$route
.
query
.
ClassId
this
.
msg
.
ClassId
=
this
.
ClassId
;
}
if
(
this
.
$route
.
query
.
isFromMyclass
&&
this
.
$route
.
query
.
isFromMyclass
==
1
){
this
.
authObj
.
isShowEdit
=
false
this
.
authObj
.
isShowMore
=
false
this
.
isShowEditBtn
=
1
}
this
.
getList
();
},
mounted
()
{
...
...
src/pages/course/paymentDetail.vue
View file @
53cf405f
...
...
@@ -282,7 +282,7 @@
<div
class=
"pay_InorOut"
>
<div
class=
"pay_TopTitle"
style=
"display:flex;justify-content: space-between;align-items:center;"
>
<div><span
class=
"Pay_Line"
></span>
收入
</div>
<q-btn
label=
"新增收款"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important;"
<q-btn
label=
"新增收款"
v-if=
"isShowBtn"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important;"
@
click=
"goShoukuan(1)"
/>
</div>
<div
class=
"pay_TopTitle"
style=
"margin:15px 0 15px 20px;font-size:12px;"
>
...
...
@@ -390,7 +390,7 @@
<div
class=
"pay_TopTitle"
style=
"margin-top:30px;display:flex;justify-content: space-between;align-items:center;"
>
<div><span
class=
"Pay_Line"
style=
"background:#F72E52;"
></span>
支出
</div>
<q-btn
label=
"新增付款"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important;"
<q-btn
label=
"新增付款"
v-if=
"isShowBtn"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important;"
@
click=
"goShoukuan(2)"
/>
</div>
<div
class=
"pay_TopTitle"
style=
"margin:15px 0 15px 20px;font-size:12px;"
>
...
...
@@ -467,6 +467,7 @@
School_Id
:
0
},
ClassName
:
''
,
isShowBtn
:
true
}
},
created
()
{},
...
...
@@ -480,6 +481,9 @@
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
ClassName
)
{
this
.
ClassName
=
this
.
$route
.
query
.
ClassName
;
}
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
isFromMyClass
){
this
.
isShowBtn
=
false
}
this
.
getData
();
},
methods
:
{
...
...
src/pages/teacher/myClass.vue
0 → 100644
View file @
53cf405f
This diff is collapsed.
Click to expand it.
src/pages/teacher/teachMonthLessonCost.vue
0 → 100644
View file @
53cf405f
This diff is collapsed.
Click to expand it.
src/router/routes.js
View file @
53cf405f
...
...
@@ -929,7 +929,16 @@ const routes = [{
component
:
()
=>
import
(
"pages/classroom/courseInfo"
)
},
{
path
:
"/teacher/myClass"
,
//我的班级
component
:
()
=>
import
(
"pages/teacher/myClass"
)
},
{
path
:
"/teacher/teachMonthLessonCost"
,
//月度课耗
component
:
()
=>
import
(
"pages/teacher/teachMonthLessonCost"
)
},
],
},
...
...
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