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
492ff3d2
Commit
492ff3d2
authored
Jul 09, 2021
by
罗超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
into master
parents
5eccdf9f
cf699c21
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
317 additions
and
144 deletions
+317
-144
App.vue
src/App.vue
+4
-0
backbill-form.vue
src/components/sale/backbill-form.vue
+4
-7
backinfo-form.vue
src/components/sale/backinfo-form.vue
+34
-19
changeClassForm.vue
src/components/teacher/changeClassForm.vue
+211
-39
changeClassManager.vue
src/pages/teacher/changeClassManager.vue
+2
-2
backbill.vue
src/pages/user/backbill.vue
+62
-77
No files found.
src/App.vue
View file @
492ff3d2
...
...
@@ -28,6 +28,10 @@ body,
.q-position-engine
{
z-index
:
9999
;
}
.el-date-picker
,
.time-select
{
z-index
:
999999
!important
;
}
.remark-font
{
font-size
:
12px
;
font-family
:
Poppins
,
Helvetica
,
sans-serif
;
...
...
src/components/sale/backbill-form.vue
View file @
492ff3d2
...
...
@@ -58,7 +58,7 @@
<q-tab
:ripple=
"false"
name=
"second"
label=
"审批记录"
/>
</q-tabs>
<div
v-if=
"tabCheck=='first'"
style=
"margin:0 15px;"
>
<backinfoForm
:seting-obj=
"
data
Obj"
:showType=
"showType"
@
close=
"closeShenheForm"
@
success=
"refreshPage"
>
<backinfoForm
:seting-obj=
"
seting
Obj"
:showType=
"showType"
@
close=
"closeShenheForm"
@
success=
"refreshPage"
>
</backinfoForm>
</div>
<div
v-if=
"tabCheck=='second'"
>
...
...
@@ -86,10 +86,7 @@
type
:
Number
,
default
:
1
},
Id
:{
type
:
Number
,
default
:
null
}
},
components
:
{
backinfoForm
,
...
...
@@ -100,14 +97,14 @@
persistent
:
true
,
tabCheck
:
'first'
,
//默认选第一个
loading
:
false
,
dataObj
:{}
}
},
created
()
{
},
mounted
()
{
this
.
dataObj
=
this
.
setingObj
.
DataObj
;
x
},
methods
:
{
refreshPage
()
{
...
...
src/components/sale/backinfo-form.vue
View file @
492ff3d2
...
...
@@ -56,7 +56,7 @@
}
.backinfoContent
.topBaseInfo
{
height
:
300px
;
/* height: 300px; */
overflow
:
auto
;
}
...
...
@@ -91,7 +91,7 @@
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
编号:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
BackNum
}}
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
DataObj
.
BackNum
}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
申请人:
</span>
...
...
@@ -101,12 +101,12 @@
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
学员姓名:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
GuestName
}}
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
DataObj
.
GuestName
}}
</span>
</div>
<
!--
<
div
class=
"col-6"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
申请时间:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
CreateTime
Str
}}
</span>
</div>
-->
<span
class=
"backOtherInfo"
>
{{
setingObj
.
CreateTime
}}
</span>
</div>
</div>
<div
class=
"backinfo_Item"
>
<span
class=
"role_Line"
style=
"background-color:#F28C1D"
></span>
教学信息
...
...
@@ -114,21 +114,24 @@
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
校区:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
SchoolName
}}
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
DataObj
.
SchoolName
}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
班级信息:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
ClassName
}}
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
DataObj
.
ClassName
}}
<span
style=
"color:blue;cursor:pointer;"
@
click=
"goClassManage(setingObj.DataObj.ClassName)"
>
{{
setingObj
.
DataObj
.
ClassNo
}}
</span>
</span>
</div>
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
带班老师:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
TeacherName
}}
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
DataObj
.
TeacherName
}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
学习课程:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
CourseName
}}
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
DataObj
.
CourseName
}}
</span>
</div>
</div>
<div
class=
"backinfo_Item"
>
...
...
@@ -137,7 +140,7 @@
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
学习课时:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
FinishHours
}}
课时
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
DataObj
.
FinishHours
}}
课时
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
缺勤次数:
</span>
...
...
@@ -156,37 +159,37 @@
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
关联单号:
</span>
<span
class=
"backOtherInfo"
style=
"color:#2961FE
"
>
{{
seting
Obj
.
OrderId
}}
</span>
<span
class=
"backOtherInfo"
style=
"color:#2961FE
;cursor:pointer"
@
click=
"goOrderStatic(setingObj.DataObj.OrderId)"
>
{{
setingObj
.
Data
Obj
.
OrderId
}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
关联销售:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
EnterName
}}
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
DataObj
.
EnterName
}}
</span>
</div>
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
预计退费:
</span>
<span
class=
"backOtherInfo"
style=
"color:#F72E52"
>
¥
{{
setingObj
.
BackMoney
}}
</span>
<span
class=
"backOtherInfo"
style=
"color:#F72E52"
>
¥
{{
setingObj
.
DataObj
.
BackMoney
}}
</span>
</div>
</div>
</div>
<div
class=
"replayReason"
>
<div
class=
"replay_Title"
>
退课原因
</div>
<div
style=
"color:#666666;margin-top:5px;"
>
{{
setingObj
.
ApplyReason
}}
{{
setingObj
.
DataObj
.
ApplyReason
}}
</div>
</div>
<template
v-if=
"setingObj.SpecialNode==1"
>
<span>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"backBillMsg.BackMoney"
class=
"col-12"
label=
"退课金额"
:rules=
"[val => !!val || '请填退课金额']"
/>
/>
</span>
<span>
系统计算课时费为:
{{
(
classPriceObj
.
ClassHours
-
classPriceObj
.
FinishHours
)
}}
(课时)*
{{
classPriceObj
.
classHourPrice
}}
(课单价)=
{{
classPriceObj
.
backMoney
}}
元,请你最终确认退款金额
</span>
</
template
>
<div
v-if=
"showType==2"
>
<div
style=
"display:flex;justify-content:space-between;align-items:center;"
>
<div
style=
"display:flex;justify-content:space-between;align-items:center;
margin-top:20px;
"
>
<div>
审批意见
</div>
<div>
<q-radio
v-model=
"backBillMsg.AuditStatus"
:val=
"2"
label=
"通过"
/>
...
...
@@ -268,7 +271,7 @@
Id
:
0
,
BackMoney
:
0
,
//实际退款金额
Description
:
""
,
//审批意见
AuditStatus
:
0
,
//审核状态
AuditStatus
:
2
,
//审核状态
SpecialNode
:
0
,
//是否特殊节点
RecipientIds
:
""
,
//抄送人
},
...
...
@@ -290,7 +293,7 @@
methods
:
{
getBackBillMoney
()
{
queryBackBillMoney
({
BackId
:
this
.
backBillMsg
.
Back
Id
BackId
:
this
.
setingObj
.
Relation
Id
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
classPriceObj
=
res
.
Data
;
...
...
@@ -363,6 +366,18 @@
}
})
return
str
;
},
//跳转到班级管理
goClassManage
(
ClassName
){
this
.
OpenNewUrl
(
'/course/classManage'
,{
'ClassName'
:
ClassName
})
},
//跳转到报名统计
goOrderStatic
(
OrderId
){
this
.
OpenNewUrl
(
'/sale/orderStatistics'
,{
'OrderId'
:
OrderId
})
}
},
}
...
...
src/components/teacher/changeClassForm.vue
View file @
492ff3d2
This diff is collapsed.
Click to expand it.
src/pages/teacher/changeClassManager.vue
View file @
492ff3d2
...
...
@@ -24,11 +24,11 @@
label=
"学员名称/班级名称/老师名称"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
filled
v-model=
"msg.AuditStatus"
:options=
"ShowOpts"
<q-select
@
input=
"resetSearch"
clearable
filled
v-model=
"msg.AuditStatus"
:options=
"ShowOpts"
emit-value
map-options
label=
"审核状态"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
option-value=
"Id"
option-label=
"Name"
filled
v-model=
"msg.ReceiptType"
:options=
"OrderTypeList"
<q-select
@
input=
"resetSearch"
clearable
option-value=
"Id"
option-label=
"Name"
filled
v-model=
"msg.ReceiptType"
:options=
"OrderTypeList"
emit-value
map-options
label=
"单据类型"
/>
</div>
<div
class=
"col-3 Sysuser_Date"
>
...
...
src/pages/user/backbill.vue
View file @
492ff3d2
...
...
@@ -6,19 +6,30 @@
.Sysuser_Date
.el-range-editor.el-input__inner
{
background-color
:
transparent
;
}
.ReceipTypeName
{
display
:
inline-block
;
padding
:
2px
8px
;
color
:
white
;
background-color
:
rgb
(
233
,
82
,
82
);
line-height
:
16px
;
border-radius
:
4px
;
}
</
style
>
<
template
>
<div
class=
"page-body"
>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-input
@
change=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.ClassName"
<q-input
@
change=
"resetSearch"
clearable
filled
v-model=
"msg.ClassName"
label=
"学员名称/班级名称/老师名称"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
v-model=
"msg.AuditStatus"
:options=
"ShowOpts"
emit-value
map-options
label=
"流程状态"
/>
<q-select
@
input=
"resetSearch"
filled
v-model=
"msg.AuditStatus"
:options=
"ShowOpts"
emit-value
map-options
label=
"审核状态"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
option-value=
"Id"
option-label=
"Name"
filled
v-model=
"msg.ReceiptType"
:options=
"OrderTypeList"
emit-value
map-options
label=
"单据类型"
/>
</div>
<div
class=
"col-3 Sysuser_Date"
>
<q-field
filled
>
...
...
@@ -40,22 +51,9 @@
</q-tabs>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table"
separator=
"none"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<
template
v-slot:body-cell-Status=
"props"
>
<q-td
:props=
"props"
>
<q-toggle
size=
"sm"
color=
"secondary"
:false-value=
"1"
:true-value=
"0"
v-model=
"props.row.Status"
title=
"注意:关闭后,分类将无法正常使用."
@
input=
"SetDeptStatus(props.row)"
/>
</q-td>
</
template
>
<
template
v-slot:body-cell-School_Id=
"props"
>
<q-td
:props=
"props"
>
{{
props
.
row
.
School_Id
>
0
?
props
.
row
.
SchoolName
:
'总部'
}}
</q-td>
</
template
>
<
template
v-slot:body-cell-RealityBackMoney=
"props"
>
<
template
v-slot:body-cell-ReceiptTypeName=
"props"
>
<q-td
:props=
"props"
>
<template
v-if=
"props.row.AuditStatus==2"
>
<span
style=
"color:red"
>
{{
props
.
row
.
RealityBackMoney
}}
</span>
</
template
>
<span
class=
"ReceipTypeName"
>
{{
props
.
row
.
ReceiptTypeName
}}
</span>
</q-td>
</
template
>
<
template
v-slot:bottom
>
...
...
@@ -94,8 +92,10 @@
</template>
<
script
>
import
{
queryStudentBackClassPage
,
}
from
'../../api/sale/bill'
GetEducationReceiptPage
,
GetEducationReceiptType
}
from
'../../api/teacher/index'
import
backbillForm
from
'../../components/sale/backbill-form'
;
import
createbackbillForm
from
'../../components/sale/createbackbill-form'
;
export
default
{
...
...
@@ -110,65 +110,40 @@
return
{
currentUrl
:
""
,
columns
:
[{
name
:
'AuditStatusName'
,
label
:
'状态'
,
align
:
'left'
,
field
:
row
=>
row
.
AuditStatusName
},
{
name
:
'GuestName'
,
label
:
'学员名称'
,
field
:
'GuestName'
,
align
:
'left'
},
{
name
:
'SchoolName'
,
label
:
'所属校区'
,
field
:
'SchoolName'
,
name
:
'Id'
,
label
:
'单号'
,
field
:
'Id'
,
align
:
'left'
},
{
name
:
'ClassName'
,
label
:
'所属班级'
,
field
:
'ClassName'
,
},{
name
:
'Title'
,
label
:
'标题'
,
field
:
'Title'
,
align
:
'left'
},
{
name
:
'
Teacher
Name'
,
label
:
'
带班老师
'
,
field
:
'
Teacher
Name'
,
name
:
'
ReceiptType
Name'
,
label
:
'
单据类型
'
,
field
:
'
ReceiptType
Name'
,
align
:
'left'
},
{
name
:
'
FinishHours
'
,
label
:
'
已上课时
'
,
field
:
'
FinishHours
'
,
name
:
'
AuditStatusName
'
,
label
:
'
审核状态
'
,
field
:
'
AuditStatusName
'
,
align
:
'left'
},
{
name
:
'
BackMoney
'
,
label
:
'
预计退费金额
'
,
field
:
'
BackMoney
'
,
name
:
'
CreateByName
'
,
label
:
'
创建人
'
,
field
:
'
CreateByName
'
,
align
:
'left'
},
{
name
:
'
RealityBackMoney
'
,
label
:
'
实际退费金额
'
,
field
:
'
RealityBackMoney
'
,
name
:
'
CreateTime
'
,
label
:
'
创建时间
'
,
field
:
'
CreateTime
'
,
align
:
'left'
},
{
name
:
'CreateTimeStr'
,
label
:
'申请时间'
,
field
:
'CreateTimeStr'
,
align
:
'left'
,
},
{
name
:
'CreateByName'
,
label
:
'申请人'
,
field
:
'CreateByName'
,
align
:
'left'
,
},
{
name
:
'optioned'
,
label
:
'操作'
,
...
...
@@ -178,10 +153,7 @@
data
:
[],
loading
:
true
,
applyDateList
:
[],
//申请日期
ShowOpts
:
[{
label
:
'全部'
,
value
:
'0'
},
ShowOpts
:
[
{
label
:
'审核中'
,
value
:
'1'
...
...
@@ -204,10 +176,11 @@
pageSize
:
12
,
rowsPerPage
:
12
,
ClassName
:
""
,
//学员、班级、老师名称
AuditStatus
:
"
0
"
,
//审核状态
Q
StartTime
:
""
,
//开始时间
Q
EndTime
:
""
,
//结束时间
AuditStatus
:
""
,
//审核状态
StartTime
:
""
,
//开始时间
EndTime
:
""
,
//结束时间
Conditon
:
1
,
ReceiptType
:
''
//单据类型
},
tabCheck
:
"1"
,
pageCount
:
0
,
...
...
@@ -215,6 +188,8 @@
isShowCreateBillForm
:
false
,
//是否显示制单表单
billObj
:
{},
//单据信息
showType
:
1
,
//1-查看,2-审核
OrderTypeList
:
[],
}
},
created
()
{
...
...
@@ -222,6 +197,7 @@
},
mounted
()
{
this
.
currentUrl
=
this
.
$route
.
path
;
this
.
getEducationType
();
this
.
getStuBackBill
();
},
methods
:
{
...
...
@@ -252,6 +228,7 @@
this
.
isShowBillForm
=
true
;
this
.
showType
=
type
;
this
.
billObj
=
item
;
},
//重新查询
resetSearch
()
{
...
...
@@ -270,13 +247,13 @@
this
.
pageCount
=
0
;
this
.
msg
.
Conditon
=
this
.
tabCheck
;
if
(
this
.
applyDateList
&&
this
.
applyDateList
.
length
>
0
)
{
this
.
msg
.
Q
StartTime
=
this
.
applyDateList
[
0
];
this
.
msg
.
Q
EndTime
=
this
.
applyDateList
[
1
];
this
.
msg
.
StartTime
=
this
.
applyDateList
[
0
];
this
.
msg
.
EndTime
=
this
.
applyDateList
[
1
];
}
else
{
this
.
msg
.
Q
StartTime
=
''
;
this
.
msg
.
Q
EndTime
=
''
;
this
.
msg
.
StartTime
=
''
;
this
.
msg
.
EndTime
=
''
;
}
queryStudentBackClass
Page
(
this
.
msg
).
then
(
res
=>
{
GetEducationReceipt
Page
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
data
=
res
.
Data
.
PageData
;
this
.
pageCount
=
res
.
Data
.
PageCount
;
...
...
@@ -290,6 +267,14 @@
this
.
billObj
=
{};
this
.
getStuBackBill
();
},
//获取下拉数据
getEducationType
()
{
GetEducationReceiptType
().
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
OrderTypeList
=
res
.
Data
;
}
}).
catch
(()
=>
{})
}
},
watch
:
{
tabCheck
:
function
(
val
)
{
...
...
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