<style>
  .Title_remark {
    font-size: 12px;
    color: #999999;
    margin-left: 20px;
  }

  .conTinuCheckdTable {
    width: 100%;
    height: auto;
    text-align: left;
    margin-top: 20px;
    font-size: 12px;
  }

  .conTinuCheckdTable th {
    color: #888888;
  }

  .enrollTotalSearchTable {
    width: 100%;
  }

  .backContius {
    color: #2961fe;
    cursor: pointer;
  }

  .contiue_Top {
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid #d1d1d1;
  }

  .continus_ClassChoice {
    padding: 20px;
    max-height: 460px;
    overflow: auto;
  }

  .el-picker-panel {
    z-index: 9999 !important;
  }

  .Sysuser_Date .el-range-editor .el-range-input {
    background-color: transparent;
  }

  .Sysuser_Date .el-range-editor.el-input__inner {
    background-color: transparent;
  }

  .conChoiceTeacherTable {
    width: 100%;
    border: 1px solid #d1d1d1;
  }

  .continus_ClassChoice::-webkit-scrollbar {
    width: 4px;
    height: 8px;
  }

  .continus_ClassChoice::-webkit-scrollbar-thumb {
    border-radius: 4px;
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
    background: #c9c9c9;
  }

  .continus_ClassChoice::-webkit-scrollbar-track {
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    background: #ededed;
  }

  .contius_List {
    width: 100%;
    height: 130px;
    border: 1px solid #d1d1d1;
    border-radius: 5px;
    margin-bottom: 15px;
    font-size: 12px;
    box-shadow: 5px 5px 5px #d4d0d0;
  }

  .continu_Div {
    display: inline-block;
    min-height: 90px;
    border-right: 1px dashed #d1d1d1;
    padding: 10px;
    color: #000;
  }

  .continu_Div:last-child {
    border-right: 0;
  }

  .continu_Btm {
    width: 100%;
    height: 30px;
    padding: 10px;
    border-top: 1px solid #d1d1d1;
  }

  ._font_size12 {
    font-size: 12px !important;
  }

  ._addUpload_box {
    display: block;
    margin-top: 15px;
  }

  ._addUpload_box img {
    width: 100%;
  }

  ._addUpload_box>div {
    float: left;
    width: 138px;
    height: 92px;
    border: 1px dashed rgba(210, 210, 210, 1);
    border-radius: 2px;
    cursor: pointer;
    margin-bottom: 10px;
    padding: 5px;
    margin-right: 10px;
    position: relative;
  }

  ._addUpload_box>div:hover {
    background-color: #f5f5f5;
  }

  ._addFile_name {
    padding-left: 15px;
    max-width: 450px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  ._addUpload_box .icon-guanbi1 {
    font-size: 12px;
    color: white;
    display: inline-block;
    margin-left: 15px;
    position: absolute;
    right: -6px;
    top: -9px;
    background-color: #f56c6c;
    border-radius: 50%;
    height: 20px;
    width: 20px;
    text-align: center;
    line-height: 20px;
  }

  ._addUpload_box .icon-guanbi1:hover {
    font-size: 12px;
    color: #c94052;
  }

  ._addUpload_box .icon-excel,
  ._addUpload_box .icon-pdf,
  ._addUpload_box .icon-txt,
  ._addUpload_box .icon-wenjian,
  ._addUpload_box .icon-yasuobao,
  ._addUpload_box .icon-shipin,
  ._addUpload_box .icon-word {
    text-align: center;
    font-size: 38px;
    color: green;
    line-height: 75px;
  }

  ._addUpload_box .icon-yasuobao {
    color: gray;
  }

  ._show_img_box {
    position: fixed;
    background: rgba(0, 0, 0, 0.6);
    left: 0;
    top: 0;
    width: 100vw !important;
    height: 100vh;
    z-index: 999;
    text-align: center;
  }

  ._addUpload_tips {
    font-size: 12px;
    color: #999999;
  }

  ._jump_page {
    cursor: pointer;
    text-decoration: underline;
  }

  ._jump_page:hover {
    color: #c94052;
  }

  .stop .el-upload-dragger {
    font-size: 28px;
    color: #8c939d;
    width: 126px;
    height: 80px;
    line-height: 41px;
    text-align: center;
  }

</style>
<!--续课-->
<template>
  <q-dialog v-model="IsShowContinueClassDialog" content-class="bg-grey-1" persistent transition-show="scale"
    transition-hide="scale">
    <q-card style="width: 850px; max-width: 900px" class="stop">
      <template v-if="isShowTuike">
        <q-card-section>
          <div class="text-h6">
            {{ transMsg.ChangeType == 1 ? "转班申请" : "分拆" }}
            <span class="Title_remark">注：找不到学员？请确认学员是否已退课或已续班</span>
          </div>
        </q-card-section>
        <div style="margin: 20px; border-bottom: 1px solid #e2e2e2">
          <div class="apply_List" v-for="(item, index) in studentList" v-if="item.IsShow">
            <span style="width: 15%">{{ item.GuestName }}</span>
            <span style="width: 7%">{{ item.SexStr }}</span>
            <span style="width: 8%">{{ item.Age }}</span>
            <span style="width: 20%">{{ item.Mobile }}</span>
            <span style="width: 20%">
              <template v-if="item.ClassHours">已学：{{ item.ClassHours }}课时</template>
            </span>
            <span style="width: 10%">{{ item.GuestStateStr }}</span>
            <span style="width: 20%" class="guest_Status">
              <span v-if="item.GuestState == 1" @click="clickItem(item)">
                {{ transMsg.ChangeType == 1 ? "转班" : "分拆" }}
              </span>
              <template v-if="chooseItem && chooseItem.Id == item.Id">
                <span style="margin-left: 10px" @click="cancelApply">
                  取消{{ transMsg.ChangeType == 1 ? "转班" : "分拆" }}
                </span>
              </template>
            </span>
          </div>
          <table class="conTinuCheckdTable" v-if="classItem.ClassId > 0 && studentList.length > 0 && isShowAdd">
            <tr>
              <th>续费班级</th>
              <th>续费班级</th>
              <th>2人续班单价</th>
              <th>应收合计</th>
              <th>带班老师</th>
              <th>开班日期</th>
            </tr>
            <tr>
              <td>
                <span style="color: #2961fe; cursor: pointer" @click="getRenewClassList()">+点击选择班级</span>
              </td>
              <td>{{ classItem.ClassName }}</td>
              <td>¥{{ classItem.SellPrice }}</td>
              <td>¥{{ classItem.OriginalPrice }}</td>
              <td>{{ classItem.TeacherName }}</td>
              <td>{{ classItem.OpenTime }}</td>
            </tr>
          </table>
          <table class="conTinuCheckdTable" v-else-if="studentList.length > 0 && isShowAdd">
            <tr>
              <td>
                <span class="backContius" @click="getRenewClassList()">+点击选择班级</span>
              </td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
            </tr>
          </table>
          <div class="row" style="margin-top: 20px">
            <template v-if="transMsg.ChangeType == 1">
              <q-input filled v-model="transMsg.OutTime" class="col-6 q-pr-lg" mask="date" label="转出日期">
                <template v-slot:append>
                  <q-icon name="event" class="cursor-pointer">
                    <q-popup-proxy ref="qDateProxy1" transition-show="scale" transition-hide="scale">
                      <q-date v-model="transMsg.OutTime" :options="optionsFn2" @input="getOutTime" />
                    </q-popup-proxy>
                  </q-icon>
                </template>
              </q-input>
            </template>
            <q-input filled v-model="transMsg.EffectiveDate" class="col-6" mask="date" label="生效日期">
              <template v-slot:append>
                <q-icon name="event" class="cursor-pointer">
                  <q-popup-proxy ref="qDateProxy2" transition-show="scale" transition-hide="scale">
                    <q-date v-model="transMsg.EffectiveDate" :options="optionsFn" @input="checkEffectDate()" />
                  </q-popup-proxy>
                </q-icon>
              </template>
            </q-input>
          </div>
          <q-input filled stack-label :dense="false" v-model="transMsg.Remarks" style="margin-top: 20px" type="textarea"
            class="col-12" :label="transMsg.ChangeType == 1 ? '转班原因' : '分拆原因'" />
          <div class="row">
            <div class="col-12 q-mt-md text-grey-6">
              上传附件：<span class="fj-tip" style="font-size: 10px; color: #f00">*单文件限制5M内</span>
            </div>
            <div>
              <!-- <p>{{$t('fnc.scfujian')}}<span class="_addUpload_tips">{{$t('tips.wjdxbncgsz')}}</span></p> -->
              <div class="_addUpload_box clearfix">
                <template v-for="(file, fIndex) in saveMsg">
                  <div v-if="file.Type == 3">
                    <div style="width: 100%; height: 100%; overflow: hidden">
                      <img :src="file.Url ? file.Url : file.Content" @click="showUpLoadFile(file)" />
                    </div>
                    <span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
                  </div>
                  <div v-if="file.Type == 1">
                    <div class="iconfont" :class="
                        file.Content.substring(
                          file.Content.lastIndexOf('.') + 1,
                          file.Content.length
                        ).toUpperCase() == 'PDF'
                          ? 'icon-pdf'
                          : file.Content.substring(
                              file.Content.lastIndexOf('.') + 1,
                              file.Content.length
                            ).toUpperCase() == 'TXT'
                          ? 'icon-txt'
                          : file.Content.substring(
                              file.Content.lastIndexOf('.') + 1,
                              file.Content.length
                            ).toUpperCase() == 'DOCX' ||
                            file.Content.substring(
                              file.Content.lastIndexOf('.') + 1,
                              file.Content.length
                            ).toUpperCase() == 'DOC'
                          ? 'icon-word'
                          : 'icon-excel'
                      " @click="showUpLoadFile(file)"></div>
                    <span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
                  </div>
                  <div v-if="file.Type == 2">
                    <div class="iconfont icon-wenjian" @click="showUpLoadFile(file)"></div>
                    <span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
                  </div>
                  <div v-if="file.Type == 4">
                    <div class="iconfont icon-yasuobao" @click="showUpLoadFile(file)"></div>
                    <span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
                  </div>
                  <div v-if="file.Type == 5">
                    <div class="iconfont icon-shipin" @click="showUpLoadFile(file)"></div>
                    <span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
                  </div>
                </template>
                <div class="_pic_upload">
                  <el-upload drag :http-request="uploadFileBtn" :multiple="true" :show-file-list="false" action="">
                    <i class="el-icon-plus avatar-uploader-icon"></i>
                    <div class="el-upload__text">
                      {{ $t("active.ld_djscwj") }}
                    </div>
                  </el-upload>
                </div>
              </div>
            </div>
          </div>
          <q-separator />
        </div>
        <q-card-actions align="right" class="bg-white">
          <q-btn label="取消" flat color="grey-10" style="font-weight: 400 !important" @click="closeContinueClassForm" />
          <q-btn :label="transMsg.ChangeType == 1 ? '确认转班' : '确认分拆'" color="accent" class="q-px-md"
            style="font-weight: 400 !important" @click="setRenewOrder" />
        </q-card-actions>
      </template>
      <template v-else>
        <div class="contiue_Top">
          <span class="backContius" @click="isShowTuike = true">
            <i style="font-size: 18px; margin-left: 15px" title="返回" class="iconfont icon-fanhui"></i></span>
          <span style="margin-left: 20px">班级选择 </span>
        </div>
        <div class="col row wrap q-mr-lg q-col-gutter-md" style="margin: 10px">
          <div class="col-3">
            <q-select @input="getRenewClassList" filled option-value="SId" option-label="SName"
              v-model="classMsg.School_Id" :options="schoolList" emit-value map-options label="关联校区" />
          </div>
          <div class="col-3">
            <q-select filled stack-label option-value="CTypeId" option-label="CTypeName" v-model="classMsg.ClassType"
              ref="CouseId" :options="classTypeList" label="班级类型" :dense="false" emit-value map-options />
          </div>
          <div class="col-5 Sysuser_Date">
            <q-field filled>
               <template v-slot:control>
                <el-date-picker v-model="dateList" @change="getRenewClassList()" value-format="yyyy-MM-dd"
                  type="daterange" style="border: none" range-separator="至" start-placeholder="开始时间"
                  end-placeholder="结束时间">
                    </el-date-picker>       
              </template>
            </q-field>
          </div>
          <div class="col-3">
            <q-input @change="getRenewClassList" clearable filled v-model="classMsg.TeacherName" label="带班老师"
              @clear="getRenewClassList" maxlength="20" />
          </div>
          <div class="col-3">
            <q-select filled stack-label use-input option-value="CourseId" option-label="CourseName"
              v-model="classMsg.CouseId" :options="ClassList" label="学习课程" :dense="false" emit-value map-options
              @filter="filterFn" @input="getRenewClassList">
              <template v-slot:no-option>
                <q-item>
                  <q-item-section class="text-grey">
                    未找到相关数据
                  </q-item-section>
                </q-item>
              </template>
            </q-select>
          </div>
        </div>
        <div class="continus_ClassChoice">
          <div class="contius_List" v-for="(cItem, cIndex) in calssData">
            <div style="display: flex">
              <div class="continu_Div" style="width: 30%">
                <div>{{ cItem.ClassName }}</div>
                <div style="margin-top: 5px">{{ cItem.CourseName }}</div>
                <div style="margin-top: 5px">{{ cItem.ClassHours }}课时</div>
              </div>
              <div class="continu_Div" style="width: 20%">
                <div>代课老师：{{ cItem.TeacherName }}</div>
                <div style="margin-top: 5px">
                  上课教师：{{ cItem.RoomName }}
                </div>
                <div style="margin-top: 5px">
                  开班时间：<span style="color: red">{{ cItem.OpenTime }}</span>
                </div>
              </div>
              <div class="continu_Div" style="width: 20%">
                <div>价格</div>
                <div style="margin: 5px 0">售价：{{ cItem.NewSellPrice }}</div>
                <template v-if="
                    cItem.ClassStepPriceList &&
                    cItem.ClassStepPriceList.length > 0
                  ">
                  更多优惠价格
                  <span class="iconfont icon-xiangxia" style="color: #2961fe; font-size: 10px"></span>
                  <q-popup-proxy>
                    <q-banner>
                      <div class="price-popup">
                        <div class="price-popup-item" v-for="(x, index2) in cItem.ClassStepPriceList" :key="index2"
                          style="margin: 5px 0">
                          <span style="color: #2d2d2d; font-weight: bold">{{ x.PersionNum }}人报名<span
                              style="color: #2860fb; margin-left: 15px">{{ x.PersionPrice.toFixed(2) }}</span></span>
                        </div>
                      </div>
                    </q-banner>
                  </q-popup-proxy>
                </template>
              </div>
              <div class="continu_Div" style="width: 15%">
                招生信息
                <div style="margin: 5px 0">
                  计划招收 {{ cItem.ClassPersion }}人
                </div>
                <div>
                  已招收
                  <span style="color: blue">{{ cItem.OrderStudentCount }}</span>人
                </div>
              </div>
              <div class="continu_Div" style="width: 15%">
                <q-btn label="选择此班" size="sm" @click="clickClassItem(cItem)" color="accent q-px-md" style="
                    font-weight: 400 !important;
                    display: block;
                    margin: 25px 0 0 10px;
                    padding: 0;
                  " />
              </div>
            </div>
            <div class="continu_Btm">OP备注 {{ cItem.InnerRemark }}</div>
          </div>
          <q-pagination class="full-width justify-end" v-model="classMsg.pageIndex" color="primary"
            :max="classPageCount" :input="true" @input="changePage" />
        </div>
      </template>
      <div v-if="picIsShow" class="_show_img_box" @click="(picIsShow = false), (picObj = [])">
        <div style="
            position: absolute;
            width: 800px;
            height: 600px;
            left: 50%;
            top: 50%;
            margin-left: -400px;
            margin-top: -300px;
          ">
          <el-carousel :initial-index="initialIndex" height="600px" :interval="5000" trigger="click">
            <el-carousel-item style="height: 600px; overflow: auto" v-for="(item, index) in picObj" :key="index">
              <img :src="item" style="" />
            </el-carousel-item>
          </el-carousel>
        </div>
      </div>
    </q-card>
  </q-dialog>
</template>
<script>
  import {
    getSchoolDropdown,
    SetOrderChange,
    SetOrderSplit,
  } from "../../api/school/index";
  import {
    GetClassTypeList
  } from "../../api/system/index";
  import {
    queryCourseDropdownList
  } from "../../api/course/index";
  import {
    getOrderGuestPageList,
    saveRenewOrder,
    queryRenewClass,
  } from "../../api/sale/sale";
  import {
    UploadSelfFile
  } from "../../api/common/common";
  export default {
    name: "backclass-form",
    props: {
      saveObj: {
        type: Object,
        default: null,
      },
      ChangeType: {
        type: Number,
        default: null,
      },
    },
    data() {
      return {
        IsShowContinueClassDialog: true,
        continueClassMsg: {
          OrderId: 0,
          ClassId: 0,
          pageIndex: 1,
          pageSize: 1000,
          GuestState: 1,
        },
        SaleRemark: "", //申请理由
        loading: false,
        studentList: [], //学员列表
        chooseItem: {}, //当前选择项
        classMsg: {
          pageIndex: 1, //当前页码
          pageSize: 5, //每页显示条数
          rowsPerPage: 5,
          School_Id: 0, //校区
          ClassType: 0, //班级类型
          StartTime: "", //开课开始时间
          EndTime: "", //开课结束时间
          TeacherName: "", //教师姓名
          CouseId: 0, //课程编号
          ClassId: 0, //原班级编号
        },
        transMsg: {
          Id: 0,
          SourceOrderId: 0, //原订单编号
          OrderGuestId: 0, //学员编号
          ChangeType: 1, //变更类型 1转班 2分拆
          NewClassId: 0, //新班级编号
          NewCourseId: 0, //新课程编号
          EffectiveDate: "", //生效日期
          OutTime: "", //转出本班时间
          Remarks: "", //变更原因
          ReceiptFileList: [],
        },
        classPageCount: 0,
        calssData: [],
        classItem: {}, //当前点击的班级

        isShowTuike: true, //显示退课信息
        schoolList: [], //校区列表
        classTypeList: [], //班级类型
        dateList: [], //日期
        ClassList: [], //学习课程
        AllClassList: [],
        isShowAdd: false,
        saveMsg: [],
        picIsShow: false,
        picObj: [],
        initialIndex: 0,
      };
    },
    created() {
      this.continueClassMsg.OrderId = this.saveObj.OrderId;
      this.continueClassMsg.ClassId = this.saveObj.ClassId;
      this.classMsg.ClassId = this.saveObj.ClassId;
      this.transMsg.ChangeType = this.ChangeType;

      this.getSchool();
      this.GetClassTypeList();
      this.CourseList();
      this.getStudentList();
    },
    methods: {
      optionsFn(date) {
        if (this.transMsg.OutTime == "") {
          var myDate = new Date();
          let month = myDate.getMonth() + 1;
          if (month < 10) {
            month = "0" + month;
          }
          var toDay = myDate.getFullYear() + "/" + month + "/" + myDate.getDate();
          return date >= toDay;
        } else {
          return date >= this.transMsg.OutTime;
        }
      },
      optionsFn2(date) {
        var myDate = new Date();
        let month = myDate.getMonth() + 1;
        if (month < 10) {
          month = "0" + month;
        }
        var toDay = myDate.getFullYear() + "/" + month + "/" + myDate.getDate();
        return date > toDay;
      },
      //取消申请
      cancelApply() {
        this.chooseItem = {};
        this.classItem = {};
        this.transMsg.SourceOrderId = 0;
        this.transMsg.OrderGuestId = 0;

        if (this.studentList && this.studentList.length > 0) {
          this.studentList.forEach((item) => {
            item.IsShow = true;
          });
        }
        this.isShowAdd = false;
      },
      //当前点击项
      clickItem(item) {
        if (this.studentList && this.studentList.length > 0) {
          this.studentList.forEach((item) => {
            item.IsShow = false;
          });
        }
        this.isShowAdd = true;
        item.IsShow = true;
        this.chooseItem = item;

        this.transMsg.SourceOrderId = item.OrderId;
        this.transMsg.OrderGuestId = item.Id;

        // this.getRenewClassList();
      },
      //关闭弹窗
      closeContinueClassForm() {
        this.IsShowContinueClassDialog = false;
        this.SaleRemark = "";
        this.continueClassMsg.OrderId = 0;
        this.continueClassMsg.ClassId = 0;
        this.chooseItem = {};
        this.$emit("close");
      },
      //获取订单学员列表
      getStudentList() {
        this.studentList = [];
        getOrderGuestPageList(this.continueClassMsg).then((res) => {
          if (res.Code == 1) {
            this.studentList = res.Data.PageData;
          }
        });
      },
      //获取续课列表
      getRenewClassList() {
        this.isShowTuike = false;
        if (this.dateList && this.dateList.length > 0) {
          this.classMsg.StartTime = this.dateList[0];
          this.classMsg.EndTime = this.dateList[1];
        } else {
          this.classMsg.StartTime = "";
          this.classMsg.EndTime = "";
        }
        queryRenewClass(this.classMsg).then((res) => {
          if (res.Code == 1) {
            this.classPageCount = res.Data.PageCount;
            this.calssData = res.Data.PageData;
          }
        });
      },
      clickClassItem(cItem) {
        this.classItem = cItem;
        this.isShowTuike = true;
        this.transMsg.NewClassId = cItem.ClassId;
        this.transMsg.NewCourseId = cItem.CouseId;
      },
      //确认转班
      setRenewOrder() {
        if (JSON.stringify(this.classItem) === "{}") {
          this.$q.notify({
            type: "negative",
            position: "top",
            message: `请选择要转的班级`,
          });
          return;
        }
        if (this.transMsg.OrderGuestId == 0) {
          this.$q.notify({
            type: "negative",
            position: "top",
            message: `请选择要申请的学员`,
          });
          return;
        }
        if (this.transMsg.ChangeType == 1) {
          if (this.transMsg.OutTime == "") {
            this.$q.notify({
              type: "negative",
              position: "top",
              message: `请选择转出日期`,
            });
            return;
          }
        }
        if (this.transMsg.EffectiveDate == "") {
          this.$q.notify({
            type: "negative",
            position: "top",
            message: `请选择生效日期`,
          });
          return;
        }
        if (this.transMsg.ReceiptFileList.length === 0) {
          this.$q.notify({
            type: "negative",
            position: "top",
            message: `请上传附件`,
          });
          return;
        }
        if (this.transMsg.ChangeType == 1) {
          SetOrderChange(this.transMsg).then((res) => {
            if (res.Code == 1) {
              this.$q.notify({
                icon: "iconfont icon-chenggong",
                color: "accent",
                timeout: 2000,
                message: "保存成功！",
                position: "top",
              });
              //调用父页面成功方法
              this.$emit("success");
              this.$emit("close");
            }
          });
        } else {
          SetOrderSplit(this.transMsg).then((res) => {
            if (res.Code == 1) {
              this.$q.notify({
                icon: "iconfont icon-chenggong",
                color: "accent",
                timeout: 2000,
                message: "保存成功！",
                position: "top",
              });
              //调用父页面成功方法
              this.$emit("success");
              this.$emit("close");
            }
          });
        }
      },
      //获取校区列表
      getSchool() {
        getSchoolDropdown({}).then((res) => {
          if (res.Code == 1) {
            var tempArray = res.Data;
            if (!tempArray) {
              tempArray = [];
            }
            this.schoolList = tempArray;
          }
        });
      },
      //获取班级类型下拉
      GetClassTypeList() {
        GetClassTypeList({}).then((res) => {
          if (res.Code == 1) {
            var tempArray = res.Data;
            if (!tempArray) {
              tempArray = [];
            }
            tempArray.unshift({
              CTypeId: 0,
              CTypeName: "不限",
            });
            this.classTypeList = tempArray;
          }
        });
      },
      //筛选课程
      filterFn(val, update) {
        update(() => {
          if (val === "") {
            this.ClassList = JSON.parse(JSON.stringify(this.AllClassList));
          } else {
            this.ClassList = this.AllClassList.filter(
              (v) => v.CourseName.indexOf(val) > -1
            );
          }
        });
      },
      //获取课程
      CourseList() {
        queryCourseDropdownList({}).then((res) => {
          if (res.Code == 1) {
            this.ClassList = res.Data;
            this.AllClassList = res.Data;
            this.ClassList.unshift({
              CourseId: 0,
              CourseName: "不限",
            });
          }
        });
      },
      //翻页
      changePage(val) {
        this.classMsg.pageIndex = val;
        this.getRenewClassList();
      },
      getOutTime() {
        this.$refs.qDateProxy1.hide();
        this.transMsg.EffectiveDate = "";
      },
      checkEffectDate() {
        if (this.transMsg.ChangeType == 1) {
          if (this.transMsg.OutTime == "") {
            this.$q.notify({
              type: "negative",
              position: "top",
              message: `请先选择转出日期`,
            });
            this.transMsg.EffectiveDate = "";
          }
        }
        this.$refs.qDateProxy2.hide();
      },
      showUpLoadFile(i) {
        // 预览上传文件
        if (i.Type == 3) {
          this.picObj.push(i.Url);
          // this.imgList.push(i.Url)
          this.picIsShow = true;
        } else {
          if (
            i.Content.substring(
              i.Content.lastIndexOf(".") + 1,
              i.Content.length
            ).toUpperCase() == "PDF" ||
            i.Content.substring(
              i.Content.lastIndexOf(".") + 1,
              i.Content.length
            ).toUpperCase() == "TXT"
          ) {
            this.previewPDF(i.Url);
          } else {
            window.open(
              "https://view.officeapps.live.com/op/view.aspx?src=" + i.Url
            );
          }
        }
      },
      deleteUploadFile(i) {
        // 删除上传文件
        this.saveMsg.splice(i, 1);
        this.transMsg.ReceiptFileList.splice(i, 1);
      },
      uploadFileBtn(file) {
        //上传
        if (file.file.size > 1024 * 1024 * 5) {
          this.$message.warning("文件大小不能超过5M");
          return;
        }
        //  1 文档  2 数据 3 图片
        let typeArr = [{
            stringArr: "GIF|JPG|JPEG|PNG|BMP|WEBP",
            type: 3,
          },
          {
            stringArr: "DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF|TXT",
            type: 1,
          },
          {
            stringArr: "ZIP|RAR|7Z|TAR",
            type: 4,
          },
          {
            stringArr: "MP4|3GP|AVI|MOV|WMV|RMVB|MKV|M4V|FLV",
            type: 5,
          },
        ];
        let ft = file.file.name
          .substring(file.file.name.lastIndexOf(".") + 1, file.file.name.length)
          .toUpperCase();
        let fileTypeNumber = 2;
        typeArr.forEach((x) => {
          if (x.stringArr.indexOf(ft) != "-1") {
            fileTypeNumber = x.type;
          }
        });
        let newArr = [];
        newArr.push(file.file);
        this.$message.info(this.$t("tips.shangchuanzhong"));
        UploadSelfFile(
          "Temporary",
          file.file,
          (x) => {
            if (x.Code == 1) {
              this.saveMsg.push({
                Content: x.FileUrl,
                ID: 0,
                Type: fileTypeNumber,
                Url: x.FileUrl,
              });
              this.transMsg.ReceiptFileList.push(x.FileUrl);
              this.$message.success(this.$t("tips.scchenggong"));
            }
          },
          1
        );
      },
    },
  };

</script>
