|
@@ -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;
|