<style>
  .lessonPreparation .lessTop {
    color: #000000;
    font-weight: bold;
    font-size: 14px;
  }

  .lessonPreparation .Less_LeftIcon {
    background-color: #3FC4FF;
    width: 2px;
    height: 10px;
  }

  .lessonPreparation .w260 {
    width: 260px !important;
  }

  .lessonPreparation .w180 {
    width: 180px !important;
  }

  .lessonPreparation .less_Time {
    color: #999999;
    font-size: 13px;
  }

  .lessonPreparation .teach_Content {
    color: #111111;
    font-size: 14px;
    margin: 20px 0;
    font-weight: bold;
  }

  .lessonPreparation .add_Lesson {
    width: 30px;
    height: 30px;
    background-color: #2961FE;
    color: #fff;
    text-align: center;
    line-height: 30px;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
  }

  .lessonPreparation .beikeBtn {
    padding: 6px 30px;
    background-color: #2961FE;
    color: #fff;
    font-size: 13px;
    border-radius: 5px;
    margin-left: 20px;
    cursor: pointer;
  }

  .lessonPreparation .beikeModule {
    padding: 9px 15px;
    background-color: #FFFFFF;
    color: #A1AAB2;
    font-size: 13px;
    border-radius: 5px;
    margin-right: 20px;
    cursor: pointer;
    border: 1px solid #A1AAB2;
  }

  .lessonPreparation .teach_Lessback {
    width: 64.5%;
    height: 50px;
    min-width: 908px;
    text-align: right;
    line-height: 50px;
    padding-right: 20px;
    background-color: #F0F5FB;
  }
  .lessonPreparation .Less_Delete{
    width: 30px;
    height: 30px;
    background-color: red;
    color: #fff;
    text-align: center;
    line-height: 30px;
    border-radius: 50%;
    cursor: pointer;
    margin-top:5px;
    margin-left: 8px;
    position: absolute;
    right: -10px;
    top: -10px;
    display: none;
  }
  .lessonPreparation .Less_Delete:hover{
    opacity: 0.6;
  }
  .lessonPreparation .w60{
    width:60px!important;
  }
  .lessonPreparation .addbtn{
    width: 100%;
    height: 45px;
    border-radius: 5px;
    border: 1px dashed #E2E2E2;
    margin-top: 10px;
    cursor: pointer;
  }
  .lessonPreparation .cont{
    padding: 1px;
    border: 1px dashed #FFF;
    position: relative;
  }
  .lessonPreparation .cont:hover{
    border: 1px dashed #E2E2E2;
  }
  .lessonPreparation .cont .q-gutter-y-xs > *, .q-gutter-xs > *{
    margin: 0;
  }
  .lessonPreparation .cont:hover .Less_Delete{
    display: inline-block;
  }
  .lessonPreparation .edui-editor{
    z-index:99!important;
  }
</style>
<template>
  <div class="page-body lessonPreparation">
    <div style="width:70%;min-width:908px;">
      <div class="lessTop">备课编辑</div>
      <div style="margin:20px 0;">
        <span class="Less_LeftIcon"></span>
        教案名称：<el-input v-model="addMsg.LessonPlan" placeholder="教案名称" class="w260"></el-input>
        <span style="margin-left:30px;">第
        <el-input v-model="addMsg.CourseNum" style="margin:0 5px;" placeholder="第几课" @keyup.native="checkInteger(addMsg,'CourseNum')" class="w60"></el-input>课</span>
        <span style="float:right;display:inline-block;">
          <q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="选择模板" @click="getModule()" />
        </span>
      </div>
      <div style="display:flex;">
        <div>
          <span class="less_Time" style="margin-left:30px;">时间：</span>
          <span>{{WorkDate}}</span>
        </div>
        <div style="margin-left:188px;">
          <span class="less_Time">担当者：</span>
          <span>{{TeacherName}}</span>
        </div>
      </div>
      <div class="teach_Content">
        指導内容
      </div>
      <div style="" v-for="(item,index) in addMsg.LessonPlanList">
        <q-input filled stack-label maxlength="50" v-model="item.CourseTitle" :dense="false"
                 class="col-12 q-pb-lg" :label="item.CourseName+'項目'" />
      </div>
      <div class="teach_Content">
        指導項目
      </div>
      <div style="" v-for="(item,index) in addMsg.LessonPlanList">
        <div style="margin-top: 10px">{{item.CourseName}}</div>
        <UeEditor class="col-8" v-model="item.LessonPlanProjectsList[0].ProjectContent" :config="config"></UeEditor>
      </div>
      <div style="" v-for="(item,index) in addMsg.LessonPlanList">
        <div class="teach_Content">
          {{item.CourseName}}上课内容
        </div>
        <div class="row q-gutter-xs cont" v-for="(subItem,subIndex) in item.LessonPlanDetailsList"
          style="margin-top:20px;align-items: self-end;width:100%;">

          <q-input filled stack-label maxlength="20" v-model="subItem.Duration" @keyup.native="checkInteger(subItem,'Duration')" style="width: 100%;"
            :dense="false" class=" " label="时长" suffix="分钟"/>

          <UeEditor class="" style="width: 100%;" v-model="subItem.ProjectContent" :config="config"></UeEditor>
          <div class="Less_Delete " title="删除详情" @click="delLessInfo(index,subIndex)">
            <i class="iconfont icon-shanchu"></i>
          </div>
        </div>

        <div class="addbtn flex flex-center" @click="addPlanDetailsList(index)">
          <i class="iconfont icon-add"></i>
        </div>
      </div>

      <div style="margin-top:30px;">
        <span class="beikeModule" @click="saveInfo(1)">存为模板</span>
        <q-btn label="提交" size="md" color="accent q-px-md" @click="saveInfo(0)" />
      </div>
      <lessoncheck-form v-if="IsShowLessForm" @close="closeTeachSaveForm"
        @success="refreshPage">
      </lessoncheck-form>
    </div>
  </div>
</template>

<script>
  import UeEditor from '../../components/editor/UeEditor'
  import lessoncheckForm from '../../components/course/lessoncheck-form'
  import {
    SetClassLessPlan,
    GetClassLessPlan
  } from '../../api/course/class';
  export default {
    meta: {
      title: "备课编辑"
    },
    props: {},
    components: {
      UeEditor,
      lessoncheckForm
    },
    data() {
      return {
        msg: {
          ClassId: 0,
          School_Id: 0,
          ClassPlanId: 0
        },
        addMsg: {
          CourseNum: '', //第几课
          ClassId: 0, //班级
          School_Id: 0,
          ClassPlanId: 0, //排课id
          LessonPlan: '', //教案名称
          IsTemplate: 0, //是否设置成模板0-否，1-是
          LessonPlanList: [] //老师教案详情
        },
        TeacherName: '', //教师名字
        WorkDate: '', //时间
        config: {
          initialFrameWidth: null,
          initialFrameHeight: 150,
        },
        IsShowLessForm: false,
      }
    },
    created() {},
    mounted() {
      if (this.$route.query) {
        this.msg.ClassId = this.$route.query.ClassId;
        this.msg.School_Id = this.$route.query.School_Id;
        this.msg.ClassPlanId = this.$route.query.ClassPlanId;
      }
      this.getList();
    },
    methods: {
      getList() {
        GetClassLessPlan(this.msg).then(res => {
          if (res.Code == 1) {
            let data = res.Data;
            this.addMsg.CourseNum = data.CourseNum;
            this.addMsg.ClassId = data.ClassId;
            this.addMsg.School_Id = data.School_Id;
            this.addMsg.ClassPlanId = data.ClassPlanId;
            this.addMsg.LessonPlan = data.LessonPlan;
            this.addMsg.IsTemplate = data.IsTemplate;
            if (data.LessonPlanList == null) {
              this.addMsg.LessonPlanList = [];
            } else {
              this.addMsg.LessonPlanList = data.LessonPlanList;
              this.addMsg.LessonPlanList.forEach(x=>{
                x.LessonPlanProjectsList.push({
                  ProjectContent:''
                })
              })
            }
            this.TeacherName = data.TeacherName;
            this.WorkDate = data.WorkDate;
          }
        })
      },
      handleClose(tag, index) {
        this.addMsg.LessonPlanList[index].LessonPlanProjectsList[0].ProjectContentList.splice(this.addMsg
          .LessonPlanList[index].LessonPlanProjectsList[0].ProjectContentList.indexOf(tag), 1);
      },
      showInput(item) {
        item.isShow = true;
        this.$nextTick(() => {
          this.$refs.saveTagInput[0].$refs.input.focus();
        });
      },
      handleInputConfirm(item, index) {
        if (item.isValue) {
          this.addMsg.LessonPlanList[index].LessonPlanProjectsList[0].ProjectContentList.push(item.isValue);
        }
        item.isShow = false;
        item.isValue = '';
      },
      //新增教案
      addPlanList() {
        let obj = {
          CourseName: '', //课程名称（活动篇/理解篇）
          CourseTitle: '', //课程标题
          LessonPlanDetailsList: [], //老师教案详情
          LessonPlanProjectsList: [{
            ProjectContentList: []
          }], //老师教案详情
          isShow: false,
          isValue: ''
        }
        this.addMsg.LessonPlanList.push(obj);
      },
      //添加老师教案详情
      addPlanDetailsList(index) {
        var obj = {
          ProjectContent: '',
          Duration: ''
        }
        this.addMsg.LessonPlanList[index].LessonPlanDetailsList.push(obj);
      },
      //删除教案详情
      delLessInfo(index,subIndex){
        this.addMsg.LessonPlanList[index].LessonPlanDetailsList.splice(subIndex,1);
      },
      //删除整个教案
      delLessOne(index){
        this.addMsg.LessonPlanList.splice(index,1);
      },
      //关闭弹窗
      closeTeachSaveForm() {
        this.IsShowLessForm = false
      },
      //选择模板
      getModule(){
        this.IsShowLessForm=true;
      },
      //获取选择模板数据
      refreshPage(val){
        if(val && val.LessonPlanList.length>0){
          let data = val.LessonPlanList;
          data.forEach((x,i)=>{
            if(i==0){
              x.LessonPlanId=this.addMsg.LessonPlanList[0].LessonPlanId;

            }else if(i==1){
              x.LessonPlanId=this.addMsg.LessonPlanList[1].LessonPlanId;

            }else {
              x.LessonPlanId=0;

            }
            x.LessonPlanDetailsList.forEach(j=>{
              j.LessonPlanDetailsId = 0
            })
             x.LessonPlanProjectsList.forEach(j=>{
              j.LessonPlanProjectsId = 0
            })
          })
          this.addMsg.LessonPlanList = data
        }
      },
      //提交
      saveInfo(num) {
        this.addMsg.IsTemplate = num;
        SetClassLessPlan(this.addMsg).then(res => {
          if(res.Code==1){
            this.$q.notify({
              icon: 'iconfont icon-chenggong',
              color: 'accent',
              timeout: 2000,
              message: '数据保存成功！',
              position: 'top'
            })
            var tempStr = '/course/teacherLesson';
            this.$router.push({
              path: tempStr
            });
          }
        })
      },
    },
  }

</script>
<style lang="sass">
  @import url('~assets/css/table.sass')

</style>
