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
1f9b468f
Commit
1f9b468f
authored
Sep 04, 2024
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
样式调整
parent
9763c0ec
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1525 additions
and
2094 deletions
+1525
-2094
reservestudentlist.vue
src/components/schedul/reservestudentlist.vue
+39
-45
student-shiting.vue
src/components/school/student/student-shiting.vue
+144
-138
transfer-order.vue
src/components/school/student/transfer-order.vue
+328
-336
order-form.vue
src/components/school/student/transfer-order/order-form.vue
+828
-1294
yueke.vue
src/components/school/student/transfer-order/yueke.vue
+186
-281
No files found.
src/components/schedul/reservestudentlist.vue
View file @
1f9b468f
<
template
>
<div
class=
"page-content"
:class=
"[$q.platform.is.desktop?'':'']"
>
<div
class=
"page-content"
:class=
"[$q.platform.is.desktop?'':'']"
>
<q-table
v-if=
"$q.platform.is.desktop"
:pagination=
"pageMsg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table sticky-right-column-table"
separator=
"none"
:data=
"data"
:columns=
"columns"
:visible-columns=
"visibleColumns"
row-key=
"name"
>
<template
v-slot:top
>
<div
class=
"q-table__title"
:class=
"[$q.platform.is.desktop?'col-2':'col-12']"
>
试听开课管理
</div>
<div
class=
"q-table__title"
:class=
"[$q.platform.is.desktop?'col-2':'col-12']"
>
试听开课管理
</div>
<q-space
/>
</
template
>
<
template
v-slot:body-cell-ReservationDate=
"props"
>
<q-td>
...
...
@@ -41,12 +38,8 @@
</
template
>
</q-table>
<
template
v-if=
"$q.platform.is.mobile"
>
<q-card
class=
"light-shadow q-pa-md bg-grey-1 rounded-borders q-mb-md"
flat
v-for=
"(x, index) in data"
:key=
"index"
>
<q-card
class=
"light-shadow q-pa-md bg-grey-1 rounded-borders q-mb-md"
flat
v-for=
"(x, index) in data"
:key=
"index"
>
<div
class=
"row justify-between"
>
<div>
学生:
<span
class=
"text-blue-5"
>
{{
x
.
StuName
}}
</span></div>
<div>
试听日期:
<span
class=
"text-blue-5"
>
{{
timeFormatSeconds
(
x
.
ReservationDate
)
}}
</span></div>
...
...
@@ -67,8 +60,8 @@
</div>
</div>
<div
class=
"row justify-end"
>
<q-btn
label=
"修改"
color=
"primary"
flat
@
click=
"editVisitor(x)"
/>
<q-btn
label=
"删除"
color=
"red-6"
flat
@
click=
"DeleteVisitorReserve(x.Id)"
/>
<q-btn
label=
"修改"
color=
"primary"
flat
@
click=
"editVisitor(x)"
/>
<q-btn
label=
"删除"
color=
"red-6"
flat
@
click=
"DeleteVisitorReserve(x.Id)"
/>
</div>
</q-card>
</
template
>
...
...
@@ -103,8 +96,7 @@
},
data
()
{
return
{
columns
:
[
{
columns
:
[{
name
:
'StuName'
,
label
:
'学生名称'
,
align
:
'left'
,
...
...
@@ -161,7 +153,7 @@
],
//表格可见列
visibleColumns
:
[
'StuName'
,
'ReservationDate'
,
'Demand'
,
'ClassDateStr'
,
'TeacherName'
,
'LessonName'
,
'RoomName'
,
'TeacherId'
'StuName'
,
'ReservationDate'
,
'Demand'
,
'ClassDateStr'
,
'TeacherName'
,
'LessonName'
,
'RoomName'
,
'TeacherId'
],
//可见列
reserveObj
:
{},
isShowReserve
:
false
,
...
...
@@ -181,10 +173,10 @@
},
methods
:
{
//获得年月日时分秒
//传入日期//例:2020-10-27T14:36:23
timeFormatSeconds
(
time
,
type
)
{
let
timeStr
=
""
;
if
(
time
===
'0001-01-01T00:00:00'
)
{
//传入日期//例:2020-10-27T14:36:23
timeFormatSeconds
(
time
,
type
)
{
let
timeStr
=
""
;
if
(
time
===
'0001-01-01T00:00:00'
)
{
return
timeStr
;
}
var
d
=
time
?
new
Date
(
time
)
:
new
Date
();
...
...
@@ -193,19 +185,19 @@
var
day
=
d
.
getDate
();
if
(
month
<
10
)
month
=
'0'
+
month
;
if
(
day
<
10
)
day
=
'0'
+
day
;
if
(
type
==
2
)
{
if
(
type
==
2
)
{
var
hours
=
d
.
getHours
();
var
min
=
d
.
getMinutes
();
var
seconds
=
d
.
getSeconds
();
if
(
hours
<
0
)
hours
=
'0'
+
hours
;
if
(
min
<
10
)
min
=
'0'
+
min
;
if
(
seconds
<
10
)
seconds
=
'0'
+
seconds
;
timeStr
+=
' '
+
hours
+
':'
+
min
+
':'
+
seconds
;
timeStr
+=
' '
+
hours
+
':'
+
min
+
':'
+
seconds
;
}
timeStr
=
year
+
'-'
+
month
+
'-'
+
day
+
timeStr
;
return
timeStr
;
},
timeStr
=
year
+
'-'
+
month
+
'-'
+
day
+
timeStr
;
return
timeStr
;
},
//编辑试听
editVisitor
(
obj
)
{
this
.
reserveObj
=
obj
...
...
@@ -250,7 +242,9 @@ return timeStr;
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
src/components/school/student/student-shiting.vue
View file @
1f9b468f
<
style
>
.divP
p
{
margin
:
0px
!important
;}
.divP
p
{
margin
:
0px
!important
;
}
</
style
>
<
template
>
<div>
...
...
@@ -30,14 +33,17 @@
<template
v-slot:title
>
<div
class=
"visit_Cont"
>
<div
class=
"Log_Content"
>
<q-chip
color=
"primary"
size=
"xs"
text-color=
"white"
style=
"position:absolute;:top:0;right:0"
v-if=
"tItem.ReserveType==1"
>
<q-chip
color=
"primary"
size=
"xs"
text-color=
"white"
style=
"position:absolute;:top:0;right:0"
v-if=
"tItem.ReserveType==1"
>
跟班
</q-chip>
<div
v-if=
"tItem.ReservationDate&&tItem.ReservationDate.length>0&&tItem.ReservationDate!='0001-01-01T00:00:00'"
>
<div
v-if=
"tItem.ReservationDate&&tItem.ReservationDate.length>0&&tItem.ReservationDate!='0001-01-01T00:00:00'"
>
试听日期:
{{
timeFormatSeconds
(
tItem
.
ReservationDate
)
}}
</div>
<div
v-if=
"tItem.Demand&&tItem.Demand.length>0"
>
<span
style=
"float:left;"
>
试听需求:
</span><div
v-html=
"tItem.Demand"
class=
"divP"
></div>
<span
style=
"float:left;"
>
试听需求:
</span>
<div
v-html=
"tItem.Demand"
class=
"divP"
></div>
</div>
<div>
预约时间:
{{
tItem
.
ClassDateStr
}}
{{
tItem
.
ClassTime
}}
...
...
@@ -58,11 +64,11 @@
<div
class=
"StuCom_Inner"
v-html=
"tItem.Feedback "
></div>
</div>
</div>
<div
style=
"margin-top:10px;width:150px;"
class=
"visit_delete text-negative"
>
<span
@
click=
"DeleteVisitorReserve(tItem.Id)"
style=
"margin-right:10px;"
>
删除
</span>
<span
v-if=
"tItem.ReserveClassId>0"
style=
"margin-right:10px;"
@
click=
"fabkuiMsg.IsShow=true,fabkuiMsg.Id=tItem.Id,fabkuiMsg.Feedback=tItem.Feedback"
>
反馈
</span>
<
span
v-if=
"tItem.ReserveClassId==0"
@
click=
"ShitingKaiKe(tItem)"
>
试听课开课
</span
>
<div
style=
"margin-top:10px;width:150px;"
class=
"visit_delete text-negative"
>
<span
@
click=
"DeleteVisitorReserve(tItem.Id)"
style=
"margin-right:10px;"
>
删除
</span
>
<span
v-if=
"tItem.ReserveClassId>0"
style=
"margin-right:10px;"
@
click=
"fabkuiMsg.IsShow=true,fabkuiMsg.Id=tItem.Id,fabkuiMsg.Feedback=tItem.Feedback"
>
反馈
</span>
<
!-- <span v-if="tItem.ReserveClassId==0" @click="ShitingKaiKe(tItem)">试听课开课</span> --
>
</div>
</div>
</template>
...
...
@@ -80,8 +86,8 @@
<q-pagination
class=
"full-width justify-end"
v-model=
"qMsg.pageIndex"
color=
"primary"
:max=
"page_Count"
input
@
input=
"changePage"
/>
</div>
<el-dialog
title=
"试听反馈"
:visible
.
sync=
"fabkuiMsg.IsShow"
>
<div
class=
"row studentDate"
>
<el-dialog
title=
"试听反馈"
:visible
.
sync=
"fabkuiMsg.IsShow"
>
<div
class=
"row studentDate"
>
<UeEditor
v-model=
"fabkuiMsg.Feedback"
class=
"q-pb-sm"
:config=
"config"
></UeEditor>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -90,10 +96,10 @@
</div>
</el-dialog>
<el-dialog
title=
"试听开课"
:visible
.
sync=
"VisitorReserveClassMsg.IsShow"
width=
"30%"
@
close=
"closeShitingKaiKe"
>
<audition
:VisitorReserveClassMsg=
"VisitorReserveClassMsg
"
@
close=
"closeShitingKaiKe"
@
success=
"SetVisitorReserveClass()"
></audition>
</el-dialog
>
<!-- <el-dialog title="试听开课" :visible.sync="VisitorReserveClassMsg.IsShow"
width="30%" @close="closeShitingKaiKe">
<audition :VisitorReserveClassMsg="VisitorReserveClassMsg" @close="closeShitingKaiKe
"
@success="SetVisitorReserveClass()"></audition>
</el-dialog> --
>
</div>
</template>
<
script
>
...
...
@@ -141,37 +147,37 @@
pageIndex
:
1
,
pageSize
:
12
,
Visitor_Id
:
0
,
IsReserve
:
1
,
IsReserve
:
1
,
},
dataList
:
[],
page_Count
:
0
,
userInfo
:
{},
fabkuiMsg
:{
Id
:
0
,
Feedback
:
""
,
IsShow
:
false
,
fabkuiMsg
:
{
Id
:
0
,
Feedback
:
""
,
IsShow
:
false
,
},
ClassRoomList
:
[],
//教师列表
TeacherList
:
[],
//教师列表
AllTeacherList
:
[],
//全部教师列表
TrialList
:
[],
//试听课程列表
VisitorReserveClassMsg
:{
Id
:
0
,
Visitor_Id
:
0
,
Remark
:
""
,
ReserveClassId
:
0
,
ClassDate
:
""
,
ReservationDate
:
""
,
ClassTime
:
""
,
TeacherId
:
0
,
ClassRoomId
:
0
,
ClassContent
:
""
,
EndTime
:
""
,
TrialLessonId
:
0
,
ReserveType
:
0
,
ClassPlanId
:
0
,
Demand
:
""
,
IsShow
:
false
,
VisitorReserveClassMsg
:
{
Id
:
0
,
Visitor_Id
:
0
,
Remark
:
""
,
ReserveClassId
:
0
,
ClassDate
:
""
,
ReservationDate
:
""
,
ClassTime
:
""
,
TeacherId
:
0
,
ClassRoomId
:
0
,
ClassContent
:
""
,
EndTime
:
""
,
TrialLessonId
:
0
,
ReserveType
:
0
,
ClassPlanId
:
0
,
Demand
:
""
,
IsShow
:
false
,
}
};
},
...
...
@@ -186,10 +192,10 @@
},
methods
:
{
//获得年月日时分秒
//传入日期//例:2020-10-27T14:36:23
timeFormatSeconds
(
time
,
type
)
{
let
timeStr
=
""
;
if
(
time
===
'0001-01-01T00:00:00'
)
{
//传入日期//例:2020-10-27T14:36:23
timeFormatSeconds
(
time
,
type
)
{
let
timeStr
=
""
;
if
(
time
===
'0001-01-01T00:00:00'
)
{
return
timeStr
;
}
var
d
=
time
?
new
Date
(
time
)
:
new
Date
();
...
...
@@ -198,19 +204,19 @@
var
day
=
d
.
getDate
();
if
(
month
<
10
)
month
=
'0'
+
month
;
if
(
day
<
10
)
day
=
'0'
+
day
;
if
(
type
==
2
)
{
if
(
type
==
2
)
{
var
hours
=
d
.
getHours
();
var
min
=
d
.
getMinutes
();
var
seconds
=
d
.
getSeconds
();
if
(
hours
<
0
)
hours
=
'0'
+
hours
;
if
(
min
<
10
)
min
=
'0'
+
min
;
if
(
seconds
<
10
)
seconds
=
'0'
+
seconds
;
timeStr
+=
' '
+
hours
+
':'
+
min
+
':'
+
seconds
;
timeStr
+=
' '
+
hours
+
':'
+
min
+
':'
+
seconds
;
}
timeStr
=
year
+
'-'
+
month
+
'-'
+
day
+
timeStr
;
return
timeStr
;
},
timeStr
=
year
+
'-'
+
month
+
'-'
+
day
+
timeStr
;
return
timeStr
;
},
//保存
SetVisitorReserveClass
()
{
this
.
closeShitingKaiKe
();
...
...
@@ -266,51 +272,51 @@ return timeStr;
this
.
getList
();
});
},
closeShitingKaiKe
(){
this
.
VisitorReserveClassMsg
.
Id
=
0
;
this
.
VisitorReserveClassMsg
.
Visitor_Id
=
0
;
this
.
VisitorReserveClassMsg
.
Remark
=
""
;
this
.
VisitorReserveClassMsg
.
ReserveClassId
=
0
;
this
.
VisitorReserveClassMsg
.
ClassDate
=
""
;
this
.
VisitorReserveClassMsg
.
ReservationDate
=
""
;
this
.
VisitorReserveClassMsg
.
ClassTime
=
""
;
this
.
VisitorReserveClassMsg
.
TeacherId
=
0
;
this
.
VisitorReserveClassMsg
.
ClassRoomId
=
0
;
this
.
VisitorReserveClassMsg
.
ClassContent
=
""
;
this
.
VisitorReserveClassMsg
.
EndTime
=
""
;
this
.
VisitorReserveClassMsg
.
TrialLessonId
=
0
;
this
.
VisitorReserveClassMsg
.
ReserveType
=
0
;
this
.
VisitorReserveClassMsg
.
ClassPlanId
=
0
;
this
.
VisitorReserveClassMsg
.
Demand
=
""
;
this
.
VisitorReserveClassMsg
.
IsShow
=
false
;
closeShitingKaiKe
()
{
this
.
VisitorReserveClassMsg
.
Id
=
0
;
this
.
VisitorReserveClassMsg
.
Visitor_Id
=
0
;
this
.
VisitorReserveClassMsg
.
Remark
=
""
;
this
.
VisitorReserveClassMsg
.
ReserveClassId
=
0
;
this
.
VisitorReserveClassMsg
.
ClassDate
=
""
;
this
.
VisitorReserveClassMsg
.
ReservationDate
=
""
;
this
.
VisitorReserveClassMsg
.
ClassTime
=
""
;
this
.
VisitorReserveClassMsg
.
TeacherId
=
0
;
this
.
VisitorReserveClassMsg
.
ClassRoomId
=
0
;
this
.
VisitorReserveClassMsg
.
ClassContent
=
""
;
this
.
VisitorReserveClassMsg
.
EndTime
=
""
;
this
.
VisitorReserveClassMsg
.
TrialLessonId
=
0
;
this
.
VisitorReserveClassMsg
.
ReserveType
=
0
;
this
.
VisitorReserveClassMsg
.
ClassPlanId
=
0
;
this
.
VisitorReserveClassMsg
.
Demand
=
""
;
this
.
VisitorReserveClassMsg
.
IsShow
=
false
;
this
.
$forceUpdate
()
},
//试听课开课
ShitingKaiKe
(
item
){
ShitingKaiKe
(
item
)
{
let
obj
=
JSON
.
parse
(
JSON
.
stringify
(
item
));
this
.
GetTrialDrop
();
this
.
getClassRoomList
();
this
.
GetTeacherList
();
this
.
VisitorReserveClassMsg
=
obj
;
this
.
VisitorReserveClassMsg
.
Id
=
obj
.
Id
;
this
.
VisitorReserveClassMsg
.
Visitor_Id
=
obj
.
Visitor_Id
;
this
.
VisitorReserveClassMsg
.
Remark
=
obj
.
Remark
;
this
.
VisitorReserveClassMsg
.
ReserveClassId
=
obj
.
ReserveClassId
;
this
.
VisitorReserveClassMsg
.
ClassDate
=
obj
.
ClassDate
;
this
.
VisitorReserveClassMsg
.
ReservationDate
=
obj
.
ReservationDate
;
this
.
VisitorReserveClassMsg
.
ClassTime
=
obj
.
ClassTime
;
this
.
VisitorReserveClassMsg
.
TeacherId
=
obj
.
TeacherId
;
this
.
VisitorReserveClassMsg
.
ClassRoomId
=
obj
.
ClassRoomId
;
this
.
VisitorReserveClassMsg
.
ClassContent
=
obj
.
ClassContent
;
this
.
VisitorReserveClassMsg
.
EndTime
=
obj
.
EndTime
;
this
.
VisitorReserveClassMsg
.
TrialLessonId
=
obj
.
TrialLessonId
;
this
.
VisitorReserveClassMsg
.
ReserveType
=
obj
.
ReserveType
;
this
.
VisitorReserveClassMsg
.
ClassPlanId
=
obj
.
ClassPlanId
;
this
.
VisitorReserveClassMsg
.
Demand
=
obj
.
Demand
;
if
(
this
.
VisitorReserveClassMsg
.
ClassDate
==
'0001-01-01T00:00:00'
)
{
this
.
VisitorReserveClassMsg
.
ClassDate
=
new
Date
(
obj
.
ReservationDate
);
this
.
VisitorReserveClassMsg
=
obj
;
this
.
VisitorReserveClassMsg
.
Id
=
obj
.
Id
;
this
.
VisitorReserveClassMsg
.
Visitor_Id
=
obj
.
Visitor_Id
;
this
.
VisitorReserveClassMsg
.
Remark
=
obj
.
Remark
;
this
.
VisitorReserveClassMsg
.
ReserveClassId
=
obj
.
ReserveClassId
;
this
.
VisitorReserveClassMsg
.
ClassDate
=
obj
.
ClassDate
;
this
.
VisitorReserveClassMsg
.
ReservationDate
=
obj
.
ReservationDate
;
this
.
VisitorReserveClassMsg
.
ClassTime
=
obj
.
ClassTime
;
this
.
VisitorReserveClassMsg
.
TeacherId
=
obj
.
TeacherId
;
this
.
VisitorReserveClassMsg
.
ClassRoomId
=
obj
.
ClassRoomId
;
this
.
VisitorReserveClassMsg
.
ClassContent
=
obj
.
ClassContent
;
this
.
VisitorReserveClassMsg
.
EndTime
=
obj
.
EndTime
;
this
.
VisitorReserveClassMsg
.
TrialLessonId
=
obj
.
TrialLessonId
;
this
.
VisitorReserveClassMsg
.
ReserveType
=
obj
.
ReserveType
;
this
.
VisitorReserveClassMsg
.
ClassPlanId
=
obj
.
ClassPlanId
;
this
.
VisitorReserveClassMsg
.
Demand
=
obj
.
Demand
;
if
(
this
.
VisitorReserveClassMsg
.
ClassDate
==
'0001-01-01T00:00:00'
)
{
this
.
VisitorReserveClassMsg
.
ClassDate
=
new
Date
(
obj
.
ReservationDate
);
}
this
.
VisitorReserveClassMsg
.
IsShow
=
true
;
this
.
VisitorReserveClassMsg
.
IsShow
=
true
;
},
//试听课程列表
GetTrialDrop
()
{
...
...
@@ -419,9 +425,9 @@ return timeStr;
message
:
res
.
Message
});
}
this
.
fabkuiMsg
.
IsShow
=
false
;
this
.
fabkuiMsg
.
Id
=
0
;
this
.
fabkuiMsg
.
Feedback
=
''
;
this
.
fabkuiMsg
.
IsShow
=
false
;
this
.
fabkuiMsg
.
Id
=
0
;
this
.
fabkuiMsg
.
Feedback
=
''
;
});
},
closeReserveForm
()
{
...
...
src/components/school/student/transfer-order.vue
View file @
1f9b468f
...
...
@@ -82,11 +82,8 @@
<q-card-actions
align=
"right"
class=
"bg-white q-mx-md "
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
v-close-popup
/>
<q-btn
@
click=
"$refs.stepper.previous()"
color=
"primary"
label=
"上一步"
v-if=
"step > 1"
/>
<!-- <template v-if="mode == 3 && step == 2">
<q-btn label="保存" color="primary" @click="saveCourseForm" />
</template>
<template v-else>-->
<
template
>
<
template
>
<q-btn
@
click=
"next"
color=
"primary"
label=
"下一步"
v-if=
"step
<
3
"
/>
<q-btn
label=
"保存"
color=
"primary"
:loading=
"loading1"
@
click=
"saveOrderForm"
v-if=
"step == 3"
/>
</
template
>
...
...
@@ -97,25 +94,24 @@
</template>
<
script
>
import
{
import
{
getClassPruductList
,
//获取日语培训列表
setClassOrder
,
//新增 修改订单
getOrderGuestRenewState
}
from
"../../../api/sale/sale"
;
import
{
}
from
"../../../api/sale/sale"
;
import
{
getSchoolDropdown
,
//获取校区列表
getTeacherDropDownList
}
from
"../../../api/school/index"
;
import
{
}
from
"../../../api/school/index"
;
import
{
queryCourseDropdownList
,
getCourseSubject
}
from
"../../../api/course/index"
;
import
Mode
from
"./transfer-order/tickMode"
;
import
Course
from
"./transfer-order/courselist"
;
import
orderForm
from
"./transfer-order/order-form"
;
import
yueke
from
"./transfer-order/yueke"
;
import
vipcourse
from
"./transfer-order/vipcourse"
;
export
default
{
}
from
"../../../api/course/index"
;
import
Mode
from
"./transfer-order/tickMode"
;
import
Course
from
"./transfer-order/courselist"
;
import
orderForm
from
"./transfer-order/order-form"
;
import
yueke
from
"./transfer-order/yueke"
;
import
vipcourse
from
"./transfer-order/vipcourse"
;
export
default
{
props
:
{
select
:
{
type
:
Array
,
...
...
@@ -180,7 +176,7 @@ export default {
ClassNo
:
""
,
//班号
CourseSubject
:
""
,
//所属科目
IsQuerySalePlat
:
1
,
SaleState
:
1
,
//显示正常的课程
SaleState
:
1
,
//显示正常的课程
},
courseData
:
[],
//课程列表
coursePageCount
:
0
,
//课程页数
...
...
@@ -193,13 +189,13 @@ export default {
allClassList
:
[],
loading1
:
false
,
//防止多次点击
mode
:
1
,
selectedCourseList
:
[],
//多选课程
selectedCourseList
:
[],
//多选课程
};
},
watch
:
{
mode
:
{
handler
(
n
)
{
this
.
selectedCourseList
=
[]
watch
:
{
mode
:
{
handler
(
n
)
{
this
.
selectedCourseList
=
[]
}
}
},
...
...
@@ -301,17 +297,15 @@ export default {
this
.
saveObj
=
val
[
0
];
this
.
saveObj
.
Unit_Price
=
this
.
saveObj
.
SellPrice
;
this
.
defaultCourse
=
val
;
this
.
saveObj
.
OrderCourseList
=
[];
this
.
saveObj
.
OrderCourseList
=
[];
this
.
saveObj
.
OrderCourseList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
saveObj
)));
this
.
saveObj
.
TextbookFee
=
0
;
this
.
saveObj
.
CoursewareFee
=
0
;
this
.
saveObj
.
TextbookFee
=
0
;
this
.
saveObj
.
CoursewareFee
=
0
;
}
else
{
this
.
saveObj
=
{};
this
.
saveObj
.
Unit_Price
=
0
;
this
.
defaultCourse
=
[];
}
},
// 选择课程
selectCourse
(
val
)
{
...
...
@@ -321,32 +315,28 @@ export default {
}
this
.
saveObj
=
{};
this
.
saveObj
.
Unit_Price
=
0
;
this
.
saveObj
.
OrderCourseList
=
[];
if
(
this
.
selectedCourseList
&&
this
.
selectedCourseList
.
length
>
0
)
{
this
.
selectedCourseList
.
forEach
((
item
,
index
)
=>
{
if
(
index
==
0
)
{
this
.
saveObj
.
OrderCourseList
=
[];
if
(
this
.
selectedCourseList
&&
this
.
selectedCourseList
.
length
>
0
)
{
this
.
selectedCourseList
.
forEach
((
item
,
index
)
=>
{
if
(
index
==
0
)
{
this
.
saveObj
=
JSON
.
parse
(
JSON
.
stringify
(
item
));
this
.
saveObj
.
Unit_Price
=
item
.
SellPrice
;
this
.
saveObj
.
PreferPrice
=
item
.
SellPrice
;
}
else
{
this
.
saveObj
.
CourseName
+=
"、"
+
item
.
CourseName
this
.
saveObj
.
SellPrice
+=
Number
(
item
.
SellPrice
)
this
.
saveObj
.
Unit_Price
+=
Number
(
item
.
SellPrice
)
this
.
saveObj
.
TotalClassHours
+=
Number
(
item
.
TotalClassHours
)
this
.
saveObj
.
DiscountMoney
=
0
;
//number(item.DiscountMoney)
this
.
saveObj
.
LessPrice
=
0
;
this
.
saveObj
.
TextbookFee
+=
Number
(
item
.
TextbookFee
)
this
.
saveObj
.
PreferPrice
+=
Number
(
item
.
SellPrice
)
this
.
saveObj
.
CoursewareFee
+=
Number
(
item
.
CoursewareFee
)
}
else
{
this
.
saveObj
.
CourseName
+=
"、"
+
item
.
CourseName
this
.
saveObj
.
SellPrice
+=
Number
(
item
.
SellPrice
)
this
.
saveObj
.
Unit_Price
+=
Number
(
item
.
SellPrice
)
this
.
saveObj
.
TotalClassHours
+=
Number
(
item
.
TotalClassHours
)
this
.
saveObj
.
DiscountMoney
=
0
;
//number(item.DiscountMoney)
this
.
saveObj
.
LessPrice
=
0
;
this
.
saveObj
.
TextbookFee
+=
Number
(
item
.
TextbookFee
)
this
.
saveObj
.
PreferPrice
+=
Number
(
item
.
SellPrice
)
this
.
saveObj
.
CoursewareFee
+=
Number
(
item
.
CoursewareFee
)
}
});
this
.
saveObj
.
OrderCourseList
=
[];
this
.
saveObj
.
OrderCourseList
=
this
.
selectedCourseList
;
this
.
saveObj
.
OrderCourseList
=
[];
this
.
saveObj
.
OrderCourseList
=
this
.
selectedCourseList
;
}
console
.
log
(
"this.saveObj"
,
this
.
saveObj
);
console
.
log
(
"this.selectedCourseList"
,
this
.
selectedCourseList
);
},
next
()
{
if
(
this
.
step
==
1
&&
this
.
mode
<=
0
)
{
...
...
@@ -370,7 +360,7 @@ export default {
return
;
}
if
(
(
this
.
mode
==
2
||
this
.
mode
==
3
)
&&
(
this
.
mode
==
2
||
this
.
mode
==
3
)
&&
(
!
this
.
saveObj
.
ClassId
||
this
.
saveObj
.
ClassId
==
0
)
)
{
this
.
$q
.
notify
({
...
...
@@ -436,15 +426,17 @@ export default {
this
.
loading1
=
false
;
}
}
};
};
</
script
>
<
style
scoped
>
/
deep
/
.el-input__inner
{
/
deep
/
.el-input__inner
{
background-color
:
transparent
;
border
:
none
;
}
}
/
deep
/
.q-stepper__step-inner
{
/
deep
/
.q-stepper__step-inner
{
padding
:
0
24px
;
}
}
</
style
>
src/components/school/student/transfer-order/order-form.vue
View file @
1f9b468f
...
...
@@ -4,287 +4,109 @@
<div
class=
"q-mb-sm text-accent"
>
<span
class=
"text-primary"
v-if=
"mode === 1"
>
班级:
</span>
<span
v-if=
"mode === 1"
>
{{
saveObj
.
ClassName
}}
</span>
<span
>
<span>
<span
class=
"q-ml-md text-primary"
>
课程:
</span>
{{
saveObj
.
CourseName
}}
</span>
</div>
<div
class=
"row q-mb-md"
>
<div
class=
"col-10 flex"
>
<div
v-for=
"(item, index) in stuData.StuList"
>
<q-chip
icon=
"person"
class=
"primary"
>
{{
item
.
StuName
}}
<div
v-for=
"(item, index) in stuData.StuList"
:key=
"`stu_`+index"
>
<q-chip
icon=
"person"
class=
"primary"
>
{{
item
.
StuName
}}
<span
v-if=
"item.IsRenewGuest === 1"
>
(续费)
</span>
</q-chip>
</div>
</div>
<div
class=
"col-2"
v-if=
"mode == 1"
>
<q-toggle
v-model=
"OrderMsg.IsChaBan"
:true-value=
"1"
:false-value=
"0"
label=
"插班报入"
/>
<q-toggle
v-model=
"OrderMsg.IsChaBan"
:true-value=
"1"
:false-value=
"0"
label=
"插班报入"
/>
</div>
</div>
<!-- 一个约课、班课 -->
<div
class=
"column items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<q-input
filled
stack-label
maxlength=
"3"
:dense=
"false"
@
keyup
.
native=
"checkInteger(OrderMsg, 'GuestNum')"
v-model=
"OrderMsg.GuestNum"
@
input=
"calcPrice()"
label=
"人数"
:rules=
"[val => !!val || '请填写人数']"
disable
class=
"col-6 q-py-sm"
/>
<q-input
filled
stack-label
maxlength=
"3"
:dense=
"false"
@
keyup
.
native=
"checkInteger(OrderMsg, 'GuestNum')"
v-model=
"OrderMsg.GuestNum"
@
input=
"calcPrice()"
label=
"人数"
:rules=
"[val => !!val || '请填写人数']"
disable
class=
"col-6 q-py-sm"
/>
<template
v-if=
"OrderMsg.IsChaBan == 1"
>
<q-select
filled
option-value=
"CourseId"
:disable=
"modityOrderType == 2"
option-label=
"CourseName"
ref=
"CourseId"
v-model=
"OrderMsg.CourseId"
:options=
"CourseList"
emit-value
map-options
class=
"col-6 q-py-sm"
:rules=
"[val => !!val || '请选择课程']"
label=
"选择课程"
@
input=
"calcPrice()"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.StartClassHours"
:disable=
"modityOrderType == 2"
@
keyup
.
native=
"checkInteger(OrderMsg, 'StartClassHours')"
ref=
"StartClassHours"
@
input=
"calcPrice()"
class=
"col-6 q-py-sm"
label=
"起始课时"
/>
<q-input
filled
v-model=
"OrderMsg.EffectTime"
ref=
"EffectTime"
:rules=
"[val => !!val || '请填生效时间']"
class=
"col-6 q-py-sm"
:disable=
"modityOrderType == 2"
mask=
"date"
label=
"生效时间"
>
<q-select
filled
option-value=
"CourseId"
:disable=
"modityOrderType == 2"
option-label=
"CourseName"
ref=
"CourseId"
v-model=
"OrderMsg.CourseId"
:options=
"CourseList"
emit-value
map-options
class=
"col-6 q-py-sm"
:rules=
"[val => !!val || '请选择课程']"
label=
"选择课程"
@
input=
"calcPrice()"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.StartClassHours"
:disable=
"modityOrderType == 2"
@
keyup
.
native=
"checkInteger(OrderMsg, 'StartClassHours')"
ref=
"StartClassHours"
@
input=
"calcPrice()"
class=
"col-6 q-py-sm"
label=
"起始课时"
/>
<q-input
filled
v-model=
"OrderMsg.EffectTime"
ref=
"EffectTime"
:rules=
"[val => !!val || '请填生效时间']"
class=
"col-6 q-py-sm"
:disable=
"modityOrderType == 2"
mask=
"date"
label=
"生效时间"
>
<template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy1"
transition-show=
"scale"
transition-hide=
"scale"
>
<q-date
v-model=
"OrderMsg.EffectTime"
@
input=
"() => $refs.qDateProxy1.hide()"
/>
<q-popup-proxy
ref=
"qDateProxy1"
transition-show=
"scale"
transition-hide=
"scale"
>
<q-date
v-model=
"OrderMsg.EffectTime"
@
input=
"() => $refs.qDateProxy1.hide()"
/>
</q-popup-proxy>
</q-icon>
</
template
>
</q-input>
<q-select
filled
option-value=
"OrderId"
option-label=
"CourseName"
class=
"col-6 q-py-sm"
:disable=
"modityOrderType == 2"
v-model=
"OrderMsg.UpOrderId"
:options=
"beforeOrderList"
emit-value
map-options
label=
"前置订单"
>
<
template
v-slot:option=
"{
<q-select
filled
option-value=
"OrderId"
option-label=
"CourseName"
class=
"col-6 q-py-sm"
:disable=
"modityOrderType == 2"
v-model=
"OrderMsg.UpOrderId"
:options=
"beforeOrderList"
emit-value
map-options
label=
"前置订单"
>
<
template
v-slot:option=
"{
itemProps,
itemEvents,
opt,
selected,
toggleOption
}"
>
}"
>
<q-item
v-bind=
"itemProps"
v-on=
"itemEvents"
>
<q-item-section>
<q-item-label
><span
style=
"color:blue"
>
{{
opt
.
OrderId
}}
</span>
<q-item-label><span
style=
"color:blue"
>
{{
opt
.
OrderId
}}
</span>
{{
opt
.
CourseName
}}
{{
opt
.
ClassName
}}
{{
getStudent
(
opt
.
GuestList
)
}}
</q-item-label
>
{{
getStudent
(
opt
.
GuestList
)
}}
</q-item-label>
</q-item-section>
</q-item>
</
template
>
</q-select>
</template>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.Class_Price"
:disable=
"true"
class=
"col-6 q-py-sm"
label=
"单价(课程售价)"
style=
"display:none;"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.Class_Price"
:disable=
"true"
class=
"col-6 q-py-sm"
label=
"单价(课程售价)"
style=
"display:none;"
/>
<
template
v-if=
"modityOrderType == 1"
>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.Unit_Price"
:disable=
"IsShowUpPrice == true ? false : true"
@
blur=
"calcPrice()"
class=
"col-6 q-py-sm"
label=
"成交单价"
:rules=
"[val => !!val || '请填成交单价']"
/>
<q-toggle
v-model=
"IsShowUpPrice"
label=
"高于定价收生"
class=
"q-mb-md"
style=
"display:none;"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.Unit_Price"
:disable=
"IsShowUpPrice == true ? false : true"
@
blur=
"calcPrice()"
class=
"col-6 q-py-sm"
label=
"成交单价"
:rules=
"[val => !!val || '请填成交单价']"
/>
<q-toggle
v-model=
"IsShowUpPrice"
label=
"高于定价收生"
class=
"q-mb-md"
style=
"display:none;"
/>
</
template
>
<
template
v-if=
"modityOrderType == 2"
>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.Unit_Price"
:disable=
"true"
@
input=
"calcPrice()"
class=
"col-6 q-py-sm"
label=
"成交单价"
:rules=
"[val => !!val || '请填成交单价']"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.Unit_Price"
:disable=
"true"
@
input=
"calcPrice()"
class=
"col-6 q-py-sm"
label=
"成交单价"
:rules=
"[val => !!val || '请填成交单价']"
/>
</
template
>
<q-input
v-if=
"false"
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.DiscountMoney"
:disable=
"true"
class=
"col-6 q-py-sm"
label=
"优惠金额"
/>
<q-input
v-if=
"false"
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.DiscountMoney"
:disable=
"true"
class=
"col-6 q-py-sm"
label=
"优惠金额"
/>
<
template
v-if=
"OrderMsg.Unit_PriceType==2"
>
<q-input
filled
stack-label
:dense=
"false"
type=
"number"
:min=
"1"
@
input=
"oneTotalCourseFee(1)"
v-model=
"OrderMsg.TotalClassHours"
class=
"col-6 q-py-sm"
label=
"总课时数"
/>
<q-input
filled
stack-label
:dense=
"false"
type=
"number"
:min=
"1"
@
input=
"oneTotalCourseFee(1)"
v-model=
"OrderMsg.TotalClassHours"
class=
"col-6 q-py-sm"
label=
"总课时数"
/>
</
template
>
<q-input
v-if=
"mode!=1"
filled
stack-label
:dense=
"false"
type=
"number"
:min=
"0"
@
input=
"oneTotalCourseFee(0)"
v-model=
"OrderMsg.TextbookFee"
class=
"col-6 q-py-sm"
label=
"课件费"
/>
<q-input
v-if=
"mode!=1"
filled
stack-label
:dense=
"false"
type=
"number"
:min=
"0"
@
input=
"oneTotalCourseFee(0)"
v-model=
"OrderMsg.CoursewareFee"
class=
"col-6 q-py-sm"
label=
"教材费"
/>
<q-input
v-if=
"mode!=1"
filled
stack-label
:dense=
"false"
type=
"number"
:min=
"0"
@
input=
"oneTotalCourseFee(0)"
v-model=
"OrderMsg.TextbookFee"
class=
"col-6 q-py-sm"
label=
"课件费"
/>
<q-input
v-if=
"mode!=1"
filled
stack-label
:dense=
"false"
type=
"number"
:min=
"0"
@
input=
"oneTotalCourseFee(0)"
v-model=
"OrderMsg.CoursewareFee"
class=
"col-6 q-py-sm"
label=
"教材费"
/>
<
template
v-if=
"modityOrderType == 3"
>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.Unit_Price"
@
input=
"calcPrice()"
class=
"col-6 q-py-sm"
label=
"成交单价"
:rules=
"[val => !!val || '请填成交单价']"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.Unit_Price"
@
input=
"calcPrice()"
class=
"col-6 q-py-sm"
label=
"成交单价"
:rules=
"[val => !!val || '请填成交单价']"
/>
</
template
>
<q-input
filled
stack-label
:disable=
"modityOrderType != 3"
:dense=
"false"
maxlength=
"10"
@
keyup
.
native=
"checkPrice(OrderMsg, 'PreferPrice')"
v-model=
"OrderMsg.PreferPrice"
class=
"col-6 q-py-sm"
label=
"应收"
/>
<q-select
v-show=
"false"
v-if=
"mode == 2"
standout=
"bg-primary text-white"
option-value=
"SId"
option-label=
"SName"
v-model=
"OrderMsg.ScrollSchoolId"
:options=
"newSchoolList"
emit-value
map-options
class=
"col-6 q-py-sm"
label=
"校区"
/>
<q-select
style=
"display:none;"
:disable=
"modityOrderType == 2"
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"Name"
v-model=
"OrderMsg.OrderSource"
:options=
"SourceEnumList"
emit-value
map-options
class=
"col-6 q-py-sm"
label=
"客人来源"
/>
<q-select
v-if=
"false"
:disable=
"
<q-input
filled
stack-label
:disable=
"modityOrderType != 3"
:dense=
"false"
maxlength=
"10"
@
keyup
.
native=
"checkPrice(OrderMsg, 'PreferPrice')"
v-model=
"OrderMsg.PreferPrice"
class=
"col-6 q-py-sm"
label=
"应收"
/>
<q-select
v-show=
"false"
v-if=
"mode == 2"
standout=
"bg-primary text-white"
option-value=
"SId"
option-label=
"SName"
v-model=
"OrderMsg.ScrollSchoolId"
:options=
"newSchoolList"
emit-value
map-options
class=
"col-6 q-py-sm"
label=
"校区"
/>
<q-select
style=
"display:none;"
:disable=
"modityOrderType == 2"
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"Name"
v-model=
"OrderMsg.OrderSource"
:options=
"SourceEnumList"
emit-value
map-options
class=
"col-6 q-py-sm"
label=
"客人来源"
/>
<q-select
v-if=
"false"
:disable=
"
modityOrderType == 2 ||
OrderMsg.JoinType == 3 ||
CourseConsultantDisable
"
v-model=
"OrderMsg.CourseConsultantId"
:options=
"EmployeeList2"
filled
use-input
label=
"课程顾问"
option-label=
"EmployeeName"
option-value=
"Id"
ref=
"EmployeeName2"
class=
"col-6 q-py-sm"
emit-value
map-options
@
filter=
"filterFn2"
>
"
v-model=
"OrderMsg.CourseConsultantId"
:options=
"EmployeeList2"
filled
use-input
label=
"课程顾问"
option-label=
"EmployeeName"
option-value=
"Id"
ref=
"EmployeeName2"
class=
"col-6 q-py-sm"
emit-value
map-options
@
filter=
"filterFn2"
>
<
template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
...
...
@@ -293,260 +115,20 @@
</q-item>
</
template
>
</q-select>
<q-input
:disable=
"modityOrderType == 2"
v-if=
"OrderMsg.OrderSource == 3"
filled
stack-label
:dense=
"false"
maxlength=
"50"
v-model=
"OrderMsg.GeneralOccupation"
class=
"col-6 q-py-sm"
label=
"一般同行"
/>
<q-input
:disable=
"modityOrderType == 2"
v-if=
"OrderMsg.OrderSource == 7"
filled
stack-label
:dense=
"false"
maxlength=
"50"
v-model=
"OrderMsg.EduOccupation"
class=
"col-6 q-py-sm"
label=
"教育同行"
/>
<q-input
:disable=
"modityOrderType == 2"
v-if=
"OrderMsg.IsLessPrice == 1"
@
input=
"calcPrice()"
@
keyup
.
native=
"checkPrice(OrderMsg, 'PerLessMoney')"
maxlength=
"10"
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.PerLessMoney"
class=
"col-6 q-py-sm"
label=
"少价金额(每人)"
:hint=
"'总少价金额:' + OrderMsg.PerLessMoney * OrderMsg.GuestNum"
/>
<q-input
disable
v-if=
"OrderMsg.EnterId > 0"
filled
stack-label
v-model=
"EnterName"
class=
"col-6 q-py-sm"
label=
"市场人员"
/>
<!-- <q-input
v-if="OrderMsg.HelpEnterId>0"
filled
stack-label
disable
:dense="false"
maxlength="10"
v-model="AssistName"
class="col-6 q-py-sm"
label="协助老师"
/> -->
<q-select
v-if=
"mode!=1"
v-model=
"OrderMsg.HelpEnterId"
:options=
"AssistList"
filled
use-input
label=
"协助老师"
option-label=
"EmployeeName"
option-value=
"Id"
ref=
"EmployeeName2"
class=
"col-6 q-py-sm"
emit-value
map-options
@
filter=
"filterAssisFn"
>
<
template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
未找到相关数据
</q-item-section>
</q-item>
</
template
>
</q-select>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.SaleRemark"
type=
"textarea"
class=
"col-12 q-py-sm"
label=
"备注"
/>
</div>
</div>
<!-- 多个约课 -->
<!-- <div v-else>
<div class="column shadow-4 q-mb-md q-pb-md" v-for="(item,index) in courseInformationList" :key="index">
<div class="q-pt-md q-pb-md">
<span class="q-ml-md text-primary">课程:</span>{{item.CourseName}}
</div>
<div class="col row wrap q-mr-lg q-ml-lg q-col-gutter-md">
<q-input
filled
stack-label
maxlength="3"
:dense="false"
v-model="item.GuestNum"
label="人数"
:rules="[val => !!val || '请填写人数']"
disable
class="col-6 q-py-sm"
/>
<q-input
filled
stack-label
:dense="false"
v-model="item.Class_Price"
:disable="true"
class="col-6 q-py-sm"
label="单价(课程售价)"
style="display:none;"
/>
<template v-if="modityOrderType == 1">
<q-input
filled
stack-label
:dense="false"
v-model="item.Unit_Price"
:disable="IsShowUpPrice == true ? false : true"
class="col-6 q-py-sm"
label="成交单价"
:rules="[val => !!val || '请填成交单价']"
/>
<q-toggle
v-model="IsShowUpPrice"
label="高于定价收生"
class="q-mb-md"
style="display:none;"
/>
</template>
<template v-if="modityOrderType == 2">
<q-input
filled
stack-label
:dense="false"
v-model="item.Unit_Price"
:disable="true"
class="col-6 q-py-sm"
label="成交单价"
:rules="[val => !!val || '请填成交单价']"
/>
</template>
<q-input v-if="false"
filled
stack-label
:dense="false"
v-model="item.DiscountMoney"
:disable="true" class="col-6 q-py-sm" label="优惠金额"/>
<template v-if="item.Unit_PriceType==2">
<q-input
filled
stack-label
:dense="false"
type="number"
:min="1"
@input="totalCourseFee(1)"
v-model="item.TotalClassHours"
class="col-6 q-py-sm"
label="总课时数" />
</template>
<q-input
filled
stack-label
:dense="false"
type="number"
:min="0"
@input="totalCourseFee(0)"
v-model="item.TextbookFee"
class="col-6 q-py-sm"
label="课件费"
/>
<q-input
filled
stack-label
:dense="false"
type="number"
:min="0"
@input="totalCourseFee(0)"
v-model="item.CoursewareFee"
class="col-6 q-py-sm"
label="教材费"
/>
<q-input
:disable=
"modityOrderType == 2"
v-if=
"OrderMsg.OrderSource == 3"
filled
stack-label
:dense=
"false"
maxlength=
"50"
v-model=
"OrderMsg.GeneralOccupation"
class=
"col-6 q-py-sm"
label=
"一般同行"
/>
<q-input
:disable=
"modityOrderType == 2"
v-if=
"OrderMsg.OrderSource == 7"
filled
stack-label
:dense=
"false"
maxlength=
"50"
v-model=
"OrderMsg.EduOccupation"
class=
"col-6 q-py-sm"
label=
"教育同行"
/>
<q-input
:disable=
"modityOrderType == 2"
v-if=
"OrderMsg.IsLessPrice == 1"
@
input=
"calcPrice()"
@
keyup
.
native=
"checkPrice(OrderMsg, 'PerLessMoney')"
maxlength=
"10"
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.PerLessMoney"
class=
"col-6 q-py-sm"
label=
"少价金额(每人)"
:hint=
"'总少价金额:' + OrderMsg.PerLessMoney * OrderMsg.GuestNum"
/>
<q-input
disable
v-if=
"OrderMsg.EnterId > 0"
filled
stack-label
v-model=
"EnterName"
class=
"col-6 q-py-sm"
label=
"市场人员"
/>
<template v-if="modityOrderType == 3">
<q-input
filled
min
stack-label
:dense="false"
v-model="item.Unit_Price"
class="col-6 q-py-sm"
label="成交单价"
:rules="[val => !!val || '请填成交单价']"
/>
</template>
<q-input
filled
stack-label
:disable="modityOrderType != 3"
:dense="false"
maxlength="10"
v-model="item.PreferPrice"
class="col-6 q-py-sm"
label="应收"
/>
<q-select
v-if="mode == 2"
standout="bg-primary text-white"
option-value="SId"
option-label="SName"
v-model="item.ScrollSchoolId"
:options="newSchoolList"
emit-value
map-options
class="col-6 q-py-sm"
label="校区"
/>
<q-select style="display:none;"
:disable="modityOrderType == 2"
standout="bg-primary text-white"
option-value="Id"
option-label="Name"
v-model="item.OrderSource"
:options="SourceEnumList"
emit-value
map-options
class="col-6 q-py-sm"
label="客人来源"
/>
<q-select v-if="false"
:disable="
modityOrderType == 2 ||
item.JoinType == 3 ||
CourseConsultantDisable
"
v-model="item.CourseConsultantId"
:options="EmployeeList2"
filled
use-input
label="课程顾问"
option-label="EmployeeName"
option-value="Id"
ref="EmployeeName2"
class="col-6 q-py-sm"
emit-value
map-options
@filter="filterFn2"
>
<q-select
v-if=
"mode!=1"
v-model=
"OrderMsg.HelpEnterId"
:options=
"AssistList"
filled
use-input
label=
"协助老师"
option-label=
"EmployeeName"
option-value=
"Id"
ref=
"EmployeeName2"
class=
"col-6 q-py-sm"
emit-value
map-options
@
filter=
"filterAssisFn"
>
<
template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
...
...
@@ -555,79 +137,14 @@
</q-item>
</
template
>
</q-select>
<q-input
:disable="modityOrderType == 2"
v-if="item.OrderSource == 3"
filled
stack-label
:dense="false"
maxlength="50"
v-model="item.GeneralOccupation"
class="col-6 q-py-sm"
label="一般同行"
/>
<q-input
:disable="modityOrderType == 2"
v-if="item.OrderSource == 7"
filled
stack-label
:dense="false"
maxlength="50"
v-model="item.EduOccupation"
class="col-6 q-py-sm"
label="教育同行"
/>
<q-input
:disable="modityOrderType == 2"
v-if="item.IsLessPrice == 1"
maxlength="10"
filled
stack-label
:dense="false"
v-model="item.PerLessMoney"
class="col-6 q-py-sm"
label="少价金额(每人)"
:hint="'总少价金额:' + item.PerLessMoney * item.GuestNum"
/>
<q-input
disable
v-if="item.EnterId > 0"
filled
stack-label
v-model="EnterName"
class="col-6 q-py-sm"
label="市场人员"
/>
<q-input
v-if="OrderMsg.HelpEnterId>0"
filled
stack-label
disable
:dense="false"
maxlength="10"
v-model="AssistName"
class="col-6 q-py-sm"
label="协助老师"
/>
<q-input
filled
stack-label
:dense="false"
v-model="item.SaleRemark"
type="textarea"
class="col-12 q-py-sm"
label="备注"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.SaleRemark"
type=
"textarea"
class=
"col-12 q-py-sm"
label=
"备注"
/>
</div>
</div>
</div> -->
<div
class=
"dialog-out-close"
@
click=
"closeEditOrder"
style=
"height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;"
>
<div
class=
"dialog-out-close"
@
click=
"closeEditOrder"
style=
"height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;"
>
<q-icon
name=
"iconfont icon-jujue1"
size=
"26px"
/>
</div>
<q-dialog
v-model=
"inception"
>
...
...
@@ -635,37 +152,33 @@
<q-card-section>
<div
class=
"text-h6"
>
提示
</div>
</q-card-section>
<q-card-section
class=
"q-pt-none"
>
{{ inceptionData.Message }}
</q-card-section>
<q-card-actions
align=
"right"
class=
"text-primary"
>
<q-btn
flat
label=
"取消"
size=
"sm"
v-close-popup
/>
<q-btn
label=
"立即查看"
size=
"sm"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"goorder"
/>
<q-btn
label=
"立即查看"
size=
"sm"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"goorder"
/>
</q-card-actions>
</q-card>
</q-dialog>
</div>
</template>
<
script
>
import
{
getClassOrderInfo
,
//获取订单操作日志列表
import
{
getOrderSourceEnumList
,
//获取订单来源 枚举
setClassOrder
,
//修改订单
SetClassOrderBatch
,
//多个约课订单
queryChaClassInfo
,
GetSelectClassOrderList
//获取前置下拉
}
from
"../../../../api/sale/sale"
;
import
{
GetStudentAssistList
}
from
"../../../../api/sale/sale"
;
//获取协助人员
import
{
queryEmployee
}
from
"../../../../api/users/user"
;
//获取员工
export
default
{
}
from
"../../../../api/sale/sale"
;
import
{
GetStudentAssistList
}
from
"../../../../api/sale/sale"
;
//获取协助人员
import
{
queryEmployee
}
from
"../../../../api/users/user"
;
//获取员工
export
default
{
props
:
{
saveObj
:
{
type
:
Object
,
...
...
@@ -702,8 +215,8 @@ export default {
},
data
()
{
return
{
courseInformationList
:[],
//存储多个课程
AssistName
:
""
,
//协助老师名称
courseInformationList
:
[],
//存储多个课程
AssistName
:
""
,
//协助老师名称
IsShowEditOrder
:
true
,
OrderMsg
:
{
ClassId
:
0
,
//班级编号
...
...
@@ -715,10 +228,10 @@ export default {
OrderSource
:
0
,
SaleRemark
:
""
,
Class_Price
:
0
,
//单价
Unit_PriceType
:
1
,
//价格类型:1-总课时费,2-课时单价 2024-08-26 add by:W
TotalClassHours
:
0
,
//总课时数 2024-08-26 add by:W
CoursewareFee
:
0
,
//教材费
TextbookFee
:
0
,
//课件费
Unit_PriceType
:
1
,
//价格类型:1-总课时费,2-课时单价 2024-08-26 add by:W
TotalClassHours
:
0
,
//总课时数 2024-08-26 add by:W
CoursewareFee
:
0
,
//教材费
TextbookFee
:
0
,
//课件费
OrderId
:
0
,
OrderType
:
0
,
//订单类型(1-班级课程订单,2-留学就业订单)
SourceId
:
0
,
//来源编号
...
...
@@ -767,7 +280,7 @@ export default {
CourseConsultantDisable
:
false
,
//是否可选择课程顾问
inception
:
false
,
inceptionData
:
null
,
OrderCourseList
:[],
//选择的课程信息
OrderCourseList
:
[],
//选择的课程信息
};
},
computed
:
{
...
...
@@ -799,15 +312,15 @@ export default {
this
.
EnterName
=
this
.
stuData
.
EnterName
;
// 判断是否续费协助老师赋值
if
(
this
.
stuData
.
StuList
[
0
].
IsRenewGuest
!=
1
)
{
if
(
this
.
stuData
.
StuList
[
0
].
IsRenewGuest
!=
1
)
{
this
.
OrderMsg
.
HelpEnterId
=
this
.
stuData
.
StuList
[
0
].
STTeacherId
;
this
.
AssistName
=
this
.
stuData
.
StuList
[
0
].
STTeacherName
}
if
(
this
.
selectedCourseList
.
length
>
1
)
{
if
(
this
.
selectedCourseList
.
length
>
1
)
{
this
.
selectedCourseList
.
forEach
(
item
=>
{
let
dataObj
=
{
CourseName
:
""
,
//课程名称
CourseName
:
""
,
//课程名称
ClassId
:
0
,
//班级编号
GuestNum
:
1
,
//人数
B2CRatio
:
0
,
...
...
@@ -817,10 +330,10 @@ export default {
OrderSource
:
0
,
SaleRemark
:
""
,
Class_Price
:
0
,
//单价
Unit_PriceType
:
1
,
//价格类型:1-总课时费,2-课时单价 2024-08-26 add by:W
TotalClassHours
:
0
,
//总课时数 2024-08-26 add by:W
CoursewareFee
:
0
,
//教材费
TextbookFee
:
0
,
//课件费
Unit_PriceType
:
1
,
//价格类型:1-总课时费,2-课时单价 2024-08-26 add by:W
TotalClassHours
:
0
,
//总课时数 2024-08-26 add by:W
CoursewareFee
:
0
,
//教材费
TextbookFee
:
0
,
//课件费
OrderId
:
0
,
OrderType
:
0
,
//订单类型(1-班级课程订单,2-留学就业订单)
SourceId
:
0
,
//来源编号
...
...
@@ -848,9 +361,9 @@ export default {
// NormalCommission:'',//正常返佣金额
// RenewCommission:"",// 预计返佣金额
ScrollSchoolId
:
-
1
,
OrderType
:
1
OrderType
:
1
}
if
(
item
.
CourseName
)
{
if
(
item
.
CourseName
)
{
dataObj
.
CourseName
=
item
.
CourseName
}
if
(
item
.
ClassId
)
{
...
...
@@ -903,19 +416,21 @@ export default {
methods: {
//单个课程计算
oneTotalCourseFee(type){
if(this.OrderMsg.Unit_PriceType==2){
if(type==1){
this.OrderMsg.TextbookFee=Number((this.OrderMsg.TotalClassHours*this.OrderMsg.Unit_Price*this.OrderMsg.GuestNum)*(20/100)).toFixed(2);
oneTotalCourseFee(type) {
if (this.OrderMsg.Unit_PriceType == 2) {
if (type == 1) {
this.OrderMsg.TextbookFee = Number((this.OrderMsg.TotalClassHours * this.OrderMsg.Unit_Price * this.OrderMsg
.GuestNum) * (20 / 100)).toFixed(2);
}
this.OrderMsg.PreferPrice = this.OrderMsg.GuestNum*this.OrderMsg.Unit_Price*this.OrderMsg.TotalClassHours+Number(this.OrderMsg.TextbookFee)+Number(this.OrderMsg.CoursewareFee)
this.OrderMsg.PreferPrice = this.OrderMsg.GuestNum * this.OrderMsg.Unit_Price * this.OrderMsg
.TotalClassHours + Number(this.OrderMsg.TextbookFee) + Number(this.OrderMsg.CoursewareFee)
}
},
// 多个课程计算
totalCourseFee(type)
{
this.courseInformationList.forEach((item)=>
{
if(this.stuData.StuList[0].IsRenewGuest==1)
{
totalCourseFee(type)
{
this.courseInformationList.forEach((item) =>
{
if (this.stuData.StuList[0].IsRenewGuest == 1)
{
item.DiscountMoney = this.accAdd(
item.DiscountMoney,
this.accMul(
...
...
@@ -923,27 +438,29 @@ export default {
item.B2CReNewRatio / 100
)
);
if(item.Unit_PriceType==1)
{
item.PreferPrice = item.GuestNum*
item.Unit_Price
}
else if(item.Unit_PriceType==2)
{
if(type==1){
item.TextbookFee=Number((item.TotalClassHours*item.Unit_Price*item.GuestNum)*(20/100))
.toFixed(2);
if (item.Unit_PriceType == 1)
{
item.PreferPrice = item.GuestNum *
item.Unit_Price
} else if (item.Unit_PriceType == 2) {
if (type == 1)
{
item.TextbookFee = Number((item.TotalClassHours * item.Unit_Price * item.GuestNum) * (20 / 100))
.toFixed(2);
}
item.PreferPrice = (item.GuestNum*item.Unit_Price*item.TotalClassHours)+Number(item.TextbookFee)+Number(item.CoursewareFee)
item.PreferPrice = (item.GuestNum * item.Unit_Price * item.TotalClassHours) + Number(item
.TextbookFee) + Number(item.CoursewareFee)
}
}else
{
} else
{
item.DiscountMoney = this.accAdd(
item.DiscountMoney,
this.accMul(item.Class_Price, item.B2CRatio / 100)
);
if(item.Unit_PriceType==1){
item.PreferPrice = item.GuestNum*item.Unit_Price
}
else if(item.Unit_PriceType==2){
item.TextbookFee=Number((item.TotalClassHours*item.Unit_Price*item.GuestNum)*(20/100)).toFixed(2);
item.PreferPrice = item.GuestNum*item.Unit_Price*item.TotalClassHours+Number(item.TextbookFee)+Number(item.CoursewareFee)
if (item.Unit_PriceType == 1) {
item.PreferPrice = item.GuestNum * item.Unit_Price
} else if (item.Unit_PriceType == 2) {
item.TextbookFee = Number((item.TotalClassHours * item.Unit_Price * item.GuestNum) * (20 / 100))
.toFixed(2);
item.PreferPrice = item.GuestNum * item.Unit_Price * item.TotalClassHours + Number(item.TextbookFee) +
Number(item.CoursewareFee)
}
//item.PreferPrice = item.GuestNum*item.Unit_Price
}
...
...
@@ -952,14 +469,22 @@ export default {
//获取协助人员
getAssistList() {
const ids = this.stuData.StuList.map(e => e.StuId).toString();
GetStudentAssistList({ StuId: ids }).then(res => {
GetStudentAssistList({
StuId: ids
}).then(res => {
if (res.Code == 1) {
res.Data.map(e => {
if (e.AssistType == 4) {
this.AssistList.push({Id:e.AssistId,EmployeeName: e.AssistName});
this.AllAssistList.push({Id:e.AssistId,EmployeeName: e.AssistName});
this.AssistList.push({
Id: e.AssistId,
EmployeeName: e.AssistName
});
this.AllAssistList.push({
Id: e.AssistId,
EmployeeName: e.AssistName
});
console.log(" this.AssistList", this.AssistList);
if(this.stuData.StuList[0].IsRenewGuest==1)
{
if (this.stuData.StuList[0].IsRenewGuest == 1)
{
this.OrderMsg.HelpEnterId = e.AssistId;
this.AssistName = e.AssistName
}
...
...
@@ -968,8 +493,8 @@ export default {
if (e.AssistType == 2) {
this.OrderMsg.CourseConsultantId = e.AssistId;
this.CourseConsultantDisable = true;
if(this.selectedCourseList.length>1)
{
this.courseInformationList.forEach(item=>
{
if (this.selectedCourseList.length > 1)
{
this.courseInformationList.forEach(item =>
{
return item.CourseConsultantId = e.AssistId
})
}
...
...
@@ -978,13 +503,22 @@ export default {
}
});
if(this.AssistList.length==0){
var qMsg = { IsLeave: 1, UserRole: 0};
if (this.AssistList.length == 0) {
var qMsg = {
IsLeave: 1,
UserRole: 0
};
queryEmployee(qMsg).then(res => {
if (res.Code == 1) {
res.Data.map(e => {
this.AssistList.push({Id:e.Id,EmployeeName: e.EmployeeName});
this.AllAssistList.push({Id:e.Id,EmployeeName: e.EmployeeName});
this.AssistList.push({
Id: e.Id,
EmployeeName: e.EmployeeName
});
this.AllAssistList.push({
Id: e.Id,
EmployeeName: e.EmployeeName
});
});
console.log(" this.AssistListData", this.AssistList);
}
...
...
@@ -1003,8 +537,7 @@ export default {
queryChaClassInfo(qMsg).then(res => {
if (res.Code == 1) {
this.CourseList = res.Data.otherCourse;
if (this.saveObj && this.saveObj.OrderId > 0) {
} else {
if (this.saveObj && this.saveObj.OrderId > 0) {} else {
this.OrderMsg.StartClassHours = res.Data.finishHours;
}
if (this.OrderMsg && this.OrderMsg.CourseId) {
...
...
@@ -1023,8 +556,9 @@ export default {
if (this.OrderMsg.GuestNum && this.OrderMsg.GuestNum > 0) {
guestNum = Number(this.OrderMsg.GuestNum);
}
if(this.saveObj.SellPriceType==2){
this.OrderMsg.TextbookFee=((Number(this.OrderMsg.TotalClassHours) * Number(this.OrderMsg.Unit_Price) * Number(this.OrderMsg.GuestNum)) * (20/100)).toFixed(2);
if (this.saveObj.SellPriceType == 2) {
this.OrderMsg.TextbookFee = ((Number(this.OrderMsg.TotalClassHours) * Number(this.OrderMsg.Unit_Price) *
Number(this.OrderMsg.GuestNum)) * (20 / 100)).toFixed(2);
}
let temp = this.CourseList.find(
x => x.CourseId == this.OrderMsg.CourseId
...
...
@@ -1118,11 +652,10 @@ export default {
this.courseObj.CourseId &&
this.courseObj.CourseId > 0
) {
if(this.OrderMsg.Unit_PriceType==1){
newPreferPrice= chaBanPrice * guestNum
}
else if(this.OrderMsg.Unit_PriceType==2){
newPreferPrice = chaBanPrice * guestNum*this.OrderMsg.TotalClassHours
if (this.OrderMsg.Unit_PriceType == 1) {
newPreferPrice = chaBanPrice * guestNum
} else if (this.OrderMsg.Unit_PriceType == 2) {
newPreferPrice = chaBanPrice * guestNum * this.OrderMsg.TotalClassHours
}
}
console.log("我进来了1");
...
...
@@ -1130,17 +663,17 @@ export default {
Number(newPreferPrice).toFixed(2) - this.OrderMsg.LessPrice;
} else {
if(this.OrderMsg.Unit_PriceType==1)
{
console.log("guestNum",
guestNum);
console.log("unit_price",
unit_price);
console.log("this.OrderMsg.LessPrice",
this.OrderMsg.LessPrice);
if (this.OrderMsg.Unit_PriceType == 1)
{
console.log("guestNum",
guestNum);
console.log("unit_price",
unit_price);
console.log("this.OrderMsg.LessPrice",
this.OrderMsg.LessPrice);
this.OrderMsg.PreferPrice =
Number(guestNum * unit_price).toFixed(2) - this.OrderMsg.LessPrice
;
Number(guestNum * unit_price).toFixed(2) - this.OrderMsg.LessPrice
;
console.log("我进来了2");
}
else if(this.OrderMsg.Unit_PriceType==2){
} else if (this.OrderMsg.Unit_PriceType == 2) {
this.OrderMsg.PreferPrice =
Number((guestNum * unit_price*this.OrderMsg.TotalClassHours)+Number(this.OrderMsg.TextbookFee)+Number(this.OrderMsg.CoursewareFee)).toFixed(2) - this.OrderMsg.LessPrice;
Number((guestNum * unit_price * this.OrderMsg.TotalClassHours) + Number(this.OrderMsg.TextbookFee) +
Number(this.OrderMsg.CoursewareFee)).toFixed(2) - this.OrderMsg.LessPrice;
console.log("我进来了3");
}
}
...
...
@@ -1198,7 +731,7 @@ export default {
if (this.OrderMsg.OrderType == 2) {
this.OrderMsg.OrderNature = 1;
}
console.log("saveObj",
this.saveObj);
console.log("saveObj",
this.saveObj);
if (this.saveObj) {
if (this.saveObj.ClassId) {
this.OrderMsg.ClassId = this.saveObj.ClassId;
...
...
@@ -1235,10 +768,10 @@ export default {
if (this.saveObj.B2CReNewRatio) {
this.OrderMsg.B2CReNewRatio = this.saveObj.B2CReNewRatio;
}
if (this.saveObj.OrderCourseList&&this.saveObj.OrderCourseList.length>
0) {
this.OrderMsg.OrderCourseList =JSON.parse(JSON.stringify(this.saveObj.OrderCourseList))
;
if (this.saveObj.OrderCourseList && this.saveObj.OrderCourseList.length >
0) {
this.OrderMsg.OrderCourseList = JSON.parse(JSON.stringify(this.saveObj.OrderCourseList))
;
}
if(this.selectedCourseList.length>1)
{
if (this.selectedCourseList.length > 1)
{
return
}
...
...
@@ -1338,8 +871,8 @@ export default {
var tempArray = res.Data;
this.SourceEnumList = tempArray;
this.OrderMsg.OrderSource = tempArray[0].Id;
if(this.selectedCourseList.length>0)
{
this.courseInformationList.forEach(item=>
{
if (this.selectedCourseList.length > 0)
{
this.courseInformationList.forEach(item =>
{
return item.OrderSource = this.OrderMsg.OrderSource
})
}
...
...
@@ -1356,9 +889,9 @@ export default {
this.singleAppointmentsFun()
},
// 多个约课
multipleAppointmentsFun()
{
multipleAppointmentsFun()
{
//插班验证课程和生效时间
this.courseInformationList.forEach(item=>
{
this.courseInformationList.forEach(item =>
{
item.StuIds = this.stuData.StuList.map(e => e.StuId).toString();
item.HelpEnterId = this.OrderMsg.HelpEnterId
item.CustomerId = this.stuData.CustomerId;
...
...
@@ -1397,7 +930,7 @@ export default {
});
},
// 单个班课、约课
singleAppointmentsFun()
{
singleAppointmentsFun()
{
//插班验证课程和生效时间
if (this.OrderMsg.IsChaBan == 1) {
this.$refs.CourseId.validate();
...
...
@@ -1482,5 +1015,6 @@ export default {
return str;
}
}
};
};
</
script
>
src/components/school/student/transfer-order/yueke.vue
View file @
1f9b468f
...
...
@@ -3,103 +3,54 @@
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-4"
>
<q-input
@
input=
"resetSearch"
clearable
filled
v-model=
"msg.ClassName"
label=
"课程名称"
@
clear=
"resetSearch"
maxlength=
"20"
/>
<q-input
@
input=
"resetSearch"
clearable
filled
v-model=
"msg.ClassName"
label=
"课程名称"
@
clear=
"resetSearch"
maxlength=
"20"
/>
</div>
<!--
<div
class=
"col-4"
>
<select-tree
:treeData=
"TreeCategoryList"
:defaultArray=
"returnString"
nodeKey=
"CateId"
:multiple=
"true"
labelKey=
"CateName"
childrenKey=
"ChildList"
tipText=
"课程系列"
@
getChild=
"getChild"
></select-tree>
</div>
-->
<div
class=
"col-4"
>
<q-select
@
input=
"resetSearch"
filled
v-model=
"msg.CourseSubject"
:options=
"CourseSubjectList"
option-label=
"SubjectName"
option-value=
"Id"
emit-value
map-options
label=
"所属科目"
clearable
/>
<q-select
@
input=
"resetSearch"
filled
v-model=
"msg.CourseSubject"
:options=
"CourseSubjectList"
option-label=
"SubjectName"
option-value=
"Id"
emit-value
map-options
label=
"所属科目"
clearable
/>
</div>
<div
class=
"col-4"
>
<p
class=
"yueke-title"
>
已选:
</p>
<p
class=
"yueke-CourseName"
v-for=
"(item,index) in selection"
>
</div>
</div>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-8"
>
<p
class=
"yueke-title"
>
已选课程:
<font
class=
"yueke-CourseName"
v-for=
"(item,index) in selection"
:key=
"`s_`+index"
>
<span>
{{
index
+
1
}}
、
</span>
{{
item
.
CourseName
}}
</font>
</p>
</div>
</div>
</div>
<!-- @update:selected="emitSel" single
:selected-rows-label="getSelectedString"
-->
<q-table
:pagination=
"msg"
:selection=
"mode==2?'multiple':'single'"
:selected
.
sync=
"selection"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table sticky-two-header-table"
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
"ClassId"
@
update:selected=
"emitSel"
:selected-rows-label=
"getSelectedString"
table-class=
"table"
>
<q-table
:pagination=
"msg"
:selection=
"mode==2?'multiple':'single'"
:selected
.
sync=
"selection"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table sticky-two-header-table"
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
"ClassId"
@
update:selected=
"emitSel"
:selected-rows-label=
"getSelectedString"
table-class=
"table"
>
<template
v-slot:body-cell-CourseName=
"props"
>
<q-td
:props=
"props"
>
{{
props
.
row
.
CourseName
}}
</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"
/>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</q-table>
</div>
</template>
<
script
>
import
{
queryCoursePage
,
queryCourseCategoryTree
,
deleteCourseInfo
,
querySaleplatList
,
import
{
getCourseSubject
}
from
"../../../../api/course/index"
;
import
{
}
from
"../../../../api/course/index"
;
import
{
getClassPruductList
//获取日语培训列表
}
from
"../../../../api/sale/sale"
;
// import selectTree from "../../../../components/common/select-tree";
export
default
{
}
from
"../../../../api/sale/sale"
;
export
default
{
components
:
{
// selectTree
},
props
:
{
select
:
{
...
...
@@ -114,8 +65,7 @@ export default {
data
()
{
return
{
selection
:
[],
columns
:
[
{
columns
:
[{
name
:
"CourseName"
,
label
:
"课程"
,
field
:
"CourseName"
,
...
...
@@ -128,17 +78,10 @@ export default {
align
:
"left"
,
field
:
row
=>
row
.
CourseSubjectName
},
// {
// name: "CateName",
// required: true,
// label: "系列",
// align: "left",
// field: row => row.CateName
// },
{
name
:
"SellPrice"
,
required
:
true
,
label
:
"直客
价"
,
label
:
"售
价"
,
align
:
"left"
,
field
:
row
=>
row
.
SellPrice
.
toFixed
(
2
)
},
...
...
@@ -147,23 +90,9 @@ export default {
required
:
true
,
label
:
"价格类型"
,
align
:
"left"
,
field
:
row
=>
row
.
SellPriceType
==
1
?
'课程总价'
:
(
row
.
SellPriceType
==
2
?
'课时单价'
:
''
)
field
:
row
=>
row
.
SellPriceType
==
1
?
'课程总价'
:
(
row
.
SellPriceType
==
2
?
'课时单价'
:
''
)
}
],
// msg: {
// pageIndex: 1,
// pageSize: 10,
// rowsPerPage: 10,
// CourseName: "",
// QCateIds: "",
// IsQPrice: 1,
// Status: "0",
// Saleplat: 0,
// CourseSubject: "", //所属科目
// ClassScrollType :2
// },
msg
:
{
pageIndex
:
1
,
pageSize
:
8
,
...
...
@@ -179,15 +108,12 @@ export default {
JoinEndTime
:
""
,
//报名截止日期结束
ClassNo
:
""
,
//班号
CourseSubject
:
""
,
//所属科目
CourseName
:
""
,
ClassScrollType
:
2
,
IsQuerySalePlat
:
1
,
QIsVipCourse
:
0
,
CourseName
:
""
,
ClassScrollType
:
2
,
IsQuerySalePlat
:
1
,
QIsVipCourse
:
0
,
},
CourseSubjectList
:
[],
//课程分类树形列表
TreeCategoryList
:
[],
returnString
:
[],
//默认值
dataList
:
[],
pageCount
:
0
};
...
...
@@ -196,64 +122,38 @@ export default {
this
.
selection
=
this
.
select
;
this
.
getCourseList
();
this
.
queryCourseSubject
();
// this.getCategorytree();
},
methods
:
{
// 多选
getSelectedString
()
{
return
this
.
selection
.
length
===
0
?
''
:
`
${
this
.
selection
.
length
}
record
${
this
.
selection
.
length
>
1
?
's'
:
''
}
selected of
${
this
.
dataList
.
length
}
`
getSelectedString
()
{
return
this
.
selection
.
length
===
0
?
''
:
`
${
this
.
selection
.
length
}
record
${
this
.
selection
.
length
>
1
?
's'
:
''
}
selected of
${
this
.
dataList
.
length
}
`
},
emitSel
(
val
)
{
this
.
$emit
(
"select"
,
val
);
},
//获取课程分页列表
getCourseList
()
{
if
(
this
.
mode
==
2
)
{
this
.
msg
.
QIsVipCourse
=
1
;
}
else
if
(
this
.
mode
==
3
)
{
this
.
msg
.
QIsVipCourse
=
2
;
if
(
this
.
mode
==
2
)
{
this
.
msg
.
QIsVipCourse
=
1
;
}
else
if
(
this
.
mode
==
3
)
{
this
.
msg
.
QIsVipCourse
=
2
;
}
getClassPruductList
(
this
.
msg
).
then
(
res
=>
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
pageCount
=
res
.
Data
.
PageCount
;
});
},
// 课程翻页
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getCourseList
();
},
//获取分页列表
// getCourseList() {
// this.loading = true;
// queryCoursePage(this.msg)
// .then(res => {
// this.loading = false;
// this.dataList = res.Data.PageData;
// this.pageCount = res.Data.PageCount;
// })
// .catch(() => {
// this.loading = false;
// });
// },
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getCourseList
();
},
//翻页
// changePage(val) {
// this.msg.pageIndex = val;
// this.getCourseList();
// },
getCategorytree
()
{
this
.
TreeCategoryList
=
[];
var
qMsg
=
{};
queryCourseCategoryTree
(
qMsg
).
then
(
res
=>
{
this
.
TreeCategoryList
=
res
.
Data
;
});
},
queryCourseSubject
()
{
getCourseSubject
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
...
...
@@ -272,48 +172,53 @@ export default {
this
.
getCourseList
();
}
}
};
};
</
script
>
<
style
>
.table
{
.table
{
max-height
:
400px
;
}
}
.table
::-webkit-scrollbar
{
.table
::-webkit-scrollbar
{
width
:
5px
;
height
:
5px
;
}
}
.table
::-webkit-scrollbar-track
{
.table
::-webkit-scrollbar-track
{
background
:
#fff
;
border-radius
:
2px
;
}
}
.table
::-webkit-scrollbar-thumb
{
.table
::-webkit-scrollbar-thumb
{
background
:
#444
;
border-radius
:
10px
;
}
}
.table
::-webkit-scrollbar-thumb:hover
{
.table
::-webkit-scrollbar-thumb:hover
{
background
:
#999
;
}
}
.table
::-webkit-scrollbar-corner
{
.table
::-webkit-scrollbar-corner
{
background
:
#204754
;
}
.yueke-title
{
}
.yueke-title
{
margin-top
:
0
;
margin-bottom
:
0
;
}
.yueke-CourseName
{
}
.yueke-CourseName
{
margin-right
:
5px
;
white-space
:
nowrap
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
margin-top
:
5px
;
margin-bottom
:
0
;
}
.yueke-CourseName
span
{
}
.yueke-CourseName
span
{
color
:
#2961fe
;
}
}
</
style
>
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