currentVideo
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<view class="commonPageBox" style="background-color: #eaf7f2 !important">
|
||||
<view class="commonPageBox" style="">
|
||||
<public-module></public-module>
|
||||
|
||||
<view class="header_box">
|
||||
<view class="header_bg" :style="`margin-top:${statusBarHeight * 2}rpx`">
|
||||
<text class="PM_font">太湖公益</text>
|
||||
<text class="PM_font" style="color: #7f2000;">太湖公益</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="header_box">
|
||||
@@ -101,7 +101,6 @@
|
||||
style="height: 100%"
|
||||
noDataIcon="data"
|
||||
:isCondition="true"
|
||||
|
||||
@lower="onReachBottom2"
|
||||
:pagination="pagination"
|
||||
:dataList="noticeList"
|
||||
@@ -249,6 +248,7 @@ export default {
|
||||
total: 0, //总条数
|
||||
};
|
||||
this.goodsList = [];
|
||||
|
||||
await this.getGoodsList();
|
||||
// await this.getSociologyLabels();
|
||||
});
|
||||
@@ -333,6 +333,7 @@ export default {
|
||||
},
|
||||
async getGoodsList() {
|
||||
var that = this;
|
||||
|
||||
this.$http
|
||||
.request({
|
||||
url: this.urlList.getGoodsList,
|
||||
@@ -347,7 +348,9 @@ export default {
|
||||
.then(async (res) => {
|
||||
console.log(res, "999");
|
||||
var that = this;
|
||||
|
||||
if(this.pagination1.page==1){
|
||||
this.goodsList = [];
|
||||
}
|
||||
// console.log("result at line 332:", result);
|
||||
// that.noticeList = res.page ? result : [];
|
||||
|
||||
@@ -520,13 +523,12 @@ function calcTimer(timer) {
|
||||
.header_box {
|
||||
width: 100%;
|
||||
height: 260rpx;
|
||||
|
||||
|
||||
background-repeat: no-repeat;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
overflow: hidden;
|
||||
background-size: 100% 100%;
|
||||
background-image: url("@/static/icon/taihubg.png");
|
||||
|
||||
color: #fff;
|
||||
font-size: 80rpx;
|
||||
line-height: 260rpx;
|
||||
@@ -555,6 +557,7 @@ function calcTimer(timer) {
|
||||
.main_content_box {
|
||||
width: 100%;
|
||||
margin-top: 0rpx;
|
||||
background-color: rgba(255, 255, 255, 0.65);
|
||||
padding: 27rpx;
|
||||
// padding-top: 0rpx;
|
||||
box-sizing: border-box;
|
||||
@@ -603,8 +606,8 @@ function calcTimer(timer) {
|
||||
.flash_sale_top {
|
||||
width: 100%;
|
||||
height: 61rpx;
|
||||
background: #B7E0E2;
|
||||
box-shadow: 0rpx 0rpx 6rpx 0rpx #E9DCCC;
|
||||
background: #b7e0e2;
|
||||
box-shadow: 0rpx 0rpx 6rpx 0rpx #e9dccc;
|
||||
border-radius: 7rpx;
|
||||
padding: 3rpx 18rpx 3rpx 10rpx;
|
||||
box-sizing: border-box;
|
||||
@@ -712,6 +715,17 @@ function calcTimer(timer) {
|
||||
}
|
||||
|
||||
.commonPageBox {
|
||||
// background-image: linear-gradient(
|
||||
// to bottom,
|
||||
// #fff7ea 25%,
|
||||
// #fffdf5 50%,
|
||||
// #fffdfc 75%
|
||||
// );
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
background-image: url("@/static/icon/taihubg.png");
|
||||
|
||||
// background-size: 100% 100%; background-repeat: no-repeat;background-image: url('@/static/icon/taihubg.png');
|
||||
// padding-bottom: 50rpx;
|
||||
// box-sizing: border-box;
|
||||
}
|
||||
|
||||
@@ -682,6 +682,9 @@ export default {
|
||||
pjType: "",
|
||||
};
|
||||
},
|
||||
onUnload(){
|
||||
uni.getStorageSync("orderStatus",0)
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
console.log("下拉刷新了");
|
||||
uni.stopPullDownRefresh();
|
||||
@@ -717,6 +720,9 @@ export default {
|
||||
// });
|
||||
},
|
||||
async onShow() {
|
||||
|
||||
console.log('onshow at line 723:', '先走onshow')
|
||||
var status=uni.getStorageSync("orderStatus");
|
||||
this.newList = [];
|
||||
this.pagination = {
|
||||
page: 1, //页码
|
||||
@@ -724,19 +730,22 @@ export default {
|
||||
total: 0, //总条数
|
||||
};
|
||||
this.$nextTick(async () => {
|
||||
await this.ordersTabCLi(this.ordersTabs[0], 0);
|
||||
await this.ordersTabCLi(this.ordersTabs[status], status);
|
||||
});
|
||||
},
|
||||
async onTabItemTap() {
|
||||
console.log('onshow at line 724:', 'onTabItemTap')
|
||||
uni.setStorageSync("orderStatus", 0);
|
||||
var status=uni.getStorageSync("orderStatus");
|
||||
this.newList = [];
|
||||
this.pagination = {
|
||||
page: 1, //页码
|
||||
limit: 20, //每页显示
|
||||
total: 0, //总条数
|
||||
};
|
||||
// this.$nextTick(async () => {
|
||||
// await this.ordersTabCLi(this.ordersTabs[0], 0);
|
||||
// });
|
||||
this.$nextTick(async () => {
|
||||
await this.ordersTabCLi(this.ordersTabs[status], status);
|
||||
});
|
||||
},
|
||||
onReady() {},
|
||||
computed: {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
<view class="componentPage">
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
|
||||
<view class="fixed">
|
||||
<!-- <view class="fixed">
|
||||
<view v-if="isOpenRightButton">
|
||||
<view class="openBox">
|
||||
<block v-for="(v, index) in cateIconList" :key="index">
|
||||
@@ -36,7 +36,7 @@
|
||||
style="width: 50rpx; height: 50rpx"
|
||||
></image>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<scroll-view
|
||||
scroll-y
|
||||
:style="`height:calc(100vh - ${(110 + statusBarHeight) * 2}rpx)`"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<view class="componentPage">
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
|
||||
<view class="fixed">
|
||||
<!-- <view class="fixed">
|
||||
<view v-if="isOpenRightButton">
|
||||
<view class="openBox">
|
||||
<block v-for="(v, index) in cateIconList" :key="index">
|
||||
@@ -30,48 +30,33 @@
|
||||
<image src="@/static/icon/open.png" mode="widthFix" style=" width: 50rpx;
|
||||
height: 50rpx;"></image>
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view
|
||||
scroll-y
|
||||
class="scroll"
|
||||
:style="`height:calc(100vh - ${(100 + statusBarHeight) * 2}rpx)`"
|
||||
:scroll-into-view="viewid"
|
||||
scroll-with-animation
|
||||
@scroll="scrollEvt"
|
||||
>
|
||||
<view
|
||||
v-for="(v, index) in cateIconList"
|
||||
:key="index"
|
||||
class="right-item"
|
||||
style="margin-bottom: 40rpx"
|
||||
>
|
||||
<view :id="`cont${index}`" :class="`bg${index} `">
|
||||
<view class="cate_item_box">
|
||||
<!-- <view class="cate_item_border">
|
||||
<image
|
||||
:src="
|
||||
cateIconList.find((e) => v.title == e.title)
|
||||
.imgUrl
|
||||
"
|
||||
mode="aspectFill"
|
||||
:style="
|
||||
cateIconList.find((e) => v.title == e.title)
|
||||
.style
|
||||
"
|
||||
></image>
|
||||
</view> -->
|
||||
<view
|
||||
:class="`cate_item_name ${viewid == 'cont' + index ? 'hot' : ''}`"
|
||||
>{{ v.sociology.title }}</view
|
||||
>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<u-index-list
|
||||
:index-list="indexList"
|
||||
activeColor="#60CABF"
|
||||
:uIndexStyle="{
|
||||
height: 'auto',
|
||||
padding: '20rpx',
|
||||
}"
|
||||
>
|
||||
<view v-for="(item, index) in itemArr">
|
||||
<!-- #ifdef APP-NVUE -->
|
||||
<u-index-anchor
|
||||
:text="indexList[index]"
|
||||
bgColor="#AFDECC"
|
||||
></u-index-anchor>
|
||||
<!-- #endif -->
|
||||
<u-index-item>
|
||||
<!-- #ifndef APP-NVUE -->
|
||||
<u-index-anchor :text="indexList[index]"></u-index-anchor>
|
||||
<!-- #endif -->
|
||||
<common-list
|
||||
noDataIcon="data"
|
||||
:isCondition="true"
|
||||
:isNoIcon="true"
|
||||
@lower="onReachBottom1"
|
||||
:dataList="v.courseList"
|
||||
:dataList="item"
|
||||
label="title"
|
||||
>
|
||||
<template slot="labelSlot" slot-scope="slotProps">
|
||||
@@ -120,20 +105,12 @@
|
||||
<!-- <text v-if="slotProps.row.conditions!='03'">【试听】</text> -->
|
||||
</template>
|
||||
</common-list>
|
||||
</view>
|
||||
</u-index-item>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</u-index-list>
|
||||
|
||||
<!-- <richDetail :detailInfo="detailInfo">
|
||||
|
||||
<template #richHeadImg>
|
||||
<image :src="detailInfo.imgUrl" v-if="detailInfo.imgUrl" mode="widthFix" class="headImage"></image>
|
||||
|
||||
</template>
|
||||
</richDetail>
|
||||
-->
|
||||
|
||||
<!-- <view>{{ detailInfo.content }}</view> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -150,6 +127,8 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
indexList: [],
|
||||
itemArr: [],
|
||||
timer: null,
|
||||
isLeftClick: false,
|
||||
isOpenRightButton: true,
|
||||
@@ -398,6 +377,8 @@ export default {
|
||||
});
|
||||
},
|
||||
async getData() {
|
||||
this.indexList = [];
|
||||
this.itemArr = [];
|
||||
console.log(this.$store.state, "88888");
|
||||
this.$http
|
||||
.request({
|
||||
@@ -413,9 +394,16 @@ export default {
|
||||
console.log("res at line 178:", res);
|
||||
|
||||
this.cateIconList = res.list;
|
||||
await setTimeout(() => {
|
||||
this.getDistanceToTop();
|
||||
}, 100);
|
||||
this.indexList = this.cateIconList.map((e) => {
|
||||
return e.sociology.title;
|
||||
});
|
||||
console.log("this.indexList at line 645:", this.indexList);
|
||||
this.itemArr = this.cateIconList.map((e) => {
|
||||
return e.courseList;
|
||||
});
|
||||
// await setTimeout(() => {
|
||||
// this.getDistanceToTop();
|
||||
// }, 100);
|
||||
|
||||
// socket.init();
|
||||
});
|
||||
@@ -526,7 +514,7 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '@/style/mixin.scss';
|
||||
@import "@/style/mixin.scss";
|
||||
.commonPageBox {
|
||||
padding: 40rpx 0;
|
||||
}
|
||||
@@ -568,7 +556,7 @@ export default {
|
||||
border: none !important;
|
||||
}
|
||||
.openBox {
|
||||
background-color: #B7E0E2;
|
||||
background-color: #b7e0e2;
|
||||
border: 2rpx solid #eee;
|
||||
width: 80rpx;
|
||||
line-height: 80rpx;
|
||||
|
||||
@@ -368,6 +368,7 @@ export default {
|
||||
});
|
||||
},
|
||||
changeVideo(data) {
|
||||
console.log('data at line 370:', data)
|
||||
this.currentVideo = data;
|
||||
this.initVideo();
|
||||
this.isOpenMp3 = false;
|
||||
|
||||
1417
pages/curriculum/order/curriculum/index copy.vue
Normal file
1417
pages/curriculum/order/curriculum/index copy.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -7,53 +7,40 @@
|
||||
<public-module></public-module>
|
||||
<z-nav-bar
|
||||
:title="options.navTitle"
|
||||
bgColor="#3AB3AE"
|
||||
bgColor="#5F8F7F"
|
||||
fontColor="#fff"
|
||||
></z-nav-bar>
|
||||
|
||||
<view class="contentBox commonPageContentBox">
|
||||
<u-alert
|
||||
style="position: fixed; width: 100%; z-index: 10"
|
||||
v-if="goBuyTitle"
|
||||
style="
|
||||
background: linear-gradient(90deg, #5f8f7f 0%, #f3faf3 100%);
|
||||
position: fixed;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 10;
|
||||
"
|
||||
type="warning"
|
||||
@click="handleClickGetGoodsList"
|
||||
@click="handleClickGetVip"
|
||||
:title="goBuyTitle"
|
||||
:show-icon="true"
|
||||
v-if="
|
||||
cateList.length > 0 &&
|
||||
cateList[currentCateIndex].isBuy == 0 &&
|
||||
vip.type == '0'
|
||||
"
|
||||
>
|
||||
<template slot="rightSlot" slot-scope="slotProps">
|
||||
<!-- {{ slotProps.row.bxType }} -->
|
||||
|
||||
<text
|
||||
:class="`fdButtonBox ${
|
||||
cateList[currentCateIndex].type == 0
|
||||
? ''
|
||||
: 'aui-text-danger fdButtonBoxRed'
|
||||
} `"
|
||||
>
|
||||
{{
|
||||
cateList[currentCateIndex].type == 0 ? "开始学习" : "立即购买"
|
||||
}}</text
|
||||
>
|
||||
<text class="saveBtn vipBtn flexbox buyBtn" v-if="goBuyType == 0">
|
||||
立即购买
|
||||
</text>
|
||||
<text class="flexbox" style="color: #5f8f7f" v-if="goBuyType == 1">
|
||||
立即续费
|
||||
</text>
|
||||
<text class="saveBtn vipBtn flexbox" v-if="goBuyType == 2">
|
||||
立即升级
|
||||
</text>
|
||||
|
||||
<view> </view>
|
||||
</template>
|
||||
</u-alert>
|
||||
|
||||
<u-alert
|
||||
style="position: fixed; width: 100%; z-index: 10"
|
||||
type="warning"
|
||||
@click="handleClickGetGoodsList"
|
||||
:title="`尊贵的${vip.type==1?'超级':vip.type==2?'吴门医述':'众妙之门'}VIP会员,您的有效期到 ${
|
||||
vip.endTime && vip.endTime.split(' ')[0]
|
||||
}`"
|
||||
:show-icon="true"
|
||||
v-if="cateList.length > 0 && vip.type != 0"
|
||||
>
|
||||
</u-alert>
|
||||
<view
|
||||
v-if="curriculumData.image"
|
||||
:style="`height: auto !important;${
|
||||
@@ -87,122 +74,142 @@
|
||||
>
|
||||
</view>
|
||||
|
||||
<view class="curriulum_box" v-if="curriculumData.content">
|
||||
<view class="curriulum_title_box">
|
||||
<view class="curriulum_title">
|
||||
<view style="font-weight: 600; color: #018f89; margin-bottom: 20rpx"
|
||||
>介绍</view
|
||||
>
|
||||
<view class="containerBg1">
|
||||
<view class="course_info_box">
|
||||
<view class="course_info">
|
||||
<view class="flexbox course_title" v-if="curriculumData.id">
|
||||
<text class="courseTitle title">{{ curriculumData.title }}</text>
|
||||
|
||||
<common-rich-detail
|
||||
v-if="curriculumData.content"
|
||||
:detailInfo="{
|
||||
content: curriculumData.content ? curriculumData.content : '',
|
||||
}"
|
||||
style="padding: 10rpx"
|
||||
<!-- <view class="start_learn_btn PM_font">进入学习</view> -->
|
||||
</view>
|
||||
<view
|
||||
class="containerBg"
|
||||
v-if="curriculumData.content && curriculumData.content != ''"
|
||||
>
|
||||
<template #richHeadImg>
|
||||
<!-- <image :src="curriculumData.imgUrl" mode="widthFix" class="headImage"></image> -->
|
||||
|
||||
<!-- <image :src="detailInfo.imgUrl" v-if="detailInfo.imgUrl" mode="widthFix" class="headImage"></image> -->
|
||||
</template>
|
||||
</common-rich-detail>
|
||||
<view class="prof">
|
||||
<view
|
||||
style=" padding: 0 20rpx;"
|
||||
@click="isHideCourseInfo = !isHideCourseInfo"
|
||||
>
|
||||
<view
|
||||
:class="`${isHideCourseInfo ? 'hidden2' : ''}`"
|
||||
style="width: calc(100% - 50rpx)"
|
||||
v-html="curriculumData.content"
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="buy">购买</view> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<template v-if="cateList.length > 1">
|
||||
<common-sticky
|
||||
label="title"
|
||||
:itemStyle="`width:${
|
||||
cateList.length == 2 ? '50' : '33'
|
||||
}%;padding-left: 15px; padding-right: 15px; height: 68rpx;`"
|
||||
:list="cateList"
|
||||
:currentCateIndex="currentCateIndex"
|
||||
@handleselectCate="handleselectCate"
|
||||
>
|
||||
<template slot="labelSlot" slot-scope="slotProps">
|
||||
<!-- {{ slotProps.data }} -->
|
||||
<!-- @click.native.stop="handleClickEdit(slotProps.row)" -->
|
||||
<uni-icons
|
||||
class="editIcon"
|
||||
type="locked-filled"
|
||||
color="#b0b0b0"
|
||||
size="24"
|
||||
v-if="slotProps.data.isBuy == 0 && vip.type == '0'"
|
||||
style="display: inline-block; margin-left: 10rpx"
|
||||
></uni-icons>
|
||||
</template>
|
||||
</common-sticky>
|
||||
</template>
|
||||
<view class="containerBg2">
|
||||
<view class="shiting_content">
|
||||
<view v-for="(v, i) in cateList" style="margin-bottom: 40rpx">
|
||||
<view class="catalogueTitle chapter_title">
|
||||
<view class="top">
|
||||
<view class="line"></view>
|
||||
<view class="left">
|
||||
<text style="font-weight: blod" class="catalogue_title">{{
|
||||
v.title
|
||||
}}</text>
|
||||
<!-- 普通用户或者国学Vip -->
|
||||
</view>
|
||||
<view
|
||||
class="not_purchased"
|
||||
v-if="
|
||||
(v.isBuy != 1 && (vip.type == 0 || vip.type == 3)) ||
|
||||
(v.isBuy == 1 &&
|
||||
(vip.type == 0 || vip.type == 3) &&
|
||||
v.endTime)
|
||||
"
|
||||
>
|
||||
<view class="spot"></view>
|
||||
<!-- -->
|
||||
<text v-if="v.isBuy != 1 && (vip.type == 0 || vip.type == 3)"
|
||||
>未购买
|
||||
</text>
|
||||
<!-- -->
|
||||
<text
|
||||
v-if="
|
||||
v.isBuy == 1 &&
|
||||
(vip.type == 0 || vip.type == 3) &&
|
||||
v.endTime
|
||||
"
|
||||
>有效期至{{ v.endTime }}
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<!-- <view :class="`priceDetail`" v-if="this.statusList[this.currentStatusIndex].type == 'price'">
|
||||
<view class="right">
|
||||
<!-- 购买 -->
|
||||
|
||||
<scroll-view scroll-y="true" class="scroll-Y">
|
||||
<price ref="priceDetail" type="price" :oid="this.statusList[this.currentStatusIndex].oid"></price>
|
||||
<u-icon
|
||||
v-if="goBuyType != 1&&v.type!=0"
|
||||
@click="handleClickGetGoodsList(v)"
|
||||
class="editIcon"
|
||||
name="shopping-cart-fill"
|
||||
color="#FF2B57"
|
||||
size="30"
|
||||
style="display: inline-block; margin-left: 10rpx"
|
||||
></u-icon
|
||||
>
|
||||
|
||||
<text v-if="goBuyType != 1&&v.type==0&&!v.endTime" style="color: #fff; font-size: 12px;" class="fdButtonBox aui-text-success" @click="handleClickGetGoodsList(v)">开始学习</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</scroll-view>
|
||||
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
<view :class="`priceDetail`" v-else-if="this.statusList[this.currentStatusIndex].type == 'purchaseNotice'">
|
||||
|
||||
<scroll-view scroll-y="true" class="scroll-Y">
|
||||
<price ref="purchaseNotice" :oid="this.statusList[this.currentStatusIndex].oid"></price>
|
||||
|
||||
</scroll-view>
|
||||
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
-->
|
||||
|
||||
<view :class="`dataList `" style="background-color: #fff">
|
||||
<courseDescription
|
||||
:isCondition="true"
|
||||
:dataList="dataList"
|
||||
@hancleClick="gotoDetail"
|
||||
label="title"
|
||||
>
|
||||
<template slot="labelSlot" slot-scope="slotProps">
|
||||
<view
|
||||
:style="`${
|
||||
slotProps.rowIndex < 3
|
||||
? 'width:calc(100% - 100rpx);float:left;'
|
||||
: 'width:100%;'
|
||||
}`"
|
||||
>
|
||||
<text
|
||||
:class="`${
|
||||
slotProps.row.viewFlg == 1 ? 'aui-text-success' : ''
|
||||
}`"
|
||||
>{{ slotProps.row.title }}</text
|
||||
<!-- -->
|
||||
</view>
|
||||
<view class="chapter_content" v-if="courseList[i].length>0">
|
||||
|
||||
<courseDescription
|
||||
:isCondition="true"
|
||||
:dataList="courseList[i]"
|
||||
@hancleClick="gotoDetail"
|
||||
label="title"
|
||||
>
|
||||
</view>
|
||||
<template slot="labelSlot" slot-scope="slotProps">
|
||||
<view
|
||||
:style="`${
|
||||
slotProps.rowIndex < 3
|
||||
? 'width:calc(100% - 100rpx);float:left;'
|
||||
: 'width:100%;'
|
||||
}`"
|
||||
>
|
||||
<text
|
||||
:class="`${
|
||||
slotProps.row.viewFlg == 1 ? 'aui-text-success' : ''
|
||||
}`"
|
||||
>{{ slotProps.row.title }}</text
|
||||
>
|
||||
</view>
|
||||
|
||||
<!-- <text v-if="slotProps.row.conditions!='03'">【试听】</text> -->
|
||||
</template>
|
||||
<!-- <text v-if="slotProps.row.conditions!='03'">【试听】</text> -->
|
||||
</template>
|
||||
|
||||
<template slot="leftSlot" slot-scope="slotProps">
|
||||
<!-- {{ slotProps.row.bxType }} -->
|
||||
<!-- <text v-if="slotProps.row.conditions!='03'">【试听】</text> -->
|
||||
</template>
|
||||
<template slot="rightSlot" slot-scope="slotProps">
|
||||
<!-- {{ slotProps.row.bxType }} -->
|
||||
<template slot="leftSlot" slot-scope="slotProps">
|
||||
<!-- {{ slotProps.row.bxType }} -->
|
||||
<!-- <text v-if="slotProps.row.conditions!='03'">【试听】</text> -->
|
||||
</template>
|
||||
<template slot="rightSlot" slot-scope="slotProps">
|
||||
<!-- {{ slotProps.row.bxType }} -->
|
||||
|
||||
<text
|
||||
class="fdButtonBox aui-text-success"
|
||||
v-if="slotProps.row.isAudition == 1 && vip.type == '0'"
|
||||
>试听</text
|
||||
>
|
||||
<text
|
||||
class="fdButtonBox aui-text-success" style="background: none;"
|
||||
v-if="slotProps.row.isAudition == 1 && vip.type == '0'"
|
||||
>试听</text
|
||||
>
|
||||
|
||||
<view> </view>
|
||||
</template>
|
||||
</courseDescription>
|
||||
<view> </view>
|
||||
</template>
|
||||
</courseDescription>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
</view
|
||||
></view>
|
||||
</view>
|
||||
|
||||
<view class="small_class_teaching_box">
|
||||
@@ -388,6 +395,8 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isHideCourseInfo: true,
|
||||
courseList: [],
|
||||
showGoBuy: true,
|
||||
protocolShow: false,
|
||||
options: {},
|
||||
@@ -439,6 +448,7 @@ export default {
|
||||
taiHuClassInfo: {},
|
||||
searchValue: "",
|
||||
goBuyTitle: "",
|
||||
goBuyType: "",
|
||||
description: "",
|
||||
teachingList: [
|
||||
{
|
||||
@@ -521,13 +531,18 @@ export default {
|
||||
// this.$refs.uNotify.close()
|
||||
},
|
||||
methods: {
|
||||
handleClickGetVip() {
|
||||
uni.navigateTo({
|
||||
url: "/pages/mine/vip/index",
|
||||
});
|
||||
},
|
||||
getUserInfo() {
|
||||
this.$http.post("common/user/getUserInfo").then((res) => {
|
||||
console.log("res at line 505:", res);
|
||||
if (res.result.userVip) {
|
||||
this.vip = res.result.userVip ;
|
||||
}else{
|
||||
this.vip ={ type: 0 }
|
||||
this.vip = res.result.userVip;
|
||||
} else {
|
||||
this.vip = { type: 0 };
|
||||
}
|
||||
});
|
||||
},
|
||||
@@ -573,10 +588,11 @@ export default {
|
||||
this.selectGoodsData = {};
|
||||
},
|
||||
//获取相关关联课程商品
|
||||
handleClickGetGoodsList(data) {
|
||||
//获取相关关联课程商品
|
||||
handleClickGetGoodsList(v) {
|
||||
// console.log("data at line 313:", data);
|
||||
|
||||
if (this.cateList[this.currentCateIndex].type == 0) {
|
||||
if (v.type == 0) {
|
||||
//免费
|
||||
|
||||
this.$http
|
||||
@@ -584,7 +600,7 @@ export default {
|
||||
url: this.urlList.startStudyForMF,
|
||||
method: "POST",
|
||||
data: {
|
||||
catalogueId: this.cateList[this.currentCateIndex].id,
|
||||
catalogueId: v.id,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
@@ -614,7 +630,7 @@ export default {
|
||||
url: this.urlList.goodsList,
|
||||
method: "POST",
|
||||
data: {
|
||||
id: this.cateList[this.currentCateIndex].id,
|
||||
id: v.id,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
@@ -733,6 +749,42 @@ export default {
|
||||
url: `/pages/curriculum/order/curriculum/index?navTitle=${v.title}&title=${v.title}&oid=${v.oid}`,
|
||||
});
|
||||
},
|
||||
async getChapterList(v) {
|
||||
var list = [];
|
||||
var that = this;
|
||||
|
||||
await $http
|
||||
.request({
|
||||
url: this.urlList.curriculumInfo,
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data: {
|
||||
id: v.id,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then(async (res) => {
|
||||
if (res.code == 0 && res.chapterList.length > 0) {
|
||||
// res.chapterList.map((item) => {
|
||||
// item.tryListen = [];
|
||||
// });
|
||||
|
||||
list = JSON.parse(JSON.stringify(res.chapterList));
|
||||
|
||||
console.log("at line 1343:", list);
|
||||
// console.log('status', res)
|
||||
} else {
|
||||
list = [];
|
||||
}
|
||||
console.log("at line 1333:", list);
|
||||
this.$forceUpdate();
|
||||
});
|
||||
|
||||
console.log("list at line 1375:", list);
|
||||
return list;
|
||||
},
|
||||
getCourseDescriptionData() {
|
||||
var data = {};
|
||||
var that = this;
|
||||
@@ -752,8 +804,26 @@ export default {
|
||||
})
|
||||
.then(async (res) => {
|
||||
that.curriculumData = res.data.course;
|
||||
that.cateList = res.data.catalogues;
|
||||
that.cateList = [...res.data.catalogues];
|
||||
// this..getPercentage();
|
||||
|
||||
for (let i = 0; i < that.cateList.length; i++) {
|
||||
var list = await that.getChapterList(that.cateList[i]);
|
||||
|
||||
console.log("list at line 1224:", list);
|
||||
// list.map(async (item, index) => {
|
||||
// console.log("item at line 1239:", item);
|
||||
// item.videoList = [];
|
||||
// var data = await that.getPath(item);
|
||||
// item.videoList = [...data];
|
||||
// });
|
||||
|
||||
console.log("list at line 1222:", list);
|
||||
that.courseList[i] = [...list];
|
||||
|
||||
console.log("that.courseList at line 1238:", that.courseList);
|
||||
}
|
||||
|
||||
that.relatedCoursesList = res.data.correlatedList
|
||||
? res.data.correlatedList
|
||||
: [];
|
||||
@@ -806,18 +876,33 @@ export default {
|
||||
// this.description=`您还未购买当前【${item.title}】课程,`
|
||||
var title1 = "";
|
||||
this.currentCateIndex = index;
|
||||
if (item.type == 0) {
|
||||
if (this.cateList.length > 1) {
|
||||
this.goBuyTitle = `【${item.title}】课程为免费课程`;
|
||||
} else if (this.cateList.length == 1) {
|
||||
this.goBuyTitle = `为免费课程`;
|
||||
}
|
||||
} else {
|
||||
if (this.cateList.length > 1) {
|
||||
this.goBuyTitle = `您还未购买当前【${item.title}】课程`;
|
||||
} else if (this.cateList.length == 1) {
|
||||
this.goBuyTitle = `您还未购买当前课程`;
|
||||
}
|
||||
switch (this.vip.type) {
|
||||
case 0:
|
||||
this.goBuyTitle = "购买VIP,即可免费观看吴门医述所有课程";
|
||||
this.goBuyType = 0;
|
||||
break;
|
||||
case 1 || 2:
|
||||
var vipName = "";
|
||||
if (this.vip.type == 1) {
|
||||
vipName = "超级VIP";
|
||||
}
|
||||
if (this.vip.type == 2) {
|
||||
vipName = "吴门医述VIP";
|
||||
}
|
||||
//超级VIP
|
||||
this.goBuyTitle = `尊贵的${vipName},您的有效期到 ${
|
||||
this.vip.endTime && this.vip.endTime.split(" ")[0]
|
||||
}`;
|
||||
this.goBuyType = 1;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
//众妙之门
|
||||
this.goBuyTitle =
|
||||
"尊贵的众妙之门VIP,升级至超级VIP,即可免费观看吴门医述所有课程";
|
||||
|
||||
this.goBuyType = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
// this.currentCateIndex = index;
|
||||
@@ -1045,6 +1130,7 @@ export default {
|
||||
|
||||
.flexbox {
|
||||
display: flex;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.uni-modal .uni-modal__bd {
|
||||
@@ -1088,7 +1174,7 @@ export default {
|
||||
.fdButtonBox {
|
||||
border: 1rpx solid $themeColor;
|
||||
background-color: $themeColor;
|
||||
color: #fff;
|
||||
color: $themeColor;
|
||||
// width: 100%;
|
||||
float: right;
|
||||
padding: 4rpx 14rpx;
|
||||
@@ -1152,8 +1238,8 @@ export default {
|
||||
|
||||
.small_class_teaching_box {
|
||||
width: 100%;
|
||||
margin-top: 20rpx;
|
||||
background: #b7e0e2;
|
||||
// margin-top: 20rpx;
|
||||
background: #f0fbf3;
|
||||
|
||||
.small_class_teaching_top {
|
||||
padding: 20rpx 20rpx 0 10rpx;
|
||||
@@ -1180,7 +1266,7 @@ export default {
|
||||
}
|
||||
|
||||
.small_class_teaching_content {
|
||||
margin-top: 20rpx;
|
||||
margin-top: 0rpx;
|
||||
// background: #EDFCF7;
|
||||
padding-bottom: 10rpx;
|
||||
|
||||
@@ -1411,4 +1497,287 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.saveBtnss {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 80rpx;
|
||||
|
||||
// width: 46%;
|
||||
overflow: hidden;
|
||||
border-radius: 50rpx;
|
||||
|
||||
text {
|
||||
padding-left: 10rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
.vipBtn {
|
||||
@include theme("vipbtnbg");
|
||||
border-radius: 100rpx;
|
||||
justify-content: center;
|
||||
width: auto;
|
||||
padding: 0 20rpx;
|
||||
color: #fff;
|
||||
margin: 10rpx auto;
|
||||
}
|
||||
.buyBtn {
|
||||
background: #f42c32 !important;
|
||||
// background:
|
||||
}
|
||||
|
||||
/deep/.u-alert--warning--light {
|
||||
background-color: none !important;
|
||||
}
|
||||
/deep/.u-alert__text--warning--light {
|
||||
color: #fff !important;
|
||||
}
|
||||
/deep/.u-alert {
|
||||
background: none !important;
|
||||
}
|
||||
/deep/.u-icon__icon--warning {
|
||||
color: #fff !important;
|
||||
}
|
||||
/deep/.uni-section {
|
||||
background: transparent !important;
|
||||
}
|
||||
/deep/.uni-section .uni-section-header {
|
||||
padding-top: 10rpx !important;
|
||||
padding-bottom: 10rpx !important;
|
||||
}
|
||||
/deep/.uni-section .uni-section-header {
|
||||
padding-left: 0rpx !important;
|
||||
// padding-bottom: 10rpx !important;
|
||||
}
|
||||
|
||||
.course_info_box {
|
||||
// margin-bottom:10rpx;
|
||||
// padding:20rpx;
|
||||
.course_info {
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
background: rgb(243, 250, 243);
|
||||
// border-radius:20rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.catalogue_title {
|
||||
background: linear-gradient(130deg, #16171b 0%, #44b2b1 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
font-size: 42rpx;
|
||||
font-weight: bold;
|
||||
letter-spacing: 4rpx;
|
||||
|
||||
// border:4rpx solid #1FB2F8;
|
||||
// box-shadow: 0 2px 12px 0 rgba(255,255,255,.1);
|
||||
// border-radius:40rpx;
|
||||
// color:#fff;
|
||||
// width:200rpx;
|
||||
// height:70rpx;
|
||||
// display:inline-block;
|
||||
// padding:10rpx 20rpx;
|
||||
}
|
||||
.chapter_content {
|
||||
// padding: 20rpx;
|
||||
// padding-top:60rpx;
|
||||
margin-top: 40rpx;
|
||||
border: 4rpx solid #fffffc;
|
||||
// background-image: linear-gradient(52deg, #E8F6FF 0%, #E3F2FE 50%);
|
||||
// background-image: linear-gradient(-180deg, #8BBDFE 0%, #B4DCFF 100%);
|
||||
background: rgba(255, 255, 255, 0.85);
|
||||
// background:rgba(255, 255, 255, 0.85);
|
||||
box-shadow: 0px 0px 4px 0px rgba(46, 114, 123, 0.6) !important;
|
||||
border-top-right-radius: 40rpx;
|
||||
border-bottom-left-radius: 40rpx;
|
||||
.videoList {
|
||||
// padding:0 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
// justify-content: space-between;
|
||||
.video_item {
|
||||
width: 24%;
|
||||
font-size: 22rpx;
|
||||
margin: 10rpx 0;
|
||||
background: rgba(255, 255, 255, 0.85);
|
||||
box-shadow: 0 2px 12px 0 rgba(255, 255, 255, 0.1);
|
||||
border-radius: 10rpx;
|
||||
padding: 10rpx 20rpx;
|
||||
margin-right: 1%;
|
||||
|
||||
color: #333;
|
||||
letter-spacing: 2rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 16rpx;
|
||||
height: 50rpx;
|
||||
border-top-right-radius: 12rpx;
|
||||
border-bottom-right-radius: 12rpx;
|
||||
margin-right: 20rpx;
|
||||
background-image: linear-gradient(108deg, #609080 0%, #7ba98c 100%);
|
||||
}
|
||||
|
||||
.containerBg2 {
|
||||
padding-top: 40rpx;
|
||||
// margin-top: 100rpx;
|
||||
background: linear-gradient(108deg, #e4f8eb 0%, #d1e8da 100%) !important;
|
||||
|
||||
.shiting {
|
||||
line-height: 100rpx;
|
||||
background: linear-gradient(130deg, #4fa1fd 0%, #12f3ff 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
margin-bottom: 20rpx;
|
||||
// background-image: linear-gradient(108deg, #4FA1FD 100%, #4FA1FD 0%);
|
||||
// border:4rpx solid #1FB2F8;
|
||||
// box-shadow: 0 2px 12px 0 rgba(255,255,255,.1);
|
||||
// border-radius:40rpx;
|
||||
color: #fff;
|
||||
// width:200rpx;
|
||||
// height:70rpx;
|
||||
// display:inline-block;
|
||||
// padding:10rpx 20rpx;
|
||||
font-size: 72rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.shiting_content {
|
||||
padding: 20rpx;
|
||||
}
|
||||
}
|
||||
.chapter_title {
|
||||
width: 100%;
|
||||
font-size: 28rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
|
||||
// justify-content: space-between;
|
||||
.top {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.right {
|
||||
// float: right;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
.not_purchased {
|
||||
position: relative;
|
||||
.spot {
|
||||
width: 8rpx;
|
||||
height: 8rpx;
|
||||
position: absolute;
|
||||
right: -4rpx;
|
||||
border-radius: 8rpx;
|
||||
background-color: #33435d;
|
||||
bottom: -4rpx;
|
||||
}
|
||||
color: #33435d;
|
||||
margin-left: 20rpx;
|
||||
font-size: 24rpx;
|
||||
padding: 0 20rpx;
|
||||
border-bottom: 2rpx dotted #33435d;
|
||||
text {
|
||||
margin: 0 10rpx;
|
||||
letter-spacing: 1rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.course_title {
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background: #fff;
|
||||
}
|
||||
.catalogueTitle {
|
||||
justify-content: space-between;
|
||||
overflow: hidden;
|
||||
// background-image: linear-gradient(108deg, #cae9f9 0%, #e1f6fc8c 50%);
|
||||
|
||||
// background-image: linear-gradient(180deg, #cfe0ff 0%, #fff 50%);
|
||||
// padding: 0 20rpx;
|
||||
font-size: 40rpx;
|
||||
|
||||
.learnBtn {
|
||||
margin-bottom: 20rpx;
|
||||
width: 150rpx;
|
||||
text-align: center;
|
||||
border: 1px solid $themeColor;
|
||||
color: $themeColor;
|
||||
line-height: 60rpx;
|
||||
height: 60rpx;
|
||||
font-size: 28rpx;
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.price {
|
||||
color: #ff582e;
|
||||
font-size: 32rpx;
|
||||
|
||||
i {
|
||||
font-style: normal;
|
||||
font-size: 60rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
display: block;
|
||||
font-size: 30rpx;
|
||||
margin-top: 20rpx;
|
||||
font-weight: bold;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.saveBtn {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 80rpx;
|
||||
background-color: #00d8df;
|
||||
// width: 46%;
|
||||
overflow: hidden;
|
||||
border-radius: 30rpx;
|
||||
|
||||
text {
|
||||
padding-left: 10rpx;
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.prof {
|
||||
font-size: 26rpx;
|
||||
line-height: 50rpx;
|
||||
padding: 10rpx 0;
|
||||
color: #333;
|
||||
// background-color: #f0f0f0;
|
||||
// margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.containerBg1 {
|
||||
border-top: 1px solid #fff;
|
||||
margin-top: -4rpx;
|
||||
// position: relative;
|
||||
z-index: 1;
|
||||
|
||||
border-radius: 30rpx 30rpx 0 0;
|
||||
// background-color: #fff;
|
||||
// overflow: hidden;
|
||||
}
|
||||
.courseTitle {
|
||||
width: calc(100% - 220rpx);
|
||||
padding: 20rpx;
|
||||
font-size: 38rpx;
|
||||
font-weight: bold;
|
||||
// background-image: url(@/static/bg1.jpg);
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
:backState="3000"
|
||||
></z-nav-bar>
|
||||
|
||||
<template v-if="currentCateIndex == 1">
|
||||
<!-- <template v-if="currentCateIndex == 1">
|
||||
<view class="fixed">
|
||||
<view v-if="isOpenRightButton">
|
||||
<view class="openBox">
|
||||
@@ -27,27 +27,11 @@
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<!-- <view
|
||||
@click="close"
|
||||
class="closeBox"
|
||||
style="background-color: #fff; margin-top: 20rpx; width: 100%"
|
||||
>
|
||||
<image
|
||||
src="@/static/icon/close.png"
|
||||
mode="widthFix"
|
||||
style="width: 50rpx; height: 50rpx"
|
||||
></image
|
||||
></view> -->
|
||||
|
||||
</view>
|
||||
<!-- <view class="closeBox" v-else @click="isOpenRightButton = true">
|
||||
<image
|
||||
src="@/static/icon/open.png"
|
||||
mode="widthFix"
|
||||
style="width: 50rpx; height: 50rpx"
|
||||
></image>
|
||||
</view> -->
|
||||
|
||||
</view>
|
||||
</template>
|
||||
</template> -->
|
||||
|
||||
<view class="contentBox commonPageContentBox">
|
||||
<!-- <scroll-view class="scroll-view_H statusList" scroll-x="true" scroll-left="0"> -->
|
||||
@@ -79,11 +63,34 @@
|
||||
vip.type == 1 ? '超级' : vip.type == 2 ? '吴门医述' : '众妙之门'
|
||||
}VIP会员,您的有效期到 ${vip.endTime && vip.endTime.split(' ')[0]}`"
|
||||
:show-icon="true"
|
||||
v-if="vip.type != 0"
|
||||
v-if="vip.type != 0 && currentCateIndex != 2"
|
||||
>
|
||||
</u-alert>
|
||||
<template v-if="currentCateIndex == 1">
|
||||
<view
|
||||
<u-index-list :index-list="indexList" activeColor="#60CABF" :uIndexStyle="{
|
||||
height:'auto',
|
||||
padding:'20rpx'
|
||||
}">
|
||||
<view v-for="(item, index) in itemArr">
|
||||
<!-- #ifdef APP-NVUE -->
|
||||
<u-index-anchor :text="indexList[index]" :bgColor="#AFDECC"></u-index-anchor>
|
||||
<!-- #endif -->
|
||||
<u-index-item>
|
||||
<!-- #ifndef APP-NVUE -->
|
||||
<u-index-anchor :text="indexList[index]"></u-index-anchor>
|
||||
<!-- #endif -->
|
||||
<curriculm-list
|
||||
:currentCateIndex="currentCateIndex"
|
||||
@refresh="getCourseDescriptionData()"
|
||||
:dataList="item"
|
||||
:userInfo="userInfo"
|
||||
>
|
||||
</curriculm-list>
|
||||
</u-index-item>
|
||||
</view>
|
||||
</u-index-list>
|
||||
|
||||
<!-- <view
|
||||
v-for="(v, index) in allDataList"
|
||||
:key="index"
|
||||
class="right-item"
|
||||
@@ -100,18 +107,18 @@
|
||||
>
|
||||
</view>
|
||||
<curriculm-list
|
||||
:currentCateIndex="currentCateIndex"
|
||||
:currentCateIndex="currentCateIndex"
|
||||
@refresh="getCourseDescriptionData()"
|
||||
:dataList="v.courseList"
|
||||
:userInfo="userInfo"
|
||||
>
|
||||
</curriculm-list>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</template>
|
||||
<template v-else>
|
||||
<curriculm-list
|
||||
:currentCateIndex="currentCateIndex"
|
||||
:currentCateIndex="currentCateIndex"
|
||||
@refresh="getCourseDescriptionData()"
|
||||
:dataList="allDataList"
|
||||
:userInfo="userInfo"
|
||||
@@ -161,8 +168,6 @@
|
||||
></u-modal>
|
||||
|
||||
<z-navigation></z-navigation>
|
||||
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -181,14 +186,16 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
indexList: [],
|
||||
itemArr: [],
|
||||
distanceList: [],
|
||||
|
||||
|
||||
timer: null,
|
||||
isLeftClick: false,
|
||||
isOpenRightButton: true,
|
||||
viewid: "cont0",
|
||||
viewidIndex: 0,
|
||||
|
||||
|
||||
openCollapseList: [],
|
||||
cateIconList: [
|
||||
{
|
||||
@@ -603,6 +610,9 @@ export default {
|
||||
});
|
||||
},
|
||||
getCourseDescriptionData() {
|
||||
this.allDataList=[]
|
||||
this.indexList=[]
|
||||
this.itemArr=[]
|
||||
var data = {};
|
||||
if (this.currentCateIndex == 0) {
|
||||
// data.userId = this.userInfo.id;
|
||||
@@ -624,6 +634,13 @@ export default {
|
||||
.then(async (res) => {
|
||||
console.log(res.courses, "88888");
|
||||
that.allDataList = res.courseList;
|
||||
this.indexList = this.allDataList.map((e) => {
|
||||
return e.title;
|
||||
});
|
||||
console.log("this.indexList at line 645:", this.indexList);
|
||||
this.itemArr = this.allDataList.map((e) => {
|
||||
return e.courseList;
|
||||
});
|
||||
if (this.currentCateIndex == 1) {
|
||||
that.openCollapseList = that.allDataList.map((e) => {
|
||||
return e.id;
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</view>
|
||||
</view> -->
|
||||
<view
|
||||
style="font-size: 24rpx"
|
||||
style="font-size: 24rpx;line-height: 40rpx;"
|
||||
class="learning_image_right"
|
||||
v-if="currentCateIndex != 2"
|
||||
>
|
||||
|
||||
@@ -2,6 +2,27 @@
|
||||
<view class="commonPageBox">
|
||||
<public-module></public-module>
|
||||
<view class="header_box"></view>
|
||||
<view class="appJump">
|
||||
<view class="everhealth item flexbox" @click="appjumpfun('everhealth')">
|
||||
<view class="img">
|
||||
<image
|
||||
src="@/static/icon/ic_login_health.png"
|
||||
mode="widthFix"
|
||||
></image>
|
||||
</view>
|
||||
<view class="text">
|
||||
<text>一路健康</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="zmzm item flexbox" @click="appjumpfun('nuttyreading')">
|
||||
<view class="img">
|
||||
<image src="@/static/icon/home_icon_3.png" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="text">
|
||||
<text>疯子读书</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="main_content_box">
|
||||
<view class="curriculum_box">
|
||||
<view
|
||||
@@ -161,14 +182,12 @@
|
||||
</view>
|
||||
<view class="learning_box_bottom"></view>
|
||||
</view>
|
||||
<view class="learning_box listening_box bottomBox">
|
||||
<!-- <view class="learning_box listening_box bottomBox">
|
||||
<view class="item_img" @click="handleGoApp">
|
||||
<image src="@/static/tab/bottom1.png" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view class="item_img">
|
||||
<!-- <image src="@/static/tab/bg.png" mode="aspectFill"></image> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -480,6 +499,72 @@ export default {
|
||||
url: `/pages/curriculum/order/curriculum/index?navTitle=${v.title}&title=${v.title}&id=${v.id}`,
|
||||
});
|
||||
},
|
||||
appjumpfun(name) {
|
||||
let bagName = "";
|
||||
let schemes = "";
|
||||
if (name == "nuttyreading") {
|
||||
bagName = "com.cn.nuttyreading";
|
||||
schemes = "nuttyreading";
|
||||
}
|
||||
if (name == "everhealth") {
|
||||
bagName = "cn.com.everhealth";
|
||||
schemes = "everhealth";
|
||||
}
|
||||
// if(name == 'everhealth'){
|
||||
if (plus.os.name == "Android") {
|
||||
//安卓
|
||||
if (
|
||||
plus.runtime.isApplicationExist({
|
||||
//查看安卓系统手机有没有下载这款app
|
||||
pname: bagName, //B款app云打包的包名
|
||||
})
|
||||
) {
|
||||
//安装了app
|
||||
plus.runtime.launchApplication({
|
||||
//打开app
|
||||
pname: bagName, //B款app云打包的包名
|
||||
extra: {
|
||||
url: `${schemes}://${bagName}`, //B款app配置的schemes+云打包的包名
|
||||
},
|
||||
function(e) {
|
||||
console.log("Open system default browser failed: " + e.message);
|
||||
},
|
||||
});
|
||||
} else {
|
||||
//未安装app
|
||||
plus.runtime.openURL(
|
||||
`https://a.app.qq.com/o/simple.jsp?pkgname=${bagName}`,
|
||||
function (res) {
|
||||
//进入后台小哥哥给我的应用宝下载链接,让你们后台给你
|
||||
//这链接会判断你手机是ios还是Android,Android进入应用宝下载app
|
||||
//跟下面的是一个链接
|
||||
console.log(res);
|
||||
}
|
||||
);
|
||||
}
|
||||
} else if (plus.os.name == "iOS") {
|
||||
//苹果
|
||||
//因为ios查不到B款app在ios系统手机里面,其实下载了,也是检测不到,所以就不检测了
|
||||
//直接打开B款app,B款app没有的话,会进入回调报错,我们在回调去打开下载链接
|
||||
plus.runtime.launchApplication(
|
||||
{
|
||||
action: "${schemes}://",
|
||||
},
|
||||
function (e) {
|
||||
plus.runtime.openURL(
|
||||
`https://a.app.qq.com/o/simple.jsp?pkgname=${bagName}`,
|
||||
function (res) {
|
||||
//进入后台小哥哥给我的appStore下载app链接,,让你们后台给你
|
||||
//这链接会判断你手机是ios还是Android,ios进入应用宝下载app
|
||||
//跟上面的是一个链接
|
||||
console.log(res);
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
// }
|
||||
}
|
||||
},
|
||||
goGoodsDetail(v) {
|
||||
console.log(v);
|
||||
uni.navigateTo({
|
||||
@@ -956,4 +1041,40 @@ function calcTimer(timer) {
|
||||
// padding-left: 60rpx;
|
||||
// background-image: url("@/static/icon/noticebg.png");
|
||||
}
|
||||
.appJump {
|
||||
width: 190rpx;
|
||||
|
||||
position: fixed;
|
||||
right: 0;
|
||||
top: 8%;
|
||||
z-index: 1;
|
||||
.item {
|
||||
background: rgba(255, 255, 255, 0.6);
|
||||
margin-bottom: 40rpx;
|
||||
border: 1px solid #fff;
|
||||
border-right: none;
|
||||
align-items: center;
|
||||
padding-right: 10rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
overflow: hidden;
|
||||
border-radius: 50rpx 0 0 50rpx;
|
||||
text {
|
||||
font-size: 28rpx;
|
||||
font-weight: 700;
|
||||
}
|
||||
.img {
|
||||
// width: 60rpx; height: 60rpx;
|
||||
padding: 6rpx;
|
||||
overflow: hidden;
|
||||
background-color: #fff; border-radius: 100%;
|
||||
image {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
|
||||
<view class="mine_box" :style="`top:${(45 + statusBarHeight) * 2}rpx`">
|
||||
<view class="per_mes">
|
||||
<image
|
||||
<view style="display: flex;align-items: center;flex-direction: column;">
|
||||
<image
|
||||
@click="goUserInfo"
|
||||
:src="userMes.avatar"
|
||||
v-if="userMes.avatar != null"
|
||||
@@ -36,6 +37,8 @@
|
||||
<view v-if="userMes.vip == 3" class="user_vip">众妙之门VIP</view>
|
||||
<view v-if="userMes.vip == 2" class="user_vip">吴门医述VIP</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<image
|
||||
src="@/static/icon/home_icon_logo.png"
|
||||
@@ -43,7 +46,7 @@
|
||||
class="per_mes_img color_shandow"
|
||||
></image>
|
||||
|
||||
<view class="userInfoBox" style="width: calc(100% - 220rpx)">
|
||||
<view class="userInfoBox" style="width: calc(100% - 220rpx);">
|
||||
<template>
|
||||
<view class="name"
|
||||
>昵称:{{ userMes.nickname ? userMes.nickname : "未设置" }}</view
|
||||
@@ -56,7 +59,7 @@
|
||||
<template v-if="userMes.email">
|
||||
<view class="phone email">邮箱({{ userMes.email }})</view>
|
||||
</template>
|
||||
|
||||
|
||||
<!-- <text class="tong">累计读书5本
|
||||
<span style="margin: 0 20upx;">|</span> 今日读50分钟
|
||||
</text> -->
|
||||
@@ -81,8 +84,9 @@
|
||||
</view> -->
|
||||
<view
|
||||
style="
|
||||
|
||||
padding: 20rpx;
|
||||
height: 200rpx;
|
||||
height: 220rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
@@ -191,7 +195,7 @@
|
||||
</image>
|
||||
<text style="color: #c4d3d4">VIP</text>
|
||||
</view>
|
||||
|
||||
|
||||
<swiper
|
||||
:autoplay="true"
|
||||
:interval="3000"
|
||||
@@ -219,24 +223,54 @@
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
<view v-else class="noVip hasVip">
|
||||
<view class="zhanghu PM_font" style="text-align: center">
|
||||
<view v-else class="noVip hasVip" style="position: relative;">
|
||||
<view class="zhanghu " style="padding-top: 20rpx;text-align: center">
|
||||
<image
|
||||
class="vip_image"
|
||||
src="@/static/icon/quanyi.png"
|
||||
mode="aspectFit"
|
||||
>
|
||||
</image>
|
||||
<text style="">VIP</text>
|
||||
<text class="PM_font">VIP</text>
|
||||
<view class="viptime" v-if="userMes.vip!=0"
|
||||
>{{ userMes.userVip.endTime.split(" ")[0] }} 到期</view
|
||||
>
|
||||
</view>
|
||||
|
||||
<view class="time"
|
||||
>{{ userMes.userVip.endTime.split(" ")[0] }}到期</view
|
||||
|
||||
<view class="PM_font xufei"
|
||||
>立即续费</view
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="list_box order_box">
|
||||
<view class="xiugai boxShadow box_fillet">
|
||||
<view class="title">我的订单</view>
|
||||
<view class="cate_box">
|
||||
<!-- <view>订单</view> -->
|
||||
<view
|
||||
class="cate_item_box"
|
||||
v-for="(v, i) in orderList"
|
||||
@click="goOrderList(`/pages/bookShop/orderList`, 'mine', i)"
|
||||
>
|
||||
<view class="cate_item_border">
|
||||
<image
|
||||
:src="v.imgUrl"
|
||||
mode="aspectFill"
|
||||
style="width: 59rpx; height: 59rpx"
|
||||
></image
|
||||
><u-badge
|
||||
type="error"
|
||||
max="99"
|
||||
:value="v.badge.value"
|
||||
style="position: absolute; top: -10rpx; right: -10rpx"
|
||||
></u-badge>
|
||||
</view>
|
||||
<view class="cate_item_name">{{ v.title }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="list_box">
|
||||
<view class="xiugai boxShadow box_fillet">
|
||||
<common-list
|
||||
@@ -352,6 +386,39 @@ import { mapState, mapMutations } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
come: "1",
|
||||
orderList: [
|
||||
{
|
||||
title: "全部",
|
||||
value: -1,
|
||||
badge: {},
|
||||
imgUrl: require("@/static/icon/ordericon1.png"),
|
||||
},
|
||||
{
|
||||
title: "待付款",
|
||||
value: 0,
|
||||
badge: {},
|
||||
imgUrl: require("@/static/icon/ordericon2.png"),
|
||||
},
|
||||
{
|
||||
title: "待发货",
|
||||
value: 1,
|
||||
badge: {},
|
||||
imgUrl: require("@/static/icon/ordericon3.png"),
|
||||
},
|
||||
{
|
||||
title: "待收货",
|
||||
value: 2,
|
||||
badge: {},
|
||||
imgUrl: require("@/static/icon/ordericon4.png"),
|
||||
},
|
||||
{
|
||||
title: "已完成",
|
||||
value: 3,
|
||||
badge: {},
|
||||
imgUrl: require("@/static/icon/ordericon5.png"),
|
||||
},
|
||||
],
|
||||
swiperList: [
|
||||
{ name: "开通会员畅享更多活动" },
|
||||
{ name: "众妙之门视频" },
|
||||
@@ -372,13 +439,14 @@ export default {
|
||||
playData: {},
|
||||
isAndorid: true,
|
||||
platform: null, // 设备系统
|
||||
pageList: [
|
||||
{
|
||||
name: "我的订单",
|
||||
url: "/pages/bookShop/orderList?type=mine",
|
||||
|
||||
type: "switchTab",
|
||||
},
|
||||
pageList: [
|
||||
// {
|
||||
// name: "我的订单",
|
||||
// url: "/pages/bookShop/orderList?type=mine",
|
||||
|
||||
// type: "switchTab",
|
||||
// },
|
||||
// {
|
||||
// name: "购物车",
|
||||
// url: "../peanut/shopping",
|
||||
@@ -430,9 +498,11 @@ export default {
|
||||
console.log(this.userInfo, "11111111111111");
|
||||
// 隐藏原生的tabbar
|
||||
// uni.hideTabBar();
|
||||
this.getBookList();
|
||||
this.getData();
|
||||
},
|
||||
async onTabItemTap() {
|
||||
this.getBookList();
|
||||
this.getData();
|
||||
},
|
||||
components: {
|
||||
@@ -441,6 +511,60 @@ export default {
|
||||
//方法
|
||||
methods: {
|
||||
...mapMutations(["setUserInfo"]),
|
||||
getBookList(flag, refreshflag) {
|
||||
this.isLoadingHide = false;
|
||||
var that = this;
|
||||
// 根据tab不同,获取最新书评、最热书评、书集列表
|
||||
// uni.showLoading({
|
||||
// title: '加载中'
|
||||
// });
|
||||
|
||||
// 顶部红点数量
|
||||
$http
|
||||
.request({
|
||||
url: "common/buyOrder/getBuyOrderNumByStatus",
|
||||
method: "POST",
|
||||
data: {
|
||||
userId: that.userInfo.id,
|
||||
come: this.come,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
// 订单状态
|
||||
// * 0: 待付款
|
||||
// * 1: 待发货
|
||||
// * 2: 已发货
|
||||
// * 3:已完成
|
||||
// * 4: 交易失败
|
||||
// * 5: 已过期
|
||||
|
||||
console.log("res at line 757:", res);
|
||||
that.map = res.data;
|
||||
|
||||
that.orderList.map((e) => {
|
||||
if (e.value == 0 || e.value == 1 || e.value == 2) {
|
||||
var numList = that.map.filter((v) => v.order_status == e.value);
|
||||
console.log("num at line 771:", numList);
|
||||
if (numList.length > 0) {
|
||||
e.badge = {
|
||||
value: numList[0].num,
|
||||
};
|
||||
}
|
||||
} else {
|
||||
e.badge = {};
|
||||
}
|
||||
});
|
||||
// this.$set('this.ordersTabs',)
|
||||
that.$forceUpdate();
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e);
|
||||
});
|
||||
},
|
||||
openInfo() {
|
||||
this.infoShow = true;
|
||||
},
|
||||
@@ -522,7 +646,17 @@ export default {
|
||||
});
|
||||
}
|
||||
},
|
||||
goOrderList(url, type, index) { uni.setStorageSync("orderStatus", index);
|
||||
console.log("url at line 644:", url);
|
||||
uni.switchTab({
|
||||
url: url,
|
||||
success: function (res) {
|
||||
|
||||
},
|
||||
});
|
||||
},
|
||||
switchTab(url) {
|
||||
console.log("url at line 644:", url);
|
||||
uni.switchTab({
|
||||
url: url,
|
||||
});
|
||||
@@ -606,6 +740,7 @@ export default {
|
||||
@import "@/style/mixin.scss";
|
||||
|
||||
.per_mes {
|
||||
// height: 200rpx;
|
||||
position: relative;
|
||||
margin: 0rpx 40rpx 60rpx 40rpx;
|
||||
align-items: center;
|
||||
@@ -633,12 +768,12 @@ export default {
|
||||
font-weight: bold;
|
||||
font-size: 38upx;
|
||||
margin-bottom: 10rpx;
|
||||
color: #fff !important;
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
.phone {
|
||||
.phone { font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.tong {
|
||||
@@ -741,17 +876,8 @@ export default {
|
||||
}
|
||||
|
||||
.hasVip {
|
||||
.time {
|
||||
padding: 4rpx 20rpx;
|
||||
font-size: 26rpx;
|
||||
border-radius: 20rpx;
|
||||
background: linear-gradient(
|
||||
to right,
|
||||
rgb(204, 229, 244) 0%,
|
||||
rgb(197, 227, 215) 100%
|
||||
) !important;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.chong_list {
|
||||
display: flex;
|
||||
|
||||
@@ -801,7 +927,7 @@ export default {
|
||||
border-radius: 20rpx !important;
|
||||
margin: 0 20rpx;
|
||||
// padding:0 40rpx;
|
||||
background: #edf6f5ad;
|
||||
background: rgba(255, 255, 255, 0.65);
|
||||
|
||||
.nav_list {
|
||||
background-color: #b7e0e2;
|
||||
@@ -999,9 +1125,10 @@ uni-page-body {
|
||||
}
|
||||
}
|
||||
.user_vip_box {
|
||||
min-width: 130rpx;
|
||||
|
||||
position: absolute;
|
||||
z-index: 10;
|
||||
// min-width: 130rpx;
|
||||
margin-top:-20rpx ;
|
||||
// position: absolute;
|
||||
bottom: -20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -1023,4 +1150,86 @@ uni-page-body {
|
||||
background: linear-gradient(to right, #5bc9c1 0%, #268798 100%);
|
||||
color: #f4f2e4;
|
||||
}
|
||||
.cate_box {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
// background: $themeColor;
|
||||
background-repeat: no-repeat;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
background-size: 100% 100%;
|
||||
// background-image: url("@/static/icon/cate_bg.png");
|
||||
box-shadow: 0rpx 0rpx 6rpx 0rpx #f9f6ea;
|
||||
border-radius: 7rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
padding: 20rpx 0rpx 40rpx;
|
||||
box-sizing: border-box;
|
||||
|
||||
.cate_item_box {
|
||||
min-width: 110rpx;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
.cate_item_border {
|
||||
position: relative;
|
||||
// width: 75rpx;
|
||||
// height: 98rpx;
|
||||
// background-size: 100% 100%;
|
||||
// background-image: url("@/static/icon/homePage/cate_bg.png");
|
||||
// border-radius: 4rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
image {
|
||||
// height: 56rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.cate_item_name {
|
||||
margin-top: 6rpx;
|
||||
// font-family: PangMenZhengDaoBiaoTiTiMianFeiBan;
|
||||
|
||||
font-weight: normal;
|
||||
font-size: 28rpx;
|
||||
color: #000000;
|
||||
// line-height: 46rpx;
|
||||
text-align: center;
|
||||
// color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.order_box {
|
||||
.title {
|
||||
padding: 20rpx 20rpx 10rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.viptime {
|
||||
position: absolute;
|
||||
left: 10rpx;
|
||||
top: 10rpx;
|
||||
// padding: 15rpx 20rpx;
|
||||
font-size: 20rpx;
|
||||
border-radius: 50rpx;
|
||||
// background: rgba(255, 255, 255, 0.65);
|
||||
color: #6D6D6D !important;
|
||||
// margin-top: 10rpx;
|
||||
line-height: 20rpx;
|
||||
}
|
||||
.xufei{
|
||||
color: rgba(244, 43, 51,0.85);
|
||||
font-size: 38rpz;
|
||||
border-radius: 50rpx;
|
||||
padding: 0rpx 20rpx;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -618,9 +618,12 @@ export default {
|
||||
uni.showToast({
|
||||
title: "支付成功",
|
||||
});
|
||||
setTimeout(() => {
|
||||
setTimeout(() => {uni.setStorageSync("orderStatus", 0);
|
||||
uni.switchTab({
|
||||
url: "/pages/bookShop/orderList?type=order",
|
||||
success: function (res) {
|
||||
|
||||
},
|
||||
});
|
||||
}, 1000);
|
||||
} else {
|
||||
@@ -657,9 +660,12 @@ export default {
|
||||
uni.showToast({
|
||||
title: "支付成功",
|
||||
});
|
||||
setTimeout(() => {
|
||||
setTimeout(() => { uni.setStorageSync("orderStatus", 0);
|
||||
uni.switchTab({
|
||||
url: "/pages/bookShop/orderList?type=order",
|
||||
success: function (res) {
|
||||
|
||||
},
|
||||
});
|
||||
}, 1000);
|
||||
} else {
|
||||
@@ -685,9 +691,12 @@ export default {
|
||||
title: "购买成功",
|
||||
icon: "success",
|
||||
});
|
||||
setTimeout(() => {
|
||||
setTimeout(() => { uni.setStorageSync("orderStatus", 0);
|
||||
uni.switchTab({
|
||||
url: "/pages/bookShop/orderList?type=order",
|
||||
success: function (res) {
|
||||
|
||||
},
|
||||
});
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user