<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;
            max-width: 800px;
            height: auto;
            left: 50%;
            top: 50%;
            margin-left: -400px;
            margin-top: -300px;
          "
        >
          <el-image
            style="width: 100%; height: 100%"
            fit="cover"
            v-for="(item, index) in picObj"
            :key="index"
            :src="item"
            :preview-src-list="picObj"
          >
          </el-image>
        </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>
