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
0a210e4d
Commit
0a210e4d
authored
Jul 22, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
918c2e7a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1587 additions
and
563 deletions
+1587
-563
index.js
src/api/stuMan/index.js
+44
-0
addEvent-form.vue
src/components/stuMan/addEvent-form.vue
+242
-0
eventRecord.vue
src/components/stuMan/eventRecord.vue
+228
-0
makeUpHours.vue
src/components/stuMan/makeUpHours.vue
+256
-0
moreQuery.vue
src/components/stuMan/moreQuery.vue
+134
-127
orderCompleteStatistics.vue
src/pages/financial/orderCompleteStatistics.vue
+378
-326
stuList.vue
src/pages/stuMan/stuList.vue
+305
-110
No files found.
src/api/stuMan/index.js
View file @
0a210e4d
...
...
@@ -27,4 +27,48 @@ export function getStuList(data) {
method
:
'post'
,
data
})
}
//学管 获取预警枚举
export
function
getEarlyWarningEnum
(
data
)
{
return
request
({
url
:
'/Stu/GetGuestClassHoursEarlyWarningEnumList'
,
method
:
'post'
,
data
})
}
//学管 获取类型枚举
export
function
getTypeEnum
(
data
)
{
return
request
({
url
:
'/Stu/GetOrderJoinTypeEnumEnumList'
,
method
:
'post'
,
data
})
}
//学管 添加事件
export
function
addEvent
(
data
)
{
return
request
({
url
:
'/Stu/GetSetStudentEventLog'
,
method
:
'post'
,
data
})
}
//学管 获取可补课课时,缺勤次数,请假次数分页信息
export
function
getClassCheckPageList
(
data
)
{
return
request
({
url
:
'/Stu/GetClassCheckPageList'
,
method
:
'post'
,
data
})
}
//学管 获取事件记录分页信息
export
function
getEventLogPageList
(
data
)
{
return
request
({
url
:
'/Stu/GetStudentEventLogPageList'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/components/stuMan/addEvent-form.vue
0 → 100644
View file @
0a210e4d
<
template
>
<q-dialog
v-model=
"persistent"
content-class=
"bg-grey-1"
persistent
transition-show=
"scale"
transition-hide=
"scale"
>
<q-card
style=
"width: 800px;max-width:900px;"
>
<q-card-section>
<div
class=
"text-h6"
v-if=
"this.msg.Id===0"
>
添加事件
</div>
<div
class=
"text-h6"
v-if=
"this.msg.Id>0"
>
修改事件
</div>
</q-card-section>
<q-card-section
class=
"q-pt-none"
>
<div
class=
"row "
>
<div
class=
"col-6 q-pr-lg"
>
<q-input
filled
v-model=
"msg.Title"
label=
"标题"
/>
</div>
<div
class=
"col-6"
>
<q-select
@
input=
""
standout=
"bg-primary text-white"
v-model=
"msg.EventType"
class=
"col-6"
option-label=
"Name"
option-value=
"Id"
:options=
"typeOpts"
emit-value
map-options
label=
"类型"
/>
</div>
</div>
<q-input
filled
type=
"textarea"
:rows=
"3"
style=
"margin-top:20px;"
stack-label
maxlength=
"2000"
v-model=
"msg.EventContent"
:dense=
"false"
class=
"col-12 q-pb-lg"
label=
"内容"
/>
<div
class=
"row wrap"
style=
"padding-top:20px"
>
<div
style=
"display:flex;flex-wrap: wrap;"
>
<div
v-if=
"msg.EventPicList&&msg.EventPicList.length>0"
v-for=
"(item,index) in msg.EventPicList"
>
<div
class=
"ItemImgDiv"
>
<q-img
:src=
"item"
spinner-color=
"white"
style=
"height: 100%;height:100%"
/>
<q-btn
size=
"7px"
@
click=
"deleteItemImg(index)"
style=
"position:absolute;right:-5px;top:-5px;"
round
color=
"red"
icon=
"iconfont icon-guanbi1"
/>
</div>
</div>
<el-upload
class=
"avatar-uploader addDutyMain"
action=
""
:before-upload=
"uploadFile"
:show-file-list=
"false"
>
<i
class=
"el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</div>
</div>
</q-card-section>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeSaveForm"
/>
<q-btn
label=
"立即提交"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
:loading=
"saveLoading"
@
click=
"save"
/>
</q-card-actions>
</q-card>
</q-dialog>
</
template
>
<
script
>
import
{
UploadSelfFile
,
}
from
'../../api/common/common'
import
{
addEvent
}
from
'../../api/stuMan/index.js'
export
default
{
props
:
{
setObj
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
return
{
persistent
:
true
,
saveLoading
:
false
,
msg
:
{
Id
:
0
,
StuId
:
0
,
School_Id
:
0
,
EventType
:
2
,
EventContent
:
""
,
Title
:
""
,
EventPicList
:
[]
},
typeOpts
:
[{
Name
:
"处分"
,
Id
:
1
,
},
{
Name
:
"奖励"
,
Id
:
2
,
},
]
}
},
mounted
()
{
console
.
log
(
85
,
this
.
setObj
)
if
(
this
.
setObj
)
{
if
(
this
.
setObj
.
Student_Id
)
{
this
.
msg
.
StuId
=
this
.
setObj
.
Student_Id
}
if
(
this
.
setObj
.
School_Id
)
{
this
.
msg
.
School_Id
=
this
.
setObj
.
School_Id
}
if
(
this
.
setObj
.
Id
>
0
)
{
this
.
msg
.
Id
=
this
.
setObj
.
Id
if
(
this
.
setObj
.
EventType
)
{
this
.
msg
.
EventType
=
this
.
setObj
.
EventType
}
if
(
this
.
setObj
.
Title
)
{
this
.
msg
.
Title
=
this
.
setObj
.
Title
}
if
(
this
.
setObj
.
EventContent
)
{
this
.
msg
.
EventContent
=
this
.
setObj
.
EventContent
}
if
(
this
.
setObj
.
EventPicList
)
{
this
.
msg
.
EventPicList
=
this
.
setObj
.
EventPicList
}
}
else
{
this
.
msg
.
Id
=
0
this
.
msg
.
EventType
=
2
this
.
msg
.
Title
=
""
this
.
msg
.
EventContent
=
""
this
.
msg
.
EventPicList
=
[]
}
}
else
{
this
.
msg
.
Id
=
0
this
.
msg
.
EventType
=
2
this
.
msg
.
Title
=
""
this
.
msg
.
EventContent
=
""
this
.
msg
.
EventPicList
=
[]
}
console
.
log
(
109
,
this
.
msg
)
this
.
$forceUpdate
();
},
methods
:
{
closeSaveForm
()
{
this
.
$emit
(
'close'
)
this
.
persistent
=
false
},
save
()
{
console
.
log
(
89
,
this
.
msg
)
this
.
saveLoading
=
true
addEvent
(
this
.
msg
).
then
(
res
=>
{
this
.
saveLoading
=
false
if
(
res
.
Code
===
1
)
{
this
.
$message
.
success
(
"操作成功"
)
this
.
$emit
(
"success"
)
this
.
persistent
=
false
}
else
{
this
.
$message
.
error
(
res
.
Message
)
}
}).
catch
(
err
=>
{
this
.
saveLoading
=
false
})
},
uploadFile
(
files
)
{
UploadSelfFile
(
'studentIcon'
,
files
,
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
msg
.
EventPicList
.
push
(
res
.
FileUrl
);
}
})
},
//删除图片
deleteItemImg
(
index
)
{
this
.
msg
.
EventPicList
.
splice
(
index
,
1
);
}
},
}
</
script
>
<
style
>
.avatar-uploader
.el-upload
{
border-radius
:
6px
;
cursor
:
pointer
;
width
:
100%
;
height
:
100%
;
color
:
#8c939d
;
position
:
relative
;
overflow
:
hidden
;
}
.addDutyMain
{
display
:
inline-block
;
width
:
118px
;
height
:
118px
;
font-size
:
70px
;
border
:
1px
dashed
#d9d9d9
;
line-height
:
120px
;
}
.ItemImgDiv
{
width
:
118px
;
height
:
118px
;
position
:
relative
;
margin
:
0
10px
10px
0
;
display
:
inline-block
;
}
._delete_img
{
position
:
absolute
;
top
:
0px
;
height
:
82px
;
width
:
143px
;
line-height
:
34px
;
text-align
:
center
;
background-color
:
rgba
(
2
,
2
,
2
,
0.6
);
display
:
inherit
;
opacity
:
0
;
transition
:
all
linear
.5s
}
._delete_img
i
.iconfont
{
display
:
inline-block
;
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
color
:
#E95252
!important
;
background-color
:
rgba
(
251
,
251
,
251
,
0.9
);
margin-top
:
26px
;
}
._upload_box
ul
li
{
float
:
left
;
height
:
82px
;
width
:
143px
;
padding
:
0px
20px
20px
0
;
text-align
:
center
;
position
:
relative
;
cursor
:
pointer
;
margin-right
:
10px
;
}
._upload_box
ul
li
img
{
height
:
82px
;
width
:
143px
;
}
._upload_box
ul
li
:hover
._delete_img
{
opacity
:
1
;
}
._upload_tips
{
font-size
:
12px
;
position
:
absolute
;
top
:
71%
;
width
:
100%
;
left
:
0
;
text-align
:
center
;
color
:
#949494
;
}
</
style
>
src/components/stuMan/eventRecord.vue
0 → 100644
View file @
0a210e4d
<
template
>
<!-- 可补课时 -->
<q-dialog
v-model=
"persistent"
content-class=
"bg-grey-1"
persistent
transition-show=
"scale"
transition-hide=
"scale"
>
<q-card
style=
"width: 900px;max-width:900px;"
>
<q-card-section>
<div
class=
"text-h6"
>
事件记录
</div>
</q-card-section>
<q-card-section
class=
"q-pt-none"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table "
separator=
"none"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<!--
<div
class=
"col-2 q-table__title"
>
可补课课时
</div>
-->
</
template
>
<
template
v-slot:body-cell-EventType=
"props"
>
<q-td
:props=
"props"
>
<div
v-if=
"props.row.EventType===1"
style=
"color:#ff0000"
>
处分
</div>
<div
v-if=
"props.row.EventType===2"
style=
"color:#00ff00"
>
奖励
</div>
</q-td>
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<div>
<q-btn
size=
"xs"
color=
"accent"
style=
"font-weight:400"
label=
"修改"
@
click=
"modify(props.row)"
/>
</div>
</q-td>
</
template
>
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</q-table>
</q-card-section>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeSaveForm"
/>
<!-- <q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" :loading="saveLoading"
@click="save" /> -->
</q-card-actions>
</q-card>
</q-dialog>
</template>
<
script
>
import
{
getEventLogPageList
}
from
'../../api/stuMan/index.js'
export
default
{
props
:
{
setObj
:
{
type
:
Object
,
}
},
data
()
{
return
{
persistent
:
true
,
loading
:
false
,
pageCount
:
0
,
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
rowsPerPage
:
10
,
StuId
:
0
,
EventType
:
0
},
data
:
[],
columns
:
[
{
name
:
"Title"
,
label
:
"标题"
,
align
:
"left"
,
field
:
"Title"
,
},
{
name
:
"EventType"
,
label
:
"类型"
,
align
:
"left"
,
field
:
"EventType"
},
{
name
:
"EventContent"
,
label
:
"内容"
,
align
:
"left"
,
field
:
"EventContent"
,
required
:
true
,
},
{
name
:
"CreateByName"
,
label
:
"创建人"
,
align
:
"left"
,
field
:
"CreateByName"
,
},
{
name
:
"CreateTime"
,
label
:
"创建时间"
,
align
:
"left"
,
field
:
"CreateTime"
,
},
{
name
:
"optioned"
,
label
:
"操作"
,
align
:
"left"
,
},
]
}
},
mounted
()
{
if
(
this
.
setObj
)
{
this
.
msg
.
StuId
=
this
.
setObj
.
Student_Id
}
this
.
getList
();
},
methods
:
{
closeSaveForm
()
{
this
.
$emit
(
'close'
)
this
.
persistent
=
false
},
getList
()
{
getEventLogPageList
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
===
1
)
{
this
.
data
=
res
.
Data
.
PageData
this
.
pageCount
=
res
.
Data
.
PageCount
}
})
},
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getList
();
},
//翻页
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
()
},
//修改
modify
(
item
){
this
.
persistent
=
false
this
.
$emit
(
'modify'
,
item
)
}
},
}
</
script
>
<
style
>
.avatar-uploader
.el-upload
{
border-radius
:
6px
;
cursor
:
pointer
;
width
:
100%
;
height
:
100%
;
color
:
#8c939d
;
position
:
relative
;
overflow
:
hidden
;
}
.addDutyMain
{
display
:
inline-block
;
width
:
118px
;
height
:
118px
;
font-size
:
70px
;
border
:
1px
dashed
#d9d9d9
;
line-height
:
120px
;
}
.ItemImgDiv
{
width
:
118px
;
height
:
118px
;
position
:
relative
;
margin
:
0
10px
10px
0
;
display
:
inline-block
;
}
._delete_img
{
position
:
absolute
;
top
:
0px
;
height
:
82px
;
width
:
143px
;
line-height
:
34px
;
text-align
:
center
;
background-color
:
rgba
(
2
,
2
,
2
,
0.6
);
display
:
inherit
;
opacity
:
0
;
transition
:
all
linear
.5s
}
._delete_img
i
.iconfont
{
display
:
inline-block
;
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
color
:
#E95252
!important
;
background-color
:
rgba
(
251
,
251
,
251
,
0.9
);
margin-top
:
26px
;
}
._upload_box
ul
li
{
float
:
left
;
height
:
82px
;
width
:
143px
;
padding
:
0px
20px
20px
0
;
text-align
:
center
;
position
:
relative
;
cursor
:
pointer
;
margin-right
:
10px
;
}
._upload_box
ul
li
img
{
height
:
82px
;
width
:
143px
;
}
._upload_box
ul
li
:hover
._delete_img
{
opacity
:
1
;
}
._upload_tips
{
font-size
:
12px
;
position
:
absolute
;
top
:
71%
;
width
:
100%
;
left
:
0
;
text-align
:
center
;
color
:
#949494
;
}
</
style
>
src/components/stuMan/makeUpHours.vue
0 → 100644
View file @
0a210e4d
<
template
>
<!-- 可补课时 -->
<q-dialog
v-model=
"persistent"
content-class=
"bg-grey-1"
persistent
transition-show=
"scale"
transition-hide=
"scale"
>
<q-card
style=
"width: 900px;max-width:900px;"
>
<q-card-section>
<div
class=
"text-h6"
v-if=
"type==1"
>
可补课课时
</div>
<div
class=
"text-h6"
v-if=
"type==2"
>
缺勤次数
</div>
<div
class=
"text-h6"
v-if=
"type==3"
>
请假
</div>
</q-card-section>
<q-card-section
class=
"q-pt-none"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table "
separator=
"none"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<!--
<div
class=
"col-2 q-table__title"
>
可补课课时
</div>
-->
</
template
>
<!-- <template v-slot:body-cell-ContractNo="props">
<q-td :props="props">
<div style="color:#f00;cursor:pointer;" @click="seeContract(props.row)">
{{props.row.ContractNo}}
</div>
</q-td>
</template> -->
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</q-table>
</q-card-section>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeSaveForm"
/>
<!-- <q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" :loading="saveLoading"
@click="save" /> -->
</q-card-actions>
</q-card>
</q-dialog>
</template>
<
script
>
import
{
getClassCheckPageList
}
from
'../../api/stuMan/index.js'
export
default
{
props
:
{
type
:
{
type
:
Number
,
default
:
1
},
setObj
:
{
type
:
Object
,
}
},
data
()
{
return
{
persistent
:
true
,
loading
:
false
,
pageCount
:
0
,
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
rowsPerPage
:
10
,
OrderGuestId
:
0
,
CheckStatus
:
1
,
MakeUpStatus
:
2
,
},
data
:
[],
columns
:
[
{
name
:
"GuestName"
,
label
:
"学生名称"
,
align
:
"left"
,
field
:
"GuestName"
,
},
{
name
:
"ClassName"
,
label
:
"班级名称"
,
align
:
"left"
,
field
:
"ClassName"
,
required
:
true
,
},
{
name
:
"ClassNo"
,
label
:
"班号"
,
align
:
"left"
,
field
:
"ClassNo"
},
{
name
:
"CourseName"
,
label
:
"课程"
,
align
:
"left"
,
field
:
"CourseName"
,
},
{
name
:
"RoomName"
,
label
:
"教室"
,
align
:
"left"
,
field
:
"RoomName"
,
},
{
name
:
"TeacherName"
,
label
:
"教师"
,
align
:
"left"
,
field
:
"TeacherName"
,
},
{
name
:
"ClassDate"
,
label
:
"上课时间"
,
align
:
"left"
,
field
:
"ClassDate"
,
},
{
name
:
"TimeBucket"
,
label
:
"上课时间段"
,
align
:
"left"
,
field
:
"TimeBucket"
,
},
{
name
:
"CreateTime"
,
label
:
"签到时间"
,
align
:
"left"
,
field
:
"CreateTime"
,
},
]
}
},
mounted
()
{
if
(
this
.
setObj
)
{
this
.
msg
.
OrderGuestId
=
this
.
setObj
.
Student_Id
}
if
(
this
.
type
===
1
)
{
//可补课时
this
.
msg
.
CheckStatus
=
1
this
.
msg
.
MakeUpStatus
=
2
}
else
if
(
this
.
type
===
2
)
{
// 缺勤
this
.
msg
.
CheckStatus
=
1
delete
this
.
msg
.
MakeUpStatus
}
else
if
(
this
.
type
===
3
)
{
// 请假
this
.
msg
.
CheckStatus
=
2
delete
this
.
msg
.
MakeUpStatus
}
this
.
getList
();
},
methods
:
{
closeSaveForm
()
{
this
.
$emit
(
'close'
)
this
.
persistent
=
false
},
getList
()
{
getClassCheckPageList
(
this
.
msg
).
then
(
res
=>
{
console
.
log
(
83
,
res
)
if
(
res
.
Code
===
1
)
{
this
.
data
=
res
.
Data
.
PageData
this
.
pageCount
=
res
.
Data
.
PageCount
}
})
},
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getList
();
},
//翻页
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
()
},
},
}
</
script
>
<
style
>
.avatar-uploader
.el-upload
{
border-radius
:
6px
;
cursor
:
pointer
;
width
:
100%
;
height
:
100%
;
color
:
#8c939d
;
position
:
relative
;
overflow
:
hidden
;
}
.addDutyMain
{
display
:
inline-block
;
width
:
118px
;
height
:
118px
;
font-size
:
70px
;
border
:
1px
dashed
#d9d9d9
;
line-height
:
120px
;
}
.ItemImgDiv
{
width
:
118px
;
height
:
118px
;
position
:
relative
;
margin
:
0
10px
10px
0
;
display
:
inline-block
;
}
._delete_img
{
position
:
absolute
;
top
:
0px
;
height
:
82px
;
width
:
143px
;
line-height
:
34px
;
text-align
:
center
;
background-color
:
rgba
(
2
,
2
,
2
,
0.6
);
display
:
inherit
;
opacity
:
0
;
transition
:
all
linear
.5s
}
._delete_img
i
.iconfont
{
display
:
inline-block
;
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
color
:
#E95252
!important
;
background-color
:
rgba
(
251
,
251
,
251
,
0.9
);
margin-top
:
26px
;
}
._upload_box
ul
li
{
float
:
left
;
height
:
82px
;
width
:
143px
;
padding
:
0px
20px
20px
0
;
text-align
:
center
;
position
:
relative
;
cursor
:
pointer
;
margin-right
:
10px
;
}
._upload_box
ul
li
img
{
height
:
82px
;
width
:
143px
;
}
._upload_box
ul
li
:hover
._delete_img
{
opacity
:
1
;
}
._upload_tips
{
font-size
:
12px
;
position
:
absolute
;
top
:
71%
;
width
:
100%
;
left
:
0
;
text-align
:
center
;
color
:
#949494
;
}
</
style
>
src/components/stuMan/moreQuery.vue
View file @
0a210e4d
...
...
@@ -18,16 +18,16 @@
<div
class=
"text-h6"
>
高级查询
</div>
</q-card-section>
<div
class=
"row q-mb-md"
>
<q-input
clearable
standout=
"bg-primary text-white"
class=
"col-12"
v-model=
"msg.
classId
"
label=
"班号"
<q-input
clearable
standout=
"bg-primary text-white"
class=
"col-12"
v-model=
"msg.
ClassNo
"
label=
"班号"
maxlength=
"20"
/>
</div>
<div
class=
"row q-mb-md"
>
<q-input
clearable
standout=
"bg-primary text-white"
class=
"col-12"
v-model=
"msg.
o
rderId"
label=
"订单号"
<q-input
clearable
standout=
"bg-primary text-white"
class=
"col-12"
v-model=
"msg.
O
rderId"
label=
"订单号"
maxlength=
"20"
/>
</div>
<div
class=
"row q-mb-md"
>
<q-select
standout=
"bg-primary text-white"
class=
"col-12"
option-label=
"EmployeeName"
option-value=
"Id"
v-model=
"msg.
employee
"
:options=
"EmployeeList"
emit-value
use-input
map-options
label=
"业务员"
clearable
v-model=
"msg.
EnterID
"
:options=
"EmployeeList"
emit-value
use-input
map-options
label=
"业务员"
clearable
@
filter=
"filterEmployee"
>
<template
v-slot:no-option
>
<q-item>
...
...
@@ -41,26 +41,27 @@
<div
class=
"Sysuser_Date row q-mb-md"
>
<q-field
filled
class=
"col-12"
>
<
template
v-slot:control
>
<el-date-picker
v-model=
"msg.SelectStartTimeStr"
type=
"date"
placeholder=
"下单时间"
value-format=
"yyyy-MM-dd
"
@
change=
"
"
>
</el-date-picker>
<el-date-picker
v-model=
"dateList"
value-format=
"yyyy-MM-dd"
type=
"daterange"
style=
"border:none;
"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期
"
>
</el-date-picker>
</
template
>
</q-field>
</div>
<div
class=
"row q-mb-md"
>
<q-select
standout=
"bg-primary text-white"
v-model=
"msg.
status"
class=
"col-12"
:options=
"statusOpts"
option-label=
"name"
option-value=
"Id
"
emit-value
map-options
label=
"状态"
/>
<q-select
standout=
"bg-primary text-white"
v-model=
"msg.
EffectStatus"
class=
"col-12"
:options=
"statusOpts
"
option-label=
"name"
option-value=
"Id"
emit-value
map-options
label=
"状态"
/>
</div>
<div
class=
"row q-mb-md"
>
<q-select
standout=
"bg-primary text-white"
v-model=
"msg.
type"
class=
"col-12"
:options=
"typeOpts"
option-label=
"name"
option-value=
"Id
"
emit-value
map-options
label=
"类型"
/>
<q-select
standout=
"bg-primary text-white"
v-model=
"msg.
JoinType"
class=
"col-12"
:options=
"typeEnum
"
option-label=
"Name"
option-value=
"Id"
emit-value
map-options
label=
"类型"
/>
</div>
<div
class=
"row q-mb-md"
>
<q-select
standout=
"bg-primary text-white"
v-model=
"msg.
warn"
class=
"col-12"
:options=
"warnOpts"
option-label=
"name"
option-value=
"Id
"
emit-value
map-options
label=
"预警"
/>
<q-select
standout=
"bg-primary text-white"
v-model=
"msg.
EarlyWarning"
class=
"col-12"
:options=
"warnEnum
"
option-label=
"Name"
option-value=
"Id"
emit-value
map-options
label=
"预警"
/>
</div>
<q-card-section>
<q-btn
color=
"accent"
label=
"查询"
@
click=
"query"
style=
"float:right"
></q-btn>
<q-btn
text-color=
"accent q-mr-md"
label=
"重置"
@
click=
"resetForm"
style=
"float:right"
></q-btn>
</q-card-section>
</q-card>
<div
class=
"dialog-out-close"
@
click=
"closeEditOrder"
...
...
@@ -73,135 +74,99 @@
import
{
queryEmployee
}
from
'../../api/users/user'
;
//获取员工
import
{
getClassDropDownList
}
from
'../../api/school/index'
;
//获取校区列表
export
default
{
name
:
"editOrder-form"
,
props
:
{
typeEnum
:
{
type
:
Array
},
warnEnum
:
{
type
:
Array
},
saveQuery
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
return
{
showquery
:
true
,
statusOpts
:[
{
name
:
"未生效"
,
Id
:
1
},
{
name
:
"正常"
,
Id
:
2
},
{
name
:
"休学"
,
Id
:
3
},
{
name
:
"完课"
,
Id
:
4
},
],
typeOpts
:[
{
name
:
"插班"
,
Id
:
1
},
{
name
:
"转班"
,
Id
:
2
},
{
name
:
"分拆"
,
Id
:
3
},
{
name
:
"正常"
,
Id
:
4
},
statusOpts
:
[{
name
:
"不限"
,
Id
:
""
},
{
name
:
"未生效"
,
Id
:
0
},
{
name
:
"正常"
,
Id
:
1
},
{
name
:
"退学"
,
Id
:
2
},
{
name
:
"申请中"
,
Id
:
3
},
{
name
:
"驳回申请"
,
Id
:
4
},
{
name
:
"停课"
,
Id
:
5
},
{
name
:
"停课申请中"
,
Id
:
6
},
{
name
:
"完结的订单"
,
Id
:
7
},
{
name
:
"转班申请中"
,
Id
:
8
},
],
warnOpts
:[
{
name
:
"无"
,
Id
:
1
},
{
name
:
"不足5课时"
,
Id
:
2
},
{
name
:
"不足10课时"
,
Id
:
3
},
{
name
:
"不足15课时"
,
Id
:
4
},
{
name
:
"不足20课时"
,
Id
:
5
},
],
classList
:
[],
msg
:
{
classId
:
1
,
orderId
:
"1"
,
employee
:
0
,
status
:
1
,
type
:
1
,
date
:
""
,
warn
:
1
,
ClassNo
:
""
,
OrderId
:
0
,
EnterID
:
0
,
EffectStatus
:
""
,
JoinType
:
0
,
OrderTime
:
""
,
EndOrderTime
:
""
,
EarlyWarning
:
0
,
chooseNum
:
0
,
//选中几项
},
EmployeeList
:
[],
//员工列表
AllemployeeList
:
[],
//所有员工列表
CourseList
:
[],
//课程列表
courseObj
:
{},
//选择的课程
Teacher_Id
:
0
,
ClassName
:
''
dateList
:
[],
}
},
mounted
()
{
if
(
this
.
saveQuery
)
{
this
.
msg
.
ClassNo
=
this
.
saveQuery
.
ClassNo
this
.
msg
.
OrderId
=
this
.
saveQuery
.
OrderId
this
.
msg
.
EnterID
=
this
.
saveQuery
.
EnterID
this
.
msg
.
EffectStatus
=
this
.
saveQuery
.
EffectStatus
this
.
msg
.
JoinType
=
this
.
saveQuery
.
JoinType
this
.
msg
.
EarlyWarning
=
this
.
saveQuery
.
EarlyWarning
this
.
msg
.
ClassNo
=
this
.
saveQuery
.
ClassNo
if
(
this
.
saveQuery
.
OrderTime
){
this
.
dateList
[
0
]
=
this
.
saveQuery
.
OrderTime
}
if
(
this
.
saveQuery
.
EndOrderTime
){
this
.
dateList
[
1
]
=
this
.
saveQuery
.
EndOrderTime
}
this
.
$forceUpdate
()
}
this
.
getEmployee
();
},
methods
:
{
//获取课程信息
getClassList
(
ClassId
)
{
this
.
OrderMsg
.
CourseId
=
''
;
this
.
CourseList
=
[];
let
val
=
this
.
classList
.
find
(
x
=>
x
.
ClassId
==
ClassId
);
if
(
val
)
{
this
.
Teacher_Id
=
val
.
Teacher_Id
;
this
.
ClassName
=
val
.
ClassName
;
}
var
qMsg
=
{
ClassId
:
ClassId
};
queryChaClassInfo
(
qMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
CourseList
=
res
.
Data
.
otherCourse
;
}
});
},
//获取班级列表
getClass
()
{
getClassDropDownList
({
IsAddDefault
:
0
,
IsQuerySurplus
:
1
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
let
tempArray
=
res
.
Data
;
if
(
!
tempArray
)
{
tempArray
=
[];
}
tempArray
.
unshift
({
ClassId
:
0
,
ClassName
:
"不限"
})
this
.
classList
=
tempArray
;
}
})
},
//筛选员工
filterEmployee
(
val
,
update
)
{
update
(()
=>
{
...
...
@@ -234,12 +199,54 @@
this
.
showquery
=
false
;
this
.
$emit
(
'close'
)
},
resetForm
()
{
this
.
msg
=
{
ClassNo
:
""
,
OrderId
:
0
,
EnterID
:
0
,
EffectStatus
:
""
,
JoinType
:
0
,
OrderTime
:
""
,
EndOrderTime
:
""
,
EarlyWarning
:
0
,
chooseNum
:
0
,
//选中几项
}
this
.
dateList
=
[]
},
query
()
{
this
.
msg
.
chooseNum
=
0
if
(
!
this
.
dateList
)
{
this
.
dateList
=
[]
}
if
(
this
.
dateList
.
length
>
0
)
{
this
.
msg
.
chooseNum
++
this
.
msg
.
OrderTime
=
this
.
dateList
[
0
]
this
.
msg
.
EndOrderTime
=
this
.
dateList
[
1
]
}
else
{
this
.
msg
.
OrderTime
=
""
this
.
msg
.
EndOrderTime
=
""
}
if
(
this
.
msg
.
ClassNo
)
{
this
.
msg
.
chooseNum
++
}
if
(
this
.
msg
.
OrderId
)
{
this
.
msg
.
chooseNum
++
}
if
(
this
.
msg
.
EnterID
)
{
this
.
msg
.
chooseNum
++
}
if
(
this
.
msg
.
EffectStatus
>=
0
&&
this
.
msg
.
EffectStatus
!==
""
)
{
this
.
msg
.
chooseNum
++
}
if
(
this
.
msg
.
JoinType
)
{
this
.
msg
.
chooseNum
++
}
if
(
this
.
msg
.
EarlyWarning
)
{
this
.
msg
.
chooseNum
++
}
this
.
showquery
=
false
;
this
.
$emit
(
"success"
,
this
.
msg
)
}
}
}
</
script
>
</
script
>
\ No newline at end of file
src/pages/financial/orderCompleteStatistics.vue
View file @
0a210e4d
This diff is collapsed.
Click to expand it.
src/pages/stuMan/stuList.vue
View file @
0a210e4d
This diff is collapsed.
Click to expand it.
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