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
8f2d2ccb
Commit
8f2d2ccb
authored
Sep 12, 2024
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增页面
parent
4629790c
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1409 additions
and
1362 deletions
+1409
-1362
editOrder-form.vue
src/components/sale/editOrder-form.vue
+0
-4
reservestudentlist.vue
src/components/schedul/reservestudentlist.vue
+1
-4
student-left.vue
src/components/school/student/student-left.vue
+0
-1
order-form copy.vue
...ponents/school/student/transfer-order/order-form copy.vue
+808
-1204
order-form.vue
src/components/school/student/transfer-order/order-form.vue
+0
-11
subscribeForm.vue
src/components/stuMan/subscribe/subscribeForm.vue
+61
-134
makeAd.vue
src/pages/activity/makeAd.vue
+0
-1
commonUtils.js
src/pages/financial/utils/commonUtils.js
+40
-0
StudentProgress.vue
src/pages/stuMan/StudentProgress.vue
+0
-1
setStudyPlan.vue
src/pages/stuMan/components/setStudyPlan.vue
+0
-1
subappoint.vue
src/pages/studyAbroad/subappoint.vue
+494
-0
surveyStudent.vue
src/pages/system/surveyStudent.vue
+0
-1
routes.js
src/router/routes.js
+5
-0
No files found.
src/components/sale/editOrder-form.vue
View file @
8f2d2ccb
...
...
@@ -397,12 +397,9 @@
}
else
{
this
.
OrderMsg
.
PreferPrice
=
Number
(
guestNum
*
unit_price
).
toFixed
(
2
)
-
this
.
OrderMsg
.
LessPrice
;
}
}
//留学就业订单
if
(
this
.
OrderMsg
.
OrderType
==
2
)
{
console
.
log
(
"我进来了2"
);
this
.
OrderMsg
.
OldPreferPrice
=
Number
(
guestNum
*
unit_price
).
toFixed
(
2
);
}
},
...
...
@@ -413,7 +410,6 @@
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
var
tempData
=
res
.
Data
.
OrderInfo
;
console
.
log
(
"tempData"
,
tempData
);
this
.
OrderMsg
.
ClassId
=
tempData
.
ClassId
;
this
.
OrderMsg
.
GuestNum
=
tempData
.
GuestNum
;
this
.
OrderMsg
.
Unit_Price
=
tempData
.
Unit_Price
;
...
...
src/components/schedul/reservestudentlist.vue
View file @
8f2d2ccb
...
...
@@ -17,7 +17,7 @@
<
template
v-slot:body-cell-Demand=
"props"
>
<q-td>
<template>
<div
v-html=
"props.row.Demand"
></div>
<div
v-html=
"props.row.Demand"
></div>
</
template
>
</q-td>
</template>
...
...
@@ -208,7 +208,6 @@
},
//编辑试听
editVisitor
(
obj
)
{
console
.
log
(
"reserveObj"
,
obj
);
this
.
reserveObj
=
obj
this
.
isShowReserve
=
true
;
},
...
...
@@ -219,8 +218,6 @@
refreshPage
()
{
this
.
$emit
(
'success'
);
},
//删除试听
DeleteVisitorReserve
(
Id
)
{
let
that
=
this
;
...
...
src/components/school/student/student-left.vue
View file @
8f2d2ccb
...
...
@@ -527,7 +527,6 @@
this
.
getStudentDorpDown
();
this
.
getGetNeedsList
();
this
.
queryStuTelType
();
console
.
log
(
"this.StudentType"
,
this
.
StudentType
);
if
(
this
.
saveObj
)
{
if
(
this
.
saveObj
.
StuId
>
0
)
{
this
.
customMsg
.
StuId
=
this
.
saveObj
.
StuId
;
...
...
src/components/school/student/transfer-order/order-form copy.vue
View file @
8f2d2ccb
...
...
@@ -12,19 +12,13 @@
<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
}}
<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>
<!-- 多个约课 -->
...
...
@@ -34,168 +28,50 @@
<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;"
/>
<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;"
/>
<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 || '请填成交单价']"
/>
<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=
"优惠金额"
/>
<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=
"总课时数"
/>
<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
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=
"教材费"
/>
<
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 || '请填成交单价']"
/>
<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=
"
<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"
>
"
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"
>
<
template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
...
...
@@ -204,310 +80,102 @@
</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
: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=
"备注"
/>
</div>
</div>
</div>
<!-- 一个约课、班课 -->
<div
v-else
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
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
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
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
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 filled stack-label :dense="false" v-model="OrderMsg.PerDiscountMoney" :disable="true"
class="col-6 q-py-sm" label="优惠金额(每人)" :hint="'总优惠金额:'+(OrderMsg.PerDiscountMoney*OrderMsg.GuestNum)" /> -->
<
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-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-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-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
:disable="
modityOrderType == 2 || OrderMsg.JoinType == 3 || HelpEnterDisable
...
...
@@ -533,25 +201,13 @@
</q-item>
</template>
</q-select> -->
<q-select
v-if=
"false"
:disable=
"
<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"
>
...
...
@@ -560,81 +216,27 @@
</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.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-toggle :disable="(modityOrderType==2)" v-model="OrderMsg.IsLessPrice" :false-value="0" :true-value="1"
label="是否少价" class="q-mb-md" /> -->
<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-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.SaleRemark"
type=
"textarea"
class=
"col-12 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-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.SaleRemark"
type=
"textarea"
class=
"col-12 q-py-sm"
label=
"备注"
/>
</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"
>
...
...
@@ -649,171 +251,70 @@
<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
,
//获取订单操作日志列表
getOrderSourceEnumList
,
//获取订单来源 枚举
setClassOrder
,
//修改订单
SetClassOrderBatch
,
//多个约课订单
queryChaClassInfo
,
GetSelectClassOrderList
//获取前置下拉
}
from
"../../../../api/sale/sale"
;
import
{
GetStudentAssistList
}
from
"../../../../api/sale/sale"
;
//获取协助人员
import
{
queryEmployee
}
from
"../../../../api/users/user"
;
//获取员工
export
default
{
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
},
mode
:
{
type
:
Number
,
//1:约课,2:班课
default
:
1
},
//订单类型
orderType
:
{
type
:
Number
,
default
:
1
},
//修改订单类型
modityOrderType
:
{
type
:
Number
,
default
:
0
//1-销售修改,2-OP修改,3-总经理修改
},
stuData
:
{
//学生是否续费
type
:
Object
,
default
:
null
},
schoolList
:
{
type
:
Array
,
default
:
()
=>
[]
},
// 已选的多选课程
selectedCourseList
:
{
type
:
Array
,
default
:
()
=>
[]
}
},
data
()
{
return
{
courseInformationList
:[],
//存储多个课程
AssistName
:
""
,
//协助老师名称
IsShowEditOrder
:
true
,
OrderMsg
:
{
ClassId
:
0
,
//班级编号
GuestNum
:
0
,
//人数
B2CRatio
:
0
,
B2CReNewRatio
:
0
,
Unit_Price
:
0
,
PreferPrice
:
0
,
//应收
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
,
//课件费
OrderId
:
0
,
OrderType
:
0
,
//订单类型(1-班级课程订单,2-留学就业订单)
SourceId
:
0
,
//来源编号
HelpEnterId
:
0
,
//协助老师编号
GeneralOccupation
:
""
,
//一般同行
EduOccupation
:
""
,
//教育同行
IsLessPrice
:
0
,
//是否少价 0 不少 1 少
LessPrice
:
0
,
//少价金额
PerLessMoney
:
0
,
//每人少价金额
OrderNature
:
1
,
//订单性质
OldPreferPrice
:
0
,
//原实际应收
IsChaBan
:
0
,
//是否插班报入(1-是)
CourseId
:
""
,
//课程编号
StartClassHours
:
0
,
//已上课时
EffectTime
:
""
,
//生效时间
UpOrderId
:
0
,
//前置订单编号
JoinType
:
1
,
//订单报入类型
DiscountMoney
:
0
,
//优惠金额
PerDiscountMoney
:
0
,
//每人优惠金额
CourseConsultantId
:
0
,
//课程顾问
CustomerId
:
0
,
//同行
OrderIdentify
:
2
,
//标识参数, 1产品下单 2客户转订单
StuIds
:
""
,
EnterId
:
0
,
//市场人员
// NormalCommission:'',//正常返佣金额
// RenewCommission:"",// 预计返佣金额
ScrollSchoolId
:
-
1
,
import
{
getClassOrderInfo
,
//获取订单操作日志列表
getOrderSourceEnumList
,
//获取订单来源 枚举
setClassOrder
,
//修改订单
SetClassOrderBatch
,
//多个约课订单
queryChaClassInfo
,
GetSelectClassOrderList
//获取前置下拉
}
from
"../../../../api/sale/sale"
;
import
{
GetStudentAssistList
}
from
"../../../../api/sale/sale"
;
//获取协助人员
import
{
queryEmployee
}
from
"../../../../api/users/user"
;
//获取员工
export
default
{
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
},
newSchoolList
:
[],
EnterName
:
""
,
//市场人员
Unit_PriceRemark
:
""
,
//单价规则
IsShowUpPrice
:
false
,
//是否显示高于定价
UnitPrice
:
0
,
SourceEnumList
:
[],
//订单来源
EmployeeList
:
[],
//教师列表
AllemployeeList
:
[],
//所有教师列表
EmployeeList2
:
[],
//课程顾问列表
AllemployeeList2
:
[],
//所有课程顾问列表
CourseList
:
[],
//课程列表
courseObj
:
{},
//选择的课程
beforeOrderList
:
[],
//前置订单数据
HelpEnterDisable
:
false
,
//是否可选择协助教师
CourseConsultantDisable
:
false
,
//是否可选择课程顾问
inception
:
false
,
inceptionData
:
null
};
},
computed
:
{
},
watch
:
{
},
created
()
{
if
(
this
.
saveObj
&&
this
.
saveObj
.
CourseId
)
{
this
.
OrderMsg
.
CourseId
=
this
.
saveObj
.
CourseId
;
}
this
.
getOrderSEList
();
this
.
getEmployee
(
0
);
this
.
getEmployee
(
2
);
this
.
initConfig
();
this
.
getSelectClass
();
},
mounted
()
{
this
.
newSchoolList
=
[];
this
.
newSchoolList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
schoolList
));
this
.
newSchoolList
.
unshift
({
SName
:
"不限"
,
SId
:
-
1
});
this
.
initData
();
this
.
getAssistList
();
this
.
OrderMsg
.
EnterId
=
this
.
stuData
.
EnterId
;
this
.
EnterName
=
this
.
stuData
.
EnterName
;
// 判断是否续费协助老师赋值
if
(
this
.
stuData
.
StuList
[
0
].
IsRenewGuest
!=
1
){
this
.
OrderMsg
.
HelpEnterId
=
this
.
stuData
.
StuList
[
0
].
STTeacherId
;
this
.
AssistName
=
this
.
stuData
.
StuList
[
0
].
STTeacherName
}
console
.
log
(
"this.selectedCourseList"
,
this
.
selectedCourseList
);
if
(
this
.
selectedCourseList
.
length
>
1
){
this
.
selectedCourseList
.
forEach
(
item
=>
{
let
dataObj
=
{
CourseName
:
""
,
//课程名称
mode
:
{
type
:
Number
,
//1:约课,2:班课
default
:
1
},
//订单类型
orderType
:
{
type
:
Number
,
default
:
1
},
//修改订单类型
modityOrderType
:
{
type
:
Number
,
default
:
0
//1-销售修改,2-OP修改,3-总经理修改
},
stuData
:
{
//学生是否续费
type
:
Object
,
default
:
null
},
schoolList
:
{
type
:
Array
,
default
:
()
=>
[]
},
// 已选的多选课程
selectedCourseList
:
{
type
:
Array
,
default
:
()
=>
[]
}
},
data
()
{
return
{
courseInformationList
:
[],
//存储多个课程
AssistName
:
""
,
//协助老师名称
IsShowEditOrder
:
true
,
OrderMsg
:
{
ClassId
:
0
,
//班级编号
GuestNum
:
1
,
//人数
GuestNum
:
0
,
//人数
B2CRatio
:
0
,
B2CReNewRatio
:
0
,
Unit_Price
:
0
,
...
...
@@ -821,10 +322,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
,
//来源编号
...
...
@@ -852,597 +353,700 @@ export default {
// NormalCommission:'',//正常返佣金额
// RenewCommission:"",// 预计返佣金额
ScrollSchoolId
:
-
1
,
OrderType
:
1
},
newSchoolList
:
[],
EnterName
:
""
,
//市场人员
Unit_PriceRemark
:
""
,
//单价规则
IsShowUpPrice
:
false
,
//是否显示高于定价
UnitPrice
:
0
,
SourceEnumList
:
[],
//订单来源
EmployeeList
:
[],
//教师列表
AllemployeeList
:
[],
//所有教师列表
EmployeeList2
:
[],
//课程顾问列表
AllemployeeList2
:
[],
//所有课程顾问列表
CourseList
:
[],
//课程列表
courseObj
:
{},
//选择的课程
beforeOrderList
:
[],
//前置订单数据
HelpEnterDisable
:
false
,
//是否可选择协助教师
CourseConsultantDisable
:
false
,
//是否可选择课程顾问
inception
:
false
,
inceptionData
:
null
};
},
computed
:
{
},
watch
:
{
},
created
()
{
if
(
this
.
saveObj
&&
this
.
saveObj
.
CourseId
)
{
this
.
OrderMsg
.
CourseId
=
this
.
saveObj
.
CourseId
;
}
if
(
item
.
CourseName
){
dataObj
.
CourseName
=
item
.
CourseName
}
if
(
item
.
ClassId
)
{
dataObj
.
ClassId
=
item
.
ClassId
;
}
if
(
item
.
SellPrice
)
{
dataObj
.
Unit_Price
=
item
.
SellPrice
;
dataObj
.
Class_Price
=
item
.
SellPrice
;
}
if
(
item
.
SellPriceType
)
{
dataObj
.
Unit_PriceType
=
item
.
SellPriceType
;
}
if
(
item
.
TotalClassHours
)
{
dataObj
.
TotalClassHours
=
item
.
TotalClassHours
;
}
if
(
item
.
CoursewareFee
)
{
dataObj
.
CoursewareFee
=
item
.
CoursewareFee
;
}
if
(
item
.
TextbookFee
)
{
dataObj
.
TextbookFee
=
item
.
TextbookFee
;
}
if
(
item
.
SourceId
)
{
dataObj
.
SourceId
=
item
.
SourceId
;
}
if
(
item
.
CourseId
)
{
dataObj
.
CourseId
=
item
.
CourseId
;
}
else
{
dataObj
.
CourseId
=
""
;
}
if
(
item
.
B2CRatio
)
{
dataObj
.
B2CRatio
=
item
.
B2CRatio
;
}
if
(
item
.
B2CReNewRatio
)
{
dataObj
.
B2CReNewRatio
=
item
.
B2CReNewRatio
;
}
if
(
this
.
stuData
.
RenewNum
>
0
)
{
dataObj
.
SaleRemark
=
`首次报名优惠比例
${
item
.
B2CRatio
??
0
}
%
;
续费优惠比例
$
{
item
.
B2CReNewRatio
??
0
}
%
`;
} else {
dataObj.SaleRemark = `
首次报名优惠比例
$
{
item
.
B2CRatio
??
0
}
%
`;
}
this.courseInformationList.push(dataObj)
this
.
getOrderSEList
();
this
.
getEmployee
(
0
);
this
.
getEmployee
(
2
);
this
.
initConfig
();
this
.
getSelectClass
();
},
mounted
()
{
this
.
newSchoolList
=
[];
this
.
newSchoolList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
schoolList
));
this
.
newSchoolList
.
unshift
({
SName
:
"不限"
,
SId
:
-
1
});
this.totalCourseFee(1)
}
},
methods: {
this
.
initData
();
this
.
getAssistList
();
this
.
OrderMsg
.
EnterId
=
this
.
stuData
.
EnterId
;
this
.
EnterName
=
this
.
stuData
.
EnterName
;
//单个课程计算
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);
// 判断是否续费协助老师赋值
if
(
this
.
stuData
.
StuList
[
0
].
IsRenewGuest
!=
1
)
{
this
.
OrderMsg
.
HelpEnterId
=
this
.
stuData
.
StuList
[
0
].
STTeacherId
;
this
.
AssistName
=
this
.
stuData
.
StuList
[
0
].
STTeacherName
}
this.OrderMsg.PreferPrice = this.OrderMsg.GuestNum*this.OrderMsg.Unit_Price*this.OrderMsg.TotalClassHours+Number(this.OrderMsg.TextbookFee)+Number(this.OrderMsg.CoursewareFee)
if
(
this
.
selectedCourseList
.
length
>
1
)
{
this
.
selectedCourseList
.
forEach
(
item
=>
{
let
dataObj
=
{
CourseName
:
""
,
//课程名称
ClassId
:
0
,
//班级编号
GuestNum
:
1
,
//人数
B2CRatio
:
0
,
B2CReNewRatio
:
0
,
Unit_Price
:
0
,
PreferPrice
:
0
,
//应收
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
,
//课件费
OrderId
:
0
,
OrderType
:
0
,
//订单类型(1-班级课程订单,2-留学就业订单)
SourceId
:
0
,
//来源编号
HelpEnterId
:
0
,
//协助老师编号
GeneralOccupation
:
""
,
//一般同行
EduOccupation
:
""
,
//教育同行
IsLessPrice
:
0
,
//是否少价 0 不少 1 少
LessPrice
:
0
,
//少价金额
PerLessMoney
:
0
,
//每人少价金额
OrderNature
:
1
,
//订单性质
OldPreferPrice
:
0
,
//原实际应收
IsChaBan
:
0
,
//是否插班报入(1-是)
CourseId
:
""
,
//课程编号
StartClassHours
:
0
,
//已上课时
EffectTime
:
""
,
//生效时间
UpOrderId
:
0
,
//前置订单编号
JoinType
:
1
,
//订单报入类型
DiscountMoney
:
0
,
//优惠金额
PerDiscountMoney
:
0
,
//每人优惠金额
CourseConsultantId
:
0
,
//课程顾问
CustomerId
:
0
,
//同行
OrderIdentify
:
2
,
//标识参数, 1产品下单 2客户转订单
StuIds
:
""
,
EnterId
:
0
,
//市场人员
// NormalCommission:'',//正常返佣金额
// RenewCommission:"",// 预计返佣金额
ScrollSchoolId
:
-
1
,
OrderType
:
1
}
},
// 多个课程计算
totalCourseFee(type){
this.courseInformationList.forEach((item)=>{
if(this.stuData.StuList[0].IsRenewGuest==1){
item.DiscountMoney = this.accAdd(
item.DiscountMoney,
this.accMul(
item.Class_Price,
item.B2CReNewRatio / 100
)
);
if(item.Unit_PriceType==1){
item.PreferPrice = item.GuestNum*item.Unit_Price
if
(
item
.
CourseName
)
{
dataObj
.
CourseName
=
item
.
CourseName
}
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)
if
(
item
.
ClassId
)
{
dataObj
.
ClassId
=
item
.
ClassId
;
}
}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
if
(
item
.
SellPrice
)
{
dataObj
.
Unit_Price
=
item
.
SellPrice
;
dataObj
.
Class_Price
=
item
.
SellPrice
;
}
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
.
SellPriceType
)
{
dataObj
.
Unit_PriceType
=
item
.
SellPriceType
;
}
//item.PreferPrice = item.GuestNum*item.Unit_Price
}
})
if
(
item
.
TotalClassHours
)
{
dataObj
.
TotalClassHours
=
item
.
TotalClassHours
;
}
if
(
item
.
CoursewareFee
)
{
dataObj
.
CoursewareFee
=
item
.
CoursewareFee
;
}
if
(
item
.
TextbookFee
)
{
dataObj
.
TextbookFee
=
item
.
TextbookFee
;
}
if
(
item
.
SourceId
)
{
dataObj
.
SourceId
=
item
.
SourceId
;
}
if
(
item
.
CourseId
)
{
dataObj
.
CourseId
=
item
.
CourseId
;
}
else
{
dataObj
.
CourseId
=
""
;
}
if
(
item
.
B2CRatio
)
{
dataObj
.
B2CRatio
=
item
.
B2CRatio
;
}
if
(
item
.
B2CReNewRatio
)
{
dataObj
.
B2CReNewRatio
=
item
.
B2CReNewRatio
;
}
if
(
this
.
stuData
.
RenewNum
>
0
)
{
dataObj
.
SaleRemark
=
`首次报名优惠比例
${
item
.
B2CRatio
??
0
}
%
;
续费优惠比例
$
{
item
.
B2CReNewRatio
??
0
}
%
`;
} else {
dataObj.SaleRemark = `
首次报名优惠比例
$
{
item
.
B2CRatio
??
0
}
%
`;
}
this.courseInformationList.push(dataObj)
});
this.totalCourseFee(1)
}
},
//获取协助人员
getAssistList() {
const ids = this.stuData.StuList.map(e => e.StuId).toString();
GetStudentAssistList({ StuId: ids }).then(res => {
if (res.Code == 1) {
res.Data.map(e => {
if (e.AssistType == 4) {
if(this.stuData.StuList[0].IsRenewGuest==1){
this.OrderMsg.HelpEnterId = e.AssistId;
this.AssistName = e.AssistName
}
this.HelpEnterDisable = true;
}
if (e.AssistType == 2) {
this.OrderMsg.CourseConsultantId = e.AssistId;
this.CourseConsultantDisable = true;
if(this.selectedCourseList.length>1){
this.courseInformationList.forEach(item=>{
return item.CourseConsultantId = e.AssistId
})
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);
}
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) {
item.DiscountMoney = this.accAdd(
item.DiscountMoney,
this.accMul(
item.Class_Price,
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);
}
item.PreferPrice = (item.GuestNum * item.Unit_Price * item.TotalClassHours) + Number(item
.TextbookFee) + Number(item.CoursewareFee)
}
});
}
});
},
//获取班级课程信息
initConfig() {
var qMsg = {
ClassId: 0
};
if (this.saveObj.ClassId) {
qMsg.ClassId = this.saveObj.ClassId;
}
queryChaClassInfo(qMsg).then(res => {
if (res.Code == 1) {
this.CourseList = res.Data.otherCourse;
if (this.saveObj && this.saveObj.OrderId > 0) {
} else {
this.OrderMsg.StartClassHours = res.Data.finishHours;
}
if (this.OrderMsg && this.OrderMsg.CourseId) {
this.courseObj = this.CourseList.find(
x => x.CourseId == this.OrderMsg.CourseId
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)
}
//item.PreferPrice = item.GuestNum*item.Unit_Price
}
this.calcPrice();
})
},
//获取协助人员
getAssistList() {
const ids = this.stuData.StuList.map(e => e.StuId).toString();
GetStudentAssistList({
StuId: ids
}).then(res => {
if (res.Code == 1) {
res.Data.map(e => {
if (e.AssistType == 4) {
if (this.stuData.StuList[0].IsRenewGuest == 1) {
this.OrderMsg.HelpEnterId = e.AssistId;
this.AssistName = e.AssistName
}
this.HelpEnterDisable = true;
}
if (e.AssistType == 2) {
this.OrderMsg.CourseConsultantId = e.AssistId;
this.CourseConsultantDisable = true;
if (this.selectedCourseList.length > 1) {
this.courseInformationList.forEach(item => {
return item.CourseConsultantId = e.AssistId
})
}
}
});
}
});
},
//获取班级课程信息
initConfig() {
var qMsg = {
ClassId: 0
};
if (this.saveObj.ClassId) {
qMsg.ClassId = this.saveObj.ClassId;
}
});
},
//计算课程单价和应收金额
calcPrice() {
var guestNum = 0;
queryChaClassInfo(qMsg).then(res => {
if (res.Code == 1) {
this.CourseList = res.Data.otherCourse;
if (this.saveObj && this.saveObj.OrderId > 0) {} else {
this.OrderMsg.StartClassHours = res.Data.finishHours;
}
if (this.OrderMsg && this.OrderMsg.CourseId) {
this.courseObj = this.CourseList.find(
x => x.CourseId == this.OrderMsg.CourseId
);
}
this.calcPrice();
}
});
},
//计算课程单价和应收金额
calcPrice() {
var guestNum = 0;
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.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);
}
let temp = this.CourseList.find(
x => x.CourseId == this.OrderMsg.CourseId
);
if (temp) {
this.courseObj = temp;
var tempDiscountMoney = 0; //优惠金额
// var tempSaleRemark = `
直客首次报名优惠比例
$
{
temp
.
B2CRatio
??
0
}
%
`; //备注
//插班课时单价
var classHourPrice = temp.SellPrice / this.courseObj.ClassHours;
var chaBanPrice = Number(
classHourPrice *
let temp = this.CourseList.find(
x => x.CourseId == this.OrderMsg.CourseId
);
if (temp) {
this.courseObj = temp;
var tempDiscountMoney = 0; //优惠金额
// var tempSaleRemark = `
直客首次报名优惠比例
$
{
temp
.
B2CRatio
??
0
}
%
`; //备注
//插班课时单价
var classHourPrice = temp.SellPrice / this.courseObj.ClassHours;
var chaBanPrice = Number(
classHourPrice *
(this.courseObj.ClassHours - this.OrderMsg.StartClassHours)
).toFixed(2);
if (guestNum == 1) {
if (temp.CoursePriceList && temp.CoursePriceList.length > 0) {
if (temp.CoursePriceList[0].PriceType == 0) {
if (this.OrderMsg.IsChaBan == 1) {
tempDiscountMoney =
(chaBanPrice * temp.CoursePriceList[0].PriceMoney) / 100;
).toFixed(2);
if (guestNum == 1) {
if (temp.CoursePriceList && temp.CoursePriceList.length > 0) {
if (temp.CoursePriceList[0].PriceType == 0) {
if (this.OrderMsg.IsChaBan == 1) {
tempDiscountMoney =
(chaBanPrice * temp.CoursePriceList[0].PriceMoney) / 100;
} else {
tempDiscountMoney =
(temp.SellPrice * temp.CoursePriceList[0].PriceMoney) / 100;
}
// tempSaleRemark = "单人报名优惠" + temp.CoursePriceList[0].PriceMoney + "%";
} else {
tempDiscountMoney =
(temp.SellPrice * temp.CoursePriceList[0].PriceMoney) / 100
;
tempDiscountMoney =
item.CoursePriceList[0].PriceMoney;
// tempSaleRemark = "单人报名优惠" + temp.CoursePriceList[0].PriceMoney
;
}
// tempSaleRemark = "单人报名优惠" + temp.CoursePriceList[0].PriceMoney + "%";
} else {
tempDiscountMoney = item.CoursePriceList[0].PriceMoney;
// tempSaleRemark = "单人报名优惠" + temp.CoursePriceList[0].PriceMoney;
}
}
}
if (guestNum > 1) {
if (temp.CoursePriceList && temp.CoursePriceList.length > 0) {
if (temp.CoursePriceList[1].PriceType == 0) {
// tempSaleRemark = "双人报名优惠" + temp.CoursePriceList[1].PriceMoney + "%";
if (this.OrderMsg.IsChaBan == 1) {
tempDiscountMoney =
(chaBanPrice * temp.CoursePriceList[1].PriceMoney) / 100;
if (guestNum > 1) {
if (temp.CoursePriceList && temp.CoursePriceList.length > 0) {
if (temp.CoursePriceList[1].PriceType == 0) {
// tempSaleRemark = "双人报名优惠" + temp.CoursePriceList[1].PriceMoney + "%";
if (this.OrderMsg.IsChaBan == 1) {
tempDiscountMoney =
(chaBanPrice * temp.CoursePriceList[1].PriceMoney) / 100;
} else {
tempDiscountMoney =
(temp.SellPrice * temp.CoursePriceList[1].PriceMoney) / 100;
}
} else {
tempDiscountMoney =
(temp.SellPrice * temp.CoursePriceList[1].PriceMoney) / 100
;
tempDiscountMoney =
item.CoursePriceList[1].PriceMoney;
// tempSaleRemark = "双人报名优惠" + temp.CoursePriceList[1].PriceMoney
;
}
} else {
tempDiscountMoney = item.CoursePriceList[1].PriceMoney;
// tempSaleRemark = "双人报名优惠" + temp.CoursePriceList[1].PriceMoney;
}
}
var perDiscountMoney = Number(tempDiscountMoney).toFixed(2);
this.OrderMsg.PerDiscountMoney = perDiscountMoney;
//计算每人优惠和总优惠
// if (this.OrderMsg.IsChaBan == 1) {
// this.OrderMsg.Unit_Price = chaBanPrice;
// this.UnitPrice = chaBanPrice;
// } else {
// this.OrderMsg.Unit_Price = temp.SellPrice;
// this.UnitPrice = temp.SellPrice;
// }
// this.OrderMsg.SaleRemark = tempSaleRemark;
} else {
if (this.saveObj.ClassId) {
this.OrderMsg.ClassId = this.saveObj.ClassId;
}
if (this.saveObj.Unit_Price) {
this.OrderMsg.Unit_Price = this.saveObj.Unit_Price;
this.UnitPrice = this.saveObj.Unit_Price;
}
if (this.saveObj.SourceId) {
this.OrderMsg.SourceId = this.saveObj.SourceId;
}
this.courseObj = {};
}
var perDiscountMoney = Number(tempDiscountMoney).toFixed(2);
this.OrderMsg.PerDiscountMoney = perDiscountMoney;
//计算每人优惠和总优惠
// if (this.OrderMsg.IsChaBan == 1) {
// this.OrderMsg.Unit_Price = chaBanPrice;
// this.UnitPrice = chaBanPrice;
// } else {
// this.OrderMsg.Unit_Price = temp.SellPrice;
// this.UnitPrice = temp.SellPrice;
// }
// this.OrderMsg.SaleRemark = tempSaleRemark;
} else {
if (this.saveObj.ClassId) {
this.OrderMsg.ClassId = this.saveObj.ClassId;
}
if (this.saveObj.Unit_Price) {
this.OrderMsg.Unit_Price = this.saveObj.Unit_Price;
this.UnitPrice = this.saveObj.Unit_Price;
/**计算少价---开始*/
var tempPerLessMoney = 0;
if (this.OrderMsg.PerLessMoney && this.OrderMsg.PerLessMoney > 0) {
tempPerLessMoney = this.OrderMsg.PerLessMoney;
}
if (this.saveObj.SourceId) {
this.OrderMsg.SourceId = this.saveObj.SourceId;
this.OrderMsg.LessPrice = tempPerLessMoney * guestNum;
/**计算少价----结束*/
var unit_price = 0;
if (this.OrderMsg.Unit_Price && this.OrderMsg.Unit_Price > 0) {
unit_price = Number(this.OrderMsg.Unit_Price);
}
this.courseObj = {};
}
/**计算少价---开始*/
var tempPerLessMoney = 0;
if (this.OrderMsg.PerLessMoney && this.OrderMsg.PerLessMoney > 0) {
tempPerLessMoney = this.OrderMsg.PerLessMoney;
}
this.OrderMsg.LessPrice = tempPerLessMoney * guestNum;
/**计算少价----结束*/
var unit_price = 0;
if (this.OrderMsg.Unit_Price && this.OrderMsg.Unit_Price > 0) {
unit_price = Number(this.OrderMsg.Unit_Price);
}
var str = "";
//计算应收价格
if (this.OrderMsg.IsChaBan == 1) {
var newPreferPrice = 0;
if (
this.courseObj &&
this.courseObj.CourseId &&
this.courseObj.CourseId > 0
) {
if(this.OrderMsg.Unit_PriceType==1){
newPreferPrice= chaBanPrice * guestNum
var str = "";
//计算应收价格
if (this.OrderMsg.IsChaBan == 1) {
var newPreferPrice = 0;
if (
this.courseObj &&
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
}
}
else if(this.OrderMsg.Unit_PriceType==2){
newPreferPrice = chaBanPrice * guestNum*this.OrderMsg.TotalClassHours
this.OrderMsg.PreferPrice =
Number(newPreferPrice).toFixed(2) - this.OrderMsg.LessPrice;
} else {
if (this.OrderMsg.Unit_PriceType == 1) {
this.OrderMsg.PreferPrice =
Number(guestNum * unit_price).toFixed(2) - this.OrderMsg.LessPrice;
} 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;
}
}
this.OrderMsg.PreferPrice =
Number(newPreferPrice).toFixed(2) - this.OrderMsg.LessPrice;
} else {
//留学就业订单
if (this.OrderMsg.OrderType == 2) {
this.OrderMsg.OldPreferPrice = Number(guestNum * unit_price).toFixed(2);
}
if(this.OrderMsg.Unit_PriceType==1){
this.OrderMsg.PreferPrice =
Number(guestNum * unit_price).toFixed(2) - this.OrderMsg.LessPrice ;
this.OrderMsg.GuestNum = this.stuData.StuList.length;
this.OrderMsg.DiscountMoney = 0;
this.stuData.StuList.map(e => {
if (e.IsRenewGuest == 0) {
this.OrderMsg.DiscountMoney = this.accAdd(
this.OrderMsg.DiscountMoney,
this.accMul(this.OrderMsg.Class_Price, this.OrderMsg.B2CRatio / 100)
);
} else {
this.OrderMsg.DiscountMoney = this.accAdd(
this.OrderMsg.DiscountMoney,
this.accMul(
this.OrderMsg.Class_Price,
this.OrderMsg.B2CReNewRatio / 100
)
);
}
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;
});
},
// 初始化
initData() {
this.OrderMsg.HelpEnterId = 0;
this.OrderMsg.GeneralOccupation = "";
this.OrderMsg.EduOccupation = "";
this.OrderMsg.IsLessPrice = 0;
this.OrderMsg.LessPrice = 0;
this.OrderMsg.PerLessMoney = 0;
this.OrderMsg.OrderNature = 0;
this.OrderMsg.OldPreferPrice = 0;
this.OrderMsg.StartClassHours = 0;
this.OrderMsg.IsChaBan = 0;
this.OrderMsg.EffectTime = "";
this.OrderMsg.UpOrderId = 0;
this.OrderMsg.JoinType = 1;
this.OrderMsg.DiscountMoney = 0;
this.OrderMsg.PerDiscountMoney = 0;
this.OrderMsg.OrderType = this.orderType;
this.OrderMsg.B2CRatio = 0;
this.OrderMsg.B2CReNewRatio = 0;
this.OrderMsg.CustomerId = 0;
this.OrderMsg.CourseConsultantId = 0;
this.OrderMsg.TotalClassHours = 0;
this.OrderMsg.Unit_PriceType = 1;
if (this.OrderMsg.OrderType == 2) {
this.OrderMsg.OrderNature = 1;
}
if (this.saveObj) {
if (this.saveObj.ClassId) {
this.OrderMsg.ClassId = this.saveObj.ClassId;
}
if (this.saveObj.Unit_Price) {
this.OrderMsg.Unit_Price = this.saveObj.Unit_Price;
this.OrderMsg.Class_Price = this.saveObj.Unit_Price;
this.UnitPrice = this.saveObj.Unit_Price;
}
if (this.saveObj.SourceId) {
this.OrderMsg.SourceId = this.saveObj.SourceId;
}
if (this.saveObj.SellPriceType) {
this.OrderMsg.Unit_PriceType = this.saveObj.SellPriceType;
}
if (this.saveObj.TotalClassHours) {
this.OrderMsg.TotalClassHours = this.saveObj.TotalClassHours;
}
}
//留学就业订单
if (this.OrderMsg.OrderType == 2) {
this.OrderMsg.OldPreferPrice = Number(guestNum * unit_price).toFixed(2);
}
this.OrderMsg.GuestNum = this.stuData.StuList.length;
this.OrderMsg.DiscountMoney = 0;
if (this.saveObj.TextbookFee) {
this.OrderMsg.TextbookFee = this.saveObj.TextbookFee;
}
if (this.saveObj.CoursewareFee) {
this.OrderMsg.CoursewareFee = this.saveObj.CoursewareFee;
}
if (this.saveObj.CourseId) {
this.OrderMsg.CourseId = this.saveObj.CourseId;
} else {
this.OrderMsg.CourseId = "";
}
if (this.saveObj.B2CRatio) {
this.OrderMsg.B2CRatio = this.saveObj.B2CRatio;
}
if (this.saveObj.B2CReNewRatio) {
this.OrderMsg.B2CReNewRatio = this.saveObj.B2CReNewRatio;
}
if (this.selectedCourseList.length > 1) {
return
this.stuData.StuList.map(e => {
if (e.IsRenewGuest == 0) {
this.OrderMsg.DiscountMoney = this.accAdd(
this.OrderMsg.DiscountMoney,
this.accMul(this.OrderMsg.Class_Price, this.OrderMsg.B2CRatio / 100)
);
} else {
this.OrderMsg.DiscountMoney = this.accAdd(
this.OrderMsg.DiscountMoney,
this.accMul(
this.OrderMsg.Class_Price,
this.OrderMsg.B2CReNewRatio / 100
)
);
}
});
},
// 初始化
initData() {
this.OrderMsg.HelpEnterId = 0;
this.OrderMsg.GeneralOccupation = "";
this.OrderMsg.EduOccupation = "";
this.OrderMsg.IsLessPrice = 0;
this.OrderMsg.LessPrice = 0;
this.OrderMsg.PerLessMoney = 0;
this.OrderMsg.OrderNature = 0;
this.OrderMsg.OldPreferPrice = 0;
this.OrderMsg.StartClassHours = 0;
this.OrderMsg.IsChaBan = 0;
this.OrderMsg.EffectTime = "";
this.OrderMsg.UpOrderId = 0;
this.OrderMsg.JoinType = 1;
this.OrderMsg.DiscountMoney = 0;
this.OrderMsg.PerDiscountMoney = 0;
this.OrderMsg.OrderType = this.orderType;
this.OrderMsg.B2CRatio = 0;
this.OrderMsg.B2CReNewRatio = 0;
this.OrderMsg.CustomerId = 0;
this.OrderMsg.CourseConsultantId = 0;
this.OrderMsg.TotalClassHours = 0;
this.OrderMsg.Unit_PriceType = 1;
if (this.OrderMsg.OrderType == 2) {
this.OrderMsg.OrderNature = 1;
}
console.log("saveObj",this.saveObj);
if (this.saveObj) {
if (this.saveObj.ClassId) {
this.OrderMsg.ClassId = this.saveObj.ClassId;
}
if (this.saveObj.Unit_Price) {
this.OrderMsg.Unit_Price = this.saveObj.Unit_Price;
this.OrderMsg.Class_Price = this.saveObj.Unit_Price;
this.UnitPrice = this.saveObj.Unit_Price;
}
if (this.saveObj.SourceId) {
this.OrderMsg.SourceId = this.saveObj.SourceId;
}
if (this.saveObj.SellPriceType) {
this.OrderMsg.Unit_PriceType = this.saveObj.SellPriceType;
}
if (this.saveObj.TotalClassHours) {
this.OrderMsg.TotalClassHours = this.saveObj.TotalClassHours;
}
if (this.saveObj.TextbookFee) {
this.OrderMsg.TextbookFee = this.saveObj.TextbookFee;
}
if (this.saveObj.CoursewareFee) {
this.OrderMsg.CoursewareFee = this.saveObj.CoursewareFee;
}
if (this.saveObj.CourseId) {
this.OrderMsg.CourseId = this.saveObj.CourseId;
} else {
this.OrderMsg.CourseId = "";
}
if (this.saveObj.B2CRatio) {
this.OrderMsg.B2CRatio = this.saveObj.B2CRatio;
}
if (this.saveObj.B2CReNewRatio) {
this.OrderMsg.B2CReNewRatio = this.saveObj.B2CReNewRatio;
}
if(this.selectedCourseList.length>1){
return
}
}
}
this.IsShowEditOrder = true;
this.IsShowEditOrder = true;
this.calcPrice();
if (this.stuData.RenewNum > 0) {
this.OrderMsg.SaleRemark = `
首次报名优惠比例
$
{
this
.
saveObj
.
B2CRatio
??
this.calcPrice();
if (this.stuData.RenewNum > 0) {
this.OrderMsg.SaleRemark = `
首次报名优惠比例
$
{
this
.
saveObj
.
B2CRatio
??
0
}
%
;
续费优惠比例
$
{
this
.
saveObj
.
B2CReNewRatio
??
0
}
%
`; //备注
} else {
this.OrderMsg.SaleRemark = `
首次报名优惠比例
$
{
this
.
saveObj
.
B2CRatio
??
0
}
%
`; //备注})
}
},
//筛选员工
filterFn(val, update) {
update(() => {
if (val === "") {
this.EmployeeList = JSON.parse(JSON.stringify(this.AllemployeeList));
} else {
const needle = val.toLowerCase();
this.EmployeeList = this.AllemployeeList.filter(
v => v.EmployeeName.toLowerCase().indexOf(needle) > -1
);
}
});
},
//筛选课程顾问
filterFn2(val, update) {
update(() => {
if (val === "") {
this.EmployeeList2 = JSON.parse(
JSON.stringify(this.AllemployeeList2)
);
} else {
const needle = val.toLowerCase();
this.EmployeeList2 = this.AllemployeeList2.filter(
v => v.EmployeeName.toLowerCase().indexOf(needle) > -1
);
this.OrderMsg.SaleRemark = `
首次报名优惠比例
$
{
this
.
saveObj
.
B2CRatio
??
0
}
%
`; //备注})
}
});
},
//获取业务员
getEmployee(n) {
var qMsg = {
IsLeave: 1,
UserRole: n
};
queryEmployee(qMsg).then(res => {
if (res.Code == 1) {
if (n == 0) {
//教师
this.EmployeeList = res.Data;
this.AllemployeeList = res.Data;
let obj = {
Id: 0,
EmployeeName: "不限"
};
this.EmployeeList.unshift(obj);
}
if (n == 2) {
//课程顾问
this.EmployeeList2 = res.Data;
this.AllemployeeList2 = res.Data;
let obj = {
Id: 0,
EmployeeName: "不限"
};
this.EmployeeList2.unshift(obj);
},
//筛选员工
filterFn(val, update) {
update(() => {
if (val === "") {
this.EmployeeList = JSON.parse(JSON.stringify(this.AllemployeeList));
} else {
const needle = val.toLowerCase();
this.EmployeeList = this.AllemployeeList.filter(
v => v.EmployeeName.toLowerCase().indexOf(needle) > -1
);
}
}
});
},
//关闭弹窗
closeEditOrder() {
this.IsShowEditOrder = false;
this.$emit("close");
},
//获取订单来源
getOrderSEList() {
getOrderSourceEnumList({}).then(res => {
if (res.Code == 1) {
var tempArray = res.Data;
this.SourceEnumList = tempArray;
this.OrderMsg.OrderSource = tempArray[0].Id;
if(this.selectedCourseList.length>0){
this.courseInformationList.forEach(item=>{
return item.OrderSource = this.OrderMsg.OrderSource
})
});
},
//筛选课程顾问
filterFn2(val, update) {
update(() => {
if (val === "") {
this.EmployeeList2 = JSON.parse(
JSON.stringify(this.AllemployeeList2)
);
} else {
const needle = val.toLowerCase();
this.EmployeeList2 = this.AllemployeeList2.filter(
v => v.EmployeeName.toLowerCase().indexOf(needle) > -1
);
}
}
});
},
//修改订单
saveOrderInfo() {
if(this.selectedCourseList.length>1){
this.multipleAppointmentsFun()
}else{
this.singleAppointmentsFun()
}
},
// 多个约课
multipleAppointmentsFun(){
//插班验证课程和生效时间
this.courseInformationList.forEach(item=>{
item.StuIds = this.stuData.StuList.map(e => e.StuId).toString();
item.HelpEnterId = this.OrderMsg.HelpEnterId
item.CustomerId = this.stuData.CustomerId;
})
let Msg = {
OrderList: this.courseInformationList
}
SetClassOrderBatch(Msg)
.then(res => {
this.$emit("cancelloading"); //取消按钮的加载
});
},
//获取业务员
getEmployee(n) {
var qMsg = {
IsLeave: 1,
UserRole: n
};
queryEmployee(qMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "操作成功!",
position: "top"
});
//调用父页面成功方法
this.$emit("success");
this.IsShowEditOrder = false;
} else {
this.$q.notify({
type: "negative",
position: "top",
message: res.Message
});
if (n == 0) {
//教师
this.EmployeeList = res.Data;
this.AllemployeeList = res.Data;
let obj = {
Id: 0,
EmployeeName: "不限"
};
this.EmployeeList.unshift(obj);
}
if (n == 2) {
//课程顾问
this.EmployeeList2 = res.Data;
this.AllemployeeList2 = res.Data;
let obj = {
Id: 0,
EmployeeName: "不限"
};
this.EmployeeList2.unshift(obj);
}
}
})
.catch(err => {
this.$emit("cancelloading"); //取消按钮的加载
if (err.Code == 2) {
this.inceptionData = err;
this.inception = true;
});
},
//关闭弹窗
closeEditOrder() {
this.IsShowEditOrder = false;
this.$emit("close");
},
//获取订单来源
getOrderSEList() {
getOrderSourceEnumList({}).then(res => {
if (res.Code == 1) {
var tempArray = res.Data;
this.SourceEnumList = tempArray;
this.OrderMsg.OrderSource = tempArray[0].Id;
if (this.selectedCourseList.length > 0) {
this.courseInformationList.forEach(item => {
return item.OrderSource = this.OrderMsg.OrderSource
})
}
}
});
},
// 单个班课、约课
singleAppointmentsFun(){
//插班验证课程和生效时间
if (this.OrderMsg.IsChaBan == 1) {
this.$refs.CourseId.validate();
this.$refs.EffectTime.validate();
if (this.$refs.CourseId.hasError) {
this.$q.notify({
type: "negative",
position: "top",
message: `
请选择课程
!
`
});
return;
},
//修改订单
saveOrderInfo() {
if (this.selectedCourseList.length > 1) {
this.multipleAppointmentsFun()
} else {
this.singleAppointmentsFun()
}
if (this.$refs.EffectTime.hasError) {
this.$q.notify({
type: "negative",
position: "top",
message: `
请选择生效时间
!
`
});
return;
},
// 多个约课
multipleAppointmentsFun() {
//插班验证课程和生效时间
this.courseInformationList.forEach(item => {
item.StuIds = this.stuData.StuList.map(e => e.StuId).toString();
item.HelpEnterId = this.OrderMsg.HelpEnterId
item.CustomerId = this.stuData.CustomerId;
})
let Msg = {
OrderList: this.courseInformationList
}
}
this.OrderMsg.StuIds = this.stuData.StuList.map(e => e.StuId).toString();
this.OrderMsg.CustomerId = this.stuData.CustomerId;
setClassOrder(this.OrderMsg)
.then(res => {
this.$emit("cancelloading"); //取消按钮的加载
if (res.Code == 1) {
SetClassOrderBatch(Msg)
.then(res => {
this.$emit("cancelloading"); //取消按钮的加载
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "操作成功!",
position: "top"
});
//调用父页面成功方法
this.$emit("success");
this.IsShowEditOrder = false;
} else {
this.$q.notify({
type: "negative",
position: "top",
message: res.Message
});
}
})
.catch(err => {
this.$emit("cancelloading"); //取消按钮的加载
if (err.Code == 2) {
this.inceptionData = err;
this.inception = true;
}
});
},
// 单个班课、约课
singleAppointmentsFun() {
//插班验证课程和生效时间
if (this.OrderMsg.IsChaBan == 1) {
this.$refs.CourseId.validate();
this.$refs.EffectTime.validate();
if (this.$refs.CourseId.hasError) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "操作成功!",
position: "top"
type: "negative",
position: "top",
message: `
请选择课程
!
`
});
//调用父页面成功方法
this.$emit("success");
this.IsShowEditOrder = false;
} else {
return;
}
if (this.$refs.EffectTime.hasError) {
this.$q.notify({
type: "negative",
position: "top",
message:
res.Message
message:
`
请选择生效时间
!
`
});
return;
}
})
.catch(err => {
this.$emit("cancelloading"); //取消按钮的加载
if (err.Code == 2) {
this.inceptionData = err;
this.inception = true;
}
this.OrderMsg.StuIds = this.stuData.StuList.map(e => e.StuId).toString();
this.OrderMsg.CustomerId = this.stuData.CustomerId;
setClassOrder(this.OrderMsg)
.then(res => {
this.$emit("cancelloading"); //取消按钮的加载
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "操作成功!",
position: "top"
});
//调用父页面成功方法
this.$emit("success");
this.IsShowEditOrder = false;
} else {
this.$q.notify({
type: "negative",
position: "top",
message: res.Message
});
}
})
.catch(err => {
this.$emit("cancelloading"); //取消按钮的加载
if (err.Code == 2) {
this.inceptionData = err;
this.inception = true;
}
});
},
goorder() {
this.OpenNewUrl("/sale/myOrder", {
OrderId: this.inceptionData.Data
});
this.inception = false;
},
//获取前置下拉数据
getSelectClass() {
var qMsg = {
ClassId: 0
};
if (this.saveObj.ClassId) {
qMsg.ClassId = this.saveObj.ClassId;
}
GetSelectClassOrderList(qMsg).then(res => {
if (res.Code == 1) {
this.beforeOrderList = res.Data;
}
});
},
goorder() {
this.OpenNewUrl("/sale/myOrder", {
OrderId: this.inceptionData.Data
});
this.inception = false;
},
//获取前置下拉数据
getSelectClass() {
var qMsg = {
ClassId: 0
};
if (this.saveObj.ClassId) {
qMsg.ClassId = this.saveObj.ClassId;
}
GetSelectClassOrderList(qMsg).then(res => {
if (res.Code == 1) {
this.beforeOrderList = res.Data;
},
getStudent(item) {
let str = "";
if (item && item.length > 1) {
str = item[0].GuestName + "等" + item.length + "人";
}
});
},
getStudent(item) {
let str = "";
if (item && item.length > 1) {
str = item[0].GuestName + "等" + item.length + "人";
}
if (item.length == 1) {
str = item[0].GuestName;
if (item.length == 1) {
str = item[0].GuestName;
}
return str;
}
return str;
}
}
};
}
;
</
script
>
src/components/school/student/transfer-order/order-form.vue
View file @
8f2d2ccb
...
...
@@ -744,34 +744,24 @@
newPreferPrice = chaBanPrice * guestNum * this.OrderMsg.TotalClassHours
}
}
console.log("我进来了1");
this.OrderMsg.PreferPrice =
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);
this.OrderMsg.PreferPrice =
Number(guestNum * unit_price).toFixed(2) - this.OrderMsg.LessPrice;
console.log("我进来了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;
console.log("我进来了3");
}
}
//留学就业订单
if (this.OrderMsg.OrderType == 2) {
this.OrderMsg.OldPreferPrice = Number(guestNum * unit_price).toFixed(2);
}
this.OrderMsg.DiscountMoney = 0;
this.stuData.StuList.map(e => {
if (e.IsRenewGuest == 0) {
this.OrderMsg.DiscountMoney = this.accAdd(
...
...
@@ -817,7 +807,6 @@
if (this.OrderMsg.OrderType == 2) {
this.OrderMsg.OrderNature = 1;
}
console.log("saveObj", this.saveObj);
if (this.saveObj) {
if (this.saveObj.ClassId) {
this.OrderMsg.ClassId = this.saveObj.ClassId;
...
...
src/components/stuMan/subscribe/subscribeForm.vue
View file @
8f2d2ccb
...
...
@@ -3,7 +3,7 @@
<q-dialog
v-model=
"show"
persistent
transition-show=
"scale"
transition-hide=
"scale"
@
input=
"changeDig"
>
<q-card
style=
"width: 800px;max-width:900px;"
>
<q-card-section
class=
"row items-center q-pb-none"
>
<div
class=
"text-h6"
>
{{
editType
==
1
?
"新增约课"
:
"详情"
}}
</div>
<div
class=
"text-h6"
>
{{
editType
==
1
?
"新增约课"
:
"详情"
}}
editType:
{{
editType
}}
</div>
<q-space
/>
<q-btn
icon=
"close"
flat
round
dense
@
click=
"changeDig(false)"
/>
</q-card-section>
...
...
@@ -19,12 +19,35 @@
<Detail
:dateObj=
"dateObj"
:saveObj=
"saveObj"
:auth=
"auth"
:CourseChapterName=
"CourseChapterName"
@
success=
"detailSuccessHandle"
@
close=
"detailCloseHandle"
/>
</div>
<div
class=
"row col-12 q-col-gutter-md"
>
<q-select
v-show=
"editType == 1"
filled
v-model=
"saveMsg.TeacherId"
option-value=
"TId"
option-label=
"TeacherName"
:options=
"teacherList"
emit-value
map-options
label=
"老师"
class=
"col-6"
/>
<q-select
v-show=
"editType == 1"
filled
v-model=
"saveMsg.RoomId"
option-value=
"RoomId"
option-label=
"RoomName"
:options=
"ClassRoomList"
emit-value
map-options
label=
"教室"
:disable=
"addStuList.length > 0"
class=
"col-6"
>
<
template
v-slot:selected-item=
"scope"
>
<div
class=
"row col-12 flex justify-between"
>
<span>
{{
scope
.
opt
.
RoomName
}}
</span><span>
{{
scope
.
opt
.
SchoolName
}}
</span></div>
</
template
>
<
template
v-slot:option=
"scope"
>
<q-item
v-bind=
"scope.itemProps"
v-on=
"scope.itemEvents"
>
<q-item-section>
<q-item-label
class=
"row flex justify-between"
>
<span>
{{
scope
.
opt
.
RoomName
}}
</span><span>
{{
scope
.
opt
.
SchoolName
}}
</span></q-item-label>
</q-item-section>
</q-item>
</
template
>
</q-select>
</div>
<
template
v-if=
"editType==1"
>
<q-select
filled
v-model=
"saveMsg.ShiftSort"
option-value=
"Id"
option-label=
"Name"
:options=
"teacherTimeList"
emit-value
map-options
label=
"上课时段"
class=
"col-12"
/>
</
template
>
<!-- 详情显示内容 end -->
<q-select
filled
stack-label
use-input
option-value=
"CourseId"
option-label=
"CourseName"
v-model=
"saveMsg.CourseId"
ref=
"CourseId"
:options=
"CourseList"
label=
"课程"
:dense=
"false"
class=
"col-12"
emit-value
map-options
@
filter=
"filterCourse"
@
input=
"changeCourse(),getChapterTree(),getCanTeacherTimeList() "
v-if=
"editType == 1"
:rules=
"[val => !!val || '请选择课程']"
>
emit-value
map-options
@
filter=
"filterCourse"
@
input=
"changeCourse(),getChapterTree() "
v-if=
"editType == 1"
:rules=
"[val => !!val || '请选择课程']"
>
<
template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
...
...
@@ -46,61 +69,6 @@
:defaultArray=
"returnString"
nodeKey=
"ChapterId"
labelKey=
"ChapterName"
childrenKey=
"ChildList"
tipText=
"章节"
@
getChild=
"getChapter"
class=
"col-12"
ref=
"selectTree"
></select-tree>
<div
class=
"row col-12 q-col-gutter-md"
>
<q-select
v-show=
"saveMsg.CourseId > 0 && editType == 1"
filled
v-model=
"saveMsg.TeacherId"
option-value=
"TId"
option-label=
"TeacherName"
:options=
"teacherList"
emit-value
map-options
label=
"老师"
class=
"col-6"
@
input=
"getCanTeacherTimeList"
/>
<q-select
v-show=
"saveMsg.CourseId > 0 && editType == 1"
filled
v-model=
"saveMsg.RoomId"
option-value=
"RoomId"
option-label=
"RoomName"
:options=
"ClassRoomList"
emit-value
map-options
label=
"教室"
:disable=
"addStuList.length > 0"
class=
"col-6"
>
<
template
v-slot:selected-item=
"scope"
>
<div
class=
"row col-12 flex justify-between"
>
<span>
{{
scope
.
opt
.
RoomName
}}
</span><span>
{{
scope
.
opt
.
SchoolName
}}
</span></div>
</
template
>
<
template
v-slot:option=
"scope"
>
<q-item
v-bind=
"scope.itemProps"
v-on=
"scope.itemEvents"
>
<q-item-section>
<q-item-label
class=
"row flex justify-between"
>
<span>
{{
scope
.
opt
.
RoomName
}}
</span><span>
{{
scope
.
opt
.
SchoolName
}}
</span></q-item-label>
</q-item-section>
</q-item>
</
template
>
</q-select>
</div>
<
template
v-if=
"editType==1"
>
<q-field
filled
label-slot
stack-label
class=
"col-12"
v-if=
"editType==1 "
>
<template
#
label
>
<div
class=
"row flex"
>
上课时段
<span
style=
"color:#f5576c;font-size:13px;margin-left:5px;font-weight:500"
>
(按顺序选择)
</span>
<div
style=
"color:#333;font-size:13px;margin-left:10px;font-weight:500"
>
需选课时:
{{
checkChapter
.
StudyMinutes
}}
分钟
</div>
</div>
</
template
>
<
template
v-slot:control
>
<div
v-if=
"teacherTimeList.length > 0"
>
<div
v-for=
"(item, index) in teacherTimeList"
:key=
"index"
>
<div
v-if=
"
item.CourseTimeList && item.CourseTimeList.length > 0
"
>
<div
v-for=
"(_item, _index) in item.CourseTimeList"
:key=
"_index"
class=
"timeItem"
>
<q-checkbox
v-model=
"courseCheckList"
:val=
"_item"
>
{{
_item
.
StartTime
}}
-
{{
_item
.
EndTime
}}
</q-checkbox>
</div>
</div>
<div
v-else
>
暂无可约课程
</div>
</div>
</div>
<div
v-else
>
暂无可约课程
</div>
</
template
>
</q-field>
</template>
<div
class=
"row col-12"
v-if=
"(saveObj&& saveObj.ClassType==3)||editType==1"
>
<div
class=
"row col-12"
>
<div
class=
"col-9"
>
...
...
@@ -130,7 +98,6 @@
</q-select>
</div>
<div
class=
"col-3 q-pt-md q-pl-md"
>
<q-btn
v-if=
"(saveObj.State==1||saveObj.State==2||editType==1)||currentUser.Id==1"
size=
"sm"
color=
"accent"
label=
"添加"
@
click=
"subscribeCourse"
/>
</div>
...
...
@@ -175,10 +142,9 @@
{{
item
.
CourseChapterNoName
}}
</
template
>
<
template
v-else
>
<!--@change="changeChapter(item)"-->
<q-select
filled
stack-label
use-input
option-value=
"ChapterGradeNo"
option-label=
"ChapterName"
<q-select
filled
stack-label
use-input
option-value=
"ChapterNo"
option-label=
"ChapterName"
v-model=
"item.CourseGradeNo"
ref=
"ChapterGradeNo"
:options=
"item.CourseChapterList"
label=
"消课章节"
:dense=
"false"
emit-value
map-options
class=
"col-4"
>
label=
"消课章节"
:dense=
"false"
emit-value
map-options
class=
"col-4"
>
<template
v-slot:option=
"
{ itemProps, itemEvents, opt, }">
<q-item
v-bind=
"itemProps"
v-on=
"itemEvents"
>
<q-item-section>
...
...
@@ -250,6 +216,9 @@
import
{
queryClassRoomList
}
from
"../../../api/school/index"
;
import
{
queryGetTimeList
}
from
"../../../api/stuMan/index"
;
import
selectTree
from
"./select-tree"
;
import
Detail
from
"./detail.vue"
;
export
default
{
...
...
@@ -301,7 +270,6 @@
this
.
saveMsg
.
CourseId
=
0
;
this
.
saveMsg
.
TeacherId
=
0
;
this
.
chapterList
=
[];
this
.
teacherTimeList
=
[];
this
.
courseCheckList
=
[];
this
.
stuList
=
[];
this
.
allStuList
=
[];
...
...
@@ -326,6 +294,7 @@
this
.
saveMsg
.
CourseGradeNo
=
this
.
saveObj
.
Ranks
;
this
.
saveMsg
.
CourseGradeId
=
this
.
saveObj
.
CourseGradeId
;
this
.
saveMsg
.
ChapterNo
=
this
.
saveObj
.
ChapterNo
;
this
.
saveMsg
.
ChooseStuList
=
[];
if
(
this
.
saveObj
.
GuestList
&&
this
.
saveObj
.
GuestList
.
length
>
0
)
{
this
.
saveObj
.
GuestList
.
forEach
(
gItem
=>
{
...
...
@@ -390,11 +359,29 @@
this
.
currentUser
=
this
.
getLocalStorage
();
this
.
getCourseList
();
this
.
getClassRoomList
();
this
.
getTimeList
();
},
mounted
()
{
},
methods
:
{
//获取可约时间段
getTimeList
()
{
this
.
teacherTimeList
=
[];
queryGetTimeList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
var
tempData
=
res
.
Data
;
if
(
tempData
&&
tempData
.
length
>
0
)
{
tempData
.
forEach
(
item
=>
{
this
.
teacherTimeList
.
push
({
Id
:
item
.
Sort
,
Name
:
item
.
StartTime
+
'~'
+
item
.
EndTime
,
});
})
}
}
})
},
//获取教室下拉
getClassRoomList
()
{
queryClassRoomList
({}).
then
(
res
=>
{
...
...
@@ -430,7 +417,6 @@
});
},
changeCourse
()
{
this
.
saveMsg
.
TeacherId
=
0
;
this
.
checkChapter
=
{};
this
.
checkStuList
=
[];
this
.
stuInfo
=
""
;
...
...
@@ -449,25 +435,7 @@
}
});
},
//获取老师的空闲上课时段
getCanTeacherTimeList
()
{
this
.
saveMsg
.
Date
=
this
.
dateObj
.
date
;
this
.
courseCheckList
=
[];
this
.
stuInfo
=
""
;
var
qMsg
=
{
Date
:
this
.
saveMsg
.
Date
,
TeacherId
:
this
.
saveMsg
.
TeacherId
,
CourseId
:
this
.
saveMsg
.
CourseId
};
GetCanTeacherClassTimeList
(
qMsg
).
then
(
res
=>
{
this
.
teacherTimeList
=
res
.
Data
;
if
(
res
.
Data
.
length
>
0
)
{
this
.
saveMsg
.
RoomId
=
res
.
Data
[
0
].
RoomId
;
}
else
{
this
.
saveMsg
.
RoomId
=
0
;
}
});
},
//筛选学生
filterStu
(
val
,
update
)
{
update
(()
=>
{
...
...
@@ -539,11 +507,9 @@
this
.
saveMsg
.
ChapterNo
=
this
.
checkChapter
.
ChapterNo
;
// HK 2024-09-06 注释,可以不选老师,不选老师就默认通班的时间段
// this.saveMsg.TeacherId = 0;
// this.teacherTimeList = [];
//获取学生列表
this
.
getStu_V2
();
},
//添加学员
subscribeCourse
()
{
if
(
this
.
editType
==
1
)
{
...
...
@@ -586,14 +552,7 @@
})
return
;
}
if
(
this
.
courseCheckList
.
length
===
0
)
{
this
.
$q
.
notify
({
message
:
"请选择上课时段"
,
position
:
"top"
,
type
:
"negative"
});
return
;
}
if
(
!
this
.
stuInfo
)
{
this
.
$q
.
notify
({
message
:
"请选择学员"
,
...
...
@@ -602,55 +561,26 @@
});
return
;
}
const
totalTime
=
this
.
courseCheckList
.
reduce
((
pre
,
cur
)
=>
{
return
(
pre
+=
cur
.
Minutes
);
},
0
);
if
(
this
.
checkChapter
.
StudyMinutes
!==
totalTime
)
{
this
.
$q
.
notify
({
message
:
"课时不匹配,请重新上课时段"
,
position
:
"top"
,
type
:
"negative"
});
return
;
}
let
newCourseCheckList
=
this
.
courseCheckList
.
sort
((
a
,
b
)
=>
{
return
a
.
Sort
-
b
.
Sort
;
});
for
(
let
i
=
0
;
i
<
newCourseCheckList
.
length
;
i
++
)
{
if
(
i
>
0
)
{
const
cur
=
newCourseCheckList
[
i
].
Sort
;
const
pre
=
newCourseCheckList
[
i
-
1
].
Sort
;
if
(
cur
-
pre
>
1
)
{
this
.
$q
.
notify
({
message
:
"请按顺序选择上课时段"
,
position
:
"top"
,
type
:
"negative"
});
return
;
}
}
}
this
.
saveMsg
.
Date
=
this
.
dateObj
.
date
;
this
.
saveMsg
.
CourseGradeNo
=
this
.
checkChapter
.
ChapterGradeNo
;
this
.
saveMsg
.
CourseGradeId
=
this
.
checkChapter
.
CourseRate
;
this
.
saveMsg
.
ShiftSort
=
newCourseCheckList
.
map
(
e
=>
e
.
Sort
).
toString
();
}
var
sObj
=
{
StuId
:
this
.
stuInfo
.
StuId
,
StuName
:
this
.
stuInfo
.
StuName
,
GuestId
:
this
.
stuInfo
.
GuestId
,
OrderId
:
this
.
stuInfo
.
OrderId
,
OrderId
:
this
.
stuInfo
.
OrderId
,
LearnCourseId
:
this
.
stuInfo
.
CourseId
,
CourseName
:
this
.
stuInfo
.
CourseName
,
FinishChapterNoName
:
this
.
stuInfo
.
FinishChapterNoName
,
AppointmentId
:
0
,
//学员消课编号
CourseChapterList
:
[],
CourseGradeId
:
this
.
checkChapter
.
CourseRate
,
CourseGradeNo
:
""
};
sObj
.
CourseGradeId
=
this
.
stuInfo
.
CourseRate
;
sObj
.
CourseGradeNo
=
""
;
// 对比是否存在改学员
if
(
this
.
saveMsg
.
ChooseStuList
.
length
>
0
)
{
let
ArrId
=
this
.
saveMsg
.
ChooseStuList
.
map
(
item
=>
{
...
...
@@ -671,10 +601,6 @@
this
.
saveMsg
.
ChooseStuList
.
push
(
sObj
);
}
},
// changeChapter(item)
// {
// console.log("changeItem",item);
// },
//保存约课
SaveStuAppointment
()
{
var
tipStr
=
""
...
...
@@ -693,7 +619,7 @@
});
return
;
}
this
.
addLoading
=
true
;
setAdminScrollAppointment_V3
(
this
.
saveMsg
)
.
then
(
res
=>
{
...
...
@@ -703,6 +629,8 @@
message
:
"操作成功"
,
position
:
"top"
});
// this.$emit("success");
this
.
detailCloseHandle
();
}
})
...
...
@@ -714,9 +642,8 @@
getCourseChapterList
(
item
)
{
queryChapterList
({
CourseId
:
item
.
LearnCourseId
,
OrderId
:
item
.
OrderId
,
OrderId
:
item
.
OrderId
,
IsQRoot
:
1
,
CourseGradeId
:
item
.
CourseGradeId
,
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
item
.
CourseChapterList
=
res
.
Data
;
...
...
src/pages/activity/makeAd.vue
View file @
8f2d2ccb
...
...
@@ -609,7 +609,6 @@
this
.
currentMaxId
=
y
.
nodeId
>
this
.
currentMaxId
?
y
.
nodeId
:
this
.
currentMaxId
})
let
reg
=
/^http
(
s
)?
:
\/\/(
.*
?)\/
/
console
.
log
(
"getMyAdDetail"
,
data
.
pictureUrl
);
let
getBlob
=
this
.
getAnyFileBlob
(
data
.
pictureUrl
.
replace
(
reg
,
''
))
let
that
=
this
getBlob
.
then
(
blob
=>
{
...
...
src/pages/financial/utils/commonUtils.js
View file @
8f2d2ccb
...
...
@@ -359,6 +359,46 @@ var commonUtils = {
//返回年月日
return
year
+
'-'
+
month
+
"-"
+
day
;
},
//获取指定日期的上一周,下一周
getWeeks
(
date
,
type
)
{
// 将传入的日期字符串转换为 Date 对象,如果已经是 Date 对象则直接使用
const
currentDate
=
new
Date
(
date
instanceof
Date
?
date
:
date
);
const
oneDay
=
24
*
60
*
60
*
1000
;
var
weekStart
;
var
weekEnd
;
//上一周
if
(
type
==
1
)
{
weekStart
=
new
Date
(
currentDate
.
getTime
()
-
7
*
oneDay
);
weekEnd
=
new
Date
(
weekStart
.
getTime
()
+
6
*
oneDay
);
}
//下一周
else
if
(
type
==
2
)
{
weekStart
=
new
Date
(
currentDate
.
getTime
()
+
7
*
oneDay
);
weekEnd
=
new
Date
(
weekStart
.
getTime
()
+
6
*
oneDay
);
}
//本周
else
{
const
dayOfWeek
=
currentDate
.
getDay
();
weekStart
=
new
Date
(
currentDate
);
if
(
dayOfWeek
===
0
)
{
weekStart
.
setDate
(
currentDate
.
getDate
()
-
6
);
}
else
{
weekStart
.
setDate
(
currentDate
.
getDate
()
-
(
dayOfWeek
-
1
));
}
// 计算本周结束日期(周日)
weekEnd
=
new
Date
(
weekStart
.
getTime
()
+
6
*
oneDay
);
}
const
formatDate
=
(
d
)
=>
{
const
year
=
d
.
getFullYear
();
const
month
=
(
'0'
+
(
d
.
getMonth
()
+
1
)).
slice
(
-
2
);
const
day
=
(
'0'
+
d
.
getDate
()).
slice
(
-
2
);
return
`
${
year
}
-
${
month
}
-
${
day
}
`
;
};
return
{
start
:
formatDate
(
weekStart
),
end
:
formatDate
(
weekEnd
)
};
},
//格式化日期
getFormatDate
(
dateStr
)
{
var
myDate
=
new
Date
(
dateStr
);
...
...
src/pages/stuMan/StudentProgress.vue
View file @
8f2d2ccb
...
...
@@ -615,7 +615,6 @@ export default {
showStuRight
(
obj
)
{
if
(
obj
)
{
this
.
$q
.
loading
.
show
();
console
.
log
(
obj
.
StuId
);
getStudentInfo
({
StuId
:
obj
.
StuId
})
.
then
(
r
=>
{
this
.
stuOption
=
r
.
Data
;
...
...
src/pages/stuMan/components/setStudyPlan.vue
View file @
8f2d2ccb
...
...
@@ -497,7 +497,6 @@ export default {
});
},
getPlan
(){
console
.
log
(
this
.
planTime
)
const
p
=
this
.
planTime
getStuAppointPlan
({
AccountId
:
p
.
AccountId
,
Date
:
p
.
Date
,
ShiftSort
:
p
.
ShiftSort
}).
then
(
r
=>
{
if
(
r
.
Code
==
1
){
...
...
src/pages/studyAbroad/subappoint.vue
0 → 100644
View file @
8f2d2ccb
<
template
>
<div
class=
"page-body"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md searchBox"
>
<div
class=
"col-2"
>
<q-select
filled
dense
v-model=
"msg.TeacherId"
option-value=
"TId"
option-label=
"TeacherName"
:options=
"TeacherList2"
emit-value
map-options
label=
"老师"
@
input=
"getData"
/>
</div>
<div
class=
"col-2"
>
<q-select
filled
dense
v-model=
"msg.ClassRoomId"
option-value=
"RoomId"
option-label=
"RoomName"
:options=
"classroomList"
emit-value
map-options
label=
"教室"
@
input=
"getData"
/>
</div>
<div
class=
"col-2"
>
<q-select
filled
dense
v-model=
"msg.ClassType"
option-value=
"Id"
option-label=
"label"
:options=
"ClassTypeList"
emit-value
map-options
label=
"课程类型"
@
input=
"getData"
/>
</div>
<div
class=
"col-2"
>
<q-select
filled
dense
v-model=
"msg.AppointState"
option-value=
"Id"
option-label=
"label"
:options=
"AppointStateList"
emit-value
map-options
label=
"约课状态"
@
input=
"getData"
/>
</div>
<div
class=
"col-2"
>
<q-field
filled
dense
label=
"选择日期"
stack-label
>
<template
v-slot:control
>
<el-date-picker
v-model=
"selectedDate"
type=
"date"
size=
"mini"
placeholder=
"开始日期"
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
:clearable=
"false"
@
change=
"changeDate"
>
</el-date-picker>
</
template
>
</q-field>
</div>
</div>
<div
class=
"row justify-center items-center q-mt-sm"
>
<font
style=
"color:blue;"
>
{{msg.StartDate}}~{{msg.EndDate}} 排课计划
</font>
<q-btn
dense
text-color=
"primary"
flat
unelevated
:label=
"viewType == 'day' ? '上一天' : '上一周'"
@
click=
"calendarPrev"
/>
<q-separator
vertical
/>
<q-btn
dense
text-color=
"primary"
flat
unelevated
:label=
"viewType == 'day' ? '下一天' : '下一周'"
@
click=
"calendarNext"
/>
<q-separator
vertical
/>
<div
style=
"margin-left:10px;"
>
<q-btn
dense
text-color=
"primary"
flat
unelevated
class=
"q-mr-md"
size=
"sm"
icon=
"download"
label=
"老师排课表"
@
click=
"DownLoadStuLearnChapterStatic"
/>
</div>
<q-separator
vertical
/>
<div
style=
"margin-left:10px;"
>
<q-btn
dense
text-color=
"primary"
flat
unelevated
class=
"q-mr-md"
size=
"sm"
icon=
"download"
label=
"学生发课表"
@
click=
"DownLoadPlanStudentExcel"
/>
</div>
</div>
<div
class=
"viewbox"
>
<table
class=
"appointtable"
>
<
template
v-for=
"(rootItem,rootIndex) in dataList"
>
<thead
:key=
"`r_th_`+rootIndex"
>
<tr>
<th
style=
"width:120px;"
>
{{
rootItem
.
ClassDate
}}
<br
/>
(
{{
rootItem
.
WeekStr
}}
)
</th>
<template
v-for=
"(item, index) in rootItem.RList"
>
<th
:key=
"`r_teacher_`+rootIndex+index"
style=
"width:100px;"
>
{{
item
.
TeacherName
}}
</th>
</
template
>
</tr>
</thead>
<tbody
:key=
"`r_tb_`+rootIndex"
>
<
template
v-for=
"(timeItem,timeIndex) in TimeList"
>
<tr
:key=
"`r_time_`+rootIndex+timeIndex"
>
<td
style=
"width:120px;"
>
{{
timeItem
.
Name
}}
(
{{
timeItem
.
ClassHours
}}
课时)
<br
/>
{{
timeItem
.
StartTime
}}
~
{{
timeItem
.
EndTime
}}
</td>
<template
v-for=
"(aItem, aIndex) in rootItem.RList"
>
<td
:key=
"`r_a_`+rootIndex+aIndex"
style=
"width:100px;cursor:pointer;"
@
click=
"showDetail(aItem,rootItem.ClassDate,aItem.TeacherId,timeItem)"
:class=
"getAppointItemClass(aItem,timeItem)"
>
<template
v-if=
"getAppointItem(aItem,timeItem)&&getAppointItem(aItem,timeItem).CourseId"
>
<font
style=
"font-weight:bold;"
>
{{
getAppointItem
(
aItem
,
timeItem
).
ChapterName
}}
</font>
<br
/>
<div
style=
"display: flex;flex-wrap: wrap;"
>
<template
v-for=
"(gItem,gIndex) in getAppointItem(aItem,timeItem).GuestList"
>
<div
:key=
"`r_g_`+rootIndex+timeIndex+aIndex+gIndex"
style=
"flex-basis:30px;margin:3px; flex-grow: 0;flex-shrink: 0;"
>
{{
gItem
.
GuestName
}}
</div>
</
template
>
</div>
</template>
</td>
</template>
</tr>
</template>
</tbody>
</template>
</table>
</div>
<SubscribeForm
v-model=
"showForm"
:editType=
"editType"
:dateObj=
"dateObj"
:saveObj=
"saveObj"
:auth=
"auth"
:teacherList=
"TeacherList2"
@
success=
"successHandle"
/>
</div>
</template>
<
script
>
import
{
GetAppointmentPlanStat
,
SetSureAppointment
,
GetAppointmentConfig
}
from
"../../api/studyabroad/subscribe.js"
;
import
{
getTeacherDropDownList
,
queryClassRoomList
}
from
"../../api/school/index"
;
import
{
EduDownLoad
}
from
"../../api/common/common.js"
;
import
{
queryGetTimeList
}
from
"../../api/stuMan/index"
;
import
SubscribeForm
from
"../../components/stuMan/subscribe/subscribeForm"
;
export
default
{
meta
:
{
title
:
"新约课中心"
,
},
data
()
{
return
{
config
:
{
AdvanceDay
:
0
,
AppointDay
:
7
},
viewType
:
"week"
,
showForm
:
false
,
editType
:
1
,
selectedDate
:
""
,
msg
:
{
StartDate
:
""
,
EndDate
:
""
,
TeacherId
:
0
,
ClassRoomId
:
0
,
ClassType
:
0
,
AppointState
:
0
},
classroomList
:
[],
ClassTypeList
:
[{
label
:
"全部"
,
Id
:
0
},
{
label
:
"跟班课"
,
Id
:
1
},
{
label
:
"试听课"
,
Id
:
2
},
{
label
:
"预约课"
,
Id
:
3
}
],
AppointStateList
:
[{
label
:
"全部"
,
Id
:
0
},
{
label
:
"待确认"
,
Id
:
1
},
{
label
:
"已确认"
,
Id
:
2
}
],
TeacherList2
:
[],
dateObj
:
{},
saveObj
:
{},
auth
:
{
IsEdit
:
false
,
addBefore
:
false
,
//新增今天以前的约课
},
saveLoading
:
false
,
dataList
:
[],
TimeList
:
[],
//时段
};
},
components
:
{
SubscribeForm
},
created
()
{
this
.
getAppointmentConfig
();
this
.
selectedDate
=
this
.
$commonUtils
.
getCurrentDate
();
var
weekObj
=
this
.
$commonUtils
.
getWeeks
(
this
.
selectedDate
,
0
);
this
.
getTeacherList
();
this
.
getclassroom
();
this
.
msg
.
StartDate
=
weekObj
.
start
;
this
.
msg
.
EndDate
=
weekObj
.
end
;
this
.
getTimeList
();
},
mounted
()
{
this
.
getData
();
const
ActionMenuList
=
JSON
.
parse
(
localStorage
.
getItem
(
"loginUserInfo"
))
.
data
.
ActionMenuList
;
const
res
=
ActionMenuList
.
find
(
e
=>
{
return
e
.
FunctionCode
==
"subscribe_edit"
;
});
if
(
res
)
{
this
.
auth
.
IsEdit
=
true
;
}
else
{
this
.
auth
.
IsEdit
=
false
;
}
const
res2
=
ActionMenuList
.
find
(
e
=>
{
return
e
.
FunctionCode
==
"subscribe_addBefore"
;
});
if
(
res2
)
{
this
.
auth
.
addBefore
=
true
;
}
else
{
this
.
auth
.
addBefore
=
false
;
}
},
methods
:
{
//获取可约时间段
getTimeList
()
{
this
.
TimeList
=
[];
queryGetTimeList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
var
tempData
=
res
.
Data
;
if
(
tempData
&&
tempData
.
length
>
0
)
{
tempData
.
forEach
(
item
=>
{
this
.
TimeList
.
push
({
Id
:
item
.
Sort
,
Name
:
'第'
+
item
.
Sort
+
"节课"
,
StartTime
:
item
.
StartTime
,
EndTime
:
item
.
EndTime
,
ClassHours
:
item
.
ClassHours
,
});
})
}
}
})
},
getAppointItemClass
(
appointItem
,
timeItem
)
{
var
str
=
""
;
var
obj
=
{};
if
(
appointItem
.
SubList
&&
appointItem
.
SubList
.
length
>
0
)
{
appointItem
.
SubList
.
forEach
(
qitem
=>
{
if
(
qitem
.
ShiftSort
==
timeItem
.
Id
)
{
obj
=
qitem
;
}
})
}
if
(
obj
&&
obj
.
CourseId
&&
obj
.
CourseId
>
0
)
{
if
(
obj
.
State
==
1
)
{
str
=
"unsure"
;
}
else
if
(
obj
.
State
==
2
)
{
str
=
"unstudy"
;
}
else
if
(
obj
.
State
==
3
)
{
str
=
"study-normal"
;
}
}
return
str
;
},
//获取约课数据
getAppointItem
(
appointItem
,
timeItem
)
{
var
obj
=
{};
if
(
appointItem
.
SubList
&&
appointItem
.
SubList
.
length
>
0
)
{
appointItem
.
SubList
.
forEach
(
qitem
=>
{
if
(
qitem
.
ShiftSort
==
timeItem
.
Id
)
{
obj
=
qitem
;
}
})
}
return
obj
;
},
//下载课表
DownLoadStuLearnChapterStatic
()
{
let
dateStartDate
=
new
Date
(
this
.
msg
.
StartDate
);
let
dateEndDate
=
new
Date
(
this
.
msg
.
EndDate
);
EduDownLoad
(
"/TeacherClass/GetAppointmentPlanStatExcel"
,
this
.
msg
,
(
dateStartDate
.
getMonth
()
+
1
)
+
"月"
+
dateStartDate
.
getDate
()
+
"日-"
+
(
dateEndDate
.
getMonth
()
+
1
)
+
"月"
+
dateEndDate
.
getDate
()
+
"日老师排课统计.xls"
,
res
=>
{});
},
//下载课表
DownLoadPlanStudentExcel
()
{
let
dateStartDate
=
new
Date
(
this
.
msg
.
StartDate
);
let
dateEndDate
=
new
Date
(
this
.
msg
.
EndDate
);
EduDownLoad
(
"/TeacherClass/GetAppointmentPlanStudentExcel"
,
this
.
msg
,
(
dateStartDate
.
getMonth
()
+
1
)
+
"月"
+
dateStartDate
.
getDate
()
+
"日-"
+
(
dateEndDate
.
getMonth
()
+
1
)
+
"月"
+
dateEndDate
.
getDate
()
+
"日学生排课统计.xls"
,
res
=>
{});
},
calendarNext
()
{
setTimeout
(()
=>
{
var
weekObj
=
this
.
$commonUtils
.
getWeeks
(
this
.
selectedDate
,
2
);
this
.
msg
.
StartDate
=
weekObj
.
start
;
this
.
msg
.
EndDate
=
weekObj
.
end
;
this
.
selectedDate
=
weekObj
.
start
;
this
.
getData
();
},
100
);
},
calendarPrev
()
{
setTimeout
(()
=>
{
var
weekObj
=
this
.
$commonUtils
.
getWeeks
(
this
.
selectedDate
,
1
);
this
.
msg
.
StartDate
=
weekObj
.
start
;
this
.
msg
.
EndDate
=
weekObj
.
end
;
this
.
selectedDate
=
weekObj
.
start
;
this
.
getData
();
},
100
);
},
//时间切换
changeDate
()
{
setTimeout
(()
=>
{
var
weekObj
=
this
.
$commonUtils
.
getWeeks
(
this
.
selectedDate
,
0
);
this
.
msg
.
StartDate
=
weekObj
.
start
;
this
.
msg
.
EndDate
=
weekObj
.
end
;
this
.
selectedDate
=
weekObj
.
start
;
this
.
getData
();
},
100
);
},
getTeacherList
()
{
getTeacherDropDownList
({
LeaveStatus
:
1
,
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList2
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
this
.
TeacherList2
.
unshift
({
TeacherName
:
"请选择"
,
TId
:
0
});
}
});
},
getclassroom
()
{
queryClassRoomList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
classroomList
=
res
.
Data
;
var
obj
=
{
RoomName
:
"不限"
,
RoomId
:
0
};
this
.
classroomList
.
unshift
(
obj
);
}
});
},
getData
()
{
GetAppointmentPlanStat
(
this
.
msg
).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
this
.
dataList
=
data
;
});
},
showDetail
(
appointItem
,
date
,
tid
,
timeItem
)
{
var
newData
=
{};
if
(
appointItem
.
SubList
&&
appointItem
.
SubList
.
length
>
0
)
{
appointItem
.
SubList
.
forEach
(
qitem
=>
{
if
(
qitem
.
ShiftSort
==
timeItem
.
Id
)
{
newData
=
qitem
;
}
})
}
this
.
editType
=
1
;
if
(
newData
&&
newData
.
CourseId
)
{
this
.
editType
=
2
;
}
//小于今天不显示弹窗,有权限除外
else
if
((
this
.
showAddStu
(
date
)
||
this
.
auth
.
addBefore
)
&&
this
.
auth
.
IsEdit
)
{
this
.
editType
=
1
;
}
this
.
showForm
=
true
;
this
.
dateObj
.
date
=
date
;
this
.
saveObj
=
newData
;
this
.
saveObj
.
Tid
=
tid
;
this
.
saveObj
.
ShiftSort
=
timeItem
.
Id
;
},
showAddStu
(
date
)
{
var
today
=
this
.
$commonUtils
.
getCurrentDate
()
if
(
new
Date
(
date
).
getTime
()
<
new
Date
(
today
).
getTime
())
{
return
false
;
}
else
{
return
true
;
}
},
confirmSub
(
date
,
id
,
item
)
{
if
(
item
.
EnrollNum
<
item
.
ScrollMinNum
)
{
// this.$q.notify({
// message: `最小开班人数为${item.ScrollMinNum}`,
// position: "top",
// type: "negative"
// });
// return;
}
this
.
saveLoading
=
true
;
const
msg
=
{
Date
:
date
,
TeacherId
:
id
,
ShiftSort
:
item
.
ShiftSort
};
SetSureAppointment
(
msg
).
then
(
res
=>
{
this
.
saveLoading
=
false
;
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
message
:
"操作成功"
,
position
:
"top"
,
type
:
"positive"
});
this
.
getData
();
}
});
},
successHandle
()
{
this
.
getData
();
},
isShowTag
(
arr
,
min
)
{
let
n
=
0
;
arr
.
map
(
e
=>
{
if
(
e
.
AppointType
!==
3
)
{
n
+=
1
;
}
});
if
(
n
<
min
)
{
return
true
;
}
else
{
return
false
;
}
},
getAppointmentConfig
()
{
GetAppointmentConfig
({}).
then
(
res
=>
{
this
.
config
=
res
.
Data
;
});
},
}
};
</
script
>
<
style
lang=
"scss"
>
.viewbox
{
overflow-x
:
auto
;
box-sizing
:
border-box
;
}
.viewbox
.appointtable
{
border-collapse
:
collapse
;
border
:
1px
solid
#2a363b
;
min-width
:
100%
;
}
.viewbox
.appointtable
td
,
.viewbox
.appointtable
th
{
border-right
:
1px
solid
#2a363b
;
border-bottom
:
1px
solid
#2a363b
;
white-space
:
nowrap
;
text-align
:
center
;
color
:
#000
;
position
:
relative
;
}
.viewbox
.appointtable
.unsure
{
background
:
#eb3b5a
;
}
.viewbox
.appointtable
.unstudy
{
background
:
yellow
;
}
.viewbox
.appointtable
.study-normal
{
background
:
#20bf6b
;
}
.calendar-container
{
position
:
relative
;
overflow
:
auto
;
}
.searchBox
.el-input__inner
{
border
:
none
;
background-color
:
transparent
;
}
.searchBox
.el-input
.el-input__inner
,
.el-select
.el-input
{
border-radius
:
0
;
}
.courseItem
{
height
:
100%
;
}
.detailLabel
{
width
:
35px
;
white-space
:
nowrap
;
}
.detailValue
{
width
:
100%
;
display
:
inline-block
;
}
</
style
>
src/pages/system/surveyStudent.vue
View file @
8f2d2ccb
...
...
@@ -209,7 +209,6 @@
getSurveyShowList
()
{
this
.
loading
=
true
;
querySurveyShowList
(
this
.
msg
).
then
(
res
=>
{
console
.
log
(
res
);
this
.
loading
=
false
this
.
data
=
res
.
Data
.
subList
;
this
.
pageTitle
=
res
.
Data
.
Title
;
...
...
src/router/routes.js
View file @
8f2d2ccb
...
...
@@ -2031,6 +2031,11 @@ const routes = [{
component
:
()
=>
import
(
"pages/studyAbroad/subscribe"
)
},
{
path
:
"/stu/subappoint"
,
//新版预约
component
:
()
=>
import
(
"pages/studyAbroad/subappoint"
)
},
{
path
:
"/financial/Language/languagePeriodsList"
,
// 小语种业绩提成 分期列表
component
:
()
=>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment