|
@@ -6,9 +6,7 @@
|
|
|
<div class="section__header">
|
|
|
<div class="container">
|
|
|
<el-breadcrumb separator="/">
|
|
|
- <el-breadcrumb-item :to="{ path: '/index' }"
|
|
|
- >首页</el-breadcrumb-item
|
|
|
- >
|
|
|
+ <el-breadcrumb-item :to="{ path: '/index' }">首页</el-breadcrumb-item>
|
|
|
<el-breadcrumb-item>商品详情</el-breadcrumb-item>
|
|
|
</el-breadcrumb>
|
|
|
</div>
|
|
@@ -18,10 +16,7 @@
|
|
|
<div class="goods-info">
|
|
|
<div class="goods-info__header">
|
|
|
<div class="img">
|
|
|
- <img
|
|
|
- :src="$tools.splitImgHost(goodsDetail.coverUrl, false)"
|
|
|
- alt=""
|
|
|
- />
|
|
|
+ <img :src="$tools.splitImgHost(goodsDetail.coverUrl, false)" alt="" />
|
|
|
</div>
|
|
|
<div class="text">
|
|
|
<div class="title">
|
|
@@ -31,28 +26,17 @@
|
|
|
{{ courseList.length }} 课程
|
|
|
{{ goodsDetail.classHours || "-" }}学时
|
|
|
</div>
|
|
|
- <div class="price" v-if="goodsDetail.standPrice === 0">
|
|
|
- 免费
|
|
|
- </div>
|
|
|
- <div class="price" v-else>
|
|
|
- ¥{{ goodsDetail.standPrice | toFixed }}
|
|
|
+ <div class="price"
|
|
|
+ v-if="!goodsDetail.specTemplateId || (!goodsDetail.maxPrice && !goodsDetail.minPrice)">{{
|
|
|
+ goodsDetail.standPrice === 0 ?
|
|
|
+ '免费' : `¥${goodsDetail.standPrice}`
|
|
|
+ }}</div>
|
|
|
+ <div v-else class="price"><span><i>¥</i>{{ goodsDetail.minPrice }}</span><span
|
|
|
+ v-if="goodsDetail.minPrice != goodsDetail.maxPrice">-<i>¥</i>{{ goodsDetail.maxPrice }}</span>
|
|
|
</div>
|
|
|
<div class="btns">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- round
|
|
|
- class="buynow"
|
|
|
- @click="buyNow()"
|
|
|
- >立即购买</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- round
|
|
|
- plain
|
|
|
- class="add"
|
|
|
- @click="addCart()"
|
|
|
- >加入购物车</el-button
|
|
|
- >
|
|
|
+ <el-button type="primary" round class="buynow" @click="buyNow()">立即购买</el-button>
|
|
|
+ <el-button type="primary" round plain class="add" @click="addCart()">加入购物车</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -64,132 +48,73 @@
|
|
|
<el-tab-pane label="章节目录" name="2">
|
|
|
<div slot="label" style="position: relative">
|
|
|
<span class="label">章节目录</span>
|
|
|
- <span v-if="listenConfigList.length" class="view-note"
|
|
|
- >试看</span
|
|
|
- >
|
|
|
+ <span v-if="listenConfigList.length" class="view-note">试看</span>
|
|
|
</div>
|
|
|
|
|
|
<div class="goods-menu clearfix">
|
|
|
<div class="left-box">
|
|
|
- <div
|
|
|
- v-for="(courseItem, tindex) in goodsTeacher"
|
|
|
- :key="tindex + 'one'"
|
|
|
- >
|
|
|
+ <div v-for="(courseItem, tindex) in goodsTeacher" :key="tindex + 'one'">
|
|
|
<div class="left-box__body">
|
|
|
- <template
|
|
|
- v-for="(course, cindex) in courseItem.courseList"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="course-list-item"
|
|
|
- v-if="course.show == 1"
|
|
|
- :key="cindex + 'two'"
|
|
|
- >
|
|
|
+ <template v-for="(course, cindex) in courseItem.courseList">
|
|
|
+ <div class="course-list-item" v-if="course.show == 1" :key="cindex + 'two'">
|
|
|
<div class="doubles">
|
|
|
- <div
|
|
|
- class="course-list-item__title"
|
|
|
- @click="openCourse(course)"
|
|
|
- >
|
|
|
- <i
|
|
|
- :class="{
|
|
|
- 'el-icon-caret-right': !course.showList,
|
|
|
- 'el-icon-caret-bottom': course.showList,
|
|
|
- }"
|
|
|
- ></i>
|
|
|
+ <div class="course-list-item__title" @click="openCourse(course)">
|
|
|
+ <i :class="{
|
|
|
+ 'el-icon-caret-right': !course.showList,
|
|
|
+ 'el-icon-caret-bottom': course.showList,
|
|
|
+ }"></i>
|
|
|
{{ course.courseName }}
|
|
|
</div>
|
|
|
- <div
|
|
|
- v-if="
|
|
|
- courseItem.teaList &&
|
|
|
- courseItem.teaList.length > 0
|
|
|
- "
|
|
|
- class="teacher_names"
|
|
|
- >
|
|
|
- <div
|
|
|
- v-for="(tea, index) in courseItem.teaList"
|
|
|
- :key="index + 'three'"
|
|
|
- class="names"
|
|
|
+ <div v-if="
|
|
|
+ courseItem.teaList &&
|
|
|
+ courseItem.teaList.length > 0
|
|
|
+ " class="teacher_names">
|
|
|
+ <div v-for="(tea, index) in courseItem.teaList" :key="index + 'three'" class="names"
|
|
|
:class="{
|
|
|
nactive: States[tindex] == index,
|
|
|
- }"
|
|
|
- @click="switchTeacher(tea, index, tindex)"
|
|
|
- >
|
|
|
+ }" @click="switchTeacher(tea, index, tindex)">
|
|
|
{{ tea.aliasName }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<template v-if="course.showList">
|
|
|
- <div
|
|
|
- class="item"
|
|
|
- v-for="(item, index) in course.list"
|
|
|
- :key="index"
|
|
|
- >
|
|
|
+ <div class="item" v-for="(item, index) in course.list" :key="index">
|
|
|
<template v-if="item.type == 1">
|
|
|
- <div
|
|
|
- class="item__title"
|
|
|
- @click="openModule(item)"
|
|
|
- >
|
|
|
- <i
|
|
|
- :class="{
|
|
|
- 'el-icon-caret-right':
|
|
|
- !item.showList,
|
|
|
- 'el-icon-caret-bottom':
|
|
|
- item.showList,
|
|
|
- }"
|
|
|
- ></i>
|
|
|
+ <div class="item__title" @click="openModule(item)">
|
|
|
+ <i :class="{
|
|
|
+ 'el-icon-caret-right':
|
|
|
+ !item.showList,
|
|
|
+ 'el-icon-caret-bottom':
|
|
|
+ item.showList,
|
|
|
+ }"></i>
|
|
|
{{ item.name }}
|
|
|
</div>
|
|
|
<div class="item__content">
|
|
|
- <div
|
|
|
- class="bank-chapter"
|
|
|
- v-if="item.showList"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="bank-chapter__item"
|
|
|
- v-for="(
|
|
|
+ <div class="bank-chapter" v-if="item.showList">
|
|
|
+ <div class="bank-chapter__item" v-for="(
|
|
|
chapter, chapterIndex
|
|
|
- ) in item.list"
|
|
|
- :key="chapterIndex"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="bank-chapter__item__text"
|
|
|
- @click="openChapter(chapter)"
|
|
|
- >
|
|
|
- <i
|
|
|
- :class="{
|
|
|
- 'el-icon-caret-right':
|
|
|
- !chapter.showList,
|
|
|
- 'el-icon-caret-bottom':
|
|
|
- chapter.showList,
|
|
|
- }"
|
|
|
- ></i
|
|
|
- >{{ chapter.name }}
|
|
|
+ ) in item.list" :key="chapterIndex">
|
|
|
+ <div class="bank-chapter__item__text" @click="openChapter(chapter)">
|
|
|
+ <i :class="{
|
|
|
+ 'el-icon-caret-right':
|
|
|
+ !chapter.showList,
|
|
|
+ 'el-icon-caret-bottom':
|
|
|
+ chapter.showList,
|
|
|
+ }"></i>{{ chapter.name }}
|
|
|
</div>
|
|
|
|
|
|
- <div
|
|
|
- class="bank-section"
|
|
|
- v-if="chapter.showList"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="bank-section__item"
|
|
|
- v-for="(
|
|
|
+ <div class="bank-section" v-if="chapter.showList">
|
|
|
+ <div class="bank-section__item" v-for="(
|
|
|
section, sectionIndex
|
|
|
- ) in chapter.list"
|
|
|
- :key="sectionIndex"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="
|
|
|
+ ) in chapter.list" :key="sectionIndex">
|
|
|
+ <div class="
|
|
|
bank-section__item__text
|
|
|
- "
|
|
|
- >
|
|
|
+ ">
|
|
|
{{ section.name }}
|
|
|
</div>
|
|
|
- <div
|
|
|
- v-if="section.tryListen"
|
|
|
- @click="
|
|
|
- toDo(section, item.courseId)
|
|
|
- "
|
|
|
- class="btn"
|
|
|
- >
|
|
|
+ <div v-if="section.tryListen" @click="
|
|
|
+ toDo(section, item.courseId)
|
|
|
+ " class="btn">
|
|
|
试看
|
|
|
</div>
|
|
|
</div>
|
|
@@ -203,46 +128,27 @@
|
|
|
<div class="item__content">
|
|
|
<div class="bank-chapter">
|
|
|
<div class="bank-chapter__item">
|
|
|
- <div
|
|
|
- class="bank-chapter__item__text"
|
|
|
- @click="openChapter(item)"
|
|
|
- >
|
|
|
- <i
|
|
|
- :class="{
|
|
|
- 'el-icon-caret-right':
|
|
|
- !item.showList,
|
|
|
- 'el-icon-caret-bottom':
|
|
|
- item.showList,
|
|
|
- }"
|
|
|
- ></i
|
|
|
- >{{ item.name }}
|
|
|
+ <div class="bank-chapter__item__text" @click="openChapter(item)">
|
|
|
+ <i :class="{
|
|
|
+ 'el-icon-caret-right':
|
|
|
+ !item.showList,
|
|
|
+ 'el-icon-caret-bottom':
|
|
|
+ item.showList,
|
|
|
+ }"></i>{{ item.name }}
|
|
|
</div>
|
|
|
|
|
|
- <div
|
|
|
- class="bank-section"
|
|
|
- v-if="item.showList"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="bank-section__item"
|
|
|
- v-for="(
|
|
|
+ <div class="bank-section" v-if="item.showList">
|
|
|
+ <div class="bank-section__item" v-for="(
|
|
|
section, sectionIndex
|
|
|
- ) in item.list"
|
|
|
- :key="sectionIndex"
|
|
|
- >
|
|
|
- <div
|
|
|
- class="
|
|
|
+ ) in item.list" :key="sectionIndex">
|
|
|
+ <div class="
|
|
|
bank-section__item__text
|
|
|
- "
|
|
|
- >
|
|
|
+ ">
|
|
|
{{ section.name }}
|
|
|
</div>
|
|
|
- <div
|
|
|
- v-if="section.tryListen"
|
|
|
- @click="
|
|
|
- toDo(section, item.courseId)
|
|
|
- "
|
|
|
- class="btn"
|
|
|
- >
|
|
|
+ <div v-if="section.tryListen" @click="
|
|
|
+ toDo(section, item.courseId)
|
|
|
+ " class="btn">
|
|
|
试看
|
|
|
</div>
|
|
|
</div>
|
|
@@ -256,16 +162,10 @@
|
|
|
<div class="item__content">
|
|
|
<div class="bank-section">
|
|
|
<div class="bank-section__item">
|
|
|
- <div
|
|
|
- class="bank-section__item__text"
|
|
|
- >
|
|
|
+ <div class="bank-section__item__text">
|
|
|
{{ item.name }}
|
|
|
</div>
|
|
|
- <div
|
|
|
- v-if="item.tryListen"
|
|
|
- @click="toDo(item, item.courseId)"
|
|
|
- class="btn"
|
|
|
- >
|
|
|
+ <div v-if="item.tryListen" @click="toDo(item, item.courseId)" class="btn">
|
|
|
试看
|
|
|
</div>
|
|
|
</div>
|
|
@@ -285,13 +185,9 @@
|
|
|
<a class="more" @click="comeMoreList">更多></a>
|
|
|
</div>
|
|
|
<ul class="list" v-if="recommendList.goodsList">
|
|
|
- <li
|
|
|
- class="course-item"
|
|
|
- v-for="(itemy, index) in compyRecommend(
|
|
|
- recommendList.goodsList
|
|
|
- )"
|
|
|
- :key="index"
|
|
|
- >
|
|
|
+ <li class="course-item" v-for="(itemy, index) in compyRecommend(
|
|
|
+ recommendList.goodsList
|
|
|
+ )" :key="index">
|
|
|
<GoodsItem :item="itemy"></GoodsItem>
|
|
|
<!-- <div
|
|
|
class="course-item__img"
|
|
@@ -322,26 +218,16 @@
|
|
|
</div>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="学员须知" name="3">
|
|
|
- <div
|
|
|
- v-html="
|
|
|
- goodsDetail.buyNote &&
|
|
|
- goodsDetail.buyNote.replace(/\n|\r\n/g, '<br>')
|
|
|
- "
|
|
|
- ></div>
|
|
|
+ <div v-html="
|
|
|
+ goodsDetail.buyNote &&
|
|
|
+ goodsDetail.buyNote.replace(/\n|\r\n/g, '<br>')
|
|
|
+ "></div>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane
|
|
|
- label="赠送题卷"
|
|
|
- name="4"
|
|
|
- v-if="freeMenuList.length > 0"
|
|
|
- >
|
|
|
+ <el-tab-pane label="赠送题卷" name="4" v-if="freeMenuList.length > 0">
|
|
|
<div class="goods-menu clearfix">
|
|
|
<div class="left-box">
|
|
|
<div class="left-box__body">
|
|
|
- <div
|
|
|
- class="course-list-item"
|
|
|
- v-for="(course, index) in freeMenuList"
|
|
|
- :key="index"
|
|
|
- >
|
|
|
+ <div class="course-list-item" v-for="(course, index) in freeMenuList" :key="index">
|
|
|
<div class="item__content">
|
|
|
<div class="bank-section">
|
|
|
<div class="bank-section__item">
|
|
@@ -360,13 +246,9 @@
|
|
|
<a class="more" @click="comeMoreList">更多></a>
|
|
|
</div>
|
|
|
<ul class="list" v-if="recommendList.goodsList">
|
|
|
- <li
|
|
|
- class="course-item"
|
|
|
- v-for="(itemy, index) in compyRecommend(
|
|
|
- recommendList.goodsList
|
|
|
- )"
|
|
|
- :key="index"
|
|
|
- >
|
|
|
+ <li class="course-item" v-for="(itemy, index) in compyRecommend(
|
|
|
+ recommendList.goodsList
|
|
|
+ )" :key="index">
|
|
|
<GoodsItem :item="itemy"></GoodsItem>
|
|
|
</li>
|
|
|
</ul>
|
|
@@ -379,27 +261,20 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div
|
|
|
- class="section__footer"
|
|
|
- v-if="
|
|
|
- recommendList.goodsList &&
|
|
|
- recommendList.goodsList.length &&
|
|
|
- (activeName == 1 || activeName == 3)
|
|
|
- "
|
|
|
- >
|
|
|
+ <div class="section__footer" v-if="
|
|
|
+ recommendList.goodsList &&
|
|
|
+ recommendList.goodsList.length &&
|
|
|
+ (activeName == 1 || activeName == 3)
|
|
|
+ ">
|
|
|
<div class="recommend">
|
|
|
<div class="recommend__header">
|
|
|
<div class="title">相关推荐</div>
|
|
|
</div>
|
|
|
<div class="recommend__body">
|
|
|
<ul class="list clearfix">
|
|
|
- <li
|
|
|
- class="recommend-item"
|
|
|
- v-for="(itemy, index) in compyRecommend(
|
|
|
- recommendList.goodsList
|
|
|
- )"
|
|
|
- :key="index"
|
|
|
- >
|
|
|
+ <li class="recommend-item" v-for="(itemy, index) in compyRecommend(
|
|
|
+ recommendList.goodsList
|
|
|
+ )" :key="index">
|
|
|
<GoodsItem :item="itemy"></GoodsItem>
|
|
|
</li>
|
|
|
</ul>
|
|
@@ -413,14 +288,8 @@
|
|
|
</div>
|
|
|
</section>
|
|
|
|
|
|
- <el-dialog
|
|
|
- width="800px"
|
|
|
- class="video-modal"
|
|
|
- :visible.sync="videoModalShow"
|
|
|
- :close-on-click-modal="false"
|
|
|
- :close-on-press-escape="false"
|
|
|
- :show-close="false"
|
|
|
- >
|
|
|
+ <el-dialog width="800px" class="video-modal" :visible.sync="videoModalShow" :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false" :show-close="false">
|
|
|
<div class="video-modal__content">
|
|
|
<a class="video-modal__close" @click="videoModalClose()">X</a>
|
|
|
|
|
@@ -437,77 +306,39 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog
|
|
|
- width="800px"
|
|
|
- class="select-class"
|
|
|
- :visible.sync="selectClassModal"
|
|
|
- :before-close="cancelClassModal"
|
|
|
- >
|
|
|
+ <el-dialog width="800px" class="select-class" :visible.sync="selectClassModal" :before-close="cancelClassModal">
|
|
|
<div class="select-class__content">
|
|
|
- <div
|
|
|
- class="selection"
|
|
|
- v-if="
|
|
|
- goodsDetail.templateType == 'class' && goodsDetail.goodsType == 1
|
|
|
- "
|
|
|
- >
|
|
|
- <el-select
|
|
|
- class="select"
|
|
|
- v-model="gradeId"
|
|
|
- placeholder="请选择班级"
|
|
|
- size="small"
|
|
|
- @click.native="selectClick(goodsDetail, 'class', goodsId)"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in gradeList"
|
|
|
- :key="item.gradeId"
|
|
|
- :disabled="
|
|
|
- item.studentNum > 0 && item.studentNum == item.studentUpper
|
|
|
- "
|
|
|
- :label="
|
|
|
- item.classEndTime
|
|
|
- ? `${item.className} 有效期至:${$tools.timestampToTime(
|
|
|
- item.classEndTime
|
|
|
- )},本班还剩${$tools.GetRTime(
|
|
|
- item.classEndTime
|
|
|
- )}天将结束学习`
|
|
|
- : `${item.className}`
|
|
|
- "
|
|
|
- :value="item.gradeId"
|
|
|
- >
|
|
|
+ <div class="selection" v-if="
|
|
|
+ goodsDetail.templateType == 'class' && goodsDetail.goodsType == 1
|
|
|
+ ">
|
|
|
+ <el-select class="select" v-model="gradeId" placeholder="请选择班级" size="small"
|
|
|
+ @click.native="selectClick(goodsDetail, 'class', goodsId)">
|
|
|
+ <el-option v-for="item in gradeList" :key="item.gradeId" :disabled="
|
|
|
+ item.studentNum > 0 && item.studentNum == item.studentUpper
|
|
|
+ " :label="
|
|
|
+ item.classEndTime
|
|
|
+ ? `${item.className} 有效期至:${$tools.timestampToTime(
|
|
|
+ item.classEndTime
|
|
|
+ )},本班还剩${$tools.GetRTime(
|
|
|
+ item.classEndTime
|
|
|
+ )}天将结束学习`
|
|
|
+ : `${item.className}`
|
|
|
+" :value="item.gradeId">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
|
|
|
- <div
|
|
|
- class="selection"
|
|
|
- v-if="
|
|
|
- goodsDetail.templateType == 'apply' && goodsDetail.goodsType == 1
|
|
|
- "
|
|
|
- >
|
|
|
- <el-select
|
|
|
- v-model="educationId"
|
|
|
- placeholder="请选择考期"
|
|
|
- size="small"
|
|
|
- @click.native="selectClick(goodsDetail, 'exam')"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in examineList"
|
|
|
- :key="item.educationId"
|
|
|
- :label="item.examineName"
|
|
|
- :value="item.educationId"
|
|
|
- >
|
|
|
+ <div class="selection" v-if="
|
|
|
+ goodsDetail.templateType == 'apply' && goodsDetail.goodsType == 1
|
|
|
+ ">
|
|
|
+ <el-select v-model="educationId" placeholder="请选择考期" size="small"
|
|
|
+ @click.native="selectClick(goodsDetail, 'exam')">
|
|
|
+ <el-option v-for="item in examineList" :key="item.educationId" :label="item.examineName"
|
|
|
+ :value="item.educationId">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <el-cascader
|
|
|
- size="small"
|
|
|
- :props="props"
|
|
|
- ref="cascader"
|
|
|
- :options="provinceList"
|
|
|
- v-model="examArea"
|
|
|
- @change="areaChange(goodsDetail)"
|
|
|
- clearable
|
|
|
- placeholder="请选择报考地区"
|
|
|
- ></el-cascader>
|
|
|
+ <el-cascader size="small" :props="props" ref="cascader" :options="provinceList" v-model="examArea"
|
|
|
+ @change="areaChange(goodsDetail)" clearable placeholder="请选择报考地区"></el-cascader>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
@@ -519,13 +350,8 @@
|
|
|
<ToolBar></ToolBar>
|
|
|
<Footer></Footer>
|
|
|
<!-- 规格选择 -->
|
|
|
- <index-sku-dialog
|
|
|
- :skuModal.sync="skuModal"
|
|
|
- :specTemplateId="goodsDetail.specTemplateId"
|
|
|
- :isCarOrBuy="isCarOrBuy"
|
|
|
- @toShopCart="getAddCar($event)"
|
|
|
- @togoBuy="togoBuy($event)"
|
|
|
- ></index-sku-dialog>
|
|
|
+ <index-sku-dialog :skuModal.sync="skuModal" :specTemplateId="goodsDetail.specTemplateId" :isCarOrBuy="isCarOrBuy"
|
|
|
+ @toShopCart="getAddCar($event)" @togoBuy="togoBuy($event)"></index-sku-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -664,6 +490,16 @@ export default {
|
|
|
return ary;
|
|
|
};
|
|
|
},
|
|
|
+ price() {
|
|
|
+ let { standPrice, maxPrice, minPrice, specTemplateId } = this.goodsDetail
|
|
|
+ if (!specTemplateId) {
|
|
|
+ return standPrice === 0 ? '免费' : `¥${standPrice}`
|
|
|
+ }
|
|
|
+ if (maxPrice == minPrice) {
|
|
|
+ return minPrice === 0 ? '免费' : `¥${minPrice}`
|
|
|
+ }
|
|
|
+ return `¥${minPrice} - ${maxPrice}`
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
...mapMutations(["setCurrentRouter", "getCartCount"]),
|
|
@@ -1032,7 +868,7 @@ export default {
|
|
|
let auditionMinute = this.listenConfigList.find((item) => {
|
|
|
if (
|
|
|
item.sectionId ==
|
|
|
- (this.sectionItem.sectionId || this.sectionItem.menuId) &&
|
|
|
+ (this.sectionItem.sectionId || this.sectionItem.menuId) &&
|
|
|
item.courseId == this.playCourseId
|
|
|
) {
|
|
|
return true;
|
|
@@ -1623,7 +1459,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
- .catch(() => {});
|
|
|
+ .catch(() => { });
|
|
|
},
|
|
|
/**
|
|
|
* 获取商品详情
|
|
@@ -1819,7 +1655,7 @@ export default {
|
|
|
distinguishCancelAndClose: false,
|
|
|
showClose: false,
|
|
|
})
|
|
|
- .then((_) => {})
|
|
|
+ .then((_) => { })
|
|
|
.catch((_) => {
|
|
|
this.questionModalShow = false;
|
|
|
});
|
|
@@ -1866,6 +1702,7 @@ export default {
|
|
|
.text {
|
|
|
flex: 1;
|
|
|
margin-left: 24px;
|
|
|
+
|
|
|
.title {
|
|
|
font-size: 18px;
|
|
|
font-family: Microsoft YaHei;
|
|
@@ -1892,6 +1729,15 @@ export default {
|
|
|
font-weight: bold;
|
|
|
color: #ff2d55;
|
|
|
line-height: 24px;
|
|
|
+
|
|
|
+ span {
|
|
|
+ font-size: 32px;
|
|
|
+
|
|
|
+ i {
|
|
|
+ font-size: 24px;
|
|
|
+ font-style: normal;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.btns {
|
|
@@ -1958,6 +1804,7 @@ export default {
|
|
|
|
|
|
.goods-menu {
|
|
|
margin-top: 15px;
|
|
|
+
|
|
|
.left-box {
|
|
|
width: 948px;
|
|
|
float: left;
|
|
@@ -1968,10 +1815,12 @@ export default {
|
|
|
padding: 16px;
|
|
|
background: #f5f7fa;
|
|
|
border-radius: 10px;
|
|
|
+
|
|
|
.doubles {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
}
|
|
|
+
|
|
|
&__title {
|
|
|
font-size: 18px;
|
|
|
color: #333;
|
|
@@ -1983,6 +1832,7 @@ export default {
|
|
|
overflow: hidden;
|
|
|
background: #fff;
|
|
|
margin-top: 12px;
|
|
|
+
|
|
|
&__title {
|
|
|
padding: 10px 0;
|
|
|
cursor: pointer;
|
|
@@ -2059,6 +1909,7 @@ export default {
|
|
|
.right-box {
|
|
|
width: 255px;
|
|
|
float: right;
|
|
|
+
|
|
|
.title {
|
|
|
margin-left: 10px;
|
|
|
font-size: 16px;
|
|
@@ -2276,6 +2127,7 @@ export default {
|
|
|
|
|
|
&__footer {
|
|
|
overflow: hidden;
|
|
|
+
|
|
|
.btn {
|
|
|
cursor: pointer;
|
|
|
width: 146px;
|
|
@@ -2302,6 +2154,7 @@ export default {
|
|
|
/deep/ .el-dialog__header {
|
|
|
display: none;
|
|
|
}
|
|
|
+
|
|
|
/deep/ .el-dialog__body {
|
|
|
padding: 0;
|
|
|
overflow: unset;
|
|
@@ -2346,6 +2199,7 @@ export default {
|
|
|
.text {
|
|
|
margin-left: 15px;
|
|
|
font-size: 16px;
|
|
|
+
|
|
|
span {
|
|
|
font-family: Microsoft YaHei;
|
|
|
font-weight: bold;
|
|
@@ -2391,12 +2245,14 @@ export default {
|
|
|
&::-webkit-scrollbar {
|
|
|
width: 6px;
|
|
|
}
|
|
|
+
|
|
|
&::-webkit-scrollbar-track {
|
|
|
background-color: #fff;
|
|
|
-webkit-border-radius: 2em;
|
|
|
-moz-border-radius: 2em;
|
|
|
border-radius: 2em;
|
|
|
}
|
|
|
+
|
|
|
&::-webkit-scrollbar-thumb {
|
|
|
background-color: #eeeeee;
|
|
|
-webkit-border-radius: 2em;
|
|
@@ -2417,6 +2273,7 @@ export default {
|
|
|
|
|
|
.question-list {
|
|
|
padding: 24px 0 0 24px;
|
|
|
+
|
|
|
.checkbox,
|
|
|
.radio {
|
|
|
cursor: pointer;
|
|
@@ -2435,10 +2292,12 @@ export default {
|
|
|
&.right {
|
|
|
background: #37c65b;
|
|
|
}
|
|
|
+
|
|
|
&.wrong {
|
|
|
background: #ff3a30;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
&.textarea {
|
|
|
margin-right: 12px;
|
|
|
|
|
@@ -2463,6 +2322,7 @@ export default {
|
|
|
max-height: 100%;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
&__btn {
|
|
|
margin-right: 10px;
|
|
|
width: 80px;
|
|
@@ -2583,6 +2443,7 @@ export default {
|
|
|
&__btns {
|
|
|
position: relative;
|
|
|
height: 32px;
|
|
|
+
|
|
|
.submit {
|
|
|
cursor: pointer;
|
|
|
margin: 0 auto;
|
|
@@ -2696,18 +2557,21 @@ export default {
|
|
|
&::-webkit-scrollbar {
|
|
|
width: 6px;
|
|
|
}
|
|
|
+
|
|
|
&::-webkit-scrollbar-track {
|
|
|
background-color: #fff;
|
|
|
-webkit-border-radius: 2em;
|
|
|
-moz-border-radius: 2em;
|
|
|
border-radius: 2em;
|
|
|
}
|
|
|
+
|
|
|
&::-webkit-scrollbar-thumb {
|
|
|
background-color: #eeeeee;
|
|
|
-webkit-border-radius: 2em;
|
|
|
-moz-border-radius: 2em;
|
|
|
border-radius: 2em;
|
|
|
}
|
|
|
+
|
|
|
.list {
|
|
|
display: flex;
|
|
|
flex-wrap: wrap;
|
|
@@ -2785,6 +2649,7 @@ export default {
|
|
|
/deep/ .el-dialog__header {
|
|
|
display: none;
|
|
|
}
|
|
|
+
|
|
|
/deep/ .el-dialog__body {
|
|
|
padding: 0;
|
|
|
overflow: unset;
|
|
@@ -2816,6 +2681,7 @@ export default {
|
|
|
position: relative;
|
|
|
box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.04);
|
|
|
border-radius: 8px;
|
|
|
+
|
|
|
.video {
|
|
|
&__title {
|
|
|
padding-left: 24px;
|
|
@@ -2829,6 +2695,7 @@ export default {
|
|
|
|
|
|
&__wrap {
|
|
|
height: 450px;
|
|
|
+
|
|
|
video {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
@@ -2852,6 +2719,7 @@ export default {
|
|
|
.teacher_names {
|
|
|
display: flex;
|
|
|
margin-left: 20px;
|
|
|
+
|
|
|
.names {
|
|
|
font-size: 13px;
|
|
|
color: #666666;
|
|
@@ -2860,6 +2728,7 @@ export default {
|
|
|
background: #f8f8f8;
|
|
|
border-radius: 4px;
|
|
|
padding: 3px 6px;
|
|
|
+
|
|
|
&.nactive {
|
|
|
color: #3f8dfd;
|
|
|
background: #f2f7ff;
|