|  | @@ -0,0 +1,435 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div>
 | 
	
		
			
				|  |  | +    <el-form
 | 
	
		
			
				|  |  | +      :model="form"
 | 
	
		
			
				|  |  | +      inline
 | 
	
		
			
				|  |  | +      ref="form"
 | 
	
		
			
				|  |  | +      label-suffix=": "
 | 
	
		
			
				|  |  | +      label-width="130px"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  | +      <el-row v-if="classType == 5">
 | 
	
		
			
				|  |  | +        <el-form-item
 | 
	
		
			
				|  |  | +          label="班级名称"
 | 
	
		
			
				|  |  | +          prop="className"
 | 
	
		
			
				|  |  | +          label-width="88px"
 | 
	
		
			
				|  |  | +          :rules="[{ required: true, message: '请填写班级名称' }]"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model.trim="form.className"
 | 
	
		
			
				|  |  | +            placeholder="请输入班级名称"
 | 
	
		
			
				|  |  | +            style="width: 180px"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +      </el-row>
 | 
	
		
			
				|  |  | +      <el-form-item
 | 
	
		
			
				|  |  | +        label="主教老师"
 | 
	
		
			
				|  |  | +        prop="coreTeacher"
 | 
	
		
			
				|  |  | +        label-width="88px"
 | 
	
		
			
				|  |  | +        :rules="[{ required: true, message: '请选择主教老师' }]"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  | +        <el-select
 | 
	
		
			
				|  |  | +          v-model.trim="form.coreTeacher"
 | 
	
		
			
				|  |  | +          placeholder="请选择主教老师"
 | 
	
		
			
				|  |  | +          clearable
 | 
	
		
			
				|  |  | +          filterable
 | 
	
		
			
				|  |  | +          @change="changecoreTeacher"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +          <el-option
 | 
	
		
			
				|  |  | +            v-for="(item, index) in teacherList"
 | 
	
		
			
				|  |  | +            :key="index"
 | 
	
		
			
				|  |  | +            :label="item.realName"
 | 
	
		
			
				|  |  | +            :value="String(item.id)"
 | 
	
		
			
				|  |  | +          ></el-option>
 | 
	
		
			
				|  |  | +        </el-select>
 | 
	
		
			
				|  |  | +        <!-- <remote-search :commit="'setTeachers'" v-model="form.coreTeacher"  /> -->
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item
 | 
	
		
			
				|  |  | +        label="助教老师"
 | 
	
		
			
				|  |  | +        prop="assistant"
 | 
	
		
			
				|  |  | +        v-if="
 | 
	
		
			
				|  |  | +          activeType != 'HIGH' &&
 | 
	
		
			
				|  |  | +          activeType != 'HIGH_ONLINE' &&
 | 
	
		
			
				|  |  | +          activeType != 'MUSIC_NETWORK'
 | 
	
		
			
				|  |  | +        "
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  | +        <!-- <remote-search :commit="'setTeachers'" v-model="form.assistant"  :multiple='true'/> -->
 | 
	
		
			
				|  |  | +        <el-select
 | 
	
		
			
				|  |  | +          v-model.trim="form.assistant"
 | 
	
		
			
				|  |  | +          placeholder="请选择助教老师"
 | 
	
		
			
				|  |  | +          filterable
 | 
	
		
			
				|  |  | +          clearable
 | 
	
		
			
				|  |  | +          multiple
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +          <el-option
 | 
	
		
			
				|  |  | +            v-for="(item, index) in cooperationList"
 | 
	
		
			
				|  |  | +            :key="index"
 | 
	
		
			
				|  |  | +            :label="item.realName"
 | 
	
		
			
				|  |  | +            :value="item.id"
 | 
	
		
			
				|  |  | +          ></el-option>
 | 
	
		
			
				|  |  | +        </el-select>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item
 | 
	
		
			
				|  |  | +        v-if="!!Object.keys(allClasss).length"
 | 
	
		
			
				|  |  | +        style="display: block"
 | 
	
		
			
				|  |  | +        label="排课类型"
 | 
	
		
			
				|  |  | +        label-width="88px"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  | +        <el-tag
 | 
	
		
			
				|  |  | +          class="tag"
 | 
	
		
			
				|  |  | +          :effect="form.classs[key] ? 'dark' : 'plain'"
 | 
	
		
			
				|  |  | +          v-for="(item, key) in allClasss"
 | 
	
		
			
				|  |  | +          :key="key"
 | 
	
		
			
				|  |  | +          @click="changeTag(key)"
 | 
	
		
			
				|  |  | +          >{{ courseTypeListByName[key] }}</el-tag
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <empty v-if="isEmpty" desc="暂无可排课时长" />
 | 
	
		
			
				|  |  | +      <el-collapse v-model="collapses" @change="collapseChange">
 | 
	
		
			
				|  |  | +        <el-collapse-item
 | 
	
		
			
				|  |  | +          v-for="(item, key, index) in form.classs"
 | 
	
		
			
				|  |  | +          :name="index"
 | 
	
		
			
				|  |  | +          :key="key"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +          <template #title>
 | 
	
		
			
				|  |  | +            <p class="title">
 | 
	
		
			
				|  |  | +              {{ courseTypeListByName[key] }},
 | 
	
		
			
				|  |  | +              <span>可排课时长{{ musicCourseSettings[key] }}分钟</span>
 | 
	
		
			
				|  |  | +            </p>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +          <courseItem
 | 
	
		
			
				|  |  | +            :surplustime="surplustime[key]"
 | 
	
		
			
				|  |  | +            :type="key"
 | 
	
		
			
				|  |  | +            :form="item"
 | 
	
		
			
				|  |  | +            :prices="prices"
 | 
	
		
			
				|  |  | +            :selectPrice="selectPrices ? selectPrices[key] : ''"
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  | +        </el-collapse-item>
 | 
	
		
			
				|  |  | +      </el-collapse>
 | 
	
		
			
				|  |  | +    </el-form>
 | 
	
		
			
				|  |  | +    <div slot="footer" class="dialog-footer" v-if="classType != 5">
 | 
	
		
			
				|  |  | +      <el-button @click="$listeners.close">取 消</el-button>
 | 
	
		
			
				|  |  | +      <el-button type="primary" :disabled="isEmpty" @click="submit"
 | 
	
		
			
				|  |  | +        >确 定</el-button
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  getMusicCourseSettingsWithStudents,
 | 
	
		
			
				|  |  | +  classGroupUpdate,
 | 
	
		
			
				|  |  | +  revisionClassGroup,
 | 
	
		
			
				|  |  | +  revisionAddClassGroup,
 | 
	
		
			
				|  |  | +  findClassCourseMinute,
 | 
	
		
			
				|  |  | +  mergeClassSplitClassAffirm,
 | 
	
		
			
				|  |  | +} from "@/api/buildTeam";
 | 
	
		
			
				|  |  | +import courseItem from "./classroom-setting-item-merge";
 | 
	
		
			
				|  |  | +import { classTimeList } from "@/utils/searchArray";
 | 
	
		
			
				|  |  | +import MusicStore from "@/views/resetTeaming/store";
 | 
	
		
			
				|  |  | +import { queryByOrganIdAndCourseType } from "@/views/resetTeaming/api";
 | 
	
		
			
				|  |  | +import { isEmpty } from "lodash";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const classTimeListByType = {};
 | 
	
		
			
				|  |  | +for (const item of classTimeList) {
 | 
	
		
			
				|  |  | +  classTimeListByType[item.value] = item.label;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const formatClassGroupTeacherMapperList = (core, ass) => {
 | 
	
		
			
				|  |  | +  const list = [];
 | 
	
		
			
				|  |  | +  if (core) {
 | 
	
		
			
				|  |  | +    list.push({ userId: core, teacherRole: "BISHOP" });
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  if (ass) {
 | 
	
		
			
				|  |  | +    for (const item of ass) {
 | 
	
		
			
				|  |  | +      list.push({ userId: item, teacherRole: "TEACHING" });
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  return list;
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const plusNum = (items = [], key) => {
 | 
	
		
			
				|  |  | +  let money = 0;
 | 
	
		
			
				|  |  | +  for (const item of items) {
 | 
	
		
			
				|  |  | +    money += parseFloat(parseFloat(item[key] || 0).toFixed(2) || 0);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  return money;
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  props: [
 | 
	
		
			
				|  |  | +    "activeType",
 | 
	
		
			
				|  |  | +    "courseTypeList",
 | 
	
		
			
				|  |  | +    "musicGroupId",
 | 
	
		
			
				|  |  | +    "detail",
 | 
	
		
			
				|  |  | +    "studentSubmitedData",
 | 
	
		
			
				|  |  | +    "classType",
 | 
	
		
			
				|  |  | +    "musicGroupPaymentCalenderDtos",
 | 
	
		
			
				|  |  | +    "classIdList",
 | 
	
		
			
				|  |  | +    "classGroupStudents",
 | 
	
		
			
				|  |  | +    "selectPrices",
 | 
	
		
			
				|  |  | +    "classCouresTimeList",
 | 
	
		
			
				|  |  | +    "teacherList",
 | 
	
		
			
				|  |  | +    "cooperationList",
 | 
	
		
			
				|  |  | +  ],
 | 
	
		
			
				|  |  | +  components: {
 | 
	
		
			
				|  |  | +    courseItem,
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      form: {
 | 
	
		
			
				|  |  | +        coreTeacher: "",
 | 
	
		
			
				|  |  | +        assistant: "",
 | 
	
		
			
				|  |  | +        classs: {},
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      allClasss: {},
 | 
	
		
			
				|  |  | +      prices: {},
 | 
	
		
			
				|  |  | +      collapses: [0],
 | 
	
		
			
				|  |  | +      courseTimes: {},
 | 
	
		
			
				|  |  | +      courseTypeListByName: {},
 | 
	
		
			
				|  |  | +      classTimeListByType,
 | 
	
		
			
				|  |  | +      musicCourseSettings: {},
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  watch: {
 | 
	
		
			
				|  |  | +    courseTypeList() {
 | 
	
		
			
				|  |  | +      this.setCourseTypeListByName();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    studentSubmitedData() {
 | 
	
		
			
				|  |  | +      this.formatClasss();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    detail() {
 | 
	
		
			
				|  |  | +      this.formatClasss();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  computed: {
 | 
	
		
			
				|  |  | +    surplustime() {
 | 
	
		
			
				|  |  | +      const _ = {};
 | 
	
		
			
				|  |  | +      for (const key in this.form.classs) {
 | 
	
		
			
				|  |  | +        if (this.form.classs.hasOwnProperty(key)) {
 | 
	
		
			
				|  |  | +          const item = this.form.classs[key];
 | 
	
		
			
				|  |  | +          _[key] = item.courseTotalMinuties - plusNum(item.cycle, "time");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      return _;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    isEmpty() {
 | 
	
		
			
				|  |  | +      return isEmpty(this.form.classs);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    musicGroup() {
 | 
	
		
			
				|  |  | +      return MusicStore.state.musicGroup;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  async mounted() {
 | 
	
		
			
				|  |  | +    try {
 | 
	
		
			
				|  |  | +      await MusicStore.dispatch("getBaseInfo", {
 | 
	
		
			
				|  |  | +        data: { musicGroupId: this.musicGroupId },
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +      const res = await queryByOrganIdAndCourseType({
 | 
	
		
			
				|  |  | +        organId: this.musicGroup.organId,
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +      this.prices = res.data;
 | 
	
		
			
				|  |  | +    } catch (error) {}
 | 
	
		
			
				|  |  | +    this.setCourseTypeListByName();
 | 
	
		
			
				|  |  | +    this.formatClasss();
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    setCourseTypeListByName() {
 | 
	
		
			
				|  |  | +      const courseTypeListByName = {};
 | 
	
		
			
				|  |  | +      for (const item of this.courseTypeList) {
 | 
	
		
			
				|  |  | +        courseTypeListByName[item.value] = item.label;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.courseTypeListByName = courseTypeListByName;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    async formatClasss() {
 | 
	
		
			
				|  |  | +      if (this.detail) {
 | 
	
		
			
				|  |  | +        let coreid = "";
 | 
	
		
			
				|  |  | +        const assistant = [];
 | 
	
		
			
				|  |  | +        const { classGroupTeacherMapperList } = this.detail;
 | 
	
		
			
				|  |  | +        for (const item of classGroupTeacherMapperList || []) {
 | 
	
		
			
				|  |  | +          if (item.teacherRole === "BISHOP") {
 | 
	
		
			
				|  |  | +            coreid = String(item.userId);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          if (item.teacherRole === "TEACHING") {
 | 
	
		
			
				|  |  | +            assistant.push(item.userId);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.$set(this.form, "coreTeacher", String(coreid));
 | 
	
		
			
				|  |  | +        this.$set(this.form, "assistant", assistant);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      const studentIds = this.detail
 | 
	
		
			
				|  |  | +        ? undefined
 | 
	
		
			
				|  |  | +        : this.studentSubmitedData?.seleched.join(",");
 | 
	
		
			
				|  |  | +      const classGroupId = this.detail?.id;
 | 
	
		
			
				|  |  | +      if (!studentIds && !classGroupId) {
 | 
	
		
			
				|  |  | +        return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      let res = {};
 | 
	
		
			
				|  |  | +      if (this.classType == 5) {
 | 
	
		
			
				|  |  | +        // res = await findClassCourseMinute(this.classIdList);
 | 
	
		
			
				|  |  | +        res.data = this.classCouresTimeList;
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +          res = await getMusicCourseSettingsWithStudents({
 | 
	
		
			
				|  |  | +            musicGroupId: this.musicGroupId,
 | 
	
		
			
				|  |  | +            studentIds,
 | 
	
		
			
				|  |  | +            classGroupId,
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        } catch (error) {
 | 
	
		
			
				|  |  | +          console.log(error);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      // console.log(res);
 | 
	
		
			
				|  |  | +      if (Object.keys(res).length <= 0) return;
 | 
	
		
			
				|  |  | +      this.musicCourseSettings = res.data;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      const classs = {};
 | 
	
		
			
				|  |  | +      for (const item of this.courseTypeList) {
 | 
	
		
			
				|  |  | +        const key = item.value;
 | 
	
		
			
				|  |  | +        if (res.data[key]) {
 | 
	
		
			
				|  |  | +          classs[key] = {
 | 
	
		
			
				|  |  | +            courseTotalMinuties: res.data[key],
 | 
	
		
			
				|  |  | +            cycle: [
 | 
	
		
			
				|  |  | +              {
 | 
	
		
			
				|  |  | +                time: this.selectPrices ? this.selectPrices[key] : undefined,
 | 
	
		
			
				|  |  | +              },
 | 
	
		
			
				|  |  | +            ],
 | 
	
		
			
				|  |  | +          };
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.allClasss = { ...classs };
 | 
	
		
			
				|  |  | +      this.$set(this.form, "classs", classs);
 | 
	
		
			
				|  |  | +      // this.courseTimes = courseTimes
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    changeTag(key) {
 | 
	
		
			
				|  |  | +      const clas = { ...this.form.classs };
 | 
	
		
			
				|  |  | +      if (clas[key]) {
 | 
	
		
			
				|  |  | +        delete clas[key];
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        clas[key] = this.allClasss[key];
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.$set(this.form, "classs", clas);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    submit() {
 | 
	
		
			
				|  |  | +      this.$refs.form.validate(async (valid) => {
 | 
	
		
			
				|  |  | +        if (valid) {
 | 
	
		
			
				|  |  | +          const list = [];
 | 
	
		
			
				|  |  | +          for (const key in this.form.classs) {
 | 
	
		
			
				|  |  | +            if (this.form.classs.hasOwnProperty(key)) {
 | 
	
		
			
				|  |  | +              const item = this.form.classs[key];
 | 
	
		
			
				|  |  | +              list.push({
 | 
	
		
			
				|  |  | +                type: this.detail ? undefined : this.activeType,
 | 
	
		
			
				|  |  | +                courseType: key,
 | 
	
		
			
				|  |  | +                classGroupName:
 | 
	
		
			
				|  |  | +                  this.studentSubmitedData?.name ||
 | 
	
		
			
				|  |  | +                  this.detail?.name ||
 | 
	
		
			
				|  |  | +                  this.form.className,
 | 
	
		
			
				|  |  | +                classGroupId: this.detail?.id,
 | 
	
		
			
				|  |  | +                musicGroupId: this.musicGroupId,
 | 
	
		
			
				|  |  | +                startDate: item.courseTime,
 | 
	
		
			
				|  |  | +                classGroupTeacherMapperList: formatClassGroupTeacherMapperList(
 | 
	
		
			
				|  |  | +                  this.form.coreTeacher,
 | 
	
		
			
				|  |  | +                  this.form.assistant
 | 
	
		
			
				|  |  | +                ),
 | 
	
		
			
				|  |  | +                holiday: item.holiday,
 | 
	
		
			
				|  |  | +                students: this.studentSubmitedData?.seleched,
 | 
	
		
			
				|  |  | +                courseTimes: item.cycle.length,
 | 
	
		
			
				|  |  | +                courseTimeDtoList: item.cycle.map((_) => ({
 | 
	
		
			
				|  |  | +                  courseType: key,
 | 
	
		
			
				|  |  | +                  dayOfWeek: _.dayOfWeek,
 | 
	
		
			
				|  |  | +                  endClassTime: _.endClassTime,
 | 
	
		
			
				|  |  | +                  startClassTime: _.startClassTime,
 | 
	
		
			
				|  |  | +                })),
 | 
	
		
			
				|  |  | +              });
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          try {
 | 
	
		
			
				|  |  | +            if (this.detail) {
 | 
	
		
			
				|  |  | +              let result = await classGroupUpdate(list);
 | 
	
		
			
				|  |  | +              if (result.code == 206) {
 | 
	
		
			
				|  |  | +                this.$confirm(`当前课程课酬预计为0,是否继续`, "提示", {
 | 
	
		
			
				|  |  | +                  confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +                  cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +                  type: "warning",
 | 
	
		
			
				|  |  | +                })
 | 
	
		
			
				|  |  | +                  .then(async () => {
 | 
	
		
			
				|  |  | +                    // obj.allowZeroSalary = true;
 | 
	
		
			
				|  |  | +                    list.forEach((item) => {
 | 
	
		
			
				|  |  | +                      item.allowZeroSalary = true;
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                    await classGroupUpdate(list);
 | 
	
		
			
				|  |  | +                    this.$listeners.submited();
 | 
	
		
			
				|  |  | +                    this.$listeners.close();
 | 
	
		
			
				|  |  | +                  })
 | 
	
		
			
				|  |  | +                  .catch(() => {
 | 
	
		
			
				|  |  | +                    return;
 | 
	
		
			
				|  |  | +                  });
 | 
	
		
			
				|  |  | +                return;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              this.$message.success("排课修改成功");
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              if (this.classType == 1) {
 | 
	
		
			
				|  |  | +                // 0新建班级 2 3 4新增班级修改
 | 
	
		
			
				|  |  | +                await revisionClassGroup(list);
 | 
	
		
			
				|  |  | +                this.$message.success("排课成功");
 | 
	
		
			
				|  |  | +              } else if (
 | 
	
		
			
				|  |  | +                this.classType == 2 ||
 | 
	
		
			
				|  |  | +                this.classType == 3 ||
 | 
	
		
			
				|  |  | +                this.classType == 4
 | 
	
		
			
				|  |  | +              ) {
 | 
	
		
			
				|  |  | +                await revisionAddClassGroup(list);
 | 
	
		
			
				|  |  | +                this.$message.success("排课成功");
 | 
	
		
			
				|  |  | +              } else if (this.classType == 5) {
 | 
	
		
			
				|  |  | +                // 这里是合班拆班
 | 
	
		
			
				|  |  | +                let obj = {};
 | 
	
		
			
				|  |  | +                obj.musicGroupPaymentCalenderDtos = this.musicGroupPaymentCalenderDtos;
 | 
	
		
			
				|  |  | +                obj.classGroup4MixDtos = list;
 | 
	
		
			
				|  |  | +                obj.classGroupIds = this.classIdList;
 | 
	
		
			
				|  |  | +                obj.studentIds = this.studentSubmitedData.seleched;
 | 
	
		
			
				|  |  | +                obj.classGroupStudents = this.classGroupStudents;
 | 
	
		
			
				|  |  | +                obj.classCourseMinuteMap = this.selectPrices;
 | 
	
		
			
				|  |  | +                await mergeClassSplitClassAffirm(obj);
 | 
	
		
			
				|  |  | +                let grend = this.$parent.$parent.$parent.$parent.$parent.$parent
 | 
	
		
			
				|  |  | +                  .$parent;
 | 
	
		
			
				|  |  | +                grend.closeStudentReset();
 | 
	
		
			
				|  |  | +                grend.getList();
 | 
	
		
			
				|  |  | +                return;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            this.$listeners.submited();
 | 
	
		
			
				|  |  | +            this.$listeners.close();
 | 
	
		
			
				|  |  | +          } catch (error) {
 | 
	
		
			
				|  |  | +            console.log(error);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.$message.error("请先填写所有表单");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    collapseChange(val) {
 | 
	
		
			
				|  |  | +      this.collapses = val;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    changecoreTeacher(val) {},
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +<style lang="less" scoped>
 | 
	
		
			
				|  |  | +.dialog-footer {
 | 
	
		
			
				|  |  | +  margin-top: 20px;
 | 
	
		
			
				|  |  | +  display: block;
 | 
	
		
			
				|  |  | +  text-align: right;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.title {
 | 
	
		
			
				|  |  | +  font-size: 16px;
 | 
	
		
			
				|  |  | +  padding: 10px;
 | 
	
		
			
				|  |  | +  font-weight: normal;
 | 
	
		
			
				|  |  | +  > span {
 | 
	
		
			
				|  |  | +    color: tomato;
 | 
	
		
			
				|  |  | +    font-size: 14px;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.tag {
 | 
	
		
			
				|  |  | +  margin-right: 5px;
 | 
	
		
			
				|  |  | +  cursor: pointer;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 |