|  | @@ -2,24 +2,30 @@
 | 
	
		
			
				|  |  |    <div class='course-container'>
 | 
	
		
			
				|  |  |      <div class="left">
 | 
	
		
			
				|  |  |        <el-form :model="leftFrom"
 | 
	
		
			
				|  |  | +               ref='leftFrom'
 | 
	
		
			
				|  |  | +               :rules="leftRules"
 | 
	
		
			
				|  |  |                 :inline="true">
 | 
	
		
			
				|  |  | -        <el-form-item label="合奏班">
 | 
	
		
			
				|  |  | -          <el-select v-model="leftFrom.all">
 | 
	
		
			
				|  |  | +        <el-form-item label="合奏班"
 | 
	
		
			
				|  |  | +                      prop='all'>
 | 
	
		
			
				|  |  | +          <el-select v-model="leftFrom.all"
 | 
	
		
			
				|  |  | +                     @change="changeMixClass">
 | 
	
		
			
				|  |  |              <el-option v-for="(item,index) in maxClassList"
 | 
	
		
			
				|  |  |                         :key='index'
 | 
	
		
			
				|  |  |                         :value="item.id"
 | 
	
		
			
				|  |  |                         :label="item.name"></el-option>
 | 
	
		
			
				|  |  |            </el-select>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="排课起始时间">
 | 
	
		
			
				|  |  | +        <el-form-item label="排课起始时间"
 | 
	
		
			
				|  |  | +                      prop="time">
 | 
	
		
			
				|  |  | +          <!-- value-format="yyyy-MM-dd" -->
 | 
	
		
			
				|  |  |            <el-date-picker v-model="leftFrom.time"
 | 
	
		
			
				|  |  |                            align="right"
 | 
	
		
			
				|  |  |                            type="date"
 | 
	
		
			
				|  |  | -                          value-format="yyyy-MM-dd"
 | 
	
		
			
				|  |  |                            placeholder="选择日期">
 | 
	
		
			
				|  |  |            </el-date-picker>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="排课次数">
 | 
	
		
			
				|  |  | +        <el-form-item label="排课次数"
 | 
	
		
			
				|  |  | +                      prop="num">
 | 
	
		
			
				|  |  |            <el-input type="number"
 | 
	
		
			
				|  |  |                      v-model="leftFrom.num"></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
	
		
			
				|  | @@ -27,10 +33,13 @@
 | 
	
		
			
				|  |  |        <p>周次循环<span style="margin-left:10px;">上课时间</span></p>
 | 
	
		
			
				|  |  |        <div class="checkWrap">
 | 
	
		
			
				|  |  |          <el-checkbox-group v-model="checkList">
 | 
	
		
			
				|  |  | -          <div class="chioseday">
 | 
	
		
			
				|  |  | -            <el-checkbox label="周一"></el-checkbox>
 | 
	
		
			
				|  |  | +          <div class="chioseday"
 | 
	
		
			
				|  |  | +               v-for="(item,index) in week"
 | 
	
		
			
				|  |  | +               :key="index">
 | 
	
		
			
				|  |  | +            <el-checkbox :label="index"
 | 
	
		
			
				|  |  | +                         v-model="item.isCheck">{{item.name}}</el-checkbox>
 | 
	
		
			
				|  |  |              <el-time-select placeholder="起始"
 | 
	
		
			
				|  |  | -                            v-model="week.Monday.startTime"
 | 
	
		
			
				|  |  | +                            v-model="item.startTime"
 | 
	
		
			
				|  |  |                              :picker-options="{
 | 
	
		
			
				|  |  |                               start: '06:30',
 | 
	
		
			
				|  |  |                               step: '00:05',
 | 
	
	
		
			
				|  | @@ -39,140 +48,15 @@
 | 
	
		
			
				|  |  |              </el-time-select>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              <el-time-select placeholder="结束"
 | 
	
		
			
				|  |  | -                            v-model="week.Monday.endTime"
 | 
	
		
			
				|  |  | +                            v-model="item.endTime"
 | 
	
		
			
				|  |  |                              :picker-options="{
 | 
	
		
			
				|  |  |                              start: '08:30',
 | 
	
		
			
				|  |  |                              step: '00:15',
 | 
	
		
			
				|  |  |                              end: '23:30',
 | 
	
		
			
				|  |  | -                            minTime: week.Monday.startTime
 | 
	
		
			
				|  |  | +                            minTime: item.startTime
 | 
	
		
			
				|  |  |                                              }">
 | 
	
		
			
				|  |  |              </el-time-select>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  | -          <div class="chioseday">
 | 
	
		
			
				|  |  | -            <el-checkbox label="周二"></el-checkbox>
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="起始"
 | 
	
		
			
				|  |  | -                            v-model="week.Tuesday.startTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                             start: '06:30',
 | 
	
		
			
				|  |  | -                             step: '00:05',
 | 
	
		
			
				|  |  | -                             end: '18:30'
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="结束"
 | 
	
		
			
				|  |  | -                            v-model="week.Tuesday.endTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                            start: '08:30',
 | 
	
		
			
				|  |  | -                            step: '00:15',
 | 
	
		
			
				|  |  | -                            end: '23:30',
 | 
	
		
			
				|  |  | -                            minTime: week.Tuesday.startTime
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -          </div>
 | 
	
		
			
				|  |  | -          <div class="chioseday">
 | 
	
		
			
				|  |  | -            <el-checkbox label="周三"></el-checkbox>
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="起始"
 | 
	
		
			
				|  |  | -                            v-model="week.Wednesday.startTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                             start: '06:30',
 | 
	
		
			
				|  |  | -                             step: '00:05',
 | 
	
		
			
				|  |  | -                             end: '18:30'
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="结束"
 | 
	
		
			
				|  |  | -                            v-model="week.Wednesday.endTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                            start: '08:30',
 | 
	
		
			
				|  |  | -                            step: '00:15',
 | 
	
		
			
				|  |  | -                            end: '23:30',
 | 
	
		
			
				|  |  | -                            minTime: week.Monday.startTime
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -          </div>
 | 
	
		
			
				|  |  | -          <div class="chioseday">
 | 
	
		
			
				|  |  | -            <el-checkbox label="周四"></el-checkbox>
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="起始"
 | 
	
		
			
				|  |  | -                            v-model="week.Thursday.startTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                             start: '06:30',
 | 
	
		
			
				|  |  | -                             step: '00:05',
 | 
	
		
			
				|  |  | -                             end: '18:30'
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="结束"
 | 
	
		
			
				|  |  | -                            v-model="week.Thursday.endTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                            start: '08:30',
 | 
	
		
			
				|  |  | -                            step: '00:15',
 | 
	
		
			
				|  |  | -                            end: '23:30',
 | 
	
		
			
				|  |  | -                            minTime: week.Thursday.startTime
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -          </div>
 | 
	
		
			
				|  |  | -          <div class="chioseday">
 | 
	
		
			
				|  |  | -            <el-checkbox label="周五"></el-checkbox>
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="起始"
 | 
	
		
			
				|  |  | -                            v-model="week.Friday.startTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                             start: '06:30',
 | 
	
		
			
				|  |  | -                             step: '00:05',
 | 
	
		
			
				|  |  | -                             end: '18:30'
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="结束"
 | 
	
		
			
				|  |  | -                            v-model="week.Friday.endTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                            start: '08:30',
 | 
	
		
			
				|  |  | -                            step: '00:15',
 | 
	
		
			
				|  |  | -                            end: '23:30',
 | 
	
		
			
				|  |  | -                            minTime: week.Friday.startTime
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -          </div>
 | 
	
		
			
				|  |  | -          <div class="chioseday">
 | 
	
		
			
				|  |  | -            <el-checkbox label="周六"></el-checkbox>
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="起始"
 | 
	
		
			
				|  |  | -                            v-model="week.Saturday.startTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                             start: '06:30',
 | 
	
		
			
				|  |  | -                             step: '00:05',
 | 
	
		
			
				|  |  | -                             end: '18:30'
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="结束"
 | 
	
		
			
				|  |  | -                            v-model="week.Saturday.endTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                            start: '08:30',
 | 
	
		
			
				|  |  | -                            step: '00:15',
 | 
	
		
			
				|  |  | -                            end: '23:30',
 | 
	
		
			
				|  |  | -                            minTime: week.Saturday.startTime
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -          </div>
 | 
	
		
			
				|  |  | -          <div class="chioseday">
 | 
	
		
			
				|  |  | -            <el-checkbox label="周日"></el-checkbox>
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="起始"
 | 
	
		
			
				|  |  | -                            v-model="week.Sunday.startTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                             start: '06:30',
 | 
	
		
			
				|  |  | -                             step: '00:10',
 | 
	
		
			
				|  |  | -                             end: '18:30'
 | 
	
		
			
				|  |  | -                                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            <el-time-select placeholder="结束"
 | 
	
		
			
				|  |  | -                            v-model="week.Sunday.endTime"
 | 
	
		
			
				|  |  | -                            :picker-options="{
 | 
	
		
			
				|  |  | -                            start: '08:30',
 | 
	
		
			
				|  |  | -                            step: '00:10',
 | 
	
		
			
				|  |  | -                            end: '23:30',
 | 
	
		
			
				|  |  | -                            minTime: week.Sunday.startTime
 | 
	
		
			
				|  |  | -                            }">
 | 
	
		
			
				|  |  | -            </el-time-select>
 | 
	
		
			
				|  |  | -          </div>
 | 
	
		
			
				|  |  |          </el-checkbox-group>
 | 
	
		
			
				|  |  |          <div class="holidayWrap">
 | 
	
		
			
				|  |  |            <el-checkbox v-model="isholiday">跳过节假日</el-checkbox>
 | 
	
	
		
			
				|  | @@ -187,32 +71,34 @@
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  |      <div class="right">
 | 
	
		
			
				|  |  |        <el-table :data='tableList'>
 | 
	
		
			
				|  |  | -        <el-table-column prop="date"
 | 
	
		
			
				|  |  | -                         label="课次"
 | 
	
		
			
				|  |  | -                         width="180">
 | 
	
		
			
				|  |  | +        <el-table-column label="课次">
 | 
	
		
			
				|  |  | +          <template slot-scope="scope">
 | 
	
		
			
				|  |  | +            <div>
 | 
	
		
			
				|  |  | +              {{ scope.$index+1 }}
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column prop="date"
 | 
	
		
			
				|  |  | +        <el-table-column prop="dateString"
 | 
	
		
			
				|  |  |                           label="日期"
 | 
	
		
			
				|  |  |                           width="180">
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column prop="date"
 | 
	
		
			
				|  |  | +        <el-table-column prop="week"
 | 
	
		
			
				|  |  |                           label="星期"
 | 
	
		
			
				|  |  |                           width="180">
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column prop="date"
 | 
	
		
			
				|  |  | +        <el-table-column prop="type"
 | 
	
		
			
				|  |  |                           label="课程类型"
 | 
	
		
			
				|  |  |                           width="180">
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column prop="date"
 | 
	
		
			
				|  |  | +        <el-table-column prop="name"
 | 
	
		
			
				|  |  |                           label="课程名称"
 | 
	
		
			
				|  |  |                           width="180">
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column prop="date"
 | 
	
		
			
				|  |  | +        <el-table-column prop="classTime"
 | 
	
		
			
				|  |  |                           label="上课时间"
 | 
	
		
			
				|  |  |                           width="180">
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column prop="date"
 | 
	
		
			
				|  |  | -                         label="操作"
 | 
	
		
			
				|  |  | +        <el-table-column label="操作"
 | 
	
		
			
				|  |  |                           width="180">
 | 
	
		
			
				|  |  |            <template slot-scope="scope">
 | 
	
		
			
				|  |  |              <div>
 | 
	
	
		
			
				|  | @@ -231,7 +117,7 @@
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  | -import { getAllClass, getHolidays } from '@/api/buildTeam'
 | 
	
		
			
				|  |  | +import { getAllClass, getAllSignClass } from '@/api/buildTeam'
 | 
	
		
			
				|  |  |  import axios from 'axios'
 | 
	
		
			
				|  |  |  import qs from 'qs'
 | 
	
		
			
				|  |  |  export default {
 | 
	
	
		
			
				|  | @@ -250,38 +136,63 @@ export default {
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        tableList: [],
 | 
	
		
			
				|  |  |        checkList: [],
 | 
	
		
			
				|  |  | -      week: {
 | 
	
		
			
				|  |  | -        Monday: {
 | 
	
		
			
				|  |  | +      week: [
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  |            startTime: '',
 | 
	
		
			
				|  |  | -          endTime: ''
 | 
	
		
			
				|  |  | +          endTime: '',
 | 
	
		
			
				|  |  | +          isCheck: false,
 | 
	
		
			
				|  |  | +          name: '星期日'
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  | -        Tuesday: {
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  |            startTime: '',
 | 
	
		
			
				|  |  | -          endTime: ''
 | 
	
		
			
				|  |  | +          endTime: '',
 | 
	
		
			
				|  |  | +          isCheck: false,
 | 
	
		
			
				|  |  | +          name: '星期一'
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  | -        Wednesday: {
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  |            startTime: '',
 | 
	
		
			
				|  |  | -          endTime: ''
 | 
	
		
			
				|  |  | +          endTime: '',
 | 
	
		
			
				|  |  | +          isCheck: false,
 | 
	
		
			
				|  |  | +          name: '星期二'
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  | -        Thursday: {
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  |            startTime: '',
 | 
	
		
			
				|  |  | -          endTime: ''
 | 
	
		
			
				|  |  | +          endTime: '',
 | 
	
		
			
				|  |  | +          isCheck: false,
 | 
	
		
			
				|  |  | +          name: '星期三'
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  | -        Friday: {
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  |            startTime: '',
 | 
	
		
			
				|  |  | -          endTime: ''
 | 
	
		
			
				|  |  | +          endTime: '',
 | 
	
		
			
				|  |  | +          isCheck: false,
 | 
	
		
			
				|  |  | +          name: '星期四'
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  | -        Saturday: {
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  |            startTime: '',
 | 
	
		
			
				|  |  | -          endTime: ''
 | 
	
		
			
				|  |  | +          endTime: '',
 | 
	
		
			
				|  |  | +          isCheck: false,
 | 
	
		
			
				|  |  | +          name: '星期五'
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  | -        Sunday: {
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  |            startTime: '',
 | 
	
		
			
				|  |  | -          endTime: ''
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      maxClassList: [],
 | 
	
		
			
				|  |  | -      isholiday: false
 | 
	
		
			
				|  |  | +          endTime: '',
 | 
	
		
			
				|  |  | +          isCheck: false,
 | 
	
		
			
				|  |  | +          name: '星期六'
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      ],
 | 
	
		
			
				|  |  | +      weekDay: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
 | 
	
		
			
				|  |  | +      maxClassList: [], // 所有的合奏班
 | 
	
		
			
				|  |  | +      activeSingleList: [], // 合奏班下的所有单技班
 | 
	
		
			
				|  |  | +      isholiday: false,
 | 
	
		
			
				|  |  | +      classCardList: [], //这个是传给后台的真正数据集合
 | 
	
		
			
				|  |  | +      allChioseDate: [], // 记录所有准备排课的日期
 | 
	
		
			
				|  |  | +      holidayList: [],
 | 
	
		
			
				|  |  | +      leftRules: {
 | 
	
		
			
				|  |  | +        all: [{ required: true, message: '请输选择合奏班', trigger: 'blur' }],
 | 
	
		
			
				|  |  | +        time: [{ required: true, message: '请选择排课时间', trigger: 'blur' }],
 | 
	
		
			
				|  |  | +        num: [{ required: true, message: '请输入排课次数', trigger: 'blur' }]
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    mounted () {
 | 
	
	
		
			
				|  | @@ -294,17 +205,124 @@ export default {
 | 
	
		
			
				|  |  |      // getHolidays({ d: '20191016' }).then(res => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // })
 | 
	
		
			
				|  |  | -    axios.post('/jiari/', qs.stringify({ d: '20191016,20191017' })).then(res => {
 | 
	
		
			
				|  |  | -      console.log(res.data);
 | 
	
		
			
				|  |  | +    let year = new Date().getFullYear();
 | 
	
		
			
				|  |  | +    axios.post('/jiari/', qs.stringify({ d: year })).then(res => {
 | 
	
		
			
				|  |  | +      this.holidayList = Object.keys(res.data[year])
 | 
	
		
			
				|  |  | +      // this.holidayList = res.data[year]
 | 
	
		
			
				|  |  | +      // console.log(this.holidayList)
 | 
	
		
			
				|  |  |      })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  |      classCard () {
 | 
	
		
			
				|  |  | -      // 首先拍出合奏班的课程
 | 
	
		
			
				|  |  | -      // 1.从什么时候开始排
 | 
	
		
			
				|  |  | -      // 2.周几排
 | 
	
		
			
				|  |  | -      // 3.一共排多少节
 | 
	
		
			
				|  |  | -      console.log(this.leftFrom.time)
 | 
	
		
			
				|  |  | +      let flag = false
 | 
	
		
			
				|  |  | +      this.$refs['leftFrom'].validate(val => {
 | 
	
		
			
				|  |  | +        if (val) {
 | 
	
		
			
				|  |  | +          flag = true
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      if (!flag) {
 | 
	
		
			
				|  |  | +        this.$message.error('请填写必要参数在进行排课')
 | 
	
		
			
				|  |  | +        return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      let classCount = parseInt(this.leftFrom.num);
 | 
	
		
			
				|  |  | +      let date = this.leftFrom.time;
 | 
	
		
			
				|  |  | +      let startWeekday = this.leftFrom.time.getDay();
 | 
	
		
			
				|  |  | +      // 第一次循环把所有要排的时间记录下来 请求接口 判断是否节假日 
 | 
	
		
			
				|  |  | +      while (classCount && classCount > 0) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        for (let i in this.checkList) {
 | 
	
		
			
				|  |  | +          let num; // 下次上课上几天后
 | 
	
		
			
				|  |  | +          this.checkList[i] - date.getDay() >= 0 ? num = this.checkList[i] : num = this.checkList[i] - date.getDay() + 7
 | 
	
		
			
				|  |  | +          let dataStr = this.getThinkDate(date, num);
 | 
	
		
			
				|  |  | +          let monthDay = this.getThinkDate(date, num, 2)
 | 
	
		
			
				|  |  | +          if (this.isholiday) {
 | 
	
		
			
				|  |  | +            if (this.holidayList.indexOf(monthDay) != -1) {
 | 
	
		
			
				|  |  | +              // 这里说明有节假日
 | 
	
		
			
				|  |  | +              continue
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          let className;
 | 
	
		
			
				|  |  | +          this.maxClassList.map(item => {
 | 
	
		
			
				|  |  | +            if (item.id == this.leftFrom.all) {
 | 
	
		
			
				|  |  | +              className = item.name;
 | 
	
		
			
				|  |  | +              return item.name
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +          // 排的是合奏班 
 | 
	
		
			
				|  |  | +          this.tableList.push({
 | 
	
		
			
				|  |  | +            'dateString': dataStr,
 | 
	
		
			
				|  |  | +            'week': this.week[this.checkList[i]].name,
 | 
	
		
			
				|  |  | +            'type': 'SINGLE',
 | 
	
		
			
				|  |  | +            'id': this.leftFrom.all,
 | 
	
		
			
				|  |  | +            date,
 | 
	
		
			
				|  |  | +            'name': className,
 | 
	
		
			
				|  |  | +            'classTime': this.week[this.checkList[i]].startTime + '-' + this.week[this.checkList[i]].endTime
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +          // 这里我排单技课
 | 
	
		
			
				|  |  | +          for (let j in this.activeSingleList) {
 | 
	
		
			
				|  |  | +            this.classCardList.push({
 | 
	
		
			
				|  |  | +              'classDate': dataStr,
 | 
	
		
			
				|  |  | +              'classGroupId': this.activeSingleList[j].id,
 | 
	
		
			
				|  |  | +              'startClassTime': this.week[this.checkList[i]].startTime,
 | 
	
		
			
				|  |  | +              'endClassTime': this.week[this.checkList[i]].endTime,
 | 
	
		
			
				|  |  | +              'type': 'SINGLE',
 | 
	
		
			
				|  |  | +              'mixid': this.activeSingleList[j].mixid
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          classCount--
 | 
	
		
			
				|  |  | +          if (classCount == 0) break
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      // console.log(this.tableList)
 | 
	
		
			
				|  |  | +      // 清除现在所选的值
 | 
	
		
			
				|  |  | +      this.$refs['leftFrom'].resetFields();
 | 
	
		
			
				|  |  | +      this.week = this.$options.data().week;
 | 
	
		
			
				|  |  | +      this.checkList = [];
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    chioseWeek (val) {
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getThinkDate (date, num, type = 1) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      let Stamp = date;
 | 
	
		
			
				|  |  | +      Stamp.setDate(date.getDate() + num) // 获取当前月数的第几天
 | 
	
		
			
				|  |  | +      // console.log(date.getMonth() + 1)
 | 
	
		
			
				|  |  | +      // console.log(Stamp.getMonth() + 1)
 | 
	
		
			
				|  |  | +      var year = Stamp.getFullYear(); //获取完整的年份(4位,1970-????)
 | 
	
		
			
				|  |  | +      var month = Stamp.getMonth() + 1; //获取当前月份(0-11,0代表1月)
 | 
	
		
			
				|  |  | +      var mvar = '';
 | 
	
		
			
				|  |  | +      if (month < 10) {
 | 
	
		
			
				|  |  | +        mvar = '0' + month;
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        mvar = month + '';
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      var day = Stamp.getDate();
 | 
	
		
			
				|  |  | +      var dvar = '';
 | 
	
		
			
				|  |  | +      if (day < 10) {
 | 
	
		
			
				|  |  | +        dvar = '0' + day;
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        dvar = day + '';
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (type == 2) {
 | 
	
		
			
				|  |  | +        return mvar + dvar;
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        return year + "-" + mvar + '-' + dvar;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    changeMixClass (val) {
 | 
	
		
			
				|  |  | +      // 根据合奏班id获取合奏班下的所有单技班
 | 
	
		
			
				|  |  | +      this.activeSingleList = [];
 | 
	
		
			
				|  |  | +      getAllSignClass({ musicGroupId: this.teamid, mixClassGroupId: val }).then(res => {
 | 
	
		
			
				|  |  | +        if (res.code == 200) {
 | 
	
		
			
				|  |  | +          this.activeSingleList = res.data.map(item => {
 | 
	
		
			
				|  |  | +            item.mixid = val
 | 
	
		
			
				|  |  | +            return item;
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -318,8 +336,8 @@ export default {
 | 
	
		
			
				|  |  |    flex-direction: row;
 | 
	
		
			
				|  |  |    justify-content: flex-start;
 | 
	
		
			
				|  |  |    .left {
 | 
	
		
			
				|  |  | -    width: 300px;
 | 
	
		
			
				|  |  | -    min-width: 300px;
 | 
	
		
			
				|  |  | +    width: 330px;
 | 
	
		
			
				|  |  | +    min-width: 330px;
 | 
	
		
			
				|  |  |      margin-right: 90px;
 | 
	
		
			
				|  |  |      .chioseday {
 | 
	
		
			
				|  |  |        margin-top: 20px;
 |