Merge branch 'master' of https://gitee.com/wjl2008_admin/soulspace
This commit is contained in:
18
.hbuilderx/launch.json
Normal file
18
.hbuilderx/launch.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"version" : "1.0",
|
||||||
|
"configurations" : [
|
||||||
|
{
|
||||||
|
"app-plus" : {
|
||||||
|
"launchtype" : "local"
|
||||||
|
},
|
||||||
|
"default" : {
|
||||||
|
"launchtype" : "local"
|
||||||
|
},
|
||||||
|
"h5" : {
|
||||||
|
"launchtype" : "local"
|
||||||
|
},
|
||||||
|
"provider" : "aliyun",
|
||||||
|
"type" : "uniCloud"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
"name" : "心灵空间",
|
"name" : "心灵空间",
|
||||||
"appid" : "__UNI__BBBDFD2",
|
"appid" : "__UNI__BBBDFD2",
|
||||||
"description" : "心灵空间",
|
"description" : "心灵空间",
|
||||||
"versionName" : "1.0.37",
|
"versionName" : "1.0.40",
|
||||||
"versionCode" : 1037,
|
"versionCode" : 1040,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
{{childrenData.title}}
|
{{childrenData.title}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="list_block" v-if="!statusXLCP" :style="labelsList.length>0&&childrenList.length==0?`marginTop: ${45 + statusBarHeight}px;`:''">
|
<view class="list_block" v-if="!statusXLCP" :style="labelsList.length>0&&childrenList.length==0?`marginTop: ${42 }px;`:''">
|
||||||
<view class="list_item" v-if="list.length>0" v-for="(item,index) in list" :key="index" @click.stop="goToDetail(item)">
|
<view class="list_item" v-if="list.length>0" v-for="(item,index) in list" :key="index" @click.stop="goToDetail(item)">
|
||||||
<view class="list_item_image">
|
<view class="list_item_image">
|
||||||
<image v-if="item.squareImage" :src="item.squareImage"></image>
|
<image v-if="item.squareImage" :src="item.squareImage"></image>
|
||||||
|
|||||||
1746
pages/curriculum/order/index copy.vue
Normal file
1746
pages/curriculum/order/index copy.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -31,12 +31,10 @@
|
|||||||
<view class="prof">
|
<view class="prof">
|
||||||
<view style="padding: 0 20rpx; position: relative;">
|
<view style="padding: 0 20rpx; position: relative;">
|
||||||
<view :class="`${isHideCourseInfo ? 'hidden2' : ''}`" v-html="parsedContent"></view>
|
<view :class="`${isHideCourseInfo ? 'hidden2' : ''}`" v-html="parsedContent"></view>
|
||||||
<view v-for="(image, index) in images" :key="index" style=" width: 100%; margin-top: 10rpx;">
|
<view v-for="(image, index) in images" :key="index"
|
||||||
<image
|
style=" width: 100%; margin-top: 10rpx;">
|
||||||
style=" width: 100%;"
|
<image style=" width: 100%;" :src="image" mode="widthFix"
|
||||||
:src="image" mode="widthFix"
|
@tap="handleImageClick(image, index)" />
|
||||||
@tap="handleImageClick(image, index)"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
<text @click="isHideCourseInfo = !isHideCourseInfo" style="
|
<text @click="isHideCourseInfo = !isHideCourseInfo" style="
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
@@ -61,12 +59,14 @@
|
|||||||
<view style=" display: flex; align-items: center;">
|
<view style=" display: flex; align-items: center;">
|
||||||
<view class="line"></view>
|
<view class="line"></view>
|
||||||
<view class="left">
|
<view class="left">
|
||||||
<text style="font-weight: blod" class="catalogue_title">{{ slotProps.data.title }}</text>
|
<text style="font-weight: blod" class="catalogue_title">{{ slotProps.data.title
|
||||||
|
}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="not_purchased" v-if="slotProps.data.type != 0&&!showNewPayBtn[slotProps.dataIndex].status">
|
<view class="not_purchased"
|
||||||
<view class="spot"></view>
|
v-if="curriculumData.adminControl == 1 && slotProps.data.isBuy != 1">
|
||||||
|
<!-- <view class="spot"></view>
|
||||||
<view>
|
<view>
|
||||||
<text v-if="userVip==null&&slotProps.data.isBuy!=1">未购买</text>
|
<text v-if="userVip==null&&slotProps.data.isBuy!=1">未购买</text>
|
||||||
<view v-if="userVip==null&&slotProps.data.isBuy==1">
|
<view v-if="userVip==null&&slotProps.data.isBuy==1">
|
||||||
@@ -74,32 +74,67 @@
|
|||||||
<text v-else>已购买</text>
|
<text v-else>已购买</text>
|
||||||
</view>
|
</view>
|
||||||
<text v-if="userVip!=null">有效期至{{ userVip.endTime }}</text>
|
<text v-if="userVip!=null">有效期至{{ userVip.endTime }}</text>
|
||||||
|
</view> -->
|
||||||
|
</view>
|
||||||
|
<view class="not_purchased"
|
||||||
|
v-else-if="curriculumData.adminControl == 1 && slotProps.data.isBuy == 1">
|
||||||
|
<text v-if="slotProps.data.endTime" style=" width: 280rpx; margin: 0;">课程有效期截止到:<br />{{
|
||||||
|
slotProps.data.endTime ? slotProps.data.endTime.split(' ')[0]
|
||||||
|
: '' }} </text>
|
||||||
|
<text v-else>已购买</text>
|
||||||
|
|
||||||
|
<!-- <view class="spot"></view>
|
||||||
|
<view>
|
||||||
|
<text v-if="userVip==null&&slotProps.data.isBuy!=1">未购买</text>
|
||||||
|
<view v-if="userVip==null&&slotProps.data.isBuy==1">
|
||||||
|
<text v-if="slotProps.data.endTime" style=" width: 280rpx; margin: 0;">课程有效期截止到:<br/>{{slotProps.data.endTime}} </text>
|
||||||
|
<text v-else>已购买</text>
|
||||||
|
</view>
|
||||||
|
<text v-if="userVip!=null">有效期至{{ userVip.endTime }}</text>
|
||||||
|
</view> -->
|
||||||
|
</view>
|
||||||
|
<view class="not_purchased" v-else-if="slotProps.data.type != 0 && !showNewPayBtn[0].status">
|
||||||
|
<view class="spot"></view>
|
||||||
|
<view>
|
||||||
|
<text v-if="userVip == null && slotProps.data.isBuy != 1">未购买</text>
|
||||||
|
<view v-if="userVip == null && slotProps.data.isBuy == 1">
|
||||||
|
<text v-if="slotProps.data.endTime"
|
||||||
|
style=" width: 280rpx; margin: 0;">课程有效期截止到:<br />{{ slotProps.data.endTime ?
|
||||||
|
slotProps.data.endTime.split(' ')[0]
|
||||||
|
: '' }} </text>
|
||||||
|
<text v-else>已购买</text>
|
||||||
|
</view>
|
||||||
|
<text v-if="userVip != null">有效期至{{ userVip.endTime ? userVip.endTime.split(' ')[0] : '' }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="right" v-if="curriculumData.adminControl == 1 && slotProps.data.isBuy != 1">
|
||||||
|
<!-- //是否咨询 -->
|
||||||
|
<text style="display: inline-block;margin-top: 4px;
|
||||||
|
text-align: center;
|
||||||
|
width: 68px;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #fff;
|
||||||
|
border-radius: 5px !important;
|
||||||
|
line-height: 24px;
|
||||||
|
height:24px;" class="saveBtn flexbox buyBtn" @click="openKefu(slotProps.data)">购买课程</text>
|
||||||
|
|
||||||
<view class="right" v-if="slotProps.dataIndex==0">
|
|
||||||
|
|
||||||
<text v-if="slotProps.data.type == 0&&userVip==null&&slotProps.data.isBuy!=1" style="color: #fff; font-size: 12px" class="fdButtonBox aui-text-success"
|
|
||||||
@click="handleClickGetGoodsList(slotProps.data)">领取课程</text>
|
|
||||||
|
|
||||||
<text v-else-if="showNewPayBtn[0]&&showNewPayBtn[0].status==true" style=" background: #f42c32; border: 0; padding: 15rpx 30rpx; color: #fff; font-size: 12px" class="fdButtonBox aui-text-success"
|
|
||||||
@click="goNewPay(slotProps.data)">复读</text>
|
|
||||||
|
|
||||||
<u-icon v-else-if="userVip==null&&slotProps.data.type != 0&&slotProps.data.isBuy!=1"
|
|
||||||
@click="handleClickGetGoodsList(slotProps.data)" class="editIcon" name="shopping-cart-fill"
|
|
||||||
color="#FF2B57" size="28"></u-icon>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="right" v-else>
|
<view class="right" v-else>
|
||||||
|
<!-- //是否咨询 -->
|
||||||
|
|
||||||
<text v-if="slotProps.data.type == 0&&userVip==null&&slotProps.data.isBuy!=1" style="color: #fff; font-size: 12px" class="fdButtonBox aui-text-success"
|
|
||||||
|
<text v-if="slotProps.data.type == 0 && userVip == null && slotProps.data.isBuy != 1"
|
||||||
|
style="color: #fff; font-size: 12px" class="fdButtonBox aui-text-success"
|
||||||
@click="handleClickGetGoodsList(slotProps.data)">领取课程</text>
|
@click="handleClickGetGoodsList(slotProps.data)">领取课程</text>
|
||||||
|
|
||||||
<text v-else-if="showNewPayBtn[slotProps.dataIndex]&&showNewPayBtn[slotProps.dataIndex].status==true" style=" background: #f42c32; border: 0; padding: 15rpx 30rpx; color: #fff; font-size: 12px" class="fdButtonBox aui-text-success"
|
<text v-else-if="showNewPayBtn[0] && showNewPayBtn[0].status"
|
||||||
@click="goNewPay(slotProps.data)">复读</text>
|
style=" background: #f42c32; border: 0; padding: 15rpx 30rpx; color: #fff; font-size: 12px"
|
||||||
|
class="fdButtonBox aui-text-success" @click="goNewPay(slotProps.data)">复读</text>
|
||||||
|
|
||||||
<u-icon v-else-if="userVip == null && slotProps.data.type != 0 && slotProps.data.isBuy != 1"
|
<u-icon v-else-if="userVip == null && slotProps.data.type != 0 && slotProps.data.isBuy != 1"
|
||||||
@click="handleClickGetGoodsList(slotProps.data)" class="editIcon" name="shopping-cart-fill"
|
@click="handleClickGetGoodsList(slotProps.data)" class="editIcon"
|
||||||
color="#FF2B57" size="28"></u-icon>
|
name="shopping-cart-fill" color="#FF2B57" size="28"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -117,48 +152,70 @@
|
|||||||
<view :style="`${slotProps1.row.isAudition == 1 || slotProps1.row.isLearned == 1 || slotProps1.row.isLearned == 0
|
<view :style="`${slotProps1.row.isAudition == 1 || slotProps1.row.isLearned == 1 || slotProps1.row.isLearned == 0
|
||||||
? 'width:calc(100% - 100rpx);float:left;'
|
? 'width:calc(100% - 100rpx);float:left;'
|
||||||
: 'width:100%;'}`">
|
: 'width:100%;'}`">
|
||||||
<text :class="`${slotProps1.row.viewFlg == 1 ? 'aui-text-success' : ''}`">{{ slotProps1.row.title }}</text>
|
<text :class="`${slotProps1.row.viewFlg == 1 ? 'aui-text-success' : ''}`">{{
|
||||||
|
slotProps1.row.title }}</text>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template slot="leftSlot" slot-scope="slotProps1">
|
<template slot="leftSlot" slot-scope="slotProps1">
|
||||||
</template>
|
</template>
|
||||||
<template slot="rightSlot" slot-scope="slotProps1">
|
<template slot="rightSlot" slot-scope="slotProps1">
|
||||||
<text class="fdButtonBox aui-text-success" style="background: none"
|
|
||||||
v-if="slotProps.data.isBuy == 0&&slotProps1.row.isAudition == 1&&userVip==null">试听</text>
|
|
||||||
|
|
||||||
<template v-if="slotProps.data.isBuy == 1 || userVip!=null">
|
<text class="fdButtonBox aui-text-success" style="background: none"
|
||||||
<uni-tag v-if="slotProps1.row.isLearned == 0" style="position: absolute; right: 10rpx; top: 5rpx;"
|
v-if="curriculumData.adminControl == 1&&slotProps.data.isBuy == 0 && slotProps1.row.isAudition == 1">试听</text>
|
||||||
:inverted="true" text="未学" size="mini" type="primary" />
|
<view v-if="curriculumData.adminControl == 1&&slotProps.data.isBuy == 1&&slotProps1.row.isAudition == 0">
|
||||||
<uni-tag v-if="slotProps1.row.isLearned == 1" style="position: absolute; right: 10rpx; top: 5rpx;"
|
<uni-tag v-if="curriculumData.adminControl == 1&&slotProps.data.isBuy == 1&&slotProps1.row.isAudition == 0&&slotProps1.row.isLearned == 0"
|
||||||
:inverted="true" text="已学" size="mini" type="success" />
|
style="position: absolute; right: 10rpx; top: 5rpx;" :inverted="true"
|
||||||
|
text="未学" size="mini" type="primary" />
|
||||||
|
<uni-tag v-if="curriculumData.adminControl == 1&&slotProps.data.isBuy == 1&&slotProps1.row.isAudition == 0&&slotProps1.row.isLearned == 1"
|
||||||
|
style="position: absolute; right: 10rpx; top: 5rpx;" :inverted="true"
|
||||||
|
text="已学" size="mini" type="success" />
|
||||||
|
</view>
|
||||||
|
<view class="shitingTag"
|
||||||
|
v-if="curriculumData.adminControl == 1&&slotProps.data.isBuy == 0&&slotProps1.row.isAudition == 0"
|
||||||
|
style="position: absolute; right: 0; top: 0;width:100rpx;overflow: hidden;">
|
||||||
|
<u-icon style="float: right;" name="lock" color="#7dc1f0 "
|
||||||
|
size="24"></u-icon>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<text class="fdButtonBox aui-text-success" style="background: none"
|
||||||
|
v-if="curriculumData.adminControl == 0 && slotProps.data.isBuy == 0 && slotProps1.row.isAudition == 1 && userVip == null">试听</text>
|
||||||
|
|
||||||
|
<template
|
||||||
|
v-if="curriculumData.adminControl == 0 && 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>
|
</template>
|
||||||
|
|
||||||
<view class="shitingTag" v-if="slotProps.data.type != 0" style="position: absolute; right: 0; top: 0;">
|
<view class="shitingTag"
|
||||||
<u-icon
|
v-if="curriculumData.adminControl == 0 && slotProps.data.type != 0"
|
||||||
v-if="
|
style="position: absolute; right: 0; top: 0;width:100rpx;overflow: hidden;">
|
||||||
slotProps.data.isBuy == 0 &&
|
<u-icon style="float: right;" v-if="slotProps.data.isBuy == 0 &&
|
||||||
userVip == null &&
|
userVip == null &&
|
||||||
slotProps1.row.isAudition == 0
|
slotProps1.row.isAudition == 0
|
||||||
"
|
" name="lock" color="#7dc1f0 " size="22"></u-icon>
|
||||||
name="lock"
|
|
||||||
color="#7dc1f0 "
|
|
||||||
size="22"
|
|
||||||
></u-icon>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="shitingTag" v-if="slotProps.data.type == 0" style="position: absolute; right: 0; top: 0;">
|
<view class="shitingTag"
|
||||||
<u-icon
|
v-if="curriculumData.adminControl == 0 && slotProps.data.type == 0"
|
||||||
v-if="
|
style="position: absolute; right: 0; top: 0;width:100rpx;overflow: hidden;">
|
||||||
userVip == null &&
|
<u-icon style="float: right;" v-if="userVip == null &&
|
||||||
slotProps1.row.isAudition == 0 &&
|
slotProps1.row.isAudition == 0 &&
|
||||||
slotProps.data.isBuy == 0
|
slotProps.data.isBuy == 0
|
||||||
"
|
" name="lock" color="#7dc1f0 " size="24"></u-icon>
|
||||||
name="lock"
|
|
||||||
color="#7dc1f0 "
|
|
||||||
size="24"
|
|
||||||
></u-icon>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</courseDescription>
|
</courseDescription>
|
||||||
</view>
|
</view>
|
||||||
<view class="small_class_teaching_box">
|
<view class="small_class_teaching_box">
|
||||||
@@ -170,8 +227,8 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="progress_box">
|
<view class="progress_box">
|
||||||
<view class="progress_icon" style="">
|
<view class="progress_icon" style="">
|
||||||
<u-line-progress activeColor="#294a97"
|
<u-line-progress activeColor="#294a97" height="10"
|
||||||
height="10" :percentage="slotProps.data.completion"
|
:percentage="slotProps.data.completion"
|
||||||
:showText="false"></u-line-progress>
|
:showText="false"></u-line-progress>
|
||||||
<text style="
|
<text style="
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
@@ -186,12 +243,15 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="linkPro" v-if="tjProList.length > 0">
|
<view class="linkPro" v-if="tjProList.length > 0">
|
||||||
<uni-section style="padding: 0 20rpx;" class="mb-10 graybg" title="相关书籍" type="line"></uni-section>
|
<uni-section style="padding: 0 20rpx;" class="mb-10 graybg" title="相关书籍"
|
||||||
|
type="line"></uni-section>
|
||||||
<view class="list supermarketBox">
|
<view class="list supermarketBox">
|
||||||
<scroll-view class="scroll-view_H" scroll-x="true">
|
<scroll-view class="scroll-view_H" scroll-x="true">
|
||||||
<view class="item" v-for="(item, index) in tjProList" :key="index" @click="goToGoodsList(item)">
|
<view class="item" v-for="(item, index) in tjProList" :key="index"
|
||||||
|
@click="goToGoodsList(item)">
|
||||||
<view class="imgcontainer" style="position: relative;">
|
<view class="imgcontainer" style="position: relative;">
|
||||||
<view v-if="item.isVipPrice==1&&item.vipPrice!=0&&item.vipPrice!=null"
|
<view
|
||||||
|
v-if="item.isVipPrice == 1 && item.vipPrice != 0 && item.vipPrice != null"
|
||||||
style="z-index:10;position: absolute;top:0;left:0;text-align: center;font-size: 20rpx;background-color: #f94f04;color: #fff;font-weight: bold;border-radius:4px; line-height: 30rpx; padding:10rpx;box-sizing: border-box;">
|
style="z-index:10;position: absolute;top:0;left:0;text-align: center;font-size: 20rpx;background-color: #f94f04;color: #fff;font-weight: bold;border-radius:4px; line-height: 30rpx; padding:10rpx;box-sizing: border-box;">
|
||||||
VIP优惠</view>
|
VIP优惠</view>
|
||||||
<image :src="item.productImages" mode="aspectFit"></image>
|
<image :src="item.productImages" mode="aspectFit"></image>
|
||||||
@@ -199,53 +259,35 @@
|
|||||||
<view class="name">
|
<view class="name">
|
||||||
{{ item.productName }}
|
{{ item.productName }}
|
||||||
</view>
|
</view>
|
||||||
<text
|
<text class="price" v-if="item.isVipPrice == 1 &&
|
||||||
class="price"
|
|
||||||
v-if="
|
|
||||||
item.isVipPrice == 1 &&
|
|
||||||
item.vipPrice != 0 &&
|
item.vipPrice != 0 &&
|
||||||
item.vipPrice != null
|
item.vipPrice != null
|
||||||
"
|
">
|
||||||
>
|
<text style="color: #e97512; font-size: 12px; font-weight: bold">¥{{
|
||||||
<text
|
item.vipPrice.toFixed(2) }}</text>
|
||||||
style="color: #e97512; font-size: 12px; font-weight: bold"
|
<text style="
|
||||||
>¥{{ item.vipPrice.toFixed(2) }}</text
|
|
||||||
>
|
|
||||||
<text
|
|
||||||
style="
|
|
||||||
color: #8a8a8a;
|
color: #8a8a8a;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
"
|
">¥{{ Number(item.price) }}</text>
|
||||||
>¥{{ Number(item.price) }}</text
|
|
||||||
>
|
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<text
|
<text v-else-if="item.activityPrice && item.activityPrice > 0" class="price">
|
||||||
v-else-if="item.activityPrice && item.activityPrice > 0"
|
<text style="color: #e97512; font-size: 12px; font-weight: bold">¥{{
|
||||||
class="price"
|
item.activityPrice }}</text>
|
||||||
>
|
<text style="
|
||||||
<text
|
|
||||||
style="color: #e97512; font-size: 12px; font-weight: bold"
|
|
||||||
>¥{{ item.activityPrice }}</text
|
|
||||||
>
|
|
||||||
<text
|
|
||||||
style="
|
|
||||||
color: #8a8a8a;
|
color: #8a8a8a;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
"
|
">¥{{ Number(item.price) }}</text>
|
||||||
>¥{{ Number(item.price)}}</text
|
|
||||||
>
|
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<text v-else class="price" style="color: #e97512 !important;"
|
<text v-else class="price" style="color: #e97512 !important;">¥{{
|
||||||
>¥{{ Number(item.price) }}</text
|
Number(item.price) }}</text>
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
@@ -256,9 +298,9 @@
|
|||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</common-anchor-link>
|
</common-anchor-link>
|
||||||
<common-select-goods :isFudu="isFudu" ref="commonSelectGoods" :selectGoodsData="selectGoodsData" :goodsList="goodsList"
|
<common-select-goods :isFudu="isFudu" ref="commonSelectGoods" :selectGoodsData="selectGoodsData"
|
||||||
:buyOptions="buyOptions" :customButtonGroup1="customButtonGroup1" @selectGoods="handleClickSelectGoods"
|
:goodsList="goodsList" :buyOptions="buyOptions" :customButtonGroup1="customButtonGroup1"
|
||||||
@onHandleClickBuy="
|
@selectGoods="handleClickSelectGoods" @onHandleClickBuy="
|
||||||
$refs.commonSelectGoods.close();
|
$refs.commonSelectGoods.close();
|
||||||
protocolShow = true;
|
protocolShow = true;
|
||||||
"></common-select-goods>
|
"></common-select-goods>
|
||||||
@@ -290,6 +332,32 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</u-popup>
|
</u-popup>
|
||||||
|
<u-popup :show="kefuShow" mode="center" round="6" @close="kefuShow = false">
|
||||||
|
<view class="popup_box">
|
||||||
|
<view class="title">咨询课程</view>
|
||||||
|
<view class="content">
|
||||||
|
<view class="center">
|
||||||
|
<text style="color: #f42c32 ;">此课程仅限为做过心理人格测试,结果显示均为正常的用户开放购买权限。</text>
|
||||||
|
|
||||||
|
|
||||||
|
<br /><text style="color: #838588;font-size: 13px;">点击图片后长按图片保存到手机,或使用微信扫描二维码添加客服企业微信。</text>
|
||||||
|
<view>
|
||||||
|
|
||||||
|
|
||||||
|
<image @click="previewImage('/static/qiyeWx.jpg')" src="/static/qiyeWx.jpg" mode="widthFix"
|
||||||
|
style="width: 120px; height: 120px; margin: 40rpx auto 0rpx;"></image>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="bottom" style="margin-top: 30px;">
|
||||||
|
<view class="button_box">
|
||||||
|
<u-button size="small" text="关闭" @click="kefuShow = false"></u-button>
|
||||||
|
<!-- <u-button text="同意" color="#7dc1f0" size="small" @click="onHandleClickBuy"></u-button> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -309,6 +377,7 @@
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
kefuShow: false,
|
||||||
isHideCourseInfo: false,
|
isHideCourseInfo: false,
|
||||||
courseList: [],
|
courseList: [],
|
||||||
showGoBuy: true,
|
showGoBuy: true,
|
||||||
@@ -389,12 +458,14 @@
|
|||||||
onHide() {
|
onHide() {
|
||||||
this.selectGoodsData = {};
|
this.selectGoodsData = {};
|
||||||
this.protocolShow = false;
|
this.protocolShow = false;
|
||||||
|
this.kefuShow = false;
|
||||||
this.handleClickClose();
|
this.handleClickClose();
|
||||||
this.$refs.commonSelectGoods.close();
|
this.$refs.commonSelectGoods.close();
|
||||||
},
|
},
|
||||||
onUnload() {
|
onUnload() {
|
||||||
this.selectGoodsData = {};
|
this.selectGoodsData = {};
|
||||||
this.protocolShow = false;
|
this.protocolShow = false;
|
||||||
|
this.kefuShow = false;
|
||||||
this.$refs.commonSelectGoods.close();
|
this.$refs.commonSelectGoods.close();
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -402,11 +473,31 @@
|
|||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
this.protocolShow = false;
|
this.protocolShow = false;
|
||||||
|
this.kefuShow = false;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.getCourseDescriptionData();
|
this.getCourseDescriptionData();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 放大图片
|
||||||
|
previewImage(url) {
|
||||||
|
console.log(url);
|
||||||
|
this.showCodeImg = false
|
||||||
|
uni.previewImage({
|
||||||
|
urls: [url],
|
||||||
|
// longPressActions: {
|
||||||
|
// itemList: ["很抱歉,暂不支持保存图片到本地"],
|
||||||
|
// success: function (res) {
|
||||||
|
// // console.log(res,'+++++')
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
});
|
||||||
|
},
|
||||||
|
openKefu(data) {
|
||||||
|
console.log('data at line 400:', data)
|
||||||
|
this.kefuShow = true;
|
||||||
|
|
||||||
|
},
|
||||||
//删除文本里的图片
|
//删除文本里的图片
|
||||||
removeImagesFromHTML() {
|
removeImagesFromHTML() {
|
||||||
const cleanText = this.curriculumData.content.replace(/<img[^>]*>/g, '');
|
const cleanText = this.curriculumData.content.replace(/<img[^>]*>/g, '');
|
||||||
@@ -479,7 +570,13 @@
|
|||||||
} else if (type == 9) {
|
} else if (type == 9) {
|
||||||
role = '中西汇通学';
|
role = '中西汇通学';
|
||||||
}
|
}
|
||||||
this.goBuyTitle = '尊贵的'+role+'VIP,您的有效期到'+res.userVip.endTime;
|
if (res.userVip.endTime) {
|
||||||
|
var time = res.userVip.endTime ? res.userVip.endTime.split(' ')[0] : ''
|
||||||
|
} else {
|
||||||
|
var time = ''
|
||||||
|
}
|
||||||
|
|
||||||
|
this.goBuyTitle = '尊贵的' + role + 'VIP,您的有效期到' + time;
|
||||||
this.goBuyType = 1;
|
this.goBuyType = 1;
|
||||||
} else { //否则没有开通vip
|
} else { //否则没有开通vip
|
||||||
this.goBuyTitle = '';
|
this.goBuyTitle = '';
|
||||||
@@ -682,6 +779,14 @@
|
|||||||
},
|
},
|
||||||
//课程详情
|
//课程详情
|
||||||
async gotoDetail(data, index, slotProps) {
|
async gotoDetail(data, index, slotProps) {
|
||||||
|
console.log(data, '1111111111111')
|
||||||
|
if (this.curriculumData.adminControl == 1) {
|
||||||
|
if (data.isAudition == 1 || this.cateList[slotProps.index].isBuy == 1) {
|
||||||
|
this.goVideo(data);
|
||||||
|
} else {
|
||||||
|
this.$commonJS.showToast("请先购买课程");
|
||||||
|
}
|
||||||
|
} else
|
||||||
if (this.userVip) {
|
if (this.userVip) {
|
||||||
this.goVideo(data);
|
this.goVideo(data);
|
||||||
} else {
|
} else {
|
||||||
@@ -800,10 +905,12 @@
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/static/mixin.scss";
|
@import "@/static/mixin.scss";
|
||||||
|
|
||||||
.commonPageBox {
|
.commonPageBox {
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
background: #eff5f8 !important;
|
background: #eff5f8 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.searchList {
|
.searchList {
|
||||||
.item {
|
.item {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
@@ -999,6 +1106,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.scroll-view-item:nth-child(2n-1) {
|
/deep/.scroll-view-item:nth-child(2n-1) {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
}
|
}
|
||||||
@@ -1334,9 +1442,8 @@
|
|||||||
/deep/.u-line-progress__background {
|
/deep/.u-line-progress__background {
|
||||||
background: #fff !important;
|
background: #fff !important;
|
||||||
}
|
}
|
||||||
.course_info_box {
|
|
||||||
|
|
||||||
}
|
.course_info_box {}
|
||||||
|
|
||||||
.catalogue_title {
|
.catalogue_title {
|
||||||
background: #294a97;
|
background: #294a97;
|
||||||
@@ -1397,9 +1504,7 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.shiting_content {
|
.shiting_content {}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.chapter_title {
|
.chapter_title {
|
||||||
@@ -1517,6 +1622,7 @@
|
|||||||
padding-bottom: 10rpx;
|
padding-bottom: 10rpx;
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .prof img {
|
/deep/ .prof img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
@@ -1524,6 +1630,7 @@
|
|||||||
.containerBg {
|
.containerBg {
|
||||||
padding-bottom: 30rpx;
|
padding-bottom: 30rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.containerBg1 {
|
.containerBg1 {
|
||||||
padding: 20rpx 0;
|
padding: 20rpx 0;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
@@ -1569,11 +1676,13 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
.describe_block text {
|
.describe_block text {
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
padding-right: 10rpx;
|
padding-right: 10rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.describe_block button {
|
.describe_block button {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -1584,6 +1693,7 @@
|
|||||||
line-height: 50rpx;
|
line-height: 50rpx;
|
||||||
height: 50rpx;
|
height: 50rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hidden2 {
|
.hidden2 {
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
max-height: 48px;
|
max-height: 48px;
|
||||||
@@ -1604,6 +1714,7 @@
|
|||||||
box-shadow: 0px 0px 10px 0px #a7bbe4;
|
box-shadow: 0px 0px 10px 0px #a7bbe4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-view_H {
|
.scroll-view_H {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
padding: 20rpx 10rpx;
|
padding: 20rpx 10rpx;
|
||||||
@@ -1635,13 +1746,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.uni-section-header__decoration {
|
/deep/.uni-section-header__decoration {
|
||||||
width: 14px;
|
width: 14px;
|
||||||
height: 34px;
|
height: 34px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.distraction {
|
/deep/.distraction {
|
||||||
font-size: 32rpx !important;
|
font-size: 32rpx !important;
|
||||||
color: #294a97 !important;
|
color: #294a97 !important;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
</style>
|
|
||||||
|
/deep/.wrapper .section .content {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
}</style>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
<u-popup key="1" v-if="showCodeImg" :show="showCodeImg" :round="10" @close="closePup">
|
<u-popup key="1" v-if="showCodeImg" :show="showCodeImg" :round="10" @close="closePup">
|
||||||
<view class="box6">
|
<view class="box6">
|
||||||
<text style="color: #999; margin-bottom: 20rpx;">点击图片后长按图片保存到手机,或使用微信扫描二维码添加客服企业微信</text>
|
<text style="color: #999; margin-bottom: 20rpx;">点击图片后长按图片保存到手机,或使用微信扫描二维码添加客服企业微信</text>
|
||||||
<image src="/static/qiyeWx.jpg" mode="widthFix" style="width: 100px; height: 100px; margin: 0 auto;"></image>
|
<image @click="previewImage('/static/qiyeWx.jpg')" src="/static/qiyeWx.jpg" mode="widthFix" style="width: 100px; height: 100px; margin: 0 auto;"></image>
|
||||||
</view>
|
</view>
|
||||||
</u-popup>
|
</u-popup>
|
||||||
</view>
|
</view>
|
||||||
@@ -124,6 +124,20 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations(["setUserInfo"]),
|
...mapMutations(["setUserInfo"]),
|
||||||
|
// 放大图片
|
||||||
|
previewImage(url) {
|
||||||
|
console.log(url);
|
||||||
|
this.showCodeImg = false
|
||||||
|
uni.previewImage({
|
||||||
|
urls: [url],
|
||||||
|
// longPressActions: {
|
||||||
|
// itemList: ["很抱歉,暂不支持保存图片到本地"],
|
||||||
|
// success: function (res) {
|
||||||
|
// // console.log(res,'+++++')
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
});
|
||||||
|
},
|
||||||
closePup(){
|
closePup(){
|
||||||
this.showCodeImg = false
|
this.showCodeImg = false
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user