|
@@ -1,16 +1,41 @@
|
|
|
<template>
|
|
|
<div style="background: #F3F4F8;">
|
|
|
+ <h2 class="title">注册说明</h2>
|
|
|
<div class="noticeInfo">
|
|
|
- <h2>注册说明</h2>
|
|
|
1、您注册时所选择的乐团声部,即为乐团录取最终确认的声部,请您务必仔细填写;<br />
|
|
|
2、为避免因部分已注册家长放弃名额导致乐团声部失衡,系统设定各声部限额放大20%比例开放注册,系统自动按照完全完成注册的先后顺序确认录取名单,因此,超员后有可能出现无法注册的情况,请您理解。如果其他声部仍有名额,在您孩子的身体条件适合该乐器的前提下,我们将优先予以调配。
|
|
|
</div>
|
|
|
|
|
|
- <div class="section">
|
|
|
- <h2 class="title">{{ courseViewType == 1 ? '服务' : '乐团课程' }}</h2>
|
|
|
- <p style="font-size: 14px; padding: 2px 0; color: #f85043" v-if="serviceValidDate && courseViewType == 1">服务有效期:{{ serviceValidDate }}</p>
|
|
|
+ <template v-if="courseViewType == 2">
|
|
|
+ <h2 class="title" >学习工具包</h2>
|
|
|
+ <div class="yunTrain">
|
|
|
+ <img :src="trainBg" />
|
|
|
+ <div class="toolText">
|
|
|
+ <p class="toolTitle">器乐练习云教练
|
|
|
+ <i class="icon_video" @click="videoStatus = true"></i>
|
|
|
+ </p>
|
|
|
+ <p class="toolDate">有效期说明:自开课之日起6个月内有效</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template v-if="courseViewType == 1 && courseShowInfo.length > 0">
|
|
|
+ <div class="yunTrain" style="margin-top: 12px;">
|
|
|
+ <img :src="trainBg" />
|
|
|
+ <div class="toolText">
|
|
|
+ <p class="toolTitle">服务</p>
|
|
|
+ <p class="toolDate" v-if="serviceValidDate">服务有效期:{{ serviceValidDate }}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <h2 class="titles" style="margin-top: 12px;" v-if="courseViewType == 0">
|
|
|
+ <img :src="trainSmallBg" />
|
|
|
+ <span>乐团课程</span>
|
|
|
+ </h2>
|
|
|
+ <template class="section">
|
|
|
<!-- 所有不可选的课程合集 -->
|
|
|
- <template v-if="courseShowStatus && courseViewType == 1">
|
|
|
+ <div class="section" v-if="courseShowStatus && courseViewType == 1">
|
|
|
<el-row class="option-row" v-for="(item, index) in courseShowInfo" :class="[!item.isStudentOptional ? 'disabled' : '']" :key="index" @click.native="onCourseChange(item)">
|
|
|
<el-col :span="16">
|
|
|
<i class="check_default" :class="[item.isStatus ? 'check_active' : '']"></i>
|
|
@@ -23,16 +48,37 @@
|
|
|
<span style="color: #1A1A1A">¥{{ item.courseCurrentPrice | moneyFormat }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- </template>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="section" v-if="courseViewType == 2">
|
|
|
+ <div v-for="(item, index) in toolsPackage" :key="index">
|
|
|
+ <el-row class="option-row" style="padding-top: 0;" @click="onTrainChange(item)">
|
|
|
+ <el-col :span="18">
|
|
|
+ <i class="check_default" :class="[item.isStatus ? 'check_active' : '']"></i>
|
|
|
+ <span style="display: flex; align-items: center;">
|
|
|
+ <template>{{ item.name }}</template>
|
|
|
+ </span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <span style="color: #1A1A1A">¥{{ cloudTeacherFee | moneyFormat }}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row style="padding-left: .24rem;" v-if="item.childGoodsList">
|
|
|
+ <el-col v-for="(child, index) in item.childGoodsList" :key="child.name">
|
|
|
+ <span style="font-size: 12px; color: #aaaaaa;">{{ child.name }} {{item.childGoodsList.length - 1 == index ? '' : '、'}}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <el-row class="title-row" v-if="courseViewType == 0">
|
|
|
- <el-col :span="12">课程类型</el-col>
|
|
|
- <!-- <el-col :span="5" :offset="1" style="text-align: right;">原价</el-col> -->
|
|
|
- <el-col :span="11" :offset="1" style="text-align: right;">现价</el-col>
|
|
|
- </el-row>
|
|
|
<!-- 可选课程信息集合 -->
|
|
|
- <template v-for="(item, index) in courseInfo">
|
|
|
- <el-row class="option-row" :key="index" @click.native="onCourseChange(item)" v-if="courseViewType == 0">
|
|
|
+ <div class="section" v-if="courseViewType == 0">
|
|
|
+ <el-row class="title-row" v-if="courseViewType == 0">
|
|
|
+ <el-col :span="12">课程类型</el-col>
|
|
|
+ <!-- <el-col :span="5" :offset="1" style="text-align: right;">原价</el-col> -->
|
|
|
+ <el-col :span="11" :offset="1" style="text-align: right;">现价</el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="option-row" v-for="(item, index) in courseInfo" :key="index" @click.native="onCourseChange(item)">
|
|
|
<el-col :span="12">
|
|
|
<i class="check_default" :class="[item.isStatus ? 'check_active' : '', !item.isStudentOptional ? 'disabled' : '']"></i><template v-if="item.courseType == 'PROJECT'">{{ item.name }}</template><template v-else>{{ item.courseType | coursesType }}</template>
|
|
|
</el-col>
|
|
@@ -43,8 +89,8 @@
|
|
|
<span style="color: #1A1A1A">¥{{ item.courseCurrentPrice | moneyFormat }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- </template>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
|
|
|
<div class="section" v-if="courseInfo && courseInfo.length > 0 && isClickStatus && courseViewType == 1">
|
|
|
<h2 class="title">{{ '乐团课程' }}</h2>
|
|
@@ -69,15 +115,43 @@
|
|
|
</template>
|
|
|
</div>
|
|
|
|
|
|
- <div class="section" v-if="instrumentResult.length > 0">
|
|
|
- <h2 class="title">乐器</h2>
|
|
|
+ <h2 class="titles" v-if="instrumentResultList && instrumentResultList.length > 0">
|
|
|
+ <img :src="trainSmallBg" />
|
|
|
+ <span>乐器</span>
|
|
|
+ </h2>
|
|
|
+ <div class="section" v-if="instrumentResultList && instrumentResult.length > 0">
|
|
|
<div v-for="(i, index) in instrumentResultList" :key="index">
|
|
|
+ <template v-if="leBaoStatus && i[0].kitType == 'owned'">
|
|
|
+ <!-- <el-row class="title-row">
|
|
|
+ <el-col :span="12" :offset="1">服务项目</el-col>
|
|
|
+ <el-col :span="11" style="text-align: right;">现价</el-col>
|
|
|
+ </el-row> -->
|
|
|
+ <el-row class="option-row" style="padding-bottom: 10px; margin-top: 8px; border-top: 1px solid #F0F0F0;" @click.native="onLeBao">
|
|
|
+ <el-col :span="12">
|
|
|
+ <i class="check_default" :class="[ buyMaintenance ? 'check_active' : '' ]"></i>乐器保养(一年)<el-icon style="padding-left: 0;" name="question" @click.stop.native="onQuestions('instrument')" />
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :span="6">
|
|
|
+ <del style="color: #AAA; font-size: .12rem;">¥{{ 500 | moneyFormat }}</del>
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :span="11" :offset="1">
|
|
|
+ <span style="color: #1A1A1A">¥{{ 300 | moneyFormat }}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </template>
|
|
|
<el-row class="title-row">
|
|
|
<el-col :span="12">
|
|
|
- <template v-if="i[0]['kitType'] == 'GROUP'">团购乐器</template>
|
|
|
- <template v-if="i[0]['kitType'] == 'LEASE'">乐器租赁</template>
|
|
|
- <template v-if="i[0]['kitType'] == 'FREE'">免费使用</template>
|
|
|
- <template v-if="i[0]['kitType'] == 'owned'">自备乐器</template>
|
|
|
+ <template v-if="i[0]['kitType'] == 'GROUP'">
|
|
|
+ 团购乐器{{ courseViewType == 2 ? '(赠送辅件一套)' : null }}
|
|
|
+ </template>
|
|
|
+ <template v-if="i[0]['kitType'] == 'LEASE'">
|
|
|
+ 乐器租赁{{ courseViewType == 2 ? '(请自行购买辅件)' : null }}
|
|
|
+ </template>
|
|
|
+ <template v-if="i[0]['kitType'] == 'FREE'">
|
|
|
+ 免费乐器{{ courseViewType == 2 ? '(请自行购买辅件)' : null }}
|
|
|
+ </template>
|
|
|
+ <template v-if="i[0]['kitType'] == 'owned'">
|
|
|
+ 自备乐器{{ courseViewType == 2 ? '(请自行购买辅件)' : null }}
|
|
|
+ </template>
|
|
|
</el-col>
|
|
|
<el-col :span="5" :offset="1" style="text-align: right;">
|
|
|
<template v-if="['GROUP', 'LEASE', 'FREE'].includes(i[0]['kitType'])">原价</template>
|
|
@@ -88,49 +162,41 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row class="option-row" v-for="(con, index) in i" :key="index" @click.native="instrumentF(con)">
|
|
|
- <el-col :span="12">
|
|
|
- <i class="check_default" :class="[ con.checked ? 'check_active' : '' ]"></i>
|
|
|
- <div>
|
|
|
- {{ con.name }}
|
|
|
- <div v-if="con.goodsList" style="font-size: .12rem; color: #aaa">
|
|
|
- {{ con.goodsList[0].specification }}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <del style="color: #AAA; font-size: 12px;" v-if="con.kitType != 'owned'">¥{{ con.marketPrice | moneyFormat }}</del>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <span style="color: #1A1A1A" v-if="(con.kitType == 'LEASE')">¥{{ Number((con.depositFee - con.coupon).toFixed(2)) | moneyFormat }}</span>
|
|
|
- <span style="color: #1A1A1A" v-if="con.kitType == 'FREE'">¥{{ 0 | moneyFormat }}</span>
|
|
|
- <span style="color: #1A1A1A" v-if="con.kitType == 'GROUP'">¥{{ Number((con.price - con.coupon).toFixed(2)) | moneyFormat }}</span>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div v-if="leBaoStatus">
|
|
|
- <el-row class="title-row">
|
|
|
- <el-col :span="12" :offset="1">服务项目</el-col>
|
|
|
- <!-- <el-col :span="5" :offset="1" style="text-align: right;">原价</el-col> -->
|
|
|
- <el-col :span="11" style="text-align: right;">现价</el-col>
|
|
|
- </el-row>
|
|
|
- <el-row class="option-row" @click.native="onLeBao">
|
|
|
- <el-col :span="12">
|
|
|
- <i class="check_default" :class="[ buyMaintenance ? 'check_active' : '' ]"></i>乐器保养(一年)<el-icon style="padding-left: 0;" name="question" @click.stop.native="onQuestions('instrument')" />
|
|
|
- </el-col>
|
|
|
- <!-- <el-col :span="6">
|
|
|
- <del style="color: #AAA; font-size: .12rem;">¥{{ 500 | moneyFormat }}</del>
|
|
|
- </el-col> -->
|
|
|
- <el-col :span="11" :offset="1">
|
|
|
- <span style="color: #1A1A1A">¥{{ 300 | moneyFormat }}</span>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ <div v-for="(con, index) in i" :key="index" @click="instrumentF(con)">
|
|
|
+ <el-row class="option-row">
|
|
|
+ <el-col :span="12">
|
|
|
+ <i class="check_default" :class="[ con.checked ? 'check_active' : '' ]"></i>
|
|
|
+ <div>
|
|
|
+ {{ con.name }}
|
|
|
+ <div v-if="con.goodsList" style="font-size: 12px; color: #aaa">
|
|
|
+ {{ con.goodsList[0].specification }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <del style="color: #AAA; font-size: 12px;" v-if="con.kitType != 'owned'">¥{{ con.marketPrice | moneyFormat }}</del>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <span style="color: #1A1A1A" v-if="(con.kitType == 'LEASE')">¥{{ Number((con.depositFee - con.coupon).toFixed(2)) | moneyFormat }}</span>
|
|
|
+ <span style="color: #1A1A1A" v-if="con.kitType == 'FREE'">¥{{ 0 | moneyFormat }}</span>
|
|
|
+ <span style="color: #1A1A1A" v-if="con.kitType == 'GROUP'">¥{{ Number((con.price - con.coupon).toFixed(2)) | moneyFormat }}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <van-row style="padding-left: 24px; padding-top: 8px; border-top: 1px solid #F0F0F0;" v-if="con.childGoodsList">
|
|
|
+ <van-col span="24" style="font-size: 14px; color: #1A1A1A">赠送辅件</van-col>
|
|
|
+ <van-col v-for="(child, index) in con.childGoodsList" :key="child.id">
|
|
|
+ <span style="font-size: 12px; color: #aaaaaa;">{{ child.name }} {{con.childGoodsList.length - 1 == index ? '' : '、'}}</span>
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div class="section" v-if="accessOries.length > 0" key="accessOries">
|
|
|
- <h2 class="title">辅件</h2>
|
|
|
+ <h2 class="titles" v-if="accessOries.length > 0 && accessIsShowStatus">
|
|
|
+ <img :src="trainSmallBg" />
|
|
|
+ <span>辅件</span>
|
|
|
+ </h2>
|
|
|
+ <div class="section" v-if="accessOries.length > 0 && accessIsShowStatus" key="accessOries">
|
|
|
<el-row class="title-row">
|
|
|
<el-col :span="12">服务项目</el-col>
|
|
|
<el-col :span="5" :offset="1" style="text-align: right;">原价</el-col>
|
|
@@ -200,6 +266,16 @@
|
|
|
|
|
|
<a class="btn-submit">购买</a>
|
|
|
</div>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ title="视屏"
|
|
|
+ :visible.sync="videoStatus"
|
|
|
+ :modal-append-to-body="false"
|
|
|
+ :append-to-body="true"
|
|
|
+ class="videoDialog"
|
|
|
+ width="30%">
|
|
|
+ <video style="width: 100%;" v-if="videoStatus" controls="controls" class="ql-video" src="https://daya.ks3-cn-beijing.ksyun.com/202105/SWmqmvW.mp4" :poster="require('../../../assets/images/musicGroup/video_bg.png')" />
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -216,6 +292,9 @@ export default {
|
|
|
data() {
|
|
|
const query = this.$route.query
|
|
|
return {
|
|
|
+ videoStatus: false,
|
|
|
+ trainBg: require('../../../assets/images/musicGroup/yunTrain_bg.png'),
|
|
|
+ trainSmallBg: require('../../../assets/images/musicGroup/yunTrain_small_bg.png'),
|
|
|
musicGroupId: query.id,
|
|
|
result: {}, // 返回结果
|
|
|
instrument: {}, // 乐器类型
|
|
@@ -224,6 +303,7 @@ export default {
|
|
|
balance: 0, // 余额
|
|
|
needPrice: 0, // 还需支付
|
|
|
payType: false, // 是否余额支付
|
|
|
+ cloudTeacherFee: 0, // 云教练费用
|
|
|
orderInfo: {
|
|
|
marketPrice: 0,
|
|
|
amount: 0, // 现价总金额
|
|
@@ -239,6 +319,11 @@ export default {
|
|
|
goodsPrice: 0, // 乐器现价
|
|
|
goodsMarketPrice: 0, // 乐器原价
|
|
|
}, // 金额列表,金额计算
|
|
|
+ toolsPackage: [{
|
|
|
+ isStatus: true,
|
|
|
+ name: '练习系统(六个月)',
|
|
|
+ childGoodsList: [{ name: '同步乐团训练教程、五线谱跟播、演奏指法跟播、演奏速度自定义、任选小节循环播放、原音/伴奏一键切换' }]
|
|
|
+ }], // 学习工具包
|
|
|
courseInfo: null, // 课程信息
|
|
|
musicGroupSubject: null, // 基本信息
|
|
|
instrumentResult: [], //乐器
|
|
@@ -247,6 +332,7 @@ export default {
|
|
|
authStatus: false,
|
|
|
buyList: [], // 信息列表
|
|
|
ids: [],
|
|
|
+ instrumentResultList: [],
|
|
|
chargeTypeId: null,
|
|
|
paymentStatus: null,
|
|
|
paymentPattern: null,
|
|
@@ -259,6 +345,7 @@ export default {
|
|
|
buyMaintenance: false, // 是否开启乐保
|
|
|
isClickStatus: false,
|
|
|
accessStatus: false, // 是否有辅件乐保
|
|
|
+ accessIsShowStatus: false, // 是否显示辅件 true 显示, false 不显示
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
@@ -284,6 +371,7 @@ export default {
|
|
|
if (result.code == 200) {
|
|
|
let tempResult = result.data
|
|
|
this.courseViewType = tempResult.musicGroup.courseViewType || 0
|
|
|
+ this.cloudTeacherFee = tempResult.cloudTeacherFee || 0
|
|
|
this.paymentPattern = 2
|
|
|
if(tempResult.musicGroupPaymentCalender) {
|
|
|
this.paymentPattern = tempResult.musicGroupPaymentCalender.paymentPattern
|
|
@@ -460,10 +548,17 @@ export default {
|
|
|
|
|
|
// 乐保服务初始化
|
|
|
this.instrumentResult.forEach(item => {
|
|
|
- if(item.checked && item.kitType == "GROUP" && !accessStatus) {
|
|
|
+ if(item.checked && item.kitType != "owned" && !accessStatus) {
|
|
|
this.leBaoStatus = true
|
|
|
this.buyMaintenance = true
|
|
|
}
|
|
|
+
|
|
|
+ if(item.checked && item.kitType != "GROUP" && this.courseViewType == 2) {
|
|
|
+ this.accessIsShowStatus = true
|
|
|
+ }
|
|
|
+ if(this.courseViewType != 2) {
|
|
|
+ this.accessIsShowStatus = true
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
}
|
|
@@ -510,6 +605,21 @@ export default {
|
|
|
this.calcPrice()
|
|
|
}
|
|
|
},
|
|
|
+ onTrainChange(item) {
|
|
|
+ // 练习系统可选
|
|
|
+ item.isStatus = !item.isStatus
|
|
|
+ let courseShowInfo = this.courseShowInfo
|
|
|
+ courseShowInfo.forEach(course => {
|
|
|
+ course.isStatus = item.isStatus
|
|
|
+ })
|
|
|
+ let cif = this.courseInfo
|
|
|
+ cif.forEach(c => {
|
|
|
+ if(!c.isStudentOptional) {
|
|
|
+ c.isStatus = item.isStatus
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.calcPrice()
|
|
|
+ },
|
|
|
onClickCheckbox() { //是否使用余额支付
|
|
|
if (!this.payType) {
|
|
|
if (this.orderInfo.amount >= this.balance) {
|
|
@@ -543,6 +653,14 @@ export default {
|
|
|
this.buyMaintenance = false
|
|
|
}
|
|
|
}
|
|
|
+ // 云教练且选择自备则不显示辅件
|
|
|
+ if(this.courseViewType == 2) {
|
|
|
+ if(item.kitType != "GROUP") {
|
|
|
+ this.accessIsShowStatus = true
|
|
|
+ } else {
|
|
|
+ this.accessIsShowStatus = false
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
// 重新计算金额
|
|
|
this.calcPrice()
|
|
@@ -608,7 +726,9 @@ export default {
|
|
|
|
|
|
csi.forEach(item => {
|
|
|
if (item.isStatus) {
|
|
|
- musicClassFee += parseFloat(item.courseCurrentPrice)
|
|
|
+ if(this.courseViewType != 2) {
|
|
|
+ musicClassFee += parseFloat(item.courseCurrentPrice)
|
|
|
+ }
|
|
|
// marketPrice += parseFloat(item.courseOriginalPrice)
|
|
|
if (item.id > 0) {
|
|
|
courseKeys.push(item.id)
|
|
@@ -633,7 +753,7 @@ export default {
|
|
|
if (ir.length > 0) {
|
|
|
ir.forEach(item => {
|
|
|
if (item.checked) {
|
|
|
- if (item.name != '自备') {
|
|
|
+ if (item.name != '自备乐器') {
|
|
|
contractGoodsIds += item.goodsIdList
|
|
|
}
|
|
|
if (item.kitType == 'FREE') {
|
|
@@ -641,7 +761,7 @@ export default {
|
|
|
couponPrice = 0 // 优惠金额
|
|
|
} else if (item.kitType == 'LEASE') {
|
|
|
couponPrice = item.coupon // 优惠金额
|
|
|
- if (item.name != '自备') {
|
|
|
+ if (item.name != '自备乐器') {
|
|
|
amount += item.depositFee
|
|
|
goodsPrice += item.depositFee
|
|
|
} else {
|
|
@@ -653,7 +773,7 @@ export default {
|
|
|
couponPrice = item.coupon ? item.coupon : 0
|
|
|
}
|
|
|
if (item.kitType == 'LEASE') {
|
|
|
- if (item.name != '自备') {
|
|
|
+ if (item.name != '自备乐器') {
|
|
|
marketPrice += parseFloat(item.marketPrice)
|
|
|
goodsMarketPrice += item.depositFee
|
|
|
}
|
|
@@ -718,7 +838,7 @@ export default {
|
|
|
// 辅件
|
|
|
if (this.accessOries.length > 0) {
|
|
|
this.accessOries.forEach(item => {
|
|
|
- if (item.checked) {
|
|
|
+ if (item.checked && this.accessIsShowStatus) {
|
|
|
tempAccessPrice += parseFloat(item.price)
|
|
|
amount += parseFloat(item.price)
|
|
|
if (item.goodsList && item.goodsList.length > 0) {
|
|
@@ -754,12 +874,12 @@ export default {
|
|
|
this.errorPrice = true // 订单金额是否异常
|
|
|
}
|
|
|
|
|
|
- if (amount - tempCourseFee - musicClassFee > 0) {
|
|
|
- ids.push(1, 2)
|
|
|
- }
|
|
|
- if (parseFloat(tempCourseFee + musicClassFee) > 0) {
|
|
|
- ids.push(3, 4, 5)
|
|
|
- }
|
|
|
+ // if (amount - tempCourseFee - musicClassFee > 0) {
|
|
|
+ // ids.push(1, 2)
|
|
|
+ // }
|
|
|
+ // if (parseFloat(tempCourseFee + musicClassFee) > 0) {
|
|
|
+ // ids.push(3, 4, 5)
|
|
|
+ // }
|
|
|
this.ids = ids
|
|
|
// 计算是否使用过余额
|
|
|
if (this.payType) {
|
|
@@ -798,58 +918,107 @@ export default {
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|
|
|
-.noticeInfo {
|
|
|
- line-height: 1.8;
|
|
|
- h2 {
|
|
|
- font-size: 18px;
|
|
|
- color: #1a1a1a;
|
|
|
- line-height: 28px;
|
|
|
- height: 26px !important;
|
|
|
- font-weight: bold;
|
|
|
- }
|
|
|
|
|
|
+.noticeInfo {
|
|
|
+ margin: 0 12px;
|
|
|
position: relative;
|
|
|
background: #fff;
|
|
|
- padding: 0 16px 10px;
|
|
|
+ padding: 10px 12px;
|
|
|
font-size: 14px;
|
|
|
color: #808080;
|
|
|
- margin-bottom: 10px;
|
|
|
+ border-radius: 10px;
|
|
|
+ line-height: 1.5;
|
|
|
}
|
|
|
|
|
|
-.section {
|
|
|
- padding: 16px 16px 10px;
|
|
|
- background: #fff;
|
|
|
- margin-bottom: 10px;
|
|
|
-
|
|
|
- >.title {
|
|
|
- font-size: 20px;
|
|
|
- line-height: 28px;
|
|
|
- height: 26px !important;
|
|
|
- font-weight: bold;
|
|
|
-
|
|
|
- &::before {
|
|
|
- content: " ";
|
|
|
- width: 4px;
|
|
|
- height: 15px;
|
|
|
- background: #14928a;
|
|
|
+.yunTrain {
|
|
|
+ position: relative;
|
|
|
+ font-size: 0;
|
|
|
+ margin: 0 12px;
|
|
|
+ img {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ .toolText {
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ padding: 0 10px;
|
|
|
+ }
|
|
|
+ .toolTitle {
|
|
|
+ font-size: 16px;
|
|
|
+ color: #C1735D;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding-top: 2px;
|
|
|
+ padding-bottom: 2px;
|
|
|
+ .icon_video {
|
|
|
+ margin-left: 5px;
|
|
|
display: inline-block;
|
|
|
- margin-right: 7px;
|
|
|
- border-radius: 8px;
|
|
|
+ width: 16px;
|
|
|
+ height: 16px;
|
|
|
+ background: url('../../../assets/images/musicGroup/video_btn.png');
|
|
|
+ background-size: contain;
|
|
|
}
|
|
|
}
|
|
|
+ .toolDate {
|
|
|
+ font-size: 12px;
|
|
|
+ color: #808080;
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- .indate {
|
|
|
- font-size: 14px;
|
|
|
- padding: 6px 0;
|
|
|
- display: flex;
|
|
|
- // justify-content: space-between;
|
|
|
- justify-content: flex-end;
|
|
|
+.title {
|
|
|
+ font-size: 18px;
|
|
|
+ line-height: 28px;
|
|
|
+ font-weight: bold;
|
|
|
+ padding-bottom: 5px;
|
|
|
+ padding: 12px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 0;
|
|
|
+ &::before {
|
|
|
+ content: " ";
|
|
|
+ width: 4px;
|
|
|
+ height: 15px;
|
|
|
+ background: #01C1B5;
|
|
|
+ display: inline-block;
|
|
|
+ margin-right: 7px;
|
|
|
+ border-radius: 8px;
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- span {
|
|
|
- color: #fa101d;
|
|
|
- }
|
|
|
+.titles {
|
|
|
+ position: relative;
|
|
|
+ font-size: 0;
|
|
|
+ margin: 0 12px;
|
|
|
+ img {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ & > span {
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ padding: 0 10px;
|
|
|
+ font-size: 16px;
|
|
|
+ color: #C1735D;
|
|
|
+ font-weight: 500;
|
|
|
}
|
|
|
}
|
|
|
+.section {
|
|
|
+ margin: 0 12px;
|
|
|
+ padding: 12px 12px 10px;
|
|
|
+ background: #fff;
|
|
|
+ margin-bottom: 12px;
|
|
|
+ border-bottom-left-radius: 10px;
|
|
|
+ border-bottom-right-radius: 10px;
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
.disabled {
|
|
|
opacity: 0.5;
|
|
@@ -898,10 +1067,9 @@ export default {
|
|
|
display: inline-block;
|
|
|
font-size: 18px;
|
|
|
color: #fff;
|
|
|
- background: #f85043;
|
|
|
+ background: #01C1B5;
|
|
|
border-radius: 100px;
|
|
|
- box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.19);
|
|
|
- padding: 8px 46px;
|
|
|
+ padding: 8px 36px;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1090,4 +1258,10 @@ export default {
|
|
|
.fontBold {
|
|
|
font-weight: bold;
|
|
|
}
|
|
|
+.videoDialog {
|
|
|
+ /deep/.el-dialog__body {
|
|
|
+ padding: 0;
|
|
|
+ font-size: 0;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|