课程列表显示已读未读

This commit is contained in:
liuyuan
2025-06-23 13:19:18 +08:00
parent 5ecf2dc1fa
commit f6e5da8dca
9 changed files with 655 additions and 416 deletions

View File

@@ -208,6 +208,16 @@
</view>
<br clear="both" />
</view>
<view class="orderContent" v-if="orderContet.orderType == 'aiVip'||orderContet.orderType == 'upgradeAiVip'" style=" display: flex; align-items: center; justify-content: center;">
<image src="/static/icon/order_vip.png" mode="aspectFill" style="width: 100rpx; height: 100rpx; flex-shrink: 0;"></image>
<view class="itemJian">
<view class="orderTitle" style="line-height: 46rpx; margin-bottom: 0;">
{{ orderContet.aiBuyConfig.title }}<span style=" color: red;">{{ orderContet.aiBuyConfig.count }}次)<span v-if="orderContet.orderType=='upgradeAiVip'">VIP升级</span></span>
</view>
</view>
</view>
<view
class="orderContent"
v-else-if="orderContet.orderType == 'point'"

View File

@@ -1644,7 +1644,7 @@ export default {
}
.commonDetailPage {
background-color: $themeBgColor;
background-color: #f5f5f5;
height: calc(100vh);
}

View File

@@ -815,30 +815,32 @@ export default {
//获取商品信息
// await this.getGoodsDataInfo();
await this.initPrepareOrder();
this.$nextTick(async () => {
if (this.pageType == "vip") {
await this.getTotalPrice();
} else {
await this.getVipFei();
await this.getDistrictAmount();
await this.getActiveCouponList();
}
var list = [...this.goodsDataList];
list = list.map((e) => e.goodsType);
this.haveCourse = list.some((ele) => ele === "05");
if (this.options.sourceType == "curriculum") {
this.goToInfo = {
url: "/pages/course/myCourse",
type: 2,
};
} else {
this.goToInfo = {
url: "/pages/bookShop/orderList",
type: 1,
};
}
});
if (this.pageType == "vip") {
console.log(111)
await this.getTotalPrice();
} else {
console.log(222)
await this.getVipFei();
await this.getDistrictAmount();
await this.getActiveCouponList();
}
var list = [...this.goodsDataList];
list = list.map((e) => e.goodsType);
console.log(333)
this.haveCourse = list.some((ele) => ele === "05");
if (this.options.sourceType == "curriculum") {
this.goToInfo = {
url: "/pages/course/myCourse",
type: 2,
};
} else {
this.goToInfo = {
url: "/pages/bookShop/orderList",
type: 1,
};
}
},
async getVipFei() {
let key = [];

View File

@@ -172,7 +172,6 @@
</template>
<template slot="contentList" slot-scope="slotProps">
<view
v-if="
userVip == null &&
@@ -227,12 +226,9 @@
>
<template slot="labelSlot" slot-scope="slotProps1">
<view
:style="`${
slotProps1.rowIndex < 3
? 'width:calc(100% - 100rpx);float:left;'
: 'width:100%;'
}`"
>
:style="`${ slotProps1.row.isAudition==1|| slotProps1.row.isLearned==1||slotProps1.row.isLearned==0
? 'width:calc(100% - 100rpx);float:left;'
: 'width:100%;'}`">
<text
:class="`${
slotProps1.row.viewFlg == 1 ? 'aui-text-success' : ''
@@ -247,10 +243,16 @@
<text
class="fdButtonBox aui-text-success"
style="background: none"
v-if="slotProps1.row.isAudition == 1"
v-if="slotProps.data.isBuy == 0&&slotProps1.row.isAudition == 1&&userVip==null"
>试听</text
>
<template v-if="slotProps.data.isBuy == 1 || userVip!=null">
<uni-tag v-if="slotProps1.row.isLearned == 0" style="position: absolute; right: 10rpx; top: 5rpx;"
:inverted="true" text="未学" size="mini" type="primary" />
<uni-tag v-if="slotProps1.row.isLearned == 1" style="position: absolute; right: 10rpx; top: 5rpx;"
:inverted="true" text="已学" size="mini" type="success" />
</template>
<view class="shitingTag" v-if="slotProps.data.type != 0">
<u-icon
v-if="
@@ -1198,6 +1200,8 @@ export default {
/deep/.titleItem {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
}
/deep/.scroll-view-item:nth-child(2n-1) {