Browse Source

12/10 13:35

11
mo 4 years ago
parent
commit
d76120e0a6

+ 136 - 71
src/views/teamBuild/components/soundSetComponents/chioseMusic.vue

@@ -1,116 +1,181 @@
 <template>
   <div>
-    <div v-for="(music,index) in item.chioseMusic"
-         :key="index">
-
+    <div v-for="(music, index) in item.chioseMusic" :key="index">
       <div class="chioseMusic">
         <div class="flexRow">
-          <p class="title">可选乐器{{index+1}}:</p>
-          <el-select style="width:180px"
-                     :disabled='basdisabled'
-                     v-model="music.musical"
-                     @change="(val)=>{chioseMusic(val,music)}">
-            <el-option v-for="(item,index) in item.goodsList"
-                       :key="index"
-                       :label="item.name"
-                       :value="item.id"></el-option>
+          <p class="title">可选乐器{{ index + 1 }}:</p>
+          <el-select
+            style="width: 180px"
+            :disabled="basdisabled"
+            v-model="music.musical"
+            @change="
+              (val) => {
+                chioseMusic(val, music);
+              }
+            "
+          >
+            <el-option
+              v-for="(item, index) in item.goodsList"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+              :disabled='checkDisabled(item)'
+            ></el-option>
           </el-select>
-          <el-radio-group v-model="music.type"
-                             class="marginLeft10">
-            <el-radio :disabled='basdisabled'
-                         label="GROUP">团购</el-radio>
-            <el-radio :disabled='basdisabled'
-                         label="LEASE">租赁</el-radio>
-            <el-radio :disabled='basdisabled'
-                         label="FREE">免费</el-radio>
-          </el-radio-group>
         </div>
-
         <div class="flexRow">
-          <p class="title">团购价:</p>
-          <div v-if="music.type&&music.type.length>0?music.type.includes('GROUP'):false"
-               style="width:180px">
-            <el-input type="number"
-                      v-model="music.groupPrice"
-                      disabled> <template slot="append">元</template></el-input>
+          <p class="title">乐器选择方式:</p>
+          <el-checkbox-group v-model="music.type" class="marginLeft10">
+            <el-checkbox :disabled="basdisabled" label="GROUP"
+              >团购</el-checkbox
+            >
+            <el-checkbox :disabled="basdisabled" label="LEASE"
+              >租赁</el-checkbox
+            >
+            <el-checkbox :disabled="basdisabled" label="FREE">免费</el-checkbox>
+          </el-checkbox-group>
+        </div>
+        <div class="flexRow">
+          <p
+            class="title"
+            v-show="
+              music.type && music.type.length > 0
+                ? music.type.includes('GROUP')
+                : false
+            "
+          >
+            团购价:
+          </p>
+          <div
+            v-show="
+              music.type && music.type.length > 0
+                ? music.type.includes('GROUP')
+                : false
+            "
+            style="width: 180px"
+          >
+            <el-input type="number" v-model="music.groupPrice" disabled>
+              <template slot="append">元</template></el-input
+            >
           </div>
-          <div v-else
+          <!-- <div v-else
                style="width:180px">
             <el-input value="--"
                       disabled> <template slot="append">元</template></el-input>
-          </div>
+          </div> -->
 
-          <p class="title">租赁押金:</p>
-          <div v-if="music.type&&music.type.length>0?music.type.includes('LEASE'):false"
-               style="width:180px">
-            <el-input type="number"
-                      v-model="music.borrowPrice"
-                      :disabled='basdisabled'> <template slot="append">元</template></el-input>
+          <p
+            class="title"
+            v-show="
+              music.type && music.type.length > 0
+                ? music.type.includes('LEASE')
+                : false
+            "
+          >
+            租赁押金:
+          </p>
+          <div
+            v-show="
+              music.type && music.type.length > 0
+                ? music.type.includes('LEASE')
+                : false
+            "
+            style="width: 180px"
+          >
+            <el-input
+              type="number"
+              v-model="music.borrowPrice"
+              :disabled="basdisabled"
+            >
+              <template slot="append">元</template></el-input
+            >
           </div>
-          <div v-else
+          <!-- <div v-else
                style="width:180px">
             <el-input value="--"
                       disabled> <template slot="append">元</template></el-input>
-          </div>
-          <i class="el-icon-close marginLeft10"
-             v-if="item.chioseMusic.length >1&&!basdisabled"
-             @click="deleteMusic(music)"
-             style="font-size:20px; cursor: pointer;"></i>
+          </div> -->
+          <i
+            class="el-icon-close marginLeft10"
+            v-if="
+              item.chioseMusic.length > 1 &&
+              !basdisabled &&
+              (music.type.includes('LEASE') || music.type.includes('GROUP'))
+            "
+            @click="deleteMusic(music)"
+            style="font-size: 20px; cursor: pointer"
+          ></i>
         </div>
       </div>
+      <el-divider></el-divider>
     </div>
-    <div class="coreItemRow"
-         v-if="!basdisabled">
+    <div class="coreItemRow" v-if="!basdisabled">
       <p class="title"></p>
-      <el-button type="info"
-                 plain
-                 style="width:558px"
-                 size="mini"
-                 icon="el-icon-plus"
-                 @click="addMusic">新增可选乐器</el-button>
+      <el-button
+        type="info"
+        plain
+        style="width: 558px"
+        size="mini"
+        icon="el-icon-plus"
+        @click="addMusic"
+        >新增可选乐器</el-button
+      >
     </div>
   </div>
 </template>
 <script>
 export default {
-  props: ['item', 'basdisabled'],
-  data () {
+  props: ["item", "basdisabled",'activeSoundList'],
+  data() {
     return {
-      radio: '',
-      goods: ''
-    }
-  },
-  created () { },
-  mounted () {
-
+      radio: "",
+      goods: "",
+    };
   },
+  created() {},
+  mounted() {},
   methods: {
-    chioseMusic (val, music) {
+    chioseMusic(val, music) {
       this.item.goodsList.map((some, index) => {
         if (some.id == val) {
-          music.groupPrice = some.groupPurchasePrice
+          music.groupPrice = some.groupPurchasePrice;
         }
-      })
+      });
     },
-    addMusic () {
-      this.item.chioseMusic.push({ musical: '', type: ['GROUP'], groupPrice: null, borrowPrice: 1500 })
-      this.$emit('lookMusic')
+    addMusic() {
+      this.item.chioseMusic.push({
+        musical: "",
+        type: ["GROUP"],
+        groupPrice: null,
+        borrowPrice: 1500,
+      });
+      this.$emit("lookMusic");
     },
-    deleteMusic (music) {
-
+    deleteMusic(music) {
       this.item.chioseMusic.forEach((element, index) => {
         if (element.musical == music.musical) {
-          this.item.chioseMusic.splice(index, 1)
+          this.item.chioseMusic.splice(index, 1);
         }
       });
+    },
+    checkDisabled(item){
+      let flag = false
+     this.activeSoundList.forEach(musics=>{
+       musics.chioseMusic.forEach(music=>{
+         if(item.id==music.musical){
+           flag= true
+         }
+       })
+     })
+     return flag
     }
-  }
-
-}
+  },
+};
 </script>
 <style lang="scss" scoped>
 .chioseMusic {
   width: 100%;
+  margin: 30px 0 0;
 }
 .coreItemRow {
   padding-left: 20px;

+ 14 - 9
src/views/teamBuild/components/soundSetComponents/soundSetCore.vue

@@ -42,7 +42,9 @@
                 ></el-input>
               </div>
             </div>
+            <el-divider></el-divider>
             <chioseMusic
+            :activeSoundList="activeSoundList"
               :item="item"
               @lookMusic="lookMusic"
               :basdisabled="basdisabled"
@@ -364,17 +366,20 @@ export default {
             goodsItem = active.goodsList[index];
           }
           let kitGroupPurchaseTypeJson = {};
-          if (Array.isArray(music.type)) {
-            music.type.forEach((type) => {
+             music.type.forEach((type) => {
               kitGroupPurchaseTypeJson[type] = 0;
             });
-          }else{
-            // 字符串
-            let arr = [ music.type]
-              arr.forEach((type) => {
-              kitGroupPurchaseTypeJson[type] = 0; 
-            });
-          }
+          // if (Array.isArray(music.type)) {
+          //   music.type.forEach((type) => {
+          //     kitGroupPurchaseTypeJson[type] = 0;
+          //   });
+          // }else{
+          //   // 字符串
+          //   let arr = [ music.type]
+          //     arr.forEach((type) => {
+          //     kitGroupPurchaseTypeJson[type] = 0; 
+          //   });
+          // }
           kitGroupPurchaseTypeJson = JSON.stringify(kitGroupPurchaseTypeJson);
           if (goodsItem) {
             let some = {

+ 1 - 2
src/views/teamDetail/components/modals/class-pay-list.vue

@@ -3,7 +3,7 @@
     <classPayListItem
       :payInfo="payInfo"
       ref="base"
-      :courseTypesByType="courseTypesByType"
+      :courseTypesByType="courseTypesByType" 
       v-for="(item, index) in form.classList"
       :key="index"
       :item="item"
@@ -46,7 +46,6 @@
   </div>
 </template>
 <script>
-import { getDefaultPaymentCalender } from "@/api/buildTeam";
 import classNewInfo from "./class-new-info";
 import classPayListItem from './class-pay-list-item'
 import classSetting from './classroom-setting'

+ 2 - 2
src/views/teamDetail/components/modals/classList-group.vue

@@ -19,7 +19,7 @@
       size="small"
       style="width: 100%; margin: 20px 0"
       @click="addClass"
-      :disabled="form.classList.length >= classList.length"
+      :disabled="form.classList.length >= classList.length" 
       >添加班级</el-button
     >
     <el-dialog
@@ -100,7 +100,7 @@ export default {
           });
           try {
             let result = await getDefaultPaymentCalender(this.classIdList);
-            this.payInfo = result.data;
+            this.payInfo = result.data.defaultPaymentCalender;
             this.showSecondVisable = true;
           } catch {}
         }

+ 6 - 2
src/views/teamDetail/components/resetClass.vue

@@ -472,7 +472,7 @@
       <studentResetView
       :courseTypesByType ="courseTypesByType"
         v-if="studentResetVisiable"
-        :classList="activeSingleList"
+        :classList="mergeList"
         @close="closeStudentReset"
       />
     </el-dialog>
@@ -651,7 +651,8 @@ export default {
       maxMun: 16,
       courseTime: "",
       studentResetVisiable: false,
-      courseTypesByType:null
+      courseTypesByType:null,
+      mergeList:[]
     };
   },
   created() {
@@ -751,6 +752,9 @@ export default {
         (res) => {
           if (res.code == 200) {
             this.activeSingleList = res.data;
+            this.mergeList = res.data.filter(item=>{
+              return item.type!='MUSIC_NETWORK'
+            })
             
             // this.topForm.count = this.activeSingleList.length
           }

+ 2 - 2
vue.config.js

@@ -19,9 +19,9 @@ const name = defaultSettings.title || '管乐迷后台管理系统' // page titl
 // let target = 'https://online.dayaedu.com' //线上
 // let target = 'http://dyme.utools.club' //test环境
 // let target = 'http://192.168.3.139:8000' // 箭河
-// let target = 'http://192.168.3.38:8000' //邹璇
+let target = 'http://192.168.3.38:8000' //邹璇
 // let target = 'http://192.168.3.57:8000' //勇哥
-let target = 'http://dev.dayaedu.com' // 测试服
+// let target = 'http://dev.dayaedu.com' // 测试服
 // let target = 'http://192.168.3.196' // 乔
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {