浏览代码

修改逻辑

lex 2 年之前
父节点
当前提交
d301b795cf
共有 1 个文件被更改,包括 127 次插入101 次删除
  1. 127 101
      src/views/teamDetail/components/courseList.vue

+ 127 - 101
src/views/teamDetail/components/courseList.vue

@@ -96,20 +96,28 @@
           start-placeholder="课程开始日期"
           end-placeholder="课程结束日期"
           :picker-options="{
-            firstDayOfWeek: 1,
+            firstDayOfWeek: 1
           }"
         ></el-date-picker>
       </el-form-item>
       <el-form-item>
         <el-button native-type="submit" type="danger">搜索</el-button>
         <el-button type="primary" native-type="reset">重置</el-button>
-         <el-button type="primary"     v-if="
-                  permission('export/exportMusicGroupCourseScheduleDetail')
-                " @click="exportCourse">导出</el-button>
+        <el-button
+          type="primary"
+          v-if="permission('export/exportMusicGroupCourseScheduleDetail')"
+          @click="exportCourse"
+          >导出</el-button
+        >
       </el-form-item>
     </save-form>
     <div class="btnWraps" style="margin-bottom:20px;">
-      <el-button type="primary" v-if="permission('courseScheduleConvert/action')"  @click="transCourse">课程转换</el-button>
+      <el-button
+        type="primary"
+        v-if="permission('courseScheduleConvert/action')"
+        @click="transCourse"
+        >课程转换</el-button
+      >
     </div>
 
     <div style="font-size: 14px; padding-bottom: 10px">
@@ -132,9 +140,11 @@
         :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
         @selection-change="handleSelectionChange"
       >
-        <el-table-column type="selection"
-                         width="55"
-                         :selectable="checkSelectable"></el-table-column>
+        <el-table-column
+          type="selection"
+          width="55"
+          :selectable="checkSelectable"
+        ></el-table-column>
 
         <el-table-column
           align="center"
@@ -191,7 +201,7 @@
             <div v-if="scope.row.courseScheduleStatus != 'NOT_START'">
               {{ scope.row.signOutStatus | attendanceOutType }}
             </div>
-              <span v-else>--</span>
+            <span v-else>--</span>
           </template>
         </el-table-column>
         <el-table-column
@@ -216,7 +226,8 @@
           <template slot-scope="scope">
             <div>
               {{
-                scope.row.courseScheduleStatistics.attendanceRate&& scope.row.courseScheduleStatus== 'OVER'
+                scope.row.courseScheduleStatistics.attendanceRate &&
+                scope.row.courseScheduleStatus == "OVER"
                   ? scope.row.courseScheduleStatistics.attendanceRate
                   : "--"
               }}
@@ -227,7 +238,8 @@
           <template slot-scope="scope">
             <div>
               {{
-                scope.row.courseScheduleStatistics.standardRate&& scope.row.courseScheduleStatus== 'OVER'
+                scope.row.courseScheduleStatistics.standardRate &&
+                scope.row.courseScheduleStatus == "OVER"
                   ? scope.row.courseScheduleStatistics.standardRate
                   : "--"
               }}
@@ -256,7 +268,8 @@
           <template slot-scope="scope">
             <div>
               {{
-                scope.row.courseScheduleStatistics.homeworkCommitRate&&scope.row.courseScheduleStatistics.homeworkFlag
+                scope.row.courseScheduleStatistics.homeworkCommitRate &&
+                scope.row.courseScheduleStatistics.homeworkFlag
                   ? scope.row.courseScheduleStatistics.homeworkCommitRate
                   : "--"
               }}
@@ -280,8 +293,10 @@
               <el-button
                 v-if="
                   scope.row.courseScheduleStatus == 'OVER' &&
-                  !scope.row.settlementTime &&
-                  permission('teacherAttendance/updateTeacherAttendance?t=568')
+                    !scope.row.settlementTime &&
+                    permission(
+                      'teacherAttendance/updateTeacherAttendance?t=568'
+                    )
                 "
                 type="text"
                 @click="onMarkAttendance(scope.row)"
@@ -290,7 +305,9 @@
               <el-button
                 v-if="
                   scope.row.courseScheduleStatus == 'OVER' &&
-                  permission('studentAttendance/updateStudentAttendances?t=570')
+                    permission(
+                      'studentAttendance/updateStudentAttendances?t=570'
+                    )
                 "
                 type="text"
                 @click="onCallName(scope.row)"
@@ -305,9 +322,9 @@
               <el-button
                 v-if="
                   !scope.row.settlementTime &&
-                  permission(
-                    'courseSchedule/classStartDateAdjust/teamCourseListInfo'
-                  )
+                    permission(
+                      'courseSchedule/classStartDateAdjust/teamCourseListInfo'
+                    )
                 "
                 type="text"
                 @click="resetClass(scope.row)"
@@ -324,10 +341,10 @@
                 type="text"
                 v-if="
                   scope.row.courseScheduleStatus == 'OVER' &&
-                  !scope.row.settlementTime &&
-                  permission(
-                    'courseSchedule/cleanAttendancecourseSchedule/classStartDateAdjust/teamCourseListInfo'
-                  )
+                    !scope.row.settlementTime &&
+                    permission(
+                      'courseSchedule/cleanAttendancecourseSchedule/classStartDateAdjust/teamCourseListInfo'
+                    )
                 "
                 @click="clearAttend(scope.row)"
                 >清除考勤</el-button
@@ -373,7 +390,7 @@
           label="助教老师"
           v-if="
             maskForm.courseScheduleType != 'MUSIC_NETWORK' &&
-            maskForm.courseScheduleType != 'HIGH_ONLINE'
+              maskForm.courseScheduleType != 'HIGH_ONLINE'
           "
           prop="assistant"
         >
@@ -398,6 +415,7 @@
             <el-option
               v-for="(item, index) in typeTimeList"
               :key="index"
+              :disabled="item > baseTimer ? true : false"
               :value="parseInt(item)"
               :label="item"
             ></el-option>
@@ -411,7 +429,7 @@
             format="HH:mm"
             value-format="HH:mm"
             :picker-options="{
-              selectableRange: `${nowTime} - 23:30:00`,
+              selectableRange: `${nowTime} - 23:30:00`
             }"
           ></el-time-picker>
         </el-form-item>
@@ -424,7 +442,7 @@
               start: '04:30',
               step: '00:05',
               end: '23:30',
-              minTime: maskForm.startTime,
+              minTime: maskForm.startTime
             }"
           ></el-time-select>
         </el-form-item>
@@ -433,7 +451,7 @@
           prop="schoolId"
           v-if="
             maskForm.courseScheduleType != 'HIGH_ONLINE' &&
-            maskForm.courseScheduleType != 'MUSIC_NETWORK'
+              maskForm.courseScheduleType != 'MUSIC_NETWORK'
           "
         >
           <el-select
@@ -473,7 +491,7 @@
             format="yyyy-MM-dd"
             value-format="yyyy-MM-dd"
             :picker-options="{
-              firstDayOfWeek: 1,
+              firstDayOfWeek: 1
             }"
             placeholder="选择日期"
           ></el-date-picker>
@@ -582,7 +600,11 @@
         @pagination="getCallName"
       />
     </el-dialog>
-    <transStart ref='transStart' :activeCourseList='activeCourseList' @getList="getList"/>
+    <transStart
+      ref="transStart"
+      :activeCourseList="activeCourseList"
+      @getList="getList"
+    />
   </div>
 </template>
 <script>
@@ -597,7 +619,7 @@ import {
   findAttendanceStudentByCourseWithPage,
   updateStudentAttendances,
   cleanAttendance,
-  getOrganCourseDurationSettings,
+  getOrganCourseDurationSettings
 } from "@/api/buildTeam";
 import { permission } from "@/utils/directivePage";
 import { diffTimerFormMinute, addTimerFormMinute } from "@/utils/date";
@@ -606,12 +628,13 @@ import { getSchool } from "@/api/systemManage";
 import cleanDeep from "clean-deep";
 import { Export } from "@/utils/downLoadFile";
 import { getMusicGroupCourseScheduleStatistics } from "../api";
-import transStart from './courseTransModals/transStart.vue'
+import transStart from "./courseTransModals/transStart.vue";
 let that;
 export default {
   name: "tcourseList",
   data() {
     return {
+      baseTimer: 0, // 基础的分钟数
       classTimeList,
       courseArray: musicCourseType,
       typeVisible: false,
@@ -624,7 +647,7 @@ export default {
         class: "",
         isSettlement: "",
         homeworkFlag: "",
-        serviceFlag: "",
+        serviceFlag: ""
       },
       tableList: [],
       searchLsit: [],
@@ -633,7 +656,7 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50], // 选择限制显示条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
       maskForm: {
         teacher: "",
@@ -647,7 +670,7 @@ export default {
         courseScheduleType: null,
         address: "",
         teachMode: "",
-        schoolId: "",
+        schoolId: ""
       },
       typeForm: {
         teacher: "",
@@ -656,32 +679,32 @@ export default {
         startTime: "",
         endTime: "",
         type: null,
-        id: null,
+        id: null
       },
       maskRules: {
         schoolId: [
-          { required: true, message: "请选教学地点", trigger: "blur" },
+          { required: true, message: "请选教学地点", trigger: "blur" }
         ],
         teacher: [
-          { required: true, message: "请选择主教老师名称", trigger: "blur" },
+          { required: true, message: "请选择主教老师名称", trigger: "blur" }
         ],
-        date: [{ required: true, message: "请选择上课时间", trigger: "blur" }],
+        date: [{ required: true, message: "请选择上课时间", trigger: "blur" }]
         // startTime: [{ required: true, message: '请选择上课开始时间', trigger: 'blur' },],
         // endTime: [{ required: true, message: '请选择上课结束时间', trigger: 'blur' },],
       },
       typeRules: {
-        type: [{ required: true, message: "请选择课程类型", trigger: "blur" }],
+        type: [{ required: true, message: "请选择课程类型", trigger: "blur" }]
       },
       teacherList: [],
       classList: [],
       activeCourseList: [],
       timerMask: {
-        timer: "",
+        timer: ""
       },
       markAttendance: {
         // 考勤状态
         status: false,
-        dataInfo: {},
+        dataInfo: {}
       },
       rollCall: {
         // 点名表
@@ -691,7 +714,7 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50], // 选择限制显示条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
       organId: "",
       schoolList: [],
@@ -700,8 +723,8 @@ export default {
       detail: {
         attendanceRate: "0.00%",
         homeworkCommitRate: "0.00%",
-        standardRate: "0.00%",
-      },
+        standardRate: "0.00%"
+      }
     };
   },
   components: {
@@ -713,7 +736,7 @@ export default {
   },
   mounted() {
     this.init();
-    getSchool({ organId: this.$route.query.organId }).then((res) => {
+    getSchool({ organId: this.$route.query.organId }).then(res => {
       if (res.code == 200) {
         this.schoolList = res.data;
       }
@@ -728,7 +751,7 @@ export default {
       this.organId = this.$route.query.organId;
       try {
         const res = await getOrganCourseDurationSettings({
-          organId: this.organId,
+          organId: this.organId
         });
         this.courseTimeList = res.data;
       } catch {}
@@ -752,7 +775,7 @@ export default {
       // });
 
       // 获取班级列表
-      getMusicGroupAllClass({ musicGroupId: this.teamid }).then((res) => {
+      getMusicGroupAllClass({ musicGroupId: this.teamid }).then(res => {
         if (res.code == 200) {
           this.classList = res.data;
         }
@@ -762,7 +785,7 @@ export default {
       // 补考勤
       this.markAttendance = {
         status: true,
-        dataInfo: item,
+        dataInfo: item
       };
     },
     onCallName(item) {
@@ -776,9 +799,9 @@ export default {
       let params = {
         page: rollCall.page,
         rows: rollCall.limit,
-        courseScheduleId: rollCall.selectItem.courseScheduleId,
+        courseScheduleId: rollCall.selectItem.courseScheduleId
       };
-      findAttendanceStudentByCourseWithPage(params).then((res) => {
+      findAttendanceStudentByCourseWithPage(params).then(res => {
         let result = res.data;
         rollCall.status = true;
         if (res.code == 200) {
@@ -794,11 +817,11 @@ export default {
         studentAttendances: [
           {
             userId: row.studentId,
-            status: type,
-          },
-        ],
+            status: type
+          }
+        ]
       };
-      updateStudentAttendances(params).then((res) => {
+      updateStudentAttendances(params).then(res => {
         if (res.code == 200) {
           this.$message.success("修改成功");
           row.status = type;
@@ -831,29 +854,27 @@ export default {
         classGroupId: searchForm.class || null,
         isSettlement: searchForm.isSettlement || null,
         homeworkFlag: searchForm.homeworkFlag,
-        serviceFlag: searchForm.serviceFlag,
+        serviceFlag: searchForm.serviceFlag
       };
-      getCourseSchedule(obj).then((res) => {
+      getCourseSchedule(obj).then(res => {
         if (res.code == 200) {
           this.tableList = res.data.rows;
           this.rules.total = res.data.total;
-
         }
       });
 
       try {
         const res = await getMusicGroupCourseScheduleStatistics({ ...obj });
-        if(res.data){
-           this.detail = { ...res.data };
+        if (res.data) {
+          this.detail = { ...res.data };
         }
-
       } catch (e) {
         console.log(e);
       }
     },
-   async exportCourse(){
-     // 导出
-         let searchForm = this.searchForm;
+    async exportCourse() {
+      // 导出
+      let searchForm = this.searchForm;
       if (!searchForm.timer) {
         searchForm.timer = [];
       }
@@ -868,7 +889,7 @@ export default {
         classGroupId: searchForm.class || null,
         isSettlement: searchForm.isSettlement || null,
         homeworkFlag: searchForm.homeworkFlag,
-        serviceFlag: searchForm.serviceFlag,
+        serviceFlag: searchForm.serviceFlag
       };
       Export(
         this,
@@ -878,11 +899,11 @@ export default {
           method: "get",
           params: {
             ...obj
-          },
+          }
         },
         "您确定导出乐团课表详情?"
       );
-   },
+    },
     resetClass(row) {
       this.maskForm.teacher = parseInt(row.masterTeacherId);
       this.maskForm.courseScheduleType = row.courseScheduleType;
@@ -910,6 +931,7 @@ export default {
         row.startClassTimeStr,
         row.endClassTimeStr
       );
+      this.baseTimer = time;
       this.maskForm.timer = time;
       this.maskForm.endTime = addTimerFormMinute(
         row.classDate,
@@ -933,11 +955,11 @@ export default {
       this.$confirm("是否删除该课程?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           let courseScheduleIds = row.courseScheduleId;
-          bathDelete({ courseScheduleIds }).then((res) => {
+          bathDelete({ courseScheduleIds }).then(res => {
             if (res.code == 200) {
               this.$message.success("删除成功");
               this.getList();
@@ -953,17 +975,17 @@ export default {
         return;
       }
       let arr = [];
-      arr = this.activeCourseList.map((item) => {
+      arr = this.activeCourseList.map(item => {
         return item.courseScheduleId;
       });
       this.$confirm("是否删除该课程?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           let courseScheduleIds = arr.join(",");
-          bathDelete({ courseScheduleIds }).then((res) => {
+          bathDelete({ courseScheduleIds }).then(res => {
             if (res.code == 200) {
               this.$message.success("删除成功");
               this.getList();
@@ -989,7 +1011,7 @@ export default {
       this.$confirm("是否确定?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           let teachingTeacherIdList = maskForm.assistant.join(",");
@@ -1005,9 +1027,9 @@ export default {
             classDate: maskForm.date,
             type: maskForm.type,
             groupType: "MUSIC",
-            schoolId: maskForm.schoolId,
+            schoolId: maskForm.schoolId
           };
-          resetCourse(cleanDeep(obj)).then((res) => {
+          resetCourse(cleanDeep(obj)).then(res => {
             if (res.code == 200) {
               this.$message.success("修改成功");
               this.getList();
@@ -1017,10 +1039,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.getList();
@@ -1042,7 +1064,7 @@ export default {
         id: "",
         startTime: "",
         endTime: "",
-        schoolId: null,
+        schoolId: null
       }),
         this.$refs["maskForm"].resetFields();
     },
@@ -1050,7 +1072,11 @@ export default {
       this.activeCourseList = val;
     },
     checkSelectable(val) {
-      return (val.courseScheduleStatus == "NOT_START")&&(val.courseScheduleType=='TRAINING_SINGLE' || val.courseScheduleType=='SINGLE');
+      return (
+        val.courseScheduleStatus == "NOT_START" &&
+        (val.courseScheduleType == "TRAINING_SINGLE" ||
+          val.courseScheduleType == "SINGLE")
+      );
       // return true;
     },
     batchAdjustmentTime() {
@@ -1059,9 +1085,9 @@ export default {
         teacherId: tempData.masterTeacherId,
         courseScheduleId: tempData.courseScheduleId,
         signInStatus: 1,
-        signOutStatus: 1,
+        signOutStatus: 1
       };
-      updateTeacherAttendance(params).then((res) => {
+      updateTeacherAttendance(params).then(res => {
         if (res.code == 200) {
           this.$message.success("补卡成功");
           this.markAttendance.status = false;
@@ -1105,7 +1131,7 @@ export default {
       this.typeVisible = true;
     },
     submitResetType() {
-      this.$refs.typeForm.validate((res) => {
+      this.$refs.typeForm.validate(res => {
         if (res) {
           let teachingTeacherIdList = this.typeForm.assistant.join(",");
           if (teachingTeacherIdList.length <= 0) {
@@ -1118,9 +1144,9 @@ export default {
             id: this.typeForm.id,
             type: this.typeForm.type,
             teachingTeacherIdList,
-            classDate: this.typeForm.date,
+            classDate: this.typeForm.date
           };
-          resetCourse(obj).then((res) => {
+          resetCourse(obj).then(res => {
             if (res.code == 200) {
               this.$message.success("修改成功");
               this.getList();
@@ -1135,11 +1161,11 @@ export default {
       this.$confirm("是否清除考勤记录?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           cleanAttendance({ courseScheduleIds: row.courseScheduleId }).then(
-            (res) => {
+            res => {
               if (res.code == 200) {
                 this.$message.success("清除成功");
                 this.getList();
@@ -1152,7 +1178,7 @@ export default {
         .catch(() => {});
     },
     changeStartTime(val) {
-      this.$nextTick((res) => {
+      this.$nextTick(res => {
         this.maskForm.endTime = addTimerFormMinute(
           this.maskForm.date,
           val,
@@ -1161,7 +1187,7 @@ export default {
       });
     },
     changeTime(val) {
-      this.$nextTick((res) => {
+      this.$nextTick(res => {
         this.maskForm.endTime = addTimerFormMinute(
           this.maskForm.date,
           this.maskForm.startTime,
@@ -1179,38 +1205,38 @@ export default {
         disabledDate(time) {
           return time.getTime() + 86400000 <= new Date().getTime();
           //开始时间不选时,结束时间最大值小于等于当天
-        },
+        }
       };
     },
-    transCourse(){
+    transCourse() {
       if (this.activeCourseList.length < 1) {
         this.$message.error("请至少选择一节课");
         return;
       }
       let arr = [];
-      this.activeCourseList.forEach(item=>{
-        arr.push(item.courseScheduleType)
-      })
-      arr = [...new Set(arr)]
-      if(arr.length > 1){
+      this.activeCourseList.forEach(item => {
+        arr.push(item.courseScheduleType);
+      });
+      arr = [...new Set(arr)];
+      if (arr.length > 1) {
         this.$message.error("请选择同一种课程类型");
         return;
       }
-      this.$refs.transStart.openDialog()
+      this.$refs.transStart.openDialog();
     }
   },
   filters: {
-    studentCallName: (value) => {
+    studentCallName: value => {
       let template = {
         NORMAL: "到课",
         TRUANT: "未到",
         LEAVE: "请假",
         DROP_OUT: "退学",
         LATE: "迟到",
-        "": "未到",
+        "": "未到"
       };
       return template[value];
-    },
+    }
   },
   watch: {
     "maskForm.timer"(val) {
@@ -1219,7 +1245,7 @@ export default {
         this.maskForm.startTime,
         val
       );
-    },
+    }
   },
   computed: {
     nowTime() {
@@ -1230,8 +1256,8 @@ export default {
       }
 
       return str;
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="scss" scoped>