Browse Source

VIP可以不选活动,单价计算

lex-xin 3 years ago
parent
commit
d7b6b9b65f
1 changed files with 43 additions and 26 deletions
  1. 43 26
      src/views/teacher/VIP00Apply.vue

+ 43 - 26
src/views/teacher/VIP00Apply.vue

@@ -100,7 +100,7 @@
         label="每课时长"
         :readonly="true"
         input-align="right"
-        is-link
+        :is-link="form.vipGroupActivityId ? false : true"
         size="large"
         placeholder="请输入每课时长"
       />
@@ -293,6 +293,16 @@
         type="number"
       />
       <van-field
+        v-model="singleClassMinutesPrice"
+        label="网管课单价"
+        input-align="right"
+        size="large"
+        :readonly="true"
+        placeholder="金额(每课时)"
+        v-if="courseTypePractice"
+        type="number"
+      />
+      <van-field
         v-model="form.onlineTeacherSalary"
         label="网管课课酬"
         input-align="right"
@@ -521,8 +531,8 @@ export default {
       },
       statusList: {
         // 散状态集合
-        hasOnline: false, // 是否显示线上
-        hasOffline: false, // 是否显示线下
+        hasOnline: true, // 是否显示线上
+        hasOffline: true, // 是否显示线下
         classTime: false, // 课表展示
         headerStatus: false, // 头部是否展示
         classTimerStatus: false, // 每课时长状态
@@ -634,6 +644,8 @@ export default {
       dataShow: true, // 是否有数据
       dataList: [],
       salaryStatus: true, // 是否跳过课酬二次确认
+      onlineUnitPrice: 0, // 线上课单价
+      offLineUnitPrice: 0, // 线下课单价
       singleClassMinutesPrice: 0, //网管课单价
       singleClassMinutesSalary: 0, // 网管课课酬
     };
@@ -851,7 +863,9 @@ export default {
         form.studentNum = value.studentNum; // 每班人数
         // form.singleClassMinutes = value.singleClassMinutes // 每课时长
         form.onlineClassesUnitPrice = Math.ceil(value.onlineClassesUnitPrice);
+        this.onlineUnitPrice = Math.ceil(value.onlineClassesUnitPrice)
         form.offlineClassesUnitPrice = Math.ceil(value.offlineClassesUnitPrice);
+        this.offLineUnitPrice = Math.ceil(value.offlineClassesUnitPrice)
 
         // 每课时长赋值
         form.singleClassMinutes = null;
@@ -896,6 +910,8 @@ export default {
           loadData.vipGroupCategorySelect.offlineClassesUnitPrice
         );
 
+        form.singleClassMinutes = value.singleCourseTime
+
         if(this.courseTypeVip) {
           this.onCalcClassTimes(value); // 计算时间等.........
         } else {
@@ -938,7 +954,6 @@ export default {
       let form = this.form,
         statusList = this.statusList;
       let totalCount = Number(form.onlineClassesNums) + Number(form.offlineClassesNums);
-      console.log(vas, 'vas')
 
       // 获取总课次
       form.totalClassTime = totalCount
@@ -958,8 +973,6 @@ export default {
           statusList.hasOffline = true;
         break;
         default:
-          statusList.hasOnline = false;
-          statusList.hasOffline = false;
         break;
       }
     },
@@ -1002,6 +1015,8 @@ export default {
         form.studentNum = null
         form.onlineClassesUnitPrice = 0
         form.onlineTeacherSalary = 0
+        this.statusList.hasOnline = true
+        this.statusList.hasOffline = true
         this.getCalcClass();
       } else if(value.value == 'PRACTICE') {
         this.courseForm.columns[0].values = ["线上"]
@@ -1040,6 +1055,8 @@ export default {
         this.$toast("请选择课程形式");
         return;
       }
+      // 如果选择了活动则,课时不能选择
+      if(this.form.vipGroupActivityId) return
       this.statusList.classTimerStatus = true;
     },
     onClassTimerSelect(value) {
@@ -1317,7 +1334,12 @@ export default {
         //老师课酬
         form.onlineTeacherSalary = Math.round(this.singleClassMinutesSalary)
         // 课程单价
-        form.onlineClassesUnitPrice = Math.round(this.singleClassMinutesPrice)
+        form.onlineClassesUnitPrice = Math.round(this.singleClassMinutesPrice * discount)
+      }
+
+      if(this.courseTypeVip) {
+        form.onlineClassesUnitPrice = Math.round(this.onlineUnitPrice * discount)
+        form.offlineClassesUnitPrice = Math.round(this.offLineUnitPrice * discount)
       }
       // ...
       if (vas.salarySettlementJson) {
@@ -1329,7 +1351,7 @@ export default {
             if(vnss.salarySettlementType == 'TEACHER_DEFAULT') {
               form.onlineTeacherSalary = Math.round(tc.offlineClassesSalary)
             } else if(vnss.salarySettlementType == 'FIXED_SALARY') {
-              form.onlineTeacherSalary = Math.round(vnss.settlementValue * discount)
+              form.onlineTeacherSalary = Math.round(vnss.settlementValue)
             }
           } else {
             form.onlineTeacherSalary = Math.round(tc.offlineClassesSalary)
@@ -1340,22 +1362,19 @@ export default {
             if(voss.salarySettlementType == 'TEACHER_DEFAULT') {
               form.offlineTeacherSalary = Math.round(tc.offlineClassesSalary)
             } else if(voss.salarySettlementType == 'FIXED_SALARY') {
-              form.offlineTeacherSalary = Math.round(voss.settlementValue * discount)
+              form.offlineTeacherSalary = Math.round(voss.settlementValue)
             }
           } else {
             form.offlineTeacherSalary = Math.round(tc.offlineClassesSalary)
           }
         } else if(this.courseTypePractice) {
           // //老师课酬
-          // form.onlineTeacherSalary = Math.round(this.singleClassMinutesSalary)
-          // // 课程单价
-          // form.onlineClassesUnitPrice = Math.round(this.singleClassMinutesPrice)
           if(obj && obj.practiceSalarySettlement) {
             let pss = obj.practiceSalarySettlement
             if(pss.salarySettlementType == 'TEACHER_DEFAULT') {
               form.onlineTeacherSalary = Math.round(this.singleClassMinutesSalary)
             } else if(pss.salarySettlementType == 'FIXED_SALARY') {
-              form.onlineTeacherSalary = Math.round(pss.settlementValue * discount)
+              form.onlineTeacherSalary = Math.round(pss.settlementValue)
             }
           } else {
             form.onlineTeacherSalary = Math.round(this.singleClassMinutesSalary)
@@ -1364,17 +1383,10 @@ export default {
       }
 
       let totalCount = 0
-      console.log({
-        singleClassMinutesPrice: this.singleClassMinutesPrice,
-        singleClassMinutesSalary: this.singleClassMinutesSalary,
-        onlineClassesUnitPrice: form.onlineClassesUnitPrice,
-        discount: discount,
-        oncn: oncn
-      })
       if(this.courseTypeVip) {
-        totalCount = ((oncn * form.onlineClassesUnitPrice + offcn * form.offlineClassesUnitPrice) * discount);
+        totalCount = (oncn * form.onlineClassesUnitPrice + offcn * form.offlineClassesUnitPrice);
       } else {
-        totalCount = ((oncn * form.onlineClassesUnitPrice) * discount);
+        totalCount = (oncn * form.onlineClassesUnitPrice);
       }
       form.totalCount = Number(totalCount);
     },
@@ -1490,10 +1502,10 @@ export default {
         return;
       }
 
-      if (!form.vipGroupActivityId && this.courseTypeVip) {
-        this.$toast("请选择活动方案");
-        return false;
-      }
+      // if (!form.vipGroupActivityId && this.courseTypeVip) {
+      //   this.$toast("请选择活动方案");
+      //   return false;
+      // }
 
       if (!form.singleClassMinutes) {
         this.$toast("请选择每课时长");
@@ -1525,6 +1537,11 @@ export default {
         }
       }
 
+      if(form.offlineClassesNums + form.onlineClassesNums <= 0) {
+        this.$toast('请输入线上/线下课次数')
+        return false;
+      }
+
       if (!form.registrationStartTime) {
         this.$toast("请选择报名开始时间");
         return false;