instrumentModel.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <template>
  2. <div class="instrumentModel">
  3. <h2 class="titles" v-if="instrumentResultList.length > 0">
  4. <img :src="trainSmallBg" />
  5. <span>乐器</span>
  6. </h2>
  7. <div class="section" v-if="instrumentResultList.length > 0">
  8. <div v-for="(i, index) in instrumentResultList" :key="index">
  9. <el-row class="title-row">
  10. <el-col :span="13">
  11. <template v-if="i[0]['kitType'] == 'GROUP'">
  12. 团购乐器{{ courseViewType == 2 ? "(赠送辅件一套)" : null }}
  13. </template>
  14. <template v-if="i[0]['kitType'] == 'LEASE'">
  15. 乐器租赁{{ courseViewType == 2 ? "(请自行购买辅件)" : null }}
  16. </template>
  17. <template v-if="i[0]['kitType'] == 'FREE'">
  18. 免费乐器{{ courseViewType == 2 ? "(请自行购买辅件)" : null }}
  19. </template>
  20. <template v-if="i[0]['kitType'] == 'owned'">
  21. 自备乐器{{ courseViewType == 2 ? "(请自行购买辅件)" : null }}
  22. </template>
  23. </el-col>
  24. <el-col :span="5" style="text-align: right;">
  25. <template
  26. v-if="['GROUP', 'LEASE', 'FREE'].includes(i[0]['kitType'])"
  27. >原价</template
  28. >
  29. <!-- <template v-if="i[0]['kitType'] == 'LEASE'">原价</template> -->
  30. </el-col>
  31. <el-col :span="5" :offset="1" style="text-align: right;">
  32. <!-- <template v-if="i[0]['kitType'] == 'GROUP' || i[0]['kitType'] == 'FREE'">现价</template> -->
  33. <template v-if="['GROUP', 'FREE'].includes(i[0]['kitType'])"
  34. >现价</template
  35. >
  36. <template v-if="i[0]['kitType'] == 'LEASE'"
  37. >租赁押金</template
  38. >
  39. </el-col>
  40. </el-row>
  41. <div v-for="(con, index) in i" :key="index">
  42. <div @click="instrumentF(con)">
  43. <el-row class="option-row">
  44. <el-col :span="12">
  45. <i
  46. class="check_default"
  47. :class="[con.isStatus ? 'check_active' : '']"
  48. ></i>
  49. <div>
  50. {{ con.name }}
  51. </div>
  52. </el-col>
  53. <el-col :span="6">
  54. <del
  55. style="color: #808080; font-size: 12px;"
  56. v-if="con.kitType != 'owned'"
  57. >¥{{ con.marketPrice | moneyFormat }}</del
  58. >
  59. </el-col>
  60. <el-col :span="6">
  61. <span style="color: #1A1A1A" v-if="con.kitType == 'LEASE'"
  62. >¥{{
  63. Number((con.depositFee - con.coupon).toFixed(2))
  64. | moneyFormat
  65. }}</span
  66. >
  67. <span style="color: #1A1A1A" v-if="con.kitType == 'FREE'"
  68. >¥{{ 0 | moneyFormat }}</span
  69. >
  70. <span style="color: #1A1A1A" v-if="con.kitType == 'GROUP'"
  71. >¥{{
  72. Number((con.price - con.coupon).toFixed(2)) | moneyFormat
  73. }}</span
  74. >
  75. </el-col>
  76. </el-row>
  77. <el-row style="padding-left: 26px; margin-bottom: 5px;">
  78. <el-col :span="24">
  79. <div style="display: flex;align-items: center;">
  80. <div
  81. v-if="con.goodsList"
  82. style="font-size: 12px; color: #808080"
  83. >
  84. {{ con.goodsList[0].specification }}
  85. </div>
  86. <el-tag effect="plain" size="mini" style="margin-left: 10px; color: #ff4644;" @click.stop="onLookRule" v-if="con.groupRemissionCourseFee == 1 && con.kitType == 'GROUP'">课程减免</el-tag>
  87. </div>
  88. </el-col>
  89. </el-row>
  90. <!-- <el-row
  91. style="padding: 8px 0 8px 24px; border-top: 1px solid #F0F0F0;"
  92. v-if="con.childGoodsNames && con.kitType == 'GROUP'"
  93. >
  94. <el-col :span="24" style="font-size: 14px; color: #1A1A1A"
  95. >赠送辅件</el-col
  96. >
  97. <el-col>
  98. <span style="font-size: 12px; color: #808080;">{{
  99. con.childGoodsNames
  100. }}</span>
  101. </el-col>
  102. </el-row> -->
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </template>
  109. <script>
  110. export default {
  111. name: "instrumentModel",
  112. props: {
  113. courseViewType: [Number, String],
  114. instrumentResultList: Array,
  115. buyMaintenance: Boolean,
  116. trainSmallBg: String,
  117. toolsPackage: Array,
  118. organId: [Number, String, null]
  119. },
  120. methods: {
  121. // onLeBao() {
  122. // this.$emit('onLeBao')
  123. // },
  124. instrumentF(item) {
  125. this.$emit("instrumentF", item, 'INSTRUMENT');
  126. },
  127. onQuestions(item) {
  128. this.$emit("onQuestions", item);
  129. }
  130. },
  131. computed: {
  132. toolsPackages() {
  133. return this.toolsPackage[0].isStatus;
  134. }
  135. }
  136. };
  137. </script>
  138. <style lang="less" scoped>
  139. @import url("./signUpPayment.less");
  140. .icon_courseFee {
  141. margin-left: 9px;
  142. display: inline-block;
  143. width: 17px;
  144. height: 15px;
  145. background: url('../../../assets/images/musicGroup/icon_courseFee.png');
  146. background-size: 100%;
  147. }
  148. </style>