소스 검색

Merge branch '12/25morning' into online

mo 4 년 전
부모
커밋
3a616c29b2

+ 4 - 6
.gitignore

@@ -6,6 +6,7 @@ yarn-error.log*
 debug.log*
 package-lock.json
 tests/**/coverage/
+*.log
 
 # Editor directories and files
 .idea
@@ -15,9 +16,6 @@ tests/**/coverage/
 *.njsproj
 *.sln
 debug.log
-*.log
-debug.log
-debug.log
-debug.log
-debug.log
-debug.log
+
+
+

+ 11 - 0
src/views/resetTeaming/modals/subject-preview.vue

@@ -331,6 +331,7 @@ export default {
                 goodsIds = [],
                 tempCourseFee = 0,
                 musicClassFee = 0,
+                tempGroupRemissionCourseFee = 0, // 乐团减免费用
                 contractGoodsIds = '' // 合同所需要的商品Id (只需要乐器编号)
             // 课程
             let mgs = this.musicGroupSubject
@@ -344,6 +345,11 @@ export default {
                         if (item.id > 0) {
                             courseKeys.push(item.id)
                         }
+
+                        // 不可选的课程才会减免课程费用
+                        if(!item.isStudentOptional) {
+                            tempGroupRemissionCourseFee += parseFloat(item.courseCurrentPrice)
+                        }
                     }
                 })
             }
@@ -394,6 +400,11 @@ export default {
                                 price: parseFloat(item.price - couponPrice)
                             })
                         }
+
+                        // 是否减免课程费用,必须团购,并且开启了减免课程费用
+						if(item.kitType == 'GROUP' && item.groupRemissionCourseFee == 1) {
+							musicClassFee = parseFloat(musicClassFee - tempGroupRemissionCourseFee)
+						}
                     }
                 })
             }

+ 43 - 21
src/views/teamBuild/components/soundSetComponents/chioseMusic.vue

@@ -19,7 +19,7 @@
               :key="index"
               :label="item.name"
               :value="item.id"
-              :disabled='checkDisabled(item)'
+              :disabled="checkDisabled(item)"
             ></el-option>
           </el-select>
         </div>
@@ -46,6 +46,7 @@
           >
             团购价:
           </p>
+
           <div
             v-show="
               music.type && music.type.length > 0
@@ -58,12 +59,6 @@
               <template slot="append">元</template></el-input
             >
           </div>
-          <!-- <div v-else
-               style="width:180px">
-            <el-input value="--"
-                      disabled> <template slot="append">元</template></el-input>
-          </div> -->
-
           <p
             class="title"
             v-show="
@@ -106,6 +101,29 @@
             style="font-size: 20px; cursor: pointer"
           ></i>
         </div>
+        <div
+          style="margin-top: 5px"
+          v-show="
+            music.type && music.type.length > 0
+              ? music.type.includes('GROUP')
+              : false
+          "
+        >
+          <div class="flexRow">
+            <p class="title">团购乐器减免课程费用:</p>
+            <el-radio-group
+              v-model="music.groupRemissionCourseFee"
+              v-show="
+                music.type && music.type.length > 0
+                  ? music.type.includes('GROUP')
+                  : false
+              "
+            >
+              <el-radio :label="true">是</el-radio>
+              <el-radio :label="false">否</el-radio>
+            </el-radio-group>
+          </div>
+        </div>
       </div>
       <el-divider></el-divider>
     </div>
@@ -125,7 +143,7 @@
 </template>
 <script>
 export default {
-  props: ["item", "basdisabled",'activeSoundList'],
+  props: ["item", "basdisabled", "activeSoundList"],
   data() {
     return {
       radio: "",
@@ -148,6 +166,7 @@ export default {
         type: ["GROUP"],
         groupPrice: null,
         borrowPrice: 1500,
+        groupRemissionCourseFee: 0,
       });
       this.$emit("lookMusic");
     },
@@ -158,17 +177,20 @@ export default {
         }
       });
     },
-    checkDisabled(item){
-      let flag = false
-     this.activeSoundList.forEach(musics=>{
-       musics.chioseMusic.forEach(music=>{
-         if(item.id==music.musical){
-           flag= true
-         }
-       })
-     })
-     return flag
-    }
+    checkDisabled(item) {
+      let flag = false;
+      this.activeSoundList.forEach((musics) => {
+        musics.chioseMusic.forEach((music) => {
+          if (item.id == music.musical) {
+            flag = true;
+          }
+        });
+      });
+      return flag;
+    },
+    changeFee(val, music) {
+      this.$set(music, "groupRemissionCourseFee", val);
+    },
   },
 };
 </script>
@@ -190,7 +212,7 @@ p {
   margin-right: 10px;
 }
 .title {
-  width: 100px !important;
+  width: 140px !important;
   text-align: right;
   margin-right: 10px;
 }
@@ -205,4 +227,4 @@ p {
   margin-top: 10px;
   width: 100%;
 }
-</style>
+</style>

+ 27 - 8
src/views/teamBuild/components/soundSetComponents/soundSetCore.vue

@@ -44,7 +44,7 @@
             </div>
             <el-divider></el-divider>
             <chioseMusic
-            :activeSoundList="activeSoundList"
+              :activeSoundList="activeSoundList"
               :item="item"
               @lookMusic="lookMusic"
               :basdisabled="basdisabled"
@@ -190,7 +190,6 @@ export default {
                     this.chioseActiveSound = activeSound;
                     this.changeActiveSound(activeSound.join(","));
                     // 格式化商品和教辅
-
                     res.data.musicGroupSubjectGoodsGroups.forEach((shop) => {
                       let index = findIndex(this.activeSoundList, (o) => {
                         return o.id == shop.subjectId;
@@ -213,11 +212,15 @@ export default {
                             type: typeJson,
                             groupPrice: shop.price,
                             borrowPrice: shop.depositFee,
+                            groupRemissionCourseFee: Boolean(
+                              shop.groupRemissionCourseFee
+                            ),
                           });
                         }
                       }
                     });
                   }
+                  console.log(this.activeSoundList);
                 }
               );
             }
@@ -268,7 +271,13 @@ export default {
         sound: item.name,
         expectedStudentNum: item.expectedStudentNum,
         chioseMusic: [
-          { musical: "", type: ["GROUP"], groupPrice: 0, borrowPrice: 1500 },
+          {
+            musical: "",
+            type: ["GROUP"],
+            groupPrice: 0,
+            borrowPrice: 1500,
+            groupRemissionCourseFee: Boolean(item.groupRemissionCourseFee),
+          },
         ],
         markChioseList: [],
         goodsList: [],
@@ -355,10 +364,19 @@ export default {
         };
         obj.musicGroupSubjectPlans.push(item);
         // 格式化商品数据 chioseMusic: [{ musical: '', type: ["GROUP"], groupPrice: 0, borrowPrice: 1500 }],
+
         active.chioseMusic.forEach((music) => {
+          console.log(music);
           let goodsItem = null;
           let depositFee = music.borrowPrice;
           let price = music.groupPrice;
+          let groupRemissionCourseFee;
+          if (music.type.indexOf("GROUP") != -1) {
+            groupRemissionCourseFee = music.groupRemissionCourseFee * 1;
+          } else {
+            groupRemissionCourseFee = 0;
+          }
+
           let index = findIndex(active.goodsList, (o) => {
             return o.id == music.musical;
           });
@@ -366,9 +384,9 @@ export default {
             goodsItem = active.goodsList[index];
           }
           let kitGroupPurchaseTypeJson = {};
-             music.type.forEach((type) => {
-              kitGroupPurchaseTypeJson[type] = 0;
-            });
+          music.type.forEach((type) => {
+            kitGroupPurchaseTypeJson[type] = 0;
+          });
           // if (Array.isArray(music.type)) {
           //   music.type.forEach((type) => {
           //     kitGroupPurchaseTypeJson[type] = 0;
@@ -377,7 +395,7 @@ export default {
           //   // 字符串
           //   let arr = [ music.type]
           //     arr.forEach((type) => {
-          //     kitGroupPurchaseTypeJson[type] = 0; 
+          //     kitGroupPurchaseTypeJson[type] = 0;
           //   });
           // }
           kitGroupPurchaseTypeJson = JSON.stringify(kitGroupPurchaseTypeJson);
@@ -390,6 +408,7 @@ export default {
               kitGroupPurchaseTypeJson,
               depositFee,
               price,
+              groupRemissionCourseFee,
             };
             obj.musicGroupSubjectGoodsGroups.push(some);
           }
@@ -559,7 +578,7 @@ export default {
     margin-right: 10px;
   }
   .title {
-    width: 100px;
+    width: 140px;
     text-align: right;
   }
 }