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
7436b498
Commit
7436b498
authored
Dec 17, 2020
by
Mac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
f5e12f1d
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
303 additions
and
12 deletions
+303
-12
class.js
src/api/course/class.js
+10
-0
addreamke.png
src/assets/images/course/addreamke.png
+0
-0
chehui.png
src/assets/images/course/chehui.png
+0
-0
xiaoxi.png
src/assets/images/course/xiaoxi.png
+0
-0
zhidan.png
src/assets/images/course/zhidan.png
+0
-0
achievements.vue
src/pages/course/achievements.vue
+275
-0
classHourReward.vue
src/pages/course/classHourReward.vue
+12
-11
myOrder.vue
src/pages/sale/myOrder.vue
+1
-1
routes.js
src/router/routes.js
+5
-0
No files found.
src/api/course/class.js
View file @
7436b498
...
...
@@ -208,3 +208,13 @@ export function getTeachingBonusDetailList(data) {
data
});
}
/**
* 教师绩效分页列表
*/
export
function
getTeachingPerfPageList
(
data
)
{
return
request
({
url
:
'/TeachingRewards/GetTeachingPerfPageList'
,
method
:
'post'
,
data
});
}
src/assets/images/course/addreamke.png
0 → 100644
View file @
7436b498
331 Bytes
src/assets/images/course/chehui.png
0 → 100644
View file @
7436b498
218 Bytes
src/assets/images/course/xiaoxi.png
0 → 100644
View file @
7436b498
302 Bytes
src/assets/images/course/zhidan.png
0 → 100644
View file @
7436b498
125 Bytes
src/pages/course/achievements.vue
0 → 100644
View file @
7436b498
<
template
>
<div
class=
"achievements page-body"
>
<q-tabs
style=
"margin-bottom:20px;"
v-model=
"tabCheck"
@
input=
"tabChange()"
narrow-indicator
dense
align=
"left"
class=
"text-primary"
>
<q-tab
:ripple=
"false"
name=
"first"
label=
"已发放绩效"
/>
<q-tab
:ripple=
"false"
name=
"second"
label=
"可发放绩效"
/>
</q-tabs>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
option-value=
"SId"
option-label=
"SName"
v-model=
"msg.School_Id"
:options=
"schoolList"
emit-value
map-options
label=
"所属校区"
/>
</div>
<div
class=
"col-3"
>
<q-input
@
input=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.ClassName"
label=
"班级名称"
maxlength=
"20"
/>
</div>
<div
class=
"col-3"
>
<q-input
@
input=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.TeacherName"
label=
"教师名称"
maxlength=
"20"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.PerfState"
:options=
"StateList"
emit-value
map-options
label=
"状态"
/>
</div>
<div
class=
"col-3"
>
<q-field
filled
>
<template
v-slot:control
>
<el-date-picker
v-model=
"dateList2"
@
change=
"resetSearch()"
value-format=
"yyyy-MM-dd"
type=
"daterange"
style=
"border:none;"
range-separator=
"至"
start-placeholder=
"开班开始时间"
end-placeholder=
"开班结束时间"
>
</el-date-picker>
</
template
>
</q-field>
</div>
</div>
</div>
<div
class=
"productQueryList"
v-loading=
'loading'
>
<ul
v-if=
"data.length!=0"
>
<li
v-for=
"(item,index) in data"
:key=
"index"
>
<div
class=
"dline"
>
<div
class=
"d1 row"
>
<q-avatar
square
size=
"82px"
>
<img
:src=
"item.TeacherIcon"
>
</q-avatar>
<div
style=
"margin-left: 20px"
>
<div
class=
"List-title"
>
{{item.TeacherName}}
</div>
<div
class=
"row d-div"
><span
class=
"d2-n"
>
原有课时费
</span>
{{item.BaseHourFee}}元
</div>
<div
class=
"row d-div"
style=
"color:#F28C1D;"
><span
class=
"d2-n"
>
课时费奖励
</span>
{{item.UnitPrice}}元
</div>
<div
class=
"row d-div"
><span
class=
"d2-n"
>
带班人数
</span>
{{item.BaseStuNum}}
<span
style=
"color:#F28C1D;"
v-if=
"item.AddStuNum>0"
>
{{'+'+item.AddStuNum}}
</span>
</div>
</div>
</div>
<div
class=
"d2"
>
<div
class=
"List-title"
>
招生信息
</div>
<div
class=
"row d-div"
><span
class=
"d2-n"
>
名称
</span>
{{item.ClassName}}
</div>
<div
class=
"row d-div"
><span
class=
"d2-n"
>
班级人数
</span>
{{item.ClassPeopelNum}}
</div>
<div
class=
"row d-div"
><span
class=
"d2-n"
>
结课日期
</span>
{{item.EndDate.split('T')[0]}}
</div>
</div>
<div
class=
"d3"
>
<div
class=
"List-title"
>
KPI指标
</div>
<div
class=
"row d-div"
><span
class=
"d2-n"
>
满班率
</span>
{{item.FullClassRate*100}}%
</div>
<div
class=
"row d-div"
><span
class=
"d2-n"
>
平均上课率
</span>
{{item.AvgCheckRate*100}}%
</div>
<div
class=
"row d-div"
><span
class=
"d2-n"
>
累计上课课时
</span>
{{item.ClassHours}}课时
</div>
</div>
<div
class=
"d4"
>
<div
class=
"List-title"
>
绩效奖励
</div>
<div
class=
"row d-div"
style=
"align-items: flex-end;color: #F72E52;line-height: 14px"
>
¥
<span
style=
"font-size: 30px;line-height: 30px;font-weight: bold"
>
{{item.Money.toFixed(2).split('.')[0]}}.
</span>
{{item.Money.toFixed(2).split('.')[1]}}
</div>
<div
class=
"row d-div"
><span
class=
"d2-n"
>
明细
</span>
<span
style=
"color:#2961FE;"
>
{{item.UnitPrice}}元
</span>
*{{item.ClassHours}}课时
</div>
</div>
<div
class=
"d5"
>
<div
class=
"List-title"
>
财务单据
</div>
<div
style=
"width: 100%;"
class=
"row wrap"
>
<div
class=
"d5-item"
v-if=
"item.FinanceId && item.FinanceId>0"
>
{{item.FinanceId}}
</div>
<div
v-else
style=
"color:#999999;"
>
未生成财务单据
</div>
</div>
</div>
<div
class=
"d7"
>
<div
class=
"row"
style=
"align-items: center;color: #3FC4FF;cursor: pointer"
>
<img
src=
"../../assets/images/course/zhidan.png"
alt=
""
style=
"width: 16px;height: 12px;margin-right: 5px;"
>
自动生成单据
</div>
<div
class=
"row"
style=
"align-items: center;color: #2961FE;cursor: pointer"
>
<img
src=
"../../assets/images/course/xiaoxi.png"
alt=
""
style=
"width: 16px;height: 12px;margin-right: 5px;"
>
发送账单信息
</div>
<div
class=
"row"
style=
"align-items: center;color: #02C499;cursor: pointer"
>
<img
src=
"../../assets/images/course/addreamke.png"
alt=
""
style=
"width: 16px;height: 12px;margin-right: 5px;"
>
添加备注说明
</div>
<div
class=
"row"
style=
"align-items: center;color: #F28C1D;cursor: pointer"
>
<img
src=
"../../assets/images/course/chehui.png"
alt=
""
style=
"width: 16px;height: 12px;margin-right: 5px;"
>
撤销奖励
</div>
</div>
</div>
<div
class=
"d6 row"
>
<span
style=
"color:#2D2D2D;"
>
教师备注:
</span>
<div
class=
"row wrap Remark-l"
v-if=
"item.RemarkList.length>0"
>
{{item.RemarkList[0].Content}}
<span
class=
"iconfont icon-xiangxia"
style=
"color: #2961FE;font-size: 10px;position: absolute;right: 0;top:10px"
>
<q-popup-proxy>
<q-banner>
<div
style=
"width: 700px;"
>
<div>
教师备注:
</div>
<div
v-for=
"(xq,jq) in item.RemarkList"
:key=
"jq"
style=
" margin-top: 10px;background: #e6e6e6;padding: 5px;font-size: 12px"
>
<div>
{{xq.Content}}
</div>
<div
style=
"text-align: right"
>
{{xq.CreateBy}} {{xq.CreateTime}}
</div>
</div>
</div>
</q-banner>
</q-popup-proxy>
</span>
</div>
<div
v-else
class=
"row wrap Remark-l"
>
暂无
</div>
</div>
</li>
<li
style=
"border: none;display: flex;justify-content: flex-end;background: white;padding: 5px 20px"
>
<q-pagination
v-model=
"msg.PageIndex"
:max=
"pageCount"
@
input=
"changePage"
class=
"full-width justify-end"
color=
"primary"
:input=
"true"
>
</q-pagination>
</li>
</ul>
</div>
</div>
</template>
<
script
>
import
{
getSchoolDropdown
,
}
from
'../../api/school/index'
import
{
getBonusStateEnumList
,
//教师奖励状态 枚举
getTeachingPerfPageList
,
}
from
'../../api/course/class'
export
default
{
name
:
"achievements"
,
data
(){
return
{
tabCheck
:
'first'
,
msg
:{
PageIndex
:
1
,
PageSize
:
8
,
School_Id
:
0
,
ClassId
:
0
,
ClassName
:
''
,
//班级名称
TeacherId
:
0
,
TeacherName
:
''
,
Q_IsCreateFinance
:
0
,
//是否制单 1是 2否
Q_IsComfirm
:
0
,
//是否已确认 1是 2否
PerfState
:
0
,
//状态 枚举
StartTime
:
''
,
EndTime
:
''
,
OPStartTime
:
''
,
OPEndTime
:
''
,
},
schoolList
:
[],
StateList
:[],
dateList
:[],
dateList2
:[],
data
:[],
loading
:
false
,
pageCount
:
0
,
}
},
created
()
{
this
.
getList
()
this
.
getSchool
()
this
.
GetBonusStateList
()
},
methods
:{
resetSearch
()
{
this
.
msg
.
PageIndex
=
1
this
.
getList
()
},
getList
(){
if
(
this
.
dateList
&&
this
.
dateList
.
length
>
0
)
{
this
.
msg
.
StartTime
=
this
.
dateList
[
0
];
this
.
msg
.
EndTime
=
this
.
dateList
[
1
];
}
else
{
this
.
msg
.
StartTime
=
''
;
this
.
msg
.
EndTime
=
''
;
}
if
(
this
.
dateList2
&&
this
.
dateList2
.
length
>
0
)
{
this
.
msg
.
OPStartTime
=
this
.
dateList2
[
0
];
this
.
msg
.
OPEndTime
=
this
.
dateList2
[
1
];
}
else
{
this
.
msg
.
OPStartTime
=
''
;
this
.
msg
.
OPEndTime
=
''
;
}
this
.
loading
=
true
;
getTeachingPerfPageList
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
this
.
data
=
res
.
Data
.
PageData
this
.
pageCount
=
res
.
Data
.
PageCount
;
this
.
loading
=
false
}).
catch
(()
=>
{
this
.
loading
=
false
})
},
getSchool
()
{
getSchoolDropdown
({}).
then
(
res
=>
{
this
.
schoolList
=
res
.
Data
this
.
schoolList
.
unshift
({
SId
:
0
,
SName
:
"不限"
})
})
},
GetBonusStateList
(){
getBonusStateEnumList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
StateList
=
res
.
Data
;
this
.
StateList
.
unshift
({
Id
:
0
,
Name
:
"不限"
})
}
})
},
//翻页
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
()
},
}
}
</
script
>
<
style
scoped
>
.achievements
.el-input__inner
{
background-color
:
transparent
;
}
.achievements
.el-range-editor
.el-range-input
{
background-color
:
transparent
;
}
.achievements
ul
{
padding
:
0px
}
.achievements
li
{
background
:
rgba
(
221
,
222
,
224
,
0.2
);
border-radius
:
4px
;
margin-top
:
15px
}
.achievements
li
.List-title
{
font-size
:
16px
;
color
:
#111111
;
font-weight
:
bold
;
margin-bottom
:
10px
}
.achievements
li
.d-div
{
margin-top
:
5px
;
align-items
:
center
;
font-size
:
14px
}
.achievements
li
.dline
{
display
:
table
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
}
.achievements
li
.d1
{
flex
:
1
;
width
:
1px
;
padding
:
20px
20px
10px
;}
.achievements
li
.d2
,
.achievements
li
.d3
,
.achievements
li
.d4
,
.achievements
li
.d5
{
width
:
17%
;
padding
:
20px
20px
10px
;}
.achievements
li
.d7
{
width
:
10%
;
padding
:
20px
20px
10px
;}
.achievements
li
.d1
.di-title
{
font-size
:
16px
;
color
:
#111111
;}
.achievements
li
.d1
.di-c
{
font-size
:
14px
;
display
:
flex
;
align-items
:
center
;
line-height
:
28px
;
color
:
#111111
}
.achievements
li
.d6
{
padding
:
20px
;
width
:
100%
;
height
:
inherit
;
position
:
relative
;
border-top
:
1px
solid
#DDDEE0
}
/*.achievements li .d2 div{margin: 10px 0;font-size: 14px;color: #111111;}*/
.achievements
li
.d2-n
{
font-size
:
12px
;
color
:
#999999
;
display
:
inline-block
;
width
:
80px
}
.achievements
li
.d3
.d3-s
{
color
:
#f5576c
;
font-weight
:
bold
}
.achievements
.d5-item
{
padding
:
3px
10px
;
background
:
#EEEEEF
;
color
:
#111111
;
align-items
:
center
;
justify-content
:
center
;
border-radius
:
4px
}
.achievements
.price-popup
{
border-radius
:
4px
;}
.achievements
.Remark-l
{
flex
:
1
;
padding
:
10px
15px
10px
10px
;
background
:
#E1EAF5
;
border-radius
:
4px
;
font-size
:
14px
;
color
:
#F28C1D
;
position
:
relative
}
</
style
>
src/pages/course/classHourReward.vue
View file @
7436b498
...
...
@@ -131,6 +131,7 @@
<el-drawer
title=
""
:visible
.
sync=
"drawer"
:wrapperClosable=
"false"
:with-header=
"false"
>
<div
style=
"padding: 15px"
class=
"class-popover"
>
<div
style=
"margin: 10px 0;font-size: 14px;font-weight: bold;color:#2D2D2D;"
>
新增课时奖励
</div>
...
...
@@ -157,7 +158,7 @@
<div
class=
"row col"
style=
"margin-top: 30px"
>
<q-btn
class=
"q-mr-md"
label=
"取消"
@
click=
"drawer=false"
/>
<q-btn
color=
"accent"
class=
"q-mr-md"
label=
"保存"
@
click=
"saveOrderInfo()"
/>
<q-btn
color=
"accent"
class=
"q-mr-md"
label=
"保存"
@
click=
"saveOrderInfo()"
:loading=
"Dloading"
/>
</div>
</div>
</el-drawer>
...
...
@@ -182,6 +183,7 @@
loading
:
false
,
ISsystem
:
false
,
Floading
:
false
,
Dloading
:
false
,
drawer
:
false
,
data
:[],
pageCount
:
0
,
...
...
@@ -371,8 +373,9 @@
})
return
}
this
.
Dloading
=
true
setTeachingBonusAdd
(
this
.
addMsg
).
then
(
res
=>
{
this
.
Dloading
=
false
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
...
...
@@ -482,11 +485,9 @@
</
script
>
<
style
scoped
>
.classHourReward
.el-range-editor
.el-range-input
{
background
:
none
;
}
.classHourReward
.el-range-editor.el-input__inner
{
background-color
:
transparent
;
.classHourReward
.Sysuser_Date
.el-input--prefix
.el-input__inner
{
background-color
:
red
;
border
:
0
;
}
.classHourReward
.state-item
{
padding
:
3px
0px
;
border-radius
:
3px
;
width
:
70px
;
...
...
@@ -510,11 +511,11 @@
.classHourReward
.el-date-editor.el-input
{
width
:
100%
;
}
.classHourReward
.el-input__inner
{
background-color
:
red
!important
;
}
.class-popover
.el-input__inner
{
.classHourReward
.el-date-editor.el-input
input
{
background-color
:
transparent
!important
;
}
.classHourReward
.el-range-editor
.el-range-input
{
background
:
none
;
}
</
style
>
src/pages/sale/myOrder.vue
View file @
7436b498
...
...
@@ -314,7 +314,7 @@
.myOrder
ul
{
padding
:
0px
}
.myOrder
.price-popup
{
border-radius
:
4px
;}
.myOrder
.el-range-editor
.el-range-input
{
background
:
none
;
background
:
transparent
;
}
.myOrder
.el-range-editor.el-input__inner
{
background-color
:
transparent
;
...
...
src/router/routes.js
View file @
7436b498
...
...
@@ -371,6 +371,11 @@ const routes = [{
component
:
()
=>
import
(
"pages/course/rewardDetailed.vue"
)
},
{
path
:
"/course/achievements"
,
//教学奖励 绩效列表
component
:
()
=>
import
(
"pages/course/achievements.vue"
)
},
{
path
:
"/test"
,
//API测试
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