Explorar o código

123456

123456
mo %!s(int64=4) %!d(string=hai) anos
pai
achega
3956f162f7

+ 0 - 1
src/utils/date.js

@@ -83,6 +83,5 @@ export function diffTimerFormMinute (classDate, startTime, endTime) {
 }
 
 export function addTimerFormMinute (classDate, startTime, time) {
-  console.log(classDate, startTime, time)
   return dayjs(classDate + ' ' + startTime).add(time, 'minute').format('HH:mm')
 }

+ 66 - 36
src/views/accompanyManager/accompanys.vue

@@ -187,13 +187,12 @@
                ref="maskForm"
                :rules="maskRules"
                label-position="right"
-               label-width="80px;"
+               label-width="80px"
                :inline="true">
         <el-form-item label="上课日期"
                       prop="date"
                       v-if="courseType != 'TRIAL'">
           <el-date-picker v-model.trim="maskForm.date"
-                          style="width:200px!important;"
                           type="date"
                           :picker-options="courseOption"
                           value-format="yyyy-MM-dd"
@@ -213,27 +212,24 @@
         </el-form-item>
         <el-form-item label="开始时间"
                       prop="startTime">
-          <el-time-select placeholder="起始时间"
-                          style="width:200px!important;"
-                          v-model.trim="startTime"
+          <el-time-picker placeholder="起始时间"
+                          v-model="startTime"
+                          @change="changeStartTime"
+                          format='HH:mm'
+                          value-format='HH:mm'
                           :picker-options="{
-                            start: '07:00',
-                            step: '00:05',
-                            end: '23:00'
-                            }"></el-time-select>
+                            selectableRange: '04:30:00 - 23:30:00'
+                            }"></el-time-picker>
         </el-form-item>
-        <!-- <el-form-item label="结束时间"
+        <el-form-item label="结束时间"
                       prop="endTime">
-          <el-time-select placeholder="结束时间"
-                          v-model.trim="maskForm.endTime"
-                          :picker-options="{
-                            start: '04:30',
-                            step: '00:05',
-                            end: '23:30',
-                            minTime: maskForm.startTime
-                          }">
-          </el-time-select>
-        </el-form-item>  v-show="maskForm.teachMode=='OFFLINE'"-->
+          <el-time-picker placeholder="结束时间"
+                          format='HH:mm'
+                          value-format='HH:mm'
+                          v-model="maskForm.endTime"
+                          disabled>
+          </el-time-picker>
+        </el-form-item> <!--  v-show="maskForm.teachMode=='OFFLINE'"-->
         <!-- <el-form-item label="课程类型" prop="courseType">
           <el-select clearable v-model.trim="maskForm.teachMode">
             <el-option label="线上课" value="ONLINE"></el-option>
@@ -390,14 +386,25 @@
                          :value="item.value"></el-option>
             </el-select>
             <span style="margin-left:10px;">开始时间</span>
-            <el-time-select style="margin-left:10px;"
+            <el-time-picker style="margin-left:10px;"
                             placeholder
                             v-model.trim="item.startClassTime"
+                            @change="(val)=>{changeStartTimes(val,item)}"
+                            format='HH:mm'
+                            value-format='HH:mm'
+                            :picker-options="{
+                            selectableRange: '04:30:00 - 23:30:00'
+                            }"></el-time-picker>
+            <span style="margin-left:10px;">结束时间</span>
+            <el-time-picker style="margin-left:10px;"
+                            placeholder
+                            v-model.trim="item.endClassTime"
+                            format='HH:mm'
+                            value-format='HH:mm'
+                            disabled
                             :picker-options="{
-                               start: '04:30',
-                               step: '00:05',
-                               end: '23:55'
-            }"></el-time-select>
+                            selectableRange: '04:30:00 - 23:30:00'
+                            }"></el-time-picker>
             <el-button style="margin-left:10px;"
                        type="danger"
                        @click="removeWeek(item)"
@@ -491,6 +498,8 @@ import {
   bathDelete
 } from "@/api/vipSeting";
 // import { start } from 'repl';
+import { diffTimerFormMinute, addTimerFormMinute } from '@/utils/date'
+import dayjs from 'dayjs'
 export default {
   components: {
     pagination
@@ -525,7 +534,8 @@ export default {
       maskForm: {
         date: "",
         startTime: "",
-        id: ""
+        id: "",
+        endTime: ""
       },
       adjustmentForm: {
         count: "",
@@ -546,9 +556,9 @@ export default {
       maskRules: {
         date: [{ required: true, message: "请选择上课时间", trigger: "blur" }],
         // startTime: [{ required: true, message: '请选择上课开始时间', trigger: 'blur' },],
-        endTime: [
-          { required: true, message: "请选择上课结束时间", trigger: "blur" }
-        ]
+        // endTime: [
+        //   { required: true, message: "请选择上课结束时间", trigger: "blur" }
+        // ]
       },
       teacherRules: {
         teacher: [{ required: true, message: "请选择老师", trigger: "blur" }],
@@ -609,7 +619,8 @@ export default {
         page: 1, // 当前页
         total: 0, // 总条数
         page_size: [10, 20, 40, 50] // 选择限制显示条数
-      }
+      },
+      accompanTime: 25
     };
   },
   mounted () {
@@ -857,9 +868,9 @@ export default {
        *
        */
 
-      this.maskForm.date = row.classDate;
+      this.maskForm.date = dayjs(row.classDate).format('YYYY-MM-DD');
       this.startTime = row.startClassTimeStr.substring(0, 5);
-      // this.maskForm.endTime = row.endClassTimeStr;
+      this.maskForm.endTime = row.endClassTimeStr.substring(0, 5);
       this.maskForm.id = row.id;
       this.coursesExpireDate = row.coursesExpireDate;
       // 修改课时
@@ -1090,11 +1101,24 @@ export default {
           }
         });
       });
-    }
-    // closeAdjustment(){
-    //   console.log(111)
+    },
+    changeStartTime (val) {
+      if (val) {
+        this.$set(this.maskForm, 'endTime', addTimerFormMinute(this.maskForm.date, val, this.accompanTime))
+      } else {
+        this.$set(this.maskForm, 'endTime', '')
+      }
 
-    // }
+    },
+    changeStartTimes (val, item) {
+      if (val) {
+        let str = dayjs(new Date()).format('YYYY-MM-DD')
+        this.$set(item, 'endClassTime', addTimerFormMinute(str, val, this.accompanTime))
+      } else {
+        this.$set(item, 'endClassTime', '')
+      }
+
+    }
   },
   filters: {
     studentCallName: value => {
@@ -1132,4 +1156,10 @@ export default {
     margin-right: 20px;
   }
 }
+.countWrap {
+  /deep/.el-date-editor.el-input,
+  /deep/.el-date-editor.el-input__inner {
+    width: 100px !important;
+  }
+}
 </style>

+ 19 - 10
src/views/teamDetail/components/courseList.vue

@@ -201,10 +201,11 @@
                :before-close="handleClose"
                :visible.sync="courseVisible">
       <el-form :model="maskForm"
+               class="maskForm"
                ref="maskForm"
                :rules="maskRules"
                label-position="right"
-               label-width="80px;"
+               label-width="120px"
                :inline="true">
         <!-- <el-form-item label="课程类型" prop="type">
           <el-select v-model.trim="maskForm.type" clearable filterable>
@@ -260,14 +261,14 @@
         <el-form-item label="开始时间"
                       v-if="courseVisible"
                       prop="startTime">
-          <el-time-select placeholder="起始时间"
+          <el-time-picker placeholder="起始时间"
                           v-model.trim="maskForm.startTime"
                           @change="changeStartTime"
+                          format='HH:mm'
+                          value-format='HH:mm'
                           :picker-options="{
-                            start: '04:30',
-                            step: '00:05',
-                            end: '23:30'
-                            }"></el-time-select>
+                            selectableRange: '04:30:00 - 23:30:00'
+                            }"></el-time-picker>
         </el-form-item>
         <el-form-item label="结束时间"
                       v-if="courseVisible"
@@ -645,7 +646,6 @@ export default {
         row.startClassTimeStr.substring(0, 5)
       );
       let time = diffTimerFormMinute(row.classDate, row.startClassTimeStr, row.endClassTimeStr)
-      console.log(time)
       this.maskForm.timer = time;
       this.maskForm.endTime = addTimerFormMinute(row.classDate, row.startClassTimeStr, time)
       // this.maskForm.endTime = row.endClassTimeStr.substring(0, 5);
@@ -854,9 +854,9 @@ export default {
         .catch(() => { });
     },
     changeStartTime (val) {
-      console.log(val)
       this.maskForm.endTime = addTimerFormMinute(this.maskForm.date, val, this.maskForm.timer);
-    }
+    },
+
   },
   filters: {
     studentCallName: value => {
@@ -869,10 +869,14 @@ export default {
       };
       return template[value];
     }
+  }, watch: {
+    'maskForm.timer' (val) {
+      this.maskForm.endTime = addTimerFormMinute(this.maskForm.date, this.maskForm.startTime, val);
+    }
   }
 };
 </script>
-<style lang="scss" scope>
+<style lang="scss" scoped>
 .cl-container {
   .topFrom {
     margin: 20px 30px 0;
@@ -900,4 +904,9 @@ export default {
     margin-right: 20px;
   }
 }
+.maskForm {
+  /deep/.el-input {
+    width: 220px;
+  }
+}
 </style>

+ 43 - 16
src/views/teamDetail/components/resetClass.vue

@@ -282,7 +282,7 @@
     </el-dialog>
     <!-- 老师以及课程设置 -->
     <el-dialog title="班级设置"
-               width="700px"
+               width="780px"
                :visible.sync="infoVisible"
                :modal-append-to-body="false">
       <el-form :inline="true"
@@ -418,6 +418,7 @@
                :key="index">
             <span>循环周期:</span>
             <el-select v-model.trim="item.dayOfWeek"
+                       style="width:100px!important"
                        clearable
                        filterable>
               <el-option v-for="(item,index) in weekDateList"
@@ -425,25 +426,32 @@
                          :label="item.label"
                          :value="item.value"></el-option>
             </el-select>
+            <span>课程时长</span>
+            <el-input placeholder="时长(分)"
+                      type="number"
+                      v-model.trim="item.time"
+                      @input="()=>{setItem(item,index)}"
+                      style="width:100px!important"></el-input>
             <span>开始时间</span>
-            <el-time-select placeholder
+            <el-time-picker style="margin-left:10px;"
+                            placeholder
                             v-model.trim="item.startClassTime"
-                            @change="(val)=>{changeStartClassTime(item)}"
+                            @change="(val)=>{changeStartTimes(val,item)}"
+                            format='HH:mm'
+                            value-format='HH:mm'
                             :picker-options="{
-                               start: '04:30',
-                               step: step,
-                               end: '23:55'
-            }"></el-time-select>
-            <span>结束时间</span>
-            <el-time-select placeholder
+                            selectableRange: '04:30:00 - 23:30:00'
+                            }"></el-time-picker>
+            <span style="margin-left:10px;">结束时间</span>
+            <el-time-picker style="margin-left:10px;"
+                            placeholder
                             v-model.trim="item.endClassTime"
-                            @change="(val)=>{changeEndClassTime(item,val)}"
+                            format='HH:mm'
+                            value-format='HH:mm'
+                            disabled
                             :picker-options="{
-                              start: '04:30',
-                              step: step,
-                              end: '23:55',
-                              minTime:item.startClassTime
-            }"></el-time-select>
+                            selectableRange: '04:30:00 - 23:30:00'
+                            }"></el-time-picker>
             <el-button type="danger"
                        @click="removeWeek(item)"
                        icon="el-icon-delete"
@@ -686,7 +694,8 @@ import {
   addStudents
 } from "@/api/studentManager";
 import { queryEmployByOrganId } from "@/api/systemManage";
-
+import { diffTimerFormMinute, addTimerFormMinute } from '@/utils/date'
+import dayjs from 'dayjs'
 import axios from "axios";
 import qs from "qs";
 export default {
@@ -1343,6 +1352,7 @@ export default {
         dayOfWeek: "",
         startClassTime: "",
         endClassTime: "",
+        time: "",
         id: new Date()
       });
     },
@@ -1628,6 +1638,23 @@ export default {
       // } else {
       //   this.step = '00:15'
       // }
+    },
+    changeStartTimes (val, item) {
+      if (val && item.time) {
+        let str = dayjs(new Date()).format('YYYY-MM-DD')
+        this.$set(item, 'endClassTime', addTimerFormMinute(str, val, item.time))
+      } else {
+        this.$set(item, 'endClassTime', '')
+        this.$message.error('请先设置课程时间')
+      }
+
+    },
+    setItem (item, index) {
+      // console.log(item, index)
+
+      this.weekList[index].startClassTime = ""
+      this.weekList[index].endClassTime = ""
+      console.log()
     }
   },
   watch: {

+ 73 - 33
src/views/vipClass/vipReset.vue

@@ -120,15 +120,15 @@
                :before-close="handleClose"
                :visible.sync="courseVisible">
       <el-form :model="maskForm"
+               class="maskForm"
                ref="maskForm"
                :rules="maskRules"
                label-position="right"
-               label-width="80px;"
+               label-width="80px"
                :inline="true">
         <el-form-item label="上课日期"
                       prop="date">
           <el-date-picker v-model.trim="maskForm.date"
-                          style="width:200px!important;"
                           type="date"
                           :picker-options="{
                               firstDayOfWeek:1
@@ -138,27 +138,25 @@
         </el-form-item>
         <el-form-item label="开始时间"
                       prop="startTime">
-          <el-time-select placeholder="起始时间"
-                          style="width:200px!important;"
+          <el-time-picker placeholder="起始时间"
                           v-model.trim="startTime"
+                          @change="changeStartTime"
+                          format='HH:mm'
+                          value-format='HH:mm'
                           :picker-options="{
-                            start: '04:30',
-                            step: '00:05',
-                            end: '23:30'
-                            }"></el-time-select>
+                            selectableRange: '04:30:00 - 23:30:00'
+                            }"></el-time-picker>
         </el-form-item>
-        <!-- <el-form-item label="结束时间"
+        <el-form-item label="结束时间"
                       prop="endTime">
-          <el-time-select placeholder="结束时间"
-                          v-model.trim="maskForm.endTime"
-                          :picker-options="{
-                            start: '04:30',
-                            step: '00:05',
-                            end: '23:30',
-                            minTime: maskForm.startTime
-                          }">
-          </el-time-select>
-        </el-form-item>  v-if="maskForm.teachMode=='OFFLINE'"-->
+          <el-time-picker placeholder="结束时间"
+                          format='HH:mm'
+                          value-format='HH:mm'
+                          v-model="maskForm.endTime"
+                          disabled>
+          </el-time-picker>
+        </el-form-item>
+        <!--v-if="maskForm.teachMode=='OFFLINE'"-->
         <el-form-item label="课程类型"
                       prop="courseType">
           <el-select clearable
@@ -341,14 +339,25 @@
                          :value="item.value"></el-option>
             </el-select>
             <span style="margin-left:10px;">开始时间</span>
-            <el-time-select style="margin-left:10px;"
+            <el-time-picker style="margin-left:10px;"
                             placeholder
                             v-model.trim="item.startClassTime"
+                            @change="(val)=>{changeStartTimes(val,item)}"
+                            format='HH:mm'
+                            value-format='HH:mm'
                             :picker-options="{
-                               start: '04:30',
-                               step: '00:05',
-                               end: '23:55'
-            }"></el-time-select>
+                            selectableRange: '04:30:00 - 23:30:00'
+                            }"></el-time-picker>
+            <span style="margin-left:10px;">结束时间</span>
+            <el-time-picker style="margin-left:10px;"
+                            placeholder
+                            v-model.trim="item.endClassTime"
+                            format='HH:mm'
+                            value-format='HH:mm'
+                            disabled
+                            :picker-options="{
+                            selectableRange: '04:30:00 - 23:30:00'
+                            }"></el-time-picker>
             <el-button style="margin-left:10px;"
                        type="danger"
                        @click="removeWeek(item)"
@@ -450,6 +459,8 @@ import {
   batchAppendVipGroupCourses
 } from "@/api/vipSeting";
 import { getTeachSchool } from "@/api/teacherManager";
+import { diffTimerFormMinute, addTimerFormMinute } from '@/utils/date'
+import dayjs from 'dayjs'
 export default {
   components: {
     pagination
@@ -495,9 +506,9 @@ export default {
       maskRules: {
         date: [{ required: true, message: "请选择上课时间", trigger: "blur" }],
         // startTime: [{ required: true, message: '请选择上课开始时间', trigger: 'blur' },],
-        endTime: [
-          { required: true, message: "请选择上课结束时间", trigger: "blur" }
-        ]
+        // endTime: [
+        //   { required: true, message: "请选择上课结束时间", trigger: "blur" }
+        // ]
       },
       schoolList: [],
       Frules: null,
@@ -541,7 +552,8 @@ export default {
       adjustmentName: "",
       startTime: "",
       chioseVipList: [],
-      organList: []
+      organList: [],
+      vipTime: 45
     };
   },
   created () { },
@@ -623,6 +635,7 @@ export default {
        */
       this.maskForm.date = row.classDate.split(' ')[0];
       this.startTime = row.startClassTimeStr.substring(0, 5)
+      this.maskForm.endTime = row.endClassTimeStr.substring(0, 5)
       // this.maskForm.endTime = row.endClassTimeStr;
       this.maskForm.id = row.id;
       this.maskForm.address = row.schoolId || null;
@@ -946,6 +959,23 @@ export default {
           });
         })
         .catch(() => { });
+    },
+    changeStartTime (val) {
+      if (val) {
+        this.$set(this.maskForm, 'endTime', addTimerFormMinute(this.maskForm.date, val, this.vipTime))
+      } else {
+        this.$set(this.maskForm, 'endTime', '')
+      }
+
+    },
+    changeStartTimes (val, item) {
+      if (val) {
+        let str = dayjs(new Date()).format('YYYY-MM-DD')
+        this.$set(item, 'endClassTime', addTimerFormMinute(str, val, this.vipTime))
+      } else {
+        this.$set(item, 'endClassTime', '')
+      }
+
     }
   },
   watch: {
@@ -960,9 +990,10 @@ export default {
           fee: "",
           address: ""
         }
+        this.weekList = [];
         this.$refs['tableList'].clearSelection();
         this.$refs["adjustmentForm"].resetFields();
-        this.weekList = [];
+
         this.addWeek();
       }
     },
@@ -970,7 +1001,8 @@ export default {
       if (!val) {
         this.addrForm.address = "";
       }
-    }
+    },
+
   }
 };
 </script>
@@ -989,8 +1021,16 @@ export default {
     width: 180px !important;
   }
 }
-/deep/.el-date-editor.el-input,
-/deep/.el-date-editor.el-input__inner {
-  width: 100px !important;
+.countWrap {
+  /deep/.el-date-editor.el-input,
+  /deep/.el-date-editor.el-input__inner {
+    width: 100px !important;
+  }
+}
+
+.maskForm {
+  /deep/.el-input {
+    width: 220px !important;
+  }
 }
 </style>