Browse Source

提交一下

1
mo 3 years ago
parent
commit
2741095e05

+ 4 - 6
src/App.vue

@@ -23,10 +23,10 @@
   user-select: none;
   user-select: none;
   -webkit-text-size-adjust: none !important;
   -webkit-text-size-adjust: none !important;
 }
 }
-/deep/.van-radio__icon .van-icon {
+
-border-color: transparent;
+// /deep/.van-icon.van-icon-success{
-  border:1px solid #d3d3d3
+
-}
+// }
 // .fade-enter-active,
 // .fade-enter-active,
 // .fade-leave-active {
 // .fade-leave-active {
 //   transition: opacity 0.5s;
 //   transition: opacity 0.5s;
@@ -38,6 +38,4 @@ border-color: transparent;
 body {
 body {
   -webkit-text-size-adjust: none !important;
   -webkit-text-size-adjust: none !important;
 }
 }
-
-
 </style>
 </style>

+ 64 - 48
src/assets/commonLess/common.less

@@ -1,74 +1,90 @@
-
 // 阴影
 // 阴影
 .m-shadow {
 .m-shadow {
-    box-shadow: 0 0 .17rem 0 rgba(202,202,202,0.42);
+  box-shadow: 0 0 .17rem 0 rgba(202, 202, 202, 0.42);
 }
 }
+
 .m-shadow-small {
 .m-shadow-small {
-    box-shadow:0 .04rem .06rem 0 rgba(0,0,0,0.1);
+  box-shadow: 0 .04rem .06rem 0 rgba(0, 0, 0, 0.1);
 }
 }
 
 
 // 文字过多显示...
 // 文字过多显示...
 .m-ellipsis {
 .m-ellipsis {
-    overflow: hidden;
+  overflow: hidden;
-    white-space: nowrap;
+  white-space: nowrap;
-    text-overflow: ellipsis;
+  text-overflow: ellipsis;
+}
+
+[v-cloak] {
+  display: none
 }
 }
 
 
-[v-cloak] { display: none }
 // 设置边框
 // 设置边框
 [class*='m-hairline']::after {
 [class*='m-hairline']::after {
-    position: absolute;
+  position: absolute;
-    box-sizing: border-box;
+  box-sizing: border-box;
-    content: ' ';
+  content: ' ';
-    pointer-events: none;
+  pointer-events: none;
-    top: -50%;
+  top: -50%;
-    right: -50%;
+  right: -50%;
-    bottom: -50%;
+  bottom: -50%;
-    left: -50%;
+  left: -50%;
-    border: 0 solid #ebedf0;
+  border: 0 solid #ebedf0;
-    -webkit-transform: scale(0.5);
+  -webkit-transform: scale(0.5);
-    transform: scale(0.5);
+  transform: scale(0.5);
 }
 }
 
 
 .orangeStatus {
 .orangeStatus {
-    color: #F97215 !important;
+  color: #F97215 !important;
 }
 }
+
 .redStatus {
 .redStatus {
-    color: #F85043 !important;
+  color: #F85043 !important;
 }
 }
+
 .blueStatus {
 .blueStatus {
-    color: #01C1B5 !important;
+  color: #01C1B5 !important;
 }
 }
+
 .defaultStatus {
 .defaultStatus {
-    color: #777777 !important;
+  color: #777777 !important;
 }
 }
 
 
 
 
 .van-field__control {
 .van-field__control {
-    color: #808080 !important;
+  color: #808080 !important;
-    font-size: .16rem;
+  font-size: .16rem;
-  }
+}
-  
+
-  input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
+input::-webkit-input-placeholder,
-    color: #C0C0C0!important;
+textarea::-webkit-input-placeholder {
-    font-size: .16rem;
+  color: #C0C0C0 !important;
-  }
+  font-size: .16rem;
-  
+}
-  input:-moz-placeholder, textarea:-moz-placeholder {
+
-    color: #C0C0C0!important;
+input:-moz-placeholder,
-    font-size: .16rem;
+textarea:-moz-placeholder {
-  }
+  color: #C0C0C0 !important;
-  
+  font-size: .16rem;
-  input::-moz-placeholder, textarea::-moz-placeholder {
+}
-    color: #C0C0C0!important;
+
-    font-size: .16rem;
+input::-moz-placeholder,
-  }
+textarea::-moz-placeholder {
-  
+  color: #C0C0C0 !important;
-  input:-ms-input-placeholder, textarea:-ms-input-placeholder {
+  font-size: .16rem;
-    color: #C0C0C0!important;
+}
-    font-size: .16rem;
+
-  }
+input:-ms-input-placeholder,
-  .van-cell__right-icon{
+textarea:-ms-input-placeholder {
-    color: #C0C0C0!important;
+  color: #C0C0C0 !important;
-  }
+  font-size: .16rem;
+}
+
+.van-cell__right-icon {
+  color: #C0C0C0 !important;
+}
+
+/deep/.van-radio__icon .van-icon {
+  border-color: transparent;
+  border: 1px solid #d3d3d3
+}
 
 

+ 13 - 0
src/assets/commonLess/variable.less

@@ -17,6 +17,19 @@
 // 基本背景色
 // 基本背景色
 @bgColor: #F3F4F8;
 @bgColor: #F3F4F8;
 
 
+/deep/.van-popup {
+  border-radius: .1rem .1rem 0px 0px;
+  overflow: hidden;
+}
+
+/deep/.van-picker__cancel{
+  color: #666;
+}
+
+/deep/.van-picker__confirm{
+  color: #00736C;
+}
+
 
 
 
 
     
     

+ 7 - 2
src/components/MEmpty.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-    <div class="mempty">
+    <div class="mempty" :class="full?'full':null">
         <div :class="[icon ? icon : 'icon_nodata', 'icon']"></div>
         <div :class="[icon ? icon : 'icon_nodata', 'icon']"></div>
         <div class="msg">{{ msg ? msg : '暂无内容' }}</div>
         <div class="msg">{{ msg ? msg : '暂无内容' }}</div>
     </div>
     </div>
@@ -10,8 +10,10 @@ export default {
     name: 'mempty',
     name: 'mempty',
     props: {
     props: {
         icon: String, // icon名称
         icon: String, // icon名称
-        msg: String
+        msg: String,
+        full:Boolean
     }
     }
+    
 }
 }
 </script>
 </script>
 
 
@@ -33,4 +35,7 @@ export default {
     text-align: center;
     text-align: center;
     line-height: .22rem;
     line-height: .22rem;
 }
 }
+.full {
+    height: 100vh;
+}
 </style>
 </style>

+ 1 - 1
src/views/teacher/Leave.vue

@@ -68,7 +68,7 @@
       >
       >
     </div>
     </div>
     <!-- 开始时间弹窗 -->
     <!-- 开始时间弹窗 -->
-    <van-popup v-model="startShow" position="bottom">
+    <van-popup v-model="startShow" position="bottom"  >
       <van-datetime-picker
       <van-datetime-picker
         v-model="startDate.currentDate"
         v-model="startDate.currentDate"
         type="datetime"
         type="datetime"

+ 8 - 5
src/views/teacher/VIP00Apply.vue

@@ -35,6 +35,7 @@
         placeholder="请选择"
         placeholder="请选择"
       />
       />
       <van-cell
       <van-cell
+        class="courseStudent"
         title="上课学生"
         title="上课学生"
         @click="onCheckStudent"
         @click="onCheckStudent"
         :readonly="true"
         :readonly="true"
@@ -504,7 +505,7 @@ export default {
   name: "vipapply",
   name: "vipapply",
   components: {
   components: {
     MHeader,
     MHeader,
-    MEmpty,
+    MEmpty, 
   },
   },
   data() {
   data() {
     return {
     return {
@@ -1898,10 +1899,6 @@ export default {
   font-size: 0.12rem;
   font-size: 0.12rem;
   color: @mFontColor;
   color: @mFontColor;
   text-align: center;
   text-align: center;
-  /deep/.van-cell {
-    color: #808080 ;
-    font-size: 0.16rem;
-  }
 }
 }
 
 
 .courseTips {
 .courseTips {
@@ -2071,4 +2068,10 @@ export default {
 /deep/.van-field__label {
 /deep/.van-field__label {
   color: #323233;
   color: #323233;
 }
 }
+.courseStudent {
+  .van-cell__value {
+    color: #b2b2b2;
+	font-size: 0.16rem; 
+  }
+}
 </style>
 </style>

+ 1690 - 1296
src/views/teacher/VIP11Apply.vue

@@ -1,59 +1,205 @@
 <template>
 <template>
-	<div class="vipapply">
+  <div class="vipapply">
-		<m-header v-if="statusList.headerStatus" />
+    <m-header v-if="statusList.headerStatus" />
-		<div class="vip-title">课程信息</div>
+    <div class="vip-title">课程信息</div>
-		<van-cell-group>
+    <van-cell-group>
-			<!-- <van-field v-model="form.name" label="课程班名称" input-align="right" size="large" placeholder="请输入班级名称" /> -->
+      <!-- <van-field v-model="form.name" label="课程班名称" input-align="right" size="large" placeholder="请输入班级名称" /> -->
-			<van-field v-model="formName.subjectListName" @click="onGetSheetList('subjectList')" label="科目名称" :readonly="true" input-align="right" is-link size="large" placeholder="请选择" />
+      <van-field
-			<van-field v-model="formName.vipGroupCategoryName" @click="onGetSheetList('vipGroupCategory')" label="课程形式" :readonly="true" input-align="right" is-link size="large" placeholder="请选择" />
+        v-model="formName.subjectListName"
-			<van-field v-model="formName.educationalTeacherName" @click="onGetSheetList('teacherList')" label="乐团主管" :readonly="true" input-align="right" is-link size="large" placeholder="请选择" />
+        @click="onGetSheetList('subjectList')"
-			<van-cell title="上课学生" @click="onCheckStudent" :readonly="true" input-align="right" :is-link="checkboxSelectDataList.length > 0 ? false : true" size="large" :value="checkboxSelectDataList.length > 0 ? '重新选择' : '请选择'" :value-class="checkboxSelectDataList.length > 0 ? 'studentColor' : null" />
+        label="科目名称"
-			<div v-if="checkboxSelectDataList.length > 0" style="text-align: center;line-height: 1.8; padding: .05rem 0;background: #fafbff;">
+        :readonly="true"
-				<p style="color: #323233;" v-for="(item, index) in checkboxSelectDataList" :key="index">
+        input-align="right"
-					{{ item.userName }} - {{ item.phone }}
+        is-link
-				</p>
+        size="large"
-			</div>
+        placeholder="请选择"
-			<van-field v-model="formName.vipGroupActivityName" @click="onGetSheetList('vipGroupActivity')" label="活动方案" :readonly="true" input-align="right" is-link size="large" placeholder="请选择" />
+      />
-		</van-cell-group>
+      <van-field
-		<div class="vip-title">课时组成</div>
+        v-model="formName.vipGroupCategoryName"
-		<van-cell-group>
+        @click="onGetSheetList('vipGroupCategory')"
-			<van-field v-model="form.studentNum" label="每班人数" disabled input-align="right" size="large" placeholder="每班预计招收人数" />
+        label="课程形式"
-			<van-field v-model="form.singleClassMinutes" @click="onClickSingleClass" label="每课时长" :readonly="true" input-align="right" is-link size="large" placeholder="请输入每课时长" />
+        :readonly="true"
-			<!-- 判断是否选择活动方案 -->
+        input-align="right"
-			<van-field v-if="statusList.hasOnline" v-model="form.onlineClassesNums" @keyup="onClassKeyUp" label="线上课" input-align="right" size="large" placeholder="请输入次数" type="number" />
+        is-link
-			<van-field v-if="statusList.hasOffline" v-model="form.offlineClassesNums" @keyup="onClassKeyUp('offLine')" label="线下课" input-align="right" size="large" placeholder="请输入次数" type="number" />
+        size="large"
-			<van-field v-if="form.offlineClassesNums > 0" v-model="formName.teacherSchoolName" @click="onGetSheetList('teacherSchool')" label="线下课地址" :readonly="true" input-align="right" is-link size="large" placeholder="请选择" />
+        placeholder="请选择"
-			<!-- <van-field v-if="formName.vipGroupActivityName || statusList.hasOnline" v-model="form.onlineClassesNums" @keyup="onClassKeyUp" label="线上课" input-align="right" size="large" placeholder="请输入次数" type="number" />
+      />
+      <van-field
+        v-model="formName.educationalTeacherName"
+        @click="onGetSheetList('teacherList')"
+        label="乐团主管"
+        :readonly="true"
+        input-align="right"
+        is-link
+        size="large"
+        placeholder="请选择"
+      />
+      <van-cell
+        title="上课学生"
+        @click="onCheckStudent"
+		class="courseStudent"
+        :readonly="true"
+        input-align="right"
+        :is-link="checkboxSelectDataList.length > 0 ? false : true"
+        size="large"
+        :value="checkboxSelectDataList.length > 0 ? '重新选择' : '请选择'"
+        :value-class="checkboxSelectDataList.length > 0 ? 'studentColor' : null"
+      />
+      <div
+        v-if="checkboxSelectDataList.length > 0"
+        style="
+          text-align: center;
+          line-height: 1.8;
+          padding: 0.05rem 0;
+          background: #fafbff;
+        "
+      >
+        <p
+          style="color: #323233"
+          v-for="(item, index) in checkboxSelectDataList"
+          :key="index"
+        >
+          {{ item.userName }} - {{ item.phone }}
+        </p>
+      </div>
+      <van-field
+        v-model="formName.vipGroupActivityName"
+        @click="onGetSheetList('vipGroupActivity')"
+        label="活动方案"
+        :readonly="true"
+        input-align="right"
+        is-link
+        size="large"
+        placeholder="请选择"
+      />
+    </van-cell-group>
+    <div class="vip-title">课时组成</div>
+    <van-cell-group>
+      <van-field
+        v-model="form.studentNum"
+        label="每班人数"
+        disabled
+        input-align="right"
+        size="large"
+        placeholder="每班预计招收人数"
+      />
+      <van-field
+        v-model="form.singleClassMinutes"
+        @click="onClickSingleClass"
+        label="每课时长"
+        :readonly="true"
+        input-align="right"
+        is-link
+        size="large"
+        placeholder="请输入每课时长"
+      />
+      <!-- 判断是否选择活动方案 -->
+      <van-field
+        v-if="statusList.hasOnline"
+        v-model="form.onlineClassesNums"
+        @keyup="onClassKeyUp"
+        label="线上课"
+        input-align="right"
+        size="large"
+        placeholder="请输入次数"
+        type="number"
+      />
+      <van-field
+        v-if="statusList.hasOffline"
+        v-model="form.offlineClassesNums"
+        @keyup="onClassKeyUp('offLine')"
+        label="线下课"
+        input-align="right"
+        size="large"
+        placeholder="请输入次数"
+        type="number"
+      />
+      <van-field
+        v-if="form.offlineClassesNums > 0"
+        v-model="formName.teacherSchoolName"
+        @click="onGetSheetList('teacherSchool')"
+        label="线下课地址"
+        :readonly="true"
+        input-align="right"
+        is-link
+        size="large"
+        placeholder="请选择"
+      />
+      <!-- <van-field v-if="formName.vipGroupActivityName || statusList.hasOnline" v-model="form.onlineClassesNums" @keyup="onClassKeyUp" label="线上课" input-align="right" size="large" placeholder="请输入次数" type="number" />
             <van-field v-if="formName.vipGroupActivityName || statusList.hasOffline" v-model="form.offlineClassesNums" @keyup="onClassKeyUp" label="线下课" input-align="right" size="large" placeholder="请输入次数" type="number" /> -->
             <van-field v-if="formName.vipGroupActivityName || statusList.hasOffline" v-model="form.offlineClassesNums" @keyup="onClassKeyUp" label="线下课" input-align="right" size="large" placeholder="请输入次数" type="number" /> -->
-
+    </van-cell-group>
-		</van-cell-group>
+    <!-- <div class="vip-title">时间安排</div>
-		<!-- <div class="vip-title">时间安排</div>
 		<van-cell-group>
 		<van-cell-group>
 			<van-field v-model="form.registrationStartTime" label="报名开始时间" disabled @click="onEnListShow('start', form.registrationStartTime)" input-align="right" is-link size="large" placeholder="请选择" />
 			<van-field v-model="form.registrationStartTime" label="报名开始时间" disabled @click="onEnListShow('start', form.registrationStartTime)" input-align="right" is-link size="large" placeholder="请选择" />
 			<van-field v-model="form.coursesExpireDate" label="报名截止时间" disabled @click="onEnListShow('end', form.coursesExpireDate)" input-align="right" is-link size="large" placeholder="请选择" />
 			<van-field v-model="form.coursesExpireDate" label="报名截止时间" disabled @click="onEnListShow('end', form.coursesExpireDate)" input-align="right" is-link size="large" placeholder="请选择" />
 		</van-cell-group> -->
 		</van-cell-group> -->
-		<div class="vip-title">课时安排</div>
+    <div class="vip-title">课时安排</div>
-		<van-cell-group>
+    <van-cell-group>
-			<van-field v-model="form.totalClassTime" label="课时总数" disabled input-align="right" size="large" placeholder="请输入次数" />
+      <van-field
-			<van-field v-if="statusList.teachOnOrOff" v-model="formName.giveTeachModeName" @click="onGiveMode" label="赠课类型" :readonly="true" input-align="right" is-link size="large" placeholder="请选择" />
+        v-model="form.totalClassTime"
-			<van-field @click="dataForm.status = true" v-model="form.courseStart" label="排课开始时间" :readonly="true" input-align="right" is-link size="large" placeholder="请选择" />
+        label="课时总数"
+        disabled
+        input-align="right"
+        size="large"
+        placeholder="请输入次数"
+      />
+      <van-field
+        v-if="statusList.teachOnOrOff"
+        v-model="formName.giveTeachModeName"
+        @click="onGiveMode"
+        label="赠课类型"
+        :readonly="true"
+        input-align="right"
+        is-link
+        size="large"
+        placeholder="请选择"
+      />
+      <van-field
+        @click="dataForm.status = true"
+        v-model="form.courseStart"
+        label="排课开始时间"
+        :readonly="true"
+        input-align="right"
+        is-link
+        size="large"
+        placeholder="请选择"
+      />
 
 
-			<van-cell title-class="title-time" v-for="(item, index) in scheduleList" :key="index">
+      <van-cell
-				<template slot="title">
+        title-class="title-time"
-					<span class="online">{{ item.type }}</span>
+        v-for="(item, index) in scheduleList"
-					<span class="week">{{ item.weekStr }}</span>
+        :key="index"
-					<span class="timer">{{ item.startTime + '-' + item.endTime }}</span>
+      >
-				</template>
+        <template slot="title">
-				<template slot="default">
+          <span class="online">{{ item.type }}</span>
-					<van-button type="warning" @click="onScheduleRemove(item)" round size="small" plain>删除</van-button>
+          <span class="week">{{ item.weekStr }}</span>
-				</template>
+          <span class="timer">{{ item.startTime + "-" + item.endTime }}</span>
-			</van-cell>
+        </template>
-			<div class="add-plan van-cell" @click="onCourseShedule">
+        <template slot="default">
-				<van-icon name="add-o" />课时安排
+          <van-button
-			</div>
+            type="warning"
-			<van-field label="排课列表" v-if="scheduleList.length > 0" disabled input-align="right" @click="onShowTimeTable" is-link size="large" />
+            @click="onScheduleRemove(item)"
-		</van-cell-group>
+            round
-		<!-- <div class="vip-title">课酬设置</div>
+            size="small"
+            plain
+            >删除</van-button
+          >
+        </template>
+      </van-cell>
+      <div class="add-plan van-cell" @click="onCourseShedule">
+        <van-icon name="add-o" />课时安排
+      </div>
+      <van-field
+        label="排课列表"
+        v-if="scheduleList.length > 0"
+        disabled
+        input-align="right"
+        @click="onShowTimeTable"
+        is-link
+        size="large"
+      />
+    </van-cell-group>
+    <!-- <div class="vip-title">课酬设置</div>
 		<van-cell-group>
 		<van-cell-group>
 			<van-field v-model="form.onlineClassesUnitPrice" label="线上课单价" type="number" input-align="right" size="large" @keyup="getCalcClass" :disabled="loadData.vipGroupActivitySelect.paymentReadonlyFlag == 0" placeholder="金额(每课时)" v-if="statusList.hasOnline" />
 			<van-field v-model="form.onlineClassesUnitPrice" label="线上课单价" type="number" input-align="right" size="large" @keyup="getCalcClass" :disabled="loadData.vipGroupActivitySelect.paymentReadonlyFlag == 0" placeholder="金额(每课时)" v-if="statusList.hasOnline" />
 			<van-field v-model="form.offlineClassesUnitPrice" label="线下课单价" type="number" input-align="right" size="large" @keyup="getCalcClass" :disabled="loadData.vipGroupActivitySelect.paymentReadonlyFlag == 0" placeholder="金额(每课时)" v-if="statusList.hasOffline" />
 			<van-field v-model="form.offlineClassesUnitPrice" label="线下课单价" type="number" input-align="right" size="large" @keyup="getCalcClass" :disabled="loadData.vipGroupActivitySelect.paymentReadonlyFlag == 0" placeholder="金额(每课时)" v-if="statusList.hasOffline" />
@@ -62,1314 +208,1562 @@
 			<van-field v-model="form.totalCount" disabled label="课程总价" input-align="right" size="large" placeholder="金额(每课时)" />
 			<van-field v-model="form.totalCount" disabled label="课程总价" input-align="right" size="large" placeholder="金额(每课时)" />
 		</van-cell-group> -->
 		</van-cell-group> -->
 
 
-		<div class="button-group">
+    <div class="button-group">
-			<van-button type="primary" @click="onSubmit" round size="large">确认</van-button>
+      <van-button type="primary" @click="onSubmit" round size="large"
-		</div>
+        >确认</van-button
+      >
+    </div>
 
 
-		<!-- 每课时长 -->
+    <!-- 每课时长 -->
-		<van-action-sheet v-model="statusList.classTimerStatus" :actions="loadData.classTimer" cancel-text="取消" @cancel="statusList.classTimerStatus = false" @select="onClassTimerSelect" />
+    <van-action-sheet
-		<!-- 报名开始时间&报名结束时间 -->
+      v-model="statusList.classTimerStatus"
-		<van-popup v-model="enlistForm.status" position="bottom">
+      :actions="loadData.classTimer"
-			<van-datetime-picker v-model="enlistForm.currentDate" type="date" :min-date="enlistForm.minDate" :max-date="enlistForm.maxDate" :formatter="formatter" @cancel="enlistForm.status = false" @confirm="onEnlistConfirm" />
+      cancel-text="取消"
-		</van-popup>
+      @cancel="statusList.classTimerStatus = false"
-		<!-- 赠课类型 -->
+      @select="onClassTimerSelect"
-		<van-action-sheet v-model="statusList.giveTeachModeStatus" :actions="loadData.giveTeachMode" cancel-text="取消" @cancel="statusList.giveTeachModeStatus = false" @select="onModeSelect" />
+    />
-		<!-- 课程信息所用 :close-on-click-overlay="false"  -->
+    <!-- 报名开始时间&报名结束时间 -->
-		<van-popup v-model="sheetForm.sheetStatus" position="bottom">
+    <van-popup v-model="enlistForm.status" position="bottom">
-			<van-picker :loading="sheetForm.loading" :default-index="sheetForm.index" :columns="sheetForm.columns" show-toolbar @cancel="sheetForm.sheetStatus = false" @confirm="onSheetConfirm" />
+      <van-datetime-picker
-		</van-popup>
+        v-model="enlistForm.currentDate"
-		<!-- 课时安排 -->
+        type="date"
-		<van-popup v-model="dataForm.status" position="bottom">
+        :min-date="enlistForm.minDate"
-			<van-datetime-picker v-model="dataForm.currentDate" type="date" :min-date="dataForm.minDate" :max-date="dataForm.maxDate" :formatter="formatter" @cancel="dataForm.status = false" @confirm="onCurrentConfirm" />
+        :max-date="enlistForm.maxDate"
-		</van-popup>
+        :formatter="formatter"
-		<!-- 课时安排 -->
+        @cancel="enlistForm.status = false"
-		<van-popup v-model="courseForm.teachingStatus" position="bottom">
+        @confirm="onEnlistConfirm"
-			<van-picker :columns="courseForm.columns" show-toolbar @cancel="courseForm.teachingStatus = false" @confirm="onTeachinConfirm" />
+      />
-		</van-popup>
+    </van-popup>
-		<!-- 选择上课学生 -->
+    <!-- 赠课类型 -->
-		<van-popup v-model="statusList.studentStatus" :lock-scroll="true" position="bottom" :style="{ height: '180%' }">
+    <van-action-sheet
-			<van-sticky>
+      v-model="statusList.giveTeachModeStatus"
-				<van-search show-action shape="round" @search="onSearch" v-model="params.search" placeholder="请输入学生名或手机号">
+      :actions="loadData.giveTeachMode"
-					<template #action>
+      cancel-text="取消"
-						<div @click="onSearch">搜索</div>
+      @cancel="statusList.giveTeachModeStatus = false"
-					</template>
+      @select="onModeSelect"
-				</van-search>
+    />
-			</van-sticky>
+    <!-- 课程信息所用 :close-on-click-overlay="false"  -->
-			<div class="paddingB80">
+    <van-popup v-model="sheetForm.sheetStatus" position="bottom">
-				<van-list v-model="loading" class="studentContainer" v-if="dataShow" key="data" :finished="finished" finished-text="" @load="getStudent">
+      <van-picker
-					<van-checkbox-group v-model="checkboxSelect">
+        :loading="sheetForm.loading"
-						<van-cell-group>
+        :default-index="sheetForm.index"
-							<van-cell v-for="(item, index) in dataList" :key="index" @click="onCheckboxSelect(item)" class="input-cell" :center="true">
+        :columns="sheetForm.columns"
-								<template slot="icon">
+        show-toolbar
-									<img class="logo" v-if="item.avatar" :src="item.avatar" alt="">
+        @cancel="sheetForm.sheetStatus = false"
-									<img class="logo" v-else src="@/assets/images/icon_student.png" alt="">
+        @confirm="onSheetConfirm"
-								</template>
+      />
-								<template slot="title">
+    </van-popup>
-									<span style="width: .8rem; display: inline-block;">{{ item.userName }}</span>
+    <!-- 课时安排 -->
-									<van-tag type="warning">1V1: {{ item.courseOneToOneTime }}次</van-tag>
+    <van-popup v-model="dataForm.status" position="bottom">
-								</template>
+      <van-datetime-picker
-								<template slot="label">
+        v-model="dataForm.currentDate"
-									<span style="width: .8rem; display: inline-block;">{{ desensitPhone(item.phone) }}</span>
+        type="date"
-									<van-tag type="warning">1V2: {{ item.courseOneToTwoTime }}次</van-tag>
+        :min-date="dataForm.minDate"
-								</template>
+        :max-date="dataForm.maxDate"
-								<template slot="default">
+        :formatter="formatter"
-									<van-checkbox :disabled="!item.courseOneToOneTime && !item.courseOneToTwoTime" :name="item.userId.toString()"></van-checkbox>
+        @cancel="dataForm.status = false"
-								</template>
+        @confirm="onCurrentConfirm"
-							</van-cell>
+      />
-						</van-cell-group>
+    </van-popup>
-					</van-checkbox-group>
+    <!-- 课时安排 -->
-				</van-list>
+    <van-popup v-model="courseForm.teachingStatus" position="bottom">
-				<m-empty class="empty" msg="暂无学生" v-else key="data" />
+      <van-picker
-			</div>
+        :columns="courseForm.columns"
-			<div class="button-group-popup">
+        show-toolbar
-				<span class="btn" @click="onPopupCancel">取消</span>
+        @cancel="courseForm.teachingStatus = false"
-				<span class="btn primary" @click="onPopupSubmit">确定</span>
+        @confirm="onTeachinConfirm"
-			</div>
+      />
-		</van-popup>
+    </van-popup>
-		<!-- 课表展示 -->
+    <!-- 选择上课学生 -->
-		<van-popup v-model="statusList.classTime" position="bottom">
+    <van-popup
-			<van-row>
+      v-model="statusList.studentStatus"
-				<van-col span="12">上课类型</van-col>
+      :lock-scroll="true"
-				<van-col span="12">上课时间</van-col>
+      position="bottom"
-			</van-row>
+      :style="{ height: '180%' }"
-			<div class="tableContainer">
+    >
-				<van-row v-for="(item, index) in timeTable" :key="index">
+      <van-sticky>
-					<van-col span="12">
+        <van-search
-						{{ item.teachMode == 'ONLINE' ? '线上' : '线下' }}
+          show-action
-					</van-col>
+          shape="round"
-					<van-col span="12">
+          @search="onSearch"
-						{{ item.classDate }} {{ item.startClassTimeStr }}
+          v-model="params.search"
-					</van-col>
+          placeholder="请输入学生名或手机号"
-				</van-row>
+        >
-			</div>
+          <template #action>
-		</van-popup>
+            <div @click="onSearch">搜索</div>
-	</div>
+          </template>
+        </van-search>
+      </van-sticky>
+      <div class="paddingB80">
+        <van-list
+          v-model="loading"
+          class="studentContainer"
+          v-if="dataShow"
+          key="data"
+          :finished="finished"
+          finished-text=""
+          @load="getStudent"
+        >
+          <van-checkbox-group v-model="checkboxSelect">
+            <van-cell-group>
+              <van-cell
+                v-for="(item, index) in dataList"
+                :key="index"
+                @click="onCheckboxSelect(item)"
+                class="input-cell"
+                :center="true"
+              >
+                <template slot="icon">
+                  <img
+                    class="logo"
+                    v-if="item.avatar"
+                    :src="item.avatar"
+                    alt=""
+                  />
+                  <img
+                    class="logo"
+                    v-else
+                    src="@/assets/images/icon_student.png"
+                    alt=""
+                  />
+                </template>
+                <template slot="title">
+                  <span style="width: 0.8rem; display: inline-block">{{
+                    item.userName
+                  }}</span>
+                  <van-tag type="warning"
+                    >1V1: {{ item.courseOneToOneTime }}次</van-tag
+                  >
+                </template>
+                <template slot="label">
+                  <span style="width: 0.8rem; display: inline-block">{{
+                    desensitPhone(item.phone)
+                  }}</span>
+                  <van-tag type="warning"
+                    >1V2: {{ item.courseOneToTwoTime }}次</van-tag
+                  >
+                </template>
+                <template slot="default">
+                  <van-checkbox
+                    :disabled="
+                      !item.courseOneToOneTime && !item.courseOneToTwoTime
+                    "
+                    :name="item.userId.toString()"
+                  ></van-checkbox>
+                </template>
+              </van-cell>
+            </van-cell-group>
+          </van-checkbox-group>
+        </van-list>
+        <m-empty class="empty" msg="暂无学生" v-else key="data" />
+      </div>
+      <div class="button-group-popup">
+        <span class="btn" @click="onPopupCancel">取消</span>
+        <span class="btn primary" @click="onPopupSubmit">确定</span>
+      </div>
+    </van-popup>
+    <!-- 课表展示 -->
+    <van-popup v-model="statusList.classTime" position="bottom">
+      <van-row>
+        <van-col span="12">上课类型</van-col>
+        <van-col span="12">上课时间</van-col>
+      </van-row>
+      <div class="tableContainer">
+        <van-row v-for="(item, index) in timeTable" :key="index">
+          <van-col span="12">
+            {{ item.teachMode == "ONLINE" ? "线上" : "线下" }}
+          </van-col>
+          <van-col span="12">
+            {{ item.classDate }} {{ item.startClassTimeStr }}
+          </van-col>
+        </van-row>
+      </div>
+    </van-popup>
+  </div>
 </template>
 </template>
 <script>
 <script>
-	/* eslint-disable */
+/* eslint-disable */
-	import MHeader from '@/components/MHeader'
+import MHeader from "@/components/MHeader";
-	import {
+import { browser } from "@/common/common";
-		browser
+import MEmpty from "@/components/MEmpty";
-	} from '@/common/common'
+import {
-	import MEmpty from '@/components/MEmpty'
+  findSubSubjects,
-	import {
+  vipGroupCategory,
-		findSubSubjects,
+  findByVipGroupCategory,
-		vipGroupCategory,
+  findVipSchoolByTeacher2,
-		findByVipGroupCategory,
+  findByTeacherAndCategory,
-		findVipSchoolByTeacher2,
+  vipGroupApplyForDouble11,
-		findByTeacherAndCategory,
+  findEducationUsers,
-		vipGroupApplyForDouble11,
+  queryDouble11Students,
-		findEducationUsers,
+} from "@/api/teacher";
-		queryDouble11Students
+import setLoading from "@/utils/loading";
-	} from '@/api/teacher'
+let minutes = []; // 分钟数
-	import setLoading from '@/utils/loading'
+for (let i = 0; i < 60; i++) {
-	let minutes = [] // 分钟数
+  let mi = i < 10 ? "0" + i : i;
-	for (let i = 0; i < 60; i++) {
+  minutes.push(mi + "分");
-		let mi = i < 10 ? '0' + i : i
+}
-		minutes.push(mi + '分')
+export default {
-	}
+  name: "vipapply",
-	export default {
+  components: {
-		name: 'vipapply',
+    MHeader,
-		components: {
+    MEmpty,
-			MHeader,
+  },
-			MEmpty
+  data() {
-		},
+    return {
-		data() {
+      dataForm: {
-			return {
+        // 时间下拉框
-				dataForm: { // 时间下拉框
+        status: false,
-					status: false,
+        minDate: new Date(),
-					minDate: new Date(),
+        maxDate: new Date(2025, 10, 1),
-					maxDate: new Date(2025, 10, 1),
+        currentDate: new Date(),
-					currentDate: new Date()
+      },
-				},
+      enlistForm: {
-				enlistForm: { // 时间下拉框
+        // 时间下拉框
-					updateStatus: '', // 修改哪个状态
+        updateStatus: "", // 修改哪个状态
-					status: false,
+        status: false,
-					minDate: new Date(),
+        minDate: new Date(),
-					maxDate: new Date(2025, 10, 1),
+        maxDate: new Date(2025, 10, 1),
-					currentDate: new Date()
+        currentDate: new Date(),
-				},
+      },
-				statusList: { // 散状态集合
+      statusList: {
-					giveTeachModeStatus: false, // 赠课弹窗状态
+        // 散状态集合
-					teachOnOrOff: false, // 是否显示赠课
+        giveTeachModeStatus: false, // 赠课弹窗状态
-					hasOnline: false, // 是否显示线上
+        teachOnOrOff: false, // 是否显示赠课
-					hasOffline: false, // 是否显示线下
+        hasOnline: false, // 是否显示线上
-					classTime: false, // 课表展示
+        hasOffline: false, // 是否显示线下
-					headerStatus: false, // 头部是否展示
+        classTime: false, // 课表展示
-					classTimerStatus: false, // 每课时长状态
+        headerStatus: false, // 头部是否展示
-					studentStatus: false, // 上课学生状态
+        classTimerStatus: false, // 每课时长状态
-				},
+        studentStatus: false, // 上课学生状态
-				loadData: { // 下拉加载数据
+      },
-					subjectList: [], // 声部列表
+      loadData: {
-					subjectListSelect: [], // 选中的声部JSON
+        // 下拉加载数据
-					vipGroupCategory: [], // 课程形式
+        subjectList: [], // 声部列表
-					vipGroupCategorySelect: [], // 选中的课程形式JSON
+        subjectListSelect: [], // 选中的声部JSON
-					vipGroupActivity: [], // 活动文案
+        vipGroupCategory: [], // 课程形式
-					vipGroupActivitySelect: [], // 选中的活动文案JSON
+        vipGroupCategorySelect: [], // 选中的课程形式JSON
-					teacherSchool: [], // 线下课地址
+        vipGroupActivity: [], // 活动文案
-					teacherSchoolSelect: [], // 选中的线下课地址JSON
+        vipGroupActivitySelect: [], // 选中的活动文案JSON
-					teacherList: [], // 线下课地址
+        teacherSchool: [], // 线下课地址
-					teacherListSelect: [], // 选中的线下课地址JSON
+        teacherSchoolSelect: [], // 选中的线下课地址JSON
-					giveTeachMode: [{
+        teacherList: [], // 线下课地址
-						name: '线上课',
+        teacherListSelect: [], // 选中的线下课地址JSON
-						value: 'ONLINE'
+        giveTeachMode: [
-					}, {
+          {
-						name: '线下课',
+            name: "线上课",
-						value: 'OFFLINE'
+            value: "ONLINE",
-					}], // 赠课
+          },
-					giveTeachModeSelect: [], // 选中的赠课JSON
+          {
-					teacherCategory: [], // 老师课酬信息
+            name: "线下课",
-					classTimer: [], // 每课时长
+            value: "OFFLINE",
-				},
+          },
-				sheetForm: { // 上拉弹窗
+        ], // 赠课
-					currentType: null, // 当前选择的类型
+        giveTeachModeSelect: [], // 选中的赠课JSON
-					sheetStatus: false,
+        teacherCategory: [], // 老师课酬信息
-					loading: true, // 加载数据
+        classTimer: [], // 每课时长
-					index: 0, // 选中的索引值
+      },
-					columns: []
+      sheetForm: {
-				},
+        // 上拉弹窗
-				courseForm: { // 排课弹窗
+        currentType: null, // 当前选择的类型
-					teachingStatus: false, // 课时安排状态
+        sheetStatus: false,
-					columns: [{ // 课程选项
+        loading: true, // 加载数据
-						values: ['线上', '线下'],
+        index: 0, // 选中的索引值
-						className: 'type'
+        columns: [],
-					}, {
+      },
-						values: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
+      courseForm: {
-						className: 'week'
+        // 排课弹窗
-					}, {
+        teachingStatus: false, // 课时安排状态
-						values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23],
+        columns: [
-						className: 'hours',
+          {
-						defaultIndex: 7
+            // 课程选项
-					}, {
+            values: ["线上", "线下"],
-						values: minutes,
+            className: "type",
-						className: 'minutes'
+          },
-					}]
+          {
-				},
+            values: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"],
-				form: {
+            className: "week",
-					name: null,
+          },
-					subjectIdList: null,
+          {
-					vipGroupCategoryId: null,
+            values: [
-					vipGroupActivityId: null,
+              1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
-					teacherSchoolId: null,
+              20, 21, 22, 23,
-					educationalTeacherId: null,
+            ],
-					studentNum: null,
+            className: "hours",
-					singleClassMinutes: null,
+            defaultIndex: 7,
-					onlineClassesNums: null,
+          },
-					offlineClassesNums: null,
+          {
-					registrationStartTime: null,
+            values: minutes,
-					coursesExpireDate: null,
+            className: "minutes",
-					totalClassTime: null,
+          },
-					courseStart: null,
+        ],
-					giveTeachMode: null,
+      },
-					onlineClassesUnitPrice: null,
+      form: {
-					offlineClassesUnitPrice: null,
+        name: null,
-					onlineTeacherSalary: null,
+        subjectIdList: null,
-					offlineTeacherSalary: null,
+        vipGroupCategoryId: null,
-					totalCount: null,
+        vipGroupActivityId: null,
-				},
+        teacherSchoolId: null,
-				formName: {
+        educationalTeacherId: null,
-					subjectListName: null, // 声部名称
+        studentNum: null,
-					subjectListIndex: 0, // 声部名称
+        singleClassMinutes: null,
-					vipGroupCategoryName: null, // 课程形式
+        onlineClassesNums: null,
-					vipGroupCategoryIndex: 0, // 课程形式
+        offlineClassesNums: null,
-					vipGroupActivityName: null, // 活动文案
+        registrationStartTime: null,
-					vipGroupActivityIndex: 0, // 活动文案
+        coursesExpireDate: null,
-					teacherSchoolName: null, // 线下课地址
+        totalClassTime: null,
-					teacherSchoolIndex: 0, // 线下课地址
+        courseStart: null,
-					giveTeachModeName: null, // 赠课类型
+        giveTeachMode: null,
-					educationalTeacherName: null, // 乐团主管
+        onlineClassesUnitPrice: null,
-					educationalTeacherIndex: 0,
+        offlineClassesUnitPrice: null,
-				},
+        onlineTeacherSalary: null,
-				other: {
+        offlineTeacherSalary: null,
-					onlineSalary: null, // 线上课课酬结算方式
+        totalCount: null,
-					offlineSalary: null, // 线下课课酬结算方式
+      },
-					giveNum: 0, // 赠送课时
+      formName: {
-				},
+        subjectListName: null, // 声部名称
-				scheduleList: [], // 课时安排
+        subjectListIndex: 0, // 声部名称
-				timeTable: [], // 生成的课表
+        vipGroupCategoryName: null, // 课程形式
-				onSubmitStatus: true, // 点击
+        vipGroupCategoryIndex: 0, // 课程形式
-				checkboxSelect: [],
+        vipGroupActivityName: null, // 活动文案
-				checkboxSelectIds: [],
+        vipGroupActivityIndex: 0, // 活动文案
-				checkboxSelectList: [], //选中学生列表
+        teacherSchoolName: null, // 线下课地址
-				checkboxSelectDataList: [],
+        teacherSchoolIndex: 0, // 线下课地址
-				loading: false,
+        giveTeachModeName: null, // 赠课类型
-				finished: false,
+        educationalTeacherName: null, // 乐团主管
-				params: {
+        educationalTeacherIndex: 0,
-					search: null,
+      },
-					page: 1,
+      other: {
-					rows: 20
+        onlineSalary: null, // 线上课课酬结算方式
-				},
+        offlineSalary: null, // 线下课课酬结算方式
-				dataShow: true, // 是否有数据
+        giveNum: 0, // 赠送课时
-				dataList: []
+      },
-			}
+      scheduleList: [], // 课时安排
-		},
+      timeTable: [], // 生成的课表
-		mounted() {
+      onSubmitStatus: true, // 点击
-			let params = this.$route.query
+      checkboxSelect: [],
-			if (params.Authorization) {
+      checkboxSelectIds: [],
-				localStorage.setItem('Authorization', decodeURI(params.Authorization))
+      checkboxSelectList: [], //选中学生列表
-				localStorage.setItem('userInfo', decodeURI(params.Authorization))
+      checkboxSelectDataList: [],
-			}
+      loading: false,
-			document.title = 'VIP课程班申请'
+      finished: false,
-			if (browser().android) {
+      params: {
-				this.headerStatus = true
+        search: null,
-			}
+        page: 1,
-		},
+        rows: 20,
-		methods: {
+      },
-			onCheckStudent() {
+      dataShow: true, // 是否有数据
-				if (!this.form.vipGroupCategoryId) { // 判断是否选择了课程形式
+      dataList: [],
-					this.$toast('请选择课程形式')
+    };
-					return
+  },
-				}
+  mounted() {
-				// this.checkboxSelectIds = JSON.parse(JSON.stringify(this.checkboxSelectIds))
+    let params = this.$route.query;
-				// this.checkboxSelectDataList = JSON.parse(JSON.stringify(this.checkboxSelectDataList))
+    if (params.Authorization) {
-				this.statusList.studentStatus = true
+      localStorage.setItem("Authorization", decodeURI(params.Authorization));
-			},
+      localStorage.setItem("userInfo", decodeURI(params.Authorization));
-			onGetSheetList(name) { // 获取科目列表
+    }
-				let sheetForm = this.sheetForm
+    document.title = "VIP课程班申请";
-				sheetForm.columns = []
+    if (browser().android) {
-				if (!this.form.vipGroupCategoryId && name == 'vipGroupActivity') { // 判断是否选择了课程形式
+      this.headerStatus = true;
-					this.$toast('请选择课程形式')
+    }
-					return
+  },
-				} else if ((!this.checkboxSelectDataList || this.checkboxSelectDataList && this.checkboxSelectDataList.length <= 0) && name == 'vipGroupActivity') { // 判断是否选择了课程形式
+  methods: {
-					this.$toast('请选择上课学生')
+    onCheckStudent() {
-					return
+      if (!this.form.vipGroupCategoryId) {
-				}
+        // 判断是否选择了课程形式
-				sheetForm.sheetStatus = true
+        this.$toast("请选择课程形式");
-				sheetForm.loading = true
+        return;
-				sheetForm.currentType = name
+      }
-				sheetForm.index = 0
+      // this.checkboxSelectIds = JSON.parse(JSON.stringify(this.checkboxSelectIds))
-				let arr = this.loadData[name]
+      // this.checkboxSelectDataList = JSON.parse(JSON.stringify(this.checkboxSelectDataList))
-				if (arr.length > 0) {
+      this.statusList.studentStatus = true;
-					sheetForm.columns = arr
+    },
-					sheetForm.index = this.formName[name + 'Index']
+    onGetSheetList(name) {
-					sheetForm.loading = false
+      // 获取科目列表
-				} else {
+      let sheetForm = this.sheetForm;
-					this.onLoadingData(name)
+      sheetForm.columns = [];
-				}
+      if (!this.form.vipGroupCategoryId && name == "vipGroupActivity") {
-			},
+        // 判断是否选择了课程形式
-			onLoadingData() { // 加载数据
+        this.$toast("请选择课程形式");
-				let sheetForm = this.sheetForm
+        return;
-				if (sheetForm.currentType == 'subjectList') { // 声部列表
+      } else if (
-					findSubSubjects().then(res => {
+        (!this.checkboxSelectDataList ||
-						let result = res.data
+          (this.checkboxSelectDataList &&
-						if (result.code == 200 && result.data.length > 0) {
+            this.checkboxSelectDataList.length <= 0)) &&
-							let tempArr = []
+        name == "vipGroupActivity"
-							result.data.forEach(item => {
+      ) {
-								item.value = item.id
+        // 判断是否选择了课程形式
-								item.text = item.name
+        this.$toast("请选择上课学生");
-								tempArr.push(item)
+        return;
-							})
+      }
-							this.loadData.subjectList = tempArr
+      sheetForm.sheetStatus = true;
-							sheetForm.columns = tempArr
+      sheetForm.loading = true;
-							sheetForm.loading = false
+      sheetForm.currentType = name;
-						} else {
+      sheetForm.index = 0;
-							this.$toast('暂无科目列表')
+      let arr = this.loadData[name];
-							sheetForm.loading = false
+      if (arr.length > 0) {
-						}
+        sheetForm.columns = arr;
-					})
+        sheetForm.index = this.formName[name + "Index"];
-				} else if (sheetForm.currentType == 'vipGroupCategory') { // 课程形式
+        sheetForm.loading = false;
-					vipGroupCategory().then(res => {
+      } else {
-						let result = res.data
+        this.onLoadingData(name);
-						if (result.code == 200 && result.data.length > 0) {
+      }
-							let tempArr = []
+    },
-							result.data.forEach(item => {
+    onLoadingData() {
-								if(item.studentNum <= 2) {
+      // 加载数据
-									item.value = item.id
+      let sheetForm = this.sheetForm;
-									item.text = item.name
+      if (sheetForm.currentType == "subjectList") {
-									tempArr.push(item)
+        // 声部列表
-								}
+        findSubSubjects().then((res) => {
-							})
+          let result = res.data;
-							this.loadData.vipGroupCategory = tempArr
+          if (result.code == 200 && result.data.length > 0) {
-							sheetForm.columns = tempArr
+            let tempArr = [];
-							sheetForm.loading = false
+            result.data.forEach((item) => {
-						} else {
+              item.value = item.id;
-							this.$toast('暂无课程形式')
+              item.text = item.name;
-							sheetForm.loading = false
+              tempArr.push(item);
-						}
+            });
-					})
+            this.loadData.subjectList = tempArr;
-				} else if (sheetForm.currentType == 'vipGroupActivity') { // 活动文案
+            sheetForm.columns = tempArr;
-					let studentIds = []
+            sheetForm.loading = false;
-					if(this.checkboxSelectDataList && this.checkboxSelectDataList.length > 0) {
+          } else {
-						this.checkboxSelectDataList.forEach(item => {
+            this.$toast("暂无科目列表");
-							studentIds.push(item.userId)
+            sheetForm.loading = false;
-						})
+          }
-					}
+        });
-					findByVipGroupCategory({
+      } else if (sheetForm.currentType == "vipGroupCategory") {
-						categoryId: this.form.vipGroupCategoryId,
+        // 课程形式
-						onlySpecialActivity: true,
+        vipGroupCategory().then((res) => {
-						studentIds: studentIds.join(',')
+          let result = res.data;
-					}).then(res => {
+          if (result.code == 200 && result.data.length > 0) {
-						let result = res.data
+            let tempArr = [];
-						if (result.code == 200 && result.data.length > 0) {
+            result.data.forEach((item) => {
-							let tempArr = []
+              if (item.studentNum <= 2) {
-							result.data.forEach(item => {
+                item.value = item.id;
-								item.value = item.id
+                item.text = item.name;
-								item.text = item.name
+                tempArr.push(item);
-								item.startTime = item.startTime ? item.startTime.split(' ')[0] : null, // 报名开始时间
+              }
-								item.endTime = item.endTime ? item.endTime.split(' ')[0] : null // 报名结束时间
+            });
-								tempArr.push(item)
+            this.loadData.vipGroupCategory = tempArr;
-							})
+            sheetForm.columns = tempArr;
-							this.loadData.vipGroupActivity = tempArr
+            sheetForm.loading = false;
-							sheetForm.columns = tempArr
+          } else {
-							sheetForm.loading = false
+            this.$toast("暂无课程形式");
-						} else {
+            sheetForm.loading = false;
-							this.$toast('暂无活动方案')
+          }
-							sheetForm.loading = false
+        });
-						}
+      } else if (sheetForm.currentType == "vipGroupActivity") {
-					})
+        // 活动文案
-				} else if (sheetForm.currentType == 'teacherSchool') { // 教师教学点
+        let studentIds = [];
-					findVipSchoolByTeacher2().then(res => {
+        if (
-						let result = res.data
+          this.checkboxSelectDataList &&
-						if (result.code == 200 && result.data.length > 0) {
+          this.checkboxSelectDataList.length > 0
-							let tempArr = []
+        ) {
-							result.data.forEach(item => {
+          this.checkboxSelectDataList.forEach((item) => {
-								item.value = item.id
+            studentIds.push(item.userId);
-								item.text = item.name
+          });
-								tempArr.push(item)
+        }
-							})
+        findByVipGroupCategory({
-							this.loadData.teacherSchool = tempArr
+          categoryId: this.form.vipGroupCategoryId,
-							sheetForm.columns = tempArr
+          onlySpecialActivity: true,
-							sheetForm.loading = false
+          studentIds: studentIds.join(","),
-						} else {
+        }).then((res) => {
-							this.$toast('暂无教学点')
+          let result = res.data;
-							sheetForm.loading = false
+          if (result.code == 200 && result.data.length > 0) {
-						}
+            let tempArr = [];
-					})
+            result.data.forEach((item) => {
-				} else if (sheetForm.currentType == 'teacherList') { // 乐团主管
+              item.value = item.id;
-					findEducationUsers().then(res => {
+              item.text = item.name;
-						let result = res.data
+              (item.startTime = item.startTime
-						if (result.code == 200 && result.data.length > 0) {
+                ? item.startTime.split(" ")[0]
-							let tempArr = []
+                : null), // 报名开始时间
-							result.data.forEach(item => {
+                (item.endTime = item.endTime
-								item.value = item.userId
+                  ? item.endTime.split(" ")[0]
-								item.text = item.userName
+                  : null); // 报名结束时间
-								tempArr.push(item)
+              tempArr.push(item);
-							})
+            });
-							this.loadData.teacherList = tempArr
+            this.loadData.vipGroupActivity = tempArr;
-							sheetForm.columns = tempArr
+            sheetForm.columns = tempArr;
-							sheetForm.loading = false
+            sheetForm.loading = false;
-						} else {
+          } else {
-							this.$toast('暂无乐团主管')
+            this.$toast("暂无活动方案");
-							sheetForm.loading = false
+            sheetForm.loading = false;
-						}
+          }
-					})
+        });
-				}
+      } else if (sheetForm.currentType == "teacherSchool") {
-			},
+        // 教师教学点
-			findTeacherCategory(id) { // 获取教师课酬
+        findVipSchoolByTeacher2().then((res) => {
-				findByTeacherAndCategory({
+          let result = res.data;
-					categoryId: id
+          if (result.code == 200 && result.data.length > 0) {
-				}).then(res => {
+            let tempArr = [];
-					let result = res.data
+            result.data.forEach((item) => {
-					if (result.code == 200) {
+              item.value = item.id;
-						this.loadData.teacherCategory = result.data
+              item.text = item.name;
-					}
+              tempArr.push(item);
-				})
+            });
-			},
+            this.loadData.teacherSchool = tempArr;
-			onSheetConfirm(value, index) { // 上拉弹窗
+            sheetForm.columns = tempArr;
-				let sheetForm = this.sheetForm,
+            sheetForm.loading = false;
-					form = this.form,
+          } else {
-					formName = this.formName,
+            this.$toast("暂无教学点");
-					loadData = this.loadData
+            sheetForm.loading = false;
-				if (sheetForm.currentType == 'subjectList') { // 科目名称赋值
+          }
-					form.subjectIdList = value.value
+        });
-					formName.subjectListName = value.text
+      } else if (sheetForm.currentType == "teacherList") {
-					formName.subjectListIndex = index
+        // 乐团主管
-					loadData.subjectListSelect = value
+        findEducationUsers().then((res) => {
-				} else if (sheetForm.currentType == 'vipGroupCategory') { // 课程形式赋值
+          let result = res.data;
-					if (loadData.vipGroupCategorySelect.id != value.id) {
+          if (result.code == 200 && result.data.length > 0) {
-						// 获取教师课酬
+            let tempArr = [];
-						this.findTeacherCategory(value.id)
+            result.data.forEach((item) => {
-					}
+              item.value = item.userId;
-					form.vipGroupCategoryId = value.value
+              item.text = item.userName;
-					formName.vipGroupCategoryName = value.text
+              tempArr.push(item);
-					formName.vipGroupCategoryIndex = index
+            });
-					loadData.vipGroupCategorySelect = value
+            this.loadData.teacherList = tempArr;
-					form.studentNum = value.studentNum // 每班人数
+            sheetForm.columns = tempArr;
-					// form.singleClassMinutes = value.singleClassMinutes // 每课时长
+            sheetForm.loading = false;
-					form.onlineClassesUnitPrice = Math.ceil(value.onlineClassesUnitPrice)
+          } else {
-					form.offlineClassesUnitPrice = Math.ceil(value.offlineClassesUnitPrice)
+            this.$toast("暂无乐团主管");
-
+            sheetForm.loading = false;
-					// 每课时长赋值
+          }
-					form.singleClassMinutes = null
+        });
-					loadData.classTimer = []
+      }
-					let tempSingle = value.singleClassMinutes.split(",")
+    },
-					tempSingle.forEach(item => {
+    findTeacherCategory(id) {
-						this.loadData.classTimer.push({
+      // 获取教师课酬
-							name: item,
+      findByTeacherAndCategory({
-							value: item
+        categoryId: id,
-						})
+      }).then((res) => {
-					})
+        let result = res.data;
+        if (result.code == 200) {
+          this.loadData.teacherCategory = result.data;
+        }
+      });
+    },
+    onSheetConfirm(value, index) {
+      // 上拉弹窗
+      let sheetForm = this.sheetForm,
+        form = this.form,
+        formName = this.formName,
+        loadData = this.loadData;
+      if (sheetForm.currentType == "subjectList") {
+        // 科目名称赋值
+        form.subjectIdList = value.value;
+        formName.subjectListName = value.text;
+        formName.subjectListIndex = index;
+        loadData.subjectListSelect = value;
+      } else if (sheetForm.currentType == "vipGroupCategory") {
+        // 课程形式赋值
+        if (loadData.vipGroupCategorySelect.id != value.id) {
+          // 获取教师课酬
+          this.findTeacherCategory(value.id);
+        }
+        form.vipGroupCategoryId = value.value;
+        formName.vipGroupCategoryName = value.text;
+        formName.vipGroupCategoryIndex = index;
+        loadData.vipGroupCategorySelect = value;
+        form.studentNum = value.studentNum; // 每班人数
+        // form.singleClassMinutes = value.singleClassMinutes // 每课时长
+        form.onlineClassesUnitPrice = Math.ceil(value.onlineClassesUnitPrice);
+        form.offlineClassesUnitPrice = Math.ceil(value.offlineClassesUnitPrice);
 
 
-					// 重置上课学生
+        // 每课时长赋值
-					this.checkboxSelect = []
+        form.singleClassMinutes = null;
-					this.checkboxSelectIds = []
+        loadData.classTimer = [];
-					this.checkboxSelectList = [] //选中学生列表
+        let tempSingle = value.singleClassMinutes.split(",");
-					this.checkboxSelectDataList = []
+        tempSingle.forEach((item) => {
+          this.loadData.classTimer.push({
+            name: item,
+            value: item,
+          });
+        });
 
 
-					// 重置活动文案
+        // 重置上课学生
-					form.vipGroupActivityId = null
+        this.checkboxSelect = [];
-					formName.vipGroupActivityName = null
+        this.checkboxSelectIds = [];
-					formName.vipGroupActivityIndex = 0
+        this.checkboxSelectList = []; //选中学生列表
-					loadData.vipGroupActivity = []
+        this.checkboxSelectDataList = [];
-					loadData.vipGroupActivitySelect = []
-				} else if (sheetForm.currentType == 'vipGroupActivity') { // 活动方案赋值
-					// 重置线上课,线下课次数
-					if (form.vipGroupActivityId != value.value) {
-						form.offlineClassesNums = null
-						form.onlineClassesNums = null
-					}
-					form.vipGroupActivityId = value.value
-					formName.vipGroupActivityName = value.text
-					formName.vipGroupActivityIndex = index
-					loadData.vipGroupActivitySelect = value
 
 
-					// 换活动之后单价重置
+        // 重置活动文案
-					form.onlineClassesUnitPrice = Math.ceil(loadData.vipGroupCategorySelect.onlineClassesUnitPrice)
+        form.vipGroupActivityId = null;
-					form.offlineClassesUnitPrice = Math.ceil(loadData.vipGroupCategorySelect.offlineClassesUnitPrice)
+        formName.vipGroupActivityName = null;
+        formName.vipGroupActivityIndex = 0;
+        loadData.vipGroupActivity = [];
+        loadData.vipGroupActivitySelect = [];
+      } else if (sheetForm.currentType == "vipGroupActivity") {
+        // 活动方案赋值
+        // 重置线上课,线下课次数
+        if (form.vipGroupActivityId != value.value) {
+          form.offlineClassesNums = null;
+          form.onlineClassesNums = null;
+        }
+        form.vipGroupActivityId = value.value;
+        formName.vipGroupActivityName = value.text;
+        formName.vipGroupActivityIndex = index;
+        loadData.vipGroupActivitySelect = value;
 
 
-					this.onCalcClassTimes(value) // 计算时间等.........
+        // 换活动之后单价重置
-					this.getCalcClass() // 课酬计算
+        form.onlineClassesUnitPrice = Math.ceil(
-					this.setTimeTable() // 重新排课
+          loadData.vipGroupCategorySelect.onlineClassesUnitPrice
+        );
+        form.offlineClassesUnitPrice = Math.ceil(
+          loadData.vipGroupCategorySelect.offlineClassesUnitPrice
+        );
 
 
-					// 时间安排
+        this.onCalcClassTimes(value); // 计算时间等.........
-					// form.registrationStartTime = value.startTime
+        this.getCalcClass(); // 课酬计算
-					// form.coursesExpireDate = value.endTime
+        this.setTimeTable(); // 重新排课
-				} else if (sheetForm.currentType == 'teacherSchool') { // 线下课地址
-					form.teacherSchoolId = value.value
-					formName.teacherSchoolName = value.text
-					formName.teacherSchoolIndex = index
-				} else if (sheetForm.currentType == 'teacherList') { // 乐团主管
-					form.educationalTeacherId = value.value
-					formName.educationalTeacherName = value.text
-					formName.educationalTeacherIndex = index
-				}
 
 
-				sheetForm.sheetStatus = false
+        // 时间安排
-			},
+        // form.registrationStartTime = value.startTime
-			onClassKeyUp(type) { // 线上课&线下课修改时
+        // form.coursesExpireDate = value.endTime
-				if(type == 'offLine' && this.form.offlineClassesNums <= 0) {
+      } else if (sheetForm.currentType == "teacherSchool") {
-					this.form.teacherSchoolId = null
+        // 线下课地址
-					this.formName.teacherSchoolName = null
+        form.teacherSchoolId = value.value;
-					this.formName.teacherSchoolIndex = 0
+        formName.teacherSchoolName = value.text;
-				}
+        formName.teacherSchoolIndex = index;
-				let vas = this.loadData.vipGroupActivitySelect
+      } else if (sheetForm.currentType == "teacherList") {
-				this.onCalcClassTimes(vas)
+        // 乐团主管
-				this.getCalcClass()
+        form.educationalTeacherId = value.value;
-				this.setTimeTable()
+        formName.educationalTeacherName = value.text;
-			},
+        formName.educationalTeacherIndex = index;
-			onCalcClassTimes(vas) { // 计算课时总数
+      }
-				let form = this.form,
-					other = this.other,
-					statusList = this.statusList
-				let totalCount = Number(form.onlineClassesNums) + Number(form.offlineClassesNums)
 
 
-				// ...
+      sheetForm.sheetStatus = false;
-				if (vas.salarySettlementJson) {
+    },
-					let obj = JSON.parse(vas.salarySettlementJson)
+    onClassKeyUp(type) {
-					if (obj && obj.onlineSalarySettlement) {
+      // 线上课&线下课修改时
-						// 有线上课
+      if (type == "offLine" && this.form.offlineClassesNums <= 0) {
-						statusList.hasOnline = true
+        this.form.teacherSchoolId = null;
-					} else {
+        this.formName.teacherSchoolName = null;
-						statusList.hasOnline = false
+        this.formName.teacherSchoolIndex = 0;
-					}
+      }
-					if (obj && obj.offlineSalarySettlement) {
+      let vas = this.loadData.vipGroupActivitySelect;
-						// 有线下课
+      this.onCalcClassTimes(vas);
-						statusList.hasOffline = true
+      this.getCalcClass();
-					} else {
+      this.setTimeTable();
-						statusList.hasOffline = false
+    },
-					}
+    onCalcClassTimes(vas) {
-				}
+      // 计算课时总数
+      let form = this.form,
+        other = this.other,
+        statusList = this.statusList;
+      let totalCount =
+        Number(form.onlineClassesNums) + Number(form.offlineClassesNums);
 
 
-				if (vas.type == "GIVE_CLASS") { // 买赠活动
+      // ...
-					this.statusList.teachOnOrOff = true // 显示赠课
+      if (vas.salarySettlementJson) {
-					if (totalCount >= Number(vas.attribute1)) {
+        let obj = JSON.parse(vas.salarySettlementJson);
-						form.totalClassTime = totalCount + '+' + vas.attribute2
+        if (obj && obj.onlineSalarySettlement) {
-						other.giveNum = vas.attribute2
+          // 有线上课
-					} else {
+          statusList.hasOnline = true;
-						form.totalClassTime = totalCount
+        } else {
-						other.giveNum = 0
+          statusList.hasOnline = false;
-					}
+        }
-				} else { // 折扣活动
+        if (obj && obj.offlineSalarySettlement) {
-					form.totalClassTime = totalCount
+          // 有线下课
-					other.giveNum = 0
+          statusList.hasOffline = true;
-					this.statusList.teachOnOrOff = false // 隐藏赠课
+        } else {
-				}
+          statusList.hasOffline = false;
-			},
+        }
-			onModeSelect(value) { // 赠课确认
+      }
-				this.form.giveTeachMode = value.value
-				this.formName.giveTeachModeName = value.name
-				this.statusList.giveTeachModeStatus = false
-				this.getCalcClass()
-			},
-			onClickSingleClass() {
-				if (!this.formName.vipGroupCategoryName) {
-					this.$toast('请选择课程形式')
-					return
-				}
-				this.statusList.classTimerStatus = true
-			},
-			onClassTimerSelect(value) { // 每课时长设置
-				this.form.singleClassMinutes = value.value
-				this.statusList.classTimerStatus = false
-				this.getCalcClass()
-			},
-			onCurrentConfirm(value) { // 排课开始时间
-				let selectDate = new Date(value)
-				let tempMonth = selectDate.getMonth() + 1 >= 10 ? selectDate.getMonth() + 1 : '0' + (selectDate.getMonth() + 1)
-				let tempDay = selectDate.getDate() >= 10 ? selectDate.getDate() : '0' + selectDate.getDate()
-				this.form.courseStart = selectDate.getFullYear() + '-' + tempMonth + '-' + tempDay
-				this.dataForm.status = false
-			},
-			onEnlistConfirm(value) { // 报名开始/结束时间
-				let selectDate = new Date(value)
-				let tempMonth = selectDate.getMonth() + 1 >= 10 ? selectDate.getMonth() + 1 : '0' + (selectDate.getMonth() + 1)
-				let tempDay = selectDate.getDate() >= 10 ? selectDate.getDate() : '0' + selectDate.getDate()
-				let enlistForm = this.enlistForm
-				let form = this.form
-				if (enlistForm.updateStatus == 'start') {
-					form.registrationStartTime = selectDate.getFullYear() + '-' + tempMonth + '-' + tempDay
-					if (form.coursesExpireDate) {
-						let temps = new Date(form.registrationStartTime.replace(/-/ig, '/')).getTime()
-						let tempe = new Date(form.coursesExpireDate.replace(/-/ig, '/')).getTime()
-						// 如果开始时间大于结束时间,结束时间制空
-						if (temps > tempe) {
-							form.coursesExpireDate = null
-						}
-					}
-				} else if (enlistForm.updateStatus == 'end') {
-					form.coursesExpireDate = selectDate.getFullYear() + '-' + tempMonth + '-' + tempDay
-				}
-				enlistForm.status = false
-			},
-			onEnListShow(type, value) { // 报名开始/截止时间
-				let enlistForm = this.enlistForm
-				if (type == 'end') {
-					if (this.form.registrationStartTime) {
-						enlistForm.minDate = new Date(this.form.registrationStartTime.replace(/-/ig, '/'))
-					} else {
-						enlistForm.minDate = new Date()
-					}
-				} else if (type == 'start') {
-					// 开始时默认为当前时间
-					enlistForm.minDate = new Date()
-				}
-				if (value) {
-					enlistForm.currentDate = new Date(value.replace(/-/ig, '/'))
-				} else {
-					enlistForm.currentDate = new Date()
-				}
-				enlistForm.updateStatus = type
-				enlistForm.status = true
-			},
-			onCourseShedule() { // 课时安排
-				if (!this.form.singleClassMinutes) {
-					this.$toast('请选每课时长')
-					return
-				}
-				if (this.other.giveNum > 0 && !this.form.giveTeachMode) {
-					this.$toast('请选择赠课类型')
-					return
-				}
-				if (!this.form.courseStart) {
-					this.$toast('请选择排课开始时间')
-					return
-				}
-				this.courseForm.teachingStatus = true
-			},
-			onScheduleRemove(item) { // 删除课程安排
-				let index = this.scheduleList.indexOf(item)
-				if (index !== -1) {
-					this.scheduleList.splice(index, 1)
-				}
-			},
-			onTeachinConfirm(value) { // 添加课程
-				let scheduleList = this.scheduleList
-				let startTime = (value[2] >= 10 ? value[2] : '0' + value[2]) + ':' + value[3].split('分')[0]
-				let endTime = this.MinutesTest(value[2], value[3], this.form.singleClassMinutes)
 
 
-				let isAdd = true
+      if (vas.type == "GIVE_CLASS") {
-				scheduleList.forEach(item => {
+        // 买赠活动
-					let isStartTime = this.timeIsrange(startTime, endTime, item.startTime);
+        this.statusList.teachOnOrOff = true; // 显示赠课
-					let isEndTime = this.timeIsrange(startTime, endTime, item.endTime);
+        if (totalCount >= Number(vas.attribute1)) {
-					if (isAdd) { //
+          form.totalClassTime = totalCount + "+" + vas.attribute2;
-						if (value[1] == item.weekStr) {
+          other.giveNum = vas.attribute2;
-							if (isStartTime || isEndTime) {
+        } else {
-								isAdd = false
+          form.totalClassTime = totalCount;
-							} else {
+          other.giveNum = 0;
-								isAdd = true
+        }
-							}
+      } else {
-						} else if (value[1] != item.weekStr) {
+        // 折扣活动
-							isAdd = true
+        form.totalClassTime = totalCount;
-						}
+        other.giveNum = 0;
-					}
+        this.statusList.teachOnOrOff = false; // 隐藏赠课
-				})
+      }
+    },
+    onModeSelect(value) {
+      // 赠课确认
+      this.form.giveTeachMode = value.value;
+      this.formName.giveTeachModeName = value.name;
+      this.statusList.giveTeachModeStatus = false;
+      this.getCalcClass();
+    },
+    onClickSingleClass() {
+      if (!this.formName.vipGroupCategoryName) {
+        this.$toast("请选择课程形式");
+        return;
+      }
+      this.statusList.classTimerStatus = true;
+    },
+    onClassTimerSelect(value) {
+      // 每课时长设置
+      this.form.singleClassMinutes = value.value;
+      this.statusList.classTimerStatus = false;
+      this.getCalcClass();
+    },
+    onCurrentConfirm(value) {
+      // 排课开始时间
+      let selectDate = new Date(value);
+      let tempMonth =
+        selectDate.getMonth() + 1 >= 10
+          ? selectDate.getMonth() + 1
+          : "0" + (selectDate.getMonth() + 1);
+      let tempDay =
+        selectDate.getDate() >= 10
+          ? selectDate.getDate()
+          : "0" + selectDate.getDate();
+      this.form.courseStart =
+        selectDate.getFullYear() + "-" + tempMonth + "-" + tempDay;
+      this.dataForm.status = false;
+    },
+    onEnlistConfirm(value) {
+      // 报名开始/结束时间
+      let selectDate = new Date(value);
+      let tempMonth =
+        selectDate.getMonth() + 1 >= 10
+          ? selectDate.getMonth() + 1
+          : "0" + (selectDate.getMonth() + 1);
+      let tempDay =
+        selectDate.getDate() >= 10
+          ? selectDate.getDate()
+          : "0" + selectDate.getDate();
+      let enlistForm = this.enlistForm;
+      let form = this.form;
+      if (enlistForm.updateStatus == "start") {
+        form.registrationStartTime =
+          selectDate.getFullYear() + "-" + tempMonth + "-" + tempDay;
+        if (form.coursesExpireDate) {
+          let temps = new Date(
+            form.registrationStartTime.replace(/-/gi, "/")
+          ).getTime();
+          let tempe = new Date(
+            form.coursesExpireDate.replace(/-/gi, "/")
+          ).getTime();
+          // 如果开始时间大于结束时间,结束时间制空
+          if (temps > tempe) {
+            form.coursesExpireDate = null;
+          }
+        }
+      } else if (enlistForm.updateStatus == "end") {
+        form.coursesExpireDate =
+          selectDate.getFullYear() + "-" + tempMonth + "-" + tempDay;
+      }
+      enlistForm.status = false;
+    },
+    onEnListShow(type, value) {
+      // 报名开始/截止时间
+      let enlistForm = this.enlistForm;
+      if (type == "end") {
+        if (this.form.registrationStartTime) {
+          enlistForm.minDate = new Date(
+            this.form.registrationStartTime.replace(/-/gi, "/")
+          );
+        } else {
+          enlistForm.minDate = new Date();
+        }
+      } else if (type == "start") {
+        // 开始时默认为当前时间
+        enlistForm.minDate = new Date();
+      }
+      if (value) {
+        enlistForm.currentDate = new Date(value.replace(/-/gi, "/"));
+      } else {
+        enlistForm.currentDate = new Date();
+      }
+      enlistForm.updateStatus = type;
+      enlistForm.status = true;
+    },
+    onCourseShedule() {
+      // 课时安排
+      if (!this.form.singleClassMinutes) {
+        this.$toast("请选每课时长");
+        return;
+      }
+      if (this.other.giveNum > 0 && !this.form.giveTeachMode) {
+        this.$toast("请选择赠课类型");
+        return;
+      }
+      if (!this.form.courseStart) {
+        this.$toast("请选择排课开始时间");
+        return;
+      }
+      this.courseForm.teachingStatus = true;
+    },
+    onScheduleRemove(item) {
+      // 删除课程安排
+      let index = this.scheduleList.indexOf(item);
+      if (index !== -1) {
+        this.scheduleList.splice(index, 1);
+      }
+    },
+    onTeachinConfirm(value) {
+      // 添加课程
+      let scheduleList = this.scheduleList;
+      let startTime =
+        (value[2] >= 10 ? value[2] : "0" + value[2]) +
+        ":" +
+        value[3].split("分")[0];
+      let endTime = this.MinutesTest(
+        value[2],
+        value[3],
+        this.form.singleClassMinutes
+      );
 
 
-				if (isAdd) { // 判断时间范围是否有重复
+      let isAdd = true;
-					scheduleList.push({
+      scheduleList.forEach((item) => {
-						type: value[0], // 线上还是线下
+        let isStartTime = this.timeIsrange(startTime, endTime, item.startTime);
-						weekStr: value[1],
+        let isEndTime = this.timeIsrange(startTime, endTime, item.endTime);
-						weekIndex: this.getWeek(value[1]),
+        if (isAdd) {
-						startTime: startTime,
+          //
-						endTime: endTime,
+          if (value[1] == item.weekStr) {
-						id: Date.now()
+            if (isStartTime || isEndTime) {
-					})
+              isAdd = false;
+            } else {
+              isAdd = true;
+            }
+          } else if (value[1] != item.weekStr) {
+            isAdd = true;
+          }
+        }
+      });
 
 
-					// scheduleList.sort((a, b) => {
+      if (isAdd) {
-					//     return a.weekStr
+        // 判断时间范围是否有重复
-					// })
+        scheduleList.push({
+          type: value[0], // 线上还是线下
+          weekStr: value[1],
+          weekIndex: this.getWeek(value[1]),
+          startTime: startTime,
+          endTime: endTime,
+          id: Date.now(),
+        });
 
 
+        // scheduleList.sort((a, b) => {
+        //     return a.weekStr
+        // })
 
 
-					this.courseForm.teachingStatus = false
+        this.courseForm.teachingStatus = false;
 
 
-					this.setTimeTable()
+        this.setTimeTable();
-				} else {
+      } else {
-					this.$toast('该时间段已排课请重选时间')
+        this.$toast("该时间段已排课请重选时间");
-					return
+        return;
-				}
+      }
-			},
+    },
-			onShowTimeTable() { // 显示排课列表
+    onShowTimeTable() {
-				this.statusList.classTime = true
+      // 显示排课列表
-				this.setTimeTable()
+      this.statusList.classTime = true;
-			},
+      this.setTimeTable();
-			setTimeTable() {
+    },
-				// 重置排课列表
+    setTimeTable() {
-				this.timeTable = []
+      // 重置排课列表
+      this.timeTable = [];
 
 
-				let form = this.form,
+      let form = this.form,
-					scheduleList = this.scheduleList
+        scheduleList = this.scheduleList;
 
 
-				// if(!form.courseStart) {
+      // if(!form.courseStart) {
-				//     this.$toast('请选择排课开始时间')
+      //     this.$toast('请选择排课开始时间')
-				//     return
+      //     return
-				// }
+      // }
-				// 拿到线上课数与线下课数 以及
+      // 拿到线上课数与线下课数 以及
-				let online = parseInt(form.onlineClassesNums ? form.onlineClassesNums : 0)
+      let online = parseInt(
-				let offline = parseInt(form.offlineClassesNums ? form.offlineClassesNums : 0)
+        form.onlineClassesNums ? form.onlineClassesNums : 0
-				let giveNum = parseInt(this.other.giveNum)
+      );
+      let offline = parseInt(
+        form.offlineClassesNums ? form.offlineClassesNums : 0
+      );
+      let giveNum = parseInt(this.other.giveNum);
 
 
-				let giveClassType = form.giveTeachMode
+      let giveClassType = form.giveTeachMode;
-				if (giveClassType == 'ONLINE') {
+      if (giveClassType == "ONLINE") {
-					// 线上
+        // 线上
-					online += giveNum
+        online += giveNum;
-				} else if (giveClassType == 'OFFLINE') {
+      } else if (giveClassType == "OFFLINE") {
-					offline += giveNum
+        offline += giveNum;
-				}
+      }
-				// 判断是否有课程安排
+      // 判断是否有课程安排
-				if (scheduleList.length <= 0) {
+      if (scheduleList.length <= 0) {
-					return
+        return;
-				}
+      }
-				let totalCount = Number(online) + Number(offline)
+      let totalCount = Number(online) + Number(offline);
-				let tempCourseStart = form.courseStart.replace(/-/ig, '/')
+      let tempCourseStart = form.courseStart.replace(/-/gi, "/");
-				let dateOperation = new Date(tempCourseStart)
+      let dateOperation = new Date(tempCourseStart);
-				let forMark = 0
+      let forMark = 0;
-				while (totalCount && totalCount > 0) {
+      while (totalCount && totalCount > 0) {
-					for (let i = 0; i < scheduleList.length; i++) {
+        for (let i = 0; i < scheduleList.length; i++) {
-						if (online == 0 && offline == 0) break
+          if (online == 0 && offline == 0) break;
-						let num = scheduleList[i].weekIndex - dateOperation.getDay()
+          let num = scheduleList[i].weekIndex - dateOperation.getDay();
-						// 如果是同一天一个周期会出现排课都排到一天
+          // 如果是同一天一个周期会出现排课都排到一天
-						if (forMark > 0 && num == 0 && i == 0) {
+          if (forMark > 0 && num == 0 && i == 0) {
-							num = num + 7
+            num = num + 7;
-						}
+          }
-						if (num < 0) { // 如果为负数则为下周
+          if (num < 0) {
-							num = num + 7
+            // 如果为负数则为下周
-						}
+            num = num + 7;
-						let dataStr = this.getThinkDate(dateOperation, num)
+          }
+          let dataStr = this.getThinkDate(dateOperation, num);
 
 
-						// 判断是否大于当前时间
+          // 判断是否大于当前时间
-						let nowGetTime = new Date().getTime()
+          let nowGetTime = new Date().getTime();
-						let courseTime = new Date(dataStr.replace(/-/ig, '/') + ' ' + scheduleList[i].startTime + ':00').getTime()
+          let courseTime = new Date(
-						if (nowGetTime < courseTime) {
+            dataStr.replace(/-/gi, "/") +
-							let tempArr = {
+              " " +
-								'classDate': dataStr,
+              scheduleList[i].startTime +
-								'startClassTimeStr': scheduleList[i].startTime,
+              ":00"
-								"endClassTimeStr": scheduleList[i].endTime
+          ).getTime();
-							}
+          if (nowGetTime < courseTime) {
-							if (scheduleList[i].type == '线上' && online > 0) {
+            let tempArr = {
-								tempArr.teachMode = 'ONLINE'
+              classDate: dataStr,
-								this.timeTable.push(tempArr)
+              startClassTimeStr: scheduleList[i].startTime,
-								online--
+              endClassTimeStr: scheduleList[i].endTime,
-							} else if (scheduleList[i].type == '线下' && offline > 0) {
+            };
-								tempArr.teachMode = 'OFFLINE'
+            if (scheduleList[i].type == "线上" && online > 0) {
-								this.timeTable.push(tempArr)
+              tempArr.teachMode = "ONLINE";
-								offline--
+              this.timeTable.push(tempArr);
-							} else {
+              online--;
-								if (online > 0) {
+            } else if (scheduleList[i].type == "线下" && offline > 0) {
-									tempArr.teachMode = 'ONLINE'
+              tempArr.teachMode = "OFFLINE";
-									this.timeTable.push(tempArr)
+              this.timeTable.push(tempArr);
-									online--
+              offline--;
-								} else if (offline > 0) {
+            } else {
-									tempArr.teachMode = 'OFFLINE'
+              if (online > 0) {
-									this.timeTable.push(tempArr)
+                tempArr.teachMode = "ONLINE";
-									offline--
+                this.timeTable.push(tempArr);
-								}
+                online--;
-							}
+              } else if (offline > 0) {
-							totalCount--
+                tempArr.teachMode = "OFFLINE";
-						}
+                this.timeTable.push(tempArr);
-					}
+                offline--;
-					// 加一周
+              }
-					if (scheduleList.length == 1) {
+            }
-						dateOperation.setDate(dateOperation.getDate() + 7)
+            totalCount--;
-					} else if (scheduleList.every(item => item.weekStr === scheduleList[0].weekStr)) {
+          }
-						// 标记循环次数(标记判断课程安排是不是同一天)
+        }
-						forMark++
+        // 加一周
-					}
+        if (scheduleList.length == 1) {
-				}
+          dateOperation.setDate(dateOperation.getDate() + 7);
-			},
+        } else if (
-			onGiveMode() { // 赠送课改变时
+          scheduleList.every((item) => item.weekStr === scheduleList[0].weekStr)
-				this.statusList.giveTeachModeStatus = true
+        ) {
-				this.getCalcClass()
+          // 标记循环次数(标记判断课程安排是不是同一天)
-			},
+          forMark++;
-			getCalcClass() { // 计算课酬
+        }
-				let loadData = this.loadData
+      }
-				let form = this.form
+    },
-				let vas = loadData.vipGroupActivitySelect, // 活动
+    onGiveMode() {
-					vcs = loadData.vipGroupCategorySelect, // 课程形式
+      // 赠送课改变时
-					tc = loadData.teacherCategory, // 老师基本信息
+      this.statusList.giveTeachModeStatus = true;
-					oncn = form.onlineClassesNums ? form.onlineClassesNums : 0, // 线上课次数
+      this.getCalcClass();
-					offcn = form.offlineClassesNums ? form.offlineClassesNums : 0, // 线下课次数
+    },
-					giveNum = parseInt(this.other.giveNum),
+    getCalcClass() {
-					giveTeachMode = form.giveTeachMode // 线下或线下
+      // 计算课酬
-				// 优惠活动
+      let loadData = this.loadData;
-				// ...
+      let form = this.form;
-				if (vas.salarySettlementJson) {
+      let vas = loadData.vipGroupActivitySelect, // 活动
-					let obj = JSON.parse(vas.salarySettlementJson)
+        vcs = loadData.vipGroupCategorySelect, // 课程形式
-					// 获取每课时长
+        tc = loadData.teacherCategory, // 老师基本信息
-					// 每45Min计算一些课酬
+        oncn = form.onlineClassesNums ? form.onlineClassesNums : 0, // 线上课次数
-					// let b = form.singleClassMinutes ? (form.singleClassMinutes / 45) : 0
+        offcn = form.offlineClassesNums ? form.offlineClassesNums : 0, // 线下课次数
-					let tempPrice = 0
+        giveNum = parseInt(this.other.giveNum),
-					if ((Number(oncn) + Number(offcn)) > 0) {
+        giveTeachMode = form.giveTeachMode; // 线下或线下
-						let countPrice = (oncn * form.onlineClassesUnitPrice) + (offcn * form.offlineClassesUnitPrice)
+      // 优惠活动
-						if (giveNum > 0 && !giveTeachMode) {
+      // ...
-							countPrice = 0
+      if (vas.salarySettlementJson) {
-						}
+        let obj = JSON.parse(vas.salarySettlementJson);
-						tempPrice = countPrice * form.studentNum / (Number(oncn) + Number(offcn) + Number(giveNum))
+        // 获取每课时长
-						if (vas.type == 'DISCOUNT') {
+        // 每45Min计算一些课酬
-							tempPrice = tempPrice * (vas.attribute1 ? Number(vas.attribute1) : 100) / 100
+        // let b = form.singleClassMinutes ? (form.singleClassMinutes / 45) : 0
-						}
+        let tempPrice = 0;
-					}
+        if (Number(oncn) + Number(offcn) > 0) {
-					// 课程按课来计算
+          let countPrice =
-					if (obj && obj.onlineSalarySettlement) {
+            oncn * form.onlineClassesUnitPrice +
-						let onss = obj.onlineSalarySettlement
+            offcn * form.offlineClassesUnitPrice;
-						// 有线上课
+          if (giveNum > 0 && !giveTeachMode) {
-						if (onss.salarySettlementType == 'TEACHER_DEFAULT') {
+            countPrice = 0;
-							form.onlineTeacherSalary = Math.round(tc.offlineClassesSalary) // 线上课酬
+          }
-						} else if (onss.salarySettlementType == 'RATIO_DISCOUNT') {
+          tempPrice =
-							// 老师课酬的折扣 如果有则不打折
+            (countPrice * form.studentNum) /
-							// form.onlineTeacherSalary = Math.round(vcs.onlineClassesUnitPrice * (onss.settlementValue ? onss.settlementValue : 100) / 100)
+            (Number(oncn) + Number(offcn) + Number(giveNum));
+          if (vas.type == "DISCOUNT") {
+            tempPrice =
+              (tempPrice * (vas.attribute1 ? Number(vas.attribute1) : 100)) /
+              100;
+          }
+        }
+        // 课程按课来计算
+        if (obj && obj.onlineSalarySettlement) {
+          let onss = obj.onlineSalarySettlement;
+          // 有线上课
+          if (onss.salarySettlementType == "TEACHER_DEFAULT") {
+            form.onlineTeacherSalary = Math.round(tc.offlineClassesSalary); // 线上课酬
+          } else if (onss.salarySettlementType == "RATIO_DISCOUNT") {
+            // 老师课酬的折扣 如果有则不打折
+            // form.onlineTeacherSalary = Math.round(vcs.onlineClassesUnitPrice * (onss.settlementValue ? onss.settlementValue : 100) / 100)
 
 
-							form.onlineTeacherSalary = Math.round(tempPrice ? (tempPrice * (onss.settlementValue ? onss.settlementValue :
+            form.onlineTeacherSalary = Math.round(
-								100) / 100) : 0)
+              tempPrice
-						} else if (onss.salarySettlementType == 'FIXED_SALARY') {
+                ? (tempPrice *
-							form.onlineTeacherSalary = Math.round(onss.settlementValue)
+                    (onss.settlementValue ? onss.settlementValue : 100)) /
-						}
+                    100
-						form.onlineTeacherSalary = Number(form.onlineTeacherSalary)
+                : 0
-					}
+            );
-					if (obj && obj.offlineSalarySettlement) {
+          } else if (onss.salarySettlementType == "FIXED_SALARY") {
-						let offss = obj.offlineSalarySettlement
+            form.onlineTeacherSalary = Math.round(onss.settlementValue);
-						// 有线下课
+          }
-						if (offss.salarySettlementType == 'TEACHER_DEFAULT') {
+          form.onlineTeacherSalary = Number(form.onlineTeacherSalary);
-							form.offlineTeacherSalary = Math.round(tc.offlineClassesSalary) // 线上课酬
+        }
-						} else if (offss.salarySettlementType == 'RATIO_DISCOUNT') {
+        if (obj && obj.offlineSalarySettlement) {
-							// 老师课酬的折扣
+          let offss = obj.offlineSalarySettlement;
-							// form.offlineTeacherSalary = Math.round((vcs.offlineClassesUnitPrice * (offss.settlementValue ? offss.settlementValue : 100) / 100))
+          // 有线下课
-							form.offlineTeacherSalary = Math.round(tempPrice ? (tempPrice * (offss.settlementValue ? offss.settlementValue :
+          if (offss.salarySettlementType == "TEACHER_DEFAULT") {
-								100) / 100) : 0)
+            form.offlineTeacherSalary = Math.round(tc.offlineClassesSalary); // 线上课酬
-						} else if (offss.salarySettlementType == 'FIXED_SALARY') {
+          } else if (offss.salarySettlementType == "RATIO_DISCOUNT") {
-							form.offlineTeacherSalary = Math.round(offss.settlementValue)
+            // 老师课酬的折扣
-						}
+            // form.offlineTeacherSalary = Math.round((vcs.offlineClassesUnitPrice * (offss.settlementValue ? offss.settlementValue : 100) / 100))
-						form.offlineTeacherSalary = Number(form.offlineTeacherSalary)
+            form.offlineTeacherSalary = Math.round(
-					}
+              tempPrice
-				}
+                ? (tempPrice *
+                    (offss.settlementValue ? offss.settlementValue : 100)) /
+                    100
+                : 0
+            );
+          } else if (offss.salarySettlementType == "FIXED_SALARY") {
+            form.offlineTeacherSalary = Math.round(offss.settlementValue);
+          }
+          form.offlineTeacherSalary = Number(form.offlineTeacherSalary);
+        }
+      }
 
 
-				if (vas.type == 'GIVE_CLASS' || vas.type == 'BASE_ACTIVITY') {
+      if (vas.type == "GIVE_CLASS" || vas.type == "BASE_ACTIVITY") {
-					form.totalCount = Math.round((oncn * form.onlineClassesUnitPrice) + (offcn * form.offlineClassesUnitPrice))
+        form.totalCount = Math.round(
-				} else if (vas.type == 'DISCOUNT') {
+          oncn * form.onlineClassesUnitPrice +
-					form.totalCount = Math.round(((oncn * form.onlineClassesUnitPrice) + (offcn * form.offlineClassesUnitPrice)) *
+            offcn * form.offlineClassesUnitPrice
-						Number(vas.attribute1) / 100)
+        );
-				}
+      } else if (vas.type == "DISCOUNT") {
-				form.totalCount = Number(form.totalCount)
+        form.totalCount = Math.round(
-			},
+          ((oncn * form.onlineClassesUnitPrice +
-			getThinkDate(date, num) {
+            offcn * form.offlineClassesUnitPrice) *
-				let Stamp = date
+            Number(vas.attribute1)) /
-				Stamp.setDate(date.getDate() + num) // 获取当前月数的第几天
+            100
-				var year = Stamp.getFullYear(); //获取完整的年份(4位,1970-????)
+        );
-				var month = Stamp.getMonth() + 1; //获取当前月份(0-11,0代表1月)
+      }
-				var mvar = '';
+      form.totalCount = Number(form.totalCount);
-				if (month < 10) {
+    },
-					mvar = '0' + month;
+    getThinkDate(date, num) {
-				} else {
+      let Stamp = date;
-					mvar = month + '';
+      Stamp.setDate(date.getDate() + num); // 获取当前月数的第几天
-				}
+      var year = Stamp.getFullYear(); //获取完整的年份(4位,1970-????)
-				var day = Stamp.getDate();
+      var month = Stamp.getMonth() + 1; //获取当前月份(0-11,0代表1月)
-				var dvar = '';
+      var mvar = "";
-				if (day < 10) {
+      if (month < 10) {
-					dvar = '0' + day;
+        mvar = "0" + month;
-				} else {
+      } else {
-					dvar = day + '';
+        mvar = month + "";
-				}
+      }
-				return year + "-" + mvar + '-' + dvar;
+      var day = Stamp.getDate();
-			},
+      var dvar = "";
-			// 分钟小时相加减
+      if (day < 10) {
-			MinutesTest(houer, mins, interval) {
+        dvar = "0" + day;
-				let min = mins.split('分')[0]
+      } else {
-				let sdate1 = new Date(1900, 1, 1, houer, min)
+        dvar = day + "";
-				sdate1.setMinutes(sdate1.getMinutes() + parseInt(interval))
+      }
-				let H = sdate1.getHours()
+      return year + "-" + mvar + "-" + dvar;
-				let M = sdate1.getMinutes()
+    },
-				if (H < 10) H = '0' + H
+    // 分钟小时相加减
-				if (M < 10) M = '0' + M
+    MinutesTest(houer, mins, interval) {
-				return H + ':' + M
+      let min = mins.split("分")[0];
-			},
+      let sdate1 = new Date(1900, 1, 1, houer, min);
-			// 判断时间是否在时间段内
+      sdate1.setMinutes(sdate1.getMinutes() + parseInt(interval));
-			timeIsrange(beginTime, endTime, nowTime) {
+      let H = sdate1.getHours();
-				var strb = beginTime.split(":");
+      let M = sdate1.getMinutes();
-				if (strb.length != 2) {
+      if (H < 10) H = "0" + H;
-					return false;
+      if (M < 10) M = "0" + M;
-				}
+      return H + ":" + M;
-				var stre = endTime.split(":");
+    },
-				if (stre.length != 2) {
+    // 判断时间是否在时间段内
-					return false;
+    timeIsrange(beginTime, endTime, nowTime) {
-				}
+      var strb = beginTime.split(":");
-				var strn = nowTime.split(":");
+      if (strb.length != 2) {
-				if (stre.length != 2) {
+        return false;
-					return false;
+      }
-				}
+      var stre = endTime.split(":");
-				var b = new Date();
+      if (stre.length != 2) {
-				var e = new Date();
+        return false;
-				var n = new Date();
+      }
-				b.setHours(strb[0]);
+      var strn = nowTime.split(":");
-				b.setMinutes(strb[1]);
+      if (stre.length != 2) {
-				e.setHours(stre[0]);
+        return false;
-				e.setMinutes(stre[1]);
+      }
-				n.setHours(strn[0]);
+      var b = new Date();
-				n.setMinutes(strn[1]);
+      var e = new Date();
+      var n = new Date();
+      b.setHours(strb[0]);
+      b.setMinutes(strb[1]);
+      e.setHours(stre[0]);
+      e.setMinutes(stre[1]);
+      n.setHours(strn[0]);
+      n.setMinutes(strn[1]);
 
 
-				if (n.getTime() - b.getTime() >= 0 && n.getTime() - e.getTime() <= 0) {
+      if (n.getTime() - b.getTime() >= 0 && n.getTime() - e.getTime() <= 0) {
-					// 在时间范围内
+        // 在时间范围内
-					return true
+        return true;
-				} else {
+      } else {
-					// 不在时间范围内
+        // 不在时间范围内
-					return false
+        return false;
-				}
+      }
-			},
+    },
-			getWeek(str) { // 获取周几索引值
+    getWeek(str) {
-				let template = {
+      // 获取周几索引值
-					'周一': 1,
+      let template = {
-					'周二': 2,
+        周一: 1,
-					'周三': 3,
+        周二: 2,
-					'周四': 4,
+        周三: 3,
-					'周五': 5,
+        周四: 4,
-					'周六': 6,
+        周五: 5,
-					'周日': 0
+        周六: 6,
-				}
+        周日: 0,
-				return template[str]
+      };
-			},
+      return template[str];
-			formatter(type, value) {
+    },
-				if (type === 'year') {
+    formatter(type, value) {
-					return `${value}年`;
+      if (type === "year") {
-				} else if (type === 'month') {
+        return `${value}年`;
-					return `${value}月`
+      } else if (type === "month") {
-				} else if (type === 'day') {
+        return `${value}月`;
-					return `${value}日`
+      } else if (type === "day") {
-				}
+        return `${value}日`;
-				return value;
+      }
-			},
+      return value;
-			async onSubmit() {
+    },
-				let form = this.form
+    async onSubmit() {
-				let statusList = this.statusList
+      let form = this.form;
-				// 排课
+      let statusList = this.statusList;
-				this.setTimeTable()
+      // 排课
+      this.setTimeTable();
 
 
-				// if (!(form.name)) {
+      // if (!(form.name)) {
-				// 	this.$toast('请输入课程班名称')
+      // 	this.$toast('请输入课程班名称')
-				// 	return false
+      // 	return false
-				// }
+      // }
-				if (!form.subjectIdList) {
+      if (!form.subjectIdList) {
-					this.$toast('请选择科目')
+        this.$toast("请选择科目");
-					return false
+        return false;
-				}
+      }
-				if (!form.vipGroupCategoryId) {
+      if (!form.vipGroupCategoryId) {
-					this.$toast('请选择课程形式')
+        this.$toast("请选择课程形式");
-					return false
+        return false;
-				}
+      }
-				if (!form.educationalTeacherId) {
+      if (!form.educationalTeacherId) {
-					this.$toast('请选择乐团主管')
+        this.$toast("请选择乐团主管");
-					return
+        return;
-				}
+      }
-				if(this.checkboxSelectIds.length <= 0) {
+      if (this.checkboxSelectIds.length <= 0) {
-					this.$toast('请选择上课学生')
+        this.$toast("请选择上课学生");
-					return
+        return;
-				}
+      }
 
 
-				if (!form.vipGroupActivityId) {
+      if (!form.vipGroupActivityId) {
-					this.$toast('请选择活动方案')
+        this.$toast("请选择活动方案");
-					return false
+        return false;
-				}
+      }
 
 
-				if (!form.singleClassMinutes) {
+      if (!form.singleClassMinutes) {
-					this.$toast('请选择每课时长')
+        this.$toast("请选择每课时长");
-					return false
+        return false;
-				}
+      }
 
 
-				let onlineClassesStatus = !form.onlineClassesNums && form.onlineClassesNums <= 0 ? true : false
+      let onlineClassesStatus =
-				let offlineClassesStatus = !form.offlineClassesNums && form.offlineClassesNums <= 0 ? true : false
+        !form.onlineClassesNums && form.onlineClassesNums <= 0 ? true : false;
+      let offlineClassesStatus =
+        !form.offlineClassesNums && form.offlineClassesNums <= 0 ? true : false;
 
 
-				if (statusList.hasOnline) {
+      if (statusList.hasOnline) {
-					if (onlineClassesStatus) {
+        if (onlineClassesStatus) {
-						this.$toast('请输入线上课次数')
+          this.$toast("请输入线上课次数");
-						return false
+          return false;
-					}
+        }
-				}
+      }
 
 
-				if (statusList.hasOffline) {
+      if (statusList.hasOffline) {
-					if (offlineClassesStatus) {
+        if (offlineClassesStatus) {
-						this.$toast('请输入线下课次数')
+          this.$toast("请输入线下课次数");
-						return false
+          return false;
-					}
+        }
 
 
-					// 判断是否有线下
+        // 判断是否有线下
-					if (form.offlineClassesNums > 0 && !form.teacherSchoolId) {
+        if (form.offlineClassesNums > 0 && !form.teacherSchoolId) {
-						this.$toast('请选择线下课地址')
+          this.$toast("请选择线下课地址");
-						return false
+          return false;
-					}
+        }
-				}
+      }
 
 
-				// if (!form.registrationStartTime) {
+      // if (!form.registrationStartTime) {
-				// 	this.$toast('请选择报名开始时间')
+      // 	this.$toast('请选择报名开始时间')
-				// 	return false
+      // 	return false
-				// }
+      // }
-				// if (!form.coursesExpireDate) {
+      // if (!form.coursesExpireDate) {
-				// 	this.$toast('请选择报名结束时间')
+      // 	this.$toast('请选择报名结束时间')
-				// 	return false
+      // 	return false
-				// }
+      // }
 
 
-				let vipGroupActivitySelect = this.loadData.vipGroupActivitySelect
+      let vipGroupActivitySelect = this.loadData.vipGroupActivitySelect;
-				if (vipGroupActivitySelect.type == 'GIVE_CLASS' && !form.giveTeachMode) {
+      if (vipGroupActivitySelect.type == "GIVE_CLASS" && !form.giveTeachMode) {
-					this.$toast('请选择赠课类型')
+        this.$toast("请选择赠课类型");
-					return false
+        return false;
-				}
+      }
-				if (this.scheduleList.length <= 0) {
+      if (this.scheduleList.length <= 0) {
-					this.$toast('课时安排不能为空')
+        this.$toast("课时安排不能为空");
-					return false
+        return false;
-				}
+      }
-				if (statusList.hasOnline) {
+      if (statusList.hasOnline) {
-					if (!form.onlineClassesUnitPrice) {
+        if (!form.onlineClassesUnitPrice) {
-						this.$toast('请输入线上课单价')
+          this.$toast("请输入线上课单价");
-						return false
+          return false;
-					}
+        }
-					if (!form.onlineTeacherSalary) {
+        if (!form.onlineTeacherSalary) {
-						this.$toast('请输入线上课课酬')
+          this.$toast("请输入线上课课酬");
-						return false
+          return false;
-					}
+        }
-				}
+      }
 
 
-				if (statusList.hasOffline) {
+      if (statusList.hasOffline) {
-					if (!form.offlineClassesUnitPrice) {
+        if (!form.offlineClassesUnitPrice) {
-						this.$toast('请输入线下课单价')
+          this.$toast("请输入线下课单价");
-						return false
+          return false;
-					}
+        }
-					if (!form.offlineTeacherSalary) {
+        if (!form.offlineTeacherSalary) {
-						this.$toast('请输入线下课课酬')
+          this.$toast("请输入线下课课酬");
-						return false
+          return false;
-					}
+        }
-				}
+      }
 
 
-				if (form.giveTeachMode == 'ONLINE') {
+      if (form.giveTeachMode == "ONLINE") {
-					form.onlineClassesNum = Number(form.onlineClassesNums) + Number(this.other.giveNum)
+        form.onlineClassesNum =
-					form.offlineClassesNum = Number(form.offlineClassesNums)
+          Number(form.onlineClassesNums) + Number(this.other.giveNum);
-				} else {
+        form.offlineClassesNum = Number(form.offlineClassesNums);
-					form.onlineClassesNum = Number(form.onlineClassesNums)
+      } else {
-					form.offlineClassesNum = Number(form.offlineClassesNums) + Number(this.other.giveNum)
+        form.onlineClassesNum = Number(form.onlineClassesNums);
-				}
+        form.offlineClassesNum =
+          Number(form.offlineClassesNums) + Number(this.other.giveNum);
+      }
 
 
-				form.totalClassTimes = Number(form.onlineClassesNums) + Number(form.offlineClassesNums) + Number(this.other.giveNum)
+      form.totalClassTimes =
-				form.paymentExpireDate = form.coursesExpireDate
+        Number(form.onlineClassesNums) +
-				form.studentIdList = this.checkboxSelectIds.join(',')
+        Number(form.offlineClassesNums) +
-				form.firstStudentId = this.checkboxSelectDataList.length > 0 ? this.checkboxSelectDataList[0].userId : null
+        Number(this.other.giveNum);
-				let params = {
+      form.paymentExpireDate = form.coursesExpireDate;
-					courseSchedules: this.timeTable,
+      form.studentIdList = this.checkboxSelectIds.join(",");
-					vipGroupApplyBaseInfo: form
+      form.firstStudentId =
-				}
+        this.checkboxSelectDataList.length > 0
-				if (!this.onSubmitStatus) {
+          ? this.checkboxSelectDataList[0].userId
-					return
+          : null;
-				}
+      let params = {
-				this.onSubmitStatus = false
+        courseSchedules: this.timeTable,
-				setLoading(true)
+        vipGroupApplyBaseInfo: form,
-				await vipGroupApplyForDouble11(params).then(res => {
+      };
-					let result = res.data
+      if (!this.onSubmitStatus) {
-					setLoading(false)
+        return;
-					if (result.code == 200) {
+      }
-						this.$toast('排课成功')
+      this.onSubmitStatus = false;
-						setTimeout(() => {
+      setLoading(true);
-							this.onSubmitStatus = true
+      await vipGroupApplyForDouble11(params)
-							if (browser().iPhone) {
+        .then((res) => {
-								window.webkit.messageHandlers.DAYA.postMessage(JSON.stringify({
+          let result = res.data;
-									api: 'back'
+          setLoading(false);
-								}))
+          if (result.code == 200) {
-							} else if (browser().android) {
+            this.$toast("排课成功");
-								DAYA.postMessage(JSON.stringify({
+            setTimeout(() => {
-									api: 'back'
+              this.onSubmitStatus = true;
-								}))
+              if (browser().iPhone) {
-							} else {
+                window.webkit.messageHandlers.DAYA.postMessage(
-								this.$router.push('/business')
+                  JSON.stringify({
-							}
+                    api: "back",
-						}, 500)
+                  })
-					} else {
+                );
-						this.onSubmitStatus = true
+              } else if (browser().android) {
-						this.$toast(result.msg)
+                DAYA.postMessage(
-					}
+                  JSON.stringify({
-				}).catch(() => {
+                    api: "back",
-					setLoading(false)
+                  })
-				})
+                );
-			},
+              } else {
-			// 搜索
+                this.$router.push("/business");
-			onSearch() {
+              }
-				this.params.page = 1
+            }, 500);
-				this.dataList = []
+          } else {
-				this.dataShow = true
+            this.onSubmitStatus = true;
-				this.loading = true
+            this.$toast(result.msg);
-				this.finished = false
+          }
-				this.getStudent()
+        })
-			},
+        .catch(() => {
-			async getStudent() {
+          setLoading(false);
-				let params = this.params
+        });
-				await queryDouble11Students(params).then(res => {
+    },
-					let result = res.data
+    // 搜索
-					this.loading = false
+    onSearch() {
-					if (result.code == 200) {
+      this.params.page = 1;
-						params.page = result.data.pageNo
+      this.dataList = [];
-						this.dataList = this.dataList.concat(result.data.rows)
+      this.dataShow = true;
-						if (params.page >= result.data.totalPage) {
+      this.loading = true;
-							this.finished = true
+      this.finished = false;
-						}
+      this.getStudent();
-						this.params.page++
+    },
-					} else {
+    async getStudent() {
-						this.finished = true
+      let params = this.params;
-					}
+      await queryDouble11Students(params).then((res) => {
-					// 判断是否有数据
+        let result = res.data;
-					if (this.dataList.length <= 0) {
+        this.loading = false;
-						this.dataShow = false
+        if (result.code == 200) {
-					}
+          params.page = result.data.pageNo;
-				})
+          this.dataList = this.dataList.concat(result.data.rows);
-			},
+          if (params.page >= result.data.totalPage) {
-			onPopupCancel() { // 关闭弹窗
+            this.finished = true;
-				this.statusList.studentStatus = false
+          }
-				// this.params.search = null
+          this.params.page++;
-				this.checkboxSelect = []
+        } else {
-				this.checkboxSelectList = []
+          this.finished = true;
-			},
+        }
-			onPopupSubmit() {
+        // 判断是否有数据
-				const vipGroupCategorySelect = this.loadData.vipGroupCategorySelect
+        if (this.dataList.length <= 0) {
-				if(this.checkboxSelect.length != vipGroupCategorySelect.studentNum) {
+          this.dataShow = false;
-					this.$toast(`请选择学生${vipGroupCategorySelect.studentNum}名,当前选择${this.checkboxSelect.length}名`)
+        }
-					return
+      });
-				}
+    },
-				this.checkboxSelectDataList = JSON.parse(JSON.stringify(this.checkboxSelectList))
+    onPopupCancel() {
-				this.checkboxSelectIds = JSON.parse(JSON.stringify(this.checkboxSelect))
+      // 关闭弹窗
-				this.checkboxSelect = []
+      this.statusList.studentStatus = false;
-				this.checkboxSelectList = []
+      // this.params.search = null
+      this.checkboxSelect = [];
+      this.checkboxSelectList = [];
+    },
+    onPopupSubmit() {
+      const vipGroupCategorySelect = this.loadData.vipGroupCategorySelect;
+      if (this.checkboxSelect.length != vipGroupCategorySelect.studentNum) {
+        this.$toast(
+          `请选择学生${vipGroupCategorySelect.studentNum}名,当前选择${this.checkboxSelect.length}名`
+        );
+        return;
+      }
+      this.checkboxSelectDataList = JSON.parse(
+        JSON.stringify(this.checkboxSelectList)
+      );
+      this.checkboxSelectIds = JSON.parse(JSON.stringify(this.checkboxSelect));
+      this.checkboxSelect = [];
+      this.checkboxSelectList = [];
 
 
-				this.loadData.vipGroupActivity = []
+      this.loadData.vipGroupActivity = [];
-				this.formName.vipGroupActivityName = null
+      this.formName.vipGroupActivityName = null;
-				this.formName.vipGroupCategoryIndex = 0
+      this.formName.vipGroupCategoryIndex = 0;
-				this.form.vipGroupActivityId = null
+      this.form.vipGroupActivityId = null;
-				this.statusList.studentStatus = false
+      this.statusList.studentStatus = false;
-			},
+    },
-			onCheckboxSelect(value) {
+    onCheckboxSelect(value) {
-				// 如果没有次数则不能点击
+      // 如果没有次数则不能点击
-				if(!value.courseOneToOneTime && !value.courseOneToTwoTime) {
+      if (!value.courseOneToOneTime && !value.courseOneToTwoTime) {
-					return
+        return;
-				}
+      }
-				if(this.checkboxSelect.includes(value.userId.toString())) {
+      if (this.checkboxSelect.includes(value.userId.toString())) {
-					this.checkboxSelect.forEach((item, index) => {
+        this.checkboxSelect.forEach((item, index) => {
-						if(item == value.userId.toString()) {
+          if (item == value.userId.toString()) {
-							this.checkboxSelect.splice(index, 1)
+            this.checkboxSelect.splice(index, 1);
-						}
+          }
-					})
+        });
-					this.checkboxSelectList.forEach((item, index) => {
+        this.checkboxSelectList.forEach((item, index) => {
-						if(item.userId == value.userId) {
+          if (item.userId == value.userId) {
-							this.checkboxSelectList.splice(index, 1)
+            this.checkboxSelectList.splice(index, 1);
-						}
+          }
-					})
+        });
-				} else {
+      } else {
-					this.checkboxSelect.push(value.userId.toString())
+        this.checkboxSelect.push(value.userId.toString());
-					this.checkboxSelectList.push(value)
+        this.checkboxSelectList.push(value);
-				}
+      }
-				// checkboxSelect = item.userId
+      // checkboxSelect = item.userId
-			},
+    },
-			desensitPhone(phone) { // 手机号脱敏
+    desensitPhone(phone) {
-				let first = phone.substr(0, 3)
+      // 手机号脱敏
-				let last  = phone.substr(-4)
+      let first = phone.substr(0, 3);
-				return first + '****' + last
+      let last = phone.substr(-4);
-			}
+      return first + "****" + last;
-		}
+    },
-	}
+  },
+};
 </script>
 </script>
 <style lang='less' scoped>
 <style lang='less' scoped>
-	@import url("../../assets/commonLess/variable.less");
+@import url("../../assets/commonLess/variable.less");
 
 
-	.vip-title {
+.vip-title {
-		padding: .06rem 0 .04rem;
+  padding: 0.06rem 0 0.04rem;
-		font-size: .12rem;
+  font-size: 0.12rem;
-		color: @mFontColor;
+  color: @mFontColor;
-		text-align: center;
+  text-align: center;
-	}
+}
 
 
-	.add-plan {
+.add-plan {
-		display: flex;
+  display: flex;
-		align-items: center;
+  align-items: center;
-		justify-content: center;
+  justify-content: center;
-		padding: .2rem 0;
+  padding: 0.2rem 0;
-		font-size: .16rem;
+  font-size: 0.16rem;
-		color: @tFontColor;
+  color: @tFontColor;
 
 
-		.van-icon {
+  .van-icon {
-			margin-right: .05rem;
+    margin-right: 0.05rem;
-			font-size: .20rem;
+    font-size: 0.2rem;
-		}
+  }
-	}
+}
 
 
-	.title-time {
+.title-time {
-		display: flex;
+  display: flex;
-		align-items: center;
+  align-items: center;
-		flex: 1 auto;
+  flex: 1 auto;
-		color: #4A4A4A;
+  color: #4a4a4a;
 
 
-		.online {
+  .online {
-			color: @tFontColor;
+    color: @tFontColor;
-		}
+  }
 
 
-		.week {
+  .week {
-			padding-left: .4rem;
+    padding-left: 0.4rem;
-			padding-right: .15rem;
+    padding-right: 0.15rem;
-		}
+  }
-	}
+}
 
 
-	// /deep/.van-field__label,
+// /deep/.van-field__label,
-	// /deep/.van-cell__value {
+// /deep/.van-cell__value {
-	// 	flex: 1 auto;
+// 	flex: 1 auto;
-	// }
+// }
-		/deep/.van-field__label{
+/deep/.van-field__label {
-		width: 50%;
+  width: 50%;
-	}
+}
 
 
-	/deep/.van-field__control:disabled {
+/deep/.van-field__control:disabled {
-		color: #6a6969;
+  color: #6a6969;
-	}
+}
 
 
-	.button-group {
+.button-group {
-		margin: .3rem .26rem .2rem;
+  margin: 0.3rem 0.26rem 0.2rem;
 
 
-		.van-button--primary {
+  .van-button--primary {
-			background: @mColor;
+    background: @mColor;
-			border-color: @mColor;
+    border-color: @mColor;
-			font-size: .18rem;
+    font-size: 0.18rem;
-		}
+  }
-	}
+}
 
 
-	.van-row {
+.van-row {
-		line-height: .4rem;
+  line-height: 0.4rem;
-		border-top: 1px solid #edeef0;
+  border-top: 1px solid #edeef0;
-		text-align: center;
+  text-align: center;
-		font-size: .14rem;
+  font-size: 0.14rem;
 
 
-		&:first-child {
+  &:first-child {
-			border-top: 0;
+    border-top: 0;
-			background: #edeef0;
+    background: #edeef0;
-			color: #444;
+    color: #444;
-			font-size: .15rem;
+    font-size: 0.15rem;
-		}
+  }
-	}
+}
 
 
-	.tableContainer {
+.tableContainer {
-		max-height: 2.44rem;
+  max-height: 2.44rem;
-		overflow: auto;
+  overflow: auto;
 
 
-		.van-row {
+  .van-row {
-			color: #444;
+    color: #444;
 
 
-			&:first-child {
+    &:first-child {
-				border-top: 0;
+      border-top: 0;
-				background: #fff;
+      background: #fff;
-				font-size: .14rem;
+      font-size: 0.14rem;
-			}
+    }
-		}
+  }
-	}
+}
 
 
-	.studentContainer {
+.studentContainer {
-		/deep/.van-cell__title {
+  /deep/.van-cell__title {
-			font-size: .14rem;
+    font-size: 0.14rem;
-			color: @mFontColor;
+    color: @mFontColor;
-			flex: 1 auto;
+    flex: 1 auto;
-		}
+  }
 
 
-		.logo {
+  .logo {
-			width: .35rem;
+    width: 0.35rem;
-			height: .35rem;
+    height: 0.35rem;
-			margin-right: .12rem;
+    margin-right: 0.12rem;
-			border-radius: 100%;
+    border-radius: 100%;
-		}
+  }
 
 
-		.input-cell {
+  .input-cell {
-			padding: .12rem .16rem .2rem;
+    padding: 0.12rem 0.16rem 0.2rem;
 
 
-			.van-checkbox {
+    .van-checkbox {
-				justify-content: flex-end;
+      justify-content: flex-end;
-			}
+    }
-		}
+  }
 
 
-		/deep/.van-cell__value {
+  /deep/.van-cell__value {
-			height: 20px;
+    height: 20px;
-		}
+  }
 
 
-		/deep/.van-checkbox__icon .van-icon {
+  /deep/.van-checkbox__icon .van-icon {
-			border-color: @sFontColor;
+    border-color: @sFontColor;
-		}
+  }
 
 
-		// /deep/.van-checkbox__icon--checked {
+  // /deep/.van-checkbox__icon--checked {
-		// 	.van-icon {
+  // 	.van-icon {
-		// 		border-color: @orangeColor;
+  // 		border-color: @orangeColor;
-		// 		background: @orangeColor;
+  // 		background: @orangeColor;
-		// 	}
+  // 	}
-		// }
+  // }
 
 
-		.van-tag {
+  .van-tag {
-			margin-left: .08rem;
+    margin-left: 0.08rem;
-		}
+  }
-	}
+}
-	.paddingB80 {
+.paddingB80 {
-	  padding-bottom: .8rem
+  padding-bottom: 0.8rem;
-	}
+}
-	.button-group-popup {
+.button-group-popup {
-		position: fixed;
+  position: fixed;
-		bottom: 0;
+  bottom: 0;
-		padding: 0.2rem 0;
+  padding: 0.2rem 0;
-		width: 100%;
+  width: 100%;
-		text-align: center;
+  text-align: center;
-		background-color: #FFFFFF;
+  background-color: #ffffff;
-		.btn {
+  .btn {
-			padding: 0 0.45rem;
+    padding: 0 0.45rem;
-			line-height: 0.4rem;
+    line-height: 0.4rem;
-			display: inline-block;
+    display: inline-block;
-			border: 1px solid @mColor;
+    border: 1px solid @mColor;
-			border-radius: 1rem;
+    border-radius: 1rem;
-			color: @mColor;
+    color: @mColor;
-			background: #fff;
+    background: #fff;
-			font-size: 0.18rem;
+    font-size: 0.18rem;
-			&.primary {
+    &.primary {
-				color: #fff;
+      color: #fff;
-				background: @mColor;
+      background: @mColor;
-			}
+    }
-		}
+  }
-		.btn+.btn {
+  .btn + .btn {
-			margin-left: 0.1rem;
+    margin-left: 0.1rem;
-		}
+  }
-	}
+}
-	.studentColor {
+.studentColor {
-		color:  @mColor;
+  color: @mColor;
-	}
+}
 
 
-	/deep/.van-field--disabled .van-field__label {
+/deep/.van-field--disabled .van-field__label {
-		color: #323233;
+  color: #323233;
-	}
+}
+.courseStudent {
+  .van-cell__value {
+    color: #b2b2b2;
+    font-size: 0.16rem;
+  }
+}
 </style>
 </style>

+ 408 - 267
src/views/teacher/studyReportNew.vue

@@ -1,255 +1,386 @@
 <template>
 <template>
-  <div class="m-containers"  v-if='subjectJson'>
+  <div class="wrap">
-    <img :src="imgList.topBanner" width="100%" class="topBanner" alt />
+    <div class="m-containers" v-if="subjectJson">
-    <div class="paddingWrap">
+      <img :src="imgList.topBanner" width="100%" class="topBanner" alt />
-      <div class="topCard">
+      <div class="paddingWrap">
-        <img :src="imgList.note1" class="topNote" width="100%" alt />
+        <div class="topCard">
-        <p class="title">
+          <img :src="imgList.note1" class="topNote" width="100%" alt />
-          <img :src="imgList.squrt" class="squrts" alt />
+          <p class="title">
-          授课内容
+            <img :src="imgList.squrt" class="squrts" alt />
-        </p>
+            授课内容
-        <div class="chioseList">
+          </p>
-          <div class="theoryCell">
+          <div class="chioseList">
-            <div class="left">
+            <div class="theoryCell">
-              <img :src="imgList.theoryIcon" class="theoryIcon" alt />
+              <div class="left">
-              乐理
+                <img :src="imgList.theoryIcon" class="theoryIcon" alt />
-            </div>
+                乐理
-            <div class="right">
+              </div>
-              <div class="theoryItem" v-for="(item,index) in hasTheory" :key="index">
+              <div class="right">
-                <van-field
+                <div
-                  readonly
+                  class="theoryItem"
-                  clickable
+                  v-for="(item, index) in hasTheory"
-                  :label="subjectName"
+                  :key="index"
-                  placeholder="请选择乐理"
-                  :value="item.str"
-                  @click="item.show = true"
-                />
-                <van-popup
-                  v-model="item.show"
-                  position="bottom"
-                  :overlay="true"
-                  get-container="#app"
                 >
                 >
-                  <van-picker
+                  <van-field
-                    show-toolbar
+                    readonly
-                    :columns="theoryList"
+                    clickable
-                    @cancel="item.show = false"
+                    :label="subjectName"
-                    @confirm="(val)=>{ onConfirm(val,item)}"
+                    placeholder="请选择乐理"
-                  />
+                    :value="item.str"
-                </van-popup>
+                    @click="item.show = true"
-                <div class="iconWrap" v-if="index== 0" @click="addTheory(hasTheory)">
-                  <img :src="imgList.addIcon" class="smallIcon" alt />
-                </div>
-                <div class="iconWrap" v-else>
-                  <img
-                    :src="imgList.deteleIcon"
-                    class="smallIcon"
-                    alt
-                    @click="removeTheory(hasTheory,index)"
                   />
                   />
+                  <van-popup
+                    v-model="item.show"
+                    position="bottom"
+                    :overlay="true"
+                    get-container="#app"
+                  >
+                    <van-picker
+                      show-toolbar
+                      :columns="theoryList"
+                      @cancel="item.show = false"
+                      @confirm="
+                        (val) => {
+                          onConfirm(val, item);
+                        }
+                      "
+                    />
+                  </van-popup>
+                  <div
+                    class="iconWrap"
+                    v-if="index == 0"
+                    @click="addTheory(hasTheory)"
+                  >
+                    <img :src="imgList.addIcon" class="smallIcon" alt />
+                  </div>
+                  <div class="iconWrap" v-else>
+                    <img
+                      :src="imgList.deteleIcon"
+                      class="smallIcon"
+                      alt
+                      @click="removeTheory(hasTheory, index)"
+                    />
+                  </div>
                 </div>
                 </div>
               </div>
               </div>
             </div>
             </div>
-          </div>
+            <div class="musicCell">
-          <div class="musicCell">
+              <div class="left">
-            <div class="left">
+                <img :src="imgList.muiscIcon" class="muiscIcon" alt />
-              <img :src="imgList.muiscIcon" class="muiscIcon" alt />
+                曲子
-              曲子
+              </div>
-            </div>
+              <div class="right">
-            <div class="right">
-              <van-field v-model="testMusic" rows="1" autosize type="textarea" placeholder="请输入曲子" />
-            </div>
-          </div>
-          <div class="theoryCell teachingCell">
-            <div class="left">
-              <img :src="imgList.bookIcon" class="bookIcon" alt />
-              教材
-            </div>
-            <div class="right">
-              <div class="theoryItem" v-for="(item,index) in teaching" :key="index">
                 <van-field
                 <van-field
-                  readonly
+                  v-model="testMusic"
-                  clickable
+                  rows="1"
-                  :label="subjectName"
+                  autosize
-                  placeholder="请选择教材"
+                  type="textarea"
-                  :value="item.str"
+                  placeholder="请输入曲子"
-                  @click="item.show = true"
                 />
                 />
-                <van-popup v-model="item.show" position="bottom" get-container="#app">
+              </div>
-                  <van-picker
+            </div>
-                    show-toolbar
+            <div class="theoryCell teachingCell">
-                    :columns="teachingList"
+              <div class="left">
-                    @cancel="item.show = false"
+                <img :src="imgList.bookIcon" class="bookIcon" alt />
-                    @confirm="(val)=>{ onTeacherConfirm(val,item)}"
+                教材
-                  />
+              </div>
-                </van-popup>
+              <div class="right">
-                <div class="iconWrap" v-if="index== 0" @click="addTheory(teaching)">
+                <div
-                  <img :src="imgList.addIcon" class="smallIcon" alt />
+                  class="theoryItem"
-                </div>
+                  v-for="(item, index) in teaching"
-                <div class="iconWrap" v-else>
+                  :key="index"
-                  <img
+                >
-                    :src="imgList.deteleIcon"
+                  <van-field
-                    class="smallIcon"
+                    readonly
-                    alt
+                    clickable
-                    @click="removeTheory(teaching,index)"
+                    :label="subjectName"
+                    placeholder="请选择教材"
+                    :value="item.str"
+                    @click="item.show = true"
                   />
                   />
+                  <van-popup
+                    v-model="item.show"
+                    position="bottom"
+                    get-container="#app"
+                  >
+                    <van-picker
+                      show-toolbar
+                      :columns="teachingList"
+                      @cancel="item.show = false"
+                      @confirm="
+                        (val) => {
+                          onTeacherConfirm(val, item);
+                        }
+                      "
+                    />
+                  </van-popup>
+                  <div
+                    class="iconWrap"
+                    v-if="index == 0"
+                    @click="addTheory(teaching)"
+                  >
+                    <img :src="imgList.addIcon" class="smallIcon" alt />
+                  </div>
+                  <div class="iconWrap" v-else>
+                    <img
+                      :src="imgList.deteleIcon"
+                      class="smallIcon"
+                      alt
+                      @click="removeTheory(teaching, index)"
+                    />
+                  </div>
                 </div>
                 </div>
               </div>
               </div>
             </div>
             </div>
           </div>
           </div>
         </div>
         </div>
-      </div>
+        <div class="nextCard">
-      <div class="nextCard">
+          <img :src="imgList.note2" class="topNote" width="100%" alt />
-        <img :src="imgList.note2" class="topNote" width="100%" alt />
+          <p class="title">
-        <p class="title">
+            <img :src="imgList.squrt" class="squrts" alt />
-          <img :src="imgList.squrt" class="squrts" alt />
+            必选项
-          必选项
+          </p>
-        </p>
+          <div class="chioseList">
-        <div class="chioseList">
+            <p class="subTitle">1.{{ subjectJson[1].title }}</p>
-          <p class="subTitle">1.{{subjectJson[1].title}}</p>
+            <div
-          <div class="cell" :class="one==1?'activce':''" @click="one=1">
+              class="cell"
-            <img :src="imgList.excellent" class="icons" alt />
+              :class="one == 1 ? 'activce' : ''"
-            <p>{{subjectJson[1][1] }}</p>
+              @click="one = 1"
-          </div>
+            >
-          <div class="cell" :class="one==2?'activce':''" @click="one=2">
+              <img :src="imgList.excellent" class="icons" alt />
-            <img :src="imgList.good" class="icons" alt />
+              <p>{{ subjectJson[1][1] }}</p>
-            <p>{{subjectJson[1][2] }} </p>
+            </div>
-          </div>
+            <div
-          <div class="cell" :class="one==3?'activce':''" @click="one=3">
+              class="cell"
-            <img :src="imgList.normal" class="icons" alt />
+              :class="one == 2 ? 'activce' : ''"
-             <p>{{subjectJson[1][3] }}</p>
+              @click="one = 2"
-          </div>
+            >
-        </div>
+              <img :src="imgList.good" class="icons" alt />
-        <img :src="imgList.line" alt width="100%" />
+              <p>{{ subjectJson[1][2] }}</p>
-        <div class="chioseList">
+            </div>
-          <p class="subTitles">2.{{subjectJson[2].title}}</p>
+            <div
-          <div class="cell" :class="two==1?'activce':''" @click="two=1">
+              class="cell"
-            <img :src="imgList.excellent" class="icons" alt />
+              :class="one == 3 ? 'activce' : ''"
-            <p>{{subjectJson[2][1] }}</p>
+              @click="one = 3"
-          </div>
+            >
-          <div class="cell" :class="two==2?'activce':''" @click="two=2">
+              <img :src="imgList.normal" class="icons" alt />
-            <img :src="imgList.good" class="icons" alt />
+              <p>{{ subjectJson[1][3] }}</p>
-            <p>{{subjectJson[2][2] }}</p>
+            </div>
-          </div>
-          <div class="cell" :class="two==3?'activce':''" @click="two=3">
-            <img :src="imgList.normal" class="icons" alt />
-            <p>{{subjectJson[2][3] }}</p>
-          </div>
-        </div>
-        <img :src="imgList.line" alt width="100%" />
-        <div class="chioseList">
-          <p class="subTitles">3.{{subjectJson[3].title}}</p>
-          <div class="cell" :class="three==1?'activce':''" @click="three=1">
-            <img :src="imgList.excellent" class="icons" alt />
-            <p>{{subjectJson[3][1] }}</p>
-          </div>
-          <div class="cell" :class="three==2?'activce':''" @click="three=2">
-            <img :src="imgList.good" class="icons" alt />
-            <p> {{subjectJson[3][2] }}</p>
-          </div>
-          <div class="cell" :class="three==3?'activce':''" @click="three=3">
-            <img :src="imgList.normal" class="icons" alt />
-            <p>{{subjectJson[3][3] }}</p>
-          </div>
-        </div>
-        <img :src="imgList.line" alt width="100%"   />
-        <div class="chioseList">
-          <p class="subTitles">4.{{subjectJson[4].title}}</p>
-          <div class="cell" :class="four==1?'activce':''" @click="four=1">
-            <img :src="imgList.excellent" class="icons" alt />
-            <p> {{subjectJson[4][1] }}</p>
-          </div>
-          <div class="cell" :class="four==2?'activce':''" @click="four=2">
-            <img :src="imgList.good" class="icons" alt />
-            <p> {{subjectJson[4][2] }}</p>
-          </div>
-          <div class="cell" :class="four==3?'activce':''" @click="four=3" v-if="subjectJson[4][3]">
-            <img :src="imgList.normal" class="icons" alt />
-            <p>{{subjectJson[4][3] }}</p>
           </div>
           </div>
-        </div>
+          <img :src="imgList.line" alt width="100%" />
-        <img :src="imgList.line" alt width="100%" />
+          <div class="chioseList">
-        <div class="chioseList"  v-if="subjectJson[5]">
+            <p class="subTitles">2.{{ subjectJson[2].title }}</p>
-          <p class="subTitles">5.{{subjectJson[5].title}}</p>
+            <div
-          <div class="cell" :class="five==1?'activce':''" @click="five=1">
+              class="cell"
-            <img :src="imgList.excellent" class="icons" alt />
+              :class="two == 1 ? 'activce' : ''"
-            <p>{{subjectJson[5][1] }}</p>
+              @click="two = 1"
+            >
+              <img :src="imgList.excellent" class="icons" alt />
+              <p>{{ subjectJson[2][1] }}</p>
+            </div>
+            <div
+              class="cell"
+              :class="two == 2 ? 'activce' : ''"
+              @click="two = 2"
+            >
+              <img :src="imgList.good" class="icons" alt />
+              <p>{{ subjectJson[2][2] }}</p>
+            </div>
+            <div
+              class="cell"
+              :class="two == 3 ? 'activce' : ''"
+              @click="two = 3"
+            >
+              <img :src="imgList.normal" class="icons" alt />
+              <p>{{ subjectJson[2][3] }}</p>
+            </div>
           </div>
           </div>
-          <div class="cell" :class="five==2?'activce':''" @click="five=2">
+          <img :src="imgList.line" alt width="100%" />
-            <img :src="imgList.normal" class="icons" alt />
+          <div class="chioseList">
-            <p>{{subjectJson[5][2] }}</p>
+            <p class="subTitles">3.{{ subjectJson[3].title }}</p>
+            <div
+              class="cell"
+              :class="three == 1 ? 'activce' : ''"
+              @click="three = 1"
+            >
+              <img :src="imgList.excellent" class="icons" alt />
+              <p>{{ subjectJson[3][1] }}</p>
+            </div>
+            <div
+              class="cell"
+              :class="three == 2 ? 'activce' : ''"
+              @click="three = 2"
+            >
+              <img :src="imgList.good" class="icons" alt />
+              <p>{{ subjectJson[3][2] }}</p>
+            </div>
+            <div
+              class="cell"
+              :class="three == 3 ? 'activce' : ''"
+              @click="three = 3"
+            >
+              <img :src="imgList.normal" class="icons" alt />
+              <p>{{ subjectJson[3][3] }}</p>
+            </div>
           </div>
           </div>
-        </div>
+          <img :src="imgList.line" alt width="100%" />
-      </div>
+          <div class="chioseList">
-      <div class="nextCard">
+            <p class="subTitles">4.{{ subjectJson[4].title }}</p>
-        <img :src="imgList.note2" class="topNote" width="100%" alt />
+            <div
-        <p class="title">
+              class="cell"
-          <img :src="imgList.squrt" class="squrts" alt />
+              :class="four == 1 ? 'activce' : ''"
-          可选项
+              @click="four = 1"
-        </p>
+            >
-        <div class="chioseList">
+              <img :src="imgList.excellent" class="icons" alt />
-          <p class="subTitle">1.{{subjectJson[6].title}}</p>
+              <p>{{ subjectJson[4][1] }}</p>
-          <div class="cell" :class="six==1?'activce':''" @click="six=1">
+            </div>
-            <img :src="imgList.excellent" class="icons" alt />
+            <div
-            <p>{{subjectJson[6][1] }}</p>
+              class="cell"
+              :class="four == 2 ? 'activce' : ''"
+              @click="four = 2"
+            >
+              <img :src="imgList.good" class="icons" alt />
+              <p>{{ subjectJson[4][2] }}</p>
+            </div>
+            <div
+              class="cell"
+              :class="four == 3 ? 'activce' : ''"
+              @click="four = 3"
+              v-if="subjectJson[4][3]"
+            >
+              <img :src="imgList.normal" class="icons" alt />
+              <p>{{ subjectJson[4][3] }}</p>
+            </div>
           </div>
           </div>
-          <div class="cell" :class="six==2?'activce':''" @click="six=2">
+          <img :src="imgList.line" alt width="100%" />
-            <img :src="imgList.normal" class="icons" alt />
+          <div class="chioseList" v-if="subjectJson[5]">
-            <p> {{subjectJson[6][2] }}</p>
+            <p class="subTitles">5.{{ subjectJson[5].title }}</p>
+            <div
+              class="cell"
+              :class="five == 1 ? 'activce' : ''"
+              @click="five = 1"
+            >
+              <img :src="imgList.excellent" class="icons" alt />
+              <p>{{ subjectJson[5][1] }}</p>
+            </div>
+            <div
+              class="cell"
+              :class="five == 2 ? 'activce' : ''"
+              @click="five = 2"
+            >
+              <img :src="imgList.normal" class="icons" alt />
+              <p>{{ subjectJson[5][2] }}</p>
+            </div>
           </div>
           </div>
         </div>
         </div>
-        <img :src="imgList.line" alt width="100%" />
+        <div class="nextCard">
-        <div class="chioseList">
+          <img :src="imgList.note2" class="topNote" width="100%" alt />
-          <p class="subTitles">2.{{subjectJson[7].title}}</p>
+          <p class="title">
-          <div class="cell" :class="seven==1?'activce':''" @click="seven=1">
+            <img :src="imgList.squrt" class="squrts" alt />
-            <img :src="imgList.excellent" class="icons" alt />
+            可选项
-            <p>{{subjectJson[7][1] }}</p>
+          </p>
+          <div class="chioseList">
+            <p class="subTitle">1.{{ subjectJson[6].title }}</p>
+            <div
+              class="cell"
+              :class="six == 1 ? 'activce' : ''"
+              @click="six = 1"
+            >
+              <img :src="imgList.excellent" class="icons" alt />
+              <p>{{ subjectJson[6][1] }}</p>
+            </div>
+            <div
+              class="cell"
+              :class="six == 2 ? 'activce' : ''"
+              @click="six = 2"
+            >
+              <img :src="imgList.normal" class="icons" alt />
+              <p>{{ subjectJson[6][2] }}</p>
+            </div>
           </div>
           </div>
-          <div class="cell" :class="seven==2?'activce':''" @click="seven=2">
+          <img :src="imgList.line" alt width="100%" />
-            <img :src="imgList.normal" class="icons" alt />
+          <div class="chioseList">
-            <p>{{subjectJson[7][2] }}</p>
+            <p class="subTitles">2.{{ subjectJson[7].title }}</p>
+            <div
+              class="cell"
+              :class="seven == 1 ? 'activce' : ''"
+              @click="seven = 1"
+            >
+              <img :src="imgList.excellent" class="icons" alt />
+              <p>{{ subjectJson[7][1] }}</p>
+            </div>
+            <div
+              class="cell"
+              :class="seven == 2 ? 'activce' : ''"
+              @click="seven = 2"
+            >
+              <img :src="imgList.normal" class="icons" alt />
+              <p>{{ subjectJson[7][2] }}</p>
+            </div>
           </div>
           </div>
-        </div>
 
 
-        <img :src="imgList.line" alt width="100%" />
+          <img :src="imgList.line" alt width="100%" />
-        <div class="chioseList">
+          <div class="chioseList">
-          <p class="subTitles">3.{{subjectJson[8].title}}</p>
+            <p class="subTitles">3.{{ subjectJson[8].title }}</p>
-          <div class="cell" :class="eight==1?'activce':''" @click="eight=1">
+            <div
-            <img :src="imgList.excellent" class="icons" alt />
+              class="cell"
-            <p>{{subjectJson[8][1] }}</p>
+              :class="eight == 1 ? 'activce' : ''"
-          </div>
+              @click="eight = 1"
-          <div class="cell" :class="eight==2?'activce':''" @click="eight=2">
+            >
-            <img :src="imgList.good" class="icons" alt />
+              <img :src="imgList.excellent" class="icons" alt />
-            <p>{{subjectJson[8][2] }}</p>
+              <p>{{ subjectJson[8][1] }}</p>
+            </div>
+            <div
+              class="cell"
+              :class="eight == 2 ? 'activce' : ''"
+              @click="eight = 2"
+            >
+              <img :src="imgList.good" class="icons" alt />
+              <p>{{ subjectJson[8][2] }}</p>
+            </div>
+            <div
+              class="cell"
+              :class="eight == 3 ? 'activce' : ''"
+              @click="eight = 3"
+              v-if="subjectJson[8][3]"
+            >
+              <img :src="imgList.normal" class="icons" alt />
+              <p>{{ subjectJson[8][3] }}</p>
+            </div>
           </div>
           </div>
-          <div class="cell" :class="eight==3?'activce':''" @click="eight=3" v-if="subjectJson[8][3]">
+        </div>
-            <img :src="imgList.normal" class="icons" alt />
+        <div class="nextCard">
-            <p>{{subjectJson[8][3] }}</p>
+          <p class="title commitTitle">
+            <img :src="imgList.squrt" class="squrts" alt />
+            老师评语
+          </p>
+          <div class="commitWrap">
+            <van-field
+              v-model="comment"
+              rows="3"
+              autosize
+              type="textarea"
+              placeholder="学员表现的怎么样?填写评语能让学员更清楚自己的优点和美中不足的地方哦~"
+            />
           </div>
           </div>
         </div>
         </div>
       </div>
       </div>
-      <div class="nextCard">
+      <div class="submit" @click="submietInfo">
-        <p class="title commitTitle">
+        <img :src="imgList.btn" width="100%" alt />
-          <img :src="imgList.squrt" class="squrts" alt />
-          老师评语
-        </p>
-        <div class="commitWrap">
-          <van-field v-model="comment" rows="3" autosize type="textarea" placeholder="学员表现的怎么样?填写评语能让学员更清楚自己的优点和美中不足的地方哦~" />
-        </div>
       </div>
       </div>
+      <div class="bottomBox"></div>
     </div>
     </div>
-    <div class="submit" @click="submietInfo">
+    <MEmpty v-else :full="true" msg="暂无报告模板" />
-      <img :src="imgList.btn" width="100%" alt />
-    </div>
-    <div class="bottomBox"></div>
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
 /* eslint-disable */
 /* eslint-disable */
 import { subjectJson } from "@/utils/questionJson";
 import { subjectJson } from "@/utils/questionJson";
+import MEmpty from "@/components/MEmpty";
 import { browser } from "@/common/common";
 import { browser } from "@/common/common";
 import { findTeacherClassGroupInfo, addStudyReport1 } from "@/api/teacher";
 import { findTeacherClassGroupInfo, addStudyReport1 } from "@/api/teacher";
 export default {
 export default {
+  components: { MEmpty },
   data() {
   data() {
     return {
     return {
       imgList: {
       imgList: {
@@ -266,18 +397,18 @@ export default {
         good: require("@/assets/images/start/good.png"),
         good: require("@/assets/images/start/good.png"),
         normal: require("@/assets/images/start/normal.png"),
         normal: require("@/assets/images/start/normal.png"),
         line: require("@/assets/images/start/line.png"),
         line: require("@/assets/images/start/line.png"),
-        btn: require("@/assets/images/start/button.png")
+        btn: require("@/assets/images/start/button.png"),
       },
       },
       theoryList: ["一级", "二级", "三级", "四级"],
       theoryList: ["一级", "二级", "三级", "四级"],
       teachingList: [
       teachingList: [
         {
         {
           values: ["一级", "二级", "三级", "四级"],
           values: ["一级", "二级", "三级", "四级"],
-          defaultIndex: 2
+          defaultIndex: 2,
         },
         },
         {
         {
           values: [],
           values: [],
-          defaultIndex: 1
+          defaultIndex: 1,
-        }
+        },
       ],
       ],
       hasTheory: [{ str: "", show: false }],
       hasTheory: [{ str: "", show: false }],
       teaching: [{ str: "", show: false }],
       teaching: [{ str: "", show: false }],
@@ -295,7 +426,7 @@ export default {
       eight: "",
       eight: "",
       subjectName: null,
       subjectName: null,
       id: "",
       id: "",
-      comment:''
+      comment: "",
     };
     };
   },
   },
   created() {
   created() {
@@ -309,14 +440,16 @@ export default {
     //   this.onAppBack();
     //   this.onAppBack();
     //   return;
     //   return;
     // }
     // }
-    findTeacherClassGroupInfo({ classGroupId: this.classGroupId }).then(res => {
+    findTeacherClassGroupInfo({ classGroupId: this.classGroupId }).then(
-      if (res.data.code == 200) {
+      (res) => {
-        this.subjectName = res.data.data.subjectNames;
+        if (res.data.code == 200) {
-        this.subjectJson = subjectJson[this.subjectName];
+          this.subjectName = res.data.data.subjectNames;
+          this.subjectJson = subjectJson[this.subjectName];
           //  this.subjectJson = subjectJson['打击乐'];
           //  this.subjectJson = subjectJson['打击乐'];
-        // console.log(subjectJson,this.subjectName)
+          // console.log(subjectJson,this.subjectName)
+        }
       }
       }
-    });
+    );
   },
   },
   methods: {
   methods: {
     onConfirm(val, item) {
     onConfirm(val, item) {
@@ -336,18 +469,18 @@ export default {
     submietInfo() {
     submietInfo() {
       // console.log(this.one)
       // console.log(this.one)
       // console.log(this.json.one[this.one])
       // console.log(this.json.one[this.one])
-      if(this.subjectName == '打击乐'){
+      if (this.subjectName == "打击乐") {
-          if (!this.one || !this.two || !this.three || !this.four) {
+        if (!this.one || !this.two || !this.three || !this.four) {
-        this.$toast("请认真选择必选项");
+          this.$toast("请认真选择必选项");
-        return;
+          return;
-      }
+        }
-      }else {
+      } else {
-          if (!this.one || !this.two || !this.three || !this.four || !this.five) {
+        if (!this.one || !this.two || !this.three || !this.four || !this.five) {
-        this.$toast("请认真选择必选项");
+          this.$toast("请认真选择必选项");
-        return;
+          return;
-      }
+        }
       }
       }
-    
+
       if (!this.hasTheory[0].str || !this.teaching[0].str) {
       if (!this.hasTheory[0].str || !this.teaching[0].str) {
         this.$toast("必须选择乐理和教材");
         this.$toast("必须选择乐理和教材");
         return;
         return;
@@ -364,7 +497,7 @@ export default {
         five: this.five,
         five: this.five,
         six: this.six,
         six: this.six,
         seven: this.seven,
         seven: this.seven,
-        eight: this.eight
+        eight: this.eight,
       };
       };
       let id = this.id || null;
       let id = this.id || null;
       let comment = this.comment || null;
       let comment = this.comment || null;
@@ -375,9 +508,9 @@ export default {
         musicTheory: this.hasTheory,
         musicTheory: this.hasTheory,
         teachingMaterial: this.teaching,
         teachingMaterial: this.teaching,
         version: 2,
         version: 2,
-        comment:this.comment,
+        comment: this.comment,
-        id
+        id,
-      }).then(res => {
+      }).then((res) => {
         if (res.data.code == 200) {
         if (res.data.code == 200) {
           this.$toast("提交成功");
           this.$toast("提交成功");
           setTimeout(() => {
           setTimeout(() => {
@@ -402,11 +535,14 @@ export default {
           JSON.stringify({ api: "back" })
           JSON.stringify({ api: "back" })
         );
         );
       }
       }
-    }
+    },
-  }
+  },
 };
 };
 </script>
 </script>
 <style lang="less" scoped>
 <style lang="less" scoped>
+.wrap {
+  background-color: #fff;
+}
 div {
 div {
   box-sizing: border-box;
   box-sizing: border-box;
 }
 }
@@ -440,8 +576,8 @@ div {
       justify-content: center;
       justify-content: center;
       padding-bottom: 0.24rem;
       padding-bottom: 0.24rem;
       .commitTitle {
       .commitTitle {
-        position: relative!important;
+        position: relative !important;
-        margin-bottom:.17rem!important; 
+        margin-bottom: 0.17rem !important;
       }
       }
       .commitWrap {
       .commitWrap {
         padding: 0.1rem;
         padding: 0.1rem;
@@ -496,29 +632,29 @@ div {
               height: 0.17rem;
               height: 0.17rem;
               position: relative;
               position: relative;
               top: 0.04rem;
               top: 0.04rem;
-                     margin-right:.02rem;
+              margin-right: 0.02rem;
             }
             }
             .muiscIcon {
             .muiscIcon {
               width: 0.17rem;
               width: 0.17rem;
               height: 0.19rem;
               height: 0.19rem;
               position: relative;
               position: relative;
               top: 0.04rem;
               top: 0.04rem;
-                margin-right:.02rem;
+              margin-right: 0.02rem;
             }
             }
             .bookIcon {
             .bookIcon {
               width: 0.16rem;
               width: 0.16rem;
               height: 0.19rem;
               height: 0.19rem;
               position: relative;
               position: relative;
               top: 0.04rem;
               top: 0.04rem;
-                margin-right:.02rem;
+              margin-right: 0.02rem;
             }
             }
           }
           }
           .right {
           .right {
             .van-cell {
             .van-cell {
-                font-size: .14rem;
+              font-size: 0.14rem;
-                line-height: .24rem;
+              line-height: 0.24rem;
-                padding: .1rem .16rem;
+              padding: 0.1rem 0.16rem;
-              }
+            }
             .theoryItem {
             .theoryItem {
               display: flex;
               display: flex;
               flex-direction: row;
               flex-direction: row;
@@ -555,7 +691,7 @@ div {
           top: -0.2rem;
           top: -0.2rem;
           font-size: 0.18rem;
           font-size: 0.18rem;
           color: #00696a;
           color: #00696a;
-           font-weight: bold;
+          font-weight: bold;
         }
         }
         .subTitles {
         .subTitles {
           top: 0 !important;
           top: 0 !important;
@@ -584,7 +720,9 @@ div {
     font-size: 0.14rem;
     font-size: 0.14rem;
     margin-bottom: 0.245rem;
     margin-bottom: 0.245rem;
     border: 1px solid transparent;
     border: 1px solid transparent;
-    p {width: 2.41rem;}
+    p {
+      width: 2.41rem;
+    }
     .icons {
     .icons {
       width: 0.26rem;
       width: 0.26rem;
       height: 0.26rem;
       height: 0.26rem;
@@ -612,21 +750,24 @@ div {
   z-index: 0;
   z-index: 0;
   position: relative;
   position: relative;
 }
 }
-.van-field__control::-webkit-input-placeholder { /* WebKit browsers */
+.van-field__control::-webkit-input-placeholder {
-font-size: .14rem;
+  /* WebKit browsers */
-line-height: .20rem!important;
+  font-size: 0.14rem;
-color: #999;
+  line-height: 0.2rem !important;
+  color: #999;
 }
 }
 
 
-.van-field__control::-moz-placeholder { /* Mozilla Firefox 19+ */
+.van-field__control::-moz-placeholder {
-font-size: .14rem;
+  /* Mozilla Firefox 19+ */
-line-height: .20rem!important;
+  font-size: 0.14rem;
-color: #999
+  line-height: 0.2rem !important;
+  color: #999;
 }
 }
 
 
-.van-field__control::-ms-input-placeholder { /* Internet Explorer 10+ */
+.van-field__control::-ms-input-placeholder {
-font-size: .14rem;
+  /* Internet Explorer 10+ */
-line-height: .20rem!important;
+  font-size: 0.14rem;
-color: #999
+  line-height: 0.2rem !important;
-}   
+  color: #999;
+}
 </style>
 </style>

+ 8 - 0
src/views/teacher/tobeReport.vue

@@ -11,12 +11,20 @@
         </div>
         </div>
         <div class="cellBtn" @click="submitReport(item)">提交报告</div>
         <div class="cellBtn" @click="submitReport(item)">提交报告</div>
       </div>
       </div>
+
+      <!-- 空 -->
+
+      <MEmpty v-if="!reportList.length" :full='true'/>
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
 import { getNeedPost } from "@/api/teacher";
 import { getNeedPost } from "@/api/teacher";
+import MEmpty from "@/components/MEmpty";
 export default {
 export default {
+  components:{
+    MEmpty
+  },
   data() {
   data() {
     return {
     return {
       reportList: [],
       reportList: [],