|  | @@ -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) {
 |