Browse Source

文案计算题修改完毕

1
mo 3 năm trước cách đây
mục cha
commit
473908d201

+ 51 - 21
src/utils/date.js

@@ -1,6 +1,8 @@
 import dayjs from 'dayjs'
-import { $message } from "@/main"
-export function setDate (date) {
+import {
+  $message
+} from "@/main"
+export function setDate(date) {
   let y = date.getFullYear();
   let m = date.getMonth() + 1;
   let d = date.getDate();
@@ -9,12 +11,12 @@ export function setDate (date) {
   return y + "-" + m + "-" + d;
 }
 
-export function getCurrentMonthFirst (date) {
+export function getCurrentMonthFirst(date) {
   date.setDate(1);
   return date;
 }
 
-export function getCurrentMonthLast (date) {
+export function getCurrentMonthLast(date) {
   var currentMonth = date.getMonth();
   var nextMonth = ++currentMonth;
   var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
@@ -22,7 +24,7 @@ export function getCurrentMonthLast (date) {
   return new Date(nextMonthFirstDay - oneDay);
 }
 
-export function getNowDateAndMonday (time) {
+export function getNowDateAndMonday(time) {
   let timestamp = new Date(time.replace(/-/g, "/")).getTime();
   let serverDate = new Date(time);
   if (serverDate.getDay() == 0) {
@@ -36,19 +38,19 @@ export function getNowDateAndMonday (time) {
   let mondayY = mondayData.getFullYear();
   //月
   let mondayM =
-    mondayData.getMonth() + 1 < 10
-      ? "0" + (mondayData.getMonth() + 1)
-      : mondayData.getMonth() + 1;
+    mondayData.getMonth() + 1 < 10 ?
+    "0" + (mondayData.getMonth() + 1) :
+    mondayData.getMonth() + 1;
   //日
   let mondayD =
-    mondayData.getDate() < 10
-      ? "0" + mondayData.getDate()
-      : mondayData.getDate();
+    mondayData.getDate() < 10 ?
+    "0" + mondayData.getDate() :
+    mondayData.getDate();
 
   let str = mondayY + "-" + mondayM + "-" + mondayD;
   return str;
 }
-export function getNowDateAndSunday (time) {
+export function getNowDateAndSunday(time) {
   let timestamp = new Date(time.replace(/-/g, "/")).getTime();
   let serverDate = new Date(time);
 
@@ -61,29 +63,29 @@ export function getNowDateAndSunday (time) {
   //年
   let tomorrowY = SundayData.getFullYear(); //月
   let tomorrowM =
-    SundayData.getMonth() + 1 < 10
-      ? "0" + (SundayData.getMonth() + 1)
-      : SundayData.getMonth() + 1;
+    SundayData.getMonth() + 1 < 10 ?
+    "0" + (SundayData.getMonth() + 1) :
+    SundayData.getMonth() + 1;
   //日
   let tomorrowD =
-    SundayData.getDate() < 10
-      ? "0" + SundayData.getDate()
-      : SundayData.getDate();
+    SundayData.getDate() < 10 ?
+    "0" + SundayData.getDate() :
+    SundayData.getDate();
   let str = tomorrowY + "-" + tomorrowM + "-" + tomorrowD;
   return str;
 }
 
-export function getWeekDay (str) {
+export function getWeekDay(str) {
   let week = new Date(str.replace(/-/g, "/")).getDay();
   week === 0 ? week = 7 : week
   return week
 }
 
-export function diffTimerFormMinute (classDate, startTime, endTime) {
+export function diffTimerFormMinute(classDate, startTime, endTime) {
   return Math.abs(dayjs(classDate + ' ' + startTime).diff(classDate + ' ' + endTime, 'Minute'))
 }
 
-export function addTimerFormMinute (classDate, startTime, time) {
+export function addTimerFormMinute(classDate, startTime, time) {
   let endTime = dayjs(classDate + ' ' + startTime).add(time, 'minute')
   if (!dayjs(classDate + ' ' + "23:59").isBefore(endTime)) {
     return endTime.format('HH:mm')
@@ -93,3 +95,31 @@ export function addTimerFormMinute (classDate, startTime, time) {
   }
 
 }
+
+export function addFormMinute(timerStr, time = 0) {
+  let timer = dayjs('2021-12-17' + ' ' + timerStr).add(time, 'minute')
+  return timer.format('HH:mm:ss')
+}
+export function addFormMinuteAddS(timerStr, time = 0) {
+  let timer = dayjs('2021-12-17' + ' ' + timerStr).add(time, 'minute').add(1,'second')
+  return timer.format('HH:mm:ss')
+
+}
+export function addFormMinuteMS(timerStr, time = 0) {
+  let timer = dayjs('2021-12-17' + ' ' + timerStr).add(time, 'minute').subtract(1,'second')
+  return timer.format('HH:mm:ss')
+
+}
+export function reduceFormMinute(timerStr, time = 0) {
+  let timer = dayjs('2021-12-17' + ' ' + timerStr).subtract(time, 'minute')
+  return timer.format('HH:mm:ss')
+
+}
+export function reduceFormMinuteAddS(timerStr, time = 0) {
+  let timer = dayjs('2021-12-17' + ' ' + timerStr).subtract(time, 'minute').add(1,'second')
+  return timer.format('HH:mm:ss')
+}
+export function reduceFormMinuteMS(timerStr, time = 0) {
+  let timer = dayjs('2021-12-17' + ' ' + timerStr).subtract(time, 'minute').subtract(1,'second')
+  return timer.format('HH:mm:ss')
+}

+ 178 - 169
src/views/courseRulersManager/components/offlineTeamRules.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="m-container">
     <div class="m-core">
-      <el-form :inline="true" :model="form"  ref="form">
+      <el-form :inline="true" :model="form" ref="form">
         <el-alert
           style="margin: 20px 0"
           title="线下课考勤定位范围"
@@ -24,7 +24,6 @@
             GPS定位距离教学点<el-input
               v-model="form['6']"
               placeholder="请输入距离"
-
             >
               <template slot="append">米</template>
             </el-input>
@@ -44,11 +43,10 @@
               },
             ]"
           >
-            乐团线下课签到签到地点、VIP线下课点名地点未在定位范围内,扣减课酬
+            线下课签到地点未在教学点范围内,扣减课酬
             <el-input
               v-model="form['138']"
               placeholder="请输入金额"
-
               class="chiose"
             >
               <template slot="append">
@@ -60,7 +58,7 @@
             </el-input>
           </el-form-item>
         </el-row>
-              <el-row>
+        <el-row>
           <el-form-item
             prop="206"
             :rules="[
@@ -72,11 +70,10 @@
               },
             ]"
           >
-            乐团线下课签到签退地点、VIP线下课点名地点未在定位范围内,扣减课酬
+            线下课签退地点未在教学点范围内,扣减课酬
             <el-input
               v-model="form['206']"
               placeholder="请输入金额"
-
               class="chiose"
             >
               <template slot="append">
@@ -90,12 +87,12 @@
         </el-row>
         <el-alert
           style="margin: 20px 0"
-          title="乐团课签到规则"
+          title="签到规则"
           :closable="false"
           type="info"
         >
         </el-alert>
-        <p class="subtitle">最早可签到时间:</p>
+        <p class="subtitle">正常签到:</p>
         <el-row>
           <el-form-item
             prop="80"
@@ -113,40 +110,50 @@
           >
             <span style="color: #f56c6c; margin-right: 4px">*</span>
             课程开始前
-            <el-input v-model="form['80']" placeholder="请输入时间" >
-              <template slot="append">分钟</template> </el-input
-            >可进行签到
+            <el-input v-model="form['80']" placeholder="请输入时间">
+              <template slot="append">分钟</template>
+            </el-input>
           </el-form-item>
-        </el-row>
-        <p class="subtitle">正常签到:</p>
-        <el-row>
           <el-form-item
             prop="140"
             :rules="[
               {
-                required: true,
+                required: false,
                 message: '请输入时间',
                 trigger: 'blur',
               },
               {
-                pattern: /^[1-9][0-9]*$/,
+                pattern: /^0|[1-9][0-9]*$/,
                 message: '请输入正确的时间',
               },
+              { validator: this.validateMin, trigger: 'blur' },
             ]"
           >
-            <span style="color: #f56c6c; margin-right: 4px">*</span>
-            课程开始
-            <el-input
-              v-model="form['140']"
-              placeholder="请输入时间"
-
-            >
-              <template slot="append">分钟</template> </el-input
-            >前,且在定位范围内签到
+            到课程开始前
+            <el-input v-model="form['140']" placeholder="请输入时间">
+              <template slot="append">分钟</template>
+            </el-input>
+            可进行签到
           </el-form-item>
         </el-row>
-        <p class="subtitle">异常签到:</p>
-        <el-row>
+        <p class="example" v-if="form['80']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">12:00:00</span>
+          开始的课程,正常签到时间为
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            reduceFormMinute("12:00:00", form["80"])
+          }}</span
+          >到<span style="color: #f56c6c; margin-right: 4px">{{
+            reduceFormMinute("12:00:00", form["140"])
+          }}</span>
+          且最早
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            reduceFormMinute("12:00:00", form["80"])
+          }}</span
+          >可以进行签到。
+        </p>
+        <p class="subtitle" v-if="form['140']">异常签到:</p>
+        <el-row v-if="form['140']">
           <el-form-item
             prop="141"
             :rules="[
@@ -159,26 +166,16 @@
             ]"
           >
             未在课程开始
-            <el-input
-              disabled
-              v-model="form['140']"
-              placeholder="请输入时间"
-
-            >
+            <el-input disabled v-model="form['140']" placeholder="请输入时间">
               <template slot="append">分钟</template> </el-input
             >前签到,扣减课酬
             <el-input
               v-model="form['141']"
               placeholder="请输入金额"
-
               class="chiose"
             >
               <template slot="append">
-                <el-select
-                  class="append"
-                  v-model.trim="form['142']"
-
-                >
+                <el-select class="append" v-model.trim="form['142']">
                   <el-option label="元" value="1"> </el-option>
                   <el-option label="%" value="2"> </el-option>
                 </el-select>
@@ -186,13 +183,24 @@
             </el-input>
           </el-form-item>
         </el-row>
+        <p class="example" v-if="form['140']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">12:00:00</span>
+          开始的课程,异常签到时间为
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            reduceFormMinuteAddS("12:00:00", form["140"])
+          }}</span
+          >到<span style="color: #f56c6c; margin-right: 4px">{{
+            "12:00:00"
+          }}</span>
+        </p>
         <p class="subtitle">迟到</p>
         <el-row>
           <el-form-item
             prop="143"
             :rules="[
               {
-                required: true,
+                required: false,
                 message: '请输入时间',
                 trigger: 'blur',
               },
@@ -203,16 +211,13 @@
               },
             ]"
           >
-            <span style="color: #f56c6c; margin-right: 4px">*</span>
-            课程开始
-            <el-input
-              v-model="form['143']"
-              placeholder="请输入时间"
-
-            >
+            <!-- <span style="color: #f56c6c; margin-right: 4px">*</span> -->
+            课程开始后到课程开始后
+            <el-input v-model="form['143']" placeholder="请输入时间">
               <template slot="append">分钟</template>
             </el-input>
           </el-form-item>
+
           <el-form-item
             prop="144"
             :rules="[
@@ -224,19 +229,14 @@
               },
             ]"
           >
-            内签到,扣减课酬
+            内签到,扣减课酬
             <el-input
               v-model="form['144']"
               placeholder="请选择金额"
-
               class="chiose"
             >
               <template slot="append">
-                <el-select
-                  class="append"
-                  v-model.trim="form['145']"
-
-                >
+                <el-select class="append" v-model.trim="form['145']">
                   <el-option label="元" value="1"> </el-option>
                   <el-option label="%" value="2"> </el-option>
                 </el-select>
@@ -244,18 +244,23 @@
             </el-input>
           </el-form-item>
         </el-row>
+        <p class="example" v-if="form['143']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">12:00:00</span>
+          开始的课程,迟到签到时间为
+          <span style="color: #f56c6c; margin-right: 4px">{{ "12:00:01" }}</span
+          >到<span style="color: #f56c6c; margin-right: 4px">{{
+            addFormMinute("12:00:00", form["143"])
+          }}</span>
+        </p>
         <p class="subtitle">旷课:</p>
         <el-row>
-          <el-form-item
-            prop="143"
-
-          >
+          <el-form-item prop="143">
             课程开始
             <el-input
-            :disabled='true'
+              :disabled="true"
               v-model="form['143']"
               placeholder="请输入时间"
-
             >
               <template slot="append">分钟</template>
             </el-input>
@@ -275,15 +280,10 @@
             <el-input
               v-model="form['147']"
               placeholder="请输入金额"
-
               class="chiose"
             >
               <template slot="append">
-                <el-select
-                  class="append"
-                  v-model.trim="form['148']"
-
-                >
+                <el-select class="append" v-model.trim="form['148']">
                   <el-option label="元" value="1"> </el-option>
                   <el-option label="%" value="2"> </el-option>
                 </el-select>
@@ -291,6 +291,14 @@
             </el-input>
           </el-form-item>
         </el-row>
+        <p class="example" v-if="form['143']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">12:00:00</span>
+          开始的课程,旷课签到时间为
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            addFormMinuteAddS("12:00:00", form["143"])
+          }}</span>
+        </p>
         <p class="subtitle">未签到:</p>
         <el-row>
           <el-form-item
@@ -308,7 +316,6 @@
             <el-input
               v-model="form['149']"
               placeholder="请输入金额"
-
               class="chiose"
             >
               <template slot="append">
@@ -322,7 +329,7 @@
         </el-row>
         <el-alert
           style="margin: 10px 0"
-          title="乐团课签退规则"
+          title="签退规则"
           :closable="false"
           type="info"
         >
@@ -345,27 +352,34 @@
             ]"
           >
             <span style="color: #f56c6c; margin-right: 4px">*</span>
-            课程结束后
-            <el-input
-              v-model="form['81']"
-              placeholder="请输入时间"
-
-            >
+            课程结束时间以后到课程结束后
+            <el-input v-model="form['81']" placeholder="请输入时间">
               <template slot="append">分钟</template> </el-input
-            >内签退,且在定位范围内签退
+            >内签退
           </el-form-item>
         </el-row>
+        <p class="example" v-if="form['81']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">13:00:00</span>
+          结束的课程,正常签退时间为
+          <span style="color: #f56c6c; margin-right: 4px">{{ "13:00:00" }}</span
+          >到
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            addFormMinute("13:00:00", form["81"])
+          }}</span
+          >,超过
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            addFormMinute("13:00:00", form["81"])
+          }}</span
+          >无法签退
+        </p>
+
         <p class="subtitle">异常签退:</p>
         <el-row>
-          课程结束时间
-          <el-input
-            v-model="form['151']"
-
-            placeholder="请输入时间"
-
-          >
+          课程结束前
+          <el-input v-model="form['151']" placeholder="请输入时间">
             <template slot="append">分钟</template> </el-input
-          >内签退,扣减课酬
+          >以后,到课程结束前签退为异常签退,扣减
           <el-form-item
             prop="152"
             :rules="[
@@ -380,15 +394,10 @@
             <el-input
               v-model="form['152']"
               placeholder="请输入金额"
-
               class="chiose"
             >
               <template slot="append">
-                <el-select
-                  class="append"
-                  v-model.trim="form['153']"
-
-                >
+                <el-select class="append" v-model.trim="form['153']">
                   <el-option label="元" value="1"> </el-option>
                   <el-option label="%" value="2"> </el-option>
                 </el-select>
@@ -396,20 +405,24 @@
             </el-input>
           </el-form-item>
         </el-row>
+        <p class="example" v-if="form['151']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">13:00:00</span>
+          结束的课程,异常签退时间为
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            reduceFormMinute("13:00:00", form["151"])
+          }}</span
+          >到
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            "12:59:59"
+          }}</span>
+        </p>
         <p class="subtitle">早退</p>
         <el-row>
-          <el-form-item
-            prop="151"
-
-          >
-            <span style="color: #f56c6c; margin-right: 4px">*</span>
-            课程结束
-            <el-input
-            disabled
-              v-model="form['151']"
-              placeholder="请输入时间"
-
-            >
+          <el-form-item prop="151">
+            <!-- <span style="color: #f56c6c; margin-right: 4px">*</span> -->
+            课程结束前
+            <el-input disabled v-model="form['151']" placeholder="请输入时间">
               <template slot="append">分钟</template>
             </el-input>
           </el-form-item>
@@ -424,19 +437,14 @@
               },
             ]"
           >
-            前签退,扣减课酬
+            签退为异常签退,扣减
             <el-input
               v-model="form['155']"
               placeholder="请输入金额"
-
               class="chiose"
             >
               <template slot="append">
-                <el-select
-                  class="append"
-                  v-model.trim="form['156']"
-
-                >
+                <el-select class="append" v-model.trim="form['156']">
                   <el-option label="元" value="1"> </el-option>
                   <el-option label="%" value="2"> </el-option>
                 </el-select>
@@ -444,6 +452,15 @@
             </el-input>
           </el-form-item>
         </el-row>
+        <p class="example" v-if="form['151']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">13:00:00</span>
+          结束的课程,异常签退时间为
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            reduceFormMinuteMS("13:00:00", form["151"])
+          }}</span
+          >之前
+        </p>
         <p class="subtitle">未签退:</p>
         <el-row>
           <el-form-item
@@ -461,15 +478,10 @@
             <el-input
               v-model="form['157']"
               placeholder="请输入金额"
-
               class="chiose"
             >
               <template slot="append">
-                <el-select
-                  class="append"
-                  v-model.trim="form['158']"
-
-                >
+                <el-select class="append" v-model.trim="form['158']">
                   <el-option label="元" value="1"> </el-option>
                   <el-option label="%" value="2"> </el-option>
                 </el-select>
@@ -490,7 +502,7 @@
             ]"
           >
             课程结束
-            <el-input v-model="form['14']" placeholder="请输入时间" >
+            <el-input v-model="form['14']" placeholder="请输入时间">
               <template slot="append">分钟</template>
             </el-input>
             后,对未签退老师发送短信提醒
@@ -532,11 +544,7 @@
             ]"
           >
             乐团线下课程间隔
-            <el-input
-              v-model="form['178']"
-              placeholder="请输入时间"
-
-            >
+            <el-input v-model="form['178']" placeholder="请输入时间">
               <template slot="append">分钟</template>
             </el-input>
             以内视为连堂课
@@ -549,7 +557,7 @@
           type="info"
         >
         </el-alert>
-        <p class="subtitle">未点名:</p>
+        <!-- <p class="subtitle">未点名:</p> -->
         <!-- <el-row>
           未点名扣减课酬
           <el-input v-model="form.num" placeholder="请输入金额"  class="chiose">
@@ -573,8 +581,8 @@
               },
             ]"
           >
-            VIP课可点名时间范围为课程开始前
-            <el-input v-model="form['39']" placeholder="请输入时间" >
+           VIP线下课可点名时间范围为课程开始前
+            <el-input v-model="form['39']" placeholder="请输入时间">
               <template slot="append">分钟</template>
             </el-input>
           </el-form-item>
@@ -589,9 +597,9 @@
             ]"
           >
             至课程结束后
-            <el-input v-model="form['40']" placeholder="请输入时间" >
+            <el-input v-model="form['40']" placeholder="请输入时间">
               <template slot="append">分钟</template>
-            </el-input>
+            </el-input>不填则当天内都能点名。
           </el-form-item>
         </el-row>
         <el-alert
@@ -608,13 +616,9 @@
               { pattern: /^\d+(\.\d{1,8})?$/, message: '请输入正确的百分比' },
             ]"
           >
-            试用期老师课酬按默认课酬的
-            <el-input
-              v-model="form['180']"
-              placeholder="请输入百分比"
-
-            >
-              <template slot="append">%</template> 发放
+            试用期内的课程按预计课酬
+            <el-input v-model="form['180']" placeholder="请输入百分比">
+              <template slot="append">%</template> 结算
             </el-input>
           </el-form-item>
         </el-row>
@@ -625,12 +629,11 @@
           type="info"
         />
 
-        <p class="subtitle">考勤申诉:</p>
+        <p class="subtitle">考勤申诉:课程结束后,如果考勤异常,老师可以在APP端进行考勤申诉,但已结算的课程无法再进行申诉,系统常规会在次月6号进行结算。</p>
         <el-row>
           全职老师
           <el-select
             v-model.trim="form['184']"
-
             placeholder="申述方式"
             @change="
               () => {
@@ -653,11 +656,7 @@
               ]"
             >
               在课程结束后
-              <el-input
-                v-model="form['183']"
-                placeholder="请输入时间"
-
-              >
+              <el-input v-model="form['183']" placeholder="请输入时间">
                 <template slot="append">分钟</template> </el-input
               >内可以提交考勤申诉
             </el-form-item>
@@ -674,11 +673,7 @@
               ]"
             >
               在次月
-              <el-input
-                v-model="form['183']"
-                placeholder="请输入时间"
-
-              >
+              <el-input v-model="form['183']" placeholder="请输入时间">
                 <template slot="append">号</template> </el-input
               >内可以提交考勤申诉</el-form-item
             >
@@ -688,7 +683,6 @@
           兼职老师
           <el-select
             v-model.trim="form['182']"
-
             placeholder="申述方式"
             @change="
               () => {
@@ -711,11 +705,7 @@
               ]"
             >
               在课程结束后
-              <el-input
-                v-model="form['181']"
-                placeholder="请输入时间"
-
-              >
+              <el-input v-model="form['181']" placeholder="请输入时间">
                 <template slot="append">分钟</template> </el-input
               >内可以提交考勤申诉
             </el-form-item>
@@ -732,11 +722,7 @@
               ]"
             >
               在次月
-              <el-input
-                v-model="form['181']"
-                placeholder="请输入时间"
-
-              >
+              <el-input v-model="form['181']" placeholder="请输入时间">
                 <template slot="append">号</template> </el-input
               >内可以提交考勤申诉</el-form-item
             >
@@ -746,7 +732,6 @@
           劳务老师
           <el-select
             v-model.trim="form['186']"
-
             placeholder="申述方式"
             @change="
               () => {
@@ -769,11 +754,7 @@
               ]"
             >
               在课程结束后
-              <el-input
-                v-model="form['185']"
-                placeholder="请输入时间"
-
-              >
+              <el-input v-model="form['185']" placeholder="请输入时间">
                 <template slot="append">分钟</template> </el-input
               >内可以提交考勤申诉
             </el-form-item>
@@ -790,11 +771,7 @@
               ]"
             >
               在次月
-              <el-input
-                v-model="form['185']"
-                placeholder="请输入时间"
-
-              >
+              <el-input v-model="form['185']" placeholder="请输入时间">
                 <template slot="append">号</template> </el-input
               >内可以提交考勤申诉</el-form-item
             >
@@ -802,7 +779,6 @@
         </el-row>
       </el-form>
       <el-button
-
         type="primary"
         @click="save"
         class="saveBtn"
@@ -811,7 +787,6 @@
         >保存</el-button
       >
       <el-button
-
         type="primary"
         @click="save"
         class="saveBtn"
@@ -825,6 +800,14 @@
 <script>
 import { getSysTenantConfig, setSysTenantConfig } from "../api";
 import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
+import {
+  addFormMinute,
+  addFormMinuteAddS,
+  reduceFormMinute,
+  reduceFormMinuteAddS,
+  addFormMinuteMS,
+  reduceFormMinuteMS,
+} from "@/utils/date";
 export default {
   props: ["isPlatform"],
   data() {
@@ -918,6 +901,32 @@ export default {
         this.saveInstitution();
       }
     },
+    addFormMinute(timerStr, time) {
+      return addFormMinute(timerStr, time);
+    },
+    addFormMinuteAddS(timerStr, time) {
+      return addFormMinuteAddS(timerStr, time);
+    },
+    reduceFormMinute(timerStr, time) {
+      return reduceFormMinute(timerStr, time);
+    },
+    reduceFormMinuteAddS(timerStr, time) {
+      return reduceFormMinuteAddS(timerStr, time);
+    },
+    addFormMinuteMS(timerStr, time) {
+      return addFormMinuteMS(timerStr, time);
+    },
+    reduceFormMinuteMS(timerStr, time) {
+      return reduceFormMinuteMS(timerStr, time);
+    },
+    validateMin(rule, value, callback) {
+      const one = Number(value);
+      const max = Number(this.form[80]);
+      if (!max || one < max) {
+        return callback();
+      }
+      return callback(new Error(`最早可提前${this.form[80] - 1}分钟进入教室`));
+    },
   },
 };
 </script>

+ 112 - 36
src/views/courseRulersManager/components/onlineCloudRules.vue

@@ -37,7 +37,7 @@
             prop="162"
             :rules="[
               {
-                required: true,
+                required: false,
                 message: '请输入时间',
                 trigger: 'blur',
               },
@@ -48,7 +48,7 @@
               },
             ]"
           >
-            <span style="color: #f56c6c; margin-right: 4px">*</span>
+            <!-- <span style="color: #f56c6c; margin-right: 4px">*</span> -->
             至课程开始后
             <el-input v-model="form['162']" placeholder="请输入时间">
               <template slot="append">分钟</template>
@@ -80,28 +80,49 @@
             </el-input>
           </el-form-item>
         </el-row>
-            <p class="subtitle">未签到:</p>
+        <p class="example" v-if="form['159']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">12:00:00</span>
+          开始的课程,最早
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            reduceFormMinute("12:00:00", forwardTime)
+          }}</span
+          >能进入云教室,
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            reduceFormMinuteAddS("12:00:00", form["159"])
+          }}</span
+          >到
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            addFormMinute("13:00:00", form["162"])
+          }}</span
+          >为迟到时间范围
+        </p>
+        <p class="subtitle">旷课:</p>
         <el-row>
-
+          <el-form-item prop="162">
+            课程开始
+            <el-input v-model="form['162']" placeholder="请输入时间" disabled>
+              <template slot="append">分钟</template>
+            </el-input>
+          </el-form-item>
           <el-form-item
-            prop="168"
+            prop="166"
             :rules="[
               {
                 required: false,
-                pattern:
-                  /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
-                message: '请输入正确的金额',
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的距离',
               },
             ]"
           >
-              老师未签到扣减课酬
+            后进入云教室,扣减课酬
             <el-input
-              v-model="form['168']"
-              placeholder="请输入金额"
+              v-model="form['166']"
+              placeholder="请输入距离"
               class="chiose"
             >
               <template slot="append">
-                <el-select class="append" v-model.trim="form['169']">
+                <el-select class="append" v-model.trim="form['167']">
                   <el-option label="元" value="1"> </el-option>
                   <el-option label="%" value="2"> </el-option>
                 </el-select>
@@ -109,33 +130,37 @@
             </el-input>
           </el-form-item>
         </el-row>
-        <p class="subtitle">旷课:</p>
+        <p class="example" v-if="form['162']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">12:00:00</span>
+          开始的课程
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            addFormMinuteAddS("12:00:00", form["162"])
+          }}</span>
+          以后进入云教室为旷课。
+        </p>
+
+        <p class="subtitle">未签到:</p>
         <el-row>
-          <el-form-item prop="162">
-            <span style="color: #f56c6c; margin-right: 4px">*</span>
-            课程开始
-            <el-input v-model="form['162']" placeholder="请输入时间" disabled>
-              <template slot="append">分钟</template>
-            </el-input>
-          </el-form-item>
           <el-form-item
-            prop="166"
+            prop="168"
             :rules="[
               {
                 required: false,
-                pattern: /^[1-9][0-9]*$/,
-                message: '请输入正确的距离',
+                pattern:
+                  /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
+                message: '请输入正确的金额',
               },
             ]"
           >
-            后进入云教室,或未进入云教室,扣减课酬
+            老师未签到扣减课酬
             <el-input
-              v-model="form['166']"
-              placeholder="请输入距离"
+              v-model="form['168']"
+              placeholder="请输入金额"
               class="chiose"
             >
               <template slot="append">
-                <el-select class="append" v-model.trim="form['167']">
+                <el-select class="append" v-model.trim="form['169']">
                   <el-option label="元" value="1"> </el-option>
                   <el-option label="%" value="2"> </el-option>
                 </el-select>
@@ -143,13 +168,14 @@
             </el-input>
           </el-form-item>
         </el-row>
+
         <p class="subtitle">异常签退</p>
         <el-row>
           <el-form-item
             prop="173"
             :rules="[
               {
-                required: true,
+                required: false,
                 message: '请输入时间',
                 trigger: 'blur',
               },
@@ -160,8 +186,8 @@
               },
             ]"
           >
-            <span style="color: #f56c6c; margin-right: 4px">*</span>
-            课程结束
+            <!-- <span style="color: #f56c6c; margin-right: 4px">*</span> -->
+            课程结束
             <el-input v-model="form['173']" placeholder="请输入时间">
               <template slot="append">分钟</template>
             </el-input>
@@ -177,7 +203,7 @@
               },
             ]"
           >
-            课程结束前退出云教室,扣减课酬
+            以后到课程结束前退出云教室,扣减课酬
             <el-input
               v-model="form['171']"
               placeholder="请输入金额"
@@ -192,11 +218,25 @@
             </el-input>
           </el-form-item>
         </el-row>
+        <p class="example" v-if="form['173']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">13:00:00</span>
+          结束的课程
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            reduceFormMinute("13:00:00", form["173"])
+          }}</span
+          >到
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            "12:59:59"
+          }}</span>
+          为异常签到时间范围。
+        </p>
+
         <p class="subtitle">早退:</p>
         <el-row>
           <el-form-item prop="173">
-            <span style="color: #f56c6c; margin-right: 4px">*</span>
-            课程结束
+            <!-- <span style="color: #f56c6c; margin-right: 4px">*</span> -->
+            早于课程结束
             <el-input disabled v-model="form['173']" placeholder="请输入时间">
               <template slot="append">分钟</template>
             </el-input>
@@ -227,9 +267,17 @@
             </el-input>
           </el-form-item>
         </el-row>
+        <p class="example" v-if="form['173']">
+          例:
+          <span style="color: #f56c6c; margin-right: 4px">13:00:00</span>
+          结束的课程
+          <span style="color: #f56c6c; margin-right: 4px">{{
+            reduceFormMinuteMS("13:00:00", form["173"])
+          }}</span
+          >之前退出云教室为早退。
+        </p>
         <p class="subtitle">未签退:</p>
         <el-row>
-
           <el-form-item
             prop="176"
             :rules="[
@@ -324,6 +372,14 @@
 <script>
 import { getSysTenantConfig, setSysTenantConfig } from "../api";
 import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
+import {
+  addFormMinute,
+  addFormMinuteAddS,
+  reduceFormMinute,
+  reduceFormMinuteAddS,
+  addFormMinuteMS,
+  reduceFormMinuteMS,
+} from "@/utils/date";
 export default {
   props: ["isPlatform"],
   data() {
@@ -360,7 +416,7 @@ export default {
           this.$set(this.form, item.id, item.paranValue);
         });
         // this.$forceUpdate()
-        console.log(this.forwardTime);
+        // console.log(this.forwardTime);
       } catch (e) {
         console.log(e);
       }
@@ -437,7 +493,27 @@ export default {
       if (!max || one < max) {
         return callback();
       }
-      return callback(new Error(`最早可提前${this.forwardTime-1}分钟进入教室`));
+      return callback(
+        new Error(`最早可提前${this.forwardTime - 1}分钟进入教室`)
+      );
+    },
+    addFormMinute(timerStr, time) {
+      return addFormMinute(timerStr, time);
+    },
+    addFormMinuteAddS(timerStr, time) {
+      return addFormMinuteAddS(timerStr, time);
+    },
+    reduceFormMinute(timerStr, time) {
+      return reduceFormMinute(timerStr, time);
+    },
+    reduceFormMinuteAddS(timerStr, time) {
+      return reduceFormMinuteAddS(timerStr, time);
+    },
+    addFormMinuteMS(timerStr, time) {
+      return addFormMinuteMS(timerStr, time);
+    },
+    reduceFormMinuteMS(timerStr, time) {
+      return reduceFormMinuteMS(timerStr, time);
     },
   },
 };

+ 7 - 7
src/views/courseRulersManager/components/teamRules.vue

@@ -20,11 +20,11 @@
               },
             ]"
           >
-            确认发货
+            乐器、辅件操作确认发货
             <el-input v-model="form['76']"  placeholder="请输入天数">
               <template slot="append">天</template>
             </el-input>
-            后自动确认收货
+            后自动确认收货开始计时乐器保养服务。
           </el-form-item>
         </el-row>
         <el-alert
@@ -50,7 +50,7 @@
             ]"
           >
             <span style="color: #f56c6c; margin-right: 4px">*</span>
-            各声部不购买会员入团资格限制
+            乐团各声部不购买团练宝或乐器就可以直接入团的人数
             <el-input v-model="form[136]"  placeholder="请输入人数">
               <template slot="append">人</template>
             </el-input>
@@ -75,7 +75,7 @@
             会员团每学期赠送
             <el-input
               v-model="form[133]"
-              
+
               placeholder="请输入分钟数"
             >
               <template slot="append">分钟</template>
@@ -98,7 +98,7 @@
             <el-input v-model="form[99]" >
               <template slot="append">天</template>
             </el-input>
-            提醒乐团主管安排下学期课程
+            提醒教务老师安排下学期课程
           </el-form-item>
         </el-row>
         <el-row>
@@ -112,11 +112,11 @@
               },
             ]"
           >
-            学员会员有效期结束前
+            学员团练宝有效期结束前
             <el-input v-model="form[104]" >
               <template slot="append">天</template>
             </el-input>
-            自动创建会员续费
+            自动创建续费
           </el-form-item>
         </el-row>
       </el-form>