Procházet zdrojové kódy

Merge branch '0609getMusicFee' into test

mo před 4 roky
rodič
revize
3f83eef961

+ 1 - 0
src/views/teamDetail/components/memberClassList.vue

@@ -239,6 +239,7 @@
         :musicGroupId="teamid"
         :activeType="activeType"
         :detail="classDteail"
+        :startCourseDate="form.startCourseDate"
         :endSchoolTerm="form.endSchoolTerm"
         @close="courseVisible = false"
         @submited="getList"

+ 41 - 16
src/views/teamDetail/components/modals/classroom-setting-item.vue

@@ -113,6 +113,7 @@
               :rules="[
                 { required: true, message: '请输入预计课时数' },
                 { pattern: /^\+?[1-9]\d*$/, message: '请输入大于0的正整数' },
+                { validator: validateNum },
               ]"
               inline-message
             >
@@ -217,7 +218,7 @@
             <el-form-item
               inline-message
               :prop="'classs.' + type + '.cycle.' + scope.$index + '.startDate'"
-              :rules="[{ required: true, message: '请选择排课起始时间' }]"
+              :rules="[{ required: true, message: '请选择排课起始日期' }]"
             >
               <el-date-picker
                 v-model.trim="scope.row.startDate"
@@ -225,7 +226,7 @@
                 style="width: 180px !important"
                 type="date"
                 value-format="yyyy-MM-dd"
-                placeholder="选择日期"
+                placeholder="排课起始日期"
                 @change="
                   (val) => {
                     changeStartDate(val, scope.row);
@@ -238,7 +239,7 @@
               inline-message
               :prop="'classs.' + type + '.cycle.' + scope.$index + '.endDate'"
               :rules="[
-                { required: true, message: '请选择排课结束时间' },
+                { required: true, message: '请选择排课结束日期' },
                 { required: true, trigger: 'change', validator: validatePass },
               ]"
             >
@@ -249,7 +250,7 @@
                 style="width: 180px !important"
                 type="date"
                 value-format="yyyy-MM-dd"
-                placeholder="选择日期"
+                placeholder="排课结束日期"
               >
               </el-date-picker>
             </el-form-item>
@@ -299,21 +300,33 @@ export default {
     "coreid",
     "assistant",
     "endSchoolTerm",
+    "startCourseDate",
   ],
   data() {
     const validatePass = (rule, value, callback) => {
       // console.log(this.endSchoolTerm, "结束", value);
       let timer = dayjs(this.endSchoolTerm).valueOf() - dayjs(value).valueOf();
-      if (this.endSchoolTerm&&timer < 0) {
+      if (this.endSchoolTerm && timer < 0) {
         callback(new Error(`结束时间不能超过${this.endSchoolTerm}`));
       } else {
         callback();
       }
     };
+
+    const validateNum = (rule, value, callback) => {
+      // validUsername
+      if (this.surplustime < 0) {
+        callback(new Error("排课时长超过规则限制"));
+      } else {
+        callback();
+      }
+    };
     return {
       classTimeListByType,
       useTime: 0,
       validatePass,
+      validateNum,
+      pickerOptions: this.getPickerOptions(),
     };
   },
   mounted() {
@@ -328,14 +341,6 @@ export default {
     // console.log(this.form.cycle);
   },
   computed: {
-    pickerOptions() {
-      return {
-        firstDayOfWeek: 1,
-        disabledDate(time) {
-          return time.getTime() + 86400000 <= new Date().getTime();
-        },
-      };
-    },
     weekDateList() {
       return [
         { value: "1", label: "星期一" },
@@ -361,7 +366,6 @@ export default {
       this.$emit("setUserTime", time, this.type);
     },
     create() {
-      console.log(this.surplustime);
       if (this.endSchoolTerm) {
         if (this.surplustime <= 0) {
           this.$message.error("已排课时长使用完毕,请修改预计课时数");
@@ -402,10 +406,10 @@ export default {
         let activeTime = val * Math.max(item.row.expectCourseNum || 0, 0);
         console.log("activeTime", activeTime);
         if (this.endSchoolTerm) {
-           this.$set(
+          this.$set(
             item.row,
             "expectCourseNum",
-            parseInt((this.surplustime+ activeTime) / val)
+            parseInt((this.surplustime + activeTime) / val)
           );
         } else {
           this.$set(
@@ -445,6 +449,7 @@ export default {
           (item.expectCourseNum ? parseInt(item.expectCourseNum) : 0) *
           parseInt(item.time);
       });
+
       this.updateUseTime();
       //  this.$emit('setUserTime', this.useTime, this.type)
     },
@@ -530,6 +535,26 @@ export default {
       this.updateEndTime(row);
       this.updateUseTime();
     },
+    getPickerOptions() {
+      let that = this
+      return {
+        firstDayOfWeek: 1,
+        disabledDate(time) {
+            console.log()
+            if(that.startCourseDate){
+              // 对比时间
+            let startTime =  dayjs(that.startCourseDate).valueOf()
+            let nowDate = new Date().getTime()
+            let lastTime
+             startTime -nowDate>0?lastTime = startTime:lastTime = nowDate
+             return time.getTime() + 86400000 <= lastTime;
+            }else{
+               return time.getTime() + 86400000 <= new Date().getTime();
+            }
+
+        },
+      };
+    },
   },
 };
 </script>

+ 2 - 0
src/views/teamDetail/components/modals/member-class-setting.vue

@@ -63,6 +63,7 @@
           </template>
           <courseItem
             :endSchoolTerm="endSchoolTerm"
+            :startCourseDate="startCourseDate"
             :surplustime="activeCourseTime"
             @setUserTime="setUserTime"
             :teacherList="teacherList"
@@ -139,6 +140,7 @@ export default {
     "teacherList",
     "cooperationList",
     "endSchoolTerm",
+    "startCourseDate",
     "musicGroupSchoolTermCourseDetailId",
   ],
 

+ 1 - 1
src/views/teamDetail/components/resetClass.vue

@@ -39,7 +39,7 @@
           class="newBand"
           style="width: 120px"
           v-permission="'/memberClassList'"
-          v-if="courseViewType == 1"
+          v-if="courseViewType == 1&&team_status == 'PROGRESS'"
           @click="gotoMemberCourse"
         >
           会员课程排课