|
@@ -5,6 +5,16 @@
|
|
|
<van-cell-group>
|
|
|
<!-- <van-field v-model="form.name" label="课程班名称" input-align="right" size="large" placeholder="请输入班级名称" /> -->
|
|
|
<van-field
|
|
|
+ v-model="courseTypeName"
|
|
|
+ @click="statusList.courseTypeStatus = true"
|
|
|
+ label="排课类型"
|
|
|
+ :readonly="true"
|
|
|
+ input-align="right"
|
|
|
+ is-link
|
|
|
+ size="large"
|
|
|
+ placeholder="请选择"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
v-model="formName.subjectListName"
|
|
|
@click="onGetSheetList('subjectList')"
|
|
|
label="科目名称"
|
|
@@ -78,7 +88,7 @@
|
|
|
<van-field
|
|
|
v-model="form.studentNum"
|
|
|
label="每班人数"
|
|
|
- disabled
|
|
|
+ :readonly="true"
|
|
|
input-align="right"
|
|
|
size="large"
|
|
|
placeholder="每班预计招收人数"
|
|
@@ -97,18 +107,11 @@
|
|
|
<div
|
|
|
class="courseTips"
|
|
|
v-if="
|
|
|
- loadData.vipGroupActivitySelect.type == 'DISCOUNT' &&
|
|
|
loadData.vipGroupActivitySelect.maxCourseNum > 0 &&
|
|
|
loadData.vipGroupActivitySelect.minCourseNum > 0
|
|
|
"
|
|
|
>
|
|
|
- 该活动最小课时数:<span>{{
|
|
|
- loadData.vipGroupActivitySelect.minCourseNum
|
|
|
- }}</span
|
|
|
- >节 最大课时数:<span>{{
|
|
|
- loadData.vipGroupActivitySelect.maxCourseNum
|
|
|
- }}</span
|
|
|
- >节
|
|
|
+ 该活动最小课时数:<span>{{loadData.vipGroupActivitySelect.minCourseNum}}</span>节 最大课时数:<span>{{loadData.vipGroupActivitySelect.maxCourseNum}}</span>节
|
|
|
</div>
|
|
|
<van-field
|
|
|
v-if="statusList.hasOnline"
|
|
@@ -141,26 +144,13 @@
|
|
|
size="large"
|
|
|
placeholder="请选择"
|
|
|
/>
|
|
|
- <!-- <van-field v-if="formName.vipGroupActivityName || statusList.hasOnline" v-model="form.onlineClassesNums" @keyup="onClassKeyUp" label="线上课" input-align="right" size="large" placeholder="请输入次数" type="number" />
|
|
|
- <van-field v-if="formName.vipGroupActivityName || statusList.hasOffline" v-model="form.offlineClassesNums" @keyup="onClassKeyUp" label="线下课" input-align="right" size="large" placeholder="请输入次数" type="number" /> -->
|
|
|
<van-field
|
|
|
v-model="form.totalClassTime"
|
|
|
label="课时总数"
|
|
|
- disabled
|
|
|
- input-align="right"
|
|
|
- size="large"
|
|
|
- placeholder="请输入次数"
|
|
|
- />
|
|
|
- <van-field
|
|
|
- v-if="statusList.teachOnOrOff"
|
|
|
- v-model="formName.giveTeachModeName"
|
|
|
- @click="onGiveMode"
|
|
|
- label="赠课类型"
|
|
|
:readonly="true"
|
|
|
input-align="right"
|
|
|
- is-link
|
|
|
size="large"
|
|
|
- placeholder="请选择"
|
|
|
+ placeholder="请输入次数"
|
|
|
/>
|
|
|
</van-cell-group>
|
|
|
<div class="vip-title">时间安排</div>
|
|
@@ -173,11 +163,7 @@
|
|
|
size="large"
|
|
|
>
|
|
|
<template #default>
|
|
|
- {{
|
|
|
- dayjs(loadData.vipGroupActivitySelect.coursesStartTime).format(
|
|
|
- "YYYY-MM-DD"
|
|
|
- )
|
|
|
- }}
|
|
|
+ {{ dayjs(loadData.vipGroupActivitySelect.coursesStartTime).format("YYYY-MM-DD") }}
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
<van-cell
|
|
@@ -188,19 +174,13 @@
|
|
|
size="large"
|
|
|
>
|
|
|
<template #default>
|
|
|
- {{
|
|
|
- dayjs(loadData.vipGroupActivitySelect.coursesEndTime).format(
|
|
|
- "YYYY-MM-DD"
|
|
|
- )
|
|
|
- }}
|
|
|
+ {{ dayjs(loadData.vipGroupActivitySelect.coursesEndTime).format("YYYY-MM-DD") }}
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
- <!-- <van-field v-if="loadData.vipGroupActivitySelect.coursesStartTime" v-model="loadData.vipGroupActivitySelect.coursesStartTime" label="最早排课时间" disabled input-align="right" size="large" placeholder="请选择" />
|
|
|
- <van-field v-if="loadData.vipGroupActivitySelect.coursesEndTime" v-model="loadData.vipGroupActivitySelect.coursesEndTime" label="最晚排课时间" disabled input-align="right" size="large" placeholder="请选择" /> -->
|
|
|
<van-field
|
|
|
v-model="form.registrationStartTime"
|
|
|
label="报名开始时间"
|
|
|
- disabled
|
|
|
+ :readonly="true"
|
|
|
@click="onEnListShow('start', form.registrationStartTime)"
|
|
|
input-align="right"
|
|
|
is-link
|
|
@@ -210,7 +190,7 @@
|
|
|
<van-field
|
|
|
v-model="form.coursesExpireDate"
|
|
|
label="报名截止时间"
|
|
|
- disabled
|
|
|
+ :readonly="true"
|
|
|
@click="onEnListShow('end', form.coursesExpireDate)"
|
|
|
input-align="right"
|
|
|
is-link
|
|
@@ -258,7 +238,7 @@
|
|
|
<van-field
|
|
|
label="排课列表"
|
|
|
v-if="scheduleList.length > 0"
|
|
|
- disabled
|
|
|
+ :readonly="true"
|
|
|
input-align="right"
|
|
|
@click="onShowTimeTable"
|
|
|
is-link
|
|
@@ -274,7 +254,7 @@
|
|
|
input-align="right"
|
|
|
size="large"
|
|
|
@keyup="getCalcClass"
|
|
|
- :disabled="loadData.vipGroupActivitySelect.paymentReadonlyFlag == 0"
|
|
|
+ :readonly="loadData.vipGroupActivitySelect.paymentReadonlyFlag == 0"
|
|
|
placeholder="金额(每课时)"
|
|
|
v-if="statusList.hasOnline"
|
|
|
/>
|
|
@@ -285,7 +265,7 @@
|
|
|
input-align="right"
|
|
|
size="large"
|
|
|
@keyup="getCalcClass"
|
|
|
- :disabled="loadData.vipGroupActivitySelect.paymentReadonlyFlag == 0"
|
|
|
+ :readonly="loadData.vipGroupActivitySelect.paymentReadonlyFlag == 0"
|
|
|
placeholder="金额(每课时)"
|
|
|
v-if="statusList.hasOffline"
|
|
|
/>
|
|
@@ -294,7 +274,7 @@
|
|
|
label="线上课课酬"
|
|
|
input-align="right"
|
|
|
size="large"
|
|
|
- :disabled="loadData.vipGroupActivitySelect.salaryReadonlyFlag == 0"
|
|
|
+ :readonly="loadData.vipGroupActivitySelect.salaryReadonlyFlag == 0"
|
|
|
placeholder="金额(每课时)"
|
|
|
v-if="statusList.hasOnline"
|
|
|
type="number"
|
|
@@ -305,7 +285,7 @@
|
|
|
label="线下课课酬"
|
|
|
input-align="right"
|
|
|
size="large"
|
|
|
- :disabled="loadData.vipGroupActivitySelect.salaryReadonlyFlag == 0"
|
|
|
+ :readonly="loadData.vipGroupActivitySelect.salaryReadonlyFlag == 0"
|
|
|
placeholder="金额(每课时)"
|
|
|
v-if="statusList.hasOffline"
|
|
|
type="number"
|
|
@@ -313,7 +293,7 @@
|
|
|
<!-- || other.offlineSalary !='TEACHER_DEFAULT' -->
|
|
|
<van-field
|
|
|
v-model="form.totalCount"
|
|
|
- disabled
|
|
|
+ :readonly="true"
|
|
|
label="课程总价"
|
|
|
input-align="right"
|
|
|
size="large"
|
|
@@ -349,11 +329,11 @@
|
|
|
</van-popup>
|
|
|
<!-- 赠课类型 -->
|
|
|
<van-action-sheet
|
|
|
- v-model="statusList.giveTeachModeStatus"
|
|
|
- :actions="loadData.giveTeachMode"
|
|
|
+ v-model="statusList.courseTypeStatus"
|
|
|
+ :actions='[{name: "VIP课",value: "VIP"},{name: "网管课",value: "PRACTICE"}]'
|
|
|
cancel-text="取消"
|
|
|
- @cancel="statusList.giveTeachModeStatus = false"
|
|
|
- @select="onModeSelect"
|
|
|
+ @cancel="statusList.courseTypeStatus = false"
|
|
|
+ @select="onCourseTypeSelect"
|
|
|
/>
|
|
|
<!-- 课程信息所用 :close-on-click-overlay="false" -->
|
|
|
<van-popup v-model="sheetForm.sheetStatus" position="bottom">
|
|
@@ -527,14 +507,13 @@ export default {
|
|
|
},
|
|
|
statusList: {
|
|
|
// 散状态集合
|
|
|
- giveTeachModeStatus: false, // 赠课弹窗状态
|
|
|
- teachOnOrOff: false, // 是否显示赠课
|
|
|
hasOnline: false, // 是否显示线上
|
|
|
hasOffline: false, // 是否显示线下
|
|
|
classTime: false, // 课表展示
|
|
|
headerStatus: false, // 头部是否展示
|
|
|
classTimerStatus: false, // 每课时长状态
|
|
|
studentStatus: false, // 上课学生状态
|
|
|
+ courseTypeStatus: false, // 排课类型
|
|
|
},
|
|
|
loadData: {
|
|
|
// 下拉加载数据
|
|
@@ -548,17 +527,6 @@ export default {
|
|
|
teacherSchoolSelect: [], // 选中的线下课地址JSON
|
|
|
teacherList: [], // 线下课地址
|
|
|
teacherListSelect: [], // 选中的线下课地址JSON
|
|
|
- giveTeachMode: [
|
|
|
- {
|
|
|
- name: "线上课",
|
|
|
- value: "ONLINE",
|
|
|
- },
|
|
|
- {
|
|
|
- name: "线下课",
|
|
|
- value: "OFFLINE",
|
|
|
- },
|
|
|
- ], // 赠课
|
|
|
- giveTeachModeSelect: [], // 选中的赠课JSON
|
|
|
teacherCategory: [], // 老师课酬信息
|
|
|
classTimer: [], // 每课时长
|
|
|
},
|
|
@@ -585,8 +553,7 @@ export default {
|
|
|
},
|
|
|
{
|
|
|
values: [
|
|
|
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
|
|
- 20, 21, 22, 23,
|
|
|
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
|
|
|
],
|
|
|
className: "hours",
|
|
|
defaultIndex: 7,
|
|
@@ -597,6 +564,8 @@ export default {
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
+ courseType: 'VIP', // VIP , PRACTICE
|
|
|
+ courseTypeName: 'VIP课', // VIP , PRACTICE
|
|
|
form: {
|
|
|
name: null,
|
|
|
subjectIdList: null,
|
|
@@ -612,7 +581,6 @@ export default {
|
|
|
coursesExpireDate: null,
|
|
|
totalClassTime: null,
|
|
|
courseStart: null,
|
|
|
- giveTeachMode: null,
|
|
|
onlineClassesUnitPrice: null,
|
|
|
offlineClassesUnitPrice: null,
|
|
|
onlineTeacherSalary: null,
|
|
@@ -628,14 +596,12 @@ export default {
|
|
|
vipGroupActivityIndex: 0, // 活动文案
|
|
|
teacherSchoolName: null, // 线下课地址
|
|
|
teacherSchoolIndex: 0, // 线下课地址
|
|
|
- giveTeachModeName: null, // 赠课类型
|
|
|
educationalTeacherName: null, // 乐团主管
|
|
|
educationalTeacherIndex: 0,
|
|
|
},
|
|
|
other: {
|
|
|
onlineSalary: null, // 线上课课酬结算方式
|
|
|
offlineSalary: null, // 线下课课酬结算方式
|
|
|
- giveNum: 0, // 赠送课时
|
|
|
},
|
|
|
scheduleList: [], // 课时安排
|
|
|
timeTable: [], // 生成的课表
|
|
@@ -675,9 +641,6 @@ export default {
|
|
|
this.$toast("请选择课程形式");
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
- // this.checkboxSelectIds = JSON.parse(JSON.stringify(this.checkboxSelectIds))
|
|
|
- // this.checkboxSelectDataList = JSON.parse(JSON.stringify(this.checkboxSelectDataList))
|
|
|
this.statusList.studentStatus = true;
|
|
|
},
|
|
|
onGetSheetList(name) {
|
|
@@ -949,50 +912,53 @@ export default {
|
|
|
onCalcClassTimes(vas) {
|
|
|
// 计算课时总数
|
|
|
let form = this.form,
|
|
|
- other = this.other,
|
|
|
statusList = this.statusList;
|
|
|
- let totalCount =
|
|
|
- Number(form.onlineClassesNums) + Number(form.offlineClassesNums);
|
|
|
-
|
|
|
- // ...
|
|
|
- if (vas.salarySettlementJson) {
|
|
|
- let obj = JSON.parse(vas.salarySettlementJson);
|
|
|
- if (obj && obj.onlineSalarySettlement) {
|
|
|
- // 有线上课
|
|
|
+ let totalCount = Number(form.onlineClassesNums) + Number(form.offlineClassesNums);
|
|
|
+ console.log(vas, 'vas')
|
|
|
+
|
|
|
+ // 获取总课次
|
|
|
+ form.totalClassTime = totalCount
|
|
|
+ // teachMode -1:所有;0:线上;1:线下
|
|
|
+ // 设置是否有对的类型的课
|
|
|
+ switch(vas.teachMode) {
|
|
|
+ case -1:
|
|
|
+ statusList.hasOffline = true;
|
|
|
statusList.hasOnline = true;
|
|
|
- } else {
|
|
|
+ break;
|
|
|
+ case 0:
|
|
|
+ statusList.hasOnline = true;
|
|
|
+ statusList.hasOffline = false;
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
statusList.hasOnline = false;
|
|
|
- }
|
|
|
- if (obj && obj.offlineSalarySettlement) {
|
|
|
- // 有线下课
|
|
|
statusList.hasOffline = true;
|
|
|
- } else {
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ statusList.hasOnline = false;
|
|
|
statusList.hasOffline = false;
|
|
|
- }
|
|
|
- }
|
|
|
- if (vas.type == "GIVE_CLASS") {
|
|
|
- // 买赠活动
|
|
|
- this.statusList.teachOnOrOff = true; // 显示赠课
|
|
|
- if (totalCount >= Number(vas.attribute1)) {
|
|
|
- form.totalClassTime = totalCount + "+" + vas.attribute2;
|
|
|
- other.giveNum = vas.attribute2;
|
|
|
- } else {
|
|
|
- form.totalClassTime = totalCount;
|
|
|
- other.giveNum = 0;
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 折扣活动
|
|
|
- form.totalClassTime = totalCount;
|
|
|
- other.giveNum = 0;
|
|
|
- this.statusList.teachOnOrOff = false; // 隐藏赠课
|
|
|
+ break;
|
|
|
}
|
|
|
+ // console.log(statusList)
|
|
|
+ // const salarySettlementJson = vas.salarySettlementJson ? JSON.parse(vas.salarySettlementJson) : null
|
|
|
+ // console.log(salarySettlementJson, 'salarySettlementJson')
|
|
|
+ // if (salarySettlementJson) {
|
|
|
+ // // 重新设置课酬
|
|
|
+ // const vipOfflineSalarySettlement = salarySettlementJson.vipOfflineSalarySettlement || salarySettlementJson.offlineSalarySettlement
|
|
|
+ // const vipOnlineSalarySettlement = salarySettlementJson.vipOnlineSalarySettlement || salarySettlementJson.onlineSalarySettlement
|
|
|
+ // console.log(vipOfflineSalarySettlement, vipOnlineSalarySettlement)
|
|
|
+ // if(vipOfflineSalarySettlement && vipOfflineSalarySettlement.salarySettlementType === 'FIXED_SALARY') {
|
|
|
+ // form.offlineClassesUnitPrice = Number(vipOfflineSalarySettlement.settlementValue)
|
|
|
+ // }
|
|
|
+ // if(vipOnlineSalarySettlement && vipOnlineSalarySettlement.salarySettlementType === 'FIXED_SALARY') {
|
|
|
+ // form.onlineClassesUnitPrice = Number(vipOnlineSalarySettlement.settlementValue)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
},
|
|
|
- onModeSelect(value) {
|
|
|
- // 赠课确认
|
|
|
- this.form.giveTeachMode = value.value;
|
|
|
- this.formName.giveTeachModeName = value.name;
|
|
|
- this.statusList.giveTeachModeStatus = false;
|
|
|
- this.getCalcClass();
|
|
|
+ onCourseTypeSelect(value) {
|
|
|
+ // 课程类型
|
|
|
+ this.courseType = value.value
|
|
|
+ this.courseTypeName = value.name
|
|
|
+ this.statusList.courseTypeStatus = false
|
|
|
},
|
|
|
onClickSingleClass() {
|
|
|
if (!this.formName.vipGroupCategoryName) {
|
|
@@ -1085,10 +1051,6 @@ export default {
|
|
|
this.$toast("请选每课时长");
|
|
|
return;
|
|
|
}
|
|
|
- if (this.other.giveNum > 0 && !this.form.giveTeachMode) {
|
|
|
- this.$toast("请选择赠课类型");
|
|
|
- return;
|
|
|
- }
|
|
|
if (!this.form.courseStart) {
|
|
|
this.$toast("请选择排课开始时间");
|
|
|
return;
|
|
@@ -1186,15 +1148,6 @@ export default {
|
|
|
let offline = parseInt(
|
|
|
form.offlineClassesNums ? form.offlineClassesNums : 0
|
|
|
);
|
|
|
- let giveNum = parseInt(this.other.giveNum);
|
|
|
-
|
|
|
- let giveClassType = form.giveTeachMode;
|
|
|
- if (giveClassType == "ONLINE") {
|
|
|
- // 线上
|
|
|
- online += giveNum;
|
|
|
- } else if (giveClassType == "OFFLINE") {
|
|
|
- offline += giveNum;
|
|
|
- }
|
|
|
// 判断是否有课程安排
|
|
|
if (scheduleList.length <= 0) {
|
|
|
return;
|
|
@@ -1246,17 +1199,6 @@ export default {
|
|
|
|
|
|
totalCount--;
|
|
|
}
|
|
|
- // else {
|
|
|
- // if (online > 0) {
|
|
|
- // tempArr.teachMode = 'ONLINE'
|
|
|
- // this.timeTable.push(tempArr)
|
|
|
- // online--
|
|
|
- // } else if (offline > 0) {
|
|
|
- // tempArr.teachMode = 'OFFLINE'
|
|
|
- // this.timeTable.push(tempArr)
|
|
|
- // offline--
|
|
|
- // }
|
|
|
- // }
|
|
|
}
|
|
|
}
|
|
|
// 加一周
|
|
@@ -1271,125 +1213,54 @@ export default {
|
|
|
}
|
|
|
|
|
|
this.timeTable.sort((a, b) => {
|
|
|
- let aStr = dayjs(
|
|
|
- dayjs(a.classDate).format("YYYY-MM-DD") +
|
|
|
- " " +
|
|
|
- a.startClassTimeStr +
|
|
|
- ":00"
|
|
|
- ).valueOf();
|
|
|
- let bStr = dayjs(
|
|
|
- dayjs(b.classDate).format("YYYY-MM-DD") +
|
|
|
- " " +
|
|
|
- b.startClassTimeStr +
|
|
|
- ":00"
|
|
|
- ).valueOf();
|
|
|
+ let aStr = dayjs(dayjs(a.classDate).format("YYYY-MM-DD") + " " + a.startClassTimeStr + ":00").valueOf();
|
|
|
+ let bStr = dayjs(dayjs(b.classDate).format("YYYY-MM-DD") + " " + b.startClassTimeStr + ":00").valueOf();
|
|
|
return aStr - bStr;
|
|
|
});
|
|
|
// console.log(this.timeTable)
|
|
|
},
|
|
|
- onGiveMode() {
|
|
|
- // 赠送课改变时
|
|
|
- this.statusList.giveTeachModeStatus = true;
|
|
|
- this.getCalcClass();
|
|
|
- },
|
|
|
getCalcClass() {
|
|
|
// 计算课酬
|
|
|
let loadData = this.loadData;
|
|
|
let form = this.form;
|
|
|
let vas = loadData.vipGroupActivitySelect, // 活动
|
|
|
- vcs = loadData.vipGroupCategorySelect, // 课程形式
|
|
|
+ // vcs = loadData.vipGroupCategorySelect, // 课程形式
|
|
|
tc = loadData.teacherCategory, // 老师基本信息
|
|
|
oncn = form.onlineClassesNums ? form.onlineClassesNums : 0, // 线上课次数
|
|
|
- offcn = form.offlineClassesNums ? form.offlineClassesNums : 0, // 线下课次数
|
|
|
- giveNum = parseInt(this.other.giveNum),
|
|
|
- giveTeachMode = form.giveTeachMode; // 线下或线下
|
|
|
+ offcn = form.offlineClassesNums ? form.offlineClassesNums : 0 // 线下课次数
|
|
|
// 优惠活动
|
|
|
+ const discount = Number(vas.discount) / 100
|
|
|
// ...
|
|
|
if (vas.salarySettlementJson) {
|
|
|
let obj = JSON.parse(vas.salarySettlementJson);
|
|
|
- // 获取每课时长
|
|
|
- // 每45Min计算一些课酬
|
|
|
- // let b = form.singleClassMinutes ? (form.singleClassMinutes / 45) : 0
|
|
|
- let tempPrice = 0;
|
|
|
- if (Number(oncn) + Number(offcn) > 0) {
|
|
|
- let countPrice =
|
|
|
- oncn * form.onlineClassesUnitPrice +
|
|
|
- offcn * form.offlineClassesUnitPrice;
|
|
|
- if (giveNum > 0 && !giveTeachMode) {
|
|
|
- countPrice = 0;
|
|
|
- }
|
|
|
- tempPrice =
|
|
|
- (countPrice * form.studentNum) /
|
|
|
- (Number(oncn) + Number(offcn) + Number(giveNum));
|
|
|
- if (vas.type == "DISCOUNT") {
|
|
|
- tempPrice =
|
|
|
- (tempPrice * (vas.attribute1 ? Number(vas.attribute1) : 100)) /
|
|
|
- 100;
|
|
|
- }
|
|
|
- }
|
|
|
// 课程按课来计算
|
|
|
- if (obj && obj.onlineSalarySettlement) {
|
|
|
- let onss = obj.onlineSalarySettlement;
|
|
|
- // 有线上课
|
|
|
- if (onss.salarySettlementType == "TEACHER_DEFAULT") {
|
|
|
- form.onlineTeacherSalary = Math.round(tc.offlineClassesSalary); // 线上课酬
|
|
|
- } else if (onss.salarySettlementType == "RATIO_DISCOUNT") {
|
|
|
- // 老师课酬的折扣 如果有则不打折
|
|
|
- // form.onlineTeacherSalary = Math.round(vcs.onlineClassesUnitPrice * (onss.settlementValue ? onss.settlementValue : 100) / 100)
|
|
|
-
|
|
|
- form.onlineTeacherSalary = Math.round(
|
|
|
- tempPrice
|
|
|
- ? (tempPrice *
|
|
|
- (onss.settlementValue ? onss.settlementValue : 100)) /
|
|
|
- 100
|
|
|
- : 0
|
|
|
- );
|
|
|
- } else if (onss.salarySettlementType == "FIXED_SALARY") {
|
|
|
- form.onlineTeacherSalary = Math.round(onss.settlementValue);
|
|
|
+ if(this.courseType == 'VIP') {
|
|
|
+ if(obj && obj.vipOnlineSalarySettlement) {
|
|
|
+ let vnss = obj.vipOnlineSalarySettlement
|
|
|
+ if(vnss.salarySettlementType == 'TEACHER_DEFAULT') {
|
|
|
+ form.onlineTeacherSalary = Math.round(tc.offlineClassesSalary)
|
|
|
+ } else if(vnss.salarySettlementType == 'FIXED_SALARY') {
|
|
|
+ form.onlineTeacherSalary = Math.round(vnss.settlementValue * discount)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ form.onlineTeacherSalary = Math.round(tc.offlineClassesSalary)
|
|
|
}
|
|
|
- form.onlineTeacherSalary = Number(form.onlineTeacherSalary);
|
|
|
- } else {
|
|
|
- form.onlineTeacherSalary = Math.round(tc.offlineClassesSalary);
|
|
|
- }
|
|
|
|
|
|
- if (obj && obj.offlineSalarySettlement) {
|
|
|
- let offss = obj.offlineSalarySettlement;
|
|
|
- // 有线下课
|
|
|
- if (offss.salarySettlementType == "TEACHER_DEFAULT") {
|
|
|
- form.offlineTeacherSalary = Math.round(tc.offlineClassesSalary); // 线上课酬
|
|
|
- } else if (offss.salarySettlementType == "RATIO_DISCOUNT") {
|
|
|
- // 老师课酬的折扣
|
|
|
- // form.offlineTeacherSalary = Math.round((vcs.offlineClassesUnitPrice * (offss.settlementValue ? offss.settlementValue : 100) / 100))
|
|
|
- form.offlineTeacherSalary = Math.round(
|
|
|
- tempPrice
|
|
|
- ? (tempPrice *
|
|
|
- (offss.settlementValue ? offss.settlementValue : 100)) /
|
|
|
- 100
|
|
|
- : 0
|
|
|
- );
|
|
|
- } else if (offss.salarySettlementType == "FIXED_SALARY") {
|
|
|
- form.offlineTeacherSalary = Math.round(offss.settlementValue);
|
|
|
+ if(obj && obj.vipOfflineSalarySettlement) {
|
|
|
+ let voss = obj.vipOfflineSalarySettlement
|
|
|
+ if(voss.salarySettlementType == 'TEACHER_DEFAULT') {
|
|
|
+ form.offlineTeacherSalary = Math.round(tc.offlineClassesSalary)
|
|
|
+ } else if(voss.salarySettlementType == 'FIXED_SALARY') {
|
|
|
+ form.offlineTeacherSalary = Math.round(voss.settlementValue * discount)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ form.offlineTeacherSalary = Math.round(tc.offlineClassesSalary)
|
|
|
}
|
|
|
- form.offlineTeacherSalary = Number(form.offlineTeacherSalary);
|
|
|
- } else {
|
|
|
- form.offlineTeacherSalary = Math.round(tc.offlineClassesSalary);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (vas.type == "GIVE_CLASS" || vas.type == "BASE_ACTIVITY") {
|
|
|
- form.totalCount = Math.round(
|
|
|
- oncn * form.onlineClassesUnitPrice +
|
|
|
- offcn * form.offlineClassesUnitPrice
|
|
|
- );
|
|
|
- } else if (vas.type == "DISCOUNT") {
|
|
|
- form.totalCount = Math.round(
|
|
|
- ((oncn * form.onlineClassesUnitPrice +
|
|
|
- offcn * form.offlineClassesUnitPrice) *
|
|
|
- Number(vas.attribute1)) /
|
|
|
- 100
|
|
|
- );
|
|
|
- }
|
|
|
- form.totalCount = Number(form.totalCount);
|
|
|
+ const totalCount = ((oncn * form.onlineClassesUnitPrice + offcn * form.offlineClassesUnitPrice) * discount);
|
|
|
+ form.totalCount = Number(totalCount);
|
|
|
},
|
|
|
getThinkDate(date, num) {
|
|
|
let Stamp = date;
|
|
@@ -1547,24 +1418,17 @@ export default {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- let vipGroupActivitySelect = this.loadData.vipGroupActivitySelect;
|
|
|
- if (vipGroupActivitySelect.type == "GIVE_CLASS" && !form.giveTeachMode) {
|
|
|
- this.$toast("请选择赠课类型");
|
|
|
- return false;
|
|
|
- }
|
|
|
if (this.scheduleList.length <= 0) {
|
|
|
this.$toast("课时安排不能为空");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- if (
|
|
|
- vipGroupActivitySelect.type == "DISCOUNT" &&
|
|
|
- vipGroupActivitySelect.minCourseNum > 0 &&
|
|
|
- vipGroupActivitySelect.maxCourseNum > 0
|
|
|
- ) {
|
|
|
+ let vipGroupActivitySelect = this.loadData.vipGroupActivitySelect;
|
|
|
+ console.log(vipGroupActivitySelect)
|
|
|
+ if (vipGroupActivitySelect.minCourseNum > 0 && vipGroupActivitySelect.maxCourseNum > 0) {
|
|
|
// debugger
|
|
|
let tempCourseCount =
|
|
|
- parseInt(form.onlineClassesNums) + parseInt(form.offlineClassesNums);
|
|
|
+ parseInt(form.onlineClassesNums || 0) + parseInt(form.offlineClassesNums || 0);
|
|
|
if (
|
|
|
vipGroupActivitySelect.minCourseNum > tempCourseCount ||
|
|
|
tempCourseCount > vipGroupActivitySelect.maxCourseNum
|
|
@@ -1657,27 +1521,14 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (form.giveTeachMode == "ONLINE") {
|
|
|
- form.onlineClassesNum =
|
|
|
- Number(form.onlineClassesNums) + Number(this.other.giveNum);
|
|
|
- form.offlineClassesNum = Number(form.offlineClassesNums);
|
|
|
- } else {
|
|
|
- form.onlineClassesNum = Number(form.onlineClassesNums);
|
|
|
- form.offlineClassesNum =
|
|
|
- Number(form.offlineClassesNums) + Number(this.other.giveNum);
|
|
|
- }
|
|
|
+ form.onlineClassesNum = Number(form.onlineClassesNums);
|
|
|
+ form.offlineClassesNum = Number(form.offlineClassesNums);
|
|
|
|
|
|
- form.totalClassTimes =
|
|
|
- Number(form.onlineClassesNums) +
|
|
|
- Number(form.offlineClassesNums) +
|
|
|
- Number(this.other.giveNum);
|
|
|
+ form.totalClassTimes = Number(form.onlineClassesNums) +Number(form.offlineClassesNums)
|
|
|
form.paymentExpireDate = form.coursesExpireDate;
|
|
|
form.studentIdList = this.checkboxSelectIds.join(",");
|
|
|
|
|
|
- form.firstStudentId =
|
|
|
- this.checkboxSelectDataList.length > 0
|
|
|
- ? this.checkboxSelectDataList[0].userId
|
|
|
- : null;
|
|
|
+ form.firstStudentId = this.checkboxSelectDataList.length > 0 ? this.checkboxSelectDataList[0].userId : null;
|
|
|
let params = {
|
|
|
courseSchedules: this.timeTable,
|
|
|
vipGroupApplyBaseInfo: form,
|
|
@@ -1890,7 +1741,9 @@ export default {
|
|
|
</script>
|
|
|
<style lang='less' scoped>
|
|
|
@import url("../../assets/commonLess/variable.less");
|
|
|
-
|
|
|
+.vipapply {
|
|
|
+ overflow: hidden;
|
|
|
+}
|
|
|
.vip-title {
|
|
|
padding: .06rem .14rem .04rem;
|
|
|
font-size: .14rem;
|