xiejiebiao %!s(int64=2) %!d(string=hai) anos
pai
achega
9e31a56dae

+ 8 - 1
src/apis/common.js

@@ -234,7 +234,14 @@ export default {
       noToken: true
     })
   },
-  
+  // 随机组题题目列表
+  goodsRandomQuestionList(data) {
+    return request({
+      url: '/bank/exam/simulate',
+      method: 'post',
+      data
+    })
+  },
   /**
    * 
    * @param {*} data 

+ 1 - 0
src/components/exam/HeaderTabBox.vue

@@ -35,6 +35,7 @@ export default {
       this.$request
         .bankExam(this.examId || this.$route.query.examId)
         .then((res) => {
+          console.log(res,666)
           this.examInfo = res.data;
         });
     }

+ 113 - 148
src/components/goodsItem/IndexSkuDialog.vue

@@ -1,49 +1,26 @@
 <template>
   <div class="check_sku">
-    <el-dialog
-      title="选择需要购买的课程"
-      :visible.sync="skuModal"
-      width="680px"
-      class="appoint-modal"
-      :close-on-click-modal="false"
-      :close-on-press-escape="false"
-      :before-close="cancel"
-    >
+    <el-dialog title="选择需要购买的课程" :visible.sync="skuModal" width="680px" class="appoint-modal"
+      :close-on-click-modal="false" :close-on-press-escape="false" :before-close="cancel">
       <div v-loading="loading" class="contents">
-        <!-- <div v-if="Object.keys(skuItem).length" class="pop_prices">
-          <div class="lefts">
-            <img :src="$tools.splitImgHost(skuItem.coverUrl)" class="imgs" />
-          </div>
-          <div class="rights">
-            <div class="goods_titles">{{ skuItem.goodsName }}</div>
-            <div class="goods_price">¥{{ skuItem.standPrice }}</div>
-          </div>
-        </div> -->
-
         <div class="check_con">
-          <div
-            v-for="(item, index) in specList"
-            :key="index"
-            class="check_items"
-          >
-            <div class="grades">{{ item.name }}</div>
-            <div class="mains" v-if="index == 0">
+          <div v-for="(item, index) in specList" :key="index" class="check_items">
+            <div class="grades" v-if="specList.length > 1">{{ item.name }}</div>
+            <div class="mains" v-if="index == 0 && specList.length > 1">
               <div class="grade_names">
-                <div
-                  class="course_items"
-                  v-for="(child, c_index) in item.specAttrList"
-                  :key="c_index"
-                  :class="{ nactive: child.check }"
-                  @click="selectSku(child, index)"
-                >
+                <div class="course_items" v-for="(child, c_index) in item.specAttrList" :key="c_index"
+                  :class="{ nactive: selectGoodIndex == c_index }" @click="selectGoodType(c_index)">
                   {{ child.name }}
                 </div>
               </div>
             </div>
-            <div v-if="index == 1" class="check_box">
-              <el-checkbox-group v-model="checkedCities">
-                <el-checkbox v-for="city in cities" :label="city" :key="city">
-                  <div class="box_centen">{{ city }}<span>¥1234.88</span></div>
+            <div v-if="index == 1 || specList.length == 1" class="check_box">
+              <el-checkbox-group v-model="checkedAttrs">
+                <el-checkbox v-for="spec in specAttrList" :label="spec.specAttributeId" :key="spec.specAttributeId">
+                  <div class="box_centen">{{ spec.name }}<span>{{ spec.standPrice
+                      === 0 ?
+                      '免费' : `¥${spec.standPrice}`
+                  }}</span></div>
                 </el-checkbox>
               </el-checkbox-group>
             </div>
@@ -51,29 +28,16 @@
         </div>
       </div>
       <div slot="footer" class="dialog-footer f_c_b">
-        <!-- <el-button
-          type="primary"
-          size="small"
-          :disabled="
-            Object.keys(skuItem).length == 0 || specList.length != isCheckSku
-          "
-          @click="confirms()"
-          >确 定</el-button
-        > -->
         <div class="price">
           <div>
-            <span>总价:</span><span><i>¥</i>1788.88</span>
+            <span>总价:</span><span><i>¥</i>{{ allPrice | toFixed }}</span>
           </div>
-          <p>已选择2个商品</p>
+          <p>已选择{{ checkedAttrs.length }}个商品</p>
         </div>
-        <el-button
-          :disabled="
-            Object.keys(skuItem).length == 0 || specList.length != isCheckSku
-          "
-          style="width: 136px"
-          type="primary"
-          >{{ isCarOrBuy == 1 ? "加入购物车" : "立即购买" }}</el-button
-        >
+        <el-button :disabled="
+        checkedAttrs.length == 0" @click="confirms()" style="width: 136px" type="primary">{{ isCarOrBuy == 1 ?
+      "加入购物车" : "立即购买"
+  }}</el-button>
       </div>
     </el-dialog>
   </div>
@@ -99,41 +63,78 @@ export default {
   data() {
     return {
       loading: false,
-      skuItem: {},
       specList: [], // 规格列表
-      checkedCities: ["上海"],
-      cities: ["上海", "北京", "广州", "深圳"],
+      checkedAttrs: [],
+      selectGoodIndex: 0,
+      specAttrPriceList: []
     };
   },
   watch: {
     skuModal(newV, oldV) {
       if (newV) {
+        this.checkedAttrs = []
         this.getSpecDetail();
       }
     },
   },
   computed: {
-    isCheckSku() {
-      let checkCout = 0;
-      this.specList.forEach((item, index) => {
-        if (item.specAttrList && item.specAttrList.length) {
-          item.specAttrList.forEach((child, c_index) => {
-            if (child.check) {
-              checkCout++;
-            }
-          });
+    selectId() {
+      if (this.specList.length < 2) {
+        return
+      }
+      return this.specList[0].specAttrList[this.selectGoodIndex].specAttributeId
+    },
+    specAttrList() {
+      let arr = []
+      let data = this.specList.slice(-1)
+      console.log(data, 9988)
+      data[0].specAttrList.forEach(ele => {
+        let id = ele.specAttributeId
+        if (this.specList.length > 1) {
+          id = this.selectId + ',' + id
+        }
+        let item = this.specAttrPriceList.find(e => e.specAttrIds == id)
+        if (item) {
+          ele.goodsId = item.goodsId
+          ele.standPrice = item.standPrice
+          arr.push(ele)
         }
       });
-      return checkCout;
+      return arr
+    },
+    allPrice() {
+      if (!this.checkedAttrs.length) {
+        return 0
+      }
+      return this.specAttrList.reduce((a, b) => {
+        if (this.checkedAttrs.includes(b.specAttributeId)) {
+          return a + b.standPrice
+        }
+        return a
+      }, 0)
     },
   },
   methods: {
+    selectGoodType(index) {
+      if (index == this.selectGoodIndex) {
+        return
+      }
+      this.selectGoodIndex = index
+    },
+    backPrice(id, index) {
+      // if (this.specList.length > 1) {
+      //   id = this.selectId + ',' + id
+      // }
+      // let item = this.specAttrPriceList.find(e => e.specAttrIds == id)
+      // if (item) {
+      //   return item.standPrice
+      // }
+      // return null
+    },
     cancel() {
-      this.skuItem = {};
       this.$emit("update:skuModal", false);
     },
     getSpecDetail() {
-      // || 35
       this.loading = true;
       this.$axios({
         url: `/app/common/spec/${this.specTemplateId}`,
@@ -141,99 +142,40 @@ export default {
         noToken: true,
       })
         .then((res) => {
+          console.log(res, 'res')
           this.loading = false;
           if (res.code == 200) {
             let data = res.data;
             if (data) {
+              this.specAttrPriceList = data.specAttrPriceList
               this.specList = data && (data.specList || []);
-              this.specList.forEach((item, index) => {
-                item.specAttrList.forEach((child, i_index) => {
-                  this.$set(
-                    this.specList[index].specAttrList[i_index],
-                    "check",
-                    false
-                  );
-                });
-              });
             }
           }
+          console.log(this.specList, 'this.specList', this.specAttrPriceList)
         })
         .catch(() => {
           this.loading = false;
         });
     },
-    selectSku(item, index) {
-      this.specList[index].specAttrList.forEach((i_item, i_index) => {
-        if (item.specAttributeId == i_item.specAttributeId) {
-          this.$set(this.specList[index].specAttrList[i_index], "check", true);
-        } else {
-          this.$set(this.specList[index].specAttrList[i_index], "check", false);
-        }
-      });
-      // console.log('this.specList', this.specList, this.isCheckSku)
-      if (this.specList.length == this.isCheckSku) {
-        let specAttrIds = [];
-        this.specList.forEach((item) => {
-          let result = item.specAttrList.find((e) => e.check);
-          if (result) {
-            specAttrIds.push(result.specAttributeId);
-          }
-        });
-        this.getGoodsInfos(specAttrIds);
-      }
-    },
-    // 获取规格属性值对应的商品信息
-    getGoodsInfos(specAttrIds) {
-      this.loading = true;
-      this.$axios({
-        url: "/app/common/attr/goods",
-        method: "get",
-        params: {
-          specTemplateId: this.specTemplateId,
-          specAttrIds: specAttrIds.join(","),
-        },
-        noToken: true,
-      })
-        .then((res) => {
-          this.loading = false;
-          if (res.code == 200) {
-            this.skuItem = res.data || {};
-          } else {
-            this.skuItem = {};
-            this.$message.warning("商品已下架, 请重新选择");
-          }
-        })
-        .catch((err) => {
-          this.loading = false;
-          this.skuItem = {};
-          this.$message.warning("商品已下架, 请重新选择");
-        });
-    },
     confirms() {
-      if (this.specList.length != this.isCheckSku) {
-        this.$message.warning("请先选择所有的规格");
-        return;
-      }
-      if (this.skuItem.goodsStatus == 0) {
-        this.$message.warning("商品已下架, 请重新选择");
-        return;
-      }
-
-      let sysTime = this.$tools.timest();
-      if (
-        sysTime <= this.skuItem.validityStartTime ||
-        sysTime >= this.skuItem.validityEndTime
-      ) {
-        this.$message.warning("商品不在有效期, 请重新选择");
-        return;
-      }
-
+      // if (this.skuItem.goodsStatus == 0) {
+      //   this.$message.warning("商品已下架, 请重新选择");
+      //   return;
+      // }
+      // let sysTime = this.$tools.timest();
+      // if (
+      //   sysTime <= this.skuItem.validityStartTime ||
+      //   sysTime >= this.skuItem.validityEndTime
+      // ) {
+      //   this.$message.warning("商品不在有效期, 请重新选择");
+      //   return;
+      // }
+      let goodsIds = this.specAttrList.filter(e => this.checkedAttrs.includes(e.specAttributeId)).map(e => e.goodsId)
       if (this.isCarOrBuy == 1) {
         // 加入购物车
-        // console.log('this.skuItem.goodsId', this.skuItem.goodsId)
-        this.$emit("toShopCart", this.skuItem.goodsId);
+        this.$emit("toShopCart", goodsIds);
       } else {
-        this.$emit("togoBuy", this.skuItem);
+        this.$emit("togoBuy", goodsIds);
       }
       this.cancel();
     },
@@ -247,11 +189,13 @@ export default {
     .el-dialog__header {
       padding: 20px 28px;
       border-bottom: 1px solid #d9d9d9;
+
       .el-dialog__title {
         color: #222222;
         font-size: 20px;
       }
     }
+
     .el-checkbox {
       width: 100%;
       background: #f8f8f8;
@@ -262,36 +206,44 @@ export default {
       border-radius: 8px;
       display: flex;
       align-items: center;
+
       .el-checkbox__label {
         flex: 1;
       }
+
       &:nth-last-of-type(1) {
         margin-bottom: 0;
       }
     }
+
     .is-checked {
       background: #ebf2ff;
     }
   }
+
   .dialog-footer {
     padding: 0 8px;
+
     .price {
       p {
         font-size: 16px;
         color: #666666;
         text-align: left;
       }
+
       div {
         span {
           &:nth-of-type(1) {
             color: #222222;
             font-size: 16px;
           }
+
           &:nth-of-type(2) {
             i {
               font-size: 17px;
               font-style: normal;
             }
+
             font-weight: bold;
             color: #eb445a;
             font-size: 28px;
@@ -300,45 +252,56 @@ export default {
       }
     }
   }
+
   .f_c_b {
     display: flex;
     align-items: center;
     justify-content: space-between;
   }
 }
+
 .contents {
   width: 100%;
   padding: 0 8px;
+
   .check_con {
     width: 100%;
+
     .check_items {
       margin-bottom: 32px;
+
       &:nth-last-of-type(1) {
         margin-bottom: 10px;
       }
     }
+
     .grades {
       font-size: 16px;
       color: #606266;
       margin-bottom: 16px;
       //   margin-top: 32px;
     }
+
     .mains {
       width: 100%;
       max-height: 200px;
       overflow-y: auto;
     }
+
     .check_box {
       max-height: 400px;
       overflow-y: auto;
+
       &::-webkit-scrollbar {
         display: none;
       }
+
       .box_centen {
         height: 44px;
         line-height: 42px;
         display: flex;
         justify-content: space-between;
+
         span {
           font-weight: bold;
           color: #eb445a;
@@ -353,6 +316,7 @@ export default {
       display: flex;
       flex-wrap: wrap;
     }
+
     .course_items {
       padding: 10px 16px;
       border-radius: 8px;
@@ -363,6 +327,7 @@ export default {
       color: #222222;
       text-align: center;
       cursor: pointer;
+
       &.nactive {
         background: #ebf2ff;
         color: #3f8dfd;

+ 67 - 38
src/components/goodsItem/index.vue

@@ -9,19 +9,21 @@
         >
           {{ item.year }}
         </div> -->
-        <img
-          v-if="item.coverUrl"
-          :src="$tools.splitImgHost(item.coverUrl)"
-          alt=""
-        />
+        <img v-if="item.coverUrl" :src="$tools.splitImgHost(item.coverUrl)" alt="" />
       </div>
       <div class="course-item__title">
         <span v-if="item.goodsType == 6" class="note">直播</span>
         {{ item.goodsName }}
       </div>
       <div class="course-item__desc">
-        <div class="price">{{item.standPrice === 0 ? '免费' : `¥${item.standPrice}`}}</div>
-        <div v-if="item.linePrice" class="linePrice">¥{{item.linePrice}}</div>
+        <!-- <div class="price">{{ item.standPrice === 0 ? '免费' : `¥${item.standPrice}` }}</div> -->
+        <div class="price" v-if="!item.specTemplateId || (!item.maxPrice && !item.minPrice)">{{ item.standPrice === 0 ?
+            '免费' : `¥${item.standPrice}`
+        }}</div>
+        <div v-else class="price"><span><i>¥</i>{{ item.minPrice }}</span><span
+            v-if="item.minPrice != item.maxPrice">-<i>¥</i>{{ item.maxPrice }}</span>
+        </div>
+        <div v-if="item.linePrice" class="linePrice">¥{{ item.linePrice }}</div>
       </div>
       <div class="course-item__btns">
         <a class="add" @click.stop="addCart(item)">加购物车</a>
@@ -46,6 +48,16 @@ export default {
   },
   computed: {
     ...mapGetters(["userInfo"]),
+    price() {
+      let { standPrice, maxPrice, minPrice, specTemplateId } = this.item
+      if (!specTemplateId || (!maxPrice && !minPrice)) {
+        return standPrice === 0 ? '免费' : `¥${standPrice}`
+      }
+      if (maxPrice == minPrice) {
+        return minPrice === 0 ? '免费' : `¥${minPrice}`
+      }
+      return `¥${minPrice}-¥${maxPrice}`
+    }
   },
   props: ["item"],
   data() {
@@ -55,7 +67,7 @@ export default {
       isCarOrBuy: 1, // 1加入购物车 2立即购买
     };
   },
-  mounted() {},
+  mounted() { },
   methods: {
     ...mapMutations(["setCurrentRouter", "getCartCount"]),
     /**
@@ -92,16 +104,16 @@ export default {
         return;
       }
       // 判断有没有规格选择
-			if (this.item.specTemplateId) {
-				this.isCarOrBuy = 2
+      if (this.item.specTemplateId) {
+        this.isCarOrBuy = 2
         this.getSpecDetail()
-				// this.skuModal = true
-				return
-			}
+        // this.skuModal = true
+        return
+      }
       this.toPayment(this.item.goodsId)
     },
-    togoBuy(skuItem) {
-      this.toPayment(skuItem.goodsId)
+    togoBuy(goodsId) {
+      this.toPayment(goodsId.toString())
     },
     toPayment(goodsId) {
       this.getGoodsDetail(goodsId).then((res) => {
@@ -136,16 +148,19 @@ export default {
      */
     addCart(item) {
       // 判断有没有规格选择
-			if (this.item.specTemplateId) {
-				this.isCarOrBuy = 1
+      if (this.item.specTemplateId) {
+        this.isCarOrBuy = 1
         this.getSpecDetail()
-				return
-			}
-      this.getAddCar(this.item.goodsId) 
+        return
+      }
+      this.getAddCar(this.item.goodsId)
     },
-    getAddCar(goodsId) {
+    getAddCar(goodsIds) {
+      if (!Array.isArray(goodsIds)) {
+        goodsIds = [goodsIds]
+      }
       this.$request
-        .addCart({ goodsId: goodsId })
+        .addCart({ goodsIds: goodsIds })
         .then((res) => {
           if (res) {
             this.getCartCount();
@@ -173,23 +188,23 @@ export default {
       });
     },
     getSpecDetail() {
-			this.$axios({
-				url: `/app/common/spec/${this.item.specTemplateId}`,
-				method: 'get',
-				noToken: true
-			}).then((res) => {
-          if (res.data) {
-            this.skuModal = true
+      this.$axios({
+        url: `/app/common/spec/${this.item.specTemplateId}`,
+        method: 'get',
+        noToken: true
+      }).then((res) => {
+        if (res.data) {
+          this.skuModal = true
+        } else {
+          if (this.isCarOrBuy == 1) {
+            this.getAddCar(this.item.goodsId)
           } else {
-            if (this.isCarOrBuy == 1) {
-              this.getAddCar(this.item.goodsId)
-            } else {
-              this.toPayment(this.item.goodsId)
-            }
-
+            this.toPayment(this.item.goodsId)
           }
-			}).catch(() => {})
-		},
+
+        }
+      }).catch(() => { })
+    },
   },
 };
 </script>
@@ -217,6 +232,7 @@ export default {
     left: 8px;
     top: -62px;
     overflow: hidden;
+
     .note {
       position: absolute;
       top: 0px;
@@ -235,6 +251,7 @@ export default {
         background: #ffb001;
       }
     }
+
     img {
       width: 100%;
       height: 100%;
@@ -270,17 +287,28 @@ export default {
     margin-left: 8px;
     display: flex;
     align-items: center;
+
     .price {
       font-size: 18px;
       font-family: Microsoft YaHei;
       font-weight: bold;
       color: #ff2d55;
       line-height: 32px;
+
+      span {
+        font-size: 18px;
+
+        i {
+          font-size: 14px;
+          font-style: normal;
+        }
+      }
     }
+
     .linePrice {
       color: #999999;
       font-size: 16px;
-      text-decoration:line-through;
+      text-decoration: line-through;
       margin-left: 10px;
     }
   }
@@ -289,6 +317,7 @@ export default {
     margin: 0 8px;
     display: flex;
     justify-content: space-between;
+
     .add {
       display: block;
       width: 108px;

+ 24 - 52
src/pages/bank-list/index.vue

@@ -5,9 +5,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>
@@ -26,13 +24,8 @@
                   >
                     全部
                   </div> -->
-                  <div
-                    class="item"
-                    v-for="(item, index) in typeList"
-                    :key="index"
-                    :class="{ active: params.educationTypeId == item.id }"
-                    @click="changeType(item)"
-                  >
+                  <div class="item" v-for="(item, index) in typeList" :key="index"
+                    :class="{ active: params.educationTypeId == item.id }" @click="changeType(item)">
                     {{ item.educationName }}
                   </div>
                 </div>
@@ -43,13 +36,8 @@
               <div class="right-item">
                 <div class="list">
                   <!-- <div class="item active">全部</div> -->
-                  <div
-                    class="item"
-                    v-for="(item, index) in businessList"
-                    :key="index"
-                    :class="{ active: params.businessId == item.id }"
-                    @click="changeBusiness(item)"
-                  >
+                  <div class="item" v-for="(item, index) in businessList" :key="index"
+                    :class="{ active: params.businessId == item.id }" @click="changeBusiness(item)">
                     {{ item.aliasName }}
                   </div>
                 </div>
@@ -59,13 +47,8 @@
               <div class="left-item">科目分类:</div>
               <div class="right-item">
                 <div class="list">
-                  <div
-                    class="item"
-                    v-for="(item, index) in subjectList"
-                    :key="index"
-                    :class="{ active: params.subjectId == item.id }"
-                    @click="changeSubject(item)"
-                  >
+                  <div class="item" v-for="(item, index) in subjectList" :key="index"
+                    :class="{ active: params.subjectId == item.id }" @click="changeSubject(item)">
                     {{ item.subjectName }}
                   </div>
                 </div>
@@ -80,36 +63,23 @@
           <div class="course-list">
             <div class="course-list__header">
               <div class="sort-list">
-                <div
-                  class="sort-list__item"
-                  @click="changeSort(1)"
-                  :class="{ active: params.sortType == 1 ? true : false }"
-                >
+                <div class="sort-list__item" @click="changeSort(1)"
+                  :class="{ active: params.sortType == 1 ? true : false }">
                   综合排序
                 </div>
-                <div
-                  class="sort-list__item"
-                  @click="changeSort(2)"
-                  :class="{ active: params.sortType == 2 ? true : false }"
-                >
+                <div class="sort-list__item" @click="changeSort(2)"
+                  :class="{ active: params.sortType == 2 ? true : false }">
                   低价优先
                 </div>
-                <div
-                  class="sort-list__item"
-                  @click="changeSort(3)"
-                  :class="{ active: params.sortType == 3 ? true : false }"
-                >
+                <div class="sort-list__item" @click="changeSort(3)"
+                  :class="{ active: params.sortType == 3 ? true : false }">
                   高价优先
                 </div>
               </div>
             </div>
             <div class="course-list__body">
               <ul class="list clearfix">
-                <li
-                  class="course-item"
-                  v-for="(item, index) in goodsList"
-                  :key="index"
-                >
+                <li class="course-item" v-for="(item, index) in goodsList" :key="index">
                   <GoodsItem :item="item"></GoodsItem>
                 </li>
               </ul>
@@ -117,14 +87,8 @@
           </div>
 
           <div class="pagination">
-            <el-pagination
-              @current-change="currentChange"
-              background
-              layout="prev, pager, next"
-              :total="total"
-              :pager-count="5"
-              :page-size="params.pageSize"
-            >
+            <el-pagination @current-change="currentChange" background layout="prev, pager, next" :total="total"
+              :pager-count="5" :page-size="params.pageSize">
             </el-pagination>
           </div>
         </div>
@@ -168,6 +132,7 @@ export default {
         goodsType: 2,
         sortType: 1,
         searchKey: "",
+        // showStatus: 1
       },
       goodsList: [],
     };
@@ -327,6 +292,7 @@ export default {
 
     &__body {
       background: #ebf2fc;
+
       .course-classify {
         overflow: hidden;
 
@@ -334,6 +300,7 @@ export default {
           display: flex;
           margin: 6px 0;
           align-items: flex-start;
+
           .left-item {
             margin-top: 10px;
             padding: 8px 0;
@@ -346,9 +313,11 @@ export default {
 
           .right-item {
             flex: 1;
+
             .list {
               display: flex;
               flex-wrap: wrap;
+
               .item {
                 cursor: pointer;
                 border-radius: 8px;
@@ -374,9 +343,11 @@ export default {
       .course-list {
         &__header {
           margin-top: 32px;
+
           .sort-list {
             display: flex;
             align-items: center;
+
             &__item {
               cursor: pointer;
               width: 96px;
@@ -412,6 +383,7 @@ export default {
 
         &__footer {
           overflow: hidden;
+
           .btn {
             cursor: pointer;
             width: 146px;

+ 6 - 15
src/pages/course-detail/index.vue

@@ -32,8 +32,7 @@
                   <div v-show="vid" id="player"></div>
                   <div v-show="vidzb" id="playerzb"></div>
                   <div class="recordStyle" v-if="showRecordStatus">
-                    您上次看到{{
-                      $tools.secondToTime(recordObj.videoCurrentTime)
+                    您上次看         ndToTime(recordObj.videoCurrentTime)
                     }},正在自动续播<span
                       style="
                         display: inline-block;
@@ -4857,19 +4856,11 @@ export default {
               //开头拍1张
               this.photoList.push(1);
             } else if (photoNum == 3) {
-              //拍2张
-              if (totalVideoTime <= 300) {
-                //小于5分钟
-                this.photoList.push(1); //开头拍一张
-                let endTakeTime = this.randomNum(10, totalVideoTime); //中间随机取一张
-                this.photoList.push(endTakeTime);
-              } else {
-                this.photoList.push(1); //开头拍一张
-                let endMaxTime = totalVideoTime - 60;
-                let endMinTime = totalVideoTime - 300;
-                let endTakeTime = this.randomNum(endMinTime, endMaxTime);
-                this.photoList.push(endTakeTime); //最后1-5分钟拍一张
-              }
+                this.photoList.push(1);  
+                let centerTime = this.randomNum(1/3*totalVideoTime, 2/3*totalVideoTime);; 
+                this.photoList.push(centerTime); 
+                let endTakeTime = this.randomNum(2/3*totalVideoTime, totalVideoTime);
+                this.photoList.push(endTakeTime); 
             }
           }
           this.postCoursePhotoRecord(true); //提交随机拍照时间数组

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 280 - 562
src/pages/course-exam/index.vue


+ 1 - 0
src/pages/course-list/index.vue

@@ -168,6 +168,7 @@ export default {
         goodsType: 1,
         sortType: 1,
         searchKey: "",
+        showStatus: 1
       },
       goodsList: [],
     };

+ 165 - 296
src/pages/goods-detail/course-detail.vue

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

+ 1 - 1
src/pages/home/index.vue

@@ -767,7 +767,6 @@ export default {
     //课程
 		 courseLists() {			
 			this.$request.appCommonActivityRecommendList({ platform: 2, status: 1 }).then(async (res) => {
-        // return
 				if (res.code == 200) {
 					let list = res.rows || []
 					//课程
@@ -788,6 +787,7 @@ export default {
 					if (this.courseName.length) {
 						this.courseId = this.courseName[0].recommendId
 						let list1 = await this.getGoodsList(this.courseName[0].recommendId, 0)
+            console.log(list1,'list1')
 						this.goodsList1.push(...list1)
 					}
 					

+ 1 - 0
src/pages/live-list/index.vue

@@ -168,6 +168,7 @@ export default {
         goodsType: 6,
         sortType: 1,
         searchKey: "",
+        showStatus: 1
       },
       goodsList: [],
     };

+ 14 - 14
src/pages/person-center/my-course/index.vue

@@ -1543,23 +1543,23 @@ export default {
     },
     async getResource(courseLists, section, type) {
       //type:1章卷,2节卷,3模考卷,4习题
-      if (!this.checkCanLearn()) {
-        return false;
-      }
+      // if (!this.checkCanLearn()) {
+      //   return false;
+      // }
       // 学习次数
-      if (!(await this.exceedLearnNum(courseLists, section))) {
-        return false;
-      }
+      // if (!(await this.exceedLearnNum(courseLists, section))) {
+      //   return false;
+      // }
 
-      // 学习顺序
+      // // 学习顺序
 
-      if (!(await this.orderTopTobottom(courseLists, section, type))) {
-        this.$message({
-          type: "warning",
-          message: "请学完视频课程再进行练习和测试",
-        });
-        return false;
-      }
+      // if (!(await this.orderTopTobottom(courseLists, section, type))) {
+      //   this.$message({
+      //     type: "warning",
+      //     message: "请学完视频课程再进行练习和测试",
+      //   });
+      //   return false;
+      // }
       //有次数限制
       let num = await this.bankRecordDoNum(courseLists, section);
       // section.doNum

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio