|
@@ -213,7 +213,7 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="每课时长">
|
|
|
+ <el-form-item label="每课时长" prop="classTime">
|
|
|
<el-select
|
|
|
v-model.trim="leftForm.classTime"
|
|
|
:disabled="timeTable.length > 0"
|
|
@@ -837,6 +837,13 @@ export default {
|
|
|
trigger: "change",
|
|
|
},
|
|
|
],
|
|
|
+ classTime: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请选择报每课时长",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
id: "",
|
|
|
studentList: [],
|
|
@@ -933,6 +940,8 @@ export default {
|
|
|
this.teacherList = sotrage.teacherList;
|
|
|
this.isMusicTheory = sotrage.isMusicTheory;
|
|
|
this.chioseStudent = sotrage.chioseStudent;
|
|
|
+ this.maxCourseNum = sotrage.maxCourseNum;
|
|
|
+ this.minCourseNum = sotrage.minCourseNum;
|
|
|
if (this.leftForm?.courseType) {
|
|
|
this.changePrice(this.leftForm.courseType);
|
|
|
}
|
|
@@ -956,6 +965,8 @@ export default {
|
|
|
this.timeTable = sotrage.timeTable;
|
|
|
this.educationList = sotrage.educationList;
|
|
|
this.courseTypeList = sotrage.courseTypeList;
|
|
|
+ this.maxCourseNum = sotrage.maxCourseNum;
|
|
|
+ this.minCourseNum = sotrage.minCourseNum;
|
|
|
// 为了刷新线上课单价和线下课单价
|
|
|
await vipGroupCategory({
|
|
|
organId: sotrage?.leftForm?.classOrganId,
|
|
@@ -1003,6 +1014,9 @@ export default {
|
|
|
studentLimit: this.studentLimit,
|
|
|
isMusicTheory: this.isMusicTheory,
|
|
|
chioseStudent: this.chioseStudent,
|
|
|
+ maxCourseNum: this.maxCourseNum,
|
|
|
+ minCourseNum: this.minCourseNum,
|
|
|
+
|
|
|
// computationalBtn:this.computationalBtn,
|
|
|
};
|
|
|
if (this.courseType == "PRACTICE") {
|
|
@@ -1076,6 +1090,7 @@ export default {
|
|
|
this.chioseStudent = [];
|
|
|
this.$refs["leftForm"].resetFields();
|
|
|
localStorage.removeItem("newVip");
|
|
|
+ localStorage.removeItem(`newPractice`);
|
|
|
},
|
|
|
async init() {
|
|
|
if (this.$route.query.rules) {
|
|
@@ -1206,7 +1221,11 @@ export default {
|
|
|
}
|
|
|
this.activeStudentList = [];
|
|
|
this.studentList.forEach((stu) => {
|
|
|
- if (this.chioseStudent.indexOf(stu.userId) != -1) {
|
|
|
+ if (
|
|
|
+ Array.isArray(this.chioseStudent)
|
|
|
+ ? this.chioseStudent.indexOf(stu.userId) != -1
|
|
|
+ : stu.userId == this.chioseStudent
|
|
|
+ ) {
|
|
|
let discount = this.rightForm.discount
|
|
|
? this.rightForm.discount
|
|
|
: 100;
|
|
@@ -1244,6 +1263,10 @@ export default {
|
|
|
this.leftForm.courseEnd = "";
|
|
|
this.hasOnline = true;
|
|
|
this.hasOffline = true;
|
|
|
+ this.maxCourseNum = 0;
|
|
|
+ this.minCourseNum = 0;
|
|
|
+ this.rightForm.discount = 100;
|
|
|
+
|
|
|
if (val) {
|
|
|
for (let i in this.courseTypeList) {
|
|
|
if (this.courseTypeList[i].id == this.leftForm.courseType) {
|
|
@@ -1284,31 +1307,27 @@ export default {
|
|
|
// 存储课酬是否可配置
|
|
|
this.salaryReadonlyFlag = this.activeList[i].salaryReadonlyFlag;
|
|
|
this.paymentReadonlyFlag = this.activeList[i].paymentReadonlyFlag;
|
|
|
- // hasOnline: false, hasOffline: false 还需要判断type类型 根据活动id获取
|
|
|
- if (this.activeList[i].salarySettlementJson) {
|
|
|
- let obj = JSON.parse(this.activeList[i].salarySettlementJson);
|
|
|
- if (obj && obj.onlineSalarySettlement) {
|
|
|
- // 有线上课
|
|
|
- this.hasOnline = true;
|
|
|
- this.onlineSalary =
|
|
|
- obj.onlineSalarySettlement.salarySettlementType;
|
|
|
- // ('线上:' + this.onlineSalary)
|
|
|
- } else {
|
|
|
- this.hasOnline = false;
|
|
|
- }
|
|
|
- if (obj && obj.offlineSalarySettlement) {
|
|
|
- // 有线下课
|
|
|
- this.hasOffline = true;
|
|
|
- this.offlineSalary =
|
|
|
- obj.offlineSalarySettlement.salarySettlementType;
|
|
|
- // ('线下:' + this.offlineSalary)
|
|
|
- } else {
|
|
|
+ if (this.courseType == "PRACTICE") {
|
|
|
+ this.hasOffline = false;
|
|
|
+ this.hasOnline = true;
|
|
|
+ } else {
|
|
|
+ if (this.activeList[i].teachMode == 0) {
|
|
|
this.hasOffline = false;
|
|
|
+ // -1:所有;0:线上;1:线下"
|
|
|
+ }
|
|
|
+ if (this.activeList[i].teachMode == 1) {
|
|
|
+ this.hasOnline = false;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
this.activeStudentList = [];
|
|
|
+
|
|
|
this.studentList.forEach((stu) => {
|
|
|
- if (this.chioseStudent.indexOf(stu.userId) != -1) {
|
|
|
+ if (
|
|
|
+ Array.isArray(this.chioseStudent)
|
|
|
+ ? this.chioseStudent.indexOf(stu.userId) != -1
|
|
|
+ : stu.userId == this.chioseStudent
|
|
|
+ ) {
|
|
|
let discount = this.rightForm.discount
|
|
|
? this.rightForm.discount
|
|
|
: 100;
|
|
@@ -1329,6 +1348,11 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
+ } else {
|
|
|
+ if (this.courseType == "PRACTICE") {
|
|
|
+ this.hasOffline = false;
|
|
|
+ this.hasOnline = true;
|
|
|
+ }
|
|
|
}
|
|
|
// 重置课程单价
|
|
|
},
|
|
@@ -1788,7 +1812,7 @@ export default {
|
|
|
if (this.courseType == "PRACTICE") {
|
|
|
studentIdList = this.leftForm.students;
|
|
|
obj.practiceGroupApplyBaseInfoDto = {
|
|
|
- studentId: studentIdList, // 这个不要了
|
|
|
+ studentId: studentIdList, // 这个不要了
|
|
|
vipGroupStudentCoursePrices: this.activeStudentList,
|
|
|
coursesExpireDate: this.leftForm.courseEnd,
|
|
|
teacherSchoolId: this.leftForm.section,
|
|
@@ -1807,16 +1831,17 @@ export default {
|
|
|
onlineTeacherSalary: this.rightForm.onlineCourse || 0,
|
|
|
offlineTeacherSalary: this.rightForm.offlineCourse || 0,
|
|
|
giveTeachMode: this.centerForm.radio,
|
|
|
- subjectIdList: this.leftForm.subject,
|
|
|
+ subjectId: this.leftForm.subject,
|
|
|
educationalTeacherId: this.leftForm.educationalTeacherId,
|
|
|
organId: this.leftForm.classOrganId,
|
|
|
firstStudentId: this.leftForm.students[0] || null,
|
|
|
- allCourseNum :online
|
|
|
- }
|
|
|
+ allCourseNum: online,
|
|
|
+ };
|
|
|
} else {
|
|
|
studentIdList = this.leftForm.students.join(",") || null;
|
|
|
obj.vipGroupApplyBaseInfo = {
|
|
|
studentId: studentIdList, // 这个不要了
|
|
|
+ studentIdList,
|
|
|
vipGroupStudentCoursePrices: this.activeStudentList,
|
|
|
coursesExpireDate: this.leftForm.courseEnd,
|
|
|
teacherSchoolId: this.leftForm.section,
|
|
@@ -1887,7 +1912,6 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
- createPractice;
|
|
|
// 新增
|
|
|
createVip(obj).then((res) => {
|
|
|
if (res.code == 200) {
|