wolyshaw 4 роки тому
батько
коміт
1fbafce59c

+ 15 - 33
src/views/teamDetail/components/modals/classroom-setting-item.vue

@@ -304,7 +304,7 @@ export default {
       this.updateUseTime()
     },
     startTimeChange(item, val) {
-      this.getUseTime();
+      this.getUseTime(item.row);
       if (item.row.time && item.row.startClassTime) {
         let str = dayjs(new Date()).format("YYYY-MM-DD");
         this.$set(
@@ -326,7 +326,7 @@ export default {
       } else {
         this.$set(item.row, "expectCourseNum", 0);
       }
-      this.getUseTime();
+      this.getUseTime(item.row);
     },
     timeChange(item) {
       if (item.time && item.startClassTime) {
@@ -342,32 +342,10 @@ export default {
       this.updateUseTime()
     },
     holidayChange(row) {
-      if(row){
-          this.$set(
-          row,
-          "startDate",
-          ''
-        );
-             this.$set(
-          row,
-          "endDate",
-          ''
-        );
-      }
+      this.updateEndTime(row)
     },
     getUseTime(row) {
-      if(row){
-          this.$set(
-          row,
-          "startDate",
-          ''
-        );
-             this.$set(
-          row,
-          "endDate",
-          ''
-        );
-      }
+      this.updateEndTime(row)
       this.useTime = 0;
       this.form.cycle.forEach((item) => {
         this.useTime +=
@@ -377,16 +355,17 @@ export default {
       this.updateUseTime()
     //  this.$emit('setUserTime', this.useTime, this.type)
     },
-    changeStartDate(val, row) {
-      if (row.dayOfWeek && val&&row.expectCourseNum) {
+    updateEndTime(row) {
+      console.log(row.dayOfWeek, row.startDate, row.holiday)
+      if (row.dayOfWeek && row.startDate && typeof row.holiday === 'boolean') {
         let num;
         let dayjs = this.$helpers.dayjs
-        let date = dayjs(val).toDate();
+        let date = dayjs(row.startDate).toDate();
         row.dayOfWeek - date.getDay() >= 0
           ? (num = row.dayOfWeek - date.getDay())
           : (num = row.dayOfWeek - date.getDay() + 7);
           const exp = Math.max(row.expectCourseNum - 1, 0)
-          let end = dayjs(val).add(num + (exp*7), 'day')
+          let end = dayjs(row.startDate).add(num + (exp*7), 'day')
           if (row.holiday) {
             for (const d of this.holidays) {
               if (dayjs(d).isBetween(row.startDate, end.format('YYYY-MM-DD'), null, '[]')) {
@@ -399,13 +378,16 @@ export default {
           "endDate",
           end.format('YYYY-MM-DD')
         );
-      }else{
-this.$set(
+      } else {
+        this.$set(
           row,
           "endDate",
-         ''
+          ''
         );
       }
+    },
+    changeStartDate(val, row) {
+      this.updateEndTime(row)
       this.updateUseTime()
     },
   },