|  | @@ -0,0 +1,349 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div class='course-container'>
 | 
	
		
			
				|  |  | +    <div class="left">
 | 
	
		
			
				|  |  | +      <el-form :model="leftFrom"
 | 
	
		
			
				|  |  | +               :inline="true">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <el-form-item label="排课起始时间">
 | 
	
		
			
				|  |  | +          <el-date-picker v-model="leftFrom.time"
 | 
	
		
			
				|  |  | +                          align="right"
 | 
	
		
			
				|  |  | +                          type="date"
 | 
	
		
			
				|  |  | +                          placeholder="选择日期"
 | 
	
		
			
				|  |  | +                          :picker-options="pickerOptions">
 | 
	
		
			
				|  |  | +          </el-date-picker>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="循环方式">
 | 
	
		
			
				|  |  | +          <el-input v-model="leftFrom.loop"></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="排课次数">
 | 
	
		
			
				|  |  | +          <el-input type="number"
 | 
	
		
			
				|  |  | +                    v-model="leftFrom.num"></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +      </el-form>
 | 
	
		
			
				|  |  | +      <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>
 | 
	
		
			
				|  |  | +            <el-time-select placeholder="起始"
 | 
	
		
			
				|  |  | +                            v-model="week.Monday.startTime"
 | 
	
		
			
				|  |  | +                            :picker-options="{
 | 
	
		
			
				|  |  | +                             start: '06:30',
 | 
	
		
			
				|  |  | +                             step: '00:05',
 | 
	
		
			
				|  |  | +                             end: '18:30'
 | 
	
		
			
				|  |  | +                                            }">
 | 
	
		
			
				|  |  | +            </el-time-select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            <el-time-select placeholder="结束"
 | 
	
		
			
				|  |  | +                            v-model="week.Monday.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.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:05',
 | 
	
		
			
				|  |  | +                             end: '18:30'
 | 
	
		
			
				|  |  | +                                            }">
 | 
	
		
			
				|  |  | +            </el-time-select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            <el-time-select placeholder="结束"
 | 
	
		
			
				|  |  | +                            v-model="week.Sunday.endTime"
 | 
	
		
			
				|  |  | +                            :picker-options="{
 | 
	
		
			
				|  |  | +                            start: '08:30',
 | 
	
		
			
				|  |  | +                            step: '00:15',
 | 
	
		
			
				|  |  | +                            end: '23:30',
 | 
	
		
			
				|  |  | +                            minTime: week.Sunday.startTime
 | 
	
		
			
				|  |  | +                                            }">
 | 
	
		
			
				|  |  | +            </el-time-select>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +        </el-checkbox-group>
 | 
	
		
			
				|  |  | +        <div class="holidayWrap">
 | 
	
		
			
				|  |  | +          <el-checkbox v-model="isholiday">跳过节假日</el-checkbox>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +        <div class="btnWrap">
 | 
	
		
			
				|  |  | +          <div class="closeBtn">取消排课</div>
 | 
	
		
			
				|  |  | +          <div class="okBtn">一件排课</div>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +    <div class="right">
 | 
	
		
			
				|  |  | +      <el-calendar>
 | 
	
		
			
				|  |  | +        <!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
 | 
	
		
			
				|  |  | +        <template slot="dateCell"
 | 
	
		
			
				|  |  | +                  slot-scope="{date, data}">
 | 
	
		
			
				|  |  | +          <p :class="data.isSelected ? 'is-selected' : ''">
 | 
	
		
			
				|  |  | +            {{ data.day.split('-').slice(1).join('-') }} {{ data.isSelected ? '✔️' : ''}}
 | 
	
		
			
				|  |  | +          </p>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +      </el-calendar>
 | 
	
		
			
				|  |  | +      <div class="btnWrap">
 | 
	
		
			
				|  |  | +        <div class="nextBtn">下一步</div>
 | 
	
		
			
				|  |  | +        <div class="okBtn">确定</div>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  data () {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      leftFrom: {
 | 
	
		
			
				|  |  | +        loop: '', // 循环方式
 | 
	
		
			
				|  |  | +        time: '',
 | 
	
		
			
				|  |  | +        num: ''
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      pickerOptions: {
 | 
	
		
			
				|  |  | +        disabledDate (time) {
 | 
	
		
			
				|  |  | +          return time.getTime() > Date.now();
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        shortcuts: [{
 | 
	
		
			
				|  |  | +          text: '今天',
 | 
	
		
			
				|  |  | +          onClick (picker) {
 | 
	
		
			
				|  |  | +            picker.$emit('pick', new Date());
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }, {
 | 
	
		
			
				|  |  | +          text: '昨天',
 | 
	
		
			
				|  |  | +          onClick (picker) {
 | 
	
		
			
				|  |  | +            const date = new Date();
 | 
	
		
			
				|  |  | +            date.setTime(date.getTime() - 3600 * 1000 * 24);
 | 
	
		
			
				|  |  | +            picker.$emit('pick', date);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }, {
 | 
	
		
			
				|  |  | +          text: '一周前',
 | 
	
		
			
				|  |  | +          onClick (picker) {
 | 
	
		
			
				|  |  | +            const date = new Date();
 | 
	
		
			
				|  |  | +            date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
 | 
	
		
			
				|  |  | +            picker.$emit('pick', date);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }]
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      checkList: [],
 | 
	
		
			
				|  |  | +      week: {
 | 
	
		
			
				|  |  | +        Monday: {
 | 
	
		
			
				|  |  | +          startTime: '',
 | 
	
		
			
				|  |  | +          endTime: ''
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        Tuesday: {
 | 
	
		
			
				|  |  | +          startTime: '',
 | 
	
		
			
				|  |  | +          endTime: ''
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        Wednesday: {
 | 
	
		
			
				|  |  | +          startTime: '',
 | 
	
		
			
				|  |  | +          endTime: ''
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        Thursday: {
 | 
	
		
			
				|  |  | +          startTime: '',
 | 
	
		
			
				|  |  | +          endTime: ''
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        Friday: {
 | 
	
		
			
				|  |  | +          startTime: '',
 | 
	
		
			
				|  |  | +          endTime: ''
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        Saturday: {
 | 
	
		
			
				|  |  | +          startTime: '',
 | 
	
		
			
				|  |  | +          endTime: ''
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        Sunday: {
 | 
	
		
			
				|  |  | +          startTime: '',
 | 
	
		
			
				|  |  | +          endTime: ''
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      isholiday: false
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +<style lang="scss">
 | 
	
		
			
				|  |  | +.course-container {
 | 
	
		
			
				|  |  | +  padding: 47px 58px;
 | 
	
		
			
				|  |  | +  background-color: #fff;
 | 
	
		
			
				|  |  | +  display: flex;
 | 
	
		
			
				|  |  | +  flex-direction: row;
 | 
	
		
			
				|  |  | +  justify-content: flex-start;
 | 
	
		
			
				|  |  | +  .left {
 | 
	
		
			
				|  |  | +    width: 300px;
 | 
	
		
			
				|  |  | +    min-width: 300px;
 | 
	
		
			
				|  |  | +    margin-right: 90px;
 | 
	
		
			
				|  |  | +    .chioseday {
 | 
	
		
			
				|  |  | +      margin-top: 20px;
 | 
	
		
			
				|  |  | +      .el-date-editor.el-input,
 | 
	
		
			
				|  |  | +      .el-date-editor.el-input__inner {
 | 
	
		
			
				|  |  | +        width: 100px;
 | 
	
		
			
				|  |  | +        margin-left: 20px;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    .holidayWrap {
 | 
	
		
			
				|  |  | +      margin-top: 34px;
 | 
	
		
			
				|  |  | +      margin-bottom: 40px;
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      flex-direction: column;
 | 
	
		
			
				|  |  | +      justify-items: center;
 | 
	
		
			
				|  |  | +      align-items: center;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    .btnWrap {
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      flex-direction: row;
 | 
	
		
			
				|  |  | +      justify-content: space-around;
 | 
	
		
			
				|  |  | +      div {
 | 
	
		
			
				|  |  | +        width: 120px;
 | 
	
		
			
				|  |  | +        height: 40px;
 | 
	
		
			
				|  |  | +        border-radius: 4px;
 | 
	
		
			
				|  |  | +        text-align: center;
 | 
	
		
			
				|  |  | +        line-height: 40px;
 | 
	
		
			
				|  |  | +        cursor: pointer;
 | 
	
		
			
				|  |  | +        color: #fff;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .closeBtn {
 | 
	
		
			
				|  |  | +        background-color: #777;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .okBtn {
 | 
	
		
			
				|  |  | +        background-color: #14928a;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  .right {
 | 
	
		
			
				|  |  | +    .is-selected {
 | 
	
		
			
				|  |  | +      color: #1989fa;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    .el-calendar {
 | 
	
		
			
				|  |  | +      max-width: 950px;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    .btnWrap {
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      flex-direction: row;
 | 
	
		
			
				|  |  | +      justify-content: flex-end;
 | 
	
		
			
				|  |  | +      div {
 | 
	
		
			
				|  |  | +        width: 120px;
 | 
	
		
			
				|  |  | +        height: 40px;
 | 
	
		
			
				|  |  | +        line-height: 40px;
 | 
	
		
			
				|  |  | +        text-align: center;
 | 
	
		
			
				|  |  | +        color: #fff;
 | 
	
		
			
				|  |  | +        border-radius: 4px;
 | 
	
		
			
				|  |  | +        margin-right: 20px;
 | 
	
		
			
				|  |  | +        cursor: pointer;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .nextBtn {
 | 
	
		
			
				|  |  | +        background-color: #444;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .okBtn {
 | 
	
		
			
				|  |  | +        background-color: #f97215;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 |