Browse Source

判断类型

lex 2 years ago
parent
commit
2b937f55fa
1 changed files with 162 additions and 65 deletions
  1. 162 65
      src/views/teamDetail/componentCourse/resetClass.vue

+ 162 - 65
src/views/teamDetail/componentCourse/resetClass.vue

@@ -1,60 +1,148 @@
 <template>
   <div>
-    <el-form :model="maskForm" class="maskForm" ref="maskForm" :rules="maskRules" label-position="right"
-      label-width="120px" :inline="true">
+    <el-form
+      :model="maskForm"
+      class="maskForm"
+      ref="maskForm"
+      :rules="maskRules"
+      label-position="right"
+      label-width="120px"
+      :inline="true"
+    >
       <!--    -->
-      <el-form-item label="主教老师" v-if="maskForm.type == 'VIP'" prop="teacher">
-        <remote-search :commit="'setTeachers'" v-model="maskForm.teacher" @change="changeTeacher" :width="220" />
+      <el-form-item
+        label="主教老师"
+        v-if="maskForm.type == 'VIP'"
+        prop="teacher"
+      >
+        <remote-search
+          :commit="'setTeachers'"
+          v-model="maskForm.teacher"
+          @change="changeTeacher"
+          :width="220"
+        />
       </el-form-item>
       <el-form-item label="主教老师" v-else prop="teacher">
-        <remote-search :commit="'setTeachers'" v-model="maskForm.teacher" :width="220" />
+        <remote-search
+          :commit="'setTeachers'"
+          v-model="maskForm.teacher"
+          :width="220"
+        />
       </el-form-item>
-      <el-form-item label="助教老师" v-if="maskForm.type != 'MUSIC_NETWORK' &&
-        maskForm.type != 'HIGH_ONLINE' &&
-        maskForm.groupType == 'MUSIC'
-        " prop="assistant">
-        <remote-search :commit="'setTeachers'" v-model="maskForm.assistant" :width="220" :multiple="true" />
+      <el-form-item
+        label="助教老师"
+        v-if="
+          maskForm.type != 'MUSIC_NETWORK' &&
+            maskForm.type != 'HIGH_ONLINE' &&
+            maskForm.groupType == 'MUSIC'
+        "
+        prop="assistant"
+      >
+        <remote-search
+          :commit="'setTeachers'"
+          v-model="maskForm.assistant"
+          :width="220"
+          :multiple="true"
+        />
       </el-form-item>
       <el-form-item label="上课日期" prop="date">
-        <el-date-picker v-model.trim="maskForm.date" type="date" :picker-options="bigin" value-format="yyyy-MM-dd"
-          placeholder="选择日期" clearable></el-date-picker>
+        <el-date-picker
+          v-model.trim="maskForm.date"
+          type="date"
+          :picker-options="bigin"
+          value-format="yyyy-MM-dd"
+          placeholder="选择日期"
+          clearable
+        ></el-date-picker>
       </el-form-item>
       <el-form-item label="课程时长" prop="timer">
-        <el-select v-model="maskForm.timer" @change="changeTime" style="width: 220px !important" clearable>
-          <el-option v-for="(item, index) in typeTimeList" :key="index" :disabled="item > baseTimer ? true : false"
-            :value="parseInt(item)" :label="item"></el-option>
+        <el-select
+          v-model="maskForm.timer"
+          @change="changeTime"
+          style="width: 220px !important"
+          clearable
+        >
+          <el-option
+            v-for="(item, index) in typeTimeList"
+            :key="index"
+            :disabled="item > baseTimer ? true : false"
+            :value="parseInt(item)"
+            :label="item"
+          ></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="开始时间" prop="startTime">
-        <el-time-picker placeholder="起始时间" v-model.trim="maskForm.startTime" @change="changeStartTime" format="HH:mm"
-          value-format="HH:mm" :picker-options="{
-            selectableRange: `06:00:00 - 23:30:00`,
-          }" clearable></el-time-picker>
+        <el-time-picker
+          placeholder="起始时间"
+          v-model.trim="maskForm.startTime"
+          @change="changeStartTime"
+          format="HH:mm"
+          value-format="HH:mm"
+          :picker-options="{
+            selectableRange: `06:00:00 - 23:30:00`
+          }"
+          clearable
+        ></el-time-picker>
       </el-form-item>
       <el-form-item label="结束时间" prop="endTime">
-        <el-time-picker placeholder="结束时间" v-model.trim="maskForm.endTime" disabled format="HH:mm" value-format="HH:mm"
+        <el-time-picker
+          placeholder="结束时间"
+          v-model.trim="maskForm.endTime"
+          disabled
+          format="HH:mm"
+          value-format="HH:mm"
           :picker-options="{
             start: '04:30',
             step: '00:05',
             end: '23:30',
-            minTime: maskForm.startTime,
-          }" clearable></el-time-picker>
+            minTime: maskForm.startTime
+          }"
+          clearable
+        ></el-time-picker>
       </el-form-item>
-      <el-form-item label="课程类型" v-if="maskForm.type == 'VIP'" prop="courseType">
-        <el-select clearable @change="typeChange" style="width: 220px !important" v-model.trim="maskForm.teachMode">
+      <el-form-item
+        label="课程类型"
+        v-if="maskForm.type == 'VIP'"
+        prop="courseType"
+      >
+        <el-select
+          clearable
+          @change="typeChange"
+          style="width: 220px !important"
+          v-model.trim="maskForm.teachMode"
+        >
           <el-option label="线上课" value="ONLINE"></el-option>
           <el-option label="线下课" value="OFFLINE"></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="课程类型" v-if="maskForm.type == 'HIGH' || maskForm.type == 'HIGH_ONLINE'" prop="courseType">
-        <el-select clearable @change="typeChangeHight" style="width: 220px !important" v-model.trim="maskForm.teachMode">
+      <el-form-item
+        label="课程类型"
+        v-if="maskForm.type == 'HIGH' || maskForm.type == 'HIGH_ONLINE'"
+        prop="courseType"
+      >
+        <el-select
+          clearable
+          @change="typeChangeHight"
+          style="width: 220px !important"
+          v-model.trim="maskForm.teachMode"
+        >
           <el-option label="线上课" value="ONLINE"></el-option>
           <el-option label="线下课" value="OFFLINE"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="教学地点" v-if="maskForm.teachMode == 'OFFLINE'">
-        <el-select v-model.trim="maskForm.address" style="width: 220px !important" filterable clearable>
-          <el-option v-for="(item, index) in schoolList" :key="index" :value="item.id" :label="item.name"></el-option>
+        <el-select
+          v-model.trim="maskForm.address"
+          style="width: 220px !important"
+          filterable
+          clearable
+        >
+          <el-option
+            v-for="(item, index) in schoolList"
+            :key="index"
+            :value="item.id"
+            :label="item.name"
+          ></el-option>
         </el-select>
       </el-form-item>
     </el-form>
@@ -70,9 +158,9 @@ import {
   getTeacher,
   resetCourse,
   getCourseScheduleDetail,
-  getOrganCourseDurationSettings,
+  getOrganCourseDurationSettings
 } from "@/api/buildTeam";
-import { vipGroupCategory } from '@/api/vipSeting'
+import { vipGroupCategory } from "@/api/vipSeting";
 import { getTeachSchool } from "@/api/teacherManager";
 import { getSchool } from "@/api/systemManage";
 import cleanDeep from "clean-deep";
@@ -90,20 +178,26 @@ export default {
         date: null,
         timer: null,
         startTime: null,
-        endTime: null,
+        endTime: null
       },
       maskRules: {
-        teacher: [{ required: true, message: "请选择主教老师名称", trigger: "blur" }],
+        teacher: [
+          { required: true, message: "请选择主教老师名称", trigger: "blur" }
+        ],
         date: [{ required: true, message: "请选择上课时间", trigger: "blur" }],
-        startTime: [{ required: true, message: "请选择上课开始时间", trigger: "blur" }],
-        endTime: [{ required: true, message: "请选择上课结束时间", trigger: "blur" }],
+        startTime: [
+          { required: true, message: "请选择上课开始时间", trigger: "blur" }
+        ],
+        endTime: [
+          { required: true, message: "请选择上课结束时间", trigger: "blur" }
+        ]
       },
       teacherList: [],
       schoolList: [],
       typeTimeList: [],
       courseTimeList: {},
       organId: "",
-      bigin: this.beginDate(),
+      bigin: this.beginDate()
     };
   },
   created() {
@@ -137,7 +231,7 @@ export default {
       this.$confirm("是否确定?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           let teachingTeacherIdList = maskForm.assistant.join(",");
@@ -147,16 +241,19 @@ export default {
           let obj = {
             actualTeacherId: maskForm.teacher,
             startClassTimeStr: maskForm.startTime,
-            endClassTimeStr: maskForm.groupType == "MUSIC" ? maskForm.endTime : null,
+            endClassTimeStr:
+              maskForm.groupType == "MUSIC" || maskForm.groupType == "LIVE"
+                ? maskForm.endTime
+                : null,
             id: maskForm.id,
             teachingTeacherIdList,
             classDate: maskForm.date,
             type: maskForm.type,
             groupType: maskForm.groupType,
             schoolId: this.maskForm.address,
-            teachMode: this.maskForm.teachMode,
+            teachMode: this.maskForm.teachMode
           };
-          resetCourse(cleanDeep(obj)).then((res) => {
+          resetCourse(cleanDeep(obj)).then(res => {
             if (res.code == 200) {
               this.$message.success("修改成功");
               this.$emit("getList");
@@ -168,10 +265,10 @@ export default {
               this.$confirm(`当前课程课酬预计为0,是否继续`, "提示", {
                 confirmButtonText: "确定",
                 cancelButtonText: "取消",
-                type: "warning",
-              }).then((res) => {
+                type: "warning"
+              }).then(res => {
                 obj.allowZeroSalary = true;
-                resetCourse(cleanDeep(obj)).then((res) => {
+                resetCourse(cleanDeep(obj)).then(res => {
                   if (res.code == 200) {
                     this.$message.success("修改成功");
                     this.$emit("getList");
@@ -182,7 +279,7 @@ export default {
             }
           });
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     typeChange() {
       this.$set(this.maskForm, "address", null);
@@ -197,7 +294,7 @@ export default {
       }
     },
     changeStartTime(val) {
-      this.$nextTick((res) => {
+      this.$nextTick(res => {
         if (val) {
           this.$set(
             this.maskForm,
@@ -210,7 +307,7 @@ export default {
       });
     },
     changeTime(val) {
-      this.$nextTick((res) => {
+      this.$nextTick(res => {
         this.maskForm.endTime = addTimerFormMinute(
           this.maskForm.date,
           this.maskForm.startTime,
@@ -221,8 +318,8 @@ export default {
     changeTeacher(val) {
       if (val) {
         getTeachSchool({
-          userId: val,
-        }).then((res) => {
+          userId: val
+        }).then(res => {
           if (res.code == 200) {
             this.schoolList = res.data;
           }
@@ -231,7 +328,7 @@ export default {
       }
     },
     getDetail(id) {
-      getCourseScheduleDetail({ courseScheduleId: id }).then(async (res) => {
+      getCourseScheduleDetail({ courseScheduleId: id }).then(async res => {
         if (res.code == 200) {
           this.maskForm = {
             id: res.data.id,
@@ -244,7 +341,7 @@ export default {
             type: res.data.type,
             groupType: res.data.groupType,
             address: res.data.schoolId,
-            teachMode: res.data.teachMode,
+            teachMode: res.data.teachMode
           };
           for (let key in this.courseTimeList) {
             if (key == row.courseScheduleType) {
@@ -263,7 +360,7 @@ export default {
           if (res.data.groupType == "MUSIC") {
             try {
               const res = await getOrganCourseDurationSettings({
-                organId: this.organId,
+                organId: this.organId
               });
               this.courseTimeList = res.data;
               for (let key in this.courseTimeList) {
@@ -271,30 +368,30 @@ export default {
                   this.typeTimeList = this.courseTimeList[key].split(",");
                 }
               }
-            } catch (e) { }
-          } else if (res.data.groupType == 'LIVE') {
+            } catch (e) {}
+          } else if (res.data.groupType == "LIVE") {
             try {
               const { data } = await vipGroupCategory({
-                groupType: 'LIVE',
+                groupType: "LIVE"
               });
-              console.log(data, 'data')
+              console.log(data, "data");
               data.forEach(liveItem => {
-                this.typeTimeList.push(liveItem.singleClassMinutes)
-              })
-            } catch (e) { }
+                this.typeTimeList.push(liveItem.singleClassMinutes);
+              });
+            } catch (e) {}
           }
           this.baseTimer = time;
           this.maskForm.timer = time;
           if (this.maskForm.teacher && this.maskForm.type == "VIP") {
             getTeachSchool({
-              userId: this.maskForm.teacher,
-            }).then((res) => {
+              userId: this.maskForm.teacher
+            }).then(res => {
               if (res.code == 200) {
                 this.schoolList = res.data;
               }
             });
           } else {
-            getSchool({ organId: res.data.organId }).then((res) => {
+            getSchool({ organId: res.data.organId }).then(res => {
               if (res.code == 200) {
                 this.schoolList = res.data;
               }
@@ -309,9 +406,9 @@ export default {
         disabledDate(time) {
           return time.getTime() + 86400000 <= new Date().getTime();
           //开始时间不选时,结束时间最大值小于等于当天
-        },
+        }
       };
-    },
+    }
   },
 
   watch: {
@@ -321,7 +418,7 @@ export default {
       }
     },
     "maskForm.timer"(val) {
-      this.$nextTick((res) => {
+      this.$nextTick(res => {
         if (val) {
           this.$set(
             this.maskForm,
@@ -332,8 +429,8 @@ export default {
           this.$set(this.maskForm, "endTime", "");
         }
       });
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="scss" scoped>