|
|
@@ -0,0 +1,283 @@
|
|
|
+<template>
|
|
|
+ <div id="Mybanklist" class="Mybanklist">
|
|
|
+ <div class="my-course">
|
|
|
+ <div style="padding-top: 14px">
|
|
|
+ <strong style="font-size: 18px">我的课程</strong>
|
|
|
+ <el-divider></el-divider>
|
|
|
+ </div>
|
|
|
+ <div style="padding-top: 14px">
|
|
|
+ <span>教育类型:</span>
|
|
|
+ <el-button
|
|
|
+ :disabled="loading"
|
|
|
+ size="small"
|
|
|
+ v-for="(tab, tabIndex) in tabList"
|
|
|
+ :key="tabIndex"
|
|
|
+ :type="activeName == tab.id ? 'primary' : null"
|
|
|
+ @click="tabChange(tab.id)"
|
|
|
+ >{{ tab.educationName }}</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div class="my-course__body">
|
|
|
+ <el-main class="list" v-loading="loading">
|
|
|
+ <el-empty
|
|
|
+ description="请前往购买商品"
|
|
|
+ v-if="list.length === 0"
|
|
|
+ ></el-empty>
|
|
|
+ <div
|
|
|
+ class="course-item"
|
|
|
+ v-for="(item, index) in list"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <div class="course-item__header"></div>
|
|
|
+ <div class="course-item__body clearfix">
|
|
|
+ <div class="img">
|
|
|
+ <img :src="$tools.splitImgHost(item.coverUrl, true)" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="text">
|
|
|
+ <div class="title" style="margin-bottom: 14px">
|
|
|
+ {{ item.goodsName }}
|
|
|
+
|
|
|
+ <div class="note" v-if="item.orderYear">
|
|
|
+ {{ item.year }}年
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="state" style="margin-bottom: 14px">
|
|
|
+ <template>
|
|
|
+ 分类:
|
|
|
+ <div class="note" >{{item.businessName+item.projectName}}</div>
|
|
|
+
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div class="progress" style="margin-bottom: 14px">
|
|
|
+ <span>
|
|
|
+ 学习服务期:<span
|
|
|
+ :style="
|
|
|
+ sysTime <= item.validityStartTime ||
|
|
|
+ sysTime >= item.validityEndTime
|
|
|
+ ? 'text-decoration:line-through'
|
|
|
+ : null
|
|
|
+ "
|
|
|
+ >
|
|
|
+ {{ $tools.timestampToTime(item.validityStartTime, false) }}
|
|
|
+ 至
|
|
|
+ {{ $tools.timestampToTime(item.validityEndTime, false) }}
|
|
|
+ </span>
|
|
|
+ <span
|
|
|
+ v-if="
|
|
|
+ item.validityStartTime &&
|
|
|
+ item.validityEndTime &&
|
|
|
+ $tools.GetRTime(item.validityEndTime) <= 15
|
|
|
+ "
|
|
|
+ style="color: red"
|
|
|
+ >
|
|
|
+ (剩余{{
|
|
|
+ $tools.GetRTime(item.validityEndTime) > 0
|
|
|
+ ? $tools.GetRTime(item.validityEndTime)
|
|
|
+ : 0
|
|
|
+ }}天)
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ v-if="item.erJianErZao || sevenFunc(item)"
|
|
|
+ class="class_style"
|
|
|
+ style="margin-bottom: 14px"
|
|
|
+ >
|
|
|
+ 班级状态:
|
|
|
+ <span class="class_btn">{{
|
|
|
+ classStatusCompt(item, sysTime)
|
|
|
+ }}</span>
|
|
|
+ 班级有效期:
|
|
|
+ <span
|
|
|
+ style="text-decoration: line-through"
|
|
|
+ v-if="item.classEndTime && item.classEndTime < sysTime"
|
|
|
+ >
|
|
|
+ {{ $tools.timestampToTime(item.classStartTime, false) }}
|
|
|
+ 至
|
|
|
+ {{ $tools.timestampToTime(item.classEndTime, false) }}
|
|
|
+ </span>
|
|
|
+ <span
|
|
|
+ v-else-if="
|
|
|
+ item.classStartTime && item.classStartTime > sysTime
|
|
|
+ "
|
|
|
+ >
|
|
|
+ {{ $tools.timestampToTime(item.classStartTime, false) }}
|
|
|
+ 至
|
|
|
+ {{ $tools.timestampToTime(item.classEndTime, false) }}
|
|
|
+ </span>
|
|
|
+ <span
|
|
|
+ v-else-if="
|
|
|
+ item.gradeId != 0 &&
|
|
|
+ item.gradeStatus == 1 &&
|
|
|
+ item.classStatus != null &&
|
|
|
+ item.classStatus != 0
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ >{{ $tools.timestampToTime(item.classStartTime, false) }}
|
|
|
+ 至
|
|
|
+ {{
|
|
|
+ $tools.timestampToTime(item.classEndTime, false)
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ <span v-else>——</span>
|
|
|
+ <span
|
|
|
+ v-if="
|
|
|
+ item.classStartTime &&
|
|
|
+ item.classEndTime &&
|
|
|
+ $tools.GetRTime(item.classEndTime) <= 15
|
|
|
+ "
|
|
|
+ style="color: red"
|
|
|
+ >(剩余{{
|
|
|
+ $tools.GetRTime(item.classEndTime) > 0
|
|
|
+ ? $tools.GetRTime(item.classEndTime)
|
|
|
+ : 0
|
|
|
+ }}天)</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="btns-wrap">
|
|
|
+ <div class="btns">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="btn"
|
|
|
+ v-if="
|
|
|
+ !(
|
|
|
+ sysTime <= item.validityStartTime ||
|
|
|
+ sysTime >= item.validityEndTime
|
|
|
+ )
|
|
|
+ "
|
|
|
+ @click="appBeforeAddress(item)"
|
|
|
+ >进入刷题</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </el-main>
|
|
|
+
|
|
|
+ <div class="pagination" v-if="total > 0">
|
|
|
+ <el-pagination
|
|
|
+ @current-change="currentChange"
|
|
|
+ background
|
|
|
+ layout="prev, pager, next"
|
|
|
+ :total="total"
|
|
|
+ :pager-count="5"
|
|
|
+ :current-page.sync="param.pageNum"
|
|
|
+ :page-size="param.pageSize"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ name: "Mybanklist",
|
|
|
+ components: { },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ loading: false,
|
|
|
+ bankData: {},
|
|
|
+ dialogVisible: false,
|
|
|
+ list: [],
|
|
|
+ tabList: [],
|
|
|
+ sysTime: 0,
|
|
|
+ activeName: "-1",
|
|
|
+ param: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10
|
|
|
+ },
|
|
|
+ total: 0
|
|
|
+ };
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.sysTime = this.$tools.timest();
|
|
|
+ this.orderUserEduList();
|
|
|
+ this.getBankList();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ currentChange(e) {
|
|
|
+ this.param.pageNum = e;
|
|
|
+ this.getBankList();
|
|
|
+ },
|
|
|
+ getBankList() {
|
|
|
+ this.loading = true;
|
|
|
+ this.$request
|
|
|
+ .bankquestionlistUserFreeUnionBuyGoodsList(this.param)
|
|
|
+ .then(res => {
|
|
|
+ this.list = res.rows;
|
|
|
+ this.total = res.total;
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //进入外链
|
|
|
+ jumpExternalLink() {
|
|
|
+ window.open(this.bankData.externalLink, "_blank");
|
|
|
+ },
|
|
|
+ getNewTime() {
|
|
|
+ console.log(parseInt(new Date().getTime() / 1000));
|
|
|
+ return parseInt(new Date().getTime() / 1000);
|
|
|
+ },
|
|
|
+ getInfoData(data) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ this.$request.goodsDetail(data.goodsId).then(res => {
|
|
|
+ res.data.orderGoodsId = data.orderGoodsId;
|
|
|
+ resolve(res.data);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 切换题库
|
|
|
+ */
|
|
|
+ changeBank() {
|
|
|
+ this.param = {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10
|
|
|
+ };
|
|
|
+ this.dialogVisible = true;
|
|
|
+ this.getBankList();
|
|
|
+ },
|
|
|
+ tabChange(e) {
|
|
|
+ if (this.activeName == e) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.activeName = e;
|
|
|
+ this.param.pageNum = 1;
|
|
|
+ this.param.pageSize = 5;
|
|
|
+ this.getBankList();
|
|
|
+ },
|
|
|
+ orderUserEduList() {
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ this.$request
|
|
|
+ .orderUserEduList({
|
|
|
+ goodsType: 1,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ res.rows.forEach((row) => {
|
|
|
+ row.id = row.id + "";
|
|
|
+ });
|
|
|
+ this.tabList.push(
|
|
|
+ {
|
|
|
+ educationName: "全部",
|
|
|
+ id: "-1",
|
|
|
+ },
|
|
|
+ ...res.rows
|
|
|
+ );
|
|
|
+
|
|
|
+ resolve();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+</style>
|